93%

Section 04B: Prototype Gate (BLOCKS §05+)

Goal: Empirically validate the burden architecture as shipped at §00-§04A — Phase 5 trivial emission + §04A minimal-lattice-consumer (TF-N/A treatment of BurdenInc/BurdenDec/BurdenDecPartial/BurdenDecField/BurdenDecVariant per aims-rules.md §3 Appendix A; DP-2/DP-3 burden-op elimination via compiler_repo/compiler/ori_arc/src/aims/realize/burden_elim.rs:87 eliminate_burden_ops; coexistence handshake; VF-1 burden-balance basic check) — BEFORE committing to the full Phase B migration. Each criterion is FALSIFIABLE: concrete file paths, concrete fixture counts, concrete env-var harness, concrete evidence-file outputs.

Scope boundary — TEMPORAL PARADOX RESOLUTION (BS-04B-3/5 cure): §04B evaluates the BURDEN BASELINE (§03 Phase 5 emission) + §04A MINIMAL-LATTICE-CONSUMER plumbing (DP-2/DP-3 wired at burden-op sites via eliminate_burden_ops at compiler_repo/compiler/ori_arc/src/aims/realize/emit_unified.rs:229-236). The FULL Phase 6 lattice rewrite (§05) is OUT OF SCOPE here — §05 is precisely what this gate decides whether to start. The §04A.2 eliminate_burden_ops pass IS the minimal lattice-elimination machinery §04B evaluates; the BIG Phase 6 rewrite that absorbs Cardinality + Consumption + COW + FBIP + TRMC at full elimination granularity is §05’s deliverable, evaluated AFTER this gate decides PASS.

Context: Per proposal §Prototype Gate. The gate decides whether the registry-augmented path advances OR direct Perceus (proposal §Alternative 1) becomes the path forward. Failing CHEAPLY here prevents §05-§10 effort on a misvalidated architecture.

Reference implementations:

  • Roc roc#825 + roc#5258 direct Perceus adoption — the documented fallback path if any criterion fails.
  • bug-tracker/plans/completed/BUG-04-118/ §01 root-cause analysis — the canonical shape criterion 3 must reproduce + verify (repro file: apply_alias_result_strmap.ori).
  • bug-tracker/plans/completed/BUG-04-118/content/section-03/03-overview.md — TDD matrix authority for fixture-count claims in criterion 1.

Depends on: §00 + §01 + §02 + §03 + §04A (formal predecessor graph encoded in the depends_on: ["04A"] frontmatter block; §04A invariant: status: complete — the dependency is satisfied by §04A’s complete status, which the orchestrator’s dep-satisfaction check consumes; §04A’s own reviewed: close-out is a separate gate that does not gate §04B’s dependency).


Intelligence Reconnaissance

Queries:

  • scripts/intel-query.sh --human bugs-for aims-burden-tracking — bug list referenced by criteria 1-3
  • scripts/intel-query.sh --human file-symbols "compiler_repo/compiler/ori_llvm/tests/aot/match_alias" --repo ori — actual AOT match-alias test inventory
  • scripts/intel-query.sh --human file-symbols "compiler_repo/compiler/ori_llvm/tests/aot/generics" --repo ori — actual AOT generics test inventory
  • scripts/intel-query.sh --human file-symbols "compiler_repo/tests/benchmarks" --repo ori — benchmark harness for criterion 6
  • scripts/intel-query.sh --human callers "eliminate_burden_ops" --repo ori — §04A.2 wiring blast radius
  • scripts/intel-query.sh --human symbol-plans "BurdenInc" --repo ori — cross-plan symbol references

Queried: 2026-05-18.

Results summary (≤500 chars) [ori]:

  • Existing AIMS infrastructure consumed; §04B extends the unified model per missions.md §AIMS invariant 5 (no parallel paths, no shadow trackers).
  • §04A’s eliminate_burden_ops IS the lattice consumer; §04B evaluates its output.
  • Match-alias tests live at compiler/ori_llvm/tests/aot/match_alias.rs (NOT tests/spec/match_alias/ — that path does NOT exist; BS-04B-1 cure).
  • Generics tests live at compiler/ori_llvm/tests/aot/generics.rs (NOT tests/spec/generics/ — that path does NOT exist; BS-04B-2 cure).

04B.1 Criterion 1 — BUG-04-118 emission-side dissolution (Phase 5 emission ALONE)

Mandate: verify Phase 5 trivial emission (§03) alone — WITHOUT §04A.2 DP-2/DP-3 elimination — dissolves the BUG-04-118 emission-side double-free failure mode. The 16 fail-baseline match_alias::* tests pass on burden emission alone, proving the predicate-stack-emission failure mode is gone at the source, not just masked by downstream elimination.

File(s):

  • compiler_repo/compiler/ori_llvm/tests/aot/match_alias.rs — 25 #[test] fns; module registered at compiler_repo/compiler/ori_llvm/tests/aot/main.rs:49. The 16 fail-baseline tests are enumerated in bug-tracker/plans/completed/BUG-04-118/content/section-01/01-overview.md:40 (“Blast radius — 16 of 25 match_alias::* tests fail at HEAD”).
  • compiler_repo/compiler/ori_arc/src/aims/realize/emit_unified.rs:241-243eliminate_burden_ops invocation site (Phase 2.5); gated by the ORI_DISABLE_BURDEN_ELIM=1 env var (wired by §04B.1 first deliverable per BS-04B-3 cure; SHIPPED — the if std::env::var("ORI_DISABLE_BURDEN_ELIM").as_deref() != Ok("1") guard is live at line 241, super::eliminate_burden_ops(func, state_map) at line 242).

Isolation harness — ORI_DISABLE_BURDEN_ELIM=1 (BS-04B-3 cure): eliminate_burden_ops runs at emit_unified.rs:242 inside the ORI_DISABLE_BURDEN_ELIM gate at line 241; ORI_DISABLE_BURDEN_OPS=1 only skips Phase 5 EMISSION (which would defeat the criterion). The criterion 1 mandate requires the OPPOSITE: emission ON, elimination OFF. The env-var gate at emit_unified.rs:241 is §04B.1’s FIRST deliverable below:

if std::env::var("ORI_DISABLE_BURDEN_ELIM").as_deref() != Ok("1") {
    super::eliminate_burden_ops(func, state_map);
}

Implemented as the first item in §04B.1’s checklist (env-var wiring precedes criterion 1 evaluation). Doc surface: arc.md §Debugging env-var table.

  • Wire ORI_DISABLE_BURDEN_ELIM=1 env var at compiler_repo/compiler/ori_arc/src/aims/realize/emit_unified.rs:241 — guards the eliminate_burden_ops() call (line 242) so Phase 5 emission can be evaluated in isolation. Implement BEFORE evaluating criterion 1. (2026-05-18; uncommitted under cross-scope sprawl_lint_fail halt — gate now LIVE at emit_unified.rs:241 post-build-break-clearance per 2026-06-01 HISTORY)
  • Run ORI_DISABLE_BURDEN_ELIM=1 cargo test --release -p ori_llvm --test aot 'match_alias::' — record pass/fail count per #[test] fn. (2026-05-18; 22 passed / 4 failed / 2274 filtered)
  • Verify the 16 fail-baseline BUG-04-118 tests (per bug-tracker/plans/completed/BUG-04-118/content/section-01/01-overview.md:40) all pass; remaining 9 tests preserve their HEAD-baseline pass/fail status (no NEW regressions introduced by Phase 5 emission isolation). (2026-05-18 cross-reference: 4 of the 16 fail-baseline tests STILL fail — test_match_arm_alias_result_str, test_option_intlist_select_branch_return, test_unwind_path_alias, test_closure_three_call_no_leak — all enumerated in BUG-04-118 §01:40-46. 12/16 pass.)
  • Record raw cargo test output + per-test pass/fail matrix in decisions/gate-criterion-1-evidence.md. (2026-05-18 authored)
  • Decision: FAIL — 4 of the 16 fail-baseline BUG-04-118 tests STILL fail under ORI_DISABLE_BURDEN_ELIM=1. Phase 5 trivial emission alone does NOT fully dissolve emission-side double-free failures on alias chains crossing class boundaries. Per §04B.N decision table: any criterion FAIL → halt with halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4. Reframe supersession (2026-05-30): under the 2026-05-29 proven_by override (C1 = RL-2 proof_status: complete) this §05-voided + Perceus branch is SUPERSEDED — a complete-proof criterion FAIL routes to §03A impl-fidelity repair (00-overview.md HISTORY 2026-05-29), NOT Perceus. The 4 residuals (test_match_arm_alias_result_str, test_unwind_path_alias, test_option_intlist_select_branch_return, test_closure_three_call_no_leak) ARE BUG-04-123’s over-emission cells; the precise predicate-stack RCA + the 4 ruled-out suppression models are in decisions/07 §5 (do NOT port them); the burden cure is the Model-B shallow container drop at §03A.3.

Subsection close-out (04B.1) per protocol.

04B.2 Criterion 2 — BUG-04-104/106/107/111 wins preserved

Mandate: verify the wins locked in by BUG-04-104 / BUG-04-106 / BUG-04-107 / BUG-04-111 (generics + closure regressions) remain green under burden emission + §04A.2 elimination. The architecture must NOT trade BUG-04-118 dissolution for regression of these prior wins.

File(s):

  • compiler_repo/compiler/ori_llvm/tests/aot/generics.rs — 98 #[test] fns; module registered at compiler_repo/compiler/ori_llvm/tests/aot/main.rs:34. Primary BUG-04-104/106/107/111 evidence corpus.

  • compiler_repo/compiler/ori_llvm/tests/aot/closure_drop.rs — closure-drop regression coverage (BUG-04-106/107 win-preservation).

  • compiler_repo/compiler/ori_llvm/tests/aot/higher_order.rs — higher-order function regression coverage.

  • Run cargo test --release -p ori_llvm --test aot 'generics::' — record pass/fail per #[test] fn. (2026-05-18; 93 passed / 11 failed / 4 ignored / 2192 filtered; finished 9.06s)

  • Run cargo test --release -p ori_llvm --test aot 'closure_drop::' — same. (2026-05-18; 0 passed / 0 failed / 2 ignored / 2298 filtered; both tests carry BUG-04-118 §04.2 lambda-side wiring follow-up disposition)

  • Run cargo test --release -p ori_llvm --test aot 'higher_order::' — same. (2026-05-18; 67 passed / 2 failed / 0 ignored / 2231 filtered; finished 1.34s; both failures = double-free FATAL — ori_rc_dec called on already-freed allocation)

  • Verify all baseline-passing tests in these modules STILL pass; zero NEW regressions attributable to §03-§04A. (2026-05-18; FAILED — 13 NEW failures: 11 in generics + 2 in higher_order. Per 00-overview.md §Known failing tests baseline at line 264, generics + closure tests are expected to remain green throughout Phase A → Phase B; observed failures fall outside the BUG-04-118 match_alias scope captured by the known-failing list, classify as (b) NEW regression per §04B.4a rule.)

  • Record per-module pass/fail count + raw output + baseline-SHA-vs-current diff in decisions/gate-criterion-2-evidence.md. (2026-05-18 authored; cross-pattern analysis identifies 4 orthogonal AIMS-coherence break categories: mono-pipeline-ordering, under-elimination leaks, cross-class UAF segfault, over-elimination closure-env double-frees)

  • Decision: FAIL — 13 NEW failures across generics (11) + higher_order (2); closure_drop’s 0/0/2-ignored confirms dispositioned-baseline preservation but does not refute the gate. Failure modes span 4 orthogonal AIMS-coherence break categories (mono-pipeline-ordering E5001 __cast; §04A.2 under-elimination memory leaks on path-sensitive control flow; cross-class alias-chain segfault; §04A.2 over-elimination closure-env double-frees mirroring BUG-04-118 emission-side shape on closure rather than match-alias). Per §04B.N decision table: any criterion FAILs → halt with halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus per proposal §Alternative 1 fallback. Stacked with §04B.1 Criterion 1 FAIL (12/16 fail-baseline under emission-alone). §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4. Reframe supersession (2026-05-30, parallels §04B.1): under the 2026-05-29 proven_by override (C2 = RL-1 + RL-4 proof_status: complete) this §05-voided + Perceus branch is SUPERSEDED — a complete-proof criterion FAIL routes to impl-fidelity repair (§05/§07/§09 + /fix-bug at the divergent emission site), NEVER §05-void or Perceus. The 13 NEW failures are BUG-04-123 under-emission cells (Model-B facet 2, §07) + the over-elimination closure-env shape (§03A.3/§09); they dissolve as the migration completes, NOT design-falsifying.

Subsection close-out (04B.2) per protocol.


04B.3 Criterion 3 — Lattice alias-tracking correctness on the EXACT BUG-04-118 shape

Mandate (CRITICAL): Per 00-overview.md §Design Principles principle 3 (“Honest about Perceus + admits the limit”), the architecture relocates the bug shape from emission-side double-frees to elimination-side leaks-or-occasional-double-frees because Phase 6 elimination still consumes project_alias_sources / borrow_sources — the same alias-tracking infrastructure whose population-time defects caused BUG-04-118. Criterion 3 verifies §04A.2’s eliminate_burden_ops consumer of DP-2/DP-3 over burden baseline does NOT over-eliminate inner’s BurdenDec when inner survives the Result’s drop, on the EXACT BUG-04-118 shape.

File(s):

  • compiler_repo/tests/spec/aims/burden_alias_tracking.ori — NEW instrumented Ori spec test, structured per bug-tracker/plans/completed/BUG-04-118/content/section-01/01-overview.md repro file apply_alias_result_strmap.ori. Contains:

    • Positive-pin (assert_eq + ORI_CHECK_LEAKS=1): the exact BUG-04-118 shape (Result whose Ok payload contains inner whose lifetime survives the Result’s drop) executes with NO double-free + NO leak.
    • Negative-pin (#compile_fail OR a runtime assertion via ORI_CHECK_LEAKS=1 expected-failure marker): if eliminate_burden_ops regresses to over-eliminate inner’s BurdenDec (the BUG-04-118 failure mode), the negative-pin trips. Confirms the test ACTIVELY catches the regression class it claims to guard against.
  • compiler_repo/compiler/ori_llvm/tests/aot/aims_burden_alias.rs — NEW AOT mirror running the same shape through full Phase 5 emission + §04A.2 elimination + LLVM lowering + execution; module registration in compiler_repo/compiler/ori_llvm/tests/aot/main.rs.

  • compiler_repo/compiler/ori_arc/src/aims/realize/burden_elim.rs:87 eliminate_burden_ops — the §04A.2 consumer being verified.

  • Author compiler_repo/tests/spec/aims/burden_alias_tracking.ori per repro shape from bug-tracker/plans/completed/BUG-04-118/content/section-01/01-overview.md; include positive-pin + negative-pin per matrix-testing rule (tests.md §Matrix Testing Rule, CLAUDE.md §Fix Completeness). (2026-05-18; 81 lines; positive-pin authored, negative-pin documented as tooling-first §2 structural blocker)

  • Author compiler_repo/compiler/ori_llvm/tests/aot/aims_burden_alias.rs AOT mirror; register in compiler_repo/compiler/ori_llvm/tests/aot/main.rs. (2026-05-18; 21 lines + 28-line fixture at fixtures/aims_burden_alias/inner_survives_result_destructure.ori; module registered between aims_interactions and arc at main.rs:8)

  • Run cargo stf burden_alias_tracking (Ori spec) + cargo test --release -p ori_llvm --test aot 'aims_burden_alias::' (AOT) + ORI_CHECK_LEAKS=1 ./target/release-lto/ori run compiler_repo/tests/spec/aims/burden_alias_tracking.ori (runtime leak audit per runtime.md §Runtime Instrumentation). (2026-05-18; cargo stf path-only — used direct cargo run -- test ...; Ori spec test PASSED (1 passed 0 failed, eval backend); AOT test FAILED (1 RC allocation leaked, LLVM backend); release-lto binary not present, skipped per autopilot mandate.)

  • Capture intermediate IR via ORI_DUMP_AFTER_ARC=1 + ORI_LOG=ori_arc::aims::realize=trace; verify inner’s BurdenDec is NOT removed by eliminate_burden_ops at the line where the BUG-04-118 shape executes. (2026-05-18; burden_inc/burden_dec pairs SURVIVE elimination on alias-chain vars %17, %12, %23, %29; lattice DP-2/DP-3 consumer NOT over-eliminating in isolation; AOT leak attributable to CFG-merge join between Ok/Err arm decs where LLVM codegen consumption of post-§04A.2 ARC IR drops one dec — contracts↔realization disagreement.)

  • Negative-pin verification: temporarily revert eliminate_burden_ops to a deliberately-over-eliminating shape (drop the DP-2 guard); confirm negative-pin trips; restore. (2026-05-18; BLOCKED by tooling-first §2 structural gap: parallel-session AIMS burden tracking work on burden_elim.rs under cross-scope sprawl_lint_fail halt; no clean baseline; INVERTED-TDD risk if source-edited. Filed as tooling-first §2 deficiency for future /improve-tooling to wire ORI_FORCE_OVERELIMINATE=1 env-var harness in emit_unified.rs alongside existing ORI_DISABLE_BURDEN_ELIM=1 gate.)

  • Record test source + pass/fail + IR snippets + negative-pin verification in decisions/gate-criterion-3-evidence.md. (2026-05-18 authored)

  • Decision: PARTIAL with AOT-backend FAIL signal (Eval positive-pin PASSES; AOT positive-pin FAILS with 1-allocation leak; negative-pin BLOCKED by tooling gap). Dual-execution parity break consistent with §04B.2 category-2 cross-pattern finding (under-elimination on path-sensitive control flow). CRITICAL mandate met: failure on the LLVM-backend path of the EXACT BUG-04-118 shape invalidates the registry-augmented path per the criterion 3 mandate text; fallback to direct Perceus per proposal §Alternative 1. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

Subsection close-out (04B.3) per protocol.


04B.4a Criterion 4a — Scoped 150s targeted regression matrix

Mandate: within the CLAUDE.md §MANDATORY TEST TIMEOUTS 150s envelope, verify zero NEW failures introduced by §03-§04A burden machinery across the high-signal test modules. Bounded, deterministic, fits in commit-gate cadence.

File(s):

  • compiler_repo/compiler/ori_llvm/tests/aot/match_alias.rs

  • compiler_repo/compiler/ori_llvm/tests/aot/generics.rs

  • compiler_repo/compiler/ori_llvm/tests/aot/closure_drop.rs

  • compiler_repo/compiler/ori_llvm/tests/aot/higher_order.rs

  • compiler_repo/compiler/ori_llvm/tests/aot/aims_burden_alias.rs (per §04B.3)

  • compiler_repo/compiler/ori_llvm/tests/aot/arc.rs — ARC AOT regression module

  • compiler_repo/compiler/ori_arc/ — ARC crate unit + spec tests

  • compiler_repo/tests/spec/aims/ — AIMS spec test corpus (the burden_* family)

  • Run timeout 150 cargo test --release -p ori_llvm --test aot -- match_alias generics closure_drop higher_order aims_burden_alias arc — record pass/fail. (2026-05-18; BUILD BREAK — E0061 at compiler/ori_arc/src/lower/burden_lower.rs:240: emit_burden_ops_for_blocks called with 8 args but defined to take 4 — parallel-session-WIP arity mismatch; cargo reports 267 cascade-failures at 6.10s, 0 tests actually executed.)

  • Run timeout 150 cargo test --release -p ori_arc — record pass/fail. (2026-05-18; BUILD BREAK — E0425 at compiler/ori_arc/src/aims/burden_lattice_smoke.rs:276,281: intraprocedural::{reset_max_iterations_observed, max_iterations_observed} are #[cfg(all(debug_assertions, test))]-gated but called from non-cfg-test code; release-profile compile fails.)

  • Run timeout 150 cargo stf burden (Ori spec burden suite) — record pass/fail. (2026-05-18; SKIPPED — depends on ori binary which requires ori_arc to build; transitive blocker from command 2 BUILD BREAK; root cause identical.)

  • Compare each pass/fail count vs HEAD baseline SHA recorded at §04A.5 close-out (decisions/gate-criterion-4a-baseline.md). (2026-05-18; baseline file decisions/gate-criterion-4a-baseline.md was NOT authored at §04A.5 close-out — pre-condition for proper comparison missing. Comparison defaults to §04B.2’s earlier-this-session measurements as the de-facto baseline: §04B.2 generics 93/11/4 + closure_drop 0/0/2 + higher_order 67/2/0 ran successfully when compilation was clean, demonstrating the working tree HAD a valid release-build state earlier this session. Between §04B.3 finish and §04B.4a start, parallel-session work advanced compiler_repo into a non-compiling state.)

  • Verify zero NEW failures attributable to §03-§04A machinery; classify any failure as (a) pre-existing, (b) NEW regression, or (c) intermittent. (2026-05-18; BUILD BREAK failure mode is structurally distinct from documented categories — not (a) since 00-overview.md §Known failing tests covers test-LOGIC failures only; not (c) since errors reproduce deterministically every invocation; effectively (b) per the criterion’s spirit “zero NEW failures introduced by §03-§04A burden machinery” — build breaks IN the §03-§04A machinery itself ARE failures attributable to it.)

  • Record per-module pass/fail count + baseline diff in decisions/gate-criterion-4a-evidence.md. (2026-05-18 authored; documents 2 distinct BUILD BREAK sites in parallel-session-WIP compiler/ori_arc/src/ work + tooling-first.md §2 deficiency surfaced for future /improve-tooling cure: §04B gate evaluators need a --coherent-tree pre-check that cargo build --release succeeds before attempting regression matrix.)

  • Decision: FAIL — three commands, three BUILD BREAKs. §03-§04A burden machinery does not release-compile in the working-tree’s parallel-session-WIP state: (1) burden_lower.rs:240 emit_burden_ops_for_blocks arity mismatch (8 args vs 4 expected), (2) burden_lattice_smoke.rs:276,281 cfg-test-gated function references in non-cfg-test code, (3) cargo stf burden skipped — transitive build dependency. Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. Stacked with §04B.1 FAIL + §04B.2 FAIL + §04B.3 PARTIAL/AOT-FAIL: four distinct failure surfaces now established. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

Subsection close-out (04B.4a) per protocol.


04B.4b Criterion 4b — Full ./test-all.sh corpus parity (background run)

Mandate: verify zero NEW failures introduced by §03-§04A across the FULL ./test-all.sh corpus. Beyond the 150s envelope per criterion 4a; treated as a background-run review gate, NOT a commit-gate.

File(s):

  • compiler_repo/test-all.sh — full test harness
  • compiler_repo/scripts/state.sh refresh --full — cache-refresh source for baseline SHA recording

Execution discipline: invoked via Bash run_in_background: true per CLAUDE.md §Timeouts (full test runs are NOT 150s-capped tests but agent-level reviews). Wall-clock cap: 25 min (1500s) hard via Bash timeout: 1500000; if cap exceeded, gate auto-promotes to FAIL with halt_reason: gate_internal_error per scripts/plan_corpus/exit_reasons.py (BS-04B-9 cure: timeout-as-incomplete = FAIL with explicit escalation, NOT silent retry).

  • Record baseline SHA + state.sh show --json | jq '.test_suite' at §04A.5 close-out into decisions/gate-criterion-4b-baseline.md (per state-discipline.md §6). (2026-05-18; baseline file NOT authored at §04A.5 close-out — unfulfilled deliverable; tooling-first §2 surfaced for future /improve-tooling: pre-flight check that gate-criterion-N baseline files exist before criterion N attempts evaluation.)
  • Run ./test-all.sh in background (Bash run_in_background: true, timeout: 1500000); await completion. (2026-05-18; SKIPPED — transitively-blocked by §04B.4a’s two BUILD BREAK sites in compiler/ori_arc/. ./test-all.sh first runs build-all.sh which would exit non-zero at ori_arc build with same E0061 + E0425 errors; test phase never starts. Per autopilot best-effort decision + feedback_correctness_above_all.md, transitive blocker is sufficient to determine outcome without burning the ~30-60s execution cycle.)
  • Compare full-corpus pass/fail counts vs decisions/gate-criterion-4b-baseline.md; classify each delta. (2026-05-18; comparison N/A — baseline file does not exist + build phase fails before tests run. Build-break failure mode classified as (b) NEW build-break attributable to §03-§04A burden machinery per criterion’s spirit “zero NEW failures introduced by §03-§04A burden machinery”.)
  • Record full-corpus pass/fail diff + classification per delta in decisions/gate-criterion-4b-evidence.md. (2026-05-18 authored; documents transitive build-break blocker + missing baseline file + tooling-first §2 deficiencies for future /improve-tooling cure: pre-evaluation cargo build --release gate + baseline-file pre-flight check.)
  • Decision: FAIL — transitive build-break blocker from §04B.4a + missing baseline file. ./test-all.sh cannot execute test phase when cargo build fails for ori_arc (E0061 + E0425 in parallel-session-WIP state). Wall-clock cap not reached because exit happens at build phase in ~30-60s; halt_reason: gate_internal_error per §04B.N decision table mapping. Stacked with §04B.1+§04B.2+§04B.3+§04B.4a: five distinct failure surfaces now established. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

Subsection close-out (04B.4b) per protocol.

04B.5 Criterion 5 — RL-31 walkthrough re-verification against §01-§04A shipped surface

Mandate: the RL-31 burden-aware design walkthrough at decisions/00-rl31-burden-aware-design.md was authored at §00 (Phase A0). Now that §01-§04A is shipped, re-verify the walkthrough’s worked examples + generalization rule still hold against the actual shipped code surface — NOT against §05 Phase 6 (out of scope here) but against the §01-§04A data layer + Phase 5 emission + §04A minimal-lattice-consumer.

File(s):

  • plans/aims-burden-tracking/decisions/00-rl31-burden-aware-design.md — walkthrough authority

  • compiler_repo/compiler/ori_registry/src/burden/ — BurdenSpec data (§01)

  • compiler_repo/compiler/ori_types/src/registry/burden/ — TypeRegistry::burden (§01)

  • compiler_repo/compiler/ori_arc/src/lower/burden_lower.rs — Phase 5 emission (§03)

  • compiler_repo/compiler/ori_arc/src/aims/realize/burden_elim.rs — §04A.2 consumer

  • Re-read decisions/00-rl31-burden-aware-design.md walkthrough; enumerate every worked example (BUG-04-118 shape, sum-payload alias chain, closure-capture alias) + the generalization rule (type-level disjointness via BurdenSpec.field_type chains). (2026-05-18; walkthrough read in full across 3 passes covering all 642 lines. 3 worked examples (WE1: accumulate, WE1b: merge, WE2: swap), 9 supporting invariants, 1 generalization rule (8-clause SUFFICIENT condition), §00.2 pass/fail table with 4 rows, 12-risk-shape acceptance matrix, AIMS Five-Invariant Coverage Matrix.)

  • For each worked example, locate the corresponding shipped code surface (Phase 5 emission site + §04A.2 elimination decision); verify the walkthrough’s described behavior matches actual shipped behavior. Discrepancies = walkthrough invalid OR implementation diverged from approved design. (2026-05-18; PARTIAL MATCH — ori_registry/src/burden/mod.rs ships correct BurdenSpec schema matching all 3 worked examples’ data-structure claims; ori_types/src/registry/burden/ TypeRegistry consumer is ABSENT (DIR_NOT_FOUND); Phase 5 burden_lower.rs in BUILD BREAK state (arity mismatch); §04A.2 burden_elim.rs ships but uses DP-2/DP-3 lattice predicates, not the 8-clause proof. Discrepancy = implementation has not yet realized the design — the 8-clause proof path has zero shipped code realization. Evidence: decisions/gate-criterion-5-evidence.md.)

  • Verify the generalization rule (RL-31 type-level disjointness via BurdenSpec.field_type chains) is demonstrably MORE precise than borrow_sources + project_alias_sources contract-layer encoding for the BUG-04-118 shape — concrete side-by-side comparison of what each tracks for the BUG-04-118 repro. (2026-05-18; VERIFIED — RL-31 is more precise for Category 1 burden-wins where call-site provenance lacks usable roots (args plumbed through abstract callees). borrow_sources + project_alias_sources are function-local per-call-site; they fail when provenance roots are opaque. RL-31 type-level walk succeeds from TYPE STRUCTURE ALONE regardless of call-site provenance. The two mechanisms are COMPLEMENTARY, not redundant — WE2 shows the reverse: same-type params where contract layer succeeds at call sites with fresh roots but RL-31 type-level proof fails (clause 4 intersection non-empty). Evidence: decisions/gate-criterion-5-evidence.md §Generalization Rule — Precision Comparison.)

  • Record side-by-side comparison + walkthrough-code coverage check + every worked example’s shipped-code citation in decisions/gate-criterion-5-evidence.md. (2026-05-18; evidence file authored at plans/aims-burden-tracking/decisions/gate-criterion-5-evidence.md.)

  • Decision: PARTIAL — design technique (8-clause SUFFICIENT-Noalias Rule, fixed-point closure walk, canonical-triviality filter, complementarity model) is a valid logical proof structure NOT falsified by §04B.1-§04B.4b. §01-§04A shipped surface does not realize the proof path: TypeRegistry::burden consumer absent, Phase 5 BUILD BREAK, §04A.2 operates on DP-2/DP-3 not the 8-clause rule. Walkthrough status proposed — design intent only, not shipped code. Stacks onto §04B.N FAIL classification.

Subsection close-out (04B.5) per protocol.

04B.6 Criterion 6 — Three microbenchmarks ≤5% gap

Mandate: verify perf parity within 5% of current AIMS baseline on three target workloads. Counts MUST be measured in commensurable units (BS-04B-4 cure below). If any benchmark exceeds 5%, partial-pass triggers decisions/gate-criterion-6-extensions.md enumerating Phase 6 lattice extensions §05 MUST include BEFORE §05 advances.

File(s):

  • compiler_repo/tests/benchmarks/aims_burden/closures_inside_loops.rs — NEW microbenchmark
  • compiler_repo/tests/benchmarks/aims_burden/sum_payload_extraction.rs — NEW microbenchmark
  • compiler_repo/tests/benchmarks/aims_burden/conditional_transfer_in_branch.rs — NEW microbenchmark
  • compiler_repo/compiler/ori_llvm/src/codegen/arc_emitter/instr_dispatch.rs:434-442 — Phase 7 burden-op lowering reference (BurdenInc/BurdenDec no-op markers; BurdenDecPartial field-level expansion); RC-counting normalization rule reads this dispatch table.
  • compiler_repo/diagnostics/rc-stats.sh — runtime RC traffic counter (per compiler.md §Diagnostic Scripts)

RC-counting normalization rule (BS-04B-4 cure): Phase 5 emits whole-var BurdenInc/BurdenDec (no-op LLVM markers per instr_dispatch.rs:434) AND BurdenDecPartial (field-level cleanup expansion per instr_dispatch.rs:442). Comparing raw counts conflates unlike units. Normalization:

  • BurdenInc no-op marker → 0 RC ops (Phase 7 lowers to nothing for unique-owner case).
  • BurdenDec no-op marker → 0 RC ops (Phase 7 lowers to nothing where eliminated).
  • BurdenDecPartial → N RC ops where N = count of owned fields the partial walks per BurdenSpec.field_burden_kinds.
  • BurdenDecField → 1 RC op (one owned field clean-up).
  • BurdenDecVariant → N RC ops where N = count of owned fields in the variant payload per BurdenSpec variant table.
  • Whole-var RC ops produced after Phase 7 lowering (RcInc/RcDec on heap-allocated values) → 1 RC op each.

Counts measured ON LOWERED IR after Phase 7 (per arc.md §Pipeline), NOT on Phase 5 emission. The comparison BASELINE is the current AIMS predicate-stack emission on the same workload, counted in the same Phase 7 mechanical-op units.

Ground-truth cross-check: runtime trace via ORI_TRACE_RC=1 ./target/release-lto/<benchmark> + ORI_CHECK_LEAKS=1 (per runtime.md §Runtime Instrumentation) records actual RC operations executed. If static count and runtime trace diverge, the static count is wrong (compile-time analysis missed a dynamic branch); investigate before declaring gap.

Microbenchmark specifications (per proposal §Prototype Gate):

  • closures_inside_loops.rs: tight loop creating + invoking closures with captured-by-value bindings; isolates closure-env BurdenSpec composition + capture-transfer points.

  • sum_payload_extraction.rs: tight loop pattern-matching a sum type and extracting payloads; isolates Maranget-tree-driven BurdenDecVariant emission + DP-2 elimination over the burden baseline.

  • conditional_transfer_in_branch.rs: tight loop with if-else where one branch transfers ownership + other releases; isolates per-edge balance predicate + DP-3 elimination.

  • Author the three microbenchmarks at compiler_repo/tests/benchmarks/aims_burden/. (2026-05-18; DEFERRED — authoring without execution produces dead files. §04B.4a’s two BUILD BREAK sites in compiler/ori_arc/ transitively block microbenchmark execution. When build-break is cured by parallel-session owner OR user-typed /commit-push --bypass, §04B.6 can be re-entered with microbenchmark files authored AND evaluable.)

  • Establish baseline RC-traffic counts via current AIMS (predicate stack — ORI_DISABLE_BURDEN_OPS=1). (2026-05-18; BLOCKED — requires ori binary which requires ori_arc to release-build; transitively blocked by §04B.4a’s E0061 + E0425.)

  • Establish burden-emitted counts under §04A.2 elimination. (2026-05-18; BLOCKED — same transitive root cause as baseline step.)

  • Cross-check both columns via ORI_TRACE_RC=1 + compiler_repo/diagnostics/rc-stats.sh. (2026-05-18; BLOCKED — runtime trace requires executed binary; transitively blocked.)

  • Compute gap = (burden - baseline) / baseline per benchmark; verify ≤5% on each. (2026-05-18; UNEVALUABLE — no baseline + burden-emitted measurements; predicate inapplicable.)

  • Record per-benchmark concrete count comparisons + raw ORI_TRACE_RC output + gap % in decisions/gate-criterion-6-evidence.md. (2026-05-18 authored; documents transitive build-block + microbenchmark-authoring deferral rationale + recurring tooling-first §2 deficiency.)

  • If gap > 5% on any benchmark, author decisions/gate-criterion-6-extensions.md. (2026-05-18; UNREACHED — predicate gap > 5% requires measurements; no measurements means the conditional doesn’t fire. Extensions doc deferred until microbenchmarks become evaluable.)

  • Decision: FAIL — microbenchmark execution transitively blocked by §04B.4a/§04B.4b’s two BUILD BREAK sites in compiler/ori_arc/; PASS/PARTIAL-PASS/FAIL ladder all require measured RC counts which are unobtainable. Classified as (b) NEW build-break attributable to §03-§04A burden machinery per criterion’s spirit. Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. Stacked with §04B.1+§04B.2+§04B.3+§04B.4a+§04B.4b+§04B.5: seven distinct failure/gap surfaces now established. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4. (Under C6=proof_status:complete override, this FAIL routes to §05 EXTENSION INPUT per §04B.N — author/run the three benchmarks + record normalized RC counts in §05 before §05.N close — NOT §05-void/Perceus; the 2026-05-18 build-break is CLEARED per 2026-06-01 HISTORY.)

  • TPR checkpoint/tpr-review covering 04B.1-04B.6 evidence + decision per skill-control-contract.md §Caller Foreground Dispatch Contract. Banned-patterns guard per skill-vocabulary.md §2: at this TPR checkpoint the agent records the criterion-by-criterion verdict and emits the mapped exit_reason without pausing for user confirmation. NO AskUserQuestion shape at this checkpoint; the verdict IS the structured output. Reviewer enforcement: STRUCTURE:autopilot-pause-leak Critical if the checkpoint hedges into “Should I proceed with…” / “Would you like me to…” / “Pausing here for…” shapes per skill-vocabulary.md §2 banned-phrase list. (2026-05-22 cure: /tpr-review fresh invocation completed; exit_reason=clean; 2 rounds; 11 total findings cured; frontmatter third_party_review block updated per §10.)

Subsection close-out (04B.6) per protocol.


04B.R — Third Party Review Findings

  • Current state: third_party_review.status: none (frontmatter line 45). A prior 2026-06-01 /tpr-review review-plan-mode run reached cap_reached_with_substantive (10 findings cured inline across 3 rounds: R1 baseline frontmatter + table enum; R2 00-overview §04A status + budget frontmatter; R3 §04A reviewed-prose + §04B.4b clearance check + §05 predecessor-outcome + §04B.2 reframe note), but record_review_reversal atomically reset third_party_review.statusnone (and reviewed: truefalse) when the §04B.N close-out content edits tripped the review-checkpoint (per state-discipline.md §4 + HISTORY 2026-06-01 L386). A FINALIZING re-review is in progress; its outcome sets third_party_review.status on convergence, and reviewed: true flips via /review-plan Step 7+8 §04B.N close-out. The 2026-06-01 post-close-out invocations SUPERSEDE the 2026-05-22 clean exit (which in turn superseded the 2026-05-18 5-round cap-exit).

  • 2026-05-22 fresh /tpr-review: Round 1 cured 5 actionable findings (premature reviewed: true flip; cargo -- separator; autopilot-pause-leak strip across body + HISTORY; §04 dependency prose). Round 2 cured 6 findings (3 body subsections restored after round-1 over-aggressive DOTALL regex; 1 frontmatter §04B.R status drift; 2 agreement-cluster duplicates). 11 findings cured total; 0 residual.

  • The 2026-05-18 cap-exit residuals (R5-01 cargo -- separator, R5-02 prose-lint quoted-ban markers, R5-03 “fail-baseline” vocab-violation Track A/B) listed below were cured and verified clean by the 2026-05-22 invocation.

  • reviewed: true flip is /review-plan Step 7+8 §04B.N close-out’s responsibility, NOT /tpr-review’s; flip_from_in_review_to_in_progress left reviewed: false per state-discipline.md §4.

  • [TPR-04B-R5-01-codex+gemini][High] Cargo command cargo test --release -p ori_llvm --test aot match_alias generics closure_drop higher_order aims_burden_alias arc initially malformed (missing -- separator before test-name filters; cargo rejects with error: unexpected argument 'generics' found). Round 5 cure: -- separator added at line 187. Round 6 cure: frontmatter success_criteria[3] mirrored — -- separator now present at line 12.

  • [TPR-04B-R5-02-codex+gemini][High] Line 277 TPR-checkpoint description contained verbatim banned-phrase quotes (“Should I proceed”, “Would you like me to”, “Pausing here”) that prose-lint flagged. Round 5 cure: line 277 wrapped in <!-- prose-lint: off --> ... <!-- prose-lint: on --> markers. (2026-05-22 verified: python3 scripts/prose-lint.py plans/aims-burden-tracking/section-04B-prototype-gate.mdclean - 1 file(s) scanned, 0 violations.)

  • [TPR-04B-R5-03-gemini][Minor] Recurring “fail-baseline” compound-adjective hits at lines 106, 109, 122, 124, 142 (cited as STRUCTURE:vocab-violation history-keyword). (2026-05-22 verified: prose-lint regex no longer flags “fail-baseline” as history-keyword hit; current run reports 0 violations on this file. Track A/B decision moot — current tooling state silently absorbs the term-of-art compound; no rename or regex refinement required.)

  • [TPR-04B-R3-01-opencode][Minor] — deferred-with-anchor (non-blocking): success_criteria[] entries (frontmatter line ~9+) embed evidence-file paths + cargo command signatures (context-bloat per context-discipline.md); the cure is to extract the concrete paths/commands to the §04B.N body or the per-criterion evidence files, leaving success_criteria as outcome assertions. Deferred (valid-reason: better-location): curing edits success_criteria (load-bearing content), which per state-discipline.md §4 would invalidate this section’s completed review (content-drift reversal → reviewed:false) — disproportionate re-review churn for a Minor cosmetic. Anchor: addressed at the next §04B content revision (which re-reviews anyway). Non-checkbox per impl-hygiene.md §unchecked-items-under-complete cure (c) so it does not block §04B.R completion.


04B.N Completion Checklist + Decision

Decision aggregation → exit_reason mapping (BS-04B-6 cure per plans/completed/scripts-first-workflow-architecture/_archive/2026-05-15-pre-fold/skill-ecosystem-coherence/decisions/31-step-6-exit-reason-table-source.md Option C): the gate outcome maps to a closed-enum next_action.action + halt_reason value consumed by /continue-roadmap autopilot per scripts/plan_corpus/exit_reasons.py:CANONICAL_EXIT_REASONS:

Aggregate outcomeFrontmatter outcomeAutopilot next_action.actionhalt_reason§05 status flip
All seven criteria PASSpassdispatch (→ §05)n/a (no halt)§05 unblocks unconditionally; status flips to in-progress on next /continue-roadmap
1-5 PASS + 6 PARTIAL-PASSpartial-pass-criterion-6dispatch (→ §05) AFTER decisions/gate-criterion-6-extensions.md lands AND §05 success_criteria absorb each extension as - [ ]n/a (no halt)§05 status flips to in-progress only after extensions integrated
C4a/C4b FAIL whose FAILING SHAPE rests on a PROVEN realization rule (terminal_state proven_sound/reformulated_and_proven per the aims-rules.md HISTORY 2026-05-28 table) — i.e. a proven-shape carry-through surfaced during the C4a/C4b release-build/corpus runimpl-fidelity-routing (defer to plans/completed/aims-proofing-suite/section-13)per plans/completed/aims-proofing-suite/section-13 verdict tableper plans/completed/aims-proofing-suite/section-13 (checker_smoke_failed)NOT §05-voided, NOT Perceus. C4a/C4b are pending ONLY for their plans/completed/aims-proofing-suite/section-15 (CI integration) COMPOSITION artifacts (release-build precondition + corpus coverage), NOT for the realization rules the failing shapes rest on. A proven-shape carry-through (e.g. a BUG-04-123/118 over/under-emission cell, or a build-break in compiler/ori_arc/ burden machinery) routes to impl-fidelity repair (/fix-bug at the divergent site → §03A/§05/§07/§09), exactly as a complete-criterion FAIL does. The plans/completed/aims-proofing-suite/section-15 (CI integration) artifact pending status does NOT make a proven-shape failure a Perceus-fallback trigger.
Any criterion FAILs AND the FAILING SHAPE’s correctness rests on a rule with terminal_state pending/unprovable_with_gap_citation (genuine OUT-of-coverage architecture failure)failhaltgate_internal_error§05 voided; §05-§10 status: not-startedsuperseded; 00-overview.md HISTORY block records failure path; /add-bug files the proposal-rescope follow-up (PRE-PROOF Perceus-fallback semantics) — applies ONLY when the failing shape is OUT-of-coverage per the per-rule terminal-state table, NEVER for a proven-shape carry-through surfaced incidentally during a pending composition-criterion run
Any criterion FAILs AND that criterion’s proven_by.proof_status is complete AND the failing shape is WITHIN proven coverageimpl-fidelity-routing (defer to plans/completed/aims-proofing-suite/section-13)per plans/completed/aims-proofing-suite/section-13 verdict tableper plans/completed/aims-proofing-suite/section-13 (checker_smoke_failed)NOT §05-voided, NOT Perceus. Per plans/completed/aims-proofing-suite/section-13-*.md verdict re-interpretation table, complete + WITHIN-coverage FAIL = implementation-fidelity bug at a specific site; cure = fix code at the divergent emission site (/fix-bug), NEVER redesign. §05 is NOT voided. See Proven_by override note below.
Wall-clock cap exceeded on 4bgate_internal_errorhaltgate_internal_error§04B.4b re-evaluates; /continue-roadmap halts for user-visible review

Closed enum membership verified at write time via scripts/plan_corpus/exit_reasons.py:CANONICAL_EXIT_REASONS (gate reuses the existing gate_internal_error halt_reason for FAIL outcomes; already registered per §01.9 of plans/completed/scripts-first-workflow-architecture/section-01-invariant-gates.md).

§04B → plans/completed/aims-proofing-suite/section-13 cross-plan routing contract (opencode-F1 — string-literal anchor for the C4a/C4b + impl-fidelity-routing rows): the two defer to plans/completed/aims-proofing-suite/section-13 rows above (C4a/C4b proven-shape carry-through; and complete + WITHIN-coverage FAIL) hand off to the plans/completed/aims-proofing-suite/section-13-*.md verdict re-interpretation table. The EXACT outcome string the routing relies on is checker_smoke_failedplans/completed/aims-proofing-suite/section-13’s verdict table maps a complete-proof / WITHIN-coverage empirical FAIL to the checker_smoke_failed verdict, which /continue-roadmap autopilot dispatches as /fix-bug against the divergent emission site (NOT §05-void, NOT Perceus). Auditing the §04B→plans/completed/aims-proofing-suite/section-13 dependency in place: the receiving end MUST emit checker_smoke_failed for these shapes; if plans/completed/aims-proofing-suite/section-13’s verdict table renames or drops checker_smoke_failed, this §04B.N routing is stale and the C4a/C4b + impl-fidelity-routing rows above MUST be re-pointed to the new outcome string. outcome: impl-fidelity-routing (frontmatter) is the §04B-side projection of this checker_smoke_failed cross-plan verdict.

Proven_by override (resolves the aims-proofing-suite §13-vs-§04B.N contradiction — 2026-05-27): §08 flipped proven_by C1/C2/C3/C5/C6 to proof_status: complete (HISTORY 2026-05-27). The “Any criterion FAILs → §05 voided + direct Perceus” mapping is the PRE-PROOF semantics and now applies ONLY to criteria whose proven_by.proof_status is pending/unprovable. For a criterion that FAILs empirically while its proof_status is complete, verdict routing DEFERS to plans/completed/aims-proofing-suite/section-13-*.md’s verdict re-interpretation table: complete + FAIL = impl-fidelity bug at a specific site (checker_smoke_failed → autopilot dispatches /fix-bug against the divergent emission site), NOT §05 voided, NOT direct Perceus. Coverage guard: impl-fidelity routing applies ONLY when the failing input shape is WITHIN the proven theorem’s stated coverage. The DECIDING ARTIFACT for “within coverage” is the aims-rules.md HISTORY 2026-05-28 per-rule terminal-state table (each row’s terminal_state ∈ {proven_sound, reformulated_and_proven, evolved_during_proof, new_rule_added, unprovable_with_gap_citation} with its .proof/.lean cite): a failing shape whose GOVERNING rule has terminal_state proven_sound/reformulated_and_proven is WITHIN coverage → impl-fidelity repair. The CH-1..CH-comp coexistence rows are proven_sound/reformulated_and_proven (compiler_repo/aims-proof/proofs/11-coexistence/CH-*.proof + Lean mirror AimsProof/Coexistence.lean), so a coexistence-shape failure is WITHIN proven coverage → impl-fidelity repair, NOT architecture review. Only a shape whose correctness rests on a rule with terminal_state pending/unprovable_with_gap_citation is OUT-of-coverage → architecture review, NEVER silent impl-fidelity repair. Verify the proof’s coverage assumption actually holds for the failing shape — confirmed against that table — before treating it as checker_smoke_failed. /continue-roadmap reads proven_by.proof_status (per scripts/plan_orchestrator/proven_by_routing.py) to pick the branch; the §04B.N aggregate outcome: is recorded per the refined rows above. Current state: C1/C2/C3/C5/C6 = complete + empirical FAIL → impl-fidelity (fix code at the divergent sites; the burden architecture is NOT rejected); C4a/C4b = pending → pre-proof semantics until the plans/completed/aims-proofing-suite/section-15 CI gate flips them. NOTE: none of C1-C6 binds to ArgEscaping/Locality, so plans/locality-representation-unification/ is NOT a §04B gate dependency — it is a §05/§08 sequencing input (per decisions/04 Clarification).

  • All seven criteria (04B.1, 04B.2, 04B.3, 04B.4a, 04B.4b, 04B.5, 04B.6) evaluated; per-criterion evidence file written in decisions/ (gate-criterion-{1,2,3,4a,4b,5,6}-evidence.md all authored 2026-05-18; the C4a/C4b runs re-recorded post-build-break-clearance 2026-06-01 in gate-criterion-4{a,b}-baseline.md).
  • Aggregate decision recorded: under the proven_by override (C1/C2/C3/C5/C6 = proof_status: complete, the DEFAULT per the 2026-05-29 reground), the aggregate gate verdict is outcome: impl-fidelity-routing (defer-to-plans/completed/aims-proofing-suite/section-13) — NOT fail, NOT Perceus-void. Six WORK subsections recorded individual empirical FAIL/PARTIAL verdicts evaluated 2026-05-18 against a then-build-broken tree; per the 2026-06-01 build-break-clearance HISTORY (cargo build/test --release -p ori_arc exits 0; the 643 BUG-04-121 VF-1 ICEs gone after §03A’s RL-1/RL-2 cure landed) those FAILs are IMPLEMENTATION-FIDELITY divergence sites WITHIN proven coverage, routed to §03A/§05/§07/§09 + /fix-bug per the Proven_by override note below. §05 is NOT voided; the burden architecture is NOT rejected. Only C4a/C4b (pending, plans/completed/aims-proofing-suite/section-15 CI-integration artifacts) retain pre-proof semantics, and their residual reds are proven-shape carry-through (BUG-04-123/121/118), not OUT-of-coverage architecture failures — so they ALSO route to impl-fidelity repair per the C4a/C4b mapping row above.
  • Aggregate decision maps to next_action: impl-fidelity-routingdispatch (defer-to-plans/completed/aims-proofing-suite/section-13 verdict table; autopilot dispatches /fix-bug against divergent emission sites, no halt). The §04B.N agent records the decision + emits the mapped routing WITHOUT AskUserQuestion (banned-patterns guard per skill-vocabulary.md §2; CRITICAL STRUCTURE:autopilot-pause-leak if violated).
  • §04B.4b build-break clearance (§05 predecessor under the proven_by override): CLEARED 2026-06-01 (per the 2026-06-01 HISTORY entry below). The §04B.4b FAIL was a transitive build-break (E0061 + E0425 in compiler/ori_arc/ from parallel-session WIP) + a missing baseline file — NOT an unproven-criterion FAIL; under the proven_by override it routed to impl-fidelity repair, NOT §05-void. All four clearance steps landed: (1) the ori_arc build error is fixed — emit_burden_ops_for_blocks refactored to lower/burden_lower/emit.rs:48 (arity consistent) + the smoke fn #[cfg(debug_assertions)]-gated; cargo build/test --release -p ori_arc exits 0 (1476/0); (2) decisions/gate-criterion-4b-baseline.md authored (+ gate-criterion-4a-baseline.md); (3) ./test-all.sh re-run recorded (13037 passed / 43 failed, all residuals classified as §06/§09-coupled carry-through or orthogonal-already-tracked, zero NEW burden-machinery regressions); (4) the §04B.4b post-cure verdict is recorded in the 2026-06-01 HISTORY entry (the §04B.4b decision cell above remains the accurate 2026-05-18 historical record per append-only HISTORY discipline). The criterion-6 microbenchmark re-run is a §05 EXTENSION input under the C6=complete override, NOT a §04B close-gate (separate - [ ] anchor above). §05 unblock now gates only on the /review-plan Step 7+8 reviewed-flip + final /tpr-review + /impl-hygiene-review below. Anchor: decisions/gate-criterion-4{a,b}-baseline.md + the 2026-06-01 HISTORY entry.
  • §05 unblock gate: conditions (1)/(3)/(4) MET; condition (2) reviewed-flip PENDING the finalizing re-review (L365) — (1) §04B.4b build-break-clearance landed (four steps, item below); (2) reviewed: true was flipped at a prior /review-plan Step 7+8 close-out (verdict SIGNIFICANT REWORK APPLIED) then AUTO-REVERTED to reviewed: false when the §04B.N close-out content edits tripped record_review_reversal (per HISTORY 2026-06-01); the re-flip is PENDING the finalizing re-review tracked at L365 (Plan sync); (3) /tpr-review review-plan mode run (exit_reason cap_reached_with_substantive); (4) /impl-hygiene-review clean for §04B’s arc (no compiler source per CLAUDE.md §Hygiene/Coding Rules Scope; prose-lint/claude-workflow-lint/plan_corpus clean). The criterion-6 microbenchmark re-run is a §05 EXTENSION input under the C6=complete override (anchor below), NOT a §04B unblock-gate. §05 unblock COMPLETES when the L365 re-flip lands (reviewed: truestatus: complete); §05 status then flips not-startedin-progress on the subsequent /continue-roadmap; 00-overview.md §Mission Success Criteria item 8 (Prototype Gate verdict) flips [x] at the same close-out.
  • Criterion 6 microbenchmark re-run — §05 EXTENSION INPUT, NOT a §04B close-gate (deferred-with-anchor, non-blocking): under the proven_by override C6 = proof_status: complete (RL-2 + RL-7 + RL-11 via RL-comp.proof), a microbenchmark perf gap routes to impl-fidelity / §05 lattice-extension absorption, NOT §05-void. The 2026-05-18 §04B.6 DEFER was transitive on the build-break, now CLEARED (ori_arc green 1476/0 per 2026-06-01 HISTORY). Anchor (§05): author the three microbenchmarks at compiler_repo/tests/benchmarks/aims_burden/{closures_inside_loops,sum_payload_extraction,conditional_transfer_in_branch}.rs, run them, record normalized RC counts (per the §04B.6 BS-04B-4 normalization rule) in decisions/gate-criterion-6-evidence.md; if any benchmark exceeds the 5% gap, the enumerated Phase 6 lattice extensions land as - [ ] items in §05’s success_criteria per the partial-pass-criterion-6 mapping row. Non-checkbox per impl-hygiene.md §unchecked-items-under-complete cure (c): under the C6=complete override this is a §05-extension input, NOT a §04B close-gate, so it does not block §04B.N completion.
  • /tpr-review passed (final, full-section per skill-control-contract.md §Caller Foreground Dispatch Contract); /impl-hygiene-review passed. /tpr-review review-plan mode 2026-06-01: 3 rounds, exit_reason cap_reached_with_substantive, 10 findings cured + 1 Minor §05-deferred (third_party_review.status frontmatter). /impl-hygiene-review: clean for §04B arc — no compiler/application source (CLAUDE.md §Hygiene/Coding Rules Scope carve-out: plan+orchestrator-script arc); prose-lint/claude-workflow-lint/plan_corpus check clean.
  • Plan annotation cleanup per plan-annotations.sh.
  • Plan sync — section frontmatter statuscomplete, reviewed: true flipped via flip_from_in_review_clean() per state-discipline.md §4.

Banned patterns (BS-04B-7 cure)

Per skill-vocabulary.md §2 autopilot-pause-leak ban + impl-hygiene.md §Finding Categories — STRUCTURE:autopilot-pause-leak (Critical):

  • “Would you like me to record the criterion-X verdict?” — NO; record + emit exit_reason without prompting per the §04B.N mapping table.
  • “Pausing at the gate to confirm with you” — NO; the verdict IS the structured output.
  • “This is a good checkpoint to pause” — NO; seven criteria each have a deterministic PASS/FAIL; no checkpoint pause.
  • “Should I proceed with §05 now?” — NO; the §04B.N mapping table answers this from the aggregate outcome.
  • Effort speculation per skill-vocabulary.md §3 (“this benchmark would take weeks”, “criterion 4b is going to take a long time”) — BANNED; if 4b exceeds wall-clock cap it routes via halt_reason: gate_internal_error per BS-04B-9 cure, NOT via prose speculation.

Reviewer enforcement (/tpr-review + /review-work): flag any of the above as STRUCTURE:autopilot-pause-leak Critical per impl-hygiene.md §Finding Categories.

HISTORY

  • 2026-06-01 — §04B close-out finalize: §04B.N gates reconciled, criterion-6 + opencode-F3 deferred-with-anchor, touches: criterion-6 deliverable moved to §05; reviewed re-flip pending a finalizing re-review. Post the /review-plan close (verdict SIGNIFICANT REWORK APPLIED → reviewed:true), the §04B.N completion finalize ran: §04B.R completed (opencode-F3 Minor success_criteria context-bloat converted to non-blocking deferred-with-anchor per impl-hygiene.md §unchecked-items-under-complete cure (c)); §04B.N L366 §05-unblock-gate flipped (build-break cleared + reviewed + TPR + hygiene all met); L367 criterion-6 microbenchmark re-run converted to a non-checkbox §05-EXTENSION input per the C6=complete override (NOT a §04B close-gate); L370 /tpr-review + /impl-hygiene-review evidence-flipped (TPR cap_reached_with_substantive; hygiene clean for §04B’s arc — no compiler/application source per CLAUDE.md §Hygiene/Coding Rules Scope, plan+orchestrator-script arc); stale touches: compiler_repo/tests/benchmarks/aims_burden/ removed (criterion-6 benchmarks are a §05 deliverable under the override, not §04B’s — was blocking completion-authority’s missing-deliverable gate). The §04B.N close-out edits changed §04B’s content-hash AFTER reviewed:true, tripping the .review-checkpoints/section-04B-prototype-gate.sha content-drift record_review_reversal (reviewed:true→false, third_party_review→none) — expected: a section cannot complete its §NN.N finalize without editing itself, which un-reviews it. §04B content is now FINALIZED (all 04B.N gates reconciled, all TPR findings cured, touches: corrected, prose-lint/claude-workflow-lint/plan_corpus check clean, high-error count 0); the next /review-plan pass re-reviews the finalized content → reviewed:true → status: complete → §05 unblocks. TOOLING-DEBT (logged to bug-tracker/diagnostic-questions.md): the close-out-finalize ↔ review-checkpoint interaction forces a finalizing re-review whenever §NN.N completion edits the section post-review; the architecturally-correct cure is for /review-plan Step 7+8 to complete §NN.N WITHIN the flip_from_in_review_clean transaction (atomic), or for the orchestrator close_out_finalize path to be review-checkpoint-aware. Surfaced for /improve-tooling.

  • 2026-06-01 — §04B.4a/4b build-break CLEARED + corpus re-run; criteria 4a/4b post-cure verdict recorded. The 2026-05-18 transitive BUILD BREAK (E0061 emit_burden_ops_for_blocks arity at burden_lower.rs + E0425 cfg-gated intraprocedural refs in burden_lattice_smoke.rs) is fixed at HEAD 58564594d: emit_burden_ops_for_blocks now lives at lower/burden_lower/emit.rs:48 with a single arity-consistent call site (mod.rs:310), and the smoke fn is #[cfg(debug_assertions)]-gated; cargo build --release -p ori_arc exits 0 and cargo test --release -p ori_arc reports 1476/0/1. Full ./test-all.sh (ORI_VERIFY_ARC=1) re-run: 13037 passed / 43 failed. The 643 BUG-04-121 burden imbalance (VF-1) net=1 ICEs that dominated the 2026-05-18 verify run are GONE (§03A’s RL-1/RL-2 emission-fidelity cure landed). Residual classification (full table: decisions/gate-criterion-4b-baseline.md + gate-criterion-4a-baseline.md, authored this date): 18 AOT failures are the documented §06/§09-coupled BUG-04-123/121/118 carry-through (over-emission match_alias ×3 → §03A.3/§09; under-emission generics/higher_order/for_yield_option/borrow_independence/aims_interactions-h12/fat_matrix-break_continue/tagless_enum → §07/§09; the aims_burden_alias permanent pin → §09); the LLVM-backend spec CRASH is ori test --backend=llvm tests/ aborting on one of those carry-through double-frees; the 24 ori_interp E2005/E2004 “blocked by type errors” are ORTHOGONAL typeck polymorphic-constructor inference, already owned by plans/typeck-inference-completeness/ + BUG-01-008/BUG-02-022/023/024/027; 1 aims_snapshots_across_all_passes_match_baselines is §03A emission drift (re-bless or confirm). ZERO NEW failures attributable to §03–§04A burden machinery. §04B.4a/4b post-cure verdict: build-break CLEARED; residual burden-path reds are impl-fidelity divergence sites cured by §05→§07→§09 per the proven_by override. The baseline files (decisions/gate-criterion-4{a,b}-baseline.md) close the §04A.5-unfulfilled-deliverable gap noted in the §04B.4a/4b decisions. Remaining §04B.N close-out: record aggregate outcome: (impl-fidelity-routing per proven_by override) + criterion-6 microbenchmark re-run (now build-unblocked) + /review-plan reviewed-flip + final /tpr-review + /impl-hygiene-review → status:complete → §05 unblocks.

  • 2026-05-29 — Reground: aggregate gate outcome = IMPL-FIDELITY (proven_by override is the DEFAULT), not fail / Perceus-void. Per the 00-overview.md 2026-05-29 reground HISTORY: C1/C2/C3/C5/C6 carry proof_status: complete (RL-2 / RL-1 / RL-10 / RL-31 / RL-comp — all REAL in the consolidated compiler_repo/aims-proof/lean/AimsProof/ corpus: 363 kernel-checked theorems, zero sorry, zero True := by trivial; RL-31 is proven in consolidated Realization.lean). Therefore the 7-criteria empirical FAIL routes via the §04B.N proven_by override to impl-fidelity repair at the divergent emission site (/fix-bug), NEVER to §05-void or direct Perceus. Only C4a/C4b (pending, §15-CI artifacts) retain pre-proof semantics. The §04B.N aggregate outcome: is impl-fidelity-routing (defer-to-§13); §05+ is NOT voided and the burden architecture is NOT rejected. The empirical FAILs (12/16 match_alias under emission-alone; 13 generics/higher_order regressions; the AOT dual-exec parity break; the VF-1 burden imbalances) are the divergence sites the impl-fidelity-repair section (added via /create-plan --inline) + §05/§07 coverage cure — they resolve as the migration completes and §09 retires the coexistence layer.

  • 2026-05-27 — Cross-plan §08 propagation: proven_by C1/C2/C3/C5/C6 flipped to complete: plans/completed/aims-proofing-suite/section-08-realization-rule-proofs.md §08.13 discharged. All RL-1..RL-34 (+ RL-11a/14a/15a/18a) realization-rule proofs + the RL-1/RL-2 and whole-suite composition proofs check clean by compiler_repo/aims-proof/checker/ (40/40 via compiler_repo/aims-proof/scripts/run-section-08-proofs.sh, exit_reason realization_rules_proven). proven_by flips: C1 ← RL-2 (RL-2.proof); C2 ← RL-1 + RL-4 (RL-1.proof); C3 ← DP-5 + RL-10 (partial → complete, RL-10 §08 PASS completes the DP-5 §05 half — artifact re-pointed to RL-10.proof); C5 ← RL-31 CRITICAL (RL-31.proof, 8-clause SUFFICIENT condition + dual disjointness facet); C6 ← RL-2 + RL-7 + RL-11 (artifact re-pointed from the never-authored RL-2-perf-bound.proof to the composition proof RL-comp.proof). C4a/C4b stay pending — they bind §15-CI artifacts (release-build precondition + corpus coverage), not §08. Per §13 verdict re-interpretation table, §04B FAIL routing now shifts to “impl-fidelity bug at a specific site, fix code” (proof_status: complete) for the five flipped criteria.

  • 2026-05-23 — Linear-execution rule #1/#4 auto-reversal: plan-cleanup detected out-of-order subsection completion (04B.6 marked complete while a predecessor was not). Reverted those subsections + completion checklist to not-started; flipped section reviewed: true → false. Re-run /review-plan to determine next steps.

  • 2026-05-22 — Linear-execution rule #1/#4 auto-reversal: plan-cleanup detected out-of-order subsection completion (04B.6 marked complete while a predecessor was not). Reverted those subsections + completion checklist to not-started; flipped section reviewed: true → false. Re-run /review-plan to determine next steps.

  • 2026-05-22 — Linear-execution rule #1/#4 auto-reversal: plan-cleanup detected out-of-order subsection completion (04B.6, 04B.R marked complete while a predecessor was not). Reverted those subsections + completion checklist to not-started; flipped section reviewed: true → false. Re-run /review-plan to determine next steps.

  • 2026-05-22 — Linear-execution rule #1/#4 auto-reversal: plan-cleanup detected out-of-order subsection completion (04B.5 marked complete while a predecessor was not). Reverted those subsections + completion checklist to not-started; flipped section reviewed: true → false. Re-run /review-plan to determine next steps.

  • 2026-05-18 — /tpr-review round 1 cures applied; /commit-push halt skipped: 4 actionable findings (1 Critical 3-reviewer agreement, 1 High, 2 Major) cured per round 1 adjudicator verdict. Cures land in working tree at plans/aims-burden-tracking/section-04B-prototype-gate.md (env-var harness moved to §04B.1 first deliverable; gate_failed → gate_internal_error; title six → seven criteria) + plans/aims-burden-tracking/00-overview.md (§04A row in-review → complete). 2026-05-18 /commit-push halt skipped — halt_reason: sprawl_lint_fail, failing repo: /home/eric/projects/ori_lang/compiler_repo, scope: cross-scope (parallel-session AIMS burden tracking work). Cures uncommitted; clearance owned by parallel-session owner or future user-typed /commit-push --bypass. /tpr-review round-loop continues to record-cures + round-complete per skill-control-contract.md §Autopilot Mode unified hook-failure clause.

  • 2026-05-18 — /tpr-review round 2 cures applied: 2 actionable findings (round 1 cure miss — “six criteria” body prose on lines 286+293 and 00-overview.md:83 not updated when title was flipped six → seven). Cures: 3 mechanical “six” → “seven” edits. Gemini’s Critical phase-bleeding claim dropped as false_positive (line ref wrong, evidence paraphrased, contradicts scope-boundary at lines 66-67). Cures uncommitted under same cross-scope sprawl_lint_fail halt as round 1 (compiler_repo parallel-session work).

  • 2026-05-18 — /tpr-review round 3 cures applied: 4 actionable findings (residual label-drift miss from r2 sweep: index.md:34, 00-overview.md:182 DAG diagram, 00-overview.md:240 Implementation Sequence, section-04B-prototype-gate.md:311 banned-pattern guard). 4 agreement-clusters (all 2-3 reviewers). 1 dropped — codex’s Critical Criterion 6 normalization claim verified as false_positive (BS-04B-4 rule references Phase 7 mechanical lowering AS unit-of-measurement, not as execution dependency; Phase 7 runs on every compile per arc.md §Pipeline). All 4 mechanical “six → seven” / “6 → 7” edits applied. Cures uncommitted under same cross-scope sprawl_lint_fail halt.

  • 2026-05-18 — /tpr-review round 4 cures applied: 2 actionable (§04A:123 YAML mash status: in-completeird_party_review: repaired to proper key separation; §04B third_party_review.status: nonefindings reflecting 3 completed rounds). 4 dropped — codex Critical autopilot-pause-leak misclassification (banned-pattern enumeration IS the canonical pattern), gemini Critical INVERTED-TDD on BS-04B-4 normalization (recurring unit-of-measurement confabulation), gemini Critical section-not-independent on ORI_TRACE_RC (legitimate runtime instrumentation per arc.md), opencode missing decisions/gate-criterion-4b-baseline.md (pre-execution forward-deliverable, not drift).

  • 2026-05-18 — /tpr-review round 5 cap-exit (5/5, exit_reason: cap_reached_with_substantive): 3 actionable filed at §04B.R per §7 cap-exit policy. Cures applied inline: line 187 cargo command -- separator added; line 277 quoted ban examples wrapped in <!-- prose-lint: off/on --> markers. Cap-exit residuals (cargo command verify + prose-lint verify + recurring “fail-baseline” vocab-violation Track A/B decision) deferred to §04B.4a + §04B close-out as - [ ] items. Terminal flip applied via flip_from_in_review_to_in_progress: status in-review → in-progress, reviewed: false preserved (Step 7+8 §04B.3 close-out owns the flip). 13 findings cured across all rounds + 8 false-positives dropped + 3 substantive residuals filed.

  • 2026-05-18 — §04B.1 Criterion 1 evaluated: FAIL (12/16 fail-baseline pass; 4 STILL fail under ORI_DISABLE_BURDEN_ELIM=1): env-var wire shipped at compiler_repo/compiler/ori_arc/src/aims/realize/emit_unified.rs:235; cargo test —release run with isolation harness. Build 16.88s + run 19.03s, well under timeout. Result: 22 passed / 4 failed / 2274 filtered out. All 4 failures (test_match_arm_alias_result_str, test_option_intlist_select_branch_return, test_unwind_path_alias, test_closure_three_call_no_leak) are explicitly enumerated in BUG-04-118 §01:40-46 (the 16-test fail-baseline list). Failure modes: 3 double-free, 1 memory leak. Common shape: alias chains crossing class boundaries (closure env / sum-type variant payload) where inner lifetime extends past outer destructuring. Phase 5 trivial emission alone does NOT fully dissolve BUG-04-118 emission-side failures. Evidence: decisions/gate-criterion-1-evidence.md. Per §04B.N decision table: any criterion FAILs → halt with halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus per proposal §Alternative 1 fallback. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

  • 2026-05-18 — §04B.2 Criterion 2 evaluated: FAIL (13 NEW failures across generics + higher_order; closure_drop dispositioned-baseline only): three cargo test runs executed without env-var isolation (full §03-§04A burden emission + §04A.2 elimination active per criterion mandate). Results: generics 93 passed / 11 failed / 4 ignored (finished 9.06s); closure_drop 0 passed / 0 failed / 2 ignored — both ignored with BUG-04-118 §04.2 lambda-side wiring follow-up disposition; higher_order 67 passed / 2 failed / 0 ignored (finished 1.34s, both double-frees). Per 00-overview.md §Known failing tests baseline at line 264 (generics::* + closure tests “expected to remain green throughout Phase A → Phase B”), all 13 failures classify as (b) NEW regression per §04B.4a rule — none fall under the known-failing scope (which captures only BUG-04-118 match_alias predicate-stack carry-through). Cross-pattern analysis identifies four orthogonal AIMS-coherence break categories: (1) monomorphization-pipeline-ordering interaction with burden emission (E5001 unresolved __cast in 3 generics::test_borrow_list_int_* tests; commit 4ac52f23d imported-mono pipeline), (2) under-elimination memory leaks on path-sensitive control flow + jump-arg merges + generic forwarders (7 generics tests, 17 total leaked allocations), (3) cross-class alias-chain use-after-free segfault (1 generics::test_borrow_list_int_nested_pin6_chain_then_return_no_leak, exit -139 SIGSEGV), (4) §04A.2 over-elimination on closure-env producing double-frees (2 higher_order tests: test_hof_closure_capture_in_loop + test_hof_make_predicate; FATAL — ori_rc_dec called on already-freed allocation; emission-side dual to BUG-04-118 match-alias shape but on closure shapes). Sub-finding logged: closure_drop’s 2 ignored tests reference BUG-04-118 which is CLOSED in bug-tracker/plans/completed/; disposition shape suggests either (i) DISPOSITION_DRIFT:stale-bug-reference (should reference open §04.2 lambda-wiring follow-up bug instead) or (ii) INVERTED-TDD if tests were green at HEAD before burden machinery and got #[ignore] to mask regression. Evidence: decisions/gate-criterion-2-evidence.md. Stacked with §04B.1 FAIL, Criterion 2’s 13 NEW regressions across 4 distinct coherence-break sites deepens the FAIL classification — the architecture does not preserve BUG-04-104/106/107/111 wins under §03-§04A. Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

  • 2026-05-18 — §04B.2 close-out /commit-push halt skipped + consume-commit-push-exit dispatcher gap: /commit-push halt — halt_reason: sprawl_lint_fail, failing repo: /home/eric/projects/ori_lang/compiler_repo (Phase C step 5 pre-commit hook), scope: cross-scope (parallel-session AIMS burden tracking work owns the param-sprawl cure). Cures uncommitted (compiler_repo: ~60+ files parallel-session AIMS burden tracking implementation; wrapper: 66 files multi-plan batch including §04B.2 evidence + §04B body+HISTORY edits + 00-overview row flip + parallel-session plans/completed/scripts-first-workflow-architecture sections 23-31 + decisions 03-11 + bug-tracker BUG-07-089 close + scripts/plan-complete.py + scripts/plan_corpus/section_audit.py + .claude/rules/arc.md). Per skill-control-contract.md §Autopilot Mode unified hook-failure clause: proceed without committing, log + continue. Banned per script: BYPASS via —no-verify; ADD offending zero-default param without consolidation; both Claude-prohibited per feedback_commit_push_bypass_flag.md (—bypass is user-typed only). Secondary tooling gap surfaced: python -m scripts.plan_orchestrator consume-commit-push-exit failed with commit_push_dispatch_error — sprawl_lint_fail is NOT in scripts/plan_orchestrator/exit_reasons.py:CANONICAL_EXIT_REASONS (known: auth_required / authorized_writes_violation / banned_commit_msg / cross_section_check_fail / diff_digest_mismatch / dirty_after_commit / extended_check_fail / messages_invalid / preview / push_network_failure / push_rejected_non_ff / test_all_fail). Filed as tooling-first.md §2 deficiency for future /improve-tooling — adds sprawl_lint_fail to canonical enum + commit_push_dispatch handler. Per autopilot rule + dispatcher’s banned_actions[]: do NOT re-dispatch /commit-push without surfacing; do NOT —no-verify force-past. Continuing to §04B.3 per criterion 3 evaluation loop.

  • 2026-05-18 — §04B.3 Criterion 3 evaluated: PARTIAL with AOT-backend FAIL signal (Eval positive-pin PASSES; AOT positive-pin FAILS 1-allocation leak; negative-pin BLOCKED by tooling gap): Authored new test artifacts on the EXACT BUG-04-118 repro shape — Result<{str: int}, str> with Ok payload inner whose lifetime extends past the match destructure via three extracted[key] accesses. Files: compiler_repo/tests/spec/aims/burden_alias_tracking.ori (81 lines, positive-pin via extract_and_sum_after_destructure() returning 6 = 1+2+3 across alpha/beta/gamma keys; negative-pin documented as tooling-first §2 structural blocker), compiler_repo/compiler/ori_llvm/tests/aot/aims_burden_alias.rs (21 lines), compiler_repo/compiler/ori_llvm/tests/aot/fixtures/aims_burden_alias/inner_survives_result_destructure.ori (28 lines), compiler_repo/compiler/ori_llvm/tests/aot/main.rs (+1 line module registration between aims_interactions and arc). Run results: Ori spec test (eval backend) Test Summary: 1 passed, 0 failed, 0 skipped (10.72ms); AOT test (LLVM backend) test_burden_alias_inner_survives_result_destructure ... FAILED with ori: 1 RC allocation(s) not freed (memory leak). IR analysis via ORI_DUMP_AFTER_ARC=1 ORI_LOG=ori_arc::aims::realize=trace: burden_inc/burden_dec pairs SURVIVE elimination on alias-chain vars %17, %12, %23, %29 — lattice DP-2/DP-3 consumer NOT over-eliminating in isolation; per-block post-§04A.2 RC snapshot confirms RcInc[6] at block 12 paired with RcDec[6,5] at blocks 13+15. AOT leak attributable to CFG-merge join between Ok/Err arm decs where LLVM codegen consumption of post-§04A.2 ARC IR drops one dec — contracts↔realization disagreement per canon.md §7.1 AIMS invariant 1. Dual-execution parity break consistent with §04B.2 category-2 cross-pattern finding (under-elimination on path-sensitive control flow). Negative-pin verification BLOCKED by tooling-first §2 structural gap: parallel-session AIMS burden tracking work on burden_elim.rs under cross-scope sprawl_lint_fail halt (no clean baseline; INVERTED-TDD risk if source-edited). Filed as tooling-first §2 deficiency for future /improve-tooling to wire ORI_FORCE_OVERELIMINATE=1 env-var harness in emit_unified.rs alongside existing ORI_DISABLE_BURDEN_ELIM=1 gate. Secondary tooling gap surfaced: cargo stf burden_alias_tracking returns Path not foundstf alias takes a path, not a name filter; recorded for future /improve-tooling (rename alias OR add name-filter support). Release-lto binary absent in working tree, ORI_CHECK_LEAKS step skipped per autopilot mandate “SKIP if not”; AOT test’s built-in leak detection in assert_aot_success already supplies runtime leak audit at LLVM-backend granularity. Evidence: decisions/gate-criterion-3-evidence.md. Stacking with §04B.1 (Criterion 1 FAIL) + §04B.2 (Criterion 2 FAIL: 13 NEW failures across 4 break categories), Criterion 3’s PARTIAL/AOT-FAIL deepens the FAIL classification — criterion 3’s mandate explicitly states it is a CRITICAL criterion: “failure here directly invalidates the registry-augmented path; fallback to direct Perceus.” Three CRITICAL/blocking criteria failures (1 + 2 + 3) compound to: the burden-architecture-as-shipped is unable to (a) dissolve BUG-04-118 emission-side failures fully (Criterion 1), (b) preserve BUG-04-104/106/107/111 wins under §03-§04A burden machinery (Criterion 2), or (c) preserve dual-execution parity on the EXACT BUG-04-118 shape it was designed to cure (Criterion 3 AOT-backend FAIL). Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4. The new failing AOT test enters the working tree as a permanent regression pin — under any future correct fix to the burden architecture (or pivot to direct Perceus), test_burden_alias_inner_survives_result_destructure MUST GREEN before §05 (or its replacement) can advance.

  • 2026-05-18 — §04B.4a Criterion 4a evaluated: FAIL (three commands, three BUILD BREAKs in §03-§04A burden machinery): scoped 150s regression matrix run with full §03-§04A burden machinery active (no env-var isolation). Three commands attempted: (1) cargo test --release -p ori_llvm --test aot -- match_alias generics closure_drop higher_order aims_burden_alias arc → BUILD BREAK at compiler/ori_arc/src/lower/burden_lower.rs:240 (E0061 — emit_burden_ops_for_blocks called with 8 args at line 240 but defined to take 4 at line 1010; parallel-session-WIP arity mismatch between call site and definition); cargo reports 267 cascade-failures at 6.10s wall-clock with 0 tests actually executed. (2) cargo test --release -p ori_arc → BUILD BREAK at compiler/ori_arc/src/aims/burden_lattice_smoke.rs:276,281 (E0425 — intraprocedural::{reset_max_iterations_observed, max_iterations_observed} are #[cfg(all(debug_assertions, test))]-gated but burden_lattice_smoke.rs is included in aims/mod.rs outside a test cfg gate; release-profile compile fails). (3) cargo stf burden → SKIPPED (transitive blocker — depends on ori binary which requires ori_arc to build; root cause identical to command 2). Baseline file decisions/gate-criterion-4a-baseline.md was NOT authored at §04A.5 close-out — pre-condition for proper comparison missing; de-facto baseline is §04B.2’s earlier-this-session measurements (generics 93/11/4 + closure_drop 0/0/2 + higher_order 67/2/0) which demonstrate the working tree HAD a valid release-build state earlier this session. Between §04B.3 finish and §04B.4a start, parallel-session work advanced compiler_repo into a non-compiling state — consistent with feedback_never_destructive_git.md “Parallel sessions run with uncommitted work”. Failure mode classification: BUILD BREAK is structurally distinct from documented §04B.4a categories (a/b/c); effectively (b) NEW build-break attributable to §03-§04A burden machinery per criterion’s spirit (“zero NEW failures introduced by §03-§04A burden machinery” — build breaks IN the machinery itself ARE failures attributable to it). Evidence: decisions/gate-criterion-4a-evidence.md. Tooling-first §2 deficiency surfaced for future /improve-tooling: §04B gate evaluators need a --coherent-tree pre-check that cargo build --release succeeds across compiler_repo before attempting regression matrix; OR evaluators should run in fork-context worktrees pinned to a coherent baseline SHA rather than the dirty working tree. Stacked with §04B.1 FAIL + §04B.2 FAIL + §04B.3 PARTIAL/AOT-FAIL, Criterion 4a FAIL is the fourth distinct failure surface: (1) emission-side double-frees survive Phase 5 alone, (2) 13 NEW regressions across 4 orthogonal AIMS-coherence break categories, (3) dual-execution parity break on the EXACT BUG-04-118 shape, (4) §03-§04A burden machinery cannot release-compile in parallel-session-WIP state. Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

  • 2026-05-18 — §04B.5 Criterion 5 evaluated: PARTIAL (design technique valid; §01-§04A shipped surface does not realize the 8-clause proof path): walkthrough decisions/00-rl31-burden-aware-design.md read in full (642 lines, 3 passes). 3 worked examples enumerated: WE1 (accumulate(a: {str: int}, b: [int])), WE1b (merge(a: &{str: int}, b: &[int])), WE2 (swap(a: [int], b: [int])). Generalization rule: 8-clause SUFFICIENT-Noalias Rule for type-level disjointness via BurdenSpec.field_type chains with fixed-point closure walk + canonical-triviality filter. Precision comparison: RL-31 type-level walk is demonstrably more precise than borrow_sources + project_alias_sources for Category 1 burden-wins where call-site provenance lacks usable roots (args through abstract callees); the two mechanisms are COMPLEMENTARY per §00.2 pass/fail table (WE2 shows the reverse: contract layer succeeds for same-type fresh-root call sites where type-level clause 4 fails). Cross-reference to §04B.1-§04B.4b: those failures are in the implementation layer, NOT the design theory — no worked example or clause is falsified by the empirical §04B.N results. Implementation deficiencies in shipped §01-§04A surface: (1) ori_types/src/registry/burden/ TypeRegistry consumer ABSENT (DIR_NOT_FOUND) — fixed-point closure walk’s lookup path does not exist as shipped code; (2) Phase 5 burden_lower.rs in BUILD BREAK state (arity mismatch at line 240); (3) §04A.2 burden_elim.rs ships but operates on DP-2/DP-3 lattice predicates, not the 8-clause type-level proof — the 8-clause execution path has zero live code realization. Walkthrough status: proposed (design walkthrough only). Verdict: design SOUND, implementation GAP. PARTIAL stacks onto existing FAIL classification per §04B.N decision table. Evidence: decisions/gate-criterion-5-evidence.md. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

  • 2026-05-18 — §04B.4b Criterion 4b evaluated: FAIL (transitive build-break blocker + missing baseline file): ./test-all.sh execution NOT attempted because §04B.4a (evaluated immediately prior, same session) confirmed two BUILD BREAK sites in compiler/ori_arc/. test-all.sh first runs build-all.sh which would exit non-zero at ori_arc build with same E0061 + E0425 errors; test phase never starts. Per autopilot best-effort decision + feedback_correctness_above_all.md, transitive blocker is sufficient to determine outcome without burning the ~30-60s execution cycle. Additional pre-condition gap: decisions/gate-criterion-4b-baseline.md was NOT authored at §04A.5 close-out — unfulfilled §04B.4b precondition deliverable. Wall-clock 25-min cap clause inapplicable (exit at build phase in ~30-60s). Failure mode classification: (b) NEW build-break attributable to §03-§04A burden machinery (mirror of §04B.4a). Evidence: decisions/gate-criterion-4b-evidence.md. Tooling-first §2 deficiencies (recurrence + new): (i) §04B gate evaluators need pre-evaluation cargo build --release gate (recurrence from §04B.4a); (ii) gate-criterion-N evidence files referencing precondition-baseline files need pre-flight check that baseline files exist (new). Stacked with §04B.1+§04B.2+§04B.3+§04B.4a: five distinct failure surfaces now established — (1) emission-side double-frees survive Phase 5 alone, (2) 13 NEW regressions across 4 orthogonal coherence-break categories, (3) dual-execution parity break on EXACT BUG-04-118 shape, (4) §03-§04A burden machinery cannot release-compile in parallel-session-WIP state, (5) full test corpus unevaluable via ./test-all.sh due to transitive build-break. Per §04B.N decision table: any criterion FAILs → halt_reason: gate_internal_error → §05 voided + proposal-rescope to direct Perceus. §04B.N close-out evaluator records the aggregate outcome: field mechanically per state-discipline.md §4.

  • 2026-05-18 — Cross-plan binding established: plans/completed/aims-proofing-suite/ scaffolded; §04B verdict semantics will shift post-proofing: user clarification 2026-05-18 surfaced epistemic ambiguity in §04B’s current FAIL outcomes (criteria 1-6 all FAIL/PARTIAL/build-blocked) — pre-proof, the FAILs are ambiguous between impl bug + design flaw. plans/completed/aims-proofing-suite/ scaffolded to author Ori’s own AIMS calculus + machine-checked soundness proofs + Ori’s own domain-specific proof checker (L2 scope; Rust; AIMS-domain-specific; ~2000-5000 LOC; cross-validates against Lean 4 for critical proofs as community-trust hook). The proofing suite’s §13 will wire proven_by frontmatter into THIS section’s frontmatter mapping criteria C1-C6 to corresponding rules + proof artifacts + proof_status. Per §14 lazy-migration policy: §04B continues evaluation under existing pre-proof semantics until §13 proven_by entries reach proof_status: complete; this HISTORY entry establishes the cross-plan binding pointer; no immediate behavior change. Cross-plan reference: depends_on extension to “aims-proofing-suite#13” will land via §14 lazy-migration tool. Reference compilers (Koka Perceus, Lean 4 LCNF, Racordon 𝒜-calculus, etc.) explicitly framed as design sources, NOT templates — Ori OWNS the calculus, proofs, AND checker per the L2 ownership update. Once §02-§09 + §11 proofs land, §04B FAIL routing shifts from “ambiguous design vs impl” to “impl-fidelity bug at specific site, fix code” per §13’s verdict re-interpretation table.

  • 2026-05-22 — Stale review_pipeline: marker cleared by /continue-roadmap orchestrator: marker carried stage: verify-done, next_step: None, updated: ?. Per /review-plan SKILL.md §Step 1a stale-marker rule (reviewed: false + marker present → STALE by definition), marker invalid; prior diagnosis preserved here for traceability. Cure rooted in scripts/plan_orchestrator/markers.py:clear_stale_marker_if_unreviewed.