diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 1e94ef5f2d5..995ad79ad97 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -5,7 +5,7 @@ **Merge gates** (distinct from PR-open status — per openai-pro 2026-05-06 finding): - **PR open**: ✓ at sha `d1bfbbe22` - **Plan PR merge-eligible**: open RED escalations in §10.3 acknowledged + tracked (not necessarily resolved); PR can merge with RED items in flight provided they're explicitly tracked + assigned routing -- **R3 close** (NOT plan PR merge): all **R3-load-bearing** §1.8 closure gates GREEN (**97** gate IDs enumerated; **96 R3-load-bearing** post-Director carve-promotion-IN-R3 ratification 2026-05-09 at gunbc#846 #issuecomment-4412330468 + (a) at #issuecomment-4412380947 — gates #81/#82/#95 PROMOTED-IN-R3 within Cluster F (Task 12 carve-promotion landed via PR #2364); only #11 TC1 V1 strict-fire canvas-deferred per Director (a)-disposition 2026-05-09; #96 ValueBody isomorphism added 2026-05-08 per Q-ValueBody-Isomorphism RATIFIED at gunbc#828 #issuecomment-4403972737 + Brian sanction at gunbc#846; #97 emit-shim added 2026-05-08 per Q-V2-Retirement-Boundary-Matrix Gunbc **[#1982](https://github.com/gunb-ai/gunbc/issues/1982)**) + §10.3 Q-Lens-Behavioral-Parity-R3-Closeability option (b) original ratification — **all 4 lenses now R3-load-bearing per carve-promotion** (complexity + cost + parallelism + effect_enum) within Cluster F (T-LP-Retirement) + `r3_debt_paydown_zero_remaining` + comprehensive sweep zero-debt + other §10.3 RED items resolved per their owners +- **R3 close** (NOT plan PR merge): all **R3-load-bearing** §1.8 closure gates GREEN (**103** gate IDs enumerated; **102 R3-load-bearing** post-Director carve-promotion-IN-R3 ratification 2026-05-09 at gunbc#846 #issuecomment-4412330468 + (a) at #issuecomment-4412380947 + T-WAD FULL R3 elevation 2026-05-12 per operator directive + Director ratification msg_5cbdad24 + msg_f9fd669e + (b) ledger-sync msg_2a68a4b5 — gates #81/#82/#95 PROMOTED-IN-R3 within Cluster F (Task 12 carve-promotion landed via PR #2364); only #11 TC1 V1 strict-fire canvas-deferred per Director (a)-disposition 2026-05-09; #96 ValueBody isomorphism added 2026-05-08 per Q-ValueBody-Isomorphism RATIFIED at gunbc#828 #issuecomment-4403972737 + Brian sanction at gunbc#846; #97 emit-shim added 2026-05-08 per Q-V2-Retirement-Boundary-Matrix Gunbc **[#1982](https://github.com/gunb-ai/gunbc/issues/1982)**; #98–#103 T-WAD FULL R3 gates added 2026-05-12 per PR #2744 §1) + §10.3 Q-Lens-Behavioral-Parity-R3-Closeability option (b) original ratification — **all 4 lenses now R3-load-bearing per carve-promotion** (complexity + cost + parallelism + effect_enum) within Cluster F (T-LP-Retirement) + `r3_debt_paydown_zero_remaining` + comprehensive sweep zero-debt + other §10.3 RED items resolved per their owners **Purpose.** Forward-looking program plan for **R3 close with zero debt**. Per user directive 2026-05-05 (gunbc#846): *"clear dependency graph from here to R3 close"* + *"surface escalations now and solve them"*. @@ -81,21 +81,21 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, ### §1.5 Closure-ledger total -**Total R3 closure gates** (post-Q1 + Q2 ratification + codex BLOCKING fix 2026-05-06 on PR #1809 + Q-ValueBody-Isomorphism RATIFIED 2026-05-08 + Q-V2-Retirement-Boundary-Matrix #97 RATIFIED 2026-05-08 + Director (a)-disposition on TC1 #11 RATIFIED 2026-05-09 + Director carve-promotion-IN-R3 ratification 2026-05-09 c#4412330468): **97 gate IDs** enumerated at this commit per `r3-structure.md` §"Acceptance". Two canonical numbers (see canonicalization block below for full breakdown): -- **97 enumerated** (the full set; all R4 carves dissolved per Director ratification 2026-05-09) -- **96 R3-thesis-load-bearing** = `97 − 1` (only canvas-deferral subtracted; gate #11 TC1 V1 strict-fire per Director (a)-disposition 2026-05-09) +**Total R3 closure gates** (post-Q1 + Q2 ratification + codex BLOCKING fix 2026-05-06 on PR #1809 + Q-ValueBody-Isomorphism RATIFIED 2026-05-08 + Q-V2-Retirement-Boundary-Matrix #97 RATIFIED 2026-05-08 + Director (a)-disposition on TC1 #11 RATIFIED 2026-05-09 + Director carve-promotion-IN-R3 ratification 2026-05-09 c#4412330468 + **T-WAD FULL R3 elevation 2026-05-12 — 6 NEW gates #98–#103 per PR #2744 §1 + Director ratification msg_5cbdad24 + msg_f9fd669e + (b) ledger-sync disposition msg_2a68a4b5**): **103 gate IDs** enumerated at this commit per `r3-structure.md` §"Acceptance" + PR #2744 §1. Two canonical numbers (see canonicalization block below for full breakdown): +- **103 enumerated** (the full set; all R4 carves dissolved per Director ratification 2026-05-09; +6 T-WAD FULL R3 gates 2026-05-12) +- **102 R3-thesis-load-bearing** = `103 − 1` (only canvas-deferral subtracted; gate #11 TC1 V1 strict-fire per Director (a)-disposition 2026-05-09) -**No R4 carves at R3 close** per Director ratification 2026-05-09 c#4412330468 — gates #81/#82/#95 (formerly R4-carved as C1/C2/C3) are PROMOTED-IN-R3 as lens-producer-retirement work folded into Cluster F. The prior "94 post-R4-carve" intermediate count is superseded; forward-looking R3 close target is 96 (no carves; only #11 canvas-deferral subtracted). +**No R4 carves at R3 close** per Director ratification 2026-05-09 c#4412330468 — gates #81/#82/#95 (formerly R4-carved as C1/C2/C3) are PROMOTED-IN-R3 as lens-producer-retirement work folded into Cluster F. The prior "94 post-R4-carve" intermediate count is superseded; forward-looking R3 close target is 102 (no carves; only #11 canvas-deferral subtracted; +6 T-WAD FULL R3 gates 2026-05-12). -Composition: existing R3 lane gates across 18 lanes (`T-Tier3-Dissolution` 4, `T-LensProducer-Retirement` 4, `T-V-L4-L7-Direct` 2 + 4 NEW Pattern-A executable + 1 ValueBody isomorphism = 7, `T-V-L5-Corpus` 1, `T-FixedPoint` 1, `T-Numeric-Construction` 8, `T-Omni-Shape-B` 4, `T-Anthropic-Wire` 2, `T-Bridge-Retirement` 6, `T-CostLens-Composition` 3 + 1 NEW = 4, `T-V2-Retirement` 2, `T-Free-Consequences-Demonstration` 10, `T-E-P-Producer-Broadening` 3, `T-Lens-Behavioral-Parity` 5, `T-Tests-As-Data-Completeness` 4, `T-Lens-Application-Surface` 8, `T-Workflow-As-Data` 4, `T-Lens-Self-Application` 3) = 80 lane gates; **+ Gate #97** (`method_template_projection_emit_shim_retirement_coherence`, R2-Grounding-Rust / Gunbc **#1982**) = **81** lane-aligned gate rows; plus 5 substrate-gap-class gates + 10 demonstration gates + 1 PR-anticipation-discipline gate = 16 gates added 2026-05-06. Total: 81 + 16 = **97** across 18 lanes + 1 standing program. -**Gate-count canonicalization (per Director audit 2026-05-09 — ask 9, refined post-openai-pro REQUEST_CHANGES on PR #2361)**: +Composition: existing R3 lane gates across 18 lanes (`T-Tier3-Dissolution` 4, `T-LensProducer-Retirement` 4, `T-V-L4-L7-Direct` 2 + 4 NEW Pattern-A executable + 1 ValueBody isomorphism = 7, `T-V-L5-Corpus` 1, `T-FixedPoint` 1, `T-Numeric-Construction` 8, `T-Omni-Shape-B` 4, `T-Anthropic-Wire` 2, `T-Bridge-Retirement` 6, `T-CostLens-Composition` 3 + 1 NEW = 4, `T-V2-Retirement` 2, `T-Free-Consequences-Demonstration` 10, `T-E-P-Producer-Broadening` 3, `T-Lens-Behavioral-Parity` 5, `T-Tests-As-Data-Completeness` 4, `T-Lens-Application-Surface` 8, `T-Workflow-As-Data` 4 + **6 NEW T-WAD FULL R3 (#98–#103)** = 10, `T-Lens-Self-Application` 3) = 86 lane gates; **+ Gate #97** (`method_template_projection_emit_shim_retirement_coherence`, R2-Grounding-Rust / Gunbc **#1982**) = **87** lane-aligned gate rows; plus 5 substrate-gap-class gates + 10 demonstration gates + 1 PR-anticipation-discipline gate = 16 gates added 2026-05-06. Total: 87 + 16 = **103** across 18 lanes + 1 standing program. +**Gate-count canonicalization (per Director audit 2026-05-09 — ask 9, refined post-openai-pro REQUEST_CHANGES on PR #2361; updated 2026-05-12 — T-WAD FULL R3 elevation +6 gates per Director (b) ledger-sync disposition msg_2a68a4b5)**: -- **97 enumerated** total +- **103 enumerated** total (was 97 pre-2026-05-12; +6 NEW T-WAD FULL R3 gates #98–#103) - **0 R4-carved at R3 close** (per Director ratification 2026-05-09 at gunbc#846 c#4412330468 + operator framing "0 hand-Rust including tests AND stage0; bootstrap is data + self-generated"). R4 carves C1 / C2 / C3 (gates #81 / #82 / #95) are **PROMOTED-IN-R3** as lens-producer-retirement work folded into Cluster F via PR #2364 Task 12 amendment. - **1 post-R3-canvas-deferred**: {#11} — TC1 V1 strict-fire; cannot reach PASSING absent #1972 substrate canvas-tier work which is HELD-CANVAS-DEFERRED past R3 per Director (a)-disposition 2026-05-09; effectively removed from R3-thesis-load-bearing arithmetic -- **96 R3-thesis-load-bearing** = `97 − 1 (post-R3-canvas-deferred {#11}) = 96`. R3 close = all 96 GREEN + `r3_debt_paydown_zero_remaining` GREEN. +- **102 R3-thesis-load-bearing** = `103 − 1 (post-R3-canvas-deferred {#11}) = 102`. R3 close = all 102 GREEN + `r3_debt_paydown_zero_remaining` GREEN. -**R3 close target = 96 R3-load-bearing gates green** (no carves). Gate **#97** is the 97th canonical entry, **not additive**. Gates **#81 / #82 / #95** (formerly R4-carved) are **R3-load-bearing** within Cluster F (lens-producer-retirement framing) per Director carve-promotion ratification. +**R3 close target = 102 R3-load-bearing gates green** (no carves; +6 T-WAD FULL R3 elevation 2026-05-12). Gate **#97** is the 97th canonical entry, **not additive**. Gates **#81 / #82 / #95** (formerly R4-carved) are **R3-load-bearing** within Cluster F (lens-producer-retirement framing) per Director carve-promotion ratification. Gates **#98 / #99 / #100 / #101 / #102 / #103** (NEW 2026-05-12) are R3-load-bearing T-WAD FULL R3 gates per operator FULL elevation directive + Director ratification msg_5cbdad24 + msg_f9fd669e. Per PR #2358 §8 meta-finding (closure-claims-vs-HEAD drift): the prior "94 R3-load-bearing" framing was about to drift the moment Director ratified carve-promotion-IN-R3. Forward-looking framing here avoids the drift instance. **This change dissolves expansion Ask 10** (gate #95 carve cross-ref) — there is no longer a need to cross-reference a carve doc that's about to remove the entries; the Cluster F carve-promotion follow-up PR handles `r4-carve-out-routing.md` amendment + Cluster F sequencing folder. @@ -103,15 +103,15 @@ Per PR #2358 §8 meta-finding (closure-claims-vs-HEAD drift): the prior "94 R3-l **Per codex BLOCKING 2026-05-06 inline at line 79**: prior 70-count omitted the 5 NEW Pattern-A executable gates (`tc1_eta_equivalence_executable`, `tc2_church_rosser_executable`, `tc3_pattern_a_second_mover_executable`, `rust_dag_isomorphism_executable`, `symbolic_cost_expr_equals_executable`) declared in §1.1 but not yet in `r3-structure.md` §"Acceptance". This commit adds them to the canonical authority and bumps total from 70 → 75; single-authority restored (INVARIANTS P2/P5). -R3 closes when **all 96 R3-load-bearing §1.8 gates** pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). +R3 closes when **all 102 R3-load-bearing §1.8 gates** pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). -**~~R4-carved §1.8 rows~~** — **DISSOLVED 2026-05-09** per Director carve-promotion-IN-R3 ratification at gunbc#846 #issuecomment-4412330468 + (a) ratification at #issuecomment-4412380947 + operator framing 2026-05-09 ("0 hand-Rust including tests AND stage0; bootstrap is data + self-generated"). Gates **#81** `parallelism_lens_behaviorally_complete` + **#82** `effect_enumeration_lens_behaviorally_complete` + **#95** `opt_in_iteration_parallelism_via_lens_application_demonstrated` are **R3-load-bearing** within **Cluster F (T-LP-Retirement)** per [`docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md`](audit/r3-cluster-f-sequencing-plan-2026-05-09.md) (landed via PR #2364 Task 12 amendment). Gate **#83** `lens_capability_register_zero_proxy_zero_stub` scope-narrowing dissolves; #83 now fires for ALL 4 in-R3 lenses (complexity + cost + parallelism + effect_enum). `docs/r4-carve-out-routing.md` C1/C2/C3 entries amended to dissolved-status. R3 close target: **96 R3-load-bearing gates green** (no carves; only #11 canvas-deferral subtracted per Director (a)-disposition 2026-05-09 — see §1.5 canonicalization above + §1.8 row #11 status). +**~~R4-carved §1.8 rows~~** — **DISSOLVED 2026-05-09** per Director carve-promotion-IN-R3 ratification at gunbc#846 #issuecomment-4412330468 + (a) ratification at #issuecomment-4412380947 + operator framing 2026-05-09 ("0 hand-Rust including tests AND stage0; bootstrap is data + self-generated"). Gates **#81** `parallelism_lens_behaviorally_complete` + **#82** `effect_enumeration_lens_behaviorally_complete` + **#95** `opt_in_iteration_parallelism_via_lens_application_demonstrated` are **R3-load-bearing** within **Cluster F (T-LP-Retirement)** per [`docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md`](audit/r3-cluster-f-sequencing-plan-2026-05-09.md) (landed via PR #2364 Task 12 amendment). Gate **#83** `lens_capability_register_zero_proxy_zero_stub` scope-narrowing dissolves; #83 now fires for ALL 4 in-R3 lenses (complexity + cost + parallelism + effect_enum). `docs/r4-carve-out-routing.md` C1/C2/C3 entries amended to dissolved-status. R3 close target: **102 R3-load-bearing gates green** (no carves; only #11 canvas-deferral subtracted per Director (a)-disposition 2026-05-09; +6 T-WAD FULL R3 gates 2026-05-12 — see §1.5 canonicalization above + §1.8 row #11 status + §1.8 rows #98–#103). **Two distinct Pass surfaces** (per Debt-Paydown Mgr poke-hole 2026-05-06 — clarification prevents conflating predicates): -- **Lane `.dag` TestClaim gates (97 enumerated; 96 R3-load-bearing post-carve-promotion 2026-05-09 — only #11 canvas-deferred)**: per-lane closure predicates passing via `.dag` evaluation, runtime demonstration, or CI consumer (per §1.7 status taxonomy). +- **Lane `.dag` TestClaim gates (103 enumerated; 102 R3-load-bearing post-carve-promotion 2026-05-09 + T-WAD FULL R3 elevation 2026-05-12 — only #11 canvas-deferred)**: per-lane closure predicates passing via `.dag` evaluation, runtime demonstration, or CI consumer (per §1.7 status taxonomy). - **`r3_debt_paydown_zero_remaining`**: standing-program ledger predicate — no tracked ROADMAP debt rows survive R3 close (per `r3-structure.md` §"Standing program — R3 Debt-Paydown" + §1.5 tracked-debt inclusion list). -Both must hold for R3 close. "**96** R3-load-bearing gates green" (post-carve-promotion 2026-05-09; equivalently: all §1.8 rows except canvas-deferred #11) alone does not satisfy zero-debt; "zero debt rows" alone does not satisfy lane closure. +Both must hold for R3 close. "**102** R3-load-bearing gates green" (post-carve-promotion 2026-05-09 + T-WAD FULL R3 elevation 2026-05-12; equivalently: all §1.8 rows except canvas-deferred #11) alone does not satisfy zero-debt; "zero debt rows" alone does not satisfy lane closure. **Tracked-debt inclusion list for `r3_debt_paydown_zero_remaining`** (per Director poke-hole 2026-05-06 finding 3.1; closes definition gap): @@ -122,7 +122,7 @@ Predicate cannot be satisfied by deletion-of-rows-without-actual-resolution; eac ### §1.7 Closure-criteria status — DECLARATIONS-ONLY staging (per openai-pro meta-review 2026-05-06) -**This plan + r3-structure.md DECLARE 97 closure gates. Most closures are still **DECLARED** (document-level only); lane-owning consumers ratchet gates to **CONSUMER_LANDED** then **PASSING** under the taxonomy below.** +**This plan + r3-structure.md DECLARE 103 closure gates (was 97; +6 T-WAD FULL R3 elevation 2026-05-12). Most closures are still **DECLARED** (document-level only); lane-owning consumers ratchet gates to **CONSUMER_LANDED** then **PASSING** under the taxonomy below.** **Concrete exceptions at HEAD:** - §1.8 **#97** **`method_template_projection_emit_shim_retirement_coherence`** — **CONSUMER_LANDED + PASSING** via **`src/v3/compiler/tests/integration/method_template_projection_emit_shim_coherence_test.rs`** (Gunbc **[#1982](https://github.com/gunb-ai/gunbc/issues/1982)** / Q-V2-Retirement-Boundary-Matrix). @@ -143,7 +143,7 @@ Per openai-pro meta-review on PR #1808 sha `cf249389` ([#issuecomment-4384405832 **Status at HEAD**: per §1.8 canonical ledger Status column — most gates are **DECLARED**; `pb_self_compile_fixed_point` is a canonical CONSUMER_LANDED exemplar (R1 horizon Pass = current `verification.dag` + `test_runner` evaluation). **`method_template_projection_emit_shim_retirement_coherence` (§1.8 #97)**, **`omni_layers_share_one_node_tree` (§1.8 #28)**, and **`anthropic_wire_typed_serde_alignment` (§1.8 #29)** are **CONSUMER_LANDED + PASSING** via the integration tests / ratchets cited in the §1.8 ledger rows. **`numeric_abstract_carriers_landed` (§1.8 #17)** is **DECLARED** — carriers + lowering + hand-written ratchet are landed; **CONSUMER_LANDED** (§P2 sense: generated consumer proof) is **not** claimed until that generator exists. `tier3_*_mirror_dissolved` gates remain **DECLARED** at HEAD (T-Tier3-Dissolution lane work in flight per §3 lane status; consumer count / mirror-symbol count test not yet authored). Per-gate status updates flow through §1.8 ledger as Mgrs land consumer infrastructure per their lane scope; all 16 NEW gates added 2026-05-06 in PR #1808 are DECLARED-only. -**R3 close criteria implies CONSUMER_LANDED for all R3-load-bearing §1.8 gates** (97 enumerated **minus** **#11** canvas-deferred per Director (a)-disposition 2026-05-09 = **96 R3-load-bearing**; #81/#82/#95 carve-promoted-IN-R3 per Director ratification 2026-05-09 c#4412330468 — see §1.5 above): declarations alone don't satisfy `r3_debt_paydown_zero_remaining` or the substrate-gap-class closures or the demonstration principle. Per Brian directive `feedback_no_textual_enforcement_bridges` + Director poke-hole 2026-05-06 finding 1.1 (demo-gate minimum bar) — closure requires runtime-executable verification, not document-level claims. +**R3 close criteria implies CONSUMER_LANDED for all R3-load-bearing §1.8 gates** (103 enumerated **minus** **#11** canvas-deferred per Director (a)-disposition 2026-05-09 = **102 R3-load-bearing**; #81/#82/#95 carve-promoted-IN-R3 per Director ratification 2026-05-09 c#4412330468; +6 T-WAD FULL R3 gates #98–#103 per Director (b) ledger-sync disposition msg_2a68a4b5 — see §1.5 above): declarations alone don't satisfy `r3_debt_paydown_zero_remaining` or the substrate-gap-class closures or the demonstration principle. Per Brian directive `feedback_no_textual_enforcement_bridges` + Director poke-hole 2026-05-06 finding 1.1 (demo-gate minimum bar) — closure requires runtime-executable verification, not document-level claims. **Consumer infrastructure to land before R3 close**: - **T-Tests-As-Data-Completeness lane** (existing R3 lane): every test ports to `.dag` TestClaim or generated target-language test code; predicates execute via Evaluator. Closes the predicate→consumer gap for substrate-gap-class + Pattern-A predicate gates. @@ -202,7 +202,7 @@ This principle is NOT a separate lane; it's a per-lane gate-shape requirement ap ### §1.8 Canonical R3 Closure-Authority Ledger (per openai-pro meta-review structural recommendation; Brian B2 path-(b) ratified 2026-05-06) -**Single canonical view of all 97 closure gates** — consolidates per-lane enumeration in `r3-structure.md` §"Acceptance" + plan §1.5 count summary + §1.6 demonstration audit + §1.7 status taxonomy into one row-per-gate table. Eliminates "duplicate authority" class of cross-doc consistency findings (per openai-pro 2026-05-06 PAUSE_AND_REGROUP verdict). +**Single canonical view of all 103 closure gates** (was 97; +6 T-WAD FULL R3 elevation 2026-05-12) — consolidates per-lane enumeration in `r3-structure.md` §"Acceptance" + plan §1.5 count summary + §1.6 demonstration audit + §1.7 status taxonomy into one row-per-gate table. Eliminates "duplicate authority" class of cross-doc consistency findings (per openai-pro 2026-05-06 PAUSE_AND_REGROUP verdict). **Predicate-family legend**: - **substrate-shape**: declarations of carriers/types/algebra in `dsl/std/` (state-fact) @@ -234,7 +234,7 @@ This principle is NOT a separate lane; it's a per-lane gate-shape requirement ap | 8 | `sg0_non_test_zero` | state-check | T-LensProducer-Retirement | DECLARED | SG-0 T-PB-A non-test ratchet = 0 (`EXPECTED_HAND_AUTHORED_NON_TEST` + `EXPECTED_HAND_AUTHORED_FRAGMENTS`) | | 9 | `l4_emit_eval_match` | structural-fold | T-V-L4-L7-Direct | **CONSUMER_LANDED** — executable consumer exists; §Acceptance corpus coverage **incomplete** (§1.7 corpus-quantified rule). **Slice-2 receipt added 2026-05-10** via PR #2585 (L4 add-then-branch emit/eval). | **Slice receipts (evidence, non-closure):** three Rust/Int W1 `DifferentialEquals` certification seeds Pass in CI (`r3_verification_l4_emit_eval_match.dag`, suite `r3_verification_l4_l7_direct_suite`, harness `r3_verification_l4_l7_l5_skeleton_test.rs`; canonical claim `l4_emit_eval_match`) + add-then-branch slice (PR #2585). **PASSING** = every certification-corpus program per `r3-structure.md` §Acceptance. **Ledger phrase:** per-program emit ↔ eval algebraic equality | | 10 | `l7_algebraic_laws_witnessed` | alg-law-witness | T-V-L4-L7-Direct | **CONSUMER_LANDED** — bounded `AlgebraicLaw` runner receipts on honest additive/multiplicative `Int` lenses (`src/v3/compiler/tests/fixtures/r3_verification_l7_algebraic_laws.dag`; canonical `TestClaim.name` `l7_algebraic_laws_witnessed`; integration `r3_verification_l4_l7_l5_skeleton_test.rs`); incremental coverage advanced 2026-05-10 via PR #2602. | **PASSING** = exhaustive per-(algebra, inhabitant, law) §Acceptance coverage per `r3-structure.md` (distributivity / lattice absorption / non-`AlgebraicLawKind` laws remain substrate §P1); slice receipts ≠ ledger closure | -| 11 | `tc1_eta_equivalence_executable` | DimensionReport-typed | T-V-L4-L7-Direct | **DECLARED through R3** (scaffold authored PR #2184 with NotYetImplemented sentinel per Director (C-modified) ratification at #828). **AMENDED 2026-05-09 per Director (a)-disposition**: E3.c #1970 closed superseded-by-deferral; TC1 V1 strict-fire cannot reach PASSING absent #1972 substrate canvas-tier work, which is HELD-CANVAS-DEFERRED past R3 per Substrate Mgr Path-A confirmation 2026-05-08. Gate #11 stays DECLARED through R3 close; R3-close evidence routes through the Pattern A second-mover audit slice and is not load-bearing for R3-thesis honest-close arithmetic (97 enumerated - 1 canvas-deferred {#11} = 96 R3-load-bearing per §1.5). **PR #2603 (2026-05-10)** advances the executable scaffold but does not retire the canvas-deferral; status flip to PASSING requires fresh Director ratification post-#1972. | runtime prereq: G1.a static-rep OR G1.b generic + eta relation; #1972 canvas-tier substrate post-R3 | +| 11 | `tc1_eta_equivalence_executable` | DimensionReport-typed | T-V-L4-L7-Direct | **DECLARED through R3** (scaffold authored PR #2184 with NotYetImplemented sentinel per Director (C-modified) ratification at #828). **AMENDED 2026-05-09 per Director (a)-disposition**: E3.c #1970 closed superseded-by-deferral; TC1 V1 strict-fire cannot reach PASSING absent #1972 substrate canvas-tier work, which is HELD-CANVAS-DEFERRED past R3 per Substrate Mgr Path-A confirmation 2026-05-08. Gate #11 stays DECLARED through R3 close; R3-close evidence routes through the Pattern A second-mover audit slice and is not load-bearing for R3-thesis honest-close arithmetic (103 enumerated - 1 canvas-deferred {#11} = 102 R3-load-bearing per §1.5). **PR #2603 (2026-05-10)** advances the executable scaffold but does not retire the canvas-deferral; status flip to PASSING requires fresh Director ratification post-#1972. | runtime prereq: G1.a static-rep OR G1.b generic + eta relation; #1972 canvas-tier substrate post-R3 | | 12 | `tc2_church_rosser_executable` | DimensionReport-typed | T-V-L4-L7-Direct | **PASSING** (PR #2598 — TC2 Church-Rosser executable landed 2026-05-10; supersedes #2396 shape-only) | runtime prereq met via PR #2598 | | 13 | `tc3_pattern_a_second_mover_executable` | DimensionReport-typed | T-V-L4-L7-Direct | **CONSUMER_LANDED + PASSING** — bounded-runner second-mover proxy evaluates the embedded `succ(succ(0))` claim program under genuinely distinct applicative orders (`LeftFirst` baseline vs `RightFirst` compare projection) and Pass-asserts identical top-level `Value` via `tc3_pattern_a_second_mover_dimension_reports_equivalent_under_binary_equals` (`src/v3/compiler/src/test_runner.rs`; integration `tc3_strong_normalization_strict_fire_test.rs`). Single forward dissolution trigger: D4 eval-step / bounded-step producer + G1.a static-lens-fold producer-surface-wiring per `docs/briefs/r3-evaluator-tc3-d4-eval-step-producer-worker.md` — when those land, the runner arm migrates to live producer-emitted reports without changing fixture or claim name. | runtime prereq (substrate-side): Descent execution proof (E5; landed) + eval-step producer (forward-only dissolution trigger; not blocking gate close) | | 14 | `rust_dag_isomorphism_executable` | Dag-iso | T-V-L4-L7-Direct | **PASSING** (PR #2571 — fail-closed Rust DAG isomorphism gate landed 2026-05-10) | runtime prereq met via PR #2571 | @@ -321,11 +321,17 @@ This principle is NOT a separate lane; it's a per-lane gate-shape requirement ap | 95 | `opt_in_iteration_parallelism_via_lens_application_demonstrated` | demonstration | T-Lens-Application-Surface / **Cluster F (T-LP-Retirement)** | **R3-LOAD-BEARING (carve-promoted-IN-R3 2026-05-09)** per Director ratification at gunbc#846 #issuecomment-4412330468 (cascade-promotion with C1 #81). Worked-example demo via `apply_lens(parallelism, fn, Enforce)`. Cascade-gates on F-α completion (parallelism BEHAVIORALLY COMPLETE #81) + T-LAS Slice B substrate landing (#91 per-lens LensEnforcement projection per `docs/design-lens-application-surface.md` §4.4 / §7). Cluster F sub-phase F-γ.1. See `docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md` §1.4.1. Prior R4-CARVED (C1 cascade) status DISSOLVED. | | 96 | `value_body_substrate_mirror_isomorphism_executable` | substrate-shape | T-V-L4-L7-Direct (Verification cross-program with Substrate) | **CONSUMER_LANDED** (PR #2288 — Add ValueBody substrate mirror isomorphism gate; CI-visible integration check landed; refresh per cluster-analysis audit §1; NEW 2026-05-08 per Q-ValueBody-Isomorphism RATIFIED at gunbc#828 #issuecomment-4403972737 + Brian sanction at gunbc#846) | Rust `ValueBody` ↔ substrate `.dag` mirror isomorphism gate; canonical Pass-condition body at `r3-structure.md` §Acceptance T-Verification-L4-L7-Direct (per §1.8 authority convention `r3-program-plan.md:302`); brief at `docs/briefs/r3-v-valuebody-substrate-mirror-isomorphism-v1-worker.md`. | | 97 | `method_template_projection_emit_shim_retirement_coherence` | state-check | R2-Grounding-Rust ([Gunbc **#1982**](https://github.com/gunb-ai/gunbc/issues/1982)) | **CONSUMER_LANDED + PASSING** | Q-V2-Retirement-Boundary-Matrix (**G6**) — Gap-4 `pb_method_template_projection_dag_emit` + **`[[bin]]` `emit_method_template_projection`** in `src/v3/compiler/Cargo.toml` + `src/bin/emit_method_template_projection.rs` must exist **iff** **`src/v2/stage0/`** remains (`autobins = false` — manifest target is load-bearing). Consumer: **`method_template_projection_emit_shim_coherence_test.rs`** + SG-0 census path gate. Terminal retirement = v2 tree absent ⇒ lib + bin table + bin source absent; coherence holds continuously. | +| 98 | `ci_yml_hand_authority_dissolved` | state-check | T-Workflow-As-Data | DECLARED (NEW 2026-05-12 per PR #2744 §1 — T-WAD FULL R3 elevation per operator directive 2026-05-12 + Director ratification msg_5cbdad24 + msg_f9fd669e) | `.github/workflows/ci.yml` is no longer hand-authored CI logic — file is either (a) absent (some emission targets may not require a `.github/workflows/` artifact), (b) committed-emission-artifact byte-identical to `project_github_actions(ci_workflow_dag, target)` output with regression-guard test (YamlStatic), or (c) thin-shim entry-point invoking emitted binary/python (BinaryShim / PythonShim); in NO case is it hand-edited CI logic. Regression guard test prevents hand-authored re-introduction. Per briansrls BLOCKING #PR2744 inline review fix 2026-05-12: deleting hand-maintenance ≠ deleting executable artifact; P5 / Pure Bootstrap dissolves AUTHORITY, not file presence. | +| 99 | `workflow_runtime_open_enum_landed` | substrate-shape | T-Workflow-As-Data | DECLARED (NEW 2026-05-12 per PR #2744 §1) | `WorkflowRuntime` sum-type with 3 initial arms (`YamlStatic \| BinaryShim \| PythonShim \| ...`) declared in gunbc namespace as open enum; per (c-refined) shape ratified at PR #2749 §7 + Director msg_237bde05 / msg_f9fd669e. `InlineGunbc` is DESIGN-ONLY per PR #2746 §5.4 — NOT in initial enum; lands via separate substrate-prereq PR paired with a runtime consumer (per openai-pro BLOCKING fix 2026-05-12 on PR #2744). | +| 100 | `project_github_actions_landed` | substrate-shape | T-Workflow-As-Data | DECLARED (NEW 2026-05-12 per PR #2744 §1) | `project_github_actions: (CIWorkflowDag, WorkflowRuntime) -> Workflow` projection function declared in gunbc namespace; consumes `extdeps.github.actions.Workflow` as codomain type + `CIWorkflowDag` (PR #2736 carrier introduction) as input domain; per (c-refined) substrate-shape per PR #2749 §7. WI-2 implementation: in-flight via PR #2744 (brief lands with the scope-doc). | +| 101 | `test_cost_dimension_landed` | substrate-shape | T-Workflow-As-Data + Debt-Paydown (Cluster M sub-component) | DECLARED (NEW 2026-05-12 per PR #2744 §1) | `Cost` dimension declared on test nodes. **Distinct from existing compiler-internal cost gates** (#37 `cost_lens_reads_target_realization` / #39 `no_coercion_cost_dimension` / #40 `symbolic_cost_expr_equals_executable` / #70 `cost_lens_demonstration` / #80 `cost_lens_behaviorally_complete` are about `SymbolicCost` as the compiler's cost lens reading target programs); this gate is about `Cost`-as-`Dimension` applied to **test nodes** so the slow-test ratchet derives structurally from the dimension rather than from `scripts/slow-test-exemptions.txt` (state-check sibling #102). | +| 102 | `slow_test_exemptions_dissolved` | state-check | T-Workflow-As-Data + Debt-Paydown | DECLARED (NEW 2026-05-12 per PR #2744 §1) | `scripts/slow-test-exemptions.txt` deleted; slow-test ratchet derives from `Cost` dimension structurally (state-check sibling of `test_cost_dimension_landed` #101 per kernel-modeling discipline split — substrate-shape and state-check ratchet should be separate gates per `feedback_state_space_vs_behavioral_invariants` + Director kernel-modeling discipline msg_f9fd669e). | +| 103 | `ci_uses_affected_set_selection` | state-check | T-Workflow-As-Data + T-Verification | DECLARED (NEW 2026-05-12 per PR #2744 §1) | `BinaryShim` emitter consumes affected-set lens output from PR #2713 (merged); Layer 2 path-regex `if:` gates removed from any remaining workflow files (cross-tier co-owned with clever-tern-670 Slice 7 work). | **Plus standing-program ledger predicate** (NOT a lane gate; separate Pass surface per §1): - `r3_debt_paydown_zero_remaining` — no tracked-debt rows survive R3 close (per §1.5 inclusion list); ROADMAP `Post-merge debt` rows + sweep §1 Class A/B/C/F/G entries + §10 RED escalations. -**R3 close = ALL R3-load-bearing §1.8 lane gates GREEN (96 load-bearing post-carve-promotion 2026-05-09; only #11 canvas-deferred — §1.5) + `r3_debt_paydown_zero_remaining` GREEN** (per §1 Two distinct Pass surfaces). +**R3 close = ALL R3-load-bearing §1.8 lane gates GREEN (102 load-bearing post-carve-promotion 2026-05-09 + T-WAD FULL R3 elevation 2026-05-12; only #11 canvas-deferred — §1.5) + `r3_debt_paydown_zero_remaining` GREEN** (per §1 Two distinct Pass surfaces). **Authoritative source per gate**: `r3-structure.md` §"Acceptance" carries the Pass-condition body for each row above. This ledger is the consolidated index — body lives in canonical archive. @@ -614,7 +620,7 @@ Pattern A executable (4-family cluster — see §1.1): - Remaining families (RustDagIsomorphism / SymbolicCostExprEquals / BridgeLedgerZero / Free-Consequences) have separate unblock paths per §2.1 -R3 close = **R3-load-bearing §1.8 gates GREEN** (**96** load-bearing post-carve-promotion 2026-05-09; only #11 canvas-deferred — §1.5) + `r3_debt_paydown_zero_remaining` + comprehensive sweep zero-debt-rows-remaining (per §1 two-Pass-surfaces clarification; both must hold) +R3 close = **R3-load-bearing §1.8 gates GREEN** (**102** load-bearing post-carve-promotion 2026-05-09 + T-WAD FULL R3 elevation 2026-05-12; only #11 canvas-deferred — §1.5) + `r3_debt_paydown_zero_remaining` + comprehensive sweep zero-debt-rows-remaining (per §1 two-Pass-surfaces clarification; both must hold) ``` **Edges added in §6 graph per Director poke-hole 2026-05-06**: @@ -792,7 +798,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | # | Question | PM recommendation | Status | |---|---|---|---| -| Q1 | Closure-criteria predicate set (§1.1–§1.4) | Predicates per §1 tables; **97 closure gates total** across 18 lanes + 1 standing program; per-lane breakdown + history (Pattern-A executable family + 2026-05-06 codex BLOCKING fix lanes + 2026-05-08 ValueBody isomorphism Gate **#96** + 2026-05-08 emit-shim boundary coherence Gate **#97**) authoritative at §1.5 + §1.8 — Q1 row defers to those for sub-counts to preserve single-authority discipline | RATIFIED | +| Q1 | Closure-criteria predicate set (§1.1–§1.4) | Predicates per §1 tables; **103 closure gates total** across 18 lanes + 1 standing program (was 97; +6 T-WAD FULL R3 elevation 2026-05-12); per-lane breakdown + history (Pattern-A executable family + 2026-05-06 codex BLOCKING fix lanes + 2026-05-08 ValueBody isomorphism Gate **#96** + 2026-05-08 emit-shim boundary coherence Gate **#97** + 2026-05-12 T-WAD FULL R3 elevation Gates **#98**–**#103**) authoritative at §1.5 + §1.8 — Q1 row defers to those for sub-counts to preserve single-authority discipline | RATIFIED | | Q2 | 5 substrate-gap classes — separate lanes vs closure-criteria-over-existing-lanes | Closure-criteria framing (§1.4 + §4) | RATIFIED | | Q3 | v2 retirement Mgr ownership | PB Mgr owns all (existing T-V2-Retirement scope) | RATIFIED | | Q4 | Mgr structure (keep 9 vs reorganize) | Keep 9 standing Mgrs with re-anchored scope | RATIFIED | @@ -992,7 +998,7 @@ PB Mgr's substantive review on PR #1808 + canvas/refinements receipt at gunbc#84 #### §10.2.6 R3 Debt-Paydown Mgr (quiet-otter-416) — full canvas + plan-poke-hole absorbed at sha `e41e4fbe8` (2026-05-06) Substrate canvas + plan-poke-hole both folded in. Key absorptions: -- **§1 Two-Pass-surfaces clarification**: lane TestClaim gates (97 total) AND `r3_debt_paydown_zero_remaining` are distinct Pass surfaces; both must hold for R3 close +- **§1 Two-Pass-surfaces clarification**: lane TestClaim gates (103 total; 102 R3-load-bearing post-T-WAD-FULL-R3-elevation 2026-05-12) AND `r3_debt_paydown_zero_remaining` are distinct Pass surfaces; both must hold for R3 close - **§7 four-mechanism structure** (per `r3-structure.md` §"Standing program — R3 Debt-Paydown" canonical authority): added §7.6 Velocity tripwire + §7.7 Closure-receipt cadence + §7.8 SG-0 PR-window net-shrink discipline - **§3 T-Debt-Paydown row** updated from "(TBD from canvas)" → YELLOW with PR #1807 + PR #1566 + Tier-1 dispatch-brief-drift-sweep anchors diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 1dc431ff43f..7706aeb38b2 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -38,7 +38,7 @@ R3 has **18 lanes + 1 standing program** (revised 2026-04-28 per Director review 14. **T-Lens-Behavioral-Parity (NEW 2026-05-02)** — **R3 obligation (option (b) RATIFIED 2026-05-06 per [gunbc#828 #issuecomment-4385329180](https://github.com/gunb-ai/gunbc/issues/828#issuecomment-4385329180); AMENDED 2026-05-09 per Director carve-promotion-IN-R3 ratification at gunbc#846 #issuecomment-4412330468 + (a) at #issuecomment-4412380947 + operator framing "0 hand-Rust including tests AND stage0; bootstrap is data + self-generated"):** bring **all 4 lenses** (complexity + cost + parallelism + effect_enumeration) from PROXY/STUB/PARTIAL to BEHAVIORALLY COMPLETE per `docs/v3-lens-capability-register.md`. Prior option-(b) carve-narrowing of parallelism + effect_enumeration to R4 (C1/C2) is **DISSOLVED** — gates #81/#82/#95 are R3-load-bearing within Cluster F (T-LP-Retirement) per [`docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md`](audit/r3-cluster-f-sequencing-plan-2026-05-09.md). Lens consumers read per-call substrate facts (gated on T-E-P-Producer-Broadening). **R3 slice includes:** symbolic CostExpr full algebra (Sum/Mul/Log/Const); work/span dimension split; asymptotic classification; cementing test against frozen v2-oracle snapshot for all 4 lenses. **Closure gate (R3):** `lens_capability_register_zero_proxy_zero_stub` — register reports ZERO PROXY / ZERO STUB **for ALL 4 in-R3 lenses** at R3 close (prior C3 narrowed scope DISSOLVED). **Full gate IDs:** §"Acceptance" T-Lens-Behavioral-Parity — single authority (**INVARIANTS** §P2). Substrate + Verification cross-program; lane remains **L-XL** with all 4 lens slices in-R3 per carve-promotion. 15. **T-Tests-As-Data-Completeness (NEW 2026-05-02)** — close Category E test/verification surface gaps per user directive: every Rust test ports to `.dag` TestClaim or generated target-language test code (thesis facet 3); property-based testing surface (`ForAll` / `Exists` quantifiers + `ProgramGenerator` substrate carrier); cementing test discipline for `.dag` lenses. Verification Mgr; L sized. **Closure gates**: `every_rust_test_ports_to_dag_or_generated`, `forall_exists_quantifier_substrate_landed`, `program_generator_carrier_landed`. 16. **T-Lens-Application-Surface (NEW 2026-05-02; design doc landed 2026-05-02 [`docs/design-lens-application-surface.md`](design-lens-application-surface.md))** — first-class authoring surface for applying lenses to arbitrary `.dag` sections (function / module / expression / declaration scope). Per user reframe: lens application is a `.dag` declaration with configurable behavior — `apply_lens(lens, section, config)`. **Subsumes** prior T-Complexity-Contract-Compile-Error + T-User-Authored-Cost-Basis-Discipline as configurations of one mechanism. Substrate carriers (per design doc §2): **two separate top-level carriers** — `EnforcedApplication` (lens, enforcement, section, budget, severity, span) and `IntrospectApplication` (lens, section, span; no Budget axis). NOT a sum wrapping the two — v3 `.dag` substrate cannot currently express per-variant generic parameters; "SectionedLensApplication" is a collective noun for both carriers, not a sum-type declaration. Plus `SectionRef` (DeclarationScope/NodeScope disjoint sum) + `LensEnforcement` projection carrier (per-lens, e.g., complexity → AsymptoticClass projection) + `DiagnosticSeverity`. `CompileError | Warning | Silent` original user framing resolved to fail-closed-compatible binary per design doc §3 + INVARIANTS C-8. Demonstrations: complexity-contract-compile-error + CRDT cost basis + memory-peak cost basis + opt-in cross-iteration parallelism (**gate #95 — R3-load-bearing within Cluster F sub-phase F-γ.1 per carve-promotion-IN-R3 2026-05-09**; prior R4-carved C1 framing DISSOLVED). **Default policy for complexity contracts**: user-driven (per design doc §3.2 + §8.3 resolution at e9d67113e). Unannotated functions get synthesized `Introspect`-only applications — no implicit baseline, no inferred Enforce. Enforcement requires explicit user authoring of `apply_lens(complexity, fn, Enforce { ... })`. The original "opt-out" framing is reframed: the user can opt out (no Enforce or explicit Introspect), and compile errors fire when the user opts IN with a budget the function exceeds. `ComplexityBudgetWaiver` retains its purpose for accepting known violations of explicit user contracts (NOT an annotation per `feedback_no_annotations`). Substrate + Verification cross-program; L-XL sized. **Closure gates**: `lens_application_carrier_landed`, `section_ref_substrate_landed`, `lens_enforcement_carrier_landed` (per-lens `LensEnforcement` projection + violation-relation declarations co-located with each lens), `enforce_violation_routing_landed`, `complexity_violation_compile_error_demonstrated`, `crdt_cost_basis_demonstrated`, `memory_peak_cost_basis_demonstrated`, `opt_in_iteration_parallelism_via_lens_application_demonstrated` (**R3-load-bearing carve-promoted 2026-05-09; prior R4-carved C1 status DISSOLVED — see §"Acceptance" bullet**). **R3 cascade** for substrate **88–91** + demos **92–95**: relevant lens slice BEHAVIORALLY COMPLETE per Cluster F sequencing plan + register full-scope (prior C3 narrowed-scope DISSOLVED). **Full** design §7 four-lens cascade applies to **#95** on **R3** horizon post-carve-promotion (**INVARIANTS** §P2). -17. **T-Workflow-As-Data (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828))** — substrate work for modeling workflows as `.dag` data, including the **Shared External Attachment Pattern** (`WorkflowObservationAnchor` + observation/measurement carriers + report-not-scalar output distinguishing `Observed | Unobserved | Ambiguous | Stale`) per Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666). **First instance**: timing-lens substrate (`Lens` parallel to existing structural-static `Lens` instances; observation-driven lens-shape class). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately from timing as reusable external-data attachment primitive; serves coverage / logs / failures / artifacts beyond just timing) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended as demonstration target). **Bidirectional case** (CI YAML emission + ingestion): coordinates with `gunb-ai/gunbc#1586` thread anchor 7 (workflow-timing as bidirectional architecture concern). Substrate Mgr ownership; M-L sized; absorbs into Substrate Mgr continuation per `r3-structure.md:187` standing protocol. **Closure gates**: `workflow_substrate_carriers_landed`, `timing_lens_carrier_landed` (per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`), `ci_workflow_modeled_as_dag`, `shared_external_attachment_pattern_documented`. Depends on T-Lens-Behavioral-Parity COMPLETE (for lens consumption); R2-Evaluator (for runtime). +17. **T-Workflow-As-Data (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); FULL R3-close elevation 2026-05-12 per operator directive ratified by Director msg_5cbdad24)** — substrate work for modeling workflows as `.dag` data, including the **Shared External Attachment Pattern** (`WorkflowObservationAnchor` + observation/measurement carriers + report-not-scalar output distinguishing `Observed | Unobserved | Ambiguous | Stale`) per Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666). **First instance**: timing-lens substrate (`Lens` parallel to existing structural-static `Lens` instances; observation-driven lens-shape class). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately from timing as reusable external-data attachment primitive; serves coverage / logs / failures / artifacts beyond just timing) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended as demonstration target). **FULL R3-close elevation 2026-05-12** extends scope to: ALL CI workflow authored as `.dag` (not just demo); hand-authored `.github/workflows/ci.yml` AUTHORITY DISSOLVED (emission artifact or thin-shim, NOT hand-edited; per `feedback_dissolution_authority_not_file_presence`); WorkflowRuntime projection-function shape (`project_github_actions: (CIWorkflowDag, WorkflowRuntime) → Workflow` in gunbc namespace per (c-refined) substrate-shape ratification); affected-set lens integration via BinaryShim; Cost dimension on test nodes + `slow-test-exemptions.txt` dissolution. **Bidirectional case** (CI YAML emission + ingestion): coordinates with `gunb-ai/gunbc#1586` thread anchor 7 (workflow-timing as bidirectional architecture concern). Substrate Mgr ownership (Slices 4-5/8); Verification Mgr (Slice 7 affected-set integration); Debt-Paydown Mgr (Slice 6 sub-component); M-L sized; absorbs into Substrate Mgr continuation per `r3-structure.md:187` standing protocol. **Closure gates**: see §"Acceptance" T-Workflow-As-Data for the canonical gate list (single authority per INVARIANTS P2 — pre-FULL gates `workflow_substrate_carriers_landed` / `timing_lens_carrier_landed` / `ci_workflow_modeled_as_dag` / `shared_external_attachment_pattern_documented` PLUS 6 NEW post-FULL-elevation gates #98–#103 `ci_yml_hand_authority_dissolved` / `workflow_runtime_open_enum_landed` / `project_github_actions_landed` / `test_cost_dimension_landed` / `slow_test_exemptions_dissolved` / `ci_uses_affected_set_selection`). Depends on T-Lens-Behavioral-Parity COMPLETE (for lens consumption); R2-Evaluator (for runtime). 18. **T-Lens-Self-Application (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828))** — demonstration work: gunbc applies its own lenses (cost / complexity / parallelism / timing) to gunbc's own build/CI workflow. Operationalizes the **recursive-flex thesis claim**: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Concrete first instance: timing-lens applied to CI workflow producing `DimensionReport`; either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target as informational SLO; **not a closure gate** (per Director ratification — performance metric, not structural commitment). Verification Mgr ownership; M-L sized. **Closure gates**: `lens_self_application_demonstrated` (gunbc lenses applied to gunbc's own build/CI workflow producing `DimensionReport`), `apply_lens_self_application_demonstrated` (`apply_lens(timing, ci_workflow, Enforce { budget })` enforced via existing T-Lens-Application-Surface carrier), `recursive_flex_demonstration_landed` (narrative-load-bearing claim cashes — "gunbc validates the workflows that produce gunbc"). Depends on T-Workflow-As-Data; T-Lens-Application-Surface; T-Lens-Behavioral-Parity COMPLETE; R2-Evaluator. ### NEW STANDING PROGRAM (added 2026-05-02) @@ -169,6 +169,12 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `timing_lens_carrier_landed` — `Lens` carrier authored per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`; `TimingMeasurement` + `TimingObservationSet` + `TimingBudget` carriers live; `Output` is projection/report distinguishing `Observed | Unobserved | Ambiguous | Stale` (fail-closed enforcement on non-observed states per `feedback_fail_closed_discipline`; `Unobserved` is the missing-evidence arm — not the bare label `Missing`, to avoid witness/bootstrap collisions) - `shared_external_attachment_pattern_documented` — **CONSUMER_LANDED** (ledger: `docs/r3-program-plan.md` §1.8 row 55): `WorkflowObservationAnchor` factored separately from timing as reusable external-data attachment primitive (serves coverage / logs / failures / artifacts beyond timing); pattern documented in [`docs/design-timing-lens.md`](design-timing-lens.md) §2 with six invariants (stable subject identity not span; observed-artifact identity/digest; producer/observer/prover identity; attachment timestamp + run id; `Observed` vs missing-evidence / ambiguous / stale report states; fail-closed enforcement on non-observed/non-valid states); promotion to generic `ExternalDataAnchor` carrier deferred to second concrete consumer per Substrate Mgr design stance (`ProofReceipt` likely; per `gunb-ai/ctrl#369` reshaped scope) - `ci_workflow_modeled_as_dag` — at least one workflow modeled as `.dag` data (CI workflow recommended as demonstration target per Director scope); workflow-as-data thesis instantiated; `gunb-ai/gunb.ai` repo's existing CI infrastructure (substantial bazel-ci.yml at ~84KB) surveyed for portable patterns during carrier authoring (worker-level survey, not gating substrate-shape decision) + - `ci_yml_hand_authority_dissolved` — (NEW 2026-05-12 per T-WAD FULL R3 elevation; operator directive + Director ratification msg_5cbdad24 + msg_f9fd669e + (b) ledger-sync disposition msg_2a68a4b5; in-flight scope authority at PR #2744 §1) `.github/workflows/ci.yml` is no longer hand-authored CI logic — file is either (a) absent, (b) committed-emission-artifact byte-identical to `project_github_actions(ci_workflow_dag, target)` output with regression-guard test, or (c) thin-shim entry-point invoking emitted binary/python; in NO case hand-edited. Per briansrls BLOCKING #PR2744 inline review fix 2026-05-12: deleting hand-maintenance ≠ deleting executable artifact; P5 / Pure Bootstrap dissolves AUTHORITY, not file presence + - `workflow_runtime_open_enum_landed` — (NEW 2026-05-12) `WorkflowRuntime` sum-type with 3 initial arms (`YamlStatic | BinaryShim | PythonShim | ...`) declared in gunbc namespace as open enum; per (c-refined) shape ratified at PR #2749 §7 + Director msg_237bde05 / msg_f9fd669e. `InlineGunbc` is DESIGN-ONLY per PR #2746 §5.4 — NOT in initial enum; lands via separate substrate-prereq PR paired with a runtime consumer (per openai-pro BLOCKING fix 2026-05-12 on PR #2744) + - `project_github_actions_landed` — (NEW 2026-05-12) `project_github_actions: (CIWorkflowDag, WorkflowRuntime) -> Workflow` projection function declared in gunbc namespace; consumes `extdeps.github.actions.Workflow` as codomain type + `CIWorkflowDag` (PR #2736 carrier introduction) as input domain; per (c-refined) substrate-shape per PR #2749 §7; WI-2 lands DECLARATION + signature only (per-arm bodies are Slice 4-5 work owned by Substrate Mgr) + - `test_cost_dimension_landed` — (NEW 2026-05-12; cross-lane co-owned with Debt-Paydown Cluster M sub-component) `Cost` dimension declared on test nodes. **Distinct from existing compiler-internal cost gates** (#37 / #39 / #40 / #70 / #80 are about `SymbolicCost` as the compiler's cost lens reading target programs); this gate is about `Cost`-as-`Dimension` applied to **test nodes** so the slow-test ratchet derives structurally rather than from `scripts/slow-test-exemptions.txt` (state-check sibling below) + - `slow_test_exemptions_dissolved` — (NEW 2026-05-12; cross-lane co-owned with Debt-Paydown) `scripts/slow-test-exemptions.txt` deleted; slow-test ratchet derives from `Cost` dimension structurally (state-check sibling of `test_cost_dimension_landed` per kernel-modeling discipline split — substrate-shape and state-check ratchet should be separate gates per `feedback_state_space_vs_behavioral_invariants` + Director kernel-modeling discipline msg_f9fd669e) + - `ci_uses_affected_set_selection` — (NEW 2026-05-12; cross-lane co-owned with T-Verification) `BinaryShim` emitter consumes affected-set lens output from PR #2713 (merged); Layer 2 path-regex `if:` gates removed from any remaining workflow files (cross-tier co-owned with clever-tern-670 Slice 7 work) - **T-Lens-Self-Application** (NEW 2026-05-04; demonstrates recursive-flex thesis claim). - `lens_self_application_demonstrated` — gunbc lenses (cost / complexity / parallelism / timing) applied to gunbc's own build/CI workflow (modeled as `.dag` data per T-Workflow-As-Data); produces `DimensionReport` for each lens; demonstrates that the same lens framework users get also validates the workflow that produces gunbc itself - `apply_lens_self_application_demonstrated` — `apply_lens(timing, ci_workflow, Enforce { budget: max_ns })` enforced via existing `EnforcedApplication` carrier (per T-Lens-Application-Surface §2 + §3.2); fail-closed when observation reports `Unobserved | Ambiguous | Stale` per timing-lens design; demonstrates that user-authored apply_lens substrate generalizes to project-self-validation use case @@ -213,7 +219,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- | **T-Lens-Behavioral-Parity** (NEW 2026-05-02) | L-XL | **Substrate Manager + Verification Manager (cross-program)** | **R3 lane scope (option (b) RATIFIED 2026-05-06; AMENDED 2026-05-09 carve-promotion-IN-R3 per Director ratification at gunbc#846 #issuecomment-4412330468 + (a) at #issuecomment-4412380947):** **all 4 lenses** (complexity + cost + parallelism + effect_enumeration) to BEHAVIORALLY COMPLETE per `docs/v3-lens-capability-register.md`. Prior option-(b) R4-carving of parallelism + effect_enum DISSOLVED — #81/#82/#95 R3-load-bearing within Cluster F (T-LP-Retirement) per [`docs/audit/r3-cluster-f-sequencing-plan-2026-05-09.md`](audit/r3-cluster-f-sequencing-plan-2026-05-09.md). **R3 sub-slices:** (1) **complexity** + (2) **cost** — original sub-slices per option (b) baseline. (3) **parallelism** — Stage 2e walker port from `workflow_parallelism.rs` to `.dag` (Cluster F sub-phase F-α; substrate-ready). (4) **effect_enumeration** — atomic migration over existing `services.dag::Operation` carrier per locked design `docs/design-effect-enumeration-resource-threading.md` §3.2 + §6.2 (Cluster F sub-phases F-β.1 + F-β.2). **Gate IDs:** §"Acceptance" T-Lens-Behavioral-Parity — `complexity_lens_behaviorally_complete`, `cost_lens_behaviorally_complete`, `parallelism_lens_behaviorally_complete`, `effect_enumeration_lens_behaviorally_complete`, `lens_capability_register_zero_proxy_zero_stub` (full scope — fires for ALL 4 lenses; prior C3 narrowed-scope DISSOLVED). | T-E-P-Producer-Broadening (foundational); R2-Evaluator (lens runtime execution); R2-T-Substrate-Lens-Primitive (Lens shape) | | **T-Tests-As-Data-Completeness** (NEW 2026-05-02) | L | **Verification Manager** | Close Category E test/verification surface gaps per user directive: (1) every Rust test ports to `.dag` TestClaim or generated target-language test code (thesis facet 3 — *"tests are data"* — full coverage); (2) property-based testing surface (`ForAll` / `Exists` quantifiers + `ProgramGenerator` substrate carrier; substrate-introduction); (3) cementing test discipline for `.dag` lenses (per-lens v2 oracle equivalence on same source). **Gates:** `every_rust_test_ports_to_dag_or_generated`, `forall_exists_quantifier_substrate_landed`, `program_generator_carrier_landed`, `lens_cementing_test_discipline_complete`. | R2-Evaluator (test execution runtime); existing TestClaim infrastructure (DB-15 R2) | | **T-Lens-Application-Surface** (NEW 2026-05-02; design doc landed 2026-05-02 [`docs/design-lens-application-surface.md`](design-lens-application-surface.md)) | L-XL | **Substrate Manager + Verification Manager (cross-program)** | First-class authoring surface for applying lenses to arbitrary `.dag` sections (function / module / expression / declaration scope). Per user reframe 2026-05-02: lens application is a `.dag` declaration with configurable behavior — `apply_lens(lens, section, config)`. **Subsumes** prior T-Complexity-Contract-Compile-Error + T-User-Authored-Cost-Basis-Discipline as configurations of one mechanism. **Substrate carriers** (per design doc §2): **two separate top-level carriers** — `EnforcedApplication` and `IntrospectApplication`. NOT a sum wrapping the two — v3 `.dag` substrate cannot currently express per-variant generic parameters; "SectionedLensApplication" is a collective noun for both carriers. Plus `SectionRef` (DeclarationScope/NodeScope disjoint sum) + `LensEnforcement` projection carrier + `DiagnosticSeverity`. `CompileError | Warning | Silent` original user framing resolved to fail-closed-compatible binary per design doc §3 + INVARIANTS C-8. **Default policy for complexity contracts**: user-driven (per design doc §3.2 + §8.3 resolution at e9d67113e). Unannotated functions get synthesized `Introspect`-only applications — no implicit baseline, no inferred Enforce. Enforcement requires explicit user authoring of `apply_lens(complexity, fn, Enforce { ... })`. The original "opt-out" framing is reframed: the user can opt out (no Enforce or explicit Introspect), and compile errors fire when the user opts IN with a budget the function exceeds. `ComplexityBudgetWaiver` retains its purpose for accepting known violations of explicit user contracts (NOT an annotation per `feedback_no_annotations`). Demonstrations: complexity-contract-compile-error + CRDT cost basis + memory-peak cost basis + opt-in cross-iteration parallelism (4 worked examples; orthogonal axes per Director ratification; design doc §4). **Gates:** `lens_application_carrier_landed`, `section_ref_substrate_landed`, `lens_enforcement_carrier_landed` (per-lens `LensEnforcement` projection + violation-relation declarations), `enforce_violation_routing_landed`, `complexity_violation_compile_error_demonstrated`, `crdt_cost_basis_demonstrated`, `memory_peak_cost_basis_demonstrated`, `opt_in_iteration_parallelism_via_lens_application_demonstrated`. **Design doc §8 resolves all 5 originally-open questions** (module-scope semantics / multiple-applications / default-budget-inference / waiver lifecycle / cross-section composition); no Director ratification required before substrate authoring — **R3** cascade per `design-lens-application-surface.md` §7 reconciliation: **complexity+cost** T-LBP COMPLETE + register **C3** before substrate **88–91** + demos **92–94**; **gate #95** is **R4 (C1)** with `parallelism_lens_behaviorally_complete`. | **R3:** T-Lens-Behavioral-Parity (**complexity+cost** + **C3**); **R4:** parallelism parity before **#95**; R2-Evaluator | -| **T-Workflow-As-Data** (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666)) | M-L | **Substrate Manager (post-R2 continuation)** | Substrate work for modeling workflows as `.dag` data; introduces observation-driven lens-shape class (parallel to existing structural-static `Lens` instances). **First instance**: timing-lens substrate (`Lens`). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately as reusable external-data attachment primitive — Shared External Attachment Pattern with six invariants per Substrate Mgr design stance) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended). **Bidirectional case** coordinates with `gunb-ai/gunbc#1586` thread anchor 7 (workflow-timing as bidirectional architecture concern). **Gates:** `workflow_substrate_carriers_landed`, `timing_lens_carrier_landed` (per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`), `shared_external_attachment_pattern_documented`, `ci_workflow_modeled_as_dag`. Substrate Mgr's design-doc-first cadence per `r3-structure.md:187` substrate-completion protocol — design receipt lands first, carrier authoring follows sign-off. | T-Lens-Behavioral-Parity COMPLETE (timing-lens uses lens framework with parity-COMPLETE consumers); R2-Evaluator | +| **T-Workflow-As-Data** (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666); **FULL R3-close elevation 2026-05-12** per operator directive ratified by Director msg_5cbdad24) | M-L | **Substrate Manager (post-R2 continuation; Slices 4-5/8) + Verification Manager (Slice 7 affected-set) + Debt-Paydown Manager (Slice 6 sub-component)** | Substrate work for modeling workflows as `.dag` data; introduces observation-driven lens-shape class (parallel to existing structural-static `Lens` instances). **First instance**: timing-lens substrate (`Lens`). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately as reusable external-data attachment primitive — Shared External Attachment Pattern with six invariants per Substrate Mgr design stance) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended). **FULL R3-close 2026-05-12 elevation** extends scope to ALL CI workflow authored as `.dag`; hand-authored `ci.yml` AUTHORITY DISSOLVED (not file-deletion — per `feedback_dissolution_authority_not_file_presence`); WorkflowRuntime projection-function shape in gunbc namespace per (c-refined) substrate-shape ratification; affected-set lens integration; Cost dimension on test nodes + slow-test-exemptions dissolution. **Bidirectional case** coordinates with `gunb-ai/gunbc#1586` thread anchor 7. **Gates:** see §"Acceptance" T-Workflow-As-Data for the canonical gate list (single authority per INVARIANTS P2; pre-FULL gates plus 6 NEW post-FULL-elevation gates #98–#103). Substrate Mgr's design-doc-first cadence per `r3-structure.md:187` substrate-completion protocol — design receipt lands first, carrier authoring follows sign-off. | T-Lens-Behavioral-Parity COMPLETE (timing-lens uses lens framework with parity-COMPLETE consumers); R2-Evaluator | | **T-Lens-Self-Application** (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828)) | M-L | **Verification Manager** | Demonstration work: gunbc applies its own lenses (cost / complexity / parallelism / timing) to gunbc's own build/CI workflow. Operationalizes recursive-flex thesis claim: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Concrete first instance: timing-lens applied to CI workflow producing `DimensionReport`; `apply_lens(timing, ci_workflow, Enforce { budget: max_ns })` enforced via existing `EnforcedApplication` carrier. <1 min CI target as informational SLO; **NOT a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment). **Gates:** `lens_self_application_demonstrated`, `apply_lens_self_application_demonstrated`, `recursive_flex_demonstration_landed`. | T-Workflow-As-Data; T-Lens-Application-Surface; T-Lens-Behavioral-Parity COMPLETE; R2-Evaluator | Critical path: **T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → T-Lens-Application-Surface → (T-Workflow-As-Data + T-Lens-Self-Application)** is the R3 critical-path chain (extended 2026-05-04 with recursive-flex commit). T-Verification-L4-L7-Direct → T-Verification-L5-Corpus remains the longest verification path. Other lanes parallel-dispatch after R2-Evaluator closes.