Complete Schema → IR Compilation Pipeline
Priority
P0 (Critical) - Core transformation that enables all downstream features
Labels
Estimated Effort
2-3 weeks
Description
The AST → IR compilation pipeline is partially implemented with many todo!() placeholders. This is the core transformation that converts parsed schemas into the intermediate representation used for versioning, diffing, and code generation.
We need to complete:
- Object stage compilation
- Import resolution
- Semantic validation
- Context management
- Error reporting
Current State
Location: core/src/schema/ir/compiler/
Basic structure exists but incomplete compilation stages. 15+ TODOs in compiler/interpreter code.
TODO References
compiler/mod.rs:25 - Source name tracking
ir/context.rs:36,40,70 - Incomplete context methods
compiler/interpreter/object_stage/mod.rs:50,55 - Import resolution
compiler/interpreter/freezing.rs:47,165,183 - Freezing logic
Acceptance Criteria
Tasks
Technical Notes
The compiler uses a multi-stage approach:
- Parse - AST generation (handled by parser)
- Object Stage - Build intermediate objects
- Freezing - Convert to FrozenUnits for CAS
- Validation - Semantic checks
Dependencies
Blocks
Complete Schema → IR Compilation Pipeline
Priority
P0 (Critical) - Core transformation that enables all downstream features
Labels
corecompilerirP0Estimated Effort
2-3 weeks
Description
The AST → IR compilation pipeline is partially implemented with many
todo!()placeholders. This is the core transformation that converts parsed schemas into the intermediate representation used for versioning, diffing, and code generation.We need to complete:
Current State
Location:
core/src/schema/ir/compiler/Basic structure exists but incomplete compilation stages. 15+ TODOs in compiler/interpreter code.
TODO References
compiler/mod.rs:25- Source name trackingir/context.rs:36,40,70- Incomplete context methodscompiler/interpreter/object_stage/mod.rs:50,55- Import resolutioncompiler/interpreter/freezing.rs:47,165,183- Freezing logicAcceptance Criteria
ariadneexamples/compile successfullyTasks
Technical Notes
The compiler uses a multi-stage approach:
Dependencies
Blocks