Tracking epic for the verified-codegen roadmap filed as rivet requirements in artifacts/verified-codegen-roadmap.yaml (PR #241).
Thesis
The recurring greedy-fixes — reciprocal-mult cost-gate (v0.11.20), register-exhaustion hard-fail (instruction_selector.rs:330/356/577/4667), "selector missed an op" (#223/#226/#232) — are symptoms of the single-pass hand-written selector + allocator. We build the structural cure incrementally, in parallel with the gale per-issue cadence. Behavior frozen at every step (fixtures bit-identical, oracle-gated).
Work items (rivet IDs ↔ future PRs)
Track A — codegen core (sequential):
Track B — authoritative semantics (parallel):
Track C — validation (start now):
Gate:
Suggested first step
VCR-RA-001 (allocator) — it unblocks reverting the cost-gates and is the prerequisite for VCR-SEL-001 (a verified rule that can't be allocated isn't yet correct end-to-end). Track C (VCR-ORACLE-001) can begin in parallel immediately.
Related: #209 (perf lever), #181 (native-pointer ABI / #237), #166/#73 (v0.12 control-flow proofs).
Tracking epic for the verified-codegen roadmap filed as rivet requirements in
artifacts/verified-codegen-roadmap.yaml(PR #241).Thesis
The recurring greedy-fixes — reciprocal-mult cost-gate (v0.11.20), register-exhaustion hard-fail (
instruction_selector.rs:330/356/577/4667), "selector missed an op" (#223/#226/#232) — are symptoms of the single-pass hand-written selector + allocator. We build the structural cure incrementally, in parallel with the gale per-issue cadence. Behavior frozen at every step (fixtures bit-identical, oracle-gated).Work items (rivet IDs ↔ future PRs)
Track A — codegen core (sequential):
Track B — authoritative semantics (parallel):
Track C — validation (start now):
Gate:
Suggested first step
VCR-RA-001 (allocator) — it unblocks reverting the cost-gates and is the prerequisite for VCR-SEL-001 (a verified rule that can't be allocated isn't yet correct end-to-end). Track C (VCR-ORACLE-001) can begin in parallel immediately.
Related: #209 (perf lever), #181 (native-pointer ABI / #237), #166/#73 (v0.12 control-flow proofs).