Skip to content

fix: make sqb lineage use the shared selector parser - #972

Merged
kvlonge merged 1 commit into
mainfrom
fix/lineage-shared-selectors
Oct 6, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/lineage-shared-selectors

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Why

sqb lineage --select used its own selector parser, which disagreed with compile, plan and build: path:models/staging (the documented form) failed in lineage, path:staging worked only there, and globs such as stg_* were unsupported.

Changes

  • sqb lineage --select/--exclude uses the shared project selector parser and resolver; positional <model> / <model>.<column> targets are unchanged.
  • Lineage now supports name globs (including typed forms such as source:raw_*), backslash paths and models/-rooted bare paths, and reports the shared S002 to S012 errors.
  • path:staging without a root is rejected with S012 in lineage, as in every other command.
  • Lineage docs and the bundled skill reference updated.

Verification

  • Unit tests that lineage and the shared resolver select the same resources for 11 selector forms and raise the same errors for 6 invalid ones.
  • E2E: sqb lineage and sqb compile select the same models for the same selectors.
  • Focused pytest (194 passed), ruff, fensu check and make check-ci.

sqb lineage --select/--exclude now resolve through the same selector
implementation as compile, plan and build, so path:models/... selectors,
name globs and shared error codes behave identically across commands.
The undocumented lineage-only path:<folder> form without the models/
root is now rejected with S012, matching every other command.
@kvlonge
kvlonge enabled auto-merge (squash) October 6, 2026 12:22
@kvlonge
kvlonge merged commit 306eceb into main Oct 6, 2026
32 checks passed
@kvlonge
kvlonge deleted the fix/lineage-shared-selectors branch October 6, 2026 12:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant