Skip to content

fix(rules): enforce semantic model layers - #774

Merged
kvlonge merged 1 commit into
mainfrom
fix/model-layer-rules-and-empty-fixtures
Sep 22, 2026
Merged

kvlonge merged 1 commit into
mainfrom
fix/model-layer-rules-and-empty-fixtures

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 22, 2026

Copy link
Copy Markdown
Contributor

Why

Model-layer rules treated marts as a dependency rank and could encourage semantic layer promotion. The fixture formatter also emitted canonical empty relations that SQBRSQL021 rejected.

Changes

  • enforce one authoritative layer in model and reference identities
  • add model-local schema, canonical folder, and logical schema alignment rules
  • redefine SQBRGRAPH101 around internal layers while treating marts as published interfaces
  • add exact consumer/dependency exceptions with stale-entry detection
  • preserve model-header and path-default schema provenance through compilation
  • exempt only canonical empty input fixtures from SQBRSQL021
  • document layer semantics and add native and compiler-level regressions

Verification

  • cargo test -p sqlbuild-rules-native
  • focused formatter/rules integration tests with xdist
  • focused Dagster integration unit tests with xdist
  • dense compile fixture regression
  • make check-ci
  • public repository hygiene scan

@kvlonge
kvlonge enabled auto-merge (squash) September 22, 2026 14:21
@kvlonge
kvlonge merged commit 6225ee3 into main Sep 22, 2026
28 checks passed
@kvlonge
kvlonge deleted the fix/model-layer-rules-and-empty-fixtures branch September 22, 2026 14:35
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