Skip to content

feat: implement Phase 1 IR core compiler and snapshots#104

Merged
0x054 merged 3 commits into
feat/ir-firstfrom
feat/ir-p1-core-compiler
Jun 19, 2026
Merged

feat: implement Phase 1 IR core compiler and snapshots#104
0x054 merged 3 commits into
feat/ir-firstfrom
feat/ir-p1-core-compiler

Conversation

@0x054

@0x054 0x054 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add a new ferro-schema-ir crate with versioned serde contracts for SchemaIR, QueryIR, and CodecIR, including RFC vector round-trip tests.
  • Add deterministic Python -> SchemaIR compilation, model-set persistence, and fingerprinting hooks wired into model registration and post-relationship resolution.
  • Add representative model IR snapshot fixtures and CI-facing contract tests, and sync Phase 1 roadmap/migration-guide evidence.

Test plan

  • cargo test -p ferro-schema-ir
  • uv run pytest tests/test_ir_vectors_contract.py -q
  • uv run pytest tests/test_cross_emitter_parity.py -q

Closes

Closes #76
Closes #77
Closes #78
Closes #79

Made with Cursor

0x054 and others added 3 commits June 19, 2026 11:30
Add the ferro-schema-ir crate, deterministic Python->SchemaIR compilation, and model-set fingerprint/snapshot gates so Phase 1 exit criteria are enforceable in CI while preserving current user-visible behavior.

Co-authored-by: Cursor <cursoragent@cursor.com>
Apply the pre-commit end-of-file normalization in src/ferro/ir/compiler.py so the lint-and-format CI job passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
Document the new Phase 1 SchemaIR compiler module and APIs with concise docstrings describing contract, arguments, and return values.

Co-authored-by: Cursor <cursoragent@cursor.com>
@0x054 0x054 merged commit 9f72906 into feat/ir-first Jun 19, 2026
7 checks passed
@0x054 0x054 deleted the feat/ir-p1-core-compiler branch June 19, 2026 15:57
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