s23 — Promotion Gates + Teardown Readiness
Goal
Per-target promotion is a recorded, evidence-backed decision: the ledger proves conformance, fast-tier speed, optimized output quality, optimized compile latency/RSS, exact incrementality, deterministic parallel scaling, bounded optimization, and verification per target. Flag-default flips remain user-gated, and LLVM teardown remains a future plan.
Implementation Sketch
- Per-target promotion criteria (all must hold): s16 conformance green; s17 has zero fast-vs-Cranelift blocker rows; s17B exact invalidation/determinism/parallel-scaling gates pass; s19 has zero unbudgeted passes and adversarial bounded-termination checks pass; s20 has zero runtime-quality, backend/end-to-end compile-latency, peak-RSS, checksum, budget, or stale-ledger blocker rows against LLVM -O3; s21 all behavioral/symbolic/translation/compile-architecture verification layers are green; and the evaluator/VM/LLVM/native differential has the defined soak evidence. WASM additionally requires complete-module, host-glue/WASI, fragment-cache/finalization, and pinned runtime execution gates; an interpreted WASM result cannot substitute.
- The completeness validator treats unavailable applicable cells, confidence-overlap, missing raw samples, missing target/corpus/toolchain fingerprints, stale optimizer budget/roster/key versions, and missing sensitivity pins as blockers. A generated-program speed win never waives compile-cost, memory, incremental, or determinism evidence.
- Promotion decision records: one per target under this plan’s decisions set; the actual default-flip (which hat is default for build/run/test per target) is USER-gated (AskUserQuestion at execution time per target — never autopilot-flipped); two-hat remains available post-flip (LLVM still selectable).
- Teardown-readiness checklist: enumerates everything LLVM-coupled that a teardown plan must own (llvm feature surface, inkwell dep, aot/ LLVM layers, JIT evaluator path, alive2 remnants if any survive aims-burden section-14, CI LLVM installs, docs) — the checklist is the FUTURE plan’s intake artifact; creating that plan routes through /create-plan when the user calls for it.
- Mission close-out: missions.md gains the ori_backend per-crate mission entry (via the missions governance — additive entry citing this plan); rules sync (/sync-claude) for new crate/commands/env vars; /sync-docs pass; final /review-plan.
Test Strategy
- The gates consume upstream artifacts; this section’s own deliverable checks are the ledger completeness validator (no target promoted with a missing or waived criterion), sensitivity fixtures that remove one required column and force refusal, and decision-record presence per flipped target.
Work Items
- Per-target promotion ledger assembled (conformance, fast speed, optimized runtime, optimized backend/end-to-end compile time, peak RSS, exact invalidation, deterministic parallel scaling, optimizer bounds, verification, soak) with no-waiver completeness validator and missing/stale-column sensitivity pins.
- Promotion decision records per target; user-gated default-flip execution for targets the user approves (two-hat preserved).
- LLVM-teardown-readiness checklist authored (future-plan intake artifact; teardown explicitly out of this plan).
- Mission + docs close-out: missions.md ori_backend entry, /sync-claude, /sync-docs, final /review-plan clean.