Skip to content

refactor: host Rust-only data models, constants and errors natively - #1112

Merged
kvlonge merged 23 commits into
mainfrom
feat/native-group-13
Oct 15, 2026
Merged

kvlonge merged 23 commits into
mainfrom
feat/native-group-13

Conversation

@kvlonge

@kvlonge kvlonge commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Why

Move data models, constants and errors that only Rust-hosted code uses into Rust, while Python keeps only the shapes the executor, adapters and user code consume.

Changes

  • Compiler: dead constants and types deleted, Rust-read constants moved to Rust, annotation-only aliases moved to stubs, project assembly facts returned as native classes.
  • Planner: constants, value records, enums and fixture column inferences hosted natively; executor-facing plan types stay Python.
  • CLI, dbt, cost and freshness: command requests, entry and output models, records, enums and the CLI user error family hosted natively with unchanged equality, repr, pickling and error hierarchy.
  • Planner differential compares captured types by class name so natively hosted types still match the baseline.
  • Oversized rendered constants still report a compile error.
  • Movable Python decreases from 13,066 to 9,602 lines.

Verification

  • 11,387 unit/integration tests passed; make check-ci passed with all optional dependencies available.
  • Compiler differential: 371 projects, unchanged goldens. Planner differential: 11 projects matched the main baseline.
  • Render and discovery capture tests pass.
  • Cold and edited compile outputs and exit codes match the reference on synthetic and private compile-only projects.
  • Worker CLI captures (including --json and error paths) matched before and after each slice.
  • Independent review: one medium finding fixed with a regression test and verified.

@kvlonge
kvlonge enabled auto-merge (squash) October 15, 2026 08:30
@kvlonge
kvlonge merged commit 3fe7eb7 into main Oct 15, 2026
40 checks passed
@kvlonge
kvlonge deleted the feat/native-group-13 branch October 15, 2026 09:11
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