From 282083da54e99cb99b0b4be3d8a20c81a9b5357a Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:24:25 +0000 Subject: [PATCH 01/36] =?UTF-8?q?docs(r3):=20comprehensive=20R3=20program?= =?UTF-8?q?=20plan=20=E2=80=94=20clear=20path=20from=20now=20to=20R3=20zer?= =?UTF-8?q?o-debt=20close?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Forward-looking PM-tier coordination doc per Brian directive at gunbc#846: "clear dependency graph from here until completion" + "all escalations surfaced now and solved" + zero-debt R3 close criterion. Authority hierarchy: - docs/r3-structure.md (existing) — architectural-decision archive; lane definitions, manager structure, design-challenges resolution - docs/audit/r3-debt-sweep-2026-05-06.md (PR #1804) — bridge inventory snapshot - THIS DOC — forward-looking dependency-graph + escalation register Section structure (11 sections): - §1 closure criteria — precise predicates per Brian directive (Pattern A executable / v2 retired / BridgeLedgerZero / 5 substrate-gap classes / demonstration principle) - §2 per-predicate close path - §3 lane status snapshot (18 lanes + 1 standing) - §4 5 substrate-gap classes — definition + closure criterion + owner Mgr - §5 bridge inventory snapshot (PR #1804 source-of-truth) - §6 dependency DAG — current → close - §7 PR-authoring contract (debt-receipt + ratchet-only-down + anticipation) - §8 cross-Mgr coordination + escalation paths - §9 cadence + milestone schedule (target R3 close 2026-08-01 ± 2 weeks) - §10 escalation register — Q1-Q7 + per-Mgr canvas escalations + 9 secondary Q-prefix items - §11 plan supersession Brian-ratifications baked in (2026-05-06): - Q1-Q7 + 9 Q-prefix items per §10.1, §10.3 (PM recommendations applied as defaults per "I'll take recommendations unless controversial") - §1.6 demonstration principle: every feature comes with a demonstration (generalizes Q5; ~9 new demonstration gates needed across substrate-heavy / state-check-only lanes) Mgr canvas absorption (2 of 6 compiled at draft time): - Verification (cool-owl-579): 2 escalations folded into §10.2.1 - Grounding (bold-ferret-748): 10 escalations folded into §10.2.2 - Substrate / Evaluator / PB / Debt-Paydown: pending (will fold via PR comments) Discipline integration: - Section/symbol anchors throughout per feedback_section_anchors_over_line_numbers - Grep-verified counts (66 .rs files / 46+89+1=136 SG-0 paths) per feedback_corrections_must_grep_verify_source - Closure-criteria predicates state Pass conditions per INVARIANTS P2 Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 564 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 564 insertions(+) create mode 100644 docs/r3-program-plan.md diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md new file mode 100644 index 00000000000..0a6c1bbfd6b --- /dev/null +++ b/docs/r3-program-plan.md @@ -0,0 +1,564 @@ +# R3 Program Plan — 2026-05-06 + +**Status:** **DRAFT — under PM authorship + Mgr-canvas absorption.** Phase 1 (skeleton + closure criteria + lane status) authored; Phase 2 (per-Mgr escalation absorption) compiles canvas responses as they arrive on inboxes #1739–#1745. Phase 3 (Director ratification) closes Q1–Q7 in §10. Plan PR opens after §10 escalations clear. + +**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"*. + +**Authority hierarchy.** +- [`docs/r3-structure.md`](r3-structure.md) — **architectural-decision archive**. Lane definitions, manager structure, design-challenges resolution, dependency-on-R2 spec. Authoritative for *what R3 is*. +- [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) — **bridge inventory snapshot** (PR #1804 lane). Authoritative for *what bridges exist now*. +- **THIS DOC** — **forward-looking dependency-graph + escalation register**. Authoritative for *path from here to R3 close + open ratifications*. + +Cross-link discipline: this plan never restates lane definitions from `r3-structure.md`; cites them by section/symbol per `feedback_section_anchors_over_line_numbers`. + +--- + +## §1. R3 closure criteria — precise predicates + +**Brian-ratified language (gunbc#846, 2026-05-05):** *"all 5 substrate-gap classes closed + v2 fully retired + Pattern A NYI predicates executable + BridgeLedgerZero ratcheting at zero."* + +PM-recommended TestClaim predicate set (**ratification pending Q1, §10**): + +### §1.1 Pattern A NYI predicates executable (7 predicates) + +Each predicate has a passing TestClaim against representative input, producing a real `DimensionReport` (not `NotYetImplemented` shell). + +| Predicate | TestClaim gate | Owner Lane | +|---|---|---| +| BridgeLedgerZero | `bridge_retirement_ledger_zero` | T-Bridge-Retirement (existing — `r3-structure.md` §"Acceptance" line 115) | +| RustDagIsomorphism | `rust_dag_isomorphism_executable` | T-V-L4-L7-Direct (cross-target consistency) | +| SymbolicCostExprEquals | `symbolic_cost_expr_equals_executable` | T-CostLens-Composition | +| TC1 (η-equivalence) | `tc1_eta_equivalence_executable` | T-V-L4-L7-Direct | +| TC2 (Church-Rosser) | `tc2_church_rosser_executable` | T-V-L4-L7-Direct | +| TC3 (Pattern-A second-mover) | `tc3_pattern_a_second_mover_executable` | T-V-L4-L7-Direct | +| Free-Consequences-Demonstration | (composite of 10 gates, `r3-structure.md` §"Acceptance" line 119–129) | T-Free-Consequences-Demonstration | + +Existing fixtures in `r3-v-pattern-a-coverage-rollup.md` + `r3-v-pattern-a-second-mover-conformance-audit.md` series document predicate scaffolds. **Open** (Verification Mgr canvas escalation #1, §10): which executable slice fires first. + +### §1.2 v2 fully retired (2 predicates — already declared) + +Existing gates (`r3-structure.md` §"Acceptance" lines 117–118): +- `v2_oracle_no_remaining_test_consumers` +- `v2_directory_deleted` + +Owner: PB Mgr (T-V2-Retirement lane). No new predicates needed. + +### §1.3 BridgeLedgerZero ratcheting at zero (1 predicate — already declared) + +Existing gate (`r3-structure.md` §"Acceptance" line 115): +- `bridge_retirement_ledger_zero` — unified ledger reports 0 named identity bridges remaining. + +Owner: Verification Mgr (ledger gate); retirement work distributed per `r3-structure.md` line 152 distribution map (2 Substrate-owned + 3 PB-owned). + +### §1.4 5 substrate-gap classes closed (5 predicates — NEW; Brian-ratified scope) + +Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, function-valued data, file-ingestion, workflow/scheduling, reflection-closure."* + +**PM-recommended framing (Q2, §10): these are CLOSURE CRITERIA over existing lane work, NOT new separate lanes.** Each class closes when at least one representative gap-test executes through v3 cleanly — exercising the substrate carrier whose absence currently bridges to v2 / hand-Rust. Adds 5 TestClaims to the ledger; lane work distributes across existing 18 lanes. + +| Class | TestClaim gate | Representative gap-test | Lane(s) producing closure | +|---|---|---|---| +| 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 parser handles `Int` refinement syntax (`dsl/std/types.dag` Slice 2 alignment per Substrate Mgr design stance) and lowers through stage0 emission without v2-fallback; gate Pass = `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` evaluates Int-bearing program → 0 diagnostics + emitted artifact compiles | T-V2-Retirement (parser path) + T-Numeric-Construction (Int refinement) + Substrate continuation | +| 2 — function-valued data | `substrate_gap_function_valued_data_closed` | `Lens` instance with function-typed payload executes through evaluator | T-Lens-Application-Surface + T-E-P-Producer-Broadening | +| 3 — file-ingestion | `substrate_gap_file_ingestion_closed` | One `.dag` program ingests external file (e.g., timing observation set) without `include_str!` | T-Workflow-As-Data | +| 4 — workflow/scheduling | `substrate_gap_workflow_scheduling_closed` | CI workflow modeled as `.dag` data executes through evaluator | T-Workflow-As-Data + T-Lens-Self-Application | +| 5 — reflection-closure | `substrate_gap_reflection_closure_closed` | `lens_apply.rs` reflection work routes via PB-Runtime interpreter-as-data | T-LensProducer-Retirement | + +**Open** (Q2, §10): all gap-test selections per-class ratified by default per Brian directive 2026-05-06 (*"take recommendations unless controversial"*). + +### §1.5 Closure-ledger total + +**Total R3 closure gates** (post-Q1 + Q2 ratification): existing 60+ gates from `r3-structure.md` §"Acceptance" + 5 new substrate-gap-class gates + per-lane demonstration gates (§1.6) = **~70 gates** across 18 lanes + 1 standing program. + +R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). + +### §1.6 Demonstration principle (Brian-ratified 2026-05-06) + +**Every feature comes with a demonstration.** Generalizes Q5 (free-consequences demonstration) to a structural requirement: every R3 lane MUST include at least one demonstration-shaped TestClaim — a runtime-executable claim that exercises the lane's deliverable end-to-end, not just static-fact assertions about substrate shape. + +**Demonstration discipline:** +- Static-fact gate (e.g., `X declared in std/`) is necessary but not sufficient. +- Demonstration gate runs the feature on a representative input and produces an observable result. +- "Look, it runs" minimal artifact per `r3-structure.md` §"R3 demo discipline" line 487. +- Closure ledger reports demonstration-gate status separately from substrate-shape gates. + +**Per-lane demonstration audit** (PM-recommended; ratification pending): + +| Lane | Existing demo gate | Needed demo gate (if missing) | +|---|---|---| +| T-Tier3-Dissolution | `tier3_*_mirror_dissolved` (state-check) | + `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer .dag program runs end-to-end via Evaluator | +| T-LensProducer-Retirement | retirement gates (state-check) | + `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program | +| T-V-L4-L7-Direct | `l4_emit_eval_match`, `l7_algebraic_laws_witnessed` ✓ | (existing) | +| T-V-L5-Corpus | `l5_cross_target_consistency` ✓ | (existing) | +| T-FixedPoint | `pb_self_compile_fixed_point` ✓ | (existing) | +| T-Numeric-Construction | substrate-shape gates only | + `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes | +| T-Omni-Shape-B | `omni_openapi_backend_emission_demo` ✓ | (existing — multiple demos) | +| T-Anthropic-Wire | wire alignment gates | + `anthropic_wire_demonstration` — full request/response cycle executes against Anthropic API or mock | +| T-Bridge-Retirement | `bridge_retirement_ledger_zero` (count-check) | + `bridge_retirement_demonstration` — at least one retired-bridge replacement path executes (e.g., typed-identity-surface used in production code) | +| T-CostLens-Composition | structural-fold gates | + `cost_lens_demonstration` — cost lens reads representative target program and composes algebra+realization cost end-to-end | +| T-V2-Retirement | deletion gates (state-check) | + `v2_retirement_demonstration` — bootstrap path through PB-Runtime trampoline executes (deletion's inverse: the v3-only path runs) | +| T-Free-Consequences-Demonstration | 10 demo gates ✓ | (existing — full demo suite) | +| T-E-P-Producer-Broadening | substrate-shape gates | + `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime | +| T-Lens-Behavioral-Parity | parity-complete gates | + `lens_behavioral_parity_demonstration` — each lens (complexity/cost/parallelism/effect_enumeration) demonstrates on representative input + matches v2 oracle | +| T-Tests-As-Data-Completeness | substrate-shape gates | + `tests_as_data_demonstration` — at least one Rust test ports to .dag TestClaim and executes | +| T-Lens-Application-Surface | 4 worked-example demos ✓ | (existing) | +| T-Workflow-As-Data | `ci_workflow_modeled_as_dag` ✓ | (existing) | +| T-Lens-Self-Application | `lens_self_application_demonstrated` ✓ | (existing) | + +**Net additions**: ~9 new demonstration gates across substrate-heavy / state-check-only lanes. Owner Mgrs author per their lane scope. + +This principle is NOT a separate lane; it's a per-lane gate-shape requirement applied uniformly. Closes when each lane has at least one runtime-executable demonstration gate green. + +--- + +## §2. Per-predicate close path + +For each predicate not yet GREEN, what's blocking + sequence to close. + +### §2.1 Pattern A executable (7 predicates) + +**Critical-path blocker**: at least one `BinaryDimensionReportEquals` path must compare real `DimensionReport` outputs (not `NotYetImplemented` shells) before any of the 7 can ratchet to executable. Per Verification Mgr canvas escalation #1 (cool-owl-579, 00:07:13Z). + +**Sequence**: +1. **Director / Brian ratify first executable slice** (Q-Pattern-A-First-Slice, §10) — TC1 η-equivalence vs RustDagIsomorphism vs other. +2. R3 Evaluator Mgr surfaces runtime prerequisites for chosen slice (`Pattern A` runtime executable). +3. Substrate Mgr authors any missing carrier (likely none if first slice is TC1). +4. Verification worker dispatches gap-test → first predicate ratchets to executable. +5. Remaining 6 predicates parallel-fire once first path proves the shape. + +**ETA**: 1-2 weeks post-ratification; cascade of remaining 6 within 2-4 weeks. + +### §2.2 v2 retirement (2 predicates) + +**Blockers** (per Grounding Mgr canvas, bold-ferret-748, item #2): PR-F (`BoundDeclaration` consumer + Rust `ReferenceModel` axes) blocks T-Ground-Rust; T-NumericConstruction-ApproximateField blocks Rust float rows. + +**Sequence** (from `r3-structure.md` §"Lane structure" T-V2-Retirement row, line 154): +1. T-FixedPoint completes (PB Mgr) — `compiler.dag` self-compile fixed-point +2. T-LensProducer-Retirement completes (PB Mgr) — 3 hand-Rust files retired +3. PR-F lands (T-Ground-Rust unblocks) +4. Float carrier migration (T-NumericConstruction-ApproximateField) +5. v2 directory deletion + test-consumer audit (T-V2-Retirement) + +**ETA**: 4-8 weeks; longest-path lane in R3. + +### §2.3 BridgeLedgerZero (1 predicate) + +**Sub-bridges** (`r3-structure.md` line 152 distribution map): +- **Substrate-owned (2)**: `SourceSpan.file` participation checks; `mark_bootstrap_secret_nominal_opacity()` +- **PB-owned (3)**: canonical lens-name dispatch; `include_str!` side channels (e.g., `pipeline_authority.rs`); `patch_lower_helpers_*` residual + +Each retires per its natural-owner program prerequisites. Verification Mgr's `bridge_retirement_ledger_zero` gate audits cross-program reporting cadence. + +**Sequence**: +1. Substrate: typed-identity-surface for SourceSpan participation; Secret PR A continuation. +2. PB: canonical lens-name dispatch retires alongside T-LensProducer-Retirement; `include_str!` retires post-T-FixedPoint; `patch_lower_helpers_*` post-Tier-2. +3. Verification audits cumulative ledger; closes when count = 0. + +**ETA**: 6-10 weeks (gated on T-FixedPoint + T-LensProducer). + +### §2.4 5 substrate-gap classes (5 predicates) + +**Class 1 (parser/grammar)**: closes with T-V2-Retirement parser path (post-T-FixedPoint). +**Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). +**Class 3 (file-ingestion)**: closes with T-Workflow-As-Data file-ingestion grammar. +**Class 4 (workflow/scheduling)**: closes with T-Workflow-As-Data CI-workflow-as-dag. +**Class 5 (reflection-closure)**: closes with T-LensProducer-Retirement. + +**ETA**: All 5 parallel-eligible post-T-Lens-Behavioral-Parity; 4-8 weeks total. + +--- + +## §3. Lane status snapshot + +One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane-owning Mgr; PM compiles for Director cadence reporting. + +| Lane | Mgr | Status | Current dispatch | Blocker | ETA-to-close | +|---|---|---|---|---|---| +| T-Tier3-Dissolution | PB | YELLOW | (TBD from PB canvas) | (TBD) | (TBD) | +| T-LensProducer-Retirement | PB | YELLOW | (TBD from PB canvas) | T-FixedPoint + R2-Evaluator | (TBD) | +| T-V-L4-L7-Direct | Verification | YELLOW | r3-v-l4-l7-direct-* briefs | Pattern A first slice (Q-PAFS) | (TBD) | +| T-V-L5-Corpus | Verification | RED | (waits on L4 corpus) | T-V-L4-L7-Direct landing | post-L4 | +| T-FixedPoint | PB | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | +| T-Numeric-Construction | Substrate | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | +| T-Omni-Shape-B | Release | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | +| T-Anthropic-Wire | Substrate | GREEN-pending | (audit) | None | near-term | +| T-Bridge-Retirement | Verification (ledger) | YELLOW | per-bridge dispatches | 5 sub-bridges retire | post-T-FixedPoint | +| T-CostLens-Composition | Substrate | YELLOW | (TBD from Substrate canvas) | R2-Evaluator + R2-T-Substrate-Lens-Primitive | (TBD) | +| T-V2-Retirement | PB | RED | r3-tv2-* briefs | T-FixedPoint + T-LensProducer | longest-path | +| T-Free-Consequences-Demonstration | Verification | YELLOW | r3-v-free-consequences-worker | R2-Evaluator + T-CostLens-Composition | post-deps | +| T-E-P-Producer-Broadening | Substrate | YELLOW | (TBD from Substrate canvas) | (foundational; in flight) | weeks | +| T-Lens-Behavioral-Parity | Substrate + Verification | RED | post-T-E-P-Producer-Broadening | T-E-P-Producer-Broadening | post-T-E-P | +| T-Tests-As-Data-Completeness | Verification | YELLOW | r3-v-tests-as-data-* briefs | TestClaim infra | (TBD) | +| T-Lens-Application-Surface | Substrate + Verification | YELLOW | r3-substrate-tests-as-data-carrier-slice-1-stop-ping | T-Lens-Behavioral-Parity COMPLETE | post-LBP | +| T-Workflow-As-Data | Substrate | YELLOW | r3-v-bridge-row-* + design-timing-lens | T-Lens-Behavioral-Parity COMPLETE | post-LBP | +| T-Lens-Self-Application | Verification | RED | (waits on Workflow-As-Data + LAS) | T-Workflow-As-Data + T-Lens-Application-Surface | post-WAD+LAS | +| T-Debt-Paydown (standing) | Debt-Paydown | YELLOW | (TBD from canvas) | per-PR rule + drift-item reconciliation | continuous | + +**Status legend**: GREEN = no open work, awaiting close audit. YELLOW = work in flight. RED = blocked on upstream. + +(Mgr canvases populating; full table compiles within ~24h per canvas T+24h soft deadline.) + +--- + +## §4. 5 substrate-gap classes — detail + +**Framing (PM-recommended; Q2, §10)**: closure criteria over existing lane work, not new separate lanes. Each class is a TestClaim that fires when its representative gap-test executes through v3 cleanly. + +### §4.1 Class 1 — parser/grammar surface + +**What this class names**: bridges that exist because v3 parser cannot handle certain grammar surfaces (e.g., refinement syntax `Int`, `where bits <= N` constraints, function-valued return types). v2 currently catches these; v3 cannot. + +**Representative gap-test**: TBD via Substrate canvas. Candidate: `Int` refinement parsing + lowering through stage0 emission. + +**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` line 149 T-Numeric-Construction T-V2-Retirement coordination dependency). + +**Owner Mgr**: PB Mgr (T-V2-Retirement scope) coordinating with Substrate Mgr (parser substrate carriers). + +**Open (§10)**: Substrate canvas response selects representative gap-test. + +### §4.2 Class 2 — function-valued data + +**What this class names**: bridges where `.dag` substrate cannot represent function-typed values (functions as data, lenses as functions, etc.). Currently bridged via Rust escape hatches (`lens_apply.rs`, hand-Rust witness construction). + +**Representative gap-test**: `Lens` instance with function-typed payload executes through evaluator and produces `DimensionReport` without Rust mediation. + +**Closes via**: T-Lens-Application-Surface (`lens_application_carrier_landed`) + T-E-P-Producer-Broadening (per-call descent evidence carries function references). + +**Owner Mgr**: Substrate Mgr (lens carrier authoring) + Verification Mgr (gap-test demonstration). + +### §4.3 Class 3 — file-ingestion + +**What this class names**: bridges where `.dag` programs cannot ingest external files; currently use `include_str!` macro or path-keyed Rust reads. + +**Representative gap-test**: One `.dag` program ingests external file (timing observation set, JSON config, etc.) without `include_str!`; exercises the file-ingestion grammar. + +**Closes via**: T-Workflow-As-Data file-ingestion substrate (`workflow_substrate_carriers_landed` extended to file-attachment). + +**Owner Mgr**: Substrate Mgr (T-Workflow-As-Data lane). + +### §4.4 Class 4 — workflow/scheduling + +**What this class names**: bridges where workflow/scheduling logic exists in non-`.dag` form (CI YAML, build orchestration scripts, hand-Rust workflow control flow). + +**Representative gap-test**: CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport` (gate `ci_workflow_modeled_as_dag`). + +**Closes via**: T-Workflow-As-Data + T-Lens-Self-Application (per `r3-structure.md` line 134, 160). + +**Owner Mgr**: Substrate Mgr (substrate authoring) + Verification Mgr (demonstration). + +### §4.5 Class 5 — reflection-closure + +**What this class names**: bridges where the compiler reflects on its own structure via Rust escape hatches (`lens_apply.rs` reflection work, hand-authored emission scaffolding). + +**Representative gap-test**: `lens_apply.rs` reflection routes via PB-Runtime interpreter-as-data; reflection-as-data substrate exercised end-to-end. + +**Closes via**: T-LensProducer-Retirement (`lens_apply_dot_rs_retired`) + advanced lifetime-analyzer cases d/e/f (per `r3-structure.md` line 145). + +**Owner Mgr**: PB Mgr (T-LensProducer-Retirement scope). + +--- + +## §5. Bridge inventory snapshot + +**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2 covering all **66 `.rs` files** in `src/v3/compiler/src/` (excluding `emit/`) — file-level audit count, NOT SG-0 hand-Rust authority count. SG-0 authority lives in [`src/v3/compiler/tests/integration/sg0_census_test.rs`](../src/v3/compiler/tests/integration/sg0_census_test.rs) (`EXPECTED_HAND_AUTHORED_NON_TEST` = 46 paths, `EXPECTED_HAND_AUTHORED_TEST` = 89 paths, `EXPECTED_HAND_AUTHORED_FRAGMENTS` = 1 path; total = 136 paths covering broader scope than `src/v3/compiler/src/`). The 66-file audit is per-file classification work (Class A-G assignment), distinct from SG-0 census authority (path inclusion). + +Plus 35 v3 std mirror entries + 112 R2/R3-era PRs. + +This plan section reports cumulative bridge counts; PR #1804 holds the per-row inventory. + +**Phase 2 inventory snapshot** (compiled 2026-05-06): + +- **Class A (substrate-gap-blocked)**: ~15-20 bridges expected; Phase 2 enumeration in progress. +- **Class B (Pattern-A NYI predicates)**: 7 — TC1, TC2, TC3, free-consequences, RustDagIsomorphism, BridgeLedgerZero, SymbolicCostExprEquals. +- **Class C (Pattern-C typed-carrier + Rust-mirror)**: ~6+ — EmissionDiagnostic, Value, EvalStrategy, BridgeLedgerRef, target-primitive routing, others TBD. +- **Class D (generated bridges with freshness gates)**: ~3-5 — `render_repeat_string_bootstrap.dag`, `generated_method_template_projection.rs`, others. +- **Class E (v2/v3 transition)**: ~50-100 — covered by T-V2-Retirement scope. +- **Class F (operator-ontology-duplication)**: ~3-5 — TBD. +- **Class G (local-small)**: ~10-20 — distributed across lanes. + +**Total bridges at R3 close**: 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per `r3-debt-sweep-2026-05-06.md` §4 anticipation discipline). + +**Drift items from Phase 2 sweep** (3 known; surfaced for §10 reconciliation): +- `#1638` ROADMAP retired but ledger Open +- `#1499` transitional fence disposition +- `declaration_by_name` retired/Open conflict + +--- + +## §6. Dependency DAG — current → close + +**Authority**: `r3-structure.md` §"Dependency DAG" (line 214) holds canonical dependency shape. + +This section adds **forward-looking critical-path pointer**: from current state (2026-05-06) to R3 close. + +``` +NOW (2026-05-06) + │ + ▼ +T-E-P-Producer-Broadening ────────────┐ + │ (Substrate, in flight) │ + ▼ │ +T-Lens-Behavioral-Parity │ Parallel: + │ (Substrate + Verification) │ - T-FixedPoint (PB) + ▼ │ - T-LensProducer-Retirement (PB) +T-Lens-Application-Surface │ - T-CostLens-Composition (Substrate) + │ (Substrate + Verification) │ - T-Tests-As-Data-Completeness (Verification) + ▼ │ - T-Numeric-Construction (Substrate) +T-Workflow-As-Data ─────────┐ │ - T-Anthropic-Wire (Substrate) + │ (Substrate) │ │ + ▼ │ ▼ +T-Lens-Self-Application │ T-V2-Retirement (PB; longest-path) + │ (Verification) │ │ + ▼ │ ▼ +substrate-gap-class 4 closed │ v2_directory_deleted gate + ▼ + substrate-gap-class 3 closed + │ + Class 1 (parser) closes via T-V2-Retirement parser path + Class 2 (function-valued) closes via T-Lens-Application-Surface + Class 5 (reflection) closes via T-LensProducer-Retirement + +Bridge-Retirement Ledger (Verification gate): + - 2 Substrate-owned + 3 PB-owned bridges retire as natural-owner programs close + - bridge_retirement_ledger_zero gate fires when count = 0 + +Pattern A executable (7 predicates): + - First slice (TBD via Q-PAFS, §10) ratchets to executable + - Remaining 6 cascade post-first-slice; gated on R3-Evaluator runtime prerequisites + +R3 close = all ~65 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining +``` + +**Critical-path chain** (longest dependency from now to close): + +1. T-E-P-Producer-Broadening (Substrate, foundational) +2. → T-Lens-Behavioral-Parity (cross-program, 4 sub-slices) +3. → T-Lens-Application-Surface (cross-program) +4. → T-Workflow-As-Data (Substrate) +5. → T-Lens-Self-Application (Verification, demonstration) + +Plus the parallel longest-path: **T-V2-Retirement** depends on T-FixedPoint + T-LensProducer-Retirement; longest single-lane path. + +**Estimated R3 close**: 8-12 weeks from 2026-05-06, gated on T-V2-Retirement + T-Lens-Self-Application both completing. + +--- + +## §7. PR-authoring contract + +Per R3 Debt-Paydown standing program (`r3-structure.md` §"Standing program — R3 Debt-Paydown" line 176 + INVARIANTS §P5): + +### §7.1 Per-PR debt-receipt + +Every R3 PR includes a "debt receipt" naming: +- **Debt found**: any debt observed in this PR's surface area (named ROADMAP row, named bridge, named NYI predicate). +- **Debt paid**: any debt retired by this PR (named row + ledger receipt OR explicit "no debt paid this PR"). +- **Routing**: if debt found but not paid, names paydown-lane retirement PR or dispatch issue where it routes. + +**Vague deferrals rejected**: "see ROADMAP", "TBD", narrative without cited row do not satisfy the gate. + +### §7.2 Ratchet-only-down (SG-0 zero-floor) + +Hand-Rust additions follow `r3-debt-sweep-2026-05-06.md` §4 anticipation discipline: +- **Default**: PRs that net-add hand-Rust violate the SG-0 zero-floor. +- **STRUCTURAL exception**: requires explicit Director allocation citing the program shape; Mgr cannot self-classify as STRUCTURAL. +- **Grandfathering**: contract applies to PRs landing AFTER framework merges; pre-existing entries grandfathered per Director ratification 2026-05-06 Refinement A. + +### §7.3 Anticipation discipline + +Per `r3-debt-sweep-2026-05-06.md` §4: +- New bridges introduced require named dissolution trigger at PR-merge time. +- Bridges introduced without trigger → blocking. +- "Eventually" / "when X is ready" language without named program → blocking. + +### §7.4 Section/symbol anchors over line numbers + +Per `feedback_section_anchors_over_line_numbers` (validated PRs #1776, #1787, #1788): all cross-references prefer section/symbol anchors. Line numbers permitted only when no symbol name exists at the cited point. + +### §7.5 Grep-verify against source authority + +Per `feedback_corrections_must_grep_verify_source`: any correction-of-a-relay must grep-verify against source authority before relaying. Cross-references aren't verification. + +--- + +## §8. Cross-Mgr coordination + +### §8.1 Cross-Mgr queue + +Standard cross-Mgr queue per `r3-structure.md` §"Manager structure" line 196: blockers route through Director when: +- Cross-program scope conflict (e.g., who owns a bridge straddling two lanes) +- Lane definition disagreement +- Closure-gate-predicate disagreement + +### §8.2 Escalation paths + +| Block type | Routes to | Cadence | +|---|---|---| +| Within-lane design question | Lane-owning Mgr | Same-day | +| Cross-lane scope conflict | Director | T+1 day | +| Closure-criteria refinement | Brian via Director | T+1-3 days | +| Substrate carrier shape | Substrate Mgr → Director if not local | T+1 day | +| Verification predicate shape | Verification Mgr → Director if not local | T+1 day | +| Drift item (ROADMAP↔ledger) | Debt-Paydown Mgr | T+1-3 days | + +### §8.3 Director cadence + +Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + account workers + queue more work; don't let idle Mgrs sit. Plan reads as input; no per-canvas framing invention. + +--- + +## §9. Cadence + milestone schedule + +### §9.1 Weekly cadence + +- **Monday**: lane-status table refresh; PM compiles from Mgr per-lane reports. +- **Wednesday**: closure-gate progress check; new gate-passes ratched into ledger. +- **Friday**: bridge-ledger receipt cadence; any new bridges introduced get dissolution-trigger receipts. + +### §9.2 Milestones (target dates) + +**Week of 2026-05-06–2026-05-13**: All Mgr canvases compile; Q1–Q7 ratifications close; plan PR opens. +**Week of 2026-05-13–2026-05-20**: T-E-P-Producer-Broadening completes; T-Lens-Behavioral-Parity 4-slice work begins. +**Week of 2026-05-27–2026-06-03**: T-FixedPoint completes (PB); T-LensProducer-Retirement begins close. +**Week of 2026-06-10–2026-06-17**: T-V2-Retirement parser path begins; substrate-gap-class 1 close target. +**Week of 2026-06-24–2026-07-01**: T-Workflow-As-Data executes; substrate-gap-classes 3+4 close. +**Week of 2026-07-08–2026-07-15**: T-Lens-Self-Application demo; recursive-flex demonstration cashes. +**Target R3 close**: 2026-08-01 ± 2 weeks. + +(Estimates based on Mgr-canvas inputs landing; refinement after Q1–Q7 ratification.) + +--- + +## §10. Open ratification questions / escalation register + +**Status**: live. PM compiles per-Mgr canvas escalations as they arrive; surfaces consolidated list to Brian + Director for resolution. Plan PR opens after all blocking items resolved. + +### §10.1 PM-surfaced ratifications (Q1–Q7 from gunbc#846 reply 2026-05-06) + +**Status (2026-05-06): all RATIFIED per Brian directive — *"I'll take your recommendations unless controversial on all Q1-Q7."*** Plus **demonstration principle** (every feature comes with a demonstration) ratified — see §1.6. + +| # | Question | PM recommendation | Status | +|---|---|---|---| +| Q1 | Closure-criteria predicate set (§1.1–§1.4) | Predicates per §1 tables; 7 Pattern-A + 2 v2 + 1 BridgeLedgerZero + 5 substrate-gap + ~9 demonstration gates = ~70 total | 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 | +| Q5 | Free-consequences-demonstration as closure gate | Required as gate; **generalized to demonstration principle** (§1.6) — every feature comes with a demonstration | RATIFIED + EXTENDED | +| Q6 | Plan-as-doc shape (this doc vs r3-structure.md merge) | New doc (this); cross-link both directions | RATIFIED | +| Q7 | Drift items reconciliation routing (#1638, #1499, declaration_by_name) | Single Debt-Paydown worker reconciles all three → one PR | RATIFIED | + +### §10.2 Per-Mgr canvas escalations (compiling as canvases land) + +#### §10.2.1 R3 Verification Mgr (cool-owl-579, #1740) — 2 escalations + +**V1. Pattern A blocks executable BridgeLedgerZero / net bridge shrink** (canvas item 1, structural) +- **Needs**: Director + Brian — which first executable slice (TC1 vs RustDagIsomorphism vs other) + lane priority. +- **R3 zero-debt impact**: Must be explicit pre-close. Cannot be "post-R3" without renaming the close predicate. +- **Plan integration**: §1.1, §2.1; ratification opens Q-PAFS in §10.3. + +**V2. SymbolicCostExprEquals reads as coverage while runner returns NYI** (canvas item 2, structural) +- **Needs**: coverage/completeness accounting decision — mark NYI claims incomplete in aggregation OR schedule evaluator-backed comparison slice. +- **Plan integration**: §1.1; ratification opens Q-NYI-Accounting in §10.3. + +#### §10.2.2 R3 Grounding Mgr (bold-ferret-748, #1745) — 5+ escalations + +**G1. T-Ground-Rust blocked on PR-F** +- **Needs**: R3 Substrate Mgr to execute PR-F (Q1 BoundDeclaration consumer + Q2 Rust ReferenceModel). +- **Plan integration**: §3 lane status; routes to Substrate canvas response. + +**G2. Rust float rows blocked on T-NumericConstruction-ApproximateField** +- **Needs**: Float migration to `ApproximateField` + Real/base-carrier convention. +- **Plan integration**: §3; routes to Substrate canvas (T-Numeric-Construction lane). + +**G3. Rust std-carrier conditional gates need plan placement** +- **Items**: `Option` parent vs `OptionalOf` promotion; `Cardinal` ordered-domain instance; `HigherOrderMethodSpec`; allocator/hasher carrier policy. +- **Needs**: pre-Phase-1 vs later-T-Ground-Rust-phases vs separate Substrate-prerequisite-slice decision. +- **Plan integration**: §10.3 Q-Std-Carrier-Phasing. + +**G4. L6 CrossTarget-Meta held on `EmissionPathProjection`** +- **Needs**: Substrate to land sibling `EmissionPathProjection` carrier in `src/v3/std/cross_target_coverage.dag`. +- **Plan integration**: §3; routes to Substrate canvas. + +**G5. Anthropic #1702 parked on orphaned Substrate dependency** +- **Description**: #1702 work preserved on branch `codex/cc1-target-integer-structural-fold`; merge blocked by missing structural projection metadata / variant-aware typed REST response `from`-path resolver. +- **Needs**: Substrate carrier/resolver for variant-aware typed REST response projection against coproduct response bodies; then re-dispatch Anthropic Messages 200 content-block work. +- **R3 zero-debt impact**: R3-blocking if Anthropic wire is in zero-debt close scope. +- **Plan integration**: §10.3 Q-Anthropic-Variant-Aware. + +**G6. LanguageSpec / emit shim debt depends on SG-7/PB-6/v2 retirement** +- **Description**: PR #1804 §1.2 classified `emit/rust_target.rs`, `emit/python_target.rs`, `collection_ops_method_contract.rs` as YELLOW class-E (not RED) — persistence tied to named SG-7/PB-6/v2-retirement prerequisites. +- **Needs**: R3 plan must state whether Grounding owns direct execution here or only consumes PB/Substrate/v2-retirement milestones. +- **R3 zero-debt impact**: must resolve before zero-debt close if hand-Rust target emitters unacceptable at R3 close. +- **Plan integration**: §10.3 Q-Emit-Shim-Handoff. + +**G7. Coercion-Fold `ScratchIntExamples` bridge live** +- **Description**: PR #1804 §2 verified `LanguageSpecProjection::ScratchIntExamples` and `TargetInhabitance` remain live in `src/v3/grounding_coercion_fold`; trigger "real LanguageSpec projection". +- **Needs**: lane placement decision — Grounding-owned after LanguageSpec projection lands, OR Substrate/LanguageSpec owner defines projection read surface first. +- **R3 zero-debt impact**: must close before zero-debt if Coercion-Fold scaffolds count against R3 closure. +- **Plan integration**: §10.3 Q-Coercion-Fold-Scratch. + +**G8. Small cleanup F10 `install_hint` queued, not dispatched** +- **Description**: `dsl/extdeps/tools.dag` `install_hint` uses `fold(init: "")` + `acc == ""` first-element sentinel instead of standard join semantics. +- **Needs**: bundling decision — bundle into next Grounding signal PR vs small cleanup PR (despite `feedback_brief_pr_cadence`). +- **R3 zero-debt impact**: small but real M5 cleanup; resolve before zero-debt close unless explicitly ruled out. +- **Plan integration**: PM-level (PM proceeds with bundle-into-next-signal); §10.3 informational. + +**G9. Worker-side idle state (proud-lark, silent-badger)** +- **Description**: Both workers idle post-#1804 sweep; proud-lark owns #1783 draft feedback; silent-badger has no active PR. +- **Needs**: execution-ready Grounding tasks from R3 plan (PR-F-dependent / L6 post-EmissionPathProjection / Anthropic post-projection-metadata / F10 cleanup). +- **Plan integration**: §3 lane status + §9 cadence; resolves once upstream substrate decisions land. + +**G10. Structural concern — cross-manager dependencies must be explicit in plan** +- **Description**: Several Grounding closure predicates depend on Substrate/PB/v2-retirement milestones before Grounding can execute final consumers; plan must encode cross-manager dependency edges + re-dispatch triggers, not just assign Grounding outcomes. +- **Needs**: PM + Director + Brian — final plan shape with explicit cross-Mgr dependency edges. +- **R3 zero-debt impact**: main RED risk — if upstream carrier decisions are not scheduled as prerequisite plan nodes, Grounding cannot honestly close by R3. +- **Plan integration**: this plan §6 Dependency DAG + §3 lane status (cross-Mgr dependency edges) directly addresses this; G10 closes when §6 graph is Mgr-validated. + +#### §10.2.3 R3 Substrate Mgr — pending canvas response + +#### §10.2.4 R3 Evaluator Mgr — pending canvas response + +#### §10.2.5 R3 PB Mgr — pending canvas response + +#### §10.2.6 R3 Debt-Paydown Mgr — pending canvas response + +### §10.3 Net escalations awaiting decision + +**Status (2026-05-06): all PM-recommended defaults applied per Brian directive — *"I'll take your recommendations unless controversial."*** Marks remain in table for visibility; any item Brian or Director rules controversial flips back to OPEN. + +| ID | Question | PM recommendation (applied as default) | Status | +|---|---|---|---| +| Q-PAFS | Which Pattern-A first executable slice (TC1 vs RustDagIsomorphism vs other) | TC1 η-equivalence first (Verification has deeper analysis docs in flight: `r3-v-tc1-eta-equivalence-deeper-analysis.md`) | RATIFIED-by-default; Director may explicitly redirect | +| Q-NYI-Accounting | NYI claim coverage/completeness accounting | Mark NYI incomplete in aggregation reporting; ratchet to executable per evaluator-slice landing | RATIFIED-by-default | +| Q-Std-Carrier-Phasing | Rust std-carrier phasing (Option/Cardinal/HigherOrderMethodSpec/allocator-hasher) | Phase 1 = default-only/default-instance; later phases as separate Substrate slices post-Phase-1 | RATIFIED-by-default | +| Q-Drift-Reconcile | Drift items routing (#1638, #1499, declaration_by_name) | Single Debt-Paydown worker reconciles all three → one PR closing rows in ledger + ROADMAP | RATIFIED-by-default | +| Q-Pattern-Class-Naming | Substrate-gap-class TestClaim names | Names per §1.4 table | RATIFIED-by-default | +| Q-PR-F | PR-F priority + sequencing (BoundDeclaration consumer + Rust ReferenceModel) | Schedule into critical path post-T-E-P-Producer-Broadening; Substrate Mgr executes PR-F as Substrate-lane work | RATIFIED-by-default | +| Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | +| Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | +| Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | + +--- + +## §11. Plan supersession + +This plan supersedes earlier ad-hoc PM coordination shapes: +- Comprehensive R3 debt sweep PR #1804 → input to this plan; doc closes when this plan PR opens. +- 6 escalation-canvas messages on Mgr inboxes #1739/#1740/#1742/#1743/#1744/#1745 → folded into §10. + +This plan does NOT supersede: +- `r3-structure.md` (architectural-decision archive remains canonical for lane definitions). +- `INVARIANTS.md` / `CODING.md` / `TESTING.md` / `MODELING.md` (governing rules). +- Per-lane briefs in `docs/briefs/r3-*` (worker-level dispatch sources). + +Plan updates: weekly Mgr canvas refresh (per §9.1); structural revisions require Director ratification. + +--- + +## Cross-refs + +- `r3-structure.md` — architectural-decision archive +- `audit/r3-debt-sweep-2026-05-06.md` — bridge inventory +- `audit/r3-dispatch-brief-drift-sweep-2026-05-05.md` — Tier 1 sweep audit +- `INVARIANTS.md` §P5 — Progress Is Dissolution +- `ROADMAP.md` — debt rows + course corrections +- `THESIS.md` — closed-system + free-consequences thesis From 6e148c55b31c94a32699ad36c2087c8674de87a7 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:33:08 +0000 Subject: [PATCH 02/36] =?UTF-8?q?docs(r3):=20absorb=20codex=20BLOCKING=20(?= =?UTF-8?q?2)=20=E2=80=94=20single-authority=20gate=20set=20+=20per-class?= =?UTF-8?q?=20count=20framing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex review on prior sha 9458e428 (relayed via PR #1804). Both BLOCKING findings valid; addressed via two-doc coordinated update. BLOCKING 1 — *"Mgr-canvas workstreams promoted into lane-count facts before canonical R3 archive updated"*. Plan §1.4 (5 substrate-gap-class TestClaims) + §1.6 (~10 demonstration gates) introduced new gates without updating the canonical r3-structure.md. Single-authority discipline violation per feedback_parallel_representation_debt. Fix: r3-structure.md §"Acceptance — .dag gates" now absorbs both new gate blocks ratified per Brian directive 2026-05-06 (gunbc#846): - Substrate-gap-class closure: 5 gates (parser-grammar / function-valued / file-ingestion / workflow-scheduling / reflection-closure) — closure-criteria over existing lane work; no lane-count expansion - Demonstration principle: 10 new gates per per-lane audit; existing demo-shaped gates (pb_self_compile_fixed_point, omni_openapi_backend_emission_demo, T-Free-Consequences-Demonstration's 10 gates, lens_self_application_demonstrated) satisfy the principle where present §"R3 closure criteria" updated with Brian-ratified closure-criteria framing quote + cross-link to plan §1. BLOCKING 2 — *"snapshots post-canvas inventory counts before audit populated"*. Plan §5 per-class counts (Class A ~15-20, Class C ~6+, etc.) framed as authoritative when actually pre-Phase-2-completion estimates from Director's bridge-class framework. Fix: §5 reframed as "Phase 2 inventory shape" — labels per-class numbers as "expected ranges; awaiting Mgr canvas enumeration" + explicitly states which counts are authoritative (Class B = 7, predicates pre-named in framework) vs expected ranges. PR #1804 §1.A-§1.G cited as authoritative source. Non-blocking — line-number citations to r3-structure.md tightened to section/ symbol anchors per feedback_section_anchors_over_line_numbers (~13 instances cleaned; 0 line-number citations remaining in plan). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 46 ++++++++++++++++++++--------------------- docs/r3-structure.md | 19 +++++++++++++++++ 2 files changed, 42 insertions(+), 23 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 0a6c1bbfd6b..0b7195548d2 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -25,19 +25,19 @@ Each predicate has a passing TestClaim against representative input, producing a | Predicate | TestClaim gate | Owner Lane | |---|---|---| -| BridgeLedgerZero | `bridge_retirement_ledger_zero` | T-Bridge-Retirement (existing — `r3-structure.md` §"Acceptance" line 115) | +| BridgeLedgerZero | `bridge_retirement_ledger_zero` | T-Bridge-Retirement (existing — `r3-structure.md` §"Acceptance" → T-Bridge-Retirement gates) | | RustDagIsomorphism | `rust_dag_isomorphism_executable` | T-V-L4-L7-Direct (cross-target consistency) | | SymbolicCostExprEquals | `symbolic_cost_expr_equals_executable` | T-CostLens-Composition | | TC1 (η-equivalence) | `tc1_eta_equivalence_executable` | T-V-L4-L7-Direct | | TC2 (Church-Rosser) | `tc2_church_rosser_executable` | T-V-L4-L7-Direct | | TC3 (Pattern-A second-mover) | `tc3_pattern_a_second_mover_executable` | T-V-L4-L7-Direct | -| Free-Consequences-Demonstration | (composite of 10 gates, `r3-structure.md` §"Acceptance" line 119–129) | T-Free-Consequences-Demonstration | +| Free-Consequences-Demonstration | (composite of 10 gates, `r3-structure.md` §"Acceptance" → T-Free-Consequences-Demonstration gates) | T-Free-Consequences-Demonstration | Existing fixtures in `r3-v-pattern-a-coverage-rollup.md` + `r3-v-pattern-a-second-mover-conformance-audit.md` series document predicate scaffolds. **Open** (Verification Mgr canvas escalation #1, §10): which executable slice fires first. ### §1.2 v2 fully retired (2 predicates — already declared) -Existing gates (`r3-structure.md` §"Acceptance" lines 117–118): +Existing gates (`r3-structure.md` §"Acceptance" → T-V2-Retirement gates): - `v2_oracle_no_remaining_test_consumers` - `v2_directory_deleted` @@ -45,10 +45,10 @@ Owner: PB Mgr (T-V2-Retirement lane). No new predicates needed. ### §1.3 BridgeLedgerZero ratcheting at zero (1 predicate — already declared) -Existing gate (`r3-structure.md` §"Acceptance" line 115): +Existing gate (`r3-structure.md` §"Acceptance" → T-Bridge-Retirement gates): - `bridge_retirement_ledger_zero` — unified ledger reports 0 named identity bridges remaining. -Owner: Verification Mgr (ledger gate); retirement work distributed per `r3-structure.md` line 152 distribution map (2 Substrate-owned + 3 PB-owned). +Owner: Verification Mgr (ledger gate); retirement work distributed per `r3-structure.md` §"Lane structure" → T-Bridge-Retirement row (2 Substrate-owned + 3 PB-owned). ### §1.4 5 substrate-gap classes closed (5 predicates — NEW; Brian-ratified scope) @@ -79,7 +79,7 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown **Demonstration discipline:** - Static-fact gate (e.g., `X declared in std/`) is necessary but not sufficient. - Demonstration gate runs the feature on a representative input and produces an observable result. -- "Look, it runs" minimal artifact per `r3-structure.md` §"R3 demo discipline" line 487. +- "Look, it runs" minimal artifact per `r3-structure.md` §"R3 demo discipline + omni-emission TDD". - Closure ledger reports demonstration-gate status separately from substrate-shape gates. **Per-lane demonstration audit** (PM-recommended; ratification pending): @@ -132,7 +132,7 @@ For each predicate not yet GREEN, what's blocking + sequence to close. **Blockers** (per Grounding Mgr canvas, bold-ferret-748, item #2): PR-F (`BoundDeclaration` consumer + Rust `ReferenceModel` axes) blocks T-Ground-Rust; T-NumericConstruction-ApproximateField blocks Rust float rows. -**Sequence** (from `r3-structure.md` §"Lane structure" T-V2-Retirement row, line 154): +**Sequence** (from `r3-structure.md` §"Lane structure" → T-V2-Retirement row): 1. T-FixedPoint completes (PB Mgr) — `compiler.dag` self-compile fixed-point 2. T-LensProducer-Retirement completes (PB Mgr) — 3 hand-Rust files retired 3. PR-F lands (T-Ground-Rust unblocks) @@ -143,7 +143,7 @@ For each predicate not yet GREEN, what's blocking + sequence to close. ### §2.3 BridgeLedgerZero (1 predicate) -**Sub-bridges** (`r3-structure.md` line 152 distribution map): +**Sub-bridges** (`r3-structure.md` §"Lane structure" → T-Bridge-Retirement row distribution map): - **Substrate-owned (2)**: `SourceSpan.file` participation checks; `mark_bootstrap_secret_nominal_opacity()` - **PB-owned (3)**: canonical lens-name dispatch; `include_str!` side channels (e.g., `pipeline_authority.rs`); `patch_lower_helpers_*` residual @@ -210,7 +210,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane **Representative gap-test**: TBD via Substrate canvas. Candidate: `Int` refinement parsing + lowering through stage0 emission. -**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` line 149 T-Numeric-Construction T-V2-Retirement coordination dependency). +**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` §"Lane structure" → T-Numeric-Construction row, T-V2-Retirement coordination dependency). **Owner Mgr**: PB Mgr (T-V2-Retirement scope) coordinating with Substrate Mgr (parser substrate carriers). @@ -242,7 +242,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane **Representative gap-test**: CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport` (gate `ci_workflow_modeled_as_dag`). -**Closes via**: T-Workflow-As-Data + T-Lens-Self-Application (per `r3-structure.md` line 134, 160). +**Closes via**: T-Workflow-As-Data + T-Lens-Self-Application (per `r3-structure.md` §"Acceptance" → T-Workflow-As-Data gates + §"Lane structure" → T-Workflow-As-Data row). **Owner Mgr**: Substrate Mgr (substrate authoring) + Verification Mgr (demonstration). @@ -252,7 +252,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane **Representative gap-test**: `lens_apply.rs` reflection routes via PB-Runtime interpreter-as-data; reflection-as-data substrate exercised end-to-end. -**Closes via**: T-LensProducer-Retirement (`lens_apply_dot_rs_retired`) + advanced lifetime-analyzer cases d/e/f (per `r3-structure.md` line 145). +**Closes via**: T-LensProducer-Retirement (`lens_apply_dot_rs_retired`) + advanced lifetime-analyzer cases d/e/f (per `r3-structure.md` §"Lane structure" → T-LensProducer-Retirement row). **Owner Mgr**: PB Mgr (T-LensProducer-Retirement scope). @@ -266,17 +266,17 @@ Plus 35 v3 std mirror entries + 112 R2/R3-era PRs. This plan section reports cumulative bridge counts; PR #1804 holds the per-row inventory. -**Phase 2 inventory snapshot** (compiled 2026-05-06): +**Phase 2 inventory shape** (counts populate post-canvas-completion; **expected ranges** below are pre-Phase-2-completion estimates from Director's bridge-class framework, NOT compiled facts — see PR #1804 for authoritative per-row inventory as canvases land): -- **Class A (substrate-gap-blocked)**: ~15-20 bridges expected; Phase 2 enumeration in progress. -- **Class B (Pattern-A NYI predicates)**: 7 — TC1, TC2, TC3, free-consequences, RustDagIsomorphism, BridgeLedgerZero, SymbolicCostExprEquals. -- **Class C (Pattern-C typed-carrier + Rust-mirror)**: ~6+ — EmissionDiagnostic, Value, EvalStrategy, BridgeLedgerRef, target-primitive routing, others TBD. -- **Class D (generated bridges with freshness gates)**: ~3-5 — `render_repeat_string_bootstrap.dag`, `generated_method_template_projection.rs`, others. -- **Class E (v2/v3 transition)**: ~50-100 — covered by T-V2-Retirement scope. -- **Class F (operator-ontology-duplication)**: ~3-5 — TBD. -- **Class G (local-small)**: ~10-20 — distributed across lanes. +- **Class A (substrate-gap-blocked)**: expected range ~15-20 bridges; awaiting Mgr canvas enumeration. +- **Class B (Pattern-A NYI predicates)**: count = 7 (this count IS authoritative — predicates pre-named in framework): TC1, TC2, TC3, free-consequences, RustDagIsomorphism, BridgeLedgerZero, SymbolicCostExprEquals. +- **Class C (Pattern-C typed-carrier + Rust-mirror)**: expected range ~6+ — EmissionDiagnostic, Value, EvalStrategy, BridgeLedgerRef, target-primitive routing pre-named; others awaiting canvas. +- **Class D (generated bridges with freshness gates)**: expected range ~3-5 — `render_repeat_string_bootstrap.dag`, `generated_method_template_projection.rs` pre-named; others awaiting canvas. +- **Class E (v2/v3 transition)**: expected range covered by T-V2-Retirement scope (not enumerated per-bridge here; v2 retirement closure subsumes). +- **Class F (operator-ontology-duplication)**: expected range — awaiting canvas. +- **Class G (local-small)**: expected range — distributed across lanes; awaiting canvas. -**Total bridges at R3 close**: 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per `r3-debt-sweep-2026-05-06.md` §4 anticipation discipline). +**Authoritative counts populate via PR #1804 §1.A–§1.G as Mgr canvases land**. Net-bridge count at R3 close is 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) §4 anticipation discipline). **Drift items from Phase 2 sweep** (3 known; surfaced for §10 reconciliation): - `#1638` ROADMAP retired but ledger Open @@ -287,7 +287,7 @@ This plan section reports cumulative bridge counts; PR #1804 holds the per-row i ## §6. Dependency DAG — current → close -**Authority**: `r3-structure.md` §"Dependency DAG" (line 214) holds canonical dependency shape. +**Authority**: `r3-structure.md` §"Dependency DAG" holds canonical dependency shape. This section adds **forward-looking critical-path pointer**: from current state (2026-05-06) to R3 close. @@ -345,7 +345,7 @@ Plus the parallel longest-path: **T-V2-Retirement** depends on T-FixedPoint + T- ## §7. PR-authoring contract -Per R3 Debt-Paydown standing program (`r3-structure.md` §"Standing program — R3 Debt-Paydown" line 176 + INVARIANTS §P5): +Per R3 Debt-Paydown standing program (`r3-structure.md` §"Standing program — R3 Debt-Paydown" + INVARIANTS §P5): ### §7.1 Per-PR debt-receipt @@ -384,7 +384,7 @@ Per `feedback_corrections_must_grep_verify_source`: any correction-of-a-relay mu ### §8.1 Cross-Mgr queue -Standard cross-Mgr queue per `r3-structure.md` §"Manager structure" line 196: blockers route through Director when: +Standard cross-Mgr queue per `r3-structure.md` §"Manager structure": blockers route through Director when: - Cross-program scope conflict (e.g., who owns a bridge straddling two lanes) - Lane definition disagreement - Closure-gate-predicate disagreement diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 98a7095b550..75edcc04fc9 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -136,6 +136,23 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `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 `Missing | Ambiguous | Stale` per timing-lens design; demonstrates that user-authored apply_lens substrate generalizes to project-self-validation use case - `recursive_flex_demonstration_landed` — narrative-load-bearing thesis claim cashes in worked instance: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Compiler-people read this as the categorical move that the lens framework isn't just for user code — it applies recursively to gunbc's own runtime behavior. Either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target tracked as informational SLO; **not a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment) +- **Substrate-gap-class closure** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846); closure-criteria over existing lane work, NOT new separate lanes — added without expanding R3 lane count). Five class-level closure gates ratifying that R3 close requires a representative gap-test executing through v3 cleanly per substrate-gap class. Per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 + §4. + - `substrate_gap_parser_grammar_closed` — v3 parser handles `Int` refinement syntax and lowers through stage0 emission without v2-fallback; gate Pass = Int-bearing program produces 0 diagnostics + emitted artifact compiles. Closes via T-V2-Retirement parser path + T-Numeric-Construction (Int refinement) + Substrate continuation + - `substrate_gap_function_valued_data_closed` — `Lens` instance with function-typed payload executes through evaluator and produces `DimensionReport` without Rust mediation. Closes via T-Lens-Application-Surface + T-E-P-Producer-Broadening + - `substrate_gap_file_ingestion_closed` — One `.dag` program ingests external file (timing observation set, JSON config) without `include_str!`; exercises file-ingestion grammar. Closes via T-Workflow-As-Data + - `substrate_gap_workflow_scheduling_closed` — CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport`. Closes via T-Workflow-As-Data + T-Lens-Self-Application + - `substrate_gap_reflection_closure_closed` — `lens_apply.rs` reflection routes via PB-Runtime interpreter-as-data; reflection-as-data substrate exercised end-to-end. Closes via T-LensProducer-Retirement +- **Demonstration principle** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846): *"any feature we make should come with a demonstration"*; generalizes T-Free-Consequences-Demonstration framing to all R3 lanes; per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.6). Each R3 lane MUST include at least one runtime-executable demonstration gate (a claim that exercises the lane's deliverable end-to-end, not just static-fact assertions about substrate shape). Existing demonstration-shaped gates (e.g., `pb_self_compile_fixed_point`, `omni_openapi_backend_emission_demo`, T-Free-Consequences-Demonstration's 10 gates, `lens_self_application_demonstrated`) satisfy this where present. New demonstration gates added per per-lane audit: + - `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer `.dag` program runs end-to-end via Evaluator + - `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program + - `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes + - `anthropic_wire_demonstration` — full request/response cycle executes against Anthropic API or mock + - `bridge_retirement_demonstration` — at least one retired-bridge replacement path executes (e.g., typed-identity-surface used in production code) + - `cost_lens_demonstration` — cost lens reads representative target program and composes algebra+realization cost end-to-end + - `v2_retirement_demonstration` — bootstrap path through PB-Runtime trampoline executes (the v3-only path runs end-to-end after v2 deletion) + - `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime + - `lens_behavioral_parity_demonstration` — each lens (complexity / cost / parallelism / effect_enumeration) demonstrates on representative input + matches v2 oracle + - `tests_as_data_demonstration` — at least one Rust test ports to `.dag` TestClaim and executes via Evaluator ## Lane structure @@ -451,6 +468,8 @@ This split resolves the prior single-authority drift between `:38` (non-gated la **All R3 gates green per `### Acceptance — .dag gates` section above.** R3 closes when each lane's TestClaim evaluates true at release. +**Brian-ratified closure-criteria framing** (per [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846), 2026-05-05): *"all 5 substrate-gap classes closed + v2 fully retired + Pattern A NYI predicates executable + BridgeLedgerZero ratcheting at zero + every feature comes with a demonstration."* This framing is structurally satisfied by the gate set in §"Acceptance" + the substrate-gap-class closure block + the demonstration principle block. See [`docs/r3-program-plan.md`](r3-program-plan.md) §1 for forward-looking per-predicate close path + §10 escalation register. + **ROADMAP authority single source.** Once R3 promotes to ROADMAP as `## Release R3 Program`, gate semantics are owned there. r3-structure.md is the pre-promotion authority; ROADMAP is post-promotion authority. ## Decisions locked From c9b7f68f4047760fc7c59b45eba29fc173e14732 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:37:22 +0000 Subject: [PATCH 03/36] =?UTF-8?q?docs(r3):=20tighten=20=C2=A75=20inventory?= =?UTF-8?q?=20disambiguation=20=E2=80=94=20apples-to-apples=2041=20vs=2066?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex inline finding on prior sha 9458e428 (relayed via PR #1804). Initial BLOCKING-2 absorption at 6e148c55b distinguished 66 .rs file count from 46 SG-0 NON_TEST authority count, but those counts cover different scopes — 46 spans broader paths than src/v3/compiler/src/. Apples-to-apples fix: explicitly cite 41 = SG-0 NON_TEST entries scoped to src/v3/compiler/src/ (excluding emit/), matching the audit's file-system scope. This makes the count relationship transparent: - 66 = filesystem .rs count for audit scope - 41 = SG-0 NON_TEST count for same scope (authority subset) - 25 = files outside SG-0 NON_TEST (generated/excluded) - 136 = SG-0 census total (broader scope; both NON_TEST + TEST + FRAGMENTS) Per feedback_corrections_must_grep_verify_source + INVARIANTS P1 single-authority. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 0b7195548d2..364a40e8cd6 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -260,9 +260,18 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane ## §5. Bridge inventory snapshot -**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2 covering all **66 `.rs` files** in `src/v3/compiler/src/` (excluding `emit/`) — file-level audit count, NOT SG-0 hand-Rust authority count. SG-0 authority lives in [`src/v3/compiler/tests/integration/sg0_census_test.rs`](../src/v3/compiler/tests/integration/sg0_census_test.rs) (`EXPECTED_HAND_AUTHORED_NON_TEST` = 46 paths, `EXPECTED_HAND_AUTHORED_TEST` = 89 paths, `EXPECTED_HAND_AUTHORED_FRAGMENTS` = 1 path; total = 136 paths covering broader scope than `src/v3/compiler/src/`). The 66-file audit is per-file classification work (Class A-G assignment), distinct from SG-0 census authority (path inclusion). +**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2. -Plus 35 v3 std mirror entries + 112 R2/R3-era PRs. +**Apples-to-apples count discipline** (per `feedback_corrections_must_grep_verify_source` + INVARIANTS P1 single-authority): + +- **66 `.rs` files** in `src/v3/compiler/src/` (excluding `emit/`) — file-level scope of quiet-boar-160's per-file audit work (Class A-G assignment per audited file). Filesystem count. +- **41 SG-0 NON_TEST entries** for the same scope (`src/v3/compiler/src/` excluding `emit/`) per [`src/v3/compiler/tests/integration/sg0_census_test.rs`](../src/v3/compiler/tests/integration/sg0_census_test.rs) `EXPECTED_HAND_AUTHORED_NON_TEST` filter. SG-0 ratchet authority for this scope. +- **66 - 41 = 25 file-system files NOT in SG-0 NON_TEST**: generated, build artifacts, or otherwise outside SG-0 hand-Rust ratchet scope. +- **SG-0 census authority full scope** (broader than this scope): `EXPECTED_HAND_AUTHORED_NON_TEST` = 46 paths total / `EXPECTED_HAND_AUTHORED_TEST` = 89 paths / `EXPECTED_HAND_AUTHORED_FRAGMENTS` = 1 path; **total = 136 paths**. + +The 66-file audit is per-file classification work distinct from SG-0 census authority (path inclusion). Both counts are useful for different purposes: 66 = audit scope; 41 = SG-0 ratchet for that scope; 136 = SG-0 ratchet total. + +Plus 35 v3 std mirror entries + 112 R2/R3-era PRs (covered by §1.3 + §2.1/§2.2 of PR #1804 sweep deliverables). This plan section reports cumulative bridge counts; PR #1804 holds the per-row inventory. From 937485f29abed460157a961fa0c8dae3c83d8a13 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:38:27 +0000 Subject: [PATCH 04/36] =?UTF-8?q?docs(r3):=20resolve=20internal=20contradi?= =?UTF-8?q?ction=20=E2=80=94=20=C2=A71=20+=20=C2=A71.6=20ratification=20st?= =?UTF-8?q?ate=20aligned=20with=20=C2=A710.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex APPROVE_WITH_COMMENTS on PR #1808 sha 282083da. Finding 1: §1 (line 20) + §1.6 (line 85) said "ratification pending Q1" while §10.1 already records Q1-Q7 RATIFIED on 2026-05-06. Plan was internally contradictory — declares itself authoritative for path to R3 close, but stale ratification state in upstream sections. Fix: replace "ratification pending Q1, §10" with "RATIFIED 2026-05-06 per Brian directive at gunbc#846; Q1 in §10.1". Same shape applied to §1.6 (Q5 → demonstration principle). Per INVARIANTS P1 (Documentation Describes Live State). Finding 2 (line-number citations to r3-structure.md) was already addressed at sha 6e148c55b — 13 instances cleaned to section/symbol anchors per feedback_section_anchors_over_line_numbers. Only 2 remaining grep hits at HEAD both reference §"R3 demo discipline + omni-emission TDD" / discipline statement itself; no line numbers remain. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 364a40e8cd6..7baab9d5551 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -17,7 +17,7 @@ Cross-link discipline: this plan never restates lane definitions from `r3-struct **Brian-ratified language (gunbc#846, 2026-05-05):** *"all 5 substrate-gap classes closed + v2 fully retired + Pattern A NYI predicates executable + BridgeLedgerZero ratcheting at zero."* -PM-recommended TestClaim predicate set (**ratification pending Q1, §10**): +PM-recommended TestClaim predicate set (RATIFIED 2026-05-06 per Brian directive at gunbc#846; Q1 in §10.1): ### §1.1 Pattern A NYI predicates executable (7 predicates) @@ -82,7 +82,7 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown - "Look, it runs" minimal artifact per `r3-structure.md` §"R3 demo discipline + omni-emission TDD". - Closure ledger reports demonstration-gate status separately from substrate-shape gates. -**Per-lane demonstration audit** (PM-recommended; ratification pending): +**Per-lane demonstration audit** (RATIFIED 2026-05-06 per Brian directive at gunbc#846; Q5 generalized to demonstration principle in §10.1): | Lane | Existing demo gate | Needed demo gate (if missing) | |---|---|---| From 0719d7a621d5d6f24fb8d4e4f6731382850ba9a4 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Tue, 5 May 2026 20:41:14 -0400 Subject: [PATCH 05/36] WIP: Gunbc PM --- docs/r3-program-plan.md | 66 ++++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 21 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 7baab9d5551..4ae495e4fa1 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -21,19 +21,23 @@ PM-recommended TestClaim predicate set (RATIFIED 2026-05-06 per Brian directive ### §1.1 Pattern A NYI predicates executable (7 predicates) -Each predicate has a passing TestClaim against representative input, producing a real `DimensionReport` (not `NotYetImplemented` shell). +Each predicate has a passing TestClaim against representative input — **NOT** a `NotYetImplemented` shell. Predicate-shape varies by family (per Verification Mgr poke-hole 2026-05-06): the Brian-ratified language *"Pattern A NYI predicates executable + BridgeLedgerZero ratcheting at zero"* covers four distinct predicate-shape families, not a single DimensionReport-typed receipt. -| Predicate | TestClaim gate | Owner Lane | -|---|---|---| -| BridgeLedgerZero | `bridge_retirement_ledger_zero` | T-Bridge-Retirement (existing — `r3-structure.md` §"Acceptance" → T-Bridge-Retirement gates) | -| RustDagIsomorphism | `rust_dag_isomorphism_executable` | T-V-L4-L7-Direct (cross-target consistency) | -| SymbolicCostExprEquals | `symbolic_cost_expr_equals_executable` | T-CostLens-Composition | -| TC1 (η-equivalence) | `tc1_eta_equivalence_executable` | T-V-L4-L7-Direct | -| TC2 (Church-Rosser) | `tc2_church_rosser_executable` | T-V-L4-L7-Direct | -| TC3 (Pattern-A second-mover) | `tc3_pattern_a_second_mover_executable` | T-V-L4-L7-Direct | -| Free-Consequences-Demonstration | (composite of 10 gates, `r3-structure.md` §"Acceptance" → T-Free-Consequences-Demonstration gates) | T-Free-Consequences-Demonstration | +**Predicate-shape families:** + +| Predicate | Shape family | TestClaim gate (proposed; Q1 ledger-name) | Owner Lane | +|---|---|---|---| +| TC1 (η-equivalence) | `BinaryDimensionReportEquals` (DimensionReport-typed) | `tc1_eta_equivalence_executable` | T-V-L4-L7-Direct | +| TC2 (Church-Rosser) | `BinaryDimensionReportEquals` (DimensionReport-typed) | `tc2_church_rosser_executable` | T-V-L4-L7-Direct | +| TC3 (Pattern-A second-mover) | `BinaryDimensionReportEquals` (DimensionReport-typed) | `tc3_pattern_a_second_mover_executable` | T-V-L4-L7-Direct | +| RustDagIsomorphism | structural-equivalence assertion (Dag isomorphism, not DimensionReport) | `rust_dag_isomorphism_executable` | T-V-L4-L7-Direct | +| SymbolicCostExprEquals | cost-predicate (`SymbolicCost`-typed; per `src/v3/compiler/src/test_runner.rs` `SymbolicCostExprEquals: structural shape is valid` NYI receipt) | `symbolic_cost_expr_equals_executable` | T-CostLens-Composition | +| BridgeLedgerZero | ledger-row count (Pattern E ratchet — decreasing-open-count, NOT DimensionReport; per `ROADMAP.md` §"Course correction #4" + `r3-structure.md` `bridge_retirement_ledger_zero` gate) | `bridge_retirement_ledger_zero` (existing) | T-Bridge-Retirement | +| Free-Consequences-Demonstration | **composite of 10 gates** (NOT a single predicate; `r3-structure.md` §"Acceptance" → T-Free-Consequences-Demonstration gates) | (composite — see existing gates) | T-Free-Consequences-Demonstration | -Existing fixtures in `r3-v-pattern-a-coverage-rollup.md` + `r3-v-pattern-a-second-mover-conformance-audit.md` series document predicate scaffolds. **Open** (Verification Mgr canvas escalation #1, §10): which executable slice fires first. +**Gate names labeled as "proposed (Q1 ledger-name)"** for the 5 newly-named predicates that don't yet exist in `r3-structure.md` §"Acceptance" or `src/v3/std/verification.dag` as authored TestClaims. Existing gates (`bridge_retirement_ledger_zero`, T-Free-Consequences-Demonstration's 10 gates) keep canonical names. + +Existing fixtures in `docs/briefs/r3-v-pattern-a-coverage-rollup.md` + `r3-v-pattern-a-second-mover-conformance-audit.md` series document predicate scaffolds. **Open** (Verification Mgr canvas escalation V1, §10): first executable slice — see §2.1 + Q-PAFS in §10.3. ### §1.2 v2 fully retired (2 predicates — already declared) @@ -88,7 +92,7 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown |---|---|---| | T-Tier3-Dissolution | `tier3_*_mirror_dissolved` (state-check) | + `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer .dag program runs end-to-end via Evaluator | | T-LensProducer-Retirement | retirement gates (state-check) | + `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program | -| T-V-L4-L7-Direct | `l4_emit_eval_match`, `l7_algebraic_laws_witnessed` ✓ | (existing) | +| T-V-L4-L7-Direct | `l4_emit_eval_match`, `l7_algebraic_laws_witnessed` (skeleton/staged at HEAD; closure bar = exhaustive per-(algebra, inhabitant, law) coverage per `r3-structure.md` §"Lane structure" → T-Verification-L4-L7-Direct row + 2026-05-02 fold-in) | (existing harness — NOT yet "fully demonstrated"; over-greening risk per Verification Mgr poke-hole 2026-05-06) | | T-V-L5-Corpus | `l5_cross_target_consistency` ✓ | (existing) | | T-FixedPoint | `pb_self_compile_fixed_point` ✓ | (existing) | | T-Numeric-Construction | substrate-shape gates only | + `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes | @@ -115,12 +119,18 @@ This principle is NOT a separate lane; it's a per-lane gate-shape requirement ap For each predicate not yet GREEN, what's blocking + sequence to close. -### §2.1 Pattern A executable (7 predicates) +### §2.1 Pattern A executable (4-family predicate cluster) -**Critical-path blocker**: at least one `BinaryDimensionReportEquals` path must compare real `DimensionReport` outputs (not `NotYetImplemented` shells) before any of the 7 can ratchet to executable. Per Verification Mgr canvas escalation #1 (cool-owl-579, 00:07:13Z). +**Critical-path blocker (DimensionReport-typed family — TC1/TC2/TC3)**: at least one `BinaryDimensionReportEquals` path must compare real `DimensionReport` outputs (not `NotYetImplemented` shells) before any of TC1/TC2/TC3 can ratchet to executable. Per Verification Mgr canvas escalation V1 (cool-owl-579). -**Sequence**: -1. **Director / Brian ratify first executable slice** (Q-Pattern-A-First-Slice, §10) — TC1 η-equivalence vs RustDagIsomorphism vs other. +**Other Pattern-A families** have distinct unblock paths (per Verification Mgr poke-hole 2026-05-06): +- **RustDagIsomorphism**: structural-Dag-equivalence harness; not gated on DimensionReport unblock. +- **SymbolicCostExprEquals**: cost-predicate; gated on `SymbolicCost`-side runner work (separate from DimensionReport). +- **BridgeLedgerZero**: ledger-count ratchet; gated on retirement work landing across 5 sub-bridges (see §2.3). +- **Free-Consequences**: 10 sub-gates each with their own runtime prerequisites. + +**Sequence (DimensionReport-typed family)**: +1. **Director countersignature on first executable slice** (Q-PAFS, §10) — TC1 η-equivalence vs RustDagIsomorphism vs other. *Note: `r3-v-tc1-eta-equivalence-deeper-analysis.md` is `Status: PROPOSAL / research-only` and explicitly states "This analysis does not choose among those paths." TC1-first is **PM/Brian convenience default** pending Director engineering sign-off, NOT Verification-Mgr-ratified from the analysis alone.* 2. R3 Evaluator Mgr surfaces runtime prerequisites for chosen slice (`Pattern A` runtime executable). 3. Substrate Mgr authors any missing carrier (likely none if first slice is TC1). 4. Verification worker dispatches gap-test → first predicate ratchets to executable. @@ -176,8 +186,9 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane |---|---|---|---|---|---| | T-Tier3-Dissolution | PB | YELLOW | (TBD from PB canvas) | (TBD) | (TBD) | | T-LensProducer-Retirement | PB | YELLOW | (TBD from PB canvas) | T-FixedPoint + R2-Evaluator | (TBD) | -| T-V-L4-L7-Direct | Verification | YELLOW | r3-v-l4-l7-direct-* briefs | Pattern A first slice (Q-PAFS) | (TBD) | -| T-V-L5-Corpus | Verification | RED | (waits on L4 corpus) | T-V-L4-L7-Direct landing | post-L4 | +| T-V-L4 (emit/eval match) | Verification | YELLOW | r3-v-l4-l7-direct-* briefs | Pattern A first slice (Q-PAFS) + corpus build-out | (TBD) | +| T-V-L7 (algebraic-law witness coverage) | Verification | YELLOW | r3-v-l7-algebra-coverage-matrix briefs | per-(algebra, inhabitant, law) exhaustive coverage gap | (TBD) | +| T-V-L5-Corpus | Verification | RED | (waits on L4 corpus + Shape A grounding) | T-V-L4 corpus existing first | post-L4 | | T-FixedPoint | PB | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | | T-Numeric-Construction | Substrate | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | | T-Omni-Shape-B | Release | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | @@ -338,7 +349,9 @@ Pattern A executable (7 predicates): R3 close = all ~65 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining ``` -**Critical-path chain** (longest dependency from now to close): +**Two longest-dependency paths** (per `r3-structure.md` §"Dependency DAG" — Verification Mgr poke-hole 2026-05-06 surfaced this dual structure was missing from earlier framing): + +**Global critical-path chain** (substrate-completion + recursive-flex commit): 1. T-E-P-Producer-Broadening (Substrate, foundational) 2. → T-Lens-Behavioral-Parity (cross-program, 4 sub-slices) @@ -346,6 +359,13 @@ R3 close = all ~65 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive 4. → T-Workflow-As-Data (Substrate) 5. → T-Lens-Self-Application (Verification, demonstration) +**Verification-internal critical path** (longest verification path; parallel to global chain): + +1. T-Verification-L4-L7-Direct (post-R2-Evaluator + R2-T-Substrate-Lens-Primitive + Shape A grounding for L4 corpus) +2. → T-Verification-L5-Corpus (consumes L4 corpus + R2-Grounding-Rust + R2-Grounding-Python) + +Verification-internal path runs in parallel with global chain post-R2-Evaluator. Plus parallel longest single-lane path: **T-V2-Retirement** depends on T-FixedPoint + T-LensProducer-Retirement. + Plus the parallel longest-path: **T-V2-Retirement** depends on T-FixedPoint + T-LensProducer-Retirement; longest single-lane path. **Estimated R3 close**: 8-12 weeks from 2026-05-06, gated on T-V2-Retirement + T-Lens-Self-Application both completing. @@ -459,7 +479,11 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun #### §10.2.1 R3 Verification Mgr (cool-owl-579, #1740) — 2 escalations -**V1. Pattern A blocks executable BridgeLedgerZero / net bridge shrink** (canvas item 1, structural) +**V1. Pattern A (DimensionReport-typed family) blocks executable / net bridge shrink** (canvas item 1, structural) + +**Note** (Verification Mgr poke-hole 2026-05-06): V1's DimensionReport-unblock fixes TC1/TC2/TC3 cluster but does NOT automatically fix **V2** (SymbolicCostExprEquals — different predicate family, `SymbolicCost`-typed, distinct runner work) NOR **BridgeLedgerZero** (Pattern E ledger-count ratchet, separate retirement-work cascade). Each Pattern-A predicate family has its own unblock path per §1.1 + §2.1. + +**V1 (continued)**: - **Needs**: Director + Brian — which first executable slice (TC1 vs RustDagIsomorphism vs other) + lane priority. - **R3 zero-debt impact**: Must be explicit pre-close. Cannot be "post-R3" without renaming the close predicate. - **Plan integration**: §1.1, §2.1; ratification opens Q-PAFS in §10.3. @@ -536,7 +560,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | ID | Question | PM recommendation (applied as default) | Status | |---|---|---|---| -| Q-PAFS | Which Pattern-A first executable slice (TC1 vs RustDagIsomorphism vs other) | TC1 η-equivalence first (Verification has deeper analysis docs in flight: `r3-v-tc1-eta-equivalence-deeper-analysis.md`) | RATIFIED-by-default; Director may explicitly redirect | +| Q-PAFS | Which Pattern-A (DimensionReport-typed family) first executable slice (TC1 vs RustDagIsomorphism vs other) | **TC1 η-equivalence first as PM/Brian convenience default; needs Director countersignature** — `r3-v-tc1-eta-equivalence-deeper-analysis.md` is `Status: PROPOSAL / research-only` and explicitly does not choose among paths. PM-default ≠ Verification-Mgr engineering sign-off. | **PENDING DIRECTOR COUNTERSIGNATURE** (per Verification Mgr poke-hole 2026-05-06; PM convenience-default applies until then) | | Q-NYI-Accounting | NYI claim coverage/completeness accounting | Mark NYI incomplete in aggregation reporting; ratchet to executable per evaluator-slice landing | RATIFIED-by-default | | Q-Std-Carrier-Phasing | Rust std-carrier phasing (Option/Cardinal/HigherOrderMethodSpec/allocator-hasher) | Phase 1 = default-only/default-instance; later phases as separate Substrate slices post-Phase-1 | RATIFIED-by-default | | Q-Drift-Reconcile | Drift items routing (#1638, #1499, declaration_by_name) | Single Debt-Paydown worker reconciles all three → one PR closing rows in ledger + ROADMAP | RATIFIED-by-default | From 2f77d9437ecd38e1807be7e5ee5ca6664d818064 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:46:06 +0000 Subject: [PATCH 06/36] =?UTF-8?q?docs(r3):=20absorb=20Director=20poke-hole?= =?UTF-8?q?=20=E2=80=94=206=20RED=20+=205=20YELLOW=20closure-blocking=20fi?= =?UTF-8?q?ndings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per zesty-bear-812 Director-tier review at PR #1808 #issuecomment-4384225869. 21 findings across 6 dimensions; 6 RED (must address before plan PR opens) + 12 YELLOW + 3 GREEN. This commit absorbs all 6 RED + 5 YELLOW. RED findings absorbed: 1.1 (§1.6 demonstration-gate spec) — Plan said gate "exercises end-to-end" without minimum bar. Risk: Mgrs declare static-fact gates as demonstrations. Fix: §1.6 added "Demonstration-gate minimum bar" — runs through v3 evaluator end-to-end + produces observable output + non-trivial input (≥2 algebraic constructs). 1.2 (§1.3 BridgeLedgerZero count inclusion) — Class D + E ambiguity. Risk: ledger reads "0" while Class D/E debt persists. Fix: §1.3 added explicit class-inclusion list — A+B+C+F+G count toward zero; D (bounded scaffolds) + E (v2 transition; own gate) excluded by-construction. 1.3 (§1.4 substrate-gap-class single-test-pass framing) — Sample-of-class, not closure-of-class. Risk: class reads GREEN while bridges persist unexercised by chosen representative. Fix: §1.4 framing strengthened to conjunctive — closure requires (a) representative gap-test passes AND (b) systematic enumeration shows count = 0 or explicit Director allocation per §7.2. 2.1 (§6 missing T-Numeric-Construction → T-V2-Retirement edge) — Risk: critical-path estimate under-counts T-Numeric-Construction sub-path. Fix: §6 graph adds explicit edge (parser-syntax blocker for v2). Plus 2.2 T-FixedPoint → bridge-retirement-ledger edge + 2.3 T-Workflow-As-Data parallel-to-LAS (NOT sequential) corrections. 3.1 (§1.5 r3_debt_paydown_zero_remaining inclusion list undefined) — Risk: predicate satisfied by deletion-of-rows-without-resolution. Fix: §1.5 added "Tracked-debt inclusion list" — counts ROADMAP open rows + sweep-doc Class A/B/C/F/G + RED-flagged escalations; excludes PM-coordination items, scheduled-deletions, retirement-receipts, Class D/E bridges. 6.3 (§5 bridge counts "expected" not "verified") — PRE-Phase-3-compile estimates. Fix: §5 added explicit Status note — Phase 2 deliverables landed at PR #1804; Phase 3 compile populates verified counts before plan PR opens. YELLOW findings absorbed (5 of 12): 3.2 — Add `pr_anticipation_discipline_ci_active` closure gate (Q-PR-Anticipation- Gate in §10.3); owner R3 Debt-Paydown. 4.1 — `v2_retirement_demonstration` reframed as `v3_self_host_demonstration` (direct positive form vs deletion's-inverse). 4.2 — `cost_lens_demonstration` representative-program scope tightened (≥2 algebra-instances composed, ≥1 recursive call, observable cost-bound). 4.3 — `anthropic_wire_demonstration` mock acceptance specified (deterministic mock satisfies; live-API testing tracked separately as CI cadence). 5.1 — Q-Pattern-Class-Naming explicit binding to §1.4 names; 5 names listed. 5.2 — Q-R2-IB-Closure (#1778) added to §10.3 escalation register. 5.3 — Q-1807-Cleanup added to §10.3 (Director decision needed on branch cleanup approach per #1807 #issuecomment-4383967713). 6.1 — §10.2.3-§10.2.6 placeholders timestamped (as-of 2026-05-06T00:30Z). 6.4 — §9.2 R3 close target marked PROVISIONAL pending canvas compile. Verification Mgr poke-hole (8 findings) absorbed at prior sha 0719d7a62. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 102 ++++++++++++++++++++++++++-------------- 1 file changed, 68 insertions(+), 34 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 4ae495e4fa1..ba118b4c27b 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -52,13 +52,17 @@ Owner: PB Mgr (T-V2-Retirement lane). No new predicates needed. Existing gate (`r3-structure.md` §"Acceptance" → T-Bridge-Retirement gates): - `bridge_retirement_ledger_zero` — unified ledger reports 0 named identity bridges remaining. +**Bridge-class inclusion** (per Director poke-hole 2026-05-06 finding 1.2; closes count-criteria gap): +- **Counts toward zero**: Class A (substrate-gap-blocked) + Class B (Pattern-A NYI predicates) + Class C (typed-carrier + Rust-mirror) + Class F (operator-ontology-duplication) + Class G (local-small). +- **Excluded by-construction**: Class D (generated bridges with freshness gates — bounded scaffolds, not debt by intent per `r3-debt-sweep-2026-05-06.md` §Class D) + Class E (v2/v3 transition — retires at v2 retirement which has its own gate `v2_directory_deleted`). + Owner: Verification Mgr (ledger gate); retirement work distributed per `r3-structure.md` §"Lane structure" → T-Bridge-Retirement row (2 Substrate-owned + 3 PB-owned). ### §1.4 5 substrate-gap classes closed (5 predicates — NEW; Brian-ratified scope) Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, function-valued data, file-ingestion, workflow/scheduling, reflection-closure."* -**PM-recommended framing (Q2, §10): these are CLOSURE CRITERIA over existing lane work, NOT new separate lanes.** Each class closes when at least one representative gap-test executes through v3 cleanly — exercising the substrate carrier whose absence currently bridges to v2 / hand-Rust. Adds 5 TestClaims to the ledger; lane work distributes across existing 18 lanes. +**PM-recommended framing (Q2, §10): these are CLOSURE CRITERIA over existing lane work, NOT new separate lanes.** Each class closes when **both**: (a) representative gap-test executes through v3 cleanly per Pass condition; AND (b) systematic enumeration of class-bridges shows count = 0 (or any survivors carry explicit Director allocation per §7.2 STRUCTURAL exception). Per Director poke-hole 2026-05-06 finding 1.3 — single-test-pass alone is sample-of-class, not closure-of-class; conjunctive predicate prevents class reading "GREEN" while real bridges in that class persist unexercised by the chosen representative. | Class | TestClaim gate | Representative gap-test | Lane(s) producing closure | |---|---|---|---| @@ -72,10 +76,17 @@ 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): existing 60+ gates from `r3-structure.md` §"Acceptance" + 5 new substrate-gap-class gates + per-lane demonstration gates (§1.6) = **~70 gates** across 18 lanes + 1 standing program. +**Total R3 closure gates** (post-Q1 + Q2 ratification): existing 60+ gates from `r3-structure.md` §"Acceptance" + 5 new substrate-gap-class gates + per-lane demonstration gates (§1.6) + 1 PR-anticipation-discipline gate (§7) = **~71 gates** across 18 lanes + 1 standing program. R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). +**Tracked-debt inclusion list for `r3_debt_paydown_zero_remaining`** (per Director poke-hole 2026-05-06 finding 3.1; closes definition gap): + +- **Counts toward zero**: ROADMAP open `- **` rows under "Post-merge debt" sections; sweep-doc §1 Class A/B/C/F/G entries (per §1.3 inclusion criteria); §10 RED-flagged escalation items. +- **Excluded by-construction**: PM-coordination items (Brian-Q queue, dispatch routing); scheduled-deletions-with-named-trigger (the trigger IS the resolution); retirement-receipts (post-resolution accounting); Class D bridges (bounded-scaffold freshness gates) and Class E bridges (v2/v3 transition — retires at v2 retirement which has its own gate). + +Predicate cannot be satisfied by deletion-of-rows-without-actual-resolution; each retiring row requires named PR receipt OR closure-ledger entry citing the structural event that ends the row's existence. + ### §1.6 Demonstration principle (Brian-ratified 2026-05-06) **Every feature comes with a demonstration.** Generalizes Q5 (free-consequences demonstration) to a structural requirement: every R3 lane MUST include at least one demonstration-shaped TestClaim — a runtime-executable claim that exercises the lane's deliverable end-to-end, not just static-fact assertions about substrate shape. @@ -86,6 +97,15 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown - "Look, it runs" minimal artifact per `r3-structure.md` §"R3 demo discipline + omni-emission TDD". - Closure ledger reports demonstration-gate status separately from substrate-shape gates. +**Demonstration-gate minimum bar** (per Director poke-hole 2026-05-06 finding 1.1; prevents Mgrs declaring static-fact gates as demonstrations): + +A runtime-executable demonstration gate satisfies §1.6 only if **all three**: +- **(a) End-to-end execution**: runs through v3 evaluator end-to-end (NOT a static-fact assertion about declared types or compiler internals). +- **(b) Observable output**: produces observable result — `DimensionReport`, executable artifact (compiles + runs), runtime check result, or witness-construction output. The demonstration must produce something a reader can inspect. +- **(c) Non-trivial input**: representative program with at least 2 distinct algebraic constructs (e.g., for a function lens demo: a function with ≥1 branch + ≥1 bind, not a one-line `id` function). Single-line fixtures do not satisfy. + +Mgrs author per-gate spec citing the (a)/(b)/(c) satisfaction; closure-ledger entries record observed output. + **Per-lane demonstration audit** (RATIFIED 2026-05-06 per Brian directive at gunbc#846; Q5 generalized to demonstration principle in §10.1): | Lane | Existing demo gate | Needed demo gate (if missing) | @@ -97,10 +117,10 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown | T-FixedPoint | `pb_self_compile_fixed_point` ✓ | (existing) | | T-Numeric-Construction | substrate-shape gates only | + `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes | | T-Omni-Shape-B | `omni_openapi_backend_emission_demo` ✓ | (existing — multiple demos) | -| T-Anthropic-Wire | wire alignment gates | + `anthropic_wire_demonstration` — full request/response cycle executes against Anthropic API or mock | +| T-Anthropic-Wire | wire alignment gates | + `anthropic_wire_demonstration` — full request/response cycle executes against deterministic mock (live-API testing tracked separately as CI cadence concern, NOT closure gate per Director poke-hole 2026-05-06 finding 4.3 — avoids CI flakiness) | | T-Bridge-Retirement | `bridge_retirement_ledger_zero` (count-check) | + `bridge_retirement_demonstration` — at least one retired-bridge replacement path executes (e.g., typed-identity-surface used in production code) | -| T-CostLens-Composition | structural-fold gates | + `cost_lens_demonstration` — cost lens reads representative target program and composes algebra+realization cost end-to-end | -| T-V2-Retirement | deletion gates (state-check) | + `v2_retirement_demonstration` — bootstrap path through PB-Runtime trampoline executes (deletion's inverse: the v3-only path runs) | +| T-CostLens-Composition | structural-fold gates | + `cost_lens_demonstration` — cost lens reads representative target program (≥2 algebra-instances composed, ≥1 recursive call, observable cost-bound output per (c)) and composes algebra+realization cost end-to-end | +| T-V2-Retirement | deletion gates (state-check) | + `v3_self_host_demonstration` — bootstrap path through PB-Runtime trampoline executes end-to-end; v3-only self-host pipeline runs without v2 fallback (Director poke-hole 2026-05-06 finding 4.1: reframed from `v2_retirement_demonstration` "deletion's inverse" to direct positive-statement form) | | T-Free-Consequences-Demonstration | 10 demo gates ✓ | (existing — full demo suite) | | T-E-P-Producer-Broadening | substrate-shape gates | + `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime | | T-Lens-Behavioral-Parity | parity-complete gates | + `lens_behavioral_parity_demonstration` — each lens (complexity/cost/parallelism/effect_enumeration) demonstrates on representative input + matches v2 oracle | @@ -273,6 +293,8 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane **Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2. +**Status (2026-05-06)**: per-class counts below are PRE-Phase-3-compile expected ranges from Director's bridge-class framework. Phase 2 sweep deliverables (PR #1804 §1.1–§2.2) have landed substantive partial data; **Phase 3 compile** populates verified-at-HEAD counts replacing these expected ranges before plan PR opens (per Director poke-hole 2026-05-06 finding 6.3). + **Apples-to-apples count discipline** (per `feedback_corrections_must_grep_verify_source` + INVARIANTS P1 single-authority): - **66 `.rs` files** in `src/v3/compiler/src/` (excluding `emit/`) — file-level scope of quiet-boar-160's per-file audit work (Class A-G assignment per audited file). Filesystem count. @@ -319,36 +341,43 @@ T-E-P-Producer-Broadening ────────────┐ │ (Substrate, in flight) │ ▼ │ T-Lens-Behavioral-Parity │ Parallel: - │ (Substrate + Verification) │ - T-FixedPoint (PB) - ▼ │ - T-LensProducer-Retirement (PB) -T-Lens-Application-Surface │ - T-CostLens-Composition (Substrate) - │ (Substrate + Verification) │ - T-Tests-As-Data-Completeness (Verification) - ▼ │ - T-Numeric-Construction (Substrate) -T-Workflow-As-Data ─────────┐ │ - T-Anthropic-Wire (Substrate) - │ (Substrate) │ │ - ▼ │ ▼ -T-Lens-Self-Application │ T-V2-Retirement (PB; longest-path) - │ (Verification) │ │ - ▼ │ ▼ -substrate-gap-class 4 closed │ v2_directory_deleted gate - ▼ - substrate-gap-class 3 closed - │ - Class 1 (parser) closes via T-V2-Retirement parser path - Class 2 (function-valued) closes via T-Lens-Application-Surface - Class 5 (reflection) closes via T-LensProducer-Retirement + │ (Substrate + Verification) │ - T-FixedPoint (PB) ─────────────┐ + ├──┐ │ - T-LensProducer-Retirement (PB) │ + │ │ │ - T-CostLens-Composition │ + │ │ (parallel post-LBP COMPLETE) │ - T-Tests-As-Data-Completeness │ + ▼ ▼ │ - T-Numeric-Construction ────────┼──┐ (parser-syntax +T-Lens-Application-Surface │ - T-Anthropic-Wire │ │ blocker for v2) +T-Workflow-As-Data │ │ │ + │ │ │ │ │ + ▼ ▼ │ ▼ ▼ +T-Lens-Self-Application │ T-V2-Retirement (PB) + │ (Verification) │ │ + ▼ │ ▼ +substrate-gap-class 3 + 4 closed │ v2_directory_deleted gate + │ │ + ▼ ▼ + Class 1 (parser) closes via T-V2-Retirement parser path + Class 2 (function-valued) closes via T-Lens-Application-Surface + Class 5 (reflection) closes via T-LensProducer-Retirement Bridge-Retirement Ledger (Verification gate): - 2 Substrate-owned + 3 PB-owned bridges retire as natural-owner programs close + - T-FixedPoint completion is upstream prerequisite (PB-owned bridges retire alongside) - bridge_retirement_ledger_zero gate fires when count = 0 -Pattern A executable (7 predicates): - - First slice (TBD via Q-PAFS, §10) ratchets to executable - - Remaining 6 cascade post-first-slice; gated on R3-Evaluator runtime prerequisites +Pattern A executable (4-family cluster — see §1.1): + - DimensionReport-typed family (TC1/TC2/TC3): first slice via Q-PAFS (Director countersignature pending) + - Remaining families (RustDagIsomorphism / SymbolicCostExprEquals / BridgeLedgerZero / Free-Consequences) + have separate unblock paths per §2.1 -R3 close = all ~65 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining +R3 close = all ~71 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining ``` +**Edges added in §6 graph per Director poke-hole 2026-05-06**: +- T-Numeric-Construction → T-V2-Retirement (parser/grammar substrate path; finding 2.1) +- T-FixedPoint → Bridge-Retirement Ledger (PB-owned bridge retirement cascades; finding 2.2) +- T-Lens-Application-Surface and T-Workflow-As-Data parallel post-LBP COMPLETE (NOT sequential; finding 2.3 — both gated by T-Lens-Behavioral-Parity, neither depends on the other) + **Two longest-dependency paths** (per `r3-structure.md` §"Dependency DAG" — Verification Mgr poke-hole 2026-05-06 surfaced this dual structure was missing from earlier framing): **Global critical-path chain** (substrate-completion + recursive-flex commit): @@ -451,9 +480,9 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun **Week of 2026-06-10–2026-06-17**: T-V2-Retirement parser path begins; substrate-gap-class 1 close target. **Week of 2026-06-24–2026-07-01**: T-Workflow-As-Data executes; substrate-gap-classes 3+4 close. **Week of 2026-07-08–2026-07-15**: T-Lens-Self-Application demo; recursive-flex demonstration cashes. -**Target R3 close**: 2026-08-01 ± 2 weeks. +**Target R3 close**: 2026-08-01 ± 2 weeks. **PROVISIONAL** (per Director poke-hole 2026-05-06 finding 6.4) — estimate based on Mgr-canvas inputs landing per §3, which is incomplete pending 4 canvas responses (Substrate / Evaluator / PB / Debt-Paydown). Re-estimate after canvas compile completes; confidence interval may widen. -(Estimates based on Mgr-canvas inputs landing; refinement after Q1–Q7 ratification.) +(Refinement after Q1–Q7 ratification + canvas compile.) --- @@ -546,13 +575,15 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun - **R3 zero-debt impact**: main RED risk — if upstream carrier decisions are not scheduled as prerequisite plan nodes, Grounding cannot honestly close by R3. - **Plan integration**: this plan §6 Dependency DAG + §3 lane status (cross-Mgr dependency edges) directly addresses this; G10 closes when §6 graph is Mgr-validated. -#### §10.2.3 R3 Substrate Mgr — pending canvas response +#### §10.2.3 R3 Substrate Mgr — pending canvas response (as-of 2026-05-06T00:30Z) + +#### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) -#### §10.2.4 R3 Evaluator Mgr — pending canvas response +#### §10.2.5 R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z) -#### §10.2.5 R3 PB Mgr — pending canvas response +#### §10.2.6 R3 Debt-Paydown Mgr — pending canvas response (as-of 2026-05-06T00:30Z) -#### §10.2.6 R3 Debt-Paydown Mgr — pending canvas response +(Per Director poke-hole 2026-05-06 finding 6.1: timestamp added to clarify these are point-in-time placeholders. Plan PR opens after canvas compile completes.) ### §10.3 Net escalations awaiting decision @@ -564,7 +595,10 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | Q-NYI-Accounting | NYI claim coverage/completeness accounting | Mark NYI incomplete in aggregation reporting; ratchet to executable per evaluator-slice landing | RATIFIED-by-default | | Q-Std-Carrier-Phasing | Rust std-carrier phasing (Option/Cardinal/HigherOrderMethodSpec/allocator-hasher) | Phase 1 = default-only/default-instance; later phases as separate Substrate slices post-Phase-1 | RATIFIED-by-default | | Q-Drift-Reconcile | Drift items routing (#1638, #1499, declaration_by_name) | Single Debt-Paydown worker reconciles all three → one PR closing rows in ledger + ROADMAP | RATIFIED-by-default | -| Q-Pattern-Class-Naming | Substrate-gap-class TestClaim names | Names per §1.4 table | RATIFIED-by-default | +| Q-Pattern-Class-Naming | Substrate-gap-class TestClaim names | **Q-Pattern-Class-Naming ratifies §1.4 table names verbatim as TestClaim identifiers** (per Director poke-hole 2026-05-06 finding 5.1 — explicit binding). Names: `substrate_gap_parser_grammar_closed`, `substrate_gap_function_valued_data_closed`, `substrate_gap_file_ingestion_closed`, `substrate_gap_workflow_scheduling_closed`, `substrate_gap_reflection_closure_closed`. | RATIFIED-by-default | +| Q-R2-IB-Closure | #1778 R2 Impossible-Bugs queue closure (warm-dove-810; nested optional codegen bypass) | PM-coordination item tracked in Brian-Q queue at #828; remains Brian-disposition pending; not blocking R3 plan PR | TRACKED (per Director poke-hole 2026-05-06 finding 5.2) | +| Q-1807-Cleanup | #1807 SG-0 net-shrink discipline rollout — branch contains 5 of 9 files = #1797-resurrection per Director critique at #1807 #issuecomment-4383967713 | PM-coordination item; Director ratifies cleanup approach (Option A force-push vs Option B cherry-pick); affects §7.2 anticipation-discipline rollout via R3 Debt-Paydown lane | OPEN — Director decision needed (per Director poke-hole 2026-05-06 finding 5.3) | +| Q-PR-Anticipation-Gate | Add `pr_anticipation_discipline_ci_active` closure gate (CI verifiably enforcing §7 anticipation discipline) | Add to §1 closure-gate set; owner R3 Debt-Paydown Mgr (already routed at #1744 #issuecomment-4383628247); fires when `scripts/check-pr-sg0-net-shrink-discipline.sh` is in CI workflow + self-test passes | RATIFIED-by-default (per Director poke-hole 2026-05-06 finding 3.2) | | Q-PR-F | PR-F priority + sequencing (BoundDeclaration consumer + Rust ReferenceModel) | Schedule into critical path post-T-E-P-Producer-Broadening; Substrate Mgr executes PR-F as Substrate-lane work | RATIFIED-by-default | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | From 2294265fb078a67aaff26811bec9d71c307b05f0 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:49:37 +0000 Subject: [PATCH 07/36] =?UTF-8?q?docs(r3):=20absorb=20Grounding=20Mgr=20po?= =?UTF-8?q?ke-hole=20=E2=80=94=20dependency-direction=20+=20drift-items=20?= =?UTF-8?q?+=20Grounding=20side-branches?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per bold-ferret-748 Grounding Mgr review at PR #1808 #issuecomment-4384302437. 5 findings, all VALID. Substantive structural fixes: Finding 1 (authority hierarchy correctness) — Plan §5 cited docs/audit/r3-debt-sweep-2026-05-06.md as source-of-truth, but that file is on PR #1804 (not merged to main yet). Plan PR could merge into broken authority. Fix: §5 added "Cross-PR dependency" header noting PR #1808 sequenced AFTER PR #1804 (claude APPROVE'd, doc-only, mergeable). Finding 2 (v2-retirement dependency direction REVERSED) — Plan §2.2 placed PR-F + Float migration as prerequisites for v2_directory_deleted. Wrong per r3-structure.md: T-V2-Retirement depends on T-FixedPoint + T-LensProducer + T-Numeric-Construction Int; PR-F + Float are blockers for FULL Rust primitive grounding (T-Ground-Rust complete-coverage), NOT v2 deletion. Fix: §2.2 corrected sequence + added separate "Grounding-side dependency branch" section covering PR-F + Float for T-Ground-Rust + L5 closure. Finding 3 (§3 T-Anthropic-Wire status drift) — Plan said GREEN-pending / no blocker, but #1702 CLOSED + held pending Substrate variant-aware projection metadata carrier. Fix: §3 row corrected to RED with Q-Anthropic-Variant-Aware blocker; cites preserved branch codex/cc1-target-integer-structural-fold sha 51c6a4a. Finding 4 (§6 Grounding side-branches missing — closes G10) — Plan §6 DAG didn't include Grounding-driven re-dispatch edges. Fix: added "Grounding-side dependency branches" 5-row table covering: PR-F → T-Ground-Rust Phase 1; EmissionPathProjection → L6 CrossTarget-Meta; variant-aware projection → #1702 Anthropic re-dispatch; LanguageSpec projection → Coercion-Fold retirement; F10 install_hint cleanup. G10 closes. Finding 5 (§5 drift items wrong) — Plan listed #1638/#1499/declaration_by_name but #1638 + declaration_by_name are SAME issue (double-counted) + CollectionOps/StringOps/MapOps drift omitted. Fix: §5 normalized to correct three: declaration_by_name ROADMAP↔ledger; #1499 transitional fence ledger-gap; CollectionOps/StringOps/MapOps stale ledger refresh. Plus minor: §2.4 Class 5 cascade-gating clarified per Director finding 2.4 (NOT parallel-to-LBP; depends on PB chain T-FixedPoint → T-LensProducer- Retirement). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 56 ++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 18 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index ba118b4c27b..8000ec72665 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -160,17 +160,24 @@ For each predicate not yet GREEN, what's blocking + sequence to close. ### §2.2 v2 retirement (2 predicates) -**Blockers** (per Grounding Mgr canvas, bold-ferret-748, item #2): PR-F (`BoundDeclaration` consumer + Rust `ReferenceModel` axes) blocks T-Ground-Rust; T-NumericConstruction-ApproximateField blocks Rust float rows. - -**Sequence** (from `r3-structure.md` §"Lane structure" → T-V2-Retirement row): +**Sequence** (from `r3-structure.md` §"Lane structure" → T-V2-Retirement row; Grounding Mgr poke-hole 2026-05-06 finding 2 corrected dependency direction): 1. T-FixedPoint completes (PB Mgr) — `compiler.dag` self-compile fixed-point 2. T-LensProducer-Retirement completes (PB Mgr) — 3 hand-Rust files retired -3. PR-F lands (T-Ground-Rust unblocks) -4. Float carrier migration (T-NumericConstruction-ApproximateField) -5. v2 directory deletion + test-consumer audit (T-V2-Retirement) +3. T-Numeric-Construction `Int` refinement landing (path-(a) coordination — v2 refinement-syntax blocker per `r3-structure.md` §"Lane structure" → T-Numeric-Construction row) +4. v2 directory deletion + test-consumer audit (T-V2-Retirement) **ETA**: 4-8 weeks; longest-path lane in R3. +**Distinct Grounding-side dependency branch (NOT v2-retirement prerequisite — moved out per Grounding Mgr poke-hole 2026-05-06 finding 2)**: + +PR-F (`BoundDeclaration` consumer + Rust `ReferenceModel` axes) + Float migration (T-NumericConstruction-ApproximateField) are blockers for **full Rust primitive grounding** (T-Ground-Rust complete-coverage) + downstream **L5 cross-target consistency**, NOT for `v2_directory_deleted` gate. + +Sequence (Grounding-side): +1. PR-F lands (Substrate Mgr; unblocks T-Ground-Rust Phase 1: `u128`, `isize`, `usize`, walker arms, pilot mirror) +2. Float carrier migration (T-NumericConstruction-ApproximateField → `Float32/Float64 = ApproximateField`; unblocks Rust float rows) +3. T-Ground-Rust full-coverage (post-PR-F + post-Float) +4. T-V-L5-Corpus closes once L4 corpus + Shape A grounding (Rust + Python) both ready + ### §2.3 BridgeLedgerZero (1 predicate) **Sub-bridges** (`r3-structure.md` §"Lane structure" → T-Bridge-Retirement row distribution map): @@ -188,13 +195,13 @@ Each retires per its natural-owner program prerequisites. Verification Mgr's `br ### §2.4 5 substrate-gap classes (5 predicates) -**Class 1 (parser/grammar)**: closes with T-V2-Retirement parser path (post-T-FixedPoint). +**Class 1 (parser/grammar)**: closes with T-V2-Retirement parser path (post-T-FixedPoint + post-T-LensProducer-Retirement + post-T-Numeric-Construction `Int`). **Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). -**Class 3 (file-ingestion)**: closes with T-Workflow-As-Data file-ingestion grammar. -**Class 4 (workflow/scheduling)**: closes with T-Workflow-As-Data CI-workflow-as-dag. -**Class 5 (reflection-closure)**: closes with T-LensProducer-Retirement. +**Class 3 (file-ingestion)**: closes with T-Workflow-As-Data file-ingestion grammar (post-T-Lens-Behavioral-Parity). +**Class 4 (workflow/scheduling)**: closes with T-Workflow-As-Data CI-workflow-as-dag (post-T-Lens-Behavioral-Parity). +**Class 5 (reflection-closure)**: closes with T-LensProducer-Retirement (gated on T-FixedPoint via PB cascade chain — NOT parallel-to-LBP per Director poke-hole 2026-05-06 finding 2.4 correction). -**ETA**: All 5 parallel-eligible post-T-Lens-Behavioral-Parity; 4-8 weeks total. +**ETA**: Classes 2/3/4 parallel-eligible post-T-Lens-Behavioral-Parity COMPLETE. Class 1 + Class 5 cascade-gated (Class 1 on T-V2-Retirement chain; Class 5 on T-LensProducer-Retirement which depends on T-FixedPoint). 4-8 weeks total for parallel-eligible classes; cascade-gated classes track longer. --- @@ -212,7 +219,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane | T-FixedPoint | PB | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | | T-Numeric-Construction | Substrate | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | | T-Omni-Shape-B | Release | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | -| T-Anthropic-Wire | Substrate | GREEN-pending | (audit) | None | near-term | +| T-Anthropic-Wire | Substrate | RED | #1702 CLOSED + preserved on `codex/cc1-target-integer-structural-fold` at sha `51c6a4a`; held pending Substrate variant-aware projection metadata carrier | Q-Anthropic-Variant-Aware (per Grounding Mgr poke-hole 2026-05-06 finding 3 — §3 corrected from GREEN-pending to RED-blocked) | post-Substrate-projection-carrier | | T-Bridge-Retirement | Verification (ledger) | YELLOW | per-bridge dispatches | 5 sub-bridges retire | post-T-FixedPoint | | T-CostLens-Composition | Substrate | YELLOW | (TBD from Substrate canvas) | R2-Evaluator + R2-T-Substrate-Lens-Primitive | (TBD) | | T-V2-Retirement | PB | RED | r3-tv2-* briefs | T-FixedPoint + T-LensProducer | longest-path | @@ -293,6 +300,8 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane **Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2. +**Cross-PR dependency** (per Grounding Mgr poke-hole 2026-05-06 finding 1 — authority hierarchy correctness): the audit doc above is on PR #1804 (claude APPROVE on sha `450502c3`), NOT on `main` or this PR's branch. **Plan PR #1808 is sequenced to land AFTER PR #1804 merges** to prevent this plan section from citing a missing authority. PR #1804 is doc-only + mergeable + approved; expected to merge before PR #1808. + **Status (2026-05-06)**: per-class counts below are PRE-Phase-3-compile expected ranges from Director's bridge-class framework. Phase 2 sweep deliverables (PR #1804 §1.1–§2.2) have landed substantive partial data; **Phase 3 compile** populates verified-at-HEAD counts replacing these expected ranges before plan PR opens (per Director poke-hole 2026-05-06 finding 6.3). **Apples-to-apples count discipline** (per `feedback_corrections_must_grep_verify_source` + INVARIANTS P1 single-authority): @@ -320,10 +329,11 @@ This plan section reports cumulative bridge counts; PR #1804 holds the per-row i **Authoritative counts populate via PR #1804 §1.A–§1.G as Mgr canvases land**. Net-bridge count at R3 close is 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) §4 anticipation discipline). -**Drift items from Phase 2 sweep** (3 known; surfaced for §10 reconciliation): -- `#1638` ROADMAP retired but ledger Open -- `#1499` transitional fence disposition -- `declaration_by_name` retired/Open conflict +**Drift items from Phase 2 sweep** (per Grounding Mgr poke-hole 2026-05-06 finding 5 normalization — earlier list double-counted #1638/declaration_by_name as same issue + omitted CollectionOps drift): + +- **`declaration_by_name` ROADMAP↔ledger drift**: ROADMAP says `declaration_by_name(...) pattern in emit` retired by PR #1638; `docs/debt/r3-debt-paydown-ledger-2026-05-02.md` still marks `declaration_by_name(...) emit pattern` Open. Single-row reconciliation needed. +- **#1499 transitional fence ledger-row gap**: ROADMAP transitional-fence retirement not reflected in ledger row. +- **CollectionOps / StringOps / MapOps stale ledger refresh**: ROADMAP records CollectionOps fold + map progress, but ledger row says `Partial (fold)` and text says `concat / length / map` remain open. Ledger refresh needed. --- @@ -395,9 +405,19 @@ R3 close = all ~71 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive Verification-internal path runs in parallel with global chain post-R2-Evaluator. Plus parallel longest single-lane path: **T-V2-Retirement** depends on T-FixedPoint + T-LensProducer-Retirement. -Plus the parallel longest-path: **T-V2-Retirement** depends on T-FixedPoint + T-LensProducer-Retirement; longest single-lane path. +**Grounding-side dependency branches** (per Grounding Mgr poke-hole 2026-05-06 finding 4 — closes G10 by surfacing Grounding-driven re-dispatch edges in §6): + +| Upstream node | Grounding trigger | Worker-ready dispatch | Close predicate | +|---|---|---|---| +| PR-F (`BoundDeclaration` consumer + Rust `ReferenceModel`) | Substrate Mgr lands carrier | T-Ground-Rust Phase 1 (`u128`, `isize`, `usize`, walker arms, pilot mirror) | full Rust primitive grounding + L5 readiness | +| `EmissionPathProjection` carrier (Substrate; per `docs/briefs/r3-substrate-l6-per-row-projection-routing-decision.md`) | Substrate Mgr lands carrier | L6 CrossTarget-Meta row population + `coverage.rs` conversion | L6 cross-product fold gate | +| Variant-aware typed REST response projection carrier (Substrate) | Substrate Mgr lands carrier | #1702 Anthropic re-dispatch | T-Anthropic-Wire close + Q-Anthropic-Variant-Aware resolve | +| Real LanguageSpec projection (Substrate / LanguageSpec) | LanguageSpec projection executable | Coercion-Fold `ScratchIntExamples` + `TargetInhabitance` retirement in `src/v3/grounding_coercion_fold` | Q-Coercion-Fold-Scratch close | +| F10 cleanup (`dsl/extdeps/tools.dag` `install_hint`) | next Grounding signal PR or explicit small cleanup PR | Grounding worker dispatches | M5 cleanup close | + +These edges parallel the global + Verification critical paths; Grounding lane consumers wait on upstream Substrate carrier landing. -**Estimated R3 close**: 8-12 weeks from 2026-05-06, gated on T-V2-Retirement + T-Lens-Self-Application both completing. +**Estimated R3 close**: 8-12 weeks from 2026-05-06, gated on T-V2-Retirement + T-Lens-Self-Application both completing. **PROVISIONAL** (per Director poke-hole 2026-05-06 finding 6.4). --- From a72293bbf8f49a482d6a268c3fba377a723820e7 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:51:29 +0000 Subject: [PATCH 08/36] =?UTF-8?q?docs(r3):=20consolidate=20sweep=20framewo?= =?UTF-8?q?rk=20into=20plan=20PR=20=E2=80=94=20single=20coordinated=20auth?= =?UTF-8?q?ority=20drop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex BLOCKING inline on PR #1808 sha 0719d7a6 line 9 + Grounding Mgr poke-hole 2026-05-06 finding 1. Both flagged: plan cited docs/audit/r3-debt-sweep-2026-05-06.md as bridge-inventory authority, but that file was on prior PR #1804 (not main, not this branch) — INVARIANTS P5 single-authority violation if plan merged before sweep doc. Per feedback_modeling_inversion_and_paydown_flow — eliminate the escape hatch (cross-PR dependency), don't narrow it (cross-PR dependency note). Cleaner: consolidate sweep framework into this PR. Single PR drops three coordinated docs (plan + r3-structure.md updates + sweep framework). PR #1804 superseded + closes. Sweep framework consolidated: - docs/audit/r3-debt-sweep-2026-05-06.md (190 lines; PR #1804 head sha 860e175d content; codex APPROVE'd at that sha; Phase 1 framework with §1 schema + §3 GREEN/YELLOW/RED + inversion-test rubric + §4 anticipation discipline) Plan §"Authority hierarchy" + §5 reframed: - "all three docs land in this PR — single coordinated authority drop" - §5 source-of-truth note removes "Cross-PR dependency" placeholder; replaces with "consolidated into this PR; PR #1804 superseded" Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 190 +++++++++++++++++++++++++ docs/r3-program-plan.md | 10 +- 2 files changed, 194 insertions(+), 6 deletions(-) create mode 100644 docs/audit/r3-debt-sweep-2026-05-06.md diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md new file mode 100644 index 00000000000..dc3aaacadfe --- /dev/null +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -0,0 +1,190 @@ +# R3 Debt Sweep — 2026-05-06 + +**Status:** **Framework draft** — Phase 1 of 3-phase sweep per Director dispatch at [gunbc#828 #issuecomment-4383739792](https://github.com/gunb-ai/gunbc/issues/828#issuecomment-4383739792). PM-authored §1 schema + §3 eligibility rubric + §4 anticipation discipline; awaiting Director ratification before Phase 2 (parallel Mgr canvas dispatch). + +**Authority:** Brian-ratified scope at gunbc#828 (Director-relayed): +1. **v2 retirement folded into R3** (was separate Pure-Bootstrap-Zero / T-PB-A + T-PB-B program) +2. **Staffing not bottleneck**; comprehensive sweep (no partial); audit covers full v3 codebase + R2/R3-era PR history + ROADMAP + recent analyses + +**R3 closure criteria (Brian-ratified)**: all 5 substrate-gap classes closed + v2 fully retired + Pattern A NYI predicates executable + BridgeLedgerZero ratcheting at zero. + +**Methodology:** PM-coordinated, Mgr-parallelized canvas + compilation. Per `feedback_corrections_must_grep_verify_source`: all claims grep-verified; per `feedback_section_anchors_over_line_numbers`: cross-references use section/symbol anchors; per `feedback_modeling_inversion_and_paydown_flow`: RED items get inversion-test before flagging out-of-scope. + +--- + +## §1 Comprehensive bridge inventory + +Per Director's bridge-class framework (A-G). Populated post-Mgr-canvas (Phase 2-3). + +### Schema + +Each bridge has one row in the inventory: + +| Bridge | Class | File / location | Dissolution trigger | R3-close eligibility | Source PR | Owner Mgr | +|---|---|---|---|---|---|---| +| `` | A-G | `` | `` | GREEN / YELLOW / RED | `#NNNN` | Substrate / Verification / Evaluator / PB / Debt-Paydown / Grounding | + +Column rules (load-bearing): + +- **Bridge**: name or canonical symbol; not a free-text description. Examples: `CardinalityPayload::new_unchecked`, `SourceSpan.file participation checks`, `EmissionDiagnostic Rust mirror`. +- **Class**: single letter A-G per Director's framework (below). No "multi-class" entries — pick the load-bearing class; cross-reference others in the trigger column if structurally coupled. +- **File / location**: section/symbol anchor preferred; line numbers permitted only when no symbol name exists at the cited point. +- **Dissolution trigger**: named structural event that ends the bridge's existence (e.g., "T-V2-Retirement G-2 deletion landing", "R3 Substrate substrate-gap-class-3 closing", "PR #XXXX merging"). Not heuristic; not "eventually." +- **R3-close eligibility**: GREEN / YELLOW / RED per §3 rubric below. +- **Source PR**: PR that introduced the bridge, if traceable; "pre-R2" if older than R2 lane structure. +- **Owner Mgr**: which R3 Mgr's lane the bridge sits in (or coordinates-to). Single owner; cross-program coupling noted in trigger column. + +### Class A — Substrate-gap-blocked (~15-20 expected) + +Bridges that exist because a substrate carrier or grammar surface isn't yet modeled. Wait for parser/grammar surface, function-valued data, file-ingestion, workflow/scheduling, reflection-closure. + +[Mgr canvas populates rows] + +### Class B — Pattern-A NYI predicates (~7 expected) + +Test predicates declared but `NotYetImplemented`-shaped runtime: TC1, TC2, TC3, free-consequences, RustDagIsomorphism, BridgeLedgerZero, SymbolicCostExprEquals. + +[Mgr canvas populates rows; some entries pre-named per Director framework] + +### Class C — Pattern-C typed-carrier + Rust-mirror (~6+ expected) + +Rust mirrors of `.dag` typed carriers that should dissolve when v3 evaluator authoritatively executes the .dag side: EmissionDiagnostic, Value, EvalStrategy, BridgeLedgerRef, target-primitive routing. + +[Mgr canvas populates rows] + +### Class D — Generated bridges with freshness gates (~3-5 expected) + +Generated artifacts that would be debt without freshness ratchets but are bounded scaffolds with explicit regeneration gates: `render_repeat_string_bootstrap.dag`, `generated_method_template_projection.rs`. **Not debt by intent**; freshness gate prevents drift. May still be GREEN at R3 close if R3-close includes v2 retirement (which it now does per Brian-ratified fold-in). + +[Mgr canvas populates rows] + +### Class E — v2 ↔ v3 transition bridges (~10+ expected; **now in R3 scope per fold-in**) + +Bridges that exist solely because v3 isn't yet authoritative for some surface that v2 still owns: `emit_model.dag` facade, method-template legacy adapters, v2 transport infrastructure. Per Brian's R3-fold-in ratification, these are R3-close eligible (GREEN if v2 retirement closes; previously would have been "post-R3 / Pure Bootstrap"). + +[Mgr canvas populates rows] + +### Class F — Operator/algebra ontology duplication (~3 surfaces expected) + +Duplicate representations of operator/algebra concepts: OperatorSpec / OperatorKind / BinaryOpRow. Should consolidate to single ontology. + +[Mgr canvas populates rows] + +### Class G — Local/small bridges (~5-10 expected) + +Smaller scope bridges: F10 install_hint, ad-hoc fold sentinels, etc. + +[Mgr canvas populates rows] + +--- + +## §2 Hidden debt audit + +Items NOT currently in ROADMAP that should be tracked. Sources: +- SG-0 census per-entry justification (live count via `EXPECTED_HAND_AUTHORED_NON_TEST` + `EXPECTED_HAND_AUTHORED_TEST` + `EXPECTED_HAND_AUTHORED_FRAGMENTS` arrays in `src/v3/compiler/tests/integration/sg0_census_test.rs`; per-entry: is it bridge or pre-existing STRUCTURAL apparatus? if bridge, dissolution trigger?) +- Worker-inbox findings not yet escalated (Mgr canvas surfaces from per-Mgr inbox histories) +- Recent analyses items not yet rowed (cross-reference gpt-5-5-pro Exploratory main@41019a8 + Reflective main@2b7b21b + earlier paired analyses 2026-04-25 / 2026-04-30 / 2026-05-01) + +[Populated post-Mgr-canvas + PM compile pass] + +--- + +## §3 R3 closure-eligibility rubric + +Three valid statuses per item. Each item in §1 has a defined status; the count of RED is the load-bearing signal for Director review. + +### GREEN — dissolves at R3 close per [trigger]; in scope + +**Criteria:** +- Item has a **named structural dissolution trigger** that fires at R3 close (e.g., specific lane landing, substrate carrier landing, PR merging) +- No upstream prerequisite that's RED +- Trigger is **structurally** verifiable, not heuristic ("when X lands" verifiable; "eventually" not) +- Source PR known + owner Mgr identified + +**Example shape** (post-population): `CardinalityPayload::new_unchecked` → trigger: "elimination per Path B (idempotence-inline rename); landing at R3 Substrate Mgr dispatch under SG-0-delta discipline" + +### YELLOW — dissolves at R3 close IF [structural prerequisite] lands; tracked + +**Criteria:** +- Item dissolves IF a **named structural prerequisite** lands in R3 +- Prerequisite is itself in R3 scope (GREEN or YELLOW with a clear chain back to GREEN) +- Tracked with the prerequisite chain explicit; no "we'll figure it out" prerequisites +- Source PR + owner Mgr identified + +**Example shape** (post-population): `EmissionDiagnostic` Rust mirror → trigger: "v3 evaluator authoritatively executes std diagnostic constructors"; prerequisite: "T-V2-Retirement G-2 deletion landing (which gates on T-FixedPoint + T-LensProducer-Retirement)" + +### RED — no clear path / explicitly post-R3 / unknown; flagged for Director review + +**Criteria** (any of): +- No clear dissolution path identified +- Explicitly post-R3 / out-of-current-scope by design +- Unknown / unclassified — flagged for Director investigation + +**RED count is the load-bearing signal.** Each RED needs Director-level investigation per Brian's framing: "are these honestly out-of-scope, or are they 'we don't know how to close this'?" + +### Inversion-test discipline (per `feedback_modeling_inversion_and_paydown_flow`) + +Before flagging an item RED, apply inversion test: +- Forward framing: "what dissolves this bridge?" → if no answer, RED candidate +- Inverse framing: "what would let this bridge persist?" → if the inverse forces a structural fix, the bridge is actually GREEN/YELLOW with a reframed dissolution shape + +If inversion dissolves the case → status updates to GREEN/YELLOW. If inversion doesn't dissolve it → RED is structurally honest. + +--- + +## §4 Anticipated debt — preventive lane + +Going-forward discipline encoded as PR-authoring contract. Folds in Director's prior PR-template SG-0-delta extension routing to quiet-otter (R3 Debt-Paydown, gunbc#1744 #issuecomment-4383628247). + +### PR-authoring contract + +**Every PR adding hand-Rust must same-PR answer (in PR description or commit message):** + +(a) **Bridge class** — A-G per §1 framework above. SG-0 zero-floor discipline: hand-authored v3 Rust must dissolve same-PR, cite a named structural trigger (with R3-close eligibility GREEN/YELLOW per §3), or carry explicit Director RED allocation. There is no permitted "intentional permanent" exception in the going-forward contract — pre-existing STRUCTURAL infrastructure (the SG-0 measurement apparatus itself; see §3.A grandfathering pending Director ratification of the new STRUCTURAL status) is the only category exempt, and new STRUCTURAL additions require explicit Director allocation citing the SG-0 program shape. + +(b) **Substrate-gap-class blocking dissolution** (if any) — name the gap that prevents same-PR dissolution. If no gap, the contract's options collapse to "dissolve same-PR" or "explicit Director RED allocation"; "intentional permanent" without Director allocation is not allowed. + +(c) **Same-PR dissolution OR named-trigger-with-R3-close-eligibility** — if dissolution doesn't land same-PR, name the trigger + R3-close eligibility (GREEN/YELLOW/RED per §3 rubric). RED requires Director-level allocation. + +(d) **Net SG-0 delta** — positive only with explicit Director allocation citing gap-closure. Per Brian-ratified discipline: SG-0 ratchet is only-down except for Director-allocated additions tied to specific gap-closure. + +### CI gate + +[Routed to R3 Debt-Paydown (quiet-otter-416, gunbc#1744) per Director #issuecomment-4383628247 — the lightweight CI check that PR description carries (a)-(d) for PRs adding hand-Rust] + +### PR-template extension + +[Specifies (a)-(d) as required-fields for PRs adding hand-Rust; quiet-otter authors the template change] + +--- + +## §5 Sources audited + +- **v3 compiler**: ~69 `.rs` files in `src/v3/compiler/src/` +- **v3 std**: ~35 `.dag` files in `src/v3/std/` +- **SG-0 census**: live entries via `EXPECTED_HAND_AUTHORED_NON_TEST` + `EXPECTED_HAND_AUTHORED_TEST` + `EXPECTED_HAND_AUTHORED_FRAGMENTS` arrays in `src/v3/compiler/tests/integration/sg0_census_test.rs` (the SG-0 partition authority; do not snapshot the count here — derive at audit time from the live arrays per `feedback_corrections_must_grep_verify_source`) +- **R2/R3-era PR history**: ~500+ PRs (R2 close at #1275 → current HEAD ~#1803). Method: per-Mgr-lane parallel canvas (each Mgr surveys merged PRs in their lane subset for debt-introduction patterns + dissolution status). Pattern-audit, not per-PR-deep-audit. +- **ROADMAP**: open tracked items + DB-1 through DB-20 + W-C1 + scheduled deletions + Tracked debts 2026-04 + 2026-05 sub-sections + Course Corrections #1-#4 (ROADMAP §"Reflective course corrections" section anchor; per `feedback_section_anchors_over_line_numbers` — do not cite line numbers since ROADMAP edits drift them) +- **Recent analyses**: gpt-5-5-pro Exploratory main@41019a8 (F1-F11) + Reflective main@2b7b21b (Risks 1-5) + earlier paired analyses 2026-04-25 / 2026-04-30 / 2026-05-01 + +--- + +## Methodology notes (per session-discipline patterns) + +- All claims grep-verified before encoding (per `feedback_corrections_must_grep_verify_source`) +- Cross-references use section/symbol anchors not line numbers (per `feedback_section_anchors_over_line_numbers`) +- Mgr canvases request grep-verified sourcing per item +- RED items get inversion-test before flagging out-of-scope (per `feedback_modeling_inversion_and_paydown_flow`) +- 8 cross-relay timing instances this session — apply sha-style timestamp pointers in routing claims + +--- + +## Phase plan + +**Phase 1 (current — framework draft)**: PM authors §1 schema + §3 rubric + §4 anticipation discipline. Surface to Director for ratification. + +**Phase 2 (post-ratification)**: parallel Mgr canvas dispatch to all 6 R3 Mgr inboxes simultaneously; identical message format. Each Mgr surfaces lane debt with grep-verified sourcing. + +**Phase 3 (post-canvas)**: PM compiles Mgr responses + adds §2 hidden-debt audit + cross-references ROADMAP review + recent analyses. Surfaces compiled sweep for Director final ratification + R3 closure-criteria explicit list. + +[Phase 1 ratification gates Phase 2; Phase 2 completion gates Phase 3] diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 8000ec72665..c94646b6c5a 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -4,9 +4,9 @@ **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"*. -**Authority hierarchy.** -- [`docs/r3-structure.md`](r3-structure.md) — **architectural-decision archive**. Lane definitions, manager structure, design-challenges resolution, dependency-on-R2 spec. Authoritative for *what R3 is*. -- [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) — **bridge inventory snapshot** (PR #1804 lane). Authoritative for *what bridges exist now*. +**Authority hierarchy** (all three docs land in this PR — single coordinated authority drop): +- [`docs/r3-structure.md`](r3-structure.md) — **architectural-decision archive**. Lane definitions, manager structure, design-challenges resolution, dependency-on-R2 spec. Authoritative for *what R3 is*. Updated in this PR to absorb new closure gates. +- [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) — **bridge inventory snapshot framework** (PM-authored Phase 1 framework; codex APPROVE on prior sha `860e175d`; Phase 2-3 inventory populates as Mgr canvases compile via PR comments). Authoritative for *what bridges exist now*. Consolidated into this PR per Grounding Mgr poke-hole 2026-05-06 finding 1 + codex BLOCKING on PR #1808 sha `0719d7a6` line 9 (eliminates cross-PR dependency on prior PR #1804 — superseded). - **THIS DOC** — **forward-looking dependency-graph + escalation register**. Authoritative for *path from here to R3 close + open ratifications*. Cross-link discipline: this plan never restates lane definitions from `r3-structure.md`; cites them by section/symbol per `feedback_section_anchors_over_line_numbers`. @@ -298,9 +298,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane ## §5. Bridge inventory snapshot -**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (PR #1804 lane). Phase 2 sweep deliverables landed §1.1–§2.2. - -**Cross-PR dependency** (per Grounding Mgr poke-hole 2026-05-06 finding 1 — authority hierarchy correctness): the audit doc above is on PR #1804 (claude APPROVE on sha `450502c3`), NOT on `main` or this PR's branch. **Plan PR #1808 is sequenced to land AFTER PR #1804 merges** to prevent this plan section from citing a missing authority. PR #1804 is doc-only + mergeable + approved; expected to merge before PR #1808. +**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (consolidated into this PR; PR #1804 superseded). PM-authored Phase 1 framework + §4 anticipation discipline + §3 GREEN/YELLOW/RED rubric live; Phase 2-3 inventory (per-class bridge enumeration) populates via Mgr canvas + PR comments as canvases compile. **Status (2026-05-06)**: per-class counts below are PRE-Phase-3-compile expected ranges from Director's bridge-class framework. Phase 2 sweep deliverables (PR #1804 §1.1–§2.2) have landed substantive partial data; **Phase 3 compile** populates verified-at-HEAD counts replacing these expected ranges before plan PR opens (per Director poke-hole 2026-05-06 finding 6.3). From c73a47383f16a1f97093478bacf6df9e34a28e0b Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:53:47 +0000 Subject: [PATCH 09/36] docs(r3): align closure-gate counts (70 total) + add PR-anticipation gate to canonical archive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex review on PR #1808 sha 937485f2 — non-blocking finding flagged count drift between ~70 / ~65 / ~71 / ~9 vs ~10 demonstration gates across plan sections. Internal-consistency cleanup. Reconciliation: precise enumeration of r3-structure.md §"Acceptance" gates (post-this-PR) = 70: - 54 existing R3 lane gates: T-Tier3-Dissolution 4 + T-LensProducer-Retirement 4 + T-V-L4-L7-Direct 2 + 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 + T-V2-Retirement 2 + T-Free-Consequences-Demonstration 10 + T-Workflow-As-Data 4 + T-Lens-Self-Application 3 - 16 NEW gates added 2026-05-06 in this PR: 5 substrate-gap-class + 10 demonstration + 1 PR-anticipation-discipline §1.5 reframed with precise enumeration (replaces "60+ existing gates" estimate). §6 R3-close line updated from "all ~71 gates" to "all 70 gates." §10.1 Q1 row aligned to "70 total." §1.6 "Net additions" corrected from "~9" to "10" demonstration gates. Plus: PR-anticipation gate `pr_anticipation_discipline_ci_active` added to r3-structure.md §"Acceptance" (was only in plan §10.3 before; now in canonical archive per single-authority discipline). Owner: R3 Debt-Paydown. Codex BLOCKING on same review (sweep-doc cross-PR dependency) already absorbed at sha a72293bbf via consolidation (PR #1804 superseded; sweep framework now in this PR). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 8 ++++---- docs/r3-structure.md | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index c94646b6c5a..6ab207c1991 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -76,7 +76,7 @@ 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): existing 60+ gates from `r3-structure.md` §"Acceptance" + 5 new substrate-gap-class gates + per-lane demonstration gates (§1.6) + 1 PR-anticipation-discipline gate (§7) = **~71 gates** across 18 lanes + 1 standing program. +**Total R3 closure gates** (post-Q1 + Q2 ratification): **70 gates** at sha `a72293bbf` per `r3-structure.md` §"Acceptance" enumeration. Composition: existing R3 lane gates (`T-Tier3-Dissolution` 4, `T-LensProducer-Retirement` 4, `T-V-L4-L7-Direct` 2, `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, `T-V2-Retirement` 2, `T-Free-Consequences-Demonstration` 10, `T-Workflow-As-Data` 4, `T-Lens-Self-Application` 3) = 54 lane gates; plus 5 substrate-gap-class gates + 10 demonstration gates + 1 PR-anticipation-discipline gate = 16 gates added 2026-05-06 in this PR. Total: 54 + 16 = 70 across 18 lanes + 1 standing program. R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). @@ -129,7 +129,7 @@ Mgrs author per-gate spec citing the (a)/(b)/(c) satisfaction; closure-ledger en | T-Workflow-As-Data | `ci_workflow_modeled_as_dag` ✓ | (existing) | | T-Lens-Self-Application | `lens_self_application_demonstrated` ✓ | (existing) | -**Net additions**: ~9 new demonstration gates across substrate-heavy / state-check-only lanes. Owner Mgrs author per their lane scope. +**Net additions**: 10 new demonstration gates across substrate-heavy / state-check-only lanes (per per-lane audit table above; rows with "+" prefix in "Needed demo gate" column). Owner Mgrs author per their lane scope. This principle is NOT a separate lane; it's a per-lane gate-shape requirement applied uniformly. Closes when each lane has at least one runtime-executable demonstration gate green. @@ -378,7 +378,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 = all ~71 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining +R3 close = all 70 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining ``` **Edges added in §6 graph per Director poke-hole 2026-05-06**: @@ -514,7 +514,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; 7 Pattern-A + 2 v2 + 1 BridgeLedgerZero + 5 substrate-gap + ~9 demonstration gates = ~70 total | RATIFIED | +| Q1 | Closure-criteria predicate set (§1.1–§1.4) | Predicates per §1 tables; 70 closure gates total (54 existing R3 lane gates + 5 substrate-gap-class + 10 demonstration + 1 PR-anticipation-discipline; precise enumeration per §1.5) | 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 | diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 75edcc04fc9..efcc8637d7b 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -153,6 +153,8 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime - `lens_behavioral_parity_demonstration` — each lens (complexity / cost / parallelism / effect_enumeration) demonstrates on representative input + matches v2 oracle - `tests_as_data_demonstration` — at least one Rust test ports to `.dag` TestClaim and executes via Evaluator +- **PR-authoring-discipline gate** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846) Director poke-hole finding 3.2; per [`docs/r3-program-plan.md`](r3-program-plan.md) §7). + - `pr_anticipation_discipline_ci_active` — CI is verifiably enforcing the §7 PR-authoring contract (per-PR debt-receipt + ratchet-only-down + anticipation discipline); fires when `scripts/check-pr-sg0-net-shrink-discipline.sh` is in CI workflow + self-test passes. R3 Debt-Paydown owner. ## Lane structure From bb045ed945e81e704e640fe7a928cd7635073c31 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:55:15 +0000 Subject: [PATCH 10/36] =?UTF-8?q?docs(r3):=20generalize=20Class=201=20gap-?= =?UTF-8?q?test=20=E2=80=94=20refinement=20syntax=20over=20all=20algebraic?= =?UTF-8?q?=20types?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per Brian inline comment at PR #1808 #issuecomment-4384316022 (line 69): "we have to handle this generically for 'all' types, not just 'int' - though int is a good representation and good north star for others to take note of." Plan §1.4 + §4.1 + r3-structure.md §"Acceptance" substrate-gap-class gate reframed to model refinement syntax generically: Modeling principle (Brian's direction): - We model abstract algebraic concepts (groups / rings / fields / semirings). - Machine/computer concepts (memory-register widths, byte-precision floats) are PROJECTIONS of those abstract concepts onto specific constraints. - Refinement syntax `Type` must be handled generically over any algebraic T, not Int-specific. Updated gate Pass condition: parser + stage0 emission accept generic `Type` shape demonstrated against three refinements: - `Int` — north-star integer projection (AbelianGroup width refinement) - `Real` — real-number projection (ApproximateField precision refinement per T-Numeric-Construction) - `Nat` — natural-number projection (Semiring bit-width refinement) Generic-shape requirement prevents Int-specific hard-coding (which would re-introduce the modeling-deficit Brian's directive aims to avoid). Aligns with feedback_modeling_inversion_and_paydown_flow + the algebraic- modeling discipline that grounds gunbc's substrate. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 17 +++++++++++------ docs/r3-structure.md | 2 +- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 6ab207c1991..bb780c25b45 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -66,7 +66,7 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, | Class | TestClaim gate | Representative gap-test | Lane(s) producing closure | |---|---|---|---| -| 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 parser handles `Int` refinement syntax (`dsl/std/types.dag` Slice 2 alignment per Substrate Mgr design stance) and lowers through stage0 emission without v2-fallback; gate Pass = `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` evaluates Int-bearing program → 0 diagnostics + emitted artifact compiles | T-V2-Retirement (parser path) + T-Numeric-Construction (Int refinement) + Substrate continuation | +| 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 parser handles **generic refinement syntax `Type` over any algebraic type T** — refinements are projections of abstract algebraic concepts onto concrete register/memory constraints, NOT Int-specific (per Brian directive 2026-05-06: *"we have to handle this generically for 'all' types, not just 'int' — though int is a good representation and good north star"*). Pass condition: parser + stage0 lowering accept the generic shape, demonstrated against `Int` (north-star integer projection) + `Real` (real-number projection — `ApproximateField` per T-Numeric-Construction) + `Nat` (natural-number projection) without v2-fallback; gate Pass = `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` evaluates programs using all 3 refinement shapes → 0 diagnostics + emitted artifact compiles. The generic-shape requirement prevents accidentally hard-coding `Int`-only handling. | T-V2-Retirement (parser path) + T-Numeric-Construction (refinement chain Int/Real/Nat) + Substrate continuation | | 2 — function-valued data | `substrate_gap_function_valued_data_closed` | `Lens` instance with function-typed payload executes through evaluator | T-Lens-Application-Surface + T-E-P-Producer-Broadening | | 3 — file-ingestion | `substrate_gap_file_ingestion_closed` | One `.dag` program ingests external file (e.g., timing observation set) without `include_str!` | T-Workflow-As-Data | | 4 — workflow/scheduling | `substrate_gap_workflow_scheduling_closed` | CI workflow modeled as `.dag` data executes through evaluator | T-Workflow-As-Data + T-Lens-Self-Application | @@ -244,15 +244,20 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane ### §4.1 Class 1 — parser/grammar surface -**What this class names**: bridges that exist because v3 parser cannot handle certain grammar surfaces (e.g., refinement syntax `Int`, `where bits <= N` constraints, function-valued return types). v2 currently catches these; v3 cannot. +**What this class names**: bridges that exist because v3 parser cannot handle certain grammar surfaces — particularly **generic refinement syntax `Type` over abstract algebraic types T**. Refinement is the structural projection of an algebraic concept (Int = AbelianGroup, Real = ApproximateField, etc.) onto concrete machine/register constraints (Int<32>, Real<64>, Nat<8>, etc.). v2 currently catches these; v3 cannot. Other parser-surface gaps (e.g., `where bits <= N` constraints, function-valued return types) fall under this class but are subordinate to the generic-refinement gap. -**Representative gap-test**: TBD via Substrate canvas. Candidate: `Int` refinement parsing + lowering through stage0 emission. +**Modeling discipline (Brian directive 2026-05-06 at gunbc#846)**: handle refinement syntax generically for **all** algebraic types, not just `Int`. *"We are usually modeling abstract algebra or other concepts, and its likely that any machine/computer oriented concepts are a projection of those onto specific constraints (i.e. memory registers) - my point is, we have to handle this generically for 'all' types, not just 'int' - though int is a good representation and good north star for others to take note of."* -**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` §"Lane structure" → T-Numeric-Construction row, T-V2-Retirement coordination dependency). +**Representative gap-test**: parser + stage0 emission accept the generic `Type` shape, demonstrated against: +- `Int` — north-star integer projection (memory-register width refinement of `AbelianGroup`) +- `Real` — real-number projection (precision refinement of `ApproximateField` per T-Numeric-Construction reframe) +- `Nat` — natural-number projection (bit-width refinement of `Magnitude → Nat` semiring) + +Pass condition: all three shapes produce 0 diagnostics + emitted artifact compiles via `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` against the test corpus. -**Owner Mgr**: PB Mgr (T-V2-Retirement scope) coordinating with Substrate Mgr (parser substrate carriers). +**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` §"Lane structure" → T-Numeric-Construction row, T-V2-Retirement coordination dependency). -**Open (§10)**: Substrate canvas response selects representative gap-test. +**Owner Mgr**: PB Mgr (T-V2-Retirement scope) coordinating with Substrate Mgr (parser substrate carriers + T-Numeric-Construction refinement chain). ### §4.2 Class 2 — function-valued data diff --git a/docs/r3-structure.md b/docs/r3-structure.md index efcc8637d7b..e4f42a1442e 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -137,7 +137,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `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 `Missing | Ambiguous | Stale` per timing-lens design; demonstrates that user-authored apply_lens substrate generalizes to project-self-validation use case - `recursive_flex_demonstration_landed` — narrative-load-bearing thesis claim cashes in worked instance: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Compiler-people read this as the categorical move that the lens framework isn't just for user code — it applies recursively to gunbc's own runtime behavior. Either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target tracked as informational SLO; **not a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment) - **Substrate-gap-class closure** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846); closure-criteria over existing lane work, NOT new separate lanes — added without expanding R3 lane count). Five class-level closure gates ratifying that R3 close requires a representative gap-test executing through v3 cleanly per substrate-gap class. Per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 + §4. - - `substrate_gap_parser_grammar_closed` — v3 parser handles `Int` refinement syntax and lowers through stage0 emission without v2-fallback; gate Pass = Int-bearing program produces 0 diagnostics + emitted artifact compiles. Closes via T-V2-Retirement parser path + T-Numeric-Construction (Int refinement) + Substrate continuation + - `substrate_gap_parser_grammar_closed` — v3 parser handles **generic refinement syntax `Type` over any algebraic type T** (per Brian directive 2026-05-06 at gunbc#846 — refinements are projections of abstract algebraic concepts onto concrete register/memory constraints; NOT Int-specific). Pass condition: programs using `Int` (north-star integer projection) + `Real` (real-number / `ApproximateField`) + `Nat` (natural-number) refinement shapes lower through stage0 emission without v2-fallback; gate Pass = all 3 refinement shapes produce 0 diagnostics + emitted artifact compiles. Generic-shape requirement prevents Int-specific hard-coding. Closes via T-V2-Retirement parser path + T-Numeric-Construction (Int/Real/Nat refinement chain) + Substrate continuation - `substrate_gap_function_valued_data_closed` — `Lens` instance with function-typed payload executes through evaluator and produces `DimensionReport` without Rust mediation. Closes via T-Lens-Application-Surface + T-E-P-Producer-Broadening - `substrate_gap_file_ingestion_closed` — One `.dag` program ingests external file (timing observation set, JSON config) without `include_str!`; exercises file-ingestion grammar. Closes via T-Workflow-As-Data - `substrate_gap_workflow_scheduling_closed` — CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport`. Closes via T-Workflow-As-Data + T-Lens-Self-Application From 8f8314a5b3cf1a493d14611ff88335dc73da18e3 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 00:57:20 +0000 Subject: [PATCH 11/36] =?UTF-8?q?docs(r3):=20Class=201=20reframed=20as=20a?= =?UTF-8?q?lgebra=20=C3=97=20machine-constraint=20interaction=20modeling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per Brian inline at PR #1808 #issuecomment-4384322571 (line 69): "At some point we probably want these concepts to be the interaction of several constraint models i.e. abstract algebra × machine constraints - i64 would naturally emerge as a consequence." Earlier reframe (sha bb045ed94) generalized Class 1 from Int-specific to "refinement syntax over any algebraic type T" — directionally right but single-axis modeling. Brian's deeper point: concrete types should be products of TWO independent constraint models (algebra × machine), with concrete types emerging as consequences, not primary entities. Class 1 gap-test reframed accordingly: Modeling target: - Independent axis 1: abstract algebra (Int = AbelianGroup, etc.) - Independent axis 2: machine constraints (MachineWidth, etc.) - Concrete types emerge from interaction (Int<64> = Int × MachineWidth<64>) - Target-language primitives (i64 / f64 / u8) are derived artifacts of interaction lookup, NOT declared as primary substrate entities Pass condition (5-criteria): (a) substrate declares Int/Real/Nat as algebra-side carriers (T-Numeric- Construction; partly landed) (b) substrate declares MachineConstraint as independent constraint axis (NEW substrate work) (c) parser handles generic interaction syntax (d) ≥3 algebra×constraint pairs (Int×64, Real×64, Nat×8) produce 0 diagnostics + emitted artifact compiles (e) target primitives are NOT primary substrate entities This is a substantial substrate-scope expansion: requires NEW carrier MachineConstraint + interaction-lookup substrate. Surfaced as Q-MachineConstraint-Carrier in §10.3 (Substrate Mgr + Director scoping needed; folds into T-Numeric-Construction continuation). Two-doc update: - docs/r3-program-plan.md §1.4 (Class 1 row in table) + §4.1 (Class 1 detail section) + §10.3 (Q-MachineConstraint-Carrier added) - docs/r3-structure.md §"Acceptance" → substrate_gap_parser_grammar_closed gate body Aligns with feedback_modeling_inversion_and_paydown_flow (eliminate single-axis modeling — model the interaction generically) + feedback_compositional_not_templating (preserve dependency structure; i64 carries algebra×constraint parent edges, not flat declaration). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 33 +++++++++++++++++++++++---------- docs/r3-structure.md | 2 +- 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index bb780c25b45..abc44f9f202 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -66,7 +66,7 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, | Class | TestClaim gate | Representative gap-test | Lane(s) producing closure | |---|---|---|---| -| 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 parser handles **generic refinement syntax `Type` over any algebraic type T** — refinements are projections of abstract algebraic concepts onto concrete register/memory constraints, NOT Int-specific (per Brian directive 2026-05-06: *"we have to handle this generically for 'all' types, not just 'int' — though int is a good representation and good north star"*). Pass condition: parser + stage0 lowering accept the generic shape, demonstrated against `Int` (north-star integer projection) + `Real` (real-number projection — `ApproximateField` per T-Numeric-Construction) + `Nat` (natural-number projection) without v2-fallback; gate Pass = `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` evaluates programs using all 3 refinement shapes → 0 diagnostics + emitted artifact compiles. The generic-shape requirement prevents accidentally hard-coding `Int`-only handling. | T-V2-Retirement (parser path) + T-Numeric-Construction (refinement chain Int/Real/Nat) + Substrate continuation | +| 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 substrate models concrete types as the **interaction of independent constraint models** — abstract algebra × machine constraints — with concrete types emerging as consequences (per Brian directive 2026-05-06: *"these concepts should be the interaction of several constraint models i.e. abstract algebra × machine constraints — i64 would naturally emerge as a consequence"*). Refinement syntax `Type` expresses the interaction, NOT a primary entity. Pass condition: substrate declares abstract algebra (e.g., `Int = AbelianGroup`) and machine constraints (e.g., `MachineWidth`) as independent models; concrete types emerge via interaction (e.g., `Int<64>` = `Int × MachineWidth<64>`; target-language `i64` is derived artifact, NOT primary substrate entity). v3 parser handles generic interaction syntax; demonstrated against ≥3 algebra×constraint pairs — `Int<64>` (integer × 64-bit register), `Real<64>` (real × 64-bit float), `Nat<8>` (natural × 8-bit register) — without v2-fallback; gate Pass = all 3 interaction-derived programs produce 0 diagnostics + emitted artifact compiles to expected target primitive (`i64`/`f64`/`u8`) where the target primitive is consequence-of-interaction, not declared. The interaction-modeling requirement prevents single-axis (algebra-only or width-only) hard-coding. | T-V2-Retirement (parser path) + T-Numeric-Construction (algebra side) + Substrate (machine-constraint side, may require new substrate carrier `MachineConstraint`) + Substrate continuation | | 2 — function-valued data | `substrate_gap_function_valued_data_closed` | `Lens` instance with function-typed payload executes through evaluator | T-Lens-Application-Surface + T-E-P-Producer-Broadening | | 3 — file-ingestion | `substrate_gap_file_ingestion_closed` | One `.dag` program ingests external file (e.g., timing observation set) without `include_str!` | T-Workflow-As-Data | | 4 — workflow/scheduling | `substrate_gap_workflow_scheduling_closed` | CI workflow modeled as `.dag` data executes through evaluator | T-Workflow-As-Data + T-Lens-Self-Application | @@ -244,20 +244,32 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane ### §4.1 Class 1 — parser/grammar surface -**What this class names**: bridges that exist because v3 parser cannot handle certain grammar surfaces — particularly **generic refinement syntax `Type` over abstract algebraic types T**. Refinement is the structural projection of an algebraic concept (Int = AbelianGroup, Real = ApproximateField, etc.) onto concrete machine/register constraints (Int<32>, Real<64>, Nat<8>, etc.). v2 currently catches these; v3 cannot. Other parser-surface gaps (e.g., `where bits <= N` constraints, function-valued return types) fall under this class but are subordinate to the generic-refinement gap. +**What this class names**: bridges that exist because v3 substrate doesn't yet model the **interaction of independent constraint models** — abstract algebra × machine constraints — from which concrete types emerge. v3 parser handles algebra-side refinements somewhat (per T-Numeric-Construction in flight) but doesn't model machine-constraint as an independent axis that **interacts** with algebra to produce concrete-type instances. Concrete types like `i64` should emerge as consequences of `Int × MachineWidth<64>`, not be declared as primary entities. v2 currently catches these via various ad-hoc paths; v3 needs the substrate-level interaction model. -**Modeling discipline (Brian directive 2026-05-06 at gunbc#846)**: handle refinement syntax generically for **all** algebraic types, not just `Int`. *"We are usually modeling abstract algebra or other concepts, and its likely that any machine/computer oriented concepts are a projection of those onto specific constraints (i.e. memory registers) - my point is, we have to handle this generically for 'all' types, not just 'int' - though int is a good representation and good north star for others to take note of."* +**Modeling discipline (Brian directives 2026-05-06 at gunbc#846)**: -**Representative gap-test**: parser + stage0 emission accept the generic `Type` shape, demonstrated against: -- `Int` — north-star integer projection (memory-register width refinement of `AbelianGroup`) -- `Real` — real-number projection (precision refinement of `ApproximateField` per T-Numeric-Construction reframe) -- `Nat` — natural-number projection (bit-width refinement of `Magnitude → Nat` semiring) +> *"We are usually modeling abstract algebra or other concepts, and its likely that any machine/computer oriented concepts are a projection of those onto specific constraints (i.e. memory registers) - my point is, we have to handle this generically for 'all' types, not just 'int' - though int is a good representation and good north star for others to take note of."* -Pass condition: all three shapes produce 0 diagnostics + emitted artifact compiles via `cargo test -p v2-compiler-tests v2_strict_compile_diagnostic_count -- --ignored` against the test corpus. +> *"At some point we probably want these concepts to be the interaction of several constraint models i.e. abstract algebra × machine constraints — i64 would naturally emerge as a consequence."* -**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + Substrate parser continuation work (cited in `r3-structure.md` §"Lane structure" → T-Numeric-Construction row, T-V2-Retirement coordination dependency). +**Modeling target**: independent constraint models (algebra + machine) with concrete types emerging from their interaction. Substrate carries `MachineConstraint` as an independent axis; concrete-type-instances are products. Other parser-surface gaps (`where bits <= N`, function-valued return types) fall under this class but are subordinate to the interaction-modeling gap. -**Owner Mgr**: PB Mgr (T-V2-Retirement scope) coordinating with Substrate Mgr (parser substrate carriers + T-Numeric-Construction refinement chain). +**Representative gap-test**: substrate declares abstract algebra and machine constraints as independent models; concrete types emerge via interaction. Demonstrated against ≥3 algebra×constraint pairs: + +- **`Int<64>` = `Int × MachineWidth<64>`** — integer × 64-bit register interaction; emits to target `i64` as derived consequence (north-star) +- **`Real<64>` = `Real × MachineWidth<64>`** — real × 64-bit float interaction; emits to target `f64` +- **`Nat<8>` = `Nat × MachineWidth<8>`** — natural × 8-bit register interaction; emits to target `u8` + +Pass condition: +- (a) substrate declares `Int` / `Real` / `Nat` as algebra-side carriers (T-Numeric-Construction; partly landed) +- (b) substrate declares `MachineConstraint` (or analogous) as independent constraint axis (NEW substrate work; tracked in the closure-via column) +- (c) parser handles generic interaction syntax; concrete-type literals like `42i64` resolve via `Int × MachineWidth<64>` lookup +- (d) all 3 interaction-derived programs produce 0 diagnostics + emitted target primitives compile to `i64`/`f64`/`u8` respectively +- (e) target primitives (`i64` / `f64` / `u8`) are NOT primary substrate entities — they're derived artifacts of the interaction lookup + +**Closes via**: T-V2-Retirement parser path (post-T-FixedPoint) + T-Numeric-Construction (algebra side; in flight) + **Substrate continuation work to add `MachineConstraint` independent carrier** (NEW scope per Brian directive 2026-05-06; surfaces as Q-MachineConstraint-Carrier in §10.3). + +**Owner Mgr**: Substrate Mgr (machine-constraint carrier authoring + T-Numeric-Construction algebra side) coordinating with PB Mgr (T-V2-Retirement parser path). ### §4.2 Class 2 — function-valued data @@ -626,6 +638,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | +| Q-MachineConstraint-Carrier | Substrate carrier for `MachineConstraint` independent axis (per Brian directive 2026-05-06 — concrete types emerge from algebra × machine-constraint interaction; `i64` = `Int × MachineWidth<64>` consequence, NOT primary entity) | Substrate Mgr authors `MachineConstraint` carrier + interaction lookup; folds into T-Numeric-Construction continuation (algebra side already in flight); surfaces as new Substrate sub-program. Required for Class 1 substrate-gap-class closure per §1.4. | OPEN — Substrate Mgr + Director scoping needed (NEW 2026-05-06 from Brian inline at PR #1808 line 69) | --- diff --git a/docs/r3-structure.md b/docs/r3-structure.md index e4f42a1442e..cc389ae63aa 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -137,7 +137,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `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 `Missing | Ambiguous | Stale` per timing-lens design; demonstrates that user-authored apply_lens substrate generalizes to project-self-validation use case - `recursive_flex_demonstration_landed` — narrative-load-bearing thesis claim cashes in worked instance: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Compiler-people read this as the categorical move that the lens framework isn't just for user code — it applies recursively to gunbc's own runtime behavior. Either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target tracked as informational SLO; **not a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment) - **Substrate-gap-class closure** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846); closure-criteria over existing lane work, NOT new separate lanes — added without expanding R3 lane count). Five class-level closure gates ratifying that R3 close requires a representative gap-test executing through v3 cleanly per substrate-gap class. Per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 + §4. - - `substrate_gap_parser_grammar_closed` — v3 parser handles **generic refinement syntax `Type` over any algebraic type T** (per Brian directive 2026-05-06 at gunbc#846 — refinements are projections of abstract algebraic concepts onto concrete register/memory constraints; NOT Int-specific). Pass condition: programs using `Int` (north-star integer projection) + `Real` (real-number / `ApproximateField`) + `Nat` (natural-number) refinement shapes lower through stage0 emission without v2-fallback; gate Pass = all 3 refinement shapes produce 0 diagnostics + emitted artifact compiles. Generic-shape requirement prevents Int-specific hard-coding. Closes via T-V2-Retirement parser path + T-Numeric-Construction (Int/Real/Nat refinement chain) + Substrate continuation + - `substrate_gap_parser_grammar_closed` — v3 substrate models concrete types as the **interaction of independent constraint models** — abstract algebra × machine constraints — with concrete types emerging as consequences (per Brian directive 2026-05-06 at [gunbc#846 inline](https://github.com/gunb-ai/gunbc/pull/1808): *"these concepts should be the interaction of several constraint models i.e. abstract algebra × machine constraints — i64 would naturally emerge as a consequence"*). Refinement syntax `Type` expresses the interaction, NOT a primary entity. Substrate declares abstract algebra (e.g., `Int = AbelianGroup`) and machine constraints (e.g., `MachineWidth`) as **independent** models; concrete types emerge via interaction (e.g., `Int<64>` = `Int × MachineWidth<64>`; target-language `i64` is derived artifact, not primary substrate entity). Pass condition: ≥3 algebra×constraint pairs (`Int<64>` / `Real<64>` / `Nat<8>`) lower through stage0 emission without v2-fallback; emitted artifact compiles to expected target primitive (`i64` / `f64` / `u8`) where target primitive is consequence-of-interaction. Closes via T-V2-Retirement parser path + T-Numeric-Construction (algebra side) + Substrate continuation (machine-constraint side; may require new `MachineConstraint` substrate carrier) - `substrate_gap_function_valued_data_closed` — `Lens` instance with function-typed payload executes through evaluator and produces `DimensionReport` without Rust mediation. Closes via T-Lens-Application-Surface + T-E-P-Producer-Broadening - `substrate_gap_file_ingestion_closed` — One `.dag` program ingests external file (timing observation set, JSON config) without `include_str!`; exercises file-ingestion grammar. Closes via T-Workflow-As-Data - `substrate_gap_workflow_scheduling_closed` — CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport`. Closes via T-Workflow-As-Data + T-Lens-Self-Application From cf24938955c54701082b31d747920a617d6d1cdd Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:01:23 +0000 Subject: [PATCH 12/36] =?UTF-8?q?docs(r3):=20absorb=20Director=20Refinemen?= =?UTF-8?q?ts=20A=20+=20B=20+=20YELLOW-chain=20rule=20(sweep=20doc=20?= =?UTF-8?q?=C2=A73=20+=20=C2=A74)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per Director ratification 2026-05-06 at gunbc#828 #issuecomment-4384070969 (historical relay landed via dashboard queue post-Mgr-poke-hole rounds). The three refinements were authored at Phase 2 dispatch authorization time but landed in PM inbox via dashboard relay queue after Phase 2 was already in flight. PM acknowledged at gunbc#846 #issuecomment-4384074432 ("Ack on Phase 2 fire + 3 quick refinements that need to reach Mgrs"). Refinements were referenced in canvas dispatches but not yet codified in the framework doc itself — this commit codifies them. Refinement A — §4 application-scope clarification: contract applies to PRs landing AFTER framework merges (not retroactively). Pre-existing SG-0 census entries grandfathered; surface in §1 inventory but don't retroactively require (a)-(d) compliance. Prevents Mgr canvases from incorrectly flagging pre-existing entries as needing immediate dissolution-trigger receipt. Refinement B — §4 intentional-permanent wording softened. Previously read "no permitted 'intentional permanent' exception" — risked Mgr-tier hesitation on legitimate STRUCTURAL additions. New wording: "Intentional- permanent hand-Rust additions require explicit Director allocation citing the program shape; no implicit-pass; a Mgr cannot self-classify as STRUCTURAL without Director ratification." Same intent, less false-positive friction. YELLOW chain rule — §3 explicit cycle-prevention statement: YELLOW prerequisites must trace back to GREEN within finite chain. Cycle detection mandatory before flagging YELLOW. Prevents two YELLOW items listing each other as prerequisite (which would close no chain back to GREEN). All three refinements were Director-ratified before Phase 2 dispatch but the framework doc carried the prior wording until this commit. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md index dc3aaacadfe..5a75c1c01b8 100644 --- a/docs/audit/r3-debt-sweep-2026-05-06.md +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -108,6 +108,7 @@ Three valid statuses per item. Each item in §1 has a defined status; the count **Criteria:** - Item dissolves IF a **named structural prerequisite** lands in R3 - Prerequisite is itself in R3 scope (GREEN or YELLOW with a clear chain back to GREEN) +- **YELLOW chain rule** (per Director ratification 2026-05-06 at gunbc#828 #issuecomment-4384070969): YELLOW prerequisites must trace back to GREEN within a finite chain. Two YELLOW items listing each other (or a longer cycle) are NOT valid — cycle detection mandatory before flagging YELLOW. - Tracked with the prerequisite chain explicit; no "we'll figure it out" prerequisites - Source PR + owner Mgr identified @@ -136,13 +137,17 @@ If inversion dissolves the case → status updates to GREEN/YELLOW. If inversion Going-forward discipline encoded as PR-authoring contract. Folds in Director's prior PR-template SG-0-delta extension routing to quiet-otter (R3 Debt-Paydown, gunbc#1744 #issuecomment-4383628247). +### Application scope (Refinement A per Director ratification 2026-05-06 at gunbc#828 #issuecomment-4384070969) + +Contract applies to **PRs landing AFTER this framework merges** (not retroactively). Pre-existing SG-0 census entries are grandfathered; their bridge-class + dissolution trigger surfaces in §1 inventory but does NOT retroactively require (a)-(d) compliance below. Mgr canvases must NOT flag pre-existing entries as needing immediate dissolution-trigger receipt — only flag if the entry's existence is itself a discipline violation per the bridge-class framework. + ### PR-authoring contract **Every PR adding hand-Rust must same-PR answer (in PR description or commit message):** -(a) **Bridge class** — A-G per §1 framework above. SG-0 zero-floor discipline: hand-authored v3 Rust must dissolve same-PR, cite a named structural trigger (with R3-close eligibility GREEN/YELLOW per §3), or carry explicit Director RED allocation. There is no permitted "intentional permanent" exception in the going-forward contract — pre-existing STRUCTURAL infrastructure (the SG-0 measurement apparatus itself; see §3.A grandfathering pending Director ratification of the new STRUCTURAL status) is the only category exempt, and new STRUCTURAL additions require explicit Director allocation citing the SG-0 program shape. +(a) **Bridge class** — A-G per §1 framework above. SG-0 zero-floor discipline: hand-authored v3 Rust must dissolve same-PR, cite a named structural trigger (with R3-close eligibility GREEN/YELLOW per §3), or carry explicit Director RED allocation. **Intentional-permanent hand-Rust additions** (e.g., new SG-0 STRUCTURAL infrastructure) **require explicit Director allocation citing the program shape** (Refinement B per Director ratification 2026-05-06 at gunbc#828 #issuecomment-4384070969); there is no implicit-pass — a Mgr cannot self-classify an addition as STRUCTURAL without Director ratification. Pre-existing STRUCTURAL infrastructure (the SG-0 measurement apparatus itself; per §3.A) is grandfathered pending Director ratification of the new STRUCTURAL status. -(b) **Substrate-gap-class blocking dissolution** (if any) — name the gap that prevents same-PR dissolution. If no gap, the contract's options collapse to "dissolve same-PR" or "explicit Director RED allocation"; "intentional permanent" without Director allocation is not allowed. +(b) **Substrate-gap-class blocking dissolution** (if any) — name the gap that prevents same-PR dissolution. If no gap, the contract's options collapse to "dissolve same-PR" or "explicit Director RED allocation"; intentional-permanent additions without Director allocation are NOT allowed. (c) **Same-PR dissolution OR named-trigger-with-R3-close-eligibility** — if dissolution doesn't land same-PR, name the trigger + R3-close eligibility (GREEN/YELLOW/RED per §3 rubric). RED requires Director-level allocation. From 8bcbf7e6230247fb40635e4ac64165c93e507d82 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:07:52 +0000 Subject: [PATCH 13/36] =?UTF-8?q?docs(r3):=20absorb=20openai-pro=204=20BLO?= =?UTF-8?q?CKING=20findings=20=E2=80=94=20single-authority=20+=20gate-name?= =?UTF-8?q?=20alignment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro (gpt-5-5-pro) review on PR #1808 sha bb045ed9 at PR #1808 #issuecomment-4384358345. REQUEST_CHANGES with 4 BLOCKING findings; all valid. Finding 1 (single-authority drift PR #1804 references): Plan §"Authority hierarchy" said "PR #1804 superseded; consolidated into this PR" but later sections said "PR #1804 holds the per-row inventory" (line 333) + "Authoritative counts populate via PR #1804 §1.A–§1.G" (line 345). Pure contradiction. Fix: §5 reframed to make in-PR audit doc the single authoritative source; PR #1804 references narrowed to historical PR-comment thread for Phase 2 partial deliverables (folds into audit doc during Phase 3 compile). The audit doc IN this PR is now the schema/framework authority; the now-superseded PR #1804 comment thread is historical-only. Finding 2 (parallel-vs-sequential dependency-graph contradiction): §6 graph correction note said "T-Lens-Application-Surface and T-Workflow-As-Data parallel post-LBP COMPLETE; neither depends on the other" but the numbered "Global critical-path chain" encoded sequential "T-Lens-Application-Surface → T-Workflow-As-Data → T-Lens-Self-Application." Fix: chain step 3 reframed to "(T-Lens-Application-Surface PARALLEL T-Workflow-As-Data)"; step 4 explicitly notes T-Lens-Self-Application depends on BOTH. Aligns with Director poke-hole finding 2.3 + r3-structure.md §"Dependency on R2" parallelism statement. Finding 3 (anthropic_wire_demonstration hermetic discipline): Plan said "deterministic mock; live-API NOT closure gate" (line 120). r3-structure.md gate body said "Anthropic API or mock" — leaves live-API as acceptable closure path. TESTING.md hermetic-first violation. Fix: r3-structure.md gate body aligned to "deterministic mock" only; live-API tracked separately as CI cadence concern, not closure gate. Finding 4 (gate-name conflict): Plan §1.6 named the T-V2-Retirement demo gate `v3_self_host_demonstration` but r3-structure.md §"Acceptance" still called it `v2_retirement_demonstration` from prior wording. Same gate, two canonical names. Fix: r3-structure.md aligned to `v3_self_host_demonstration` to match plan §1.6 + Director poke-hole finding 4.1 reframe. Plan + r3-structure.md now single-authority on closure-gate names + edge set. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 17 ++++++++--------- docs/r3-structure.md | 4 ++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index abc44f9f202..5e8f0b97522 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -315,9 +315,9 @@ Pass condition: ## §5. Bridge inventory snapshot -**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (consolidated into this PR; PR #1804 superseded). PM-authored Phase 1 framework + §4 anticipation discipline + §3 GREEN/YELLOW/RED rubric live; Phase 2-3 inventory (per-class bridge enumeration) populates via Mgr canvas + PR comments as canvases compile. +**Source-of-truth**: [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) (in this PR — PR #1804 superseded; sweep framework consolidated). PM-authored Phase 1 framework + §4 anticipation discipline + §3 GREEN/YELLOW/RED rubric live in the audit doc; Phase 3 compile populates per-row inventory. -**Status (2026-05-06)**: per-class counts below are PRE-Phase-3-compile expected ranges from Director's bridge-class framework. Phase 2 sweep deliverables (PR #1804 §1.1–§2.2) have landed substantive partial data; **Phase 3 compile** populates verified-at-HEAD counts replacing these expected ranges before plan PR opens (per Director poke-hole 2026-05-06 finding 6.3). +**Status (2026-05-06)**: per-class counts below are PRE-Phase-3-compile expected ranges from Director's bridge-class framework. Phase 2 partial deliverables landed as PR comments on the now-superseded PR #1804 comment thread (compiler-core `.rs` audit / emit subdir audit / v3 std `.dag` mirror audit / R2-R3-era PR debt history); **Phase 3 compile** folds those historical comment-thread deliverables into the audit doc in this PR, populating verified-at-HEAD counts before plan PR opens (per Director poke-hole 2026-05-06 finding 6.3). **Apples-to-apples count discipline** (per `feedback_corrections_must_grep_verify_source` + INVARIANTS P1 single-authority): @@ -328,11 +328,11 @@ Pass condition: The 66-file audit is per-file classification work distinct from SG-0 census authority (path inclusion). Both counts are useful for different purposes: 66 = audit scope; 41 = SG-0 ratchet for that scope; 136 = SG-0 ratchet total. -Plus 35 v3 std mirror entries + 112 R2/R3-era PRs (covered by §1.3 + §2.1/§2.2 of PR #1804 sweep deliverables). +Plus 35 v3 std mirror entries + 112 R2/R3-era PRs (Phase 2 audit work landed as PR comments on now-superseded PR #1804 comment thread; Phase 3 compile folds into the audit doc in this PR). -This plan section reports cumulative bridge counts; PR #1804 holds the per-row inventory. +This plan section reports cumulative bridge counts; **the audit doc in this PR (`docs/audit/r3-debt-sweep-2026-05-06.md`) holds the schema + framework** — Phase 3 compile populates per-row inventory. -**Phase 2 inventory shape** (counts populate post-canvas-completion; **expected ranges** below are pre-Phase-2-completion estimates from Director's bridge-class framework, NOT compiled facts — see PR #1804 for authoritative per-row inventory as canvases land): +**Phase 2 inventory shape** (counts populate post-canvas-completion; **expected ranges** below are pre-Phase-2-completion estimates from Director's bridge-class framework, NOT compiled facts — Phase 3 compile of the audit doc in this PR folds historical Phase-2 deliverables from PR #1804 comment thread into authoritative per-row inventory): - **Class A (substrate-gap-blocked)**: expected range ~15-20 bridges; awaiting Mgr canvas enumeration. - **Class B (Pattern-A NYI predicates)**: count = 7 (this count IS authoritative — predicates pre-named in framework): TC1, TC2, TC3, free-consequences, RustDagIsomorphism, BridgeLedgerZero, SymbolicCostExprEquals. @@ -342,7 +342,7 @@ This plan section reports cumulative bridge counts; PR #1804 holds the per-row i - **Class F (operator-ontology-duplication)**: expected range — awaiting canvas. - **Class G (local-small)**: expected range — distributed across lanes; awaiting canvas. -**Authoritative counts populate via PR #1804 §1.A–§1.G as Mgr canvases land**. Net-bridge count at R3 close is 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) §4 anticipation discipline). +**Authoritative counts populate via Phase 3 compile of [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) §1.A–§1.G in this PR** (Phase 2 partial deliverables on now-superseded PR #1804 comment thread fold in during Phase 3). Net-bridge count at R3 close is 0 (per `bridge_retirement_ledger_zero` + 5 substrate-gap-class closure gates). Each bridge has a named dissolution trigger; bridges without triggers escalate to substrate gap requiring named R3 lane (per audit doc §4 anticipation discipline). **Drift items from Phase 2 sweep** (per Grounding Mgr poke-hole 2026-05-06 finding 5 normalization — earlier list double-counted #1638/declaration_by_name as same issue + omitted CollectionOps drift): @@ -409,9 +409,8 @@ R3 close = all 70 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive s 1. T-E-P-Producer-Broadening (Substrate, foundational) 2. → T-Lens-Behavioral-Parity (cross-program, 4 sub-slices) -3. → T-Lens-Application-Surface (cross-program) -4. → T-Workflow-As-Data (Substrate) -5. → T-Lens-Self-Application (Verification, demonstration) +3. → **(T-Lens-Application-Surface PARALLEL T-Workflow-As-Data)** — both gated by T-Lens-Behavioral-Parity COMPLETE; neither depends on the other (per Director poke-hole 2026-05-06 finding 2.3 + openai-pro 2026-05-06 finding 2) +4. → T-Lens-Self-Application (Verification, demonstration; depends on BOTH T-Lens-Application-Surface AND T-Workflow-As-Data) **Verification-internal critical path** (longest verification path; parallel to global chain): diff --git a/docs/r3-structure.md b/docs/r3-structure.md index cc389ae63aa..97ba62c491c 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -146,10 +146,10 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer `.dag` program runs end-to-end via Evaluator - `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program - `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes - - `anthropic_wire_demonstration` — full request/response cycle executes against Anthropic API or mock + - `anthropic_wire_demonstration` — full request/response cycle executes against **deterministic mock** (per `docs/r3-program-plan.md` §1.6 + Director poke-hole 2026-05-06 finding 4.3 + openai-pro 2026-05-06 finding 3 — hermetic-first per TESTING.md; live-API testing tracked separately as CI cadence concern, NOT a closure gate) - `bridge_retirement_demonstration` — at least one retired-bridge replacement path executes (e.g., typed-identity-surface used in production code) - `cost_lens_demonstration` — cost lens reads representative target program and composes algebra+realization cost end-to-end - - `v2_retirement_demonstration` — bootstrap path through PB-Runtime trampoline executes (the v3-only path runs end-to-end after v2 deletion) + - `v3_self_host_demonstration` — bootstrap path through PB-Runtime trampoline executes end-to-end; v3-only self-host pipeline runs without v2 fallback (per `docs/r3-program-plan.md` §1.6 + Director poke-hole 2026-05-06 finding 4.1 + openai-pro 2026-05-06 finding 4 — gate name aligned across both docs; reframed from prior `v2_retirement_demonstration` to direct positive-statement form) - `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime - `lens_behavioral_parity_demonstration` — each lens (complexity / cost / parallelism / effect_enumeration) demonstrates on representative input + matches v2 oracle - `tests_as_data_demonstration` — at least one Rust test ports to `.dag` TestClaim and executes via Evaluator From 424a921a89733ee4e8e20649dd1fa6f422433f2f Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:11:41 +0000 Subject: [PATCH 14/36] docs(r3): absorb Verification Mgr canvas items V3-V6 (full canvas) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per cool-owl-579 escalation canvas at gunbc#1740 #issuecomment-4384101620 (historical relay just landed via dashboard queue). Original §10.2.1 absorption only captured V1 + V2; full canvas had 6 items. V3-V6 missed in original absorption; codifying now. V3 (Evaluator wall vs Verification cross-program lanes) — closure-criteria alignment per acceptance row. Some Verification predicates require evaluator runtime that may not be R3-close-ready; honest NYI vs silent assumption. Plan integration: addressed by §1.6 demo-gate minimum bar (Director finding 1.1); §10.3 Q-Verification-NYI-Carry-Forward names the carry-forward classification decision (RATIFIED-by-default per minimum bar). V4 (Worker idle surfaces) — bandwidth, not substrate bug. bold-crane-790 + cool-heron-521 idle without active PR. Plan integration: addressed by §3 lane-status + §9 weekly cadence (lane-owning Mgr packages PR-sized specs). V5 (SB5+6 PR-history heuristic ≠ closed audit) — reporting discipline. Already labeled in §5 as "expected ranges" (Director finding 6.3); V5 reinforces Phase 3 compile must apply per-PR body/ledger grep discipline, NOT re-import heuristic table verbatim. V6 (ValueBody Rust↔.dag mirror drift / missing isomorphism gate) — RED-adjacent novel substrate concern. Mirror divergence risk + no CI isomorphism gate. Plan integration: §10.3 Q-ValueBody-Isomorphism added (NEW escalation requiring Director + R3 Substrate Mgr scoping). Default recommendation per feedback_isomorphism_or_generation_for_mirrors: isomorphism gate IN R3 scope (zero-internal-fiction implies CI conformance test required). §10.2.1 expanded from "2 escalations" to "6 escalations (full canvas absorption)". Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 5e8f0b97522..1b8fc893f55 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -540,7 +540,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun ### §10.2 Per-Mgr canvas escalations (compiling as canvases land) -#### §10.2.1 R3 Verification Mgr (cool-owl-579, #1740) — 2 escalations +#### §10.2.1 R3 Verification Mgr (cool-owl-579, #1740) — 6 escalations (full canvas absorption) **V1. Pattern A (DimensionReport-typed family) blocks executable / net bridge shrink** (canvas item 1, structural) @@ -555,6 +555,30 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun - **Needs**: coverage/completeness accounting decision — mark NYI claims incomplete in aggregation OR schedule evaluator-backed comparison slice. - **Plan integration**: §1.1; ratification opens Q-NYI-Accounting in §10.3. +**V3. Evaluator wall vs Verification cross-program lanes — closure-criteria alignment** (canvas item 3, structural) +- **Description**: For each Verification acceptance row, decide which predicates must execute in R3 vs remain honest NYI with explicit incomplete classification until evaluator lands. Risk: harness-heavy progress (`.dag` fixtures + `run_claim` / integration tests) proceeds while runtime-complete demonstrations remain blocked where predicates require evaluator execution. +- **Needs**: Director + R3 Evaluator Mgr + PM — closure-criteria scope decision per acceptance row. +- **R3 zero-debt impact**: must NOT claim R3 Verification "complete" while cross-program rows silently wait on evaluator; either shrink scope or extend close predicate. +- **Plan integration**: §1.6 demonstration principle minimum bar (per Director finding 1.1) addresses partially; §10.3 Q-Verification-NYI-Carry-Forward names the carry-forward classification decision. + +**V4. Worker idle surfaces — bandwidth, not substrate bug** (canvas item 4, bandwidth) +- **Description**: bold-crane-790 + cool-heron-521 idle with no active PR after CI/ratchet churn; execution-ready Verification slices not queued at Mgr granularity. +- **Needs**: PM §3 dispatch with PR-sized specs (files + acceptance + ROADMAP row), not open-ended "continue R3". +- **R3 zero-debt impact**: bandwidth risk if plan assumes parallel workers without packaged tasks. +- **Plan integration**: addressed by §3 lane-status snapshot + §9 weekly cadence (lane-owning Mgr packages PR-sized specs); follows from Director cadence pattern. + +**V5. SB5+6 PR-history (PR #1804) — heuristic pass ≠ closed audit** (canvas item 5, reporting) +- **Description**: Phase-2 R2/R3-era PR debt table on PR #1804 is path-filtered + column heuristics; not yet per-PR body/ledger grep with row-by-row inversion-test discipline. +- **Needs**: PM defines next pass — widen/narrow path union vs require PR-body debt citations for every row. +- **R3 zero-debt impact**: reporting debt if misread as "verified"; must NOT become a hidden "we closed history" claim. +- **Plan integration**: §5 already labels Phase 2 partials as "expected ranges; Phase 3 compile populates verified counts" (per Director finding 6.3); V5 reinforces — Phase 3 compile must apply per-PR body/ledger grep discipline, not re-import heuristic table. + +**V6. ValueBody Rust↔.dag mirror drift / missing isomorphism gate** (canvas item 6, RED-adjacent) +- **Description**: ROADMAP records novel internal-taxonomy drift risk: live Rust `ValueBody` vs `.dag` `ValueBody*` mirror mismatch with no CI isomorphism gate. Tests can pass while mirror diverges. +- **Needs**: Director + R3 Substrate Mgr (mirror authority) + Brian — is structural-isomorphism / conformance gate in R3 close, or explicit post-R3 carry with named owner? +- **R3 zero-debt impact**: HIGH if "zero internal fiction" is literal R3-close definition. Verification cannot unilaterally close this. +- **Plan integration**: §10.3 Q-ValueBody-Isomorphism — escalation requires Substrate Mgr authority to scope. + #### §10.2.2 R3 Grounding Mgr (bold-ferret-748, #1745) — 5+ escalations **G1. T-Ground-Rust blocked on PR-F** @@ -638,6 +662,8 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | | Q-MachineConstraint-Carrier | Substrate carrier for `MachineConstraint` independent axis (per Brian directive 2026-05-06 — concrete types emerge from algebra × machine-constraint interaction; `i64` = `Int × MachineWidth<64>` consequence, NOT primary entity) | Substrate Mgr authors `MachineConstraint` carrier + interaction lookup; folds into T-Numeric-Construction continuation (algebra side already in flight); surfaces as new Substrate sub-program. Required for Class 1 substrate-gap-class closure per §1.4. | OPEN — Substrate Mgr + Director scoping needed (NEW 2026-05-06 from Brian inline at PR #1808 line 69) | +| Q-Verification-NYI-Carry-Forward | Closure-criteria alignment for cross-program Verification rows: which predicates must execute in R3 vs remain honest NYI with explicit incomplete classification until evaluator lands? | Per §1.6 demonstration-gate minimum bar (Director finding 1.1): predicates without runtime evaluator execution canNOT claim "GREEN" closure; honest NYI classification with explicit carry-forward owner required. R3-Verification rows that depend on evaluator runtime that's NYI at R3 close → explicit NYI + named carry-forward Mgr (NOT silent assumption of evaluator landing). | RATIFIED-by-default per Director finding 1.1 minimum bar; closure-ledger reports separate "demonstration-executes" vs "static-fact" status per row (per §1.6). Verification Mgr ratifies per-row carry-forward classification at lane-close audit. | +| Q-ValueBody-Isomorphism | ValueBody Rust↔.dag mirror drift gate — structural-isomorphism / conformance gate in R3 close, OR explicit post-R3 carry with named owner? Mirror divergence risk + no CI isomorphism gate currently. | Per `feedback_isomorphism_or_generation_for_mirrors`: Rust↔.dag mirrors need generation-or-isomorphism-test, not hand-maintenance. R3 zero-debt-close framing implies isomorphism gate IN R3 scope — gate fires at R3 close requiring CI conformance test. Owner: R3 Substrate Mgr (mirror authority) + Verification Mgr (test-only pressure). | OPEN — Director + R3 Substrate Mgr + Brian scoping needed (NEW 2026-05-06 from Verification Mgr canvas item 6) | --- From dea817439e9be61bf8666d1a3a7ea486b62a76e0 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:16:57 +0000 Subject: [PATCH 15/36] =?UTF-8?q?docs(r3):=20absorb=20codex=20BLOCKING=20(?= =?UTF-8?q?2)=20on=20sha=20424a921a=20=E2=80=94=20Q2=20ratification=20+=20?= =?UTF-8?q?RED=20post-R3=20conflict?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex review on PR #1808 sha 424a921a at PR #1808 #issuecomment-4384392783. Both BLOCKING findings valid; cross-doc consistency cleanup. Finding 1 (Q2 ratification mismatch): Plan §1.4 line 75 still said "Open (Q2, §10): ..." — the "Open" prefix conflicted with §1.5 line 79 + §10.1 which list Q2 as RATIFIED 2026-05-06. INVARIANTS.md "Documentation Describes Live State" violation. Fix: rephrased line 75 to "Q2 status (per §10.1): RATIFIED 2026-05-06" — removes misleading "Open" framing while preserving the recommendation-by-default note. Finding 2 (RED criteria post-R3 single-authority conflict): Sweep doc §3 RED criteria included "Explicitly post-R3 / out-of-current-scope by design" — but r3-structure.md §"Standing program — R3 Debt-Paydown" states "there is no post-R3 deferral path for tracked debt." Per Brian directive 2026-05-02 ("all 'accidentally deferred to post R3' into R3 now"). Single-authority conflict — reviewers cannot tell whether post-R3 is permitted or forbidden. Fix: sweep doc §3 RED criteria reframed: - Removed "Explicitly post-R3 / out-of-current-scope by design" - Added "Requires substrate-gap escalation to a named R3 lane" with explicit cite to no-post-R3-deferral policy - Added explicit "No 'post-R3 deferral' RED option" paragraph stating RED items must surface as named R3 work, escalate as substrate-gap, or carry Director allocation - Updated load-bearing-signal wording from "honestly out-of-scope" to "substrate-gap-requiring-R3-lane" Plan + sweep doc + r3-structure.md now single-authority on RED disposition (no post-R3 deferral path). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 8 +++++--- docs/r3-program-plan.md | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md index 5a75c1c01b8..c22e7e22f37 100644 --- a/docs/audit/r3-debt-sweep-2026-05-06.md +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -114,14 +114,16 @@ Three valid statuses per item. Each item in §1 has a defined status; the count **Example shape** (post-population): `EmissionDiagnostic` Rust mirror → trigger: "v3 evaluator authoritatively executes std diagnostic constructors"; prerequisite: "T-V2-Retirement G-2 deletion landing (which gates on T-FixedPoint + T-LensProducer-Retirement)" -### RED — no clear path / explicitly post-R3 / unknown; flagged for Director review +### RED — no clear path / unknown / requires substrate-gap escalation; flagged for Director review **Criteria** (any of): - No clear dissolution path identified -- Explicitly post-R3 / out-of-current-scope by design +- Requires substrate-gap escalation to a named R3 lane (per Brian directive 2026-05-02 + `docs/r3-structure.md` §"Standing program — R3 Debt-Paydown" — *"there is no post-R3 deferral path for tracked debt; if a row appears unretirable within R3 it surfaces as a substrate gap requiring a named R3 lane, not a deferral"*) - Unknown / unclassified — flagged for Director investigation -**RED count is the load-bearing signal.** Each RED needs Director-level investigation per Brian's framing: "are these honestly out-of-scope, or are they 'we don't know how to close this'?" +**No "post-R3 deferral" RED option** — Brian's R3 zero-debt close criteria + the no-post-R3-deferral discipline (per `docs/r3-structure.md` §"Standing program — R3 Debt-Paydown") mean RED items cannot resolve via "explicitly out-of-R3-scope by design"; they must either surface as named R3 work, escalate as substrate-gap requiring R3 lane, or carry explicit Director allocation. Earlier framing of "explicitly post-R3 / out-of-current-scope by design" as RED criterion conflicted with the canonical no-post-R3-deferral policy and is removed (per codex BLOCKING on PR #1808 sha `424a921a`, 2026-05-06). + +**RED count is the load-bearing signal.** Each RED needs Director-level investigation per Brian's framing: "are these honestly substrate-gap-requiring-R3-lane, or are they 'we don't know how to close this'?" ### Inversion-test discipline (per `feedback_modeling_inversion_and_paydown_flow`) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 1b8fc893f55..5ccc9b4102e 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -72,7 +72,7 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, | 4 — workflow/scheduling | `substrate_gap_workflow_scheduling_closed` | CI workflow modeled as `.dag` data executes through evaluator | T-Workflow-As-Data + T-Lens-Self-Application | | 5 — reflection-closure | `substrate_gap_reflection_closure_closed` | `lens_apply.rs` reflection work routes via PB-Runtime interpreter-as-data | T-LensProducer-Retirement | -**Open** (Q2, §10): all gap-test selections per-class ratified by default per Brian directive 2026-05-06 (*"take recommendations unless controversial"*). +**Q2 status (per §10.1)**: RATIFIED 2026-05-06. All gap-test selections per-class take PM recommendations per Brian directive (*"take recommendations unless controversial on all Q1-Q7"*). No outstanding ratification gap. ### §1.5 Closure-ledger total From 9bd56b39e1b502ad218753639366e8392f4f256e Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:18:56 +0000 Subject: [PATCH 16/36] =?UTF-8?q?docs(r3):=20absorb=20openai-pro=20meta-re?= =?UTF-8?q?view=20=E2=80=94=20explicit=20DECLARATIONS-ONLY=20staging=20lab?= =?UTF-8?q?el?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro meta-review on PR #1808 sha cf249389 at PR #1808 #issuecomment-4384405832. Verdict: PAUSE_AND_REGROUP. Meta-review observation (structurally accurate): each prior review absorption has been local prose patching, not structural. The pattern of "duplicate authority" appears in multiple forms — fixing each instance doesn't fix the class. Deeper observation: 16 new closure gates declared in this PR have no consumer infrastructure; the gate ledger grows faster than executable receipts. Subsequent absorption rounds at sha 8bcbf7e62 + 424a921a8 + dea817439 fixed the duplicate-authority instances the meta-review identified (PR #1804 references, gate names, dep-graph edges, Anthropic mock-only). The structural-pattern observation remained. Fix: §1.7 "Closure-criteria status — DECLARATIONS-ONLY staging" added. Explicit per-gate status taxonomy: - DECLARED: gate exists in r3-structure.md or plan - CONSUMER_LANDED: CI check / .dag TestClaim runner / runtime demonstration verifies the Pass condition + fail-closed - PASSING: consumer landed AND condition currently true Status at HEAD: ~all 70 gates DECLARED; few CONSUMER_LANDED (existing pre-R3-plan gates like pb_self_compile_fixed_point have consumers; the 16 new gates added 2026-05-06 are DECLARED-only). R3 close requires CONSUMER_LANDED for all 70 gates per Brian directive feedback_no_textual_enforcement_bridges + Director poke-hole finding 1.1 demonstration-gate minimum bar. Consumer infrastructure routes to existing R3 lanes: - T-Tests-As-Data-Completeness (predicates → .dag TestClaim runners) - R3 Debt-Paydown PR-anticipation gate (CI script) - Demonstration-gate minimum-bar consumer (lane-owning Mgr per gate) This PR's scope is intentionally declarations + plan. Consumer authoring happens in subsequent PRs by lane-owning Mgrs. The meta-review's PAUSE_AND_REGROUP verdict was correct at cf249389; this honest staging label addresses the deeper concern that closure- declarations without consumers risk reading as closure-evidence. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 5ccc9b4102e..221918e34cc 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -87,6 +87,31 @@ R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown Predicate cannot be satisfied by deletion-of-rows-without-actual-resolution; each retiring row requires named PR receipt OR closure-ledger entry citing the structural event that ends the row's existence. +### §1.7 Closure-criteria status — DECLARATIONS-ONLY staging (per openai-pro meta-review 2026-05-06) + +**This plan + r3-structure.md DECLARE 70 closure gates. The declarations are NOT YET load-bearing closure predicates — no consumer infrastructure verifies them at HEAD.** + +Per openai-pro meta-review on PR #1808 sha `cf249389` ([#issuecomment-4384405832](https://github.com/gunb-ai/gunbc/pull/1808#issuecomment-4384405832)) PAUSE_AND_REGROUP verdict — structurally honest framing of where this PR sits in the closure-evidence chain: + +**Per-gate status taxonomy:** + +- **DECLARED** — gate id + Pass condition exists in `r3-structure.md` §"Acceptance" or this plan §1. Document-level only. +- **CONSUMER_LANDED** — the consumer (CI check, `.dag` TestClaim runner executing through Evaluator, manual demonstration receipt) executes the Pass condition + can fail-closed if violated. +- **PASSING** — consumer landed AND Pass condition currently true. + +**Status at HEAD (PR #1808 sha at this commit)**: ~all 70 gates are **DECLARED**; very few have CONSUMER_LANDED status (existing `pb_self_compile_fixed_point` + `tier3_*_mirror_dissolved` + similar pre-R3-plan gates have consumers; the 16 NEW gates added 2026-05-06 in this PR are DECLARED-only). + +**R3 close criteria implies CONSUMER_LANDED for all 70 gates**: 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. +- **R3 Debt-Paydown PR-anticipation gate** (added 2026-05-06): `pr_anticipation_discipline_ci_active` — CI verifiably enforces §7 PR-authoring contract via `scripts/check-pr-sg0-net-shrink-discipline.sh`. Closes the predicate→consumer gap for going-forward debt-discipline gates. +- **Demonstration-gate minimum bar consumer** (per §1.6): each demonstration gate requires runtime-executable demonstration; lane-owning Mgr authors the consumer alongside gate declaration. Closes the predicate→consumer gap for the 10 NEW demonstration gates. + +**This PR's scope is intentionally declarations + plan; consumer authoring happens in subsequent PRs by lane-owning Mgrs** (per `feedback_bundle_workstreams_per_pr` — single coordinated authority drop here, distinct PRs for consumer infrastructure). + +The honest framing: this PR is **planning + declaration substrate** for R3 close, NOT R3-close-evidence. Without this label, downstream readers might misinterpret declarations as load-bearing closure predicates. + ### §1.6 Demonstration principle (Brian-ratified 2026-05-06) **Every feature comes with a demonstration.** Generalizes Q5 (free-consequences demonstration) to a structural requirement: every R3 lane MUST include at least one demonstration-shaped TestClaim — a runtime-executable claim that exercises the lane's deliverable end-to-end, not just static-fact assertions about substrate shape. From 3aee99d97a5eec8663f31b070834240e54e91333 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Tue, 5 May 2026 21:23:52 -0400 Subject: [PATCH 17/36] WIP: Gunbc PM --- docs/r3-program-plan.md | 44 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 221918e34cc..20aaa9888e4 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -658,7 +658,37 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun - **R3 zero-debt impact**: main RED risk — if upstream carrier decisions are not scheduled as prerequisite plan nodes, Grounding cannot honestly close by R3. - **Plan integration**: this plan §6 Dependency DAG + §3 lane status (cross-Mgr dependency edges) directly addresses this; G10 closes when §6 graph is Mgr-validated. -#### §10.2.3 R3 Substrate Mgr — pending canvas response (as-of 2026-05-06T00:30Z) +#### §10.2.3 R3 Substrate Mgr (quick-crab-830, #1739) — full canvas absorbed 2026-05-06T01:14Z + +Substrate Mgr's full forward-looking escalation canvas (per gunbc#846 #issuecomment-4384149022) — substantial: 6 design decisions held + 4 architectural questions + 3 structural concerns including 1 RED. + +**Section A — Currently-blocked items**: A1 = none. Clean. + +**Section B — Design decisions held (all need Director/PM ratification)**: +- **B1. Slice C scope sub-shape**: prose+regen-bundling vs separate sub-slice carve-out for `.dag` substrate files in #1795 follow-up. → Q-Slice-C-Shape +- **B2. T-Numeric-Construction parallel-author posture**: Mgr-tier brief authoring authorization vs sequence post-:425. → Q-Numeric-Construction-Trigger +- **B3. T-E-P-Producer-Broadening dispatch trigger**: brief drafted (PR #1782); dispatch trigger needed (anytime vs gate). → Q-T-E-P-Dispatch-Trigger +- **B4. L6 EmissionPathProjection dispatch trigger**: brief drafted; cross-Mgr handoff to Grounding wired; dispatch trigger needed. → Q-L6-Dispatch-Trigger +- **B5. X1.b S1 TransformDispatch dispatch trigger**: gated on E6-G0c merge from merry-gull-128 (#1743). → Q-X1b-S1-Dispatch-Coord +- **B6. F2 + F8 doc-sharpening PR scope**: bundle vs separate; Mgr vs worker dispatch. → Q-F2-F8-PR-Shape + +**Section C — Open architectural questions (Director architectural calls)**: +- **C1. Variant-aware projection carrier closure scope**: carrier-only sufficient vs 3 follow-up paydowns required for "wire-typing zero-debt" — 3-4x scope difference. → Q-Variant-Aware-Closure-Scope +- **C2. T-E-P-Producer-Broadening cascade timing realism**: does R3 close gate on full cascade (T-E-P → T-LBP → T-LAS → T-WAD + T-LSA) or just T-E-P? Major R3-close-predicate calibration. → Q-T-E-P-Cascade-Scope +- **C3. Slice C → :425 retirement receipt**: who authors (Mgr-tier vs worker), single combined vs per-slice. → Q-Slice-C-Retirement-Receipt +- **C4. R3 Substrate / R3 Grounding boundary on `.dag` files**: Slice C residual `.dag` files that overlap Grounding scope. → Q-Substrate-Grounding-DAG-Routing + +**Section D — Worker bandwidth**: +- 3 workers idle (loyal-wolf, valiant-ant, plus proud-lynx/smart-ram/valiant-ibex post-:425); awaiting plan-driven dispatch shapes. + +**Section E — Structural concerns about R3 zero-debt close**: +- **E1**: 10 wait-window briefs in PR #1782 all R3 Substrate scope (4 :425-related + 6 independent substrate dispatches). All must dispatch before R3 close. +- **E2**: 6+ substrate carrier dispatches form serialized queue (cross-lane coord ratchet per dispatch). Cadence rate-limits R3 close. +- **E3 (RED — *"I don't know how to close this"*)**: T-Lens-Behavioral-Parity (PROXY → BEHAVIORALLY COMPLETE for 4 lenses) is L-XL sized, gates on T-E-P-Producer-Broadening (foundational), itself has 4 sub-slices per lens. **Honest assessment: this is the largest R3-Substrate-shaped substantive work and may not close cleanly in R3 timeline.** → Q-Lens-Behavioral-Parity-R3-Closeability (RED escalation) + +**Plan integration**: 12 new escalations added to §10.3 covering B1-B6 + C1-C4 + E1+E2 + E3 (RED). E3 is the highest-leverage scope question — if T-Lens-Behavioral-Parity doesn't close in R3, the entire critical-path chain (T-E-P → T-LBP → T-LAS → T-WAD → T-LSA) is at risk. + +#### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) #### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) @@ -689,6 +719,18 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun | Q-MachineConstraint-Carrier | Substrate carrier for `MachineConstraint` independent axis (per Brian directive 2026-05-06 — concrete types emerge from algebra × machine-constraint interaction; `i64` = `Int × MachineWidth<64>` consequence, NOT primary entity) | Substrate Mgr authors `MachineConstraint` carrier + interaction lookup; folds into T-Numeric-Construction continuation (algebra side already in flight); surfaces as new Substrate sub-program. Required for Class 1 substrate-gap-class closure per §1.4. | OPEN — Substrate Mgr + Director scoping needed (NEW 2026-05-06 from Brian inline at PR #1808 line 69) | | Q-Verification-NYI-Carry-Forward | Closure-criteria alignment for cross-program Verification rows: which predicates must execute in R3 vs remain honest NYI with explicit incomplete classification until evaluator lands? | Per §1.6 demonstration-gate minimum bar (Director finding 1.1): predicates without runtime evaluator execution canNOT claim "GREEN" closure; honest NYI classification with explicit carry-forward owner required. R3-Verification rows that depend on evaluator runtime that's NYI at R3 close → explicit NYI + named carry-forward Mgr (NOT silent assumption of evaluator landing). | RATIFIED-by-default per Director finding 1.1 minimum bar; closure-ledger reports separate "demonstration-executes" vs "static-fact" status per row (per §1.6). Verification Mgr ratifies per-row carry-forward classification at lane-close audit. | | Q-ValueBody-Isomorphism | ValueBody Rust↔.dag mirror drift gate — structural-isomorphism / conformance gate in R3 close, OR explicit post-R3 carry with named owner? Mirror divergence risk + no CI isomorphism gate currently. | Per `feedback_isomorphism_or_generation_for_mirrors`: Rust↔.dag mirrors need generation-or-isomorphism-test, not hand-maintenance. R3 zero-debt-close framing implies isomorphism gate IN R3 scope — gate fires at R3 close requiring CI conformance test. Owner: R3 Substrate Mgr (mirror authority) + Verification Mgr (test-only pressure). | OPEN — Director + R3 Substrate Mgr + Brian scoping needed (NEW 2026-05-06 from Verification Mgr canvas item 6) | +| Q-Slice-C-Shape | Slice C `.dag` files in #1795 follow-up: prose+regen-bundling (path-(a) precedent) vs separate sub-slice carve-out | Path-(a) precedent from #1795 establishes regen-bundling-acceptable; default to single-PR prose+regen. | RATIFIED-by-default (Substrate Mgr B1) | +| Q-Numeric-Construction-Trigger | T-Numeric-Construction Mgr-tier brief authoring authorization vs post-:425 sequencing | Authorize Mgr-tier brief authoring now (parallel to :425 close); non-Evaluator-gated lane per r3-structure.md §"Dependency on R2". | RATIFIED-by-default (Substrate Mgr B2) | +| Q-T-E-P-Dispatch-Trigger | T-E-P-Producer-Broadening dispatch trigger (brief in PR #1782) | Dispatch anytime post-#1782 brief landing — foundational lane, no upstream prerequisite per r3-structure.md §"Dependency on R2". | RATIFIED-by-default (Substrate Mgr B3) | +| Q-L6-Dispatch-Trigger | L6 EmissionPathProjection dispatch trigger (brief in PR #1782) | Dispatch anytime post-#1782 brief landing — non-Evaluator-gated; can fire parallel to T-E-P. | RATIFIED-by-default (Substrate Mgr B4) | +| Q-X1b-S1-Dispatch-Coord | X1.b S1 TransformDispatch gate on E6-G0c merge (merry-gull-128 / #1743) | merry-gull cross-lane status update on E6-G0c required; Substrate Mgr standing by. | OPEN — Evaluator Mgr cross-lane status needed (Substrate Mgr B5) | +| Q-F2-F8-PR-Shape | F2 (`.v3` filename-suffix) + F8 (bootstrap load-order) doc-sharpening: bundle vs separate, Mgr-tier vs worker | Bundle into single Substrate Mgr-tier doc-sharpening PR (small scope; one PR per `feedback_brief_pr_cadence`). | RATIFIED-by-default (Substrate Mgr B6) | +| Q-Variant-Aware-Closure-Scope | Variant-aware projection carrier closure: carrier-only vs 3 follow-up paydowns required for "wire-typing zero-debt" | Per Brian "no post-R3 deferral" + R3 zero-debt close: ALL 3 follow-up paydowns (Anthropic + OpenAI ChatCompletion + OpenAI Responses) required for R3 close. 3-4x scope vs carrier-only. | OPEN — Director / Brian scope calibration (Substrate Mgr C1; significant scope-determination question) | +| Q-T-E-P-Cascade-Scope | T-E-P-Producer-Broadening cascade timing: R3 close gates on full chain (T-E-P → T-LBP → T-LAS → T-WAD + T-LSA) vs T-E-P alone? | Per r3-structure.md §"Lane structure" + Brian no-post-R3-deferral: R3 close requires the FULL cascade. T-Lens-Self-Application is the closure gate (recursive-flex demonstration); without T-LBP COMPLETE there's no consumer. | OPEN — Director / Brian scope calibration (Substrate Mgr C2 + Verification V3 closure-criteria alignment; reinforces Q-Verification-NYI-Carry-Forward) | +| Q-Slice-C-Retirement-Receipt | Slice C → :425 retirement receipt: Mgr-tier vs worker authoring; single combined vs per-slice | Mgr-tier authoring; single combined receipt covering Slice A+B+C (Brian-style condensation per `feedback_brief_pr_cadence`). | RATIFIED-by-default (Substrate Mgr C3) | +| Q-Substrate-Grounding-DAG-Routing | Slice C residual `.dag` files overlap Grounding scope (`docs/parallelism-design.md` etc.) — routing | Substrate Mgr owns Slice C residual entirely; cross-Mgr coord with bold-ferret-748 for Grounding-impacting `.dag` content via comment-thread review (no separate Grounding dispatch). | RATIFIED-by-default (Substrate Mgr C4) | +| Q-Substrate-Cadence-Throughput | 10 wait-window briefs in PR #1782 + 6+ substrate carrier dispatches form serialized queue; rate-limits R3 close | Authorize parallel-dispatch where lanes have no shared prerequisite (T-E-P + L6 + Numeric-Construction parallel; X1.b sequenced post-E6-G0c; coproduct paydowns sequenced post-variant-aware carrier). PM tracks cadence in §9 weekly cadence; lane-owning Mgr packages PR-sized specs. | RATIFIED-by-default (Substrate Mgr E1+E2) | +| Q-Lens-Behavioral-Parity-R3-Closeability | **RED**: T-Lens-Behavioral-Parity (PROXY → BEHAVIORALLY COMPLETE for 4 lenses) is L-XL sized + 4 sub-slices per lens + foundational-dependency on T-E-P-Producer-Broadening. Substrate Mgr honest assessment: may not close cleanly in R3 timeline. | Per Brian no-post-R3-deferral: T-LBP MUST close in R3 OR escalate as substrate-gap requiring named R3 lane. RED escalation needs Director / Brian scope calibration: (a) accept T-LBP scope as-is + extend R3 close horizon if needed; (b) reframe T-LBP scope (e.g., 1-2 lenses BEHAVIORALLY COMPLETE for R3 close, others post-R3 with substrate-gap routing); (c) escalate as substrate-gap requiring named R3 lane subdivision. | **OPEN — RED — Director / Brian scope calibration urgent** (Substrate Mgr E3; load-bearing scope-question for R3 close horizon) | --- From 54fb82b1304fb78a66df21f9669136e6956e7995 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:27:04 +0000 Subject: [PATCH 18/36] =?UTF-8?q?docs(r3):=20add=20=C2=A73.A=20STRUCTURAL?= =?UTF-8?q?=20grandfathering=20subsection=20per=20openai-pro=20NON-BLOCKIN?= =?UTF-8?q?G?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro APPROVE_WITH_COMMENTS on PR #1804 sha 450502c3 at PR #1804 #issuecomment-4384427761. NON-BLOCKING finding valid: sweep doc §4 line 143 referenced "§3.A grandfathering" but §3 only defined GREEN/YELLOW/RED — no §3.A subsection existed. Cross-reference broken; STRUCTURAL exemption category had a name but no defined bounds. Risk per openai-pro: future PR authors couldn't mechanically tell when STRUCTURAL exemption applies → exception surface that becomes untracked debt if left implicit. Fix: §3.A subsection added defining: - Bounds: SG-0 measurement apparatus only (sg0_census_test.rs + expected-arrays + test framework). NOT "compiler scaffold I think is load-bearing forever" — that's an escape hatch and disallowed per §4 going-forward contract. - Going-forward STRUCTURAL additions require explicit Director allocation citing program shape (per §4 Refinement B; no implicit-pass). - Interaction with §3 GREEN/YELLOW/RED: STRUCTURAL is NOT a fourth ledger-counted status; explicit out-of-ledger category for the measurement primitive itself. - Boundary with substrate-gap-class closures: STRUCTURAL apparatus is the framework that detects gaps, not a gap itself. - Status-flow if Director rejects STRUCTURAL: items revert to YELLOW with explicit prerequisite "Director ratification" or RED if neither ratification nor dissolution path materializes by R3 close. This closes the cross-reference gap line 150 → §3.A; STRUCTURAL exemption is now bounded + mechanically checkable. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md index c22e7e22f37..88bffb9b047 100644 --- a/docs/audit/r3-debt-sweep-2026-05-06.md +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -133,6 +133,22 @@ Before flagging an item RED, apply inversion test: If inversion dissolves the case → status updates to GREEN/YELLOW. If inversion doesn't dissolve it → RED is structurally honest. +### §3.A STRUCTURAL grandfathering — pre-existing apparatus exemption (per openai-pro NON-BLOCKING 2026-05-06 at PR #1804 #issuecomment-4384427761) + +A fourth status exists alongside GREEN / YELLOW / RED for **pre-existing STRUCTURAL infrastructure only** — the SG-0 measurement apparatus itself (the sg0_census_test.rs framework, its expected-arrays, and the test-runner that uses them). This apparatus is hand-authored Rust by necessity (it measures hand-Rust at the test boundary; it cannot itself be generated without dissolving the measurement primitive). It is grandfathered from the GREEN/YELLOW/RED rubric pending explicit Director ratification of "STRUCTURAL" as a permanent status. + +**Bounds — what counts as STRUCTURAL grandfathered**: +- The SG-0 measurement apparatus (`src/v3/compiler/tests/integration/sg0_census_test.rs` + its expected-array authority arrays + the test framework it depends on) +- NOT generic "compiler scaffold I think is load-bearing forever" — that's an escape hatch and explicitly disallowed per §4 going-forward contract + +**Going-forward (post-framework-merge) STRUCTURAL additions**: require explicit Director allocation citing the program shape (per §4 Refinement B). There is no implicit-pass; a Mgr cannot self-classify an addition as STRUCTURAL without Director ratification. + +**Interaction with §3 GREEN/YELLOW/RED**: STRUCTURAL is NOT a fourth ledger-counted status (does not contribute to ledger-zero count per §1.3 inclusion rules). It's an explicit out-of-ledger category for the measurement primitive itself. R3 close-criteria treat STRUCTURAL items as out-of-scope for `bridge_retirement_ledger_zero` predicate but in-scope for the measurement framework's continued existence. + +**Boundary with substrate-gap-class closures**: STRUCTURAL apparatus is NOT eligible for the 5 substrate-gap-class closures (§1.4) — it's the measurement framework that detects gaps, not a gap itself. + +**Status-flow if Director rejects "STRUCTURAL" status**: items currently in §3.A revert to YELLOW with explicit prerequisite "Director ratification of STRUCTURAL status as new R3-close ledger category." If neither STRUCTURAL ratification nor dissolution path materializes by R3 close, items become RED. + --- ## §4 Anticipated debt — preventive lane From fa8bf7a7721dacf4103434f1f090522e6ad58de7 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:29:29 +0000 Subject: [PATCH 19/36] docs(r3): clarify Phase 2 dispatch matrix (6 PM-subtree + 3 Director-relay) per codex BLOCKING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex inline finding on PR #1804 sha 450502c3 line 209 at PR #1804 #issuecomment-4384434568. BLOCKING valid: sweep doc said "all 6 R3 Mgr inboxes" but r3-structure.md is canonical 9-standing-manager R3 authority. INVARIANTS P2 single-authority + P1 live-state — silent omission of 3 Mgrs. Diagnosis: PM dispatched canvas to 6 R3 Mgrs in PM subtree (Substrate / Verification / PB / Evaluator / Debt-Paydown / Grounding). The remaining 3 R3 standing Mgrs (per the "8 + Debt-Paydown = 9" enumeration in r3-structure.md §"Manager structure") — including R3 Release Mgr (owns T-Omni-Shape-B + R3 closure ledger + R3 demo coordination) — are NOT in PM subtree and coordinate via Director (zesty-bear-812, #828) per cross-Mgr cadence. Fix: §Phase 2 explicitly enumerates the 6 PM-subtree Mgrs by name + inbox; adds explicit paragraph about the 3 non-PM-subtree Mgrs coordinating via Director relay; adds explicit "no silent omission" closing statement. Dispatch matrix now mechanically checkable: - 6 Mgrs in PM subtree → direct PM canvas dispatch - 3 Mgrs via Director relay (R3 Release + 2 others) - Total = 9 (matches canonical authority count) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md index 88bffb9b047..e7d6085a8bf 100644 --- a/docs/audit/r3-debt-sweep-2026-05-06.md +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -206,7 +206,19 @@ Contract applies to **PRs landing AFTER this framework merges** (not retroactive **Phase 1 (current — framework draft)**: PM authors §1 schema + §3 rubric + §4 anticipation discipline. Surface to Director for ratification. -**Phase 2 (post-ratification)**: parallel Mgr canvas dispatch to all 6 R3 Mgr inboxes simultaneously; identical message format. Each Mgr surfaces lane debt with grep-verified sourcing. +**Phase 2 (post-ratification)**: parallel Mgr canvas dispatch to the 6 R3 Mgr inboxes that PM has direct dispatch authority for in the PM subtree: +- R3 Substrate Mgr (quick-crab-830, gunbc#1739) +- R3 Verification Mgr (cool-owl-579, gunbc#1740) +- R3 PB Mgr (neat-bear-351, gunbc#1742) +- R3 Evaluator Mgr (merry-gull-128, gunbc#1743) +- R3 Debt-Paydown Mgr (quiet-otter-416, gunbc#1744) +- R3 Grounding Mgr (bold-ferret-748, gunbc#1745) + +Identical message format. Each Mgr surfaces lane debt with grep-verified sourcing. + +**Remaining R3 standing Mgrs** (per `docs/r3-structure.md` §"Manager structure" canonical 9-standing-Mgr count; the 3 not in PM subtree): **R3 Release Mgr** (owns T-Omni-Shape-B + R3 closure ledger + R3 demo coordination; may be R2 Release Mgr continuation) + 2 others per the "8 + Debt-Paydown" enumeration (likely include Tier 3 Mgr if separate from PB continuation, and one additional R2-continuation Mgr). These Mgrs **coordinate via Director** (zesty-bear-812, gunbc#828) per cross-Mgr cadence; their lane debt + canvas surfaces flow through Director-relayed comments. Per codex BLOCKING on PR #1804 line 209 (2026-05-06): this clarification closes the silent-omission risk that 6 ≠ 9 implies (INVARIANTS P2 single-authority + P1 live-state). + +No Mgr's lane debt is silently omitted — PM-subtree Mgrs report directly via canvas; non-subtree Mgrs report via Director relay. **Phase 3 (post-canvas)**: PM compiles Mgr responses + adds §2 hidden-debt audit + cross-references ROADMAP review + recent analyses. Surfaces compiled sweep for Director final ratification + R3 closure-criteria explicit list. From 0efe31615e409dd0c5746a14b56634311ad892ad Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:31:46 +0000 Subject: [PATCH 20/36] docs(r3): propagate conjunctive substrate-gap-class predicate per openai-pro BLOCKING MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro REQUEST_CHANGES on PR #1808 sha 9bd56b39 at PR #1808 #issuecomment-4384443816. BLOCKING valid: prior absorption (sha 2f77d943) strengthened plan §1.4 to conjunctive predicate "representative gap-test executes AND class-bridge-count = 0" per Director finding 1.3, but the conjunctive form did NOT propagate to: - r3-structure.md line 139 (canonical archive substrate-gap-class block) - plan §4 line 268 (substrate-gap-class detail intro) Both still said "TestClaim fires when representative gap-test executes" — weaker than §1.4 conjunctive form. P2 Boundary Discipline / P5 Progress Is Dissolution violation: representative sample alone could go green while unexercised class bridges remain. Same propagation-gap pattern openai-pro caught earlier (4 BLOCKING at sha 8bcbf7e6) — local fixes don't always cascade to all references. Fix: both r3-structure.md line 139 + plan §4 intro reframed to explicitly state conjunctive (a) AND (b) predicate matching §1.4 exactly. All three references (§1.4 + §4 + r3-structure.md §"Acceptance" substrate-gap-class block) now single-authority + conjunctive. Class-closure predicate is now identical across all three sites: (a) representative gap-test executes through v3 cleanly per Pass condition AND (b) systematic enumeration of class-bridges shows count = 0 (or survivors carry explicit Director allocation per §3.A STRUCTURAL exception) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 2 +- docs/r3-structure.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 20aaa9888e4..bba2a1c9cbb 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -265,7 +265,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane ## §4. 5 substrate-gap classes — detail -**Framing (PM-recommended; Q2, §10)**: closure criteria over existing lane work, not new separate lanes. Each class is a TestClaim that fires when its representative gap-test executes through v3 cleanly. +**Framing (Q2 RATIFIED 2026-05-06)**: closure criteria over existing lane work, not new separate lanes. Each class is a TestClaim that fires when **both** (per §1.4 conjunctive predicate; Director poke-hole 2026-05-06 finding 1.3 + openai-pro 2026-05-06 finding 2.2): **(a)** representative gap-test executes through v3 cleanly per Pass condition AND **(b)** systematic enumeration of class-bridges shows count = 0 (or any survivors carry explicit Director allocation per §7.2 / `docs/audit/r3-debt-sweep-2026-05-06.md` §3.A STRUCTURAL exception). Single-test-pass alone is sample-of-class, NOT closure-of-class. ### §4.1 Class 1 — parser/grammar surface diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 97ba62c491c..beb0e627485 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -136,7 +136,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `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 `Missing | Ambiguous | Stale` per timing-lens design; demonstrates that user-authored apply_lens substrate generalizes to project-self-validation use case - `recursive_flex_demonstration_landed` — narrative-load-bearing thesis claim cashes in worked instance: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Compiler-people read this as the categorical move that the lens framework isn't just for user code — it applies recursively to gunbc's own runtime behavior. Either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target tracked as informational SLO; **not a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment) -- **Substrate-gap-class closure** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846); closure-criteria over existing lane work, NOT new separate lanes — added without expanding R3 lane count). Five class-level closure gates ratifying that R3 close requires a representative gap-test executing through v3 cleanly per substrate-gap class. Per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 + §4. +- **Substrate-gap-class closure** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846); closure-criteria over existing lane work, NOT new separate lanes — added without expanding R3 lane count). Five class-level closure gates each closing when **both** (per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 conjunctive predicate; Director poke-hole 2026-05-06 finding 1.3 + openai-pro 2026-05-06 finding 2.2): **(a)** representative gap-test executes through v3 cleanly per Pass condition AND **(b)** systematic enumeration of class-bridges shows count = 0 (or any survivors carry explicit Director allocation per `docs/audit/r3-debt-sweep-2026-05-06.md` §3.A STRUCTURAL exception). Single-test-pass alone is sample-of-class, NOT closure-of-class; conjunctive predicate prevents class reading "GREEN" while real bridges in that class persist unexercised by the chosen representative. Per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.4 + §4. - `substrate_gap_parser_grammar_closed` — v3 substrate models concrete types as the **interaction of independent constraint models** — abstract algebra × machine constraints — with concrete types emerging as consequences (per Brian directive 2026-05-06 at [gunbc#846 inline](https://github.com/gunb-ai/gunbc/pull/1808): *"these concepts should be the interaction of several constraint models i.e. abstract algebra × machine constraints — i64 would naturally emerge as a consequence"*). Refinement syntax `Type` expresses the interaction, NOT a primary entity. Substrate declares abstract algebra (e.g., `Int = AbelianGroup`) and machine constraints (e.g., `MachineWidth`) as **independent** models; concrete types emerge via interaction (e.g., `Int<64>` = `Int × MachineWidth<64>`; target-language `i64` is derived artifact, not primary substrate entity). Pass condition: ≥3 algebra×constraint pairs (`Int<64>` / `Real<64>` / `Nat<8>`) lower through stage0 emission without v2-fallback; emitted artifact compiles to expected target primitive (`i64` / `f64` / `u8`) where target primitive is consequence-of-interaction. Closes via T-V2-Retirement parser path + T-Numeric-Construction (algebra side) + Substrate continuation (machine-constraint side; may require new `MachineConstraint` substrate carrier) - `substrate_gap_function_valued_data_closed` — `Lens` instance with function-typed payload executes through evaluator and produces `DimensionReport` without Rust mediation. Closes via T-Lens-Application-Surface + T-E-P-Producer-Broadening - `substrate_gap_file_ingestion_closed` — One `.dag` program ingests external file (timing observation set, JSON config) without `include_str!`; exercises file-ingestion grammar. Closes via T-Workflow-As-Data From 7714fbb589be4363204bc40dcddfdce769be9a41 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:39:04 +0000 Subject: [PATCH 21/36] =?UTF-8?q?docs(r3):=20absorb=20R3=20Substrate=20Mgr?= =?UTF-8?q?=20poke-hole=20=E2=80=94=203=20RED=20+=204=20YELLOW?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per quick-crab-830 review of PR #1808 at gunbc#846 #issuecomment-4384236406. Substantive review beyond their original canvas (sha 3aee99d97 absorbed the canvas; this commit absorbs the plan-poke-hole pass). R1 (RED) — §3 T-Anthropic-Wire row was wrong. Plan said "RED · #1702 held pending variant-aware projection carrier" (per Grounding finding 3). Substrate Mgr corrects: status is YELLOW with 3 coproduct worker briefs dispatched on PR #1782 wait-window + 2 OPEN closure tags in dsl/extdeps/llm/anthropic.dag (:189 + :68). Blocker = three coproduct slices land + variant-aware projection carrier authored. Status corrected from RED → YELLOW with precise blocker enumeration. R2 (RED) — §4.2 Class 2 cascade dependency. Class 2 (function-valued data) closes via T-Lens-Application-Surface which depends on T-Lens-Behavioral-Parity (Substrate Mgr E3 RED — "I don't know how to close this"). Plan made Class 2 closure transitively dependent on an unscheduled lane without acknowledging the cascade. Fix: §4.2 adds explicit "Cascade dependency caveat" stating Class 2 closure inherits LBP scope-calibration outcome (Q-Lens-Behavioral-Parity-R3-Closeability in §10.3). R3 (RED) — §4.4 Class 4 substrate-prerequisite enumeration missing. Plan named "CI workflow as .dag data" gap-test without enumerating substrate carriers needed. Fix: §4.4 enumerates required carriers (WorkflowTrigger sum, WorkflowStep + WorkflowMatrix, WorkflowSecret, RunnerResource, Workflow composing carrier) + adds Q-Workflow-As-Data- Carriers escalation in §10.3 (Substrate Mgr authoring scope; required substrate prerequisites for Class 4 closure path). Y3 — Q-PR-F bandwidth assumption. Plan said "Substrate Mgr executes PR-F" without naming dispatch worker + brief shape + critical-path slot. Per Substrate Mgr canvas D, only loyal-wolf + valiant-ant fully idle. Fix: Q-PR-F updated with concrete bandwidth-aware dispatch routing — worker = loyal-wolf or valiant-ant (Substrate Mgr selects); brief shape = T-E-P precedent; critical-path slot = post-#1782 + parallel to T-E-P. Y4 — §2.3 Substrate-owned bridge scope. Plan said "Substrate-owned (2)" includes SourceSpan.file participation checks. Substrate Mgr scope- clarification: bootstrap_generated.rs codegen-emitted SourceSpan::new calls are a separate generated-file bridge shape, NOT counted as Substrate-owned manual hand-Rust. Fix: §2.3 explicitly clarifies the 2-count covers hand-Rust audit sites (bootstrap.rs:519 + :137/:287/:309) ONLY; codegen-emitted offsets in bootstrap_generated.rs are separate. Y2 — §10.2.3 stale "pending canvas response": already absorbed at sha 3aee99d97 (Substrate canvas full absorption). No new fix needed; Y2 confirmed addressed at HEAD. Y1 — §6 critical-path realism: scope question Q-T-E-P-Cascade-Scope + Q-Lens-Behavioral-Parity-R3-Closeability already in §10.3. No new fix; estimate marked PROVISIONAL per Director finding 6.4. GREEN findings (G1 Class 1 Int gate / G2 demonstration principle / G3 PR-authoring contract) — Substrate-Mgr-validated. Standing. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index bba2a1c9cbb..ae17d40a44e 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -206,7 +206,7 @@ Sequence (Grounding-side): ### §2.3 BridgeLedgerZero (1 predicate) **Sub-bridges** (`r3-structure.md` §"Lane structure" → T-Bridge-Retirement row distribution map): -- **Substrate-owned (2)**: `SourceSpan.file` participation checks; `mark_bootstrap_secret_nominal_opacity()` +- **Substrate-owned (2)**: `SourceSpan.file` participation checks (hand-Rust audit sites only — `bootstrap.rs:519` doc-comment + `:137` / `:287` / `:309` hardcoded path strings; per Substrate Mgr poke-hole 2026-05-06 Y4 scope-clarification: codegen-emitted `SourceSpan::new(...)` offsets in `bootstrap_generated.rs` are a separate generated-file bridge shape, NOT counted as Substrate-owned manual hand-Rust); `mark_bootstrap_secret_nominal_opacity()` - **PB-owned (3)**: canonical lens-name dispatch; `include_str!` side channels (e.g., `pipeline_authority.rs`); `patch_lower_helpers_*` residual Each retires per its natural-owner program prerequisites. Verification Mgr's `bridge_retirement_ledger_zero` gate audits cross-program reporting cadence. @@ -221,7 +221,7 @@ Each retires per its natural-owner program prerequisites. Verification Mgr's `br ### §2.4 5 substrate-gap classes (5 predicates) **Class 1 (parser/grammar)**: closes with T-V2-Retirement parser path (post-T-FixedPoint + post-T-LensProducer-Retirement + post-T-Numeric-Construction `Int`). -**Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). +**Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). **Cascade dependency caveat** (per Substrate Mgr poke-hole 2026-05-06 R2): Class 2 closure transitively depends on T-Lens-Behavioral-Parity which is itself flagged RED in §10.3 Q-Lens-Behavioral-Parity-R3-Closeability (Substrate Mgr E3 — *"I don't know how to close this in R3 timeline"*). Class 2 closure status inherits the LBP scope-calibration outcome: if LBP scope reframed (option (b)/(c)) covering 1-2 lenses for R3, Class 2 gap-test must be reachable through the in-R3-scope subset; if LBP carved to R4 entirely, Class 2 closure also moves. **Resolution path**: Q-Lens-Behavioral-Parity-R3-Closeability decision determines Class 2 closure eligibility. **Class 3 (file-ingestion)**: closes with T-Workflow-As-Data file-ingestion grammar (post-T-Lens-Behavioral-Parity). **Class 4 (workflow/scheduling)**: closes with T-Workflow-As-Data CI-workflow-as-dag (post-T-Lens-Behavioral-Parity). **Class 5 (reflection-closure)**: closes with T-LensProducer-Retirement (gated on T-FixedPoint via PB cascade chain — NOT parallel-to-LBP per Director poke-hole 2026-05-06 finding 2.4 correction). @@ -244,7 +244,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane | T-FixedPoint | PB | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | | T-Numeric-Construction | Substrate | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | | T-Omni-Shape-B | Release | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | -| T-Anthropic-Wire | Substrate | RED | #1702 CLOSED + preserved on `codex/cc1-target-integer-structural-fold` at sha `51c6a4a`; held pending Substrate variant-aware projection metadata carrier | Q-Anthropic-Variant-Aware (per Grounding Mgr poke-hole 2026-05-06 finding 3 — §3 corrected from GREEN-pending to RED-blocked) | post-Substrate-projection-carrier | +| T-Anthropic-Wire | Substrate | YELLOW | 3 coproduct worker briefs dispatched on PR #1782 wait-window (`r3-coproduct-1-openai-chat-message-full-worker.md` + `coproduct-2-anthropic-tool-result-content-wire-worker.md` + `coproduct-3-anthropic-messages-200-residual-worker.md`); plus 2 OPEN closure tags at HEAD: `dsl/extdeps/llm/anthropic.dag` `:189` (`closure:anthropic_messages_200_residual` — variant_pending: thinking|tool_use|redacted_thinking|web_search|server_tool_use + json_pending: container) + `:68` (`closure:anthropic_tool_result_additive_blocks` — missing: document|search_result|tool_reference) | three coproduct slices land + variant-aware projection carrier authored | post-#1782 merge + 3 follow-up paydown PRs (per Substrate Mgr poke-hole 2026-05-06 R1 — corrected from RED to YELLOW; Q-Anthropic-Variant-Aware closure scope per §10.3 covers the 3-paydown-vs-carrier-only question) | | T-Bridge-Retirement | Verification (ledger) | YELLOW | per-bridge dispatches | 5 sub-bridges retire | post-T-FixedPoint | | T-CostLens-Composition | Substrate | YELLOW | (TBD from Substrate canvas) | R2-Evaluator + R2-T-Substrate-Lens-Primitive | (TBD) | | T-V2-Retirement | PB | RED | r3-tv2-* briefs | T-FixedPoint + T-LensProducer | longest-path | @@ -318,6 +318,19 @@ Pass condition: ### §4.4 Class 4 — workflow/scheduling +**Substrate-prerequisite enumeration** (per Substrate Mgr poke-hole 2026-05-06 R3 — closure path requires named carriers, not "we'll figure it out later"): + +CI-workflow-as-`.dag`-data requires substrate carriers that **do NOT exist in `dsl/std/` today**: +- **Trigger-event sum**: `WorkflowTrigger = Push | PullRequest | Cron | Manual` +- **Step-graph substrate**: `WorkflowStep` (run command + dependencies + outputs) + `WorkflowMatrix` (parameter expansion) +- **Secret-binding semantics**: `WorkflowSecret` (provider-typed, opaque-at-rest, scoped-by-step) +- **Runner-resource refs**: `RunnerResource` (compute class, OS, hardware) +- **Workflow-as-Dag substrate**: `Workflow` carrier composing the above + +These carriers route to **Q-Workflow-As-Data-Carriers** (NEW 2026-05-06 from Substrate Mgr poke-hole R3) in §10.3 — Substrate Mgr authoring scope; required substrate prerequisites for Class 4 closure path. + + + **What this class names**: bridges where workflow/scheduling logic exists in non-`.dag` form (CI YAML, build orchestration scripts, hand-Rust workflow control flow). **Representative gap-test**: CI workflow modeled as `.dag` data executes through evaluator + produces `DimensionReport` (gate `ci_workflow_modeled_as_dag`). @@ -712,7 +725,8 @@ Substrate Mgr's full forward-looking escalation canvas (per gunbc#846 #issuecomm | Q-R2-IB-Closure | #1778 R2 Impossible-Bugs queue closure (warm-dove-810; nested optional codegen bypass) | PM-coordination item tracked in Brian-Q queue at #828; remains Brian-disposition pending; not blocking R3 plan PR | TRACKED (per Director poke-hole 2026-05-06 finding 5.2) | | Q-1807-Cleanup | #1807 SG-0 net-shrink discipline rollout — branch contains 5 of 9 files = #1797-resurrection per Director critique at #1807 #issuecomment-4383967713 | PM-coordination item; Director ratifies cleanup approach (Option A force-push vs Option B cherry-pick); affects §7.2 anticipation-discipline rollout via R3 Debt-Paydown lane | OPEN — Director decision needed (per Director poke-hole 2026-05-06 finding 5.3) | | Q-PR-Anticipation-Gate | Add `pr_anticipation_discipline_ci_active` closure gate (CI verifiably enforcing §7 anticipation discipline) | Add to §1 closure-gate set; owner R3 Debt-Paydown Mgr (already routed at #1744 #issuecomment-4383628247); fires when `scripts/check-pr-sg0-net-shrink-discipline.sh` is in CI workflow + self-test passes | RATIFIED-by-default (per Director poke-hole 2026-05-06 finding 3.2) | -| Q-PR-F | PR-F priority + sequencing (BoundDeclaration consumer + Rust ReferenceModel) | Schedule into critical path post-T-E-P-Producer-Broadening; Substrate Mgr executes PR-F as Substrate-lane work | RATIFIED-by-default | +| Q-PR-F | PR-F priority + sequencing (BoundDeclaration consumer + Rust ReferenceModel) | **Bandwidth-aware dispatch** (per Substrate Mgr poke-hole 2026-05-06 Y3 — Substrate's queued workers are saturated): PR-F is 2-axis substantial work. Per Substrate Mgr canvas D: only loyal-wolf + valiant-ant fully idle; proud-lynx/smart-ram/valiant-ibex holding on #1794 cascade. Dispatch worker = loyal-wolf-828 OR valiant-ant-72 (Substrate Mgr selects); brief shape = T-E-P-Producer-Broadening adjacent (per `docs/briefs/r3-t-e-p-producer-broadening-worker.md` precedent); critical-path slot = post-#1782 wait-window close + parallel to T-E-P dispatch (B3). Substrate Mgr authors brief + dispatches. | RATIFIED-by-default-with-bandwidth-routing | +| Q-Workflow-As-Data-Carriers | Substrate carriers for CI-workflow-as-`.dag`-data Class 4 closure path: `WorkflowTrigger` sum + `WorkflowStep`/`WorkflowMatrix` step-graph + `WorkflowSecret` binding + `RunnerResource` + `Workflow` composing carrier | Substrate Mgr authors carriers as part of T-Workflow-As-Data lane; sequenced post-T-Lens-Behavioral-Parity COMPLETE (per `r3-structure.md` §"Dependency on R2"); folds into existing T-Workflow-As-Data scope without new lane spawn. Required for Class 4 substrate-gap-class closure per §1.4. | OPEN — Substrate Mgr scoping needed (NEW 2026-05-06 from Substrate Mgr poke-hole R3) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From e41e4fbe865785b06c763a2f37c49c150ff266ba Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:41:59 +0000 Subject: [PATCH 22/36] =?UTF-8?q?docs(r3):=20absorb=20R3=20Debt-Paydown=20?= =?UTF-8?q?Mgr=20poke-hole=20=E2=80=94=204-mechanism=20=C2=A77=20+=202-Pas?= =?UTF-8?q?s-surfaces=20clarification?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per quiet-otter-416 review at gunbc#846 #issuecomment-4384239011. Substantive findings on plan + canvas fold-in. Findings absorbed: §1 Two distinct Pass surfaces clarification — Plan §1.5 said "ALL gates pass + zero tracked-debt rows survive" but didn't explicitly distinguish the lane TestClaim gates (70 total) from r3_debt_paydown_zero_remaining (standing-program ledger predicate). Risk: "70 gates green" mis-merging into "debt gate satisfied." Fix: §1 added "Two distinct Pass surfaces" paragraph explicitly stating both must hold. §3 T-Debt-Paydown row was stale ("(TBD from canvas)"). Updated to YELLOW with concrete in-flight anchors: PR #1807 (SG-0 PR-body / diff-reconcile gate; OPEN); PR #1566 (rollup hygiene; OPEN/DRAFT per debt-paydown-ledger); Tier-1 dispatch-brief drift sweep verified. Current dispatch column now lists all four owned mechanisms (per-PR rule, drift-reconcile, velocity tripwire, closure-receipt cadence, SG-0 PR-window discipline). §7 PR-authoring contract — r3-structure.md §"Standing program — R3 Debt-Paydown" lists FOUR owned mechanisms. Plan §7 only had debt-receipt + ratchet/anticipation as first-class subsections; velocity tripwire + closure-receipt cadence + SG-0 PR-window discipline missing. Risk: §7 reads as "debt receipt only" violating canonical authority's four-mechanism structure. Fix: §7 expanded with three new subsections: - §7.6 Velocity tripwire (Debt-Paydown owned mechanism #2) - §7.7 Closure-receipt cadence (Debt-Paydown owned mechanism #3) - §7.8 SG-0 PR-window net-shrink discipline (Debt-Paydown owned mechanism #4 — merge-discipline gate, separate Pass surface from lane gates) §7 header reorganized to mirror canonical "four owned mechanisms" structure with explicit (1)-(4) enumeration per Debt-Paydown Mgr review. §5 drift items + Q-Drift-Reconcile: already covered at sha 2294265fb (Grounding finding 5 normalization). Debt-Paydown Mgr's review confirms PM accuracy on #1638/#1499/declaration_by_name + acceptable one-PR default for Q-Drift-Reconcile. §5 SG-0 path counts (46/89/1 → 136): Debt-Paydown Mgr verified at HEAD; matches plan prose. No fix needed. Q7 + #1566 + velocity tripwire operational reporting: Debt-Paydown Mgr "still holding" items; surface in plan §10.3 as continuation but not blocking plan PR open. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index ae17d40a44e..ee3c9c7217a 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -80,6 +80,12 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). +**Two distinct Pass surfaces** (per Debt-Paydown Mgr poke-hole 2026-05-06 — clarification prevents conflating predicates): +- **Lane `.dag` TestClaim gates (70 total)**: 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. "70 gates green" 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): - **Counts toward zero**: ROADMAP open `- **` rows under "Post-merge debt" sections; sweep-doc §1 Class A/B/C/F/G entries (per §1.3 inclusion criteria); §10 RED-flagged escalation items. @@ -255,7 +261,7 @@ One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane | T-Lens-Application-Surface | Substrate + Verification | YELLOW | r3-substrate-tests-as-data-carrier-slice-1-stop-ping | T-Lens-Behavioral-Parity COMPLETE | post-LBP | | T-Workflow-As-Data | Substrate | YELLOW | r3-v-bridge-row-* + design-timing-lens | T-Lens-Behavioral-Parity COMPLETE | post-LBP | | T-Lens-Self-Application | Verification | RED | (waits on Workflow-As-Data + LAS) | T-Workflow-As-Data + T-Lens-Application-Surface | post-WAD+LAS | -| T-Debt-Paydown (standing) | Debt-Paydown | YELLOW | (TBD from canvas) | per-PR rule + drift-item reconciliation | continuous | +| T-Debt-Paydown (standing) | Debt-Paydown | YELLOW | PR #1807 (SG-0 PR-body / diff-reconcile gate; OPEN); PR #1566 (rollup hygiene; OPEN/DRAFT per `docs/debt/r3-debt-paydown-ledger-2026-05-02.md`); Tier-1 dispatch-brief drift sweep (`docs/audit/r3-dispatch-brief-drift-sweep-2026-05-05.md`) verified | per-PR rule + drift-item reconciliation (Q7) + velocity-tripwire reporting cadence + closure-receipt cadence + SG-0 PR-window net-shrink discipline | continuous (per Debt-Paydown Mgr poke-hole 2026-05-06 — TBD framing replaced with concrete in-flight anchors) | **Status legend**: GREEN = no open work, awaiting close audit. YELLOW = work in flight. RED = blocked on upstream. @@ -475,7 +481,17 @@ These edges parallel the global + Verification critical paths; Grounding lane co ## §7. PR-authoring contract -Per R3 Debt-Paydown standing program (`r3-structure.md` §"Standing program — R3 Debt-Paydown" + INVARIANTS §P5): +Per R3 Debt-Paydown standing program (`r3-structure.md` §"Standing program — R3 Debt-Paydown" + INVARIANTS §P5). **Four owned mechanisms** mirrored from canonical authority (per Debt-Paydown Mgr poke-hole 2026-05-06): +- **(1) Per-PR discipline rule**: §7.1 (debt-receipt) +- **(2) Velocity tripwire**: §7.6 (introduction:dissolution ratio enforcement) +- **(3) Closure-receipt cadence**: §7.7 (per-tracked-debt-row receipt cadence) +- **(4) SG-0 PR-window net-shrink discipline**: §7.8 (Director-ratified merge gate) + +Plus discipline-application: +- §7.2 Ratchet-only-down (SG-0 zero-floor) +- §7.3 Anticipation discipline +- §7.4 Section/symbol anchors over line numbers +- §7.5 Grep-verify against source authority ### §7.1 Per-PR debt-receipt @@ -508,6 +524,18 @@ Per `feedback_section_anchors_over_line_numbers` (validated PRs #1776, #1787, #1 Per `feedback_corrections_must_grep_verify_source`: any correction-of-a-relay must grep-verify against source authority before relaying. Cross-references aren't verification. +### §7.6 Velocity tripwire (Debt-Paydown owned mechanism #2) + +Per `INVARIANTS.md §P5` Dispatch-Discipline Mechanisms (c): **introduction:dissolution PR ratio ≥3:1 in any 7-day window** triggers Director review of ad-hoc lane dispatch. R3 Debt-Paydown Mgr surfaces tripwire readings to Director on cadence (per `r3-structure.md` §"Standing program — R3 Debt-Paydown"). Tripwire fire = signal that introduction is outpacing dissolution; not an automatic block, but a Director-review-required event. + +### §7.7 Closure-receipt cadence (Debt-Paydown owned mechanism #3) + +Per `r3-structure.md` §"Standing program — R3 Debt-Paydown": every tracked-debt row retires with a PR receipt before R3 close. The receipt names: (a) the row being retired, (b) the structural event that retires it, (c) the PR landing the retirement. Vague deferrals rejected (per INVARIANTS §P5 Dispatch-Discipline Mechanisms (b)). Closure-ledger entry per receipt; aggregation feeds `r3_debt_paydown_zero_remaining` predicate. + +### §7.8 SG-0 PR-window net-shrink discipline (Debt-Paydown owned mechanism #4) + +Per Director ratification + ROADMAP authority + `.github/PULL_REQUEST_TEMPLATE.md`: every PR touching SG-0 census surfaces (`src/v3/compiler/tests/integration/sg0_census_test.rs` `EXPECTED_HAND_AUTHORED_*` arrays) MUST carry net-shrink discipline — additions paired with removals OR explicit Director allocation citing the program shape. CI enforcement via `scripts/check-pr-sg0-net-shrink-discipline.sh` (gate `pr_anticipation_discipline_ci_active` per §1 closure-gate set). This is a **merge-discipline gate**, NOT a `.dag` TestClaim — separate Pass surface from lane gates (per §1 two-Pass-surfaces clarification). Routed to R3 Debt-Paydown Mgr (#1744 #issuecomment-4383628247). + --- ## §8. Cross-Mgr coordination From d1bfbbe222d7089a4855a79f4fecb2cb386557b6 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:48:28 +0000 Subject: [PATCH 23/36] =?UTF-8?q?docs(r3):=20absorb=20codex=20BLOCKING=20?= =?UTF-8?q?=E2=80=94=205=20NEW=20Pattern-A=20executable=20gates=20added=20?= =?UTF-8?q?to=20canonical=20authority?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex inline finding on PR #1808 line 79 (sha unspecified) at 2026-05-06T01:44:10Z. BLOCKING valid: prior 70-count omitted the 5 NEW Pattern-A executable gates declared in §1.1 but not yet in r3-structure.md §"Acceptance": - tc1_eta_equivalence_executable (T-V-L4-L7-Direct, BinaryDimensionReportEquals family) - tc2_church_rosser_executable (same family) - tc3_pattern_a_second_mover_executable (same family) - rust_dag_isomorphism_executable (structural-Dag-equivalence shape) - symbolic_cost_expr_equals_executable (T-CostLens-Composition, SymbolicCost-typed family) Risk per codex: R3 close ledger not single-authority (INVARIANTS P2/P5) — plan §1.1 declares these gates exist for closure but canonical authority (r3-structure.md) didn't carry them. Fix: r3-structure.md §"Acceptance" now carries all 5: - 4 added under T-Verification-L4-L7-Direct (lane already owns L4 + L7; TC1/TC2/TC3 + RustDagIsomorphism are owned by this lane per §1.1 table) - 1 added under T-CostLens-Composition (SymbolicCostExprEquals owned by this lane per §1.1 cost-predicate family) Plan §1.5 enumeration updated: - T-V-L4-L7-Direct: 2 → 6 gates (added 4 Pattern-A executable) - T-CostLens-Composition: 3 → 4 gates (added 1 Pattern-A executable) - Total: 70 → 75 gates - §6 R3-close line + §10.1 Q1 row aligned Each NEW gate carries DECLARED status per §1.7 staging taxonomy; consumer infrastructure (CI / .dag TestClaim runner / Evaluator-backed DimensionReport comparison) routes to existing R3 lanes (T-Tests-As-Data- Completeness for predicate-execution; T-Lens-Behavioral-Parity for SymbolicCost runtime; T-V-L4-L7-Direct lane runtime for Dag-iso). Plan + r3-structure.md now single-authority on the 75-gate ledger. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 12 +++++++----- docs/r3-structure.md | 5 +++++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index ee3c9c7217a..56201b358e7 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -76,7 +76,9 @@ 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): **70 gates** at sha `a72293bbf` per `r3-structure.md` §"Acceptance" enumeration. Composition: existing R3 lane gates (`T-Tier3-Dissolution` 4, `T-LensProducer-Retirement` 4, `T-V-L4-L7-Direct` 2, `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, `T-V2-Retirement` 2, `T-Free-Consequences-Demonstration` 10, `T-Workflow-As-Data` 4, `T-Lens-Self-Application` 3) = 54 lane gates; plus 5 substrate-gap-class gates + 10 demonstration gates + 1 PR-anticipation-discipline gate = 16 gates added 2026-05-06 in this PR. Total: 54 + 16 = 70 across 18 lanes + 1 standing program. +**Total R3 closure gates** (post-Q1 + Q2 ratification): **75 gates** at this commit per `r3-structure.md` §"Acceptance" enumeration. Composition: existing R3 lane gates (`T-Tier3-Dissolution` 4, `T-LensProducer-Retirement` 4, `T-V-L4-L7-Direct` 2 + 4 NEW Pattern-A executable (TC1/TC2/TC3 + RustDagIso) = 6, `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 Pattern-A executable (SymbolicCostExprEquals) = 4, `T-V2-Retirement` 2, `T-Free-Consequences-Demonstration` 10, `T-Workflow-As-Data` 4, `T-Lens-Self-Application` 3) = 59 lane gates; plus 5 substrate-gap-class gates + 10 demonstration gates + 1 PR-anticipation-discipline gate = 16 gates added 2026-05-06 in this PR. Total: 59 + 16 = **75** across 18 lanes + 1 standing program. + +**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 gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). @@ -105,9 +107,9 @@ Per openai-pro meta-review on PR #1808 sha `cf249389` ([#issuecomment-4384405832 - **CONSUMER_LANDED** — the consumer (CI check, `.dag` TestClaim runner executing through Evaluator, manual demonstration receipt) executes the Pass condition + can fail-closed if violated. - **PASSING** — consumer landed AND Pass condition currently true. -**Status at HEAD (PR #1808 sha at this commit)**: ~all 70 gates are **DECLARED**; very few have CONSUMER_LANDED status (existing `pb_self_compile_fixed_point` + `tier3_*_mirror_dissolved` + similar pre-R3-plan gates have consumers; the 16 NEW gates added 2026-05-06 in this PR are DECLARED-only). +**Status at HEAD (PR #1808 sha at this commit)**: ~all 75 gates are **DECLARED**; very few have CONSUMER_LANDED status (existing `pb_self_compile_fixed_point` + `tier3_*_mirror_dissolved` + similar pre-R3-plan gates have consumers; the 16 NEW gates added 2026-05-06 in this PR are DECLARED-only). -**R3 close criteria implies CONSUMER_LANDED for all 70 gates**: 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 75 gates**: 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. @@ -439,7 +441,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 = all 70 gates GREEN + r3_debt_paydown_zero_remaining + comprehensive sweep zero-debt-rows-remaining +R3 close = all 75 gates GREEN + 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**: @@ -596,7 +598,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; 70 closure gates total (54 existing R3 lane gates + 5 substrate-gap-class + 10 demonstration + 1 PR-anticipation-discipline; precise enumeration per §1.5) | RATIFIED | +| Q1 | Closure-criteria predicate set (§1.1–§1.4) | Predicates per §1 tables; **75 closure gates total** (59 R3 lane gates including 5 NEW Pattern-A executable gates added 2026-05-06 to canonical authority + 5 substrate-gap-class + 10 demonstration + 1 PR-anticipation-discipline; precise enumeration per §1.5) | 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 | diff --git a/docs/r3-structure.md b/docs/r3-structure.md index beb0e627485..1f6d24bd369 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -77,6 +77,10 @@ Each lane owns one or more concrete `.dag` `TestClaim` gates. Authored as delive - **T-Verification-L4-L7-Direct** (Evaluator-direct). - `l4_emit_eval_match` — for every `.dag` program in the certification corpus, emitted target output equals `.dag` evaluation output (algebraic equality, not byte-equal) - `l7_algebraic_laws_witnessed` — every algebra declared in `dsl/std/algebra.dag` has a runtime-constructed witness for each of its laws (associativity, commutativity, identity, distributivity as applicable) — `AlgebraicLaw` TestPredicate evaluates via Evaluator-constructed witnesses, not host-mediated harness + - `tc1_eta_equivalence_executable` (NEW 2026-05-06; per Brian closure-criteria framing — Pattern A NYI predicate executable; `BinaryDimensionReportEquals` shape) — TC1 η-equivalence predicate executes via Evaluator-constructed `DimensionReport` comparison; ratchets from `NotYetImplemented` shell to passing TestClaim against representative input + - `tc2_church_rosser_executable` (NEW 2026-05-06; same family as tc1) — TC2 Church-Rosser predicate executes via Evaluator-constructed `DimensionReport` comparison + - `tc3_pattern_a_second_mover_executable` (NEW 2026-05-06; same family as tc1) — TC3 Pattern-A second-mover predicate executes via Evaluator-constructed `DimensionReport` comparison + - `rust_dag_isomorphism_executable` (NEW 2026-05-06; structural-Dag-equivalence shape, NOT DimensionReport) — `RustDagIsomorphism` predicate executes via Dag-isomorphism check between Rust-emitted Dag and `.dag` source Dag; ratchets from `NotYetImplemented` shell to passing TestClaim - **T-Verification-L5-Corpus** (corpus-driven; depends on Direct landing first). - `l5_cross_target_consistency` — for every `.dag` program, emitted Rust/Python/Go produce equivalent runtime behavior on the certification corpus @@ -106,6 +110,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `cost_lens_reads_target_realization` — for every emitted target program, the cost lens reads (a) the program's `.dag` algebra-level cost and (b) the target language spec's per-primitive realization cost; composition is structural fold, not engine policy - `coercion_cost_equals_complexity_by_construction` — for the certification corpus, applying the cost lens to a program's *emitted* target produces the same total cost as decomposing it into algebra-level cost + per-primitive realization cost. Verifies the THESIS unification "coercion cost = complexity" holds structurally - `no_coercion_cost_dimension` — there is no separate "coercion cost" dimension or carrier in the substrate; cost queries route through the existing complexity lens + - `symbolic_cost_expr_equals_executable` (NEW 2026-05-06; per Brian closure-criteria framing — Pattern A NYI predicate executable; `SymbolicCost`-typed family) — `SymbolicCostExprEquals` predicate executes against representative input and produces `SymbolicCost` comparison result; ratchets from `NotYetImplemented` shell (per `src/v3/compiler/src/test_runner.rs` `SymbolicCostExprEquals: structural shape is valid` receipt) to passing TestClaim - **T-Bridge-Retirement.** - `bridge_source_span_file_participation_retired` — **Green predicate:** no production code path consults `SourceSpan.file` for participation/inclusion logic; participation is structural per declared facts. **Current state (R3-deferred; Director acceptance #1130 / dispatch #1139, 2026-04-29):** the gate is not satisfied; partial string-check retirement was rejected because parallel participation rules would remain. Production inclusion (distinct from diagnostics-only span use) is still keyed on path / `span.file` at: `src/v3/compiler/src/lens_apply.rs` (`behavior_source_file`, `reflect_program_dag_nodes_in_file` / `fold_lens_over_reflected_program`); `src/v3/compiler/src/lower.rs` (`lower_type_alias_refinements_phase` `dsl/std/types.dag` gate; `declaration_name_preference_rank` duplicate merge; `Dimension` + `DIMENSION_STD_AUTHORITY_FILE`); `src/v3/compiler/src/emit.rs` (`source_filtering.excludes` on declaration/bind spans). **Structural prerequisites:** module/compilation-unit identity for lens reflection; typed authority/emit-scope carriers for lower/emit; fold-shape / carrier work for remaining fold-path source-path semantics ([ROADMAP: *Lens fold execution: undeclared fallback structure + file-path semantics*](../ROADMAP.md#lens-fold-file-path-semantics)). - `bridge_mark_bootstrap_secret_nominal_opacity_retired` — name-keyed bootstrap bridge from #937 deleted; nominal-opacity authority lives in source-level declaration (PR A landed in R2) From 3c863b2740446dc9494262f76dfc032590339358 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:50:42 +0000 Subject: [PATCH 24/36] =?UTF-8?q?docs(r3):=20absorb=20openai-pro=20BLOCKIN?= =?UTF-8?q?G=20=E2=80=94=20live-state=20status=20+=20duplicate=20=C2=A710.?= =?UTF-8?q?2.4=20heading?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro REQUEST_CHANGES on PR #1808 sha 0efe3161 at PR #1808 #issuecomment-4384504001. 1 BLOCKING + 1 NON-BLOCKING. BLOCKING (P1 live-state / P2 single-authority): Plan §3 line 3 said "Plan PR opens after §10 escalations clear" + §10 line 593 said same + §10.2 line 742 said "Plan PR opens after canvas compile completes" — but PR #1808 is already OPEN, Q1-Q7 are ratified, and §10.3 carries live RED escalations. Plan was internally contradictory between "pre-open gated-on-clearance" and "live escalation register." Fix: status language reframed to distinguish three states: - PR open (current; sha d1bfbbe22) - Plan PR merge-eligible (RED items tracked + routed; not necessarily resolved; PR can merge with iteration in flight) - R3 close eligible (all 75 gates GREEN + ledger-zero + Director resolution on Q-Lens-Behavioral-Parity-R3-Closeability + all §10.3 RED items resolved per their owners) Updates: - §3 (line 3) header reframed to "PR #1808 OPEN; iterating" + 5 of 8 reviewers complete + explicit merge-gate vs R3-close-gate distinction - §10 status header (line 593) updated with merge-eligibility vs R3-close-eligibility framing - §10.2.6 placeholder removed and replaced with absorption summary (Debt-Paydown was actually absorbed at sha e41e4fbe8; placeholder was stale) NON-BLOCKING (P2 section-anchor): §10.2.4 heading appeared twice (line 734 + 736) — duplicate created from Substrate canvas absorption commit. Per §7.4 section/symbol-anchor-over-line-numbers discipline, duplicate headings create ambiguous generated anchors. Fix: duplicate §10.2.4 removed; §10.2.5 (PB) + §10.2.6 (Debt-Paydown absorbed) preserved. Plan now has unique anchors per §10.2.X subsection; live-state status reflects actual PR state. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 56201b358e7..587f3213baa 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -1,6 +1,11 @@ # R3 Program Plan — 2026-05-06 -**Status:** **DRAFT — under PM authorship + Mgr-canvas absorption.** Phase 1 (skeleton + closure criteria + lane status) authored; Phase 2 (per-Mgr escalation absorption) compiles canvas responses as they arrive on inboxes #1739–#1745. Phase 3 (Director ratification) closes Q1–Q7 in §10. Plan PR opens after §10 escalations clear. +**Status:** **PR #1808 OPEN; iterating.** Plan is the live authority for path-to-R3-close. Phase 1 (skeleton + closure criteria + lane status) authored; Phase 2 (per-Mgr escalation absorption) ongoing — 5 of 8 reviewers complete (Verification + Director + Grounding + Substrate + Debt-Paydown); 3 pending (PB / Evaluator / Research PM). Q1–Q7 ratified per Brian directive 2026-05-06; live RED escalations remain in §10.3 (most notably Q-Lens-Behavioral-Parity-R3-Closeability requiring Director scope-calibration). + +**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 75 closure gates GREEN + `r3_debt_paydown_zero_remaining` + comprehensive sweep zero-debt + Director resolution on Q-Lens-Behavioral-Parity-R3-Closeability scope + 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"*. @@ -590,7 +595,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun ## §10. Open ratification questions / escalation register -**Status**: live. PM compiles per-Mgr canvas escalations as they arrive; surfaces consolidated list to Brian + Director for resolution. Plan PR opens after all blocking items resolved. +**Status**: live. PM compiles per-Mgr canvas escalations as they arrive; surfaces consolidated list to Brian + Director for resolution. **Plan PR (#1808) is OPEN; merge-eligibility distinct from R3-close** — PR merges with §10.3 RED items in flight provided they're explicitly tracked + assigned routing; R3 close requires all RED items resolved per their owners (per openai-pro 2026-05-06 finding — distinguish PR-open vs merge-eligible vs R3-closure-eligible). ### §10.1 PM-surfaced ratifications (Q1–Q7 from gunbc#846 reply 2026-05-06) @@ -733,13 +738,16 @@ Substrate Mgr's full forward-looking escalation canvas (per gunbc#846 #issuecomm #### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) -#### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) - #### §10.2.5 R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z) -#### §10.2.6 R3 Debt-Paydown Mgr — pending canvas response (as-of 2026-05-06T00:30Z) +#### §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 (75 total) 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 -(Per Director poke-hole 2026-05-06 finding 6.1: timestamp added to clarify these are point-in-time placeholders. Plan PR opens after canvas compile completes.) +(Per Director poke-hole 2026-05-06 finding 6.1: timestamps clarify point-in-time placeholders for the 2 still-pending Mgrs above. Per openai-pro 2026-05-06: PR #1808 is OPEN; merge-eligibility distinct from R3-close-eligibility per the new §10 status header above.) ### §10.3 Net escalations awaiting decision From 30a39e85a6a5c779b209590cafebd58286ad5b31 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 01:54:50 +0000 Subject: [PATCH 25/36] =?UTF-8?q?docs(r3):=20finish=2070=20=E2=86=92=2075?= =?UTF-8?q?=20count=20cascade=20in=20=C2=A71=20prose=20(cursor=20APPROVE?= =?UTF-8?q?=20non-blocking)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per cursor APPROVE on PR #1808 sha e41e4fbe at PR #1808 #issuecomment-4384510104. Non-blocking copy-edit observation (cursor's exploratory note): broken inline backticks around the r3_debt_paydown_zero_remaining inclusion bullet — the actual issue was three remaining "70" references in §1 prose (lines 91, 94, 105) not updated when the canonical count moved 70 → 75 at sha d1bfbbe22 (5 new Pattern-A executable gates added). The Edit replace_all="all 70 gates" hit two earlier instances but missed: - Line 91 "Lane .dag TestClaim gates (70 total)" - Line 94 "70 gates green" - Line 105 "DECLARE 70 closure gates" Now aligned to 75 across all §1 prose. Line 86 keeps "70" as historical narrative ("bumps total from 70 → 75") which is correct. cursor's other observation (duplicate §10.2.4 heading) already fixed at sha 3c863b274 via openai-pro absorption. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 587f3213baa..5eb865511fc 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -88,10 +88,10 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, R3 closes when ALL gates pass + zero tracked-debt rows survive (`r3_debt_paydown_zero_remaining`). **Two distinct Pass surfaces** (per Debt-Paydown Mgr poke-hole 2026-05-06 — clarification prevents conflating predicates): -- **Lane `.dag` TestClaim gates (70 total)**: per-lane closure predicates passing via `.dag` evaluation, runtime demonstration, or CI consumer (per §1.7 status taxonomy). +- **Lane `.dag` TestClaim gates (75 total)**: 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. "70 gates green" alone does not satisfy zero-debt; "zero debt rows" alone does not satisfy lane closure. +Both must hold for R3 close. "75 gates green" 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): @@ -102,7 +102,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 70 closure gates. The declarations are NOT YET load-bearing closure predicates — no consumer infrastructure verifies them at HEAD.** +**This plan + r3-structure.md DECLARE 75 closure gates. The declarations are NOT YET load-bearing closure predicates — no consumer infrastructure verifies them at HEAD.** Per openai-pro meta-review on PR #1808 sha `cf249389` ([#issuecomment-4384405832](https://github.com/gunb-ai/gunbc/pull/1808#issuecomment-4384405832)) PAUSE_AND_REGROUP verdict — structurally honest framing of where this PR sits in the closure-evidence chain: From eecb3ac257a0e51423b1f51ab3328e889f8ee440 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Tue, 5 May 2026 22:01:06 -0400 Subject: [PATCH 26/36] WIP: Gunbc PM --- docs/r3-program-plan.md | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 5eb865511fc..96e08e965f1 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -736,10 +736,39 @@ Substrate Mgr's full forward-looking escalation canvas (per gunbc#846 #issuecomm **Plan integration**: 12 new escalations added to §10.3 covering B1-B6 + C1-C4 + E1+E2 + E3 (RED). E3 is the highest-leverage scope question — if T-Lens-Behavioral-Parity doesn't close in R3, the entire critical-path chain (T-E-P → T-LBP → T-LAS → T-WAD → T-LSA) is at risk. -#### §10.2.4 R3 Evaluator Mgr — pending canvas response (as-of 2026-05-06T00:30Z) +#### §10.2.4 R3 Evaluator Mgr (merry-gull-128, #1743) — full canvas absorbed 2026-05-06T01:52Z + +Substantive review surfaces R3 Evaluator continuation work that plan was treating as already-landed under "R2-Evaluator capacity." 6 plan findings + 3 EVAL escalations. + +**Plan findings absorbed**: + +- **F1 (§2.1 + §10.3 TC1-first under-scoped)**: TC1 requires lens producer/fold path + generic `fold_lens -> DimensionReport` + lens/value authoring + report lifting + eta relation + universal-vs-representative coverage decision per `docs/briefs/r3-v-pattern-a-coverage-rollup.md`. Q-PAFS naive "TC1 quick first slice" reading is wrong. Either split Q-PAFS into TC1-static-representative (E6-G1.a) vs TC1-generic (E6-G1.b/X1.b), OR pick RustDagIsomorphism if it has fewer evaluator deps. → **Surfaces as Q-Pattern-A-First-Slice-Subscope** in §10.3. +- **F4 (§1.1 per-predicate prereqs not specific enough)**: each Pattern-A predicate has DIFFERENT runtime prereqs. Plan §1.1 implies shared `BinaryDimensionReportEquals` envelope; reality requires per-predicate decomposition (see EVAL canvas + §10.3 below). +- **F2/F3 deferred to canonical ledger** (per openai-pro meta-review structural-consolidation): §4.2 Class 2 evaluator deps + §6 R3-Evaluator-continuation-chain fold into the §1.8 canonical closure-authority ledger when authored. Currently the per-predicate prereq table below captures the load-bearing constraints. +- **F5 (§3 "R2-Evaluator" umbrella too coarse)**: deferred to canonical ledger; row-blocker columns will name specific evaluator surfaces (constructor runtime / lens fold / Descent proof / generic dispatch). + +**Per-predicate runtime prereqs** (per Evaluator Mgr F4 — load-bearing for any Pattern-A consumer infrastructure): + +| Predicate | Runtime prereq | +|---|---| +| TC1 | E6-G1.a static representative OR E6-G1.b generic fold_lens + eta relation | +| TC2 | second executable strategy/input order + strategy-keyed report production | +| TC3 | Descent execution proof / termination contract (E5) + evaluation-step producer | +| RustDagIsomorphism | shape-report producers | +| SymbolicCostExprEquals | cost lens / report producer (T-CostLens-Composition runtime) | +| BridgeLedgerZero | ledger retirement work (NOT report comparison; Pattern E ratchet) | +| Free-Consequences | split `BinaryDimensionReportEquals` subset from `LensOutputEquals` subset | + +**EVAL escalation canvas**: + +- **EVAL-1. E6-G0d constructor runtime execution open** — `eval_transform_node` rejects non-Arrow constructor `Callable` ("Callable target declaration is not an Arrow type"); G0d brief at `docs/briefs/r3-pr-e6-g0d-constructor-runtime-execution-worker.md` ready (#1784) but not landed. Authorize evaluator implementation slice using `Value::RecordValue` / `Value::VariantValue` + shared substrate declaration-walk. Required before Pop A constructor behavior + honest `Witness`/`DimensionReport` construction + static lens fold can close. → **Q-EVAL-G0d-Dispatch** in §10.3. +- **EVAL-2. E5 `LoopBound::Descent` blocked on substrate termination contract** — `eval_loop` fails closed with `LoopBoundDescentResidual`; sharp-ibex #1799 STOP/audit; quick-koi substrate impl authorized. Substrate must land `descent_execution_proof(&Dag, ClusterId, PortId) -> Result` with `Missing | Unknown | Incomplete | NonStrict` fail-closed residuals; evaluator consumes proof token only. Required for TC3 + any lens fold traversing Descent loops. → **Q-EVAL-Descent-Termination-Contract** in §10.3. +- **EVAL-3. E6-G1.a static lens fold is next executable lens/report slice (NOT generic fold_lens)** — Decision needed: Pattern A first executable uses single static top-level `data ... : Lens` representative (G1.a) OR closure requires generic dispatch (G1.b). The TC1 cascading requirement chains here — F1 surfaces this as scope-question. → **Q-EVAL-Lens-Fold-First-Slice** in §10.3 (overlaps with Q-PAFS). #### §10.2.5 R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z) +#### §10.2.5 R3 PB Mgr (neat-bear-351, #1742) — pending canvas response (as-of 2026-05-06T01:52Z) + #### §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: From 90a99e4d75a48c6d0a23ac2694c5254fe5f1f90e Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:01:30 +0000 Subject: [PATCH 27/36] =?UTF-8?q?docs(r3):=20absorb=20R3=20Evaluator=20Mgr?= =?UTF-8?q?=20canvas=20+=20plan=20poke-hole=20=E2=80=94=20high-specificity?= =?UTF-8?q?=20Pattern-A=20prereqs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per merry-gull-128 review at gunbc#846 #issuecomment-4384249124. Substantive engagement with deep technical specificity on Pattern-A runtime prereqs. §10.2.4 expanded from "pending canvas" to full absorption: - 6 plan findings noted (F1 TC1 under-scoped / F4 per-predicate prereqs not specific / F2+F3 evaluator deps in §4.2 + §6 deferred to ledger / F5 §3 umbrella too coarse / F6 §10.2 missing evaluator content) - 3 EVAL escalations (EVAL-1 G0d / EVAL-2 Descent / EVAL-3 G1.a slice) - Per-predicate runtime prereq table (F4 absorbed inline) — distinguishes each Pattern-A predicate's runtime requirements: - TC1: G1.a static rep OR G1.b generic + eta relation - TC2: second strategy/input order + strategy-keyed report - TC3: Descent execution proof + evaluation-step producer - RustDagIsomorphism: shape-report producers - SymbolicCostExprEquals: cost lens/report producer - BridgeLedgerZero: ledger retirement (NOT report comparison) - Free-Consequences: split BinaryDimensionReportEquals from LensOutputEquals §10.3 grew with 4 new escalations: - Q-Pattern-A-First-Slice-Subscope (sub-question of Q-PAFS): TC1-static-rep via G1.a vs TC1-generic via G1.b/X1.b. PM-recommended TC1-static-rep first (smallest viable). OPEN — Director ratification. - Q-EVAL-G0d-Dispatch: authorize G0d evaluator slice. RATIFIED-by-default — Evaluator Mgr executes. - Q-EVAL-Descent-Termination-Contract: substrate carrier for Descent proof. RATIFIED-by-default — Substrate quick-koi already authorized. - Q-EVAL-Lens-Fold-First-Slice: overlaps with Q-Pattern-A-First-Slice-Subscope. F2/F3/F5 (Class 2 evaluator deps + §6 evaluator-continuation-chain + §3 umbrella refinement) explicitly deferred to canonical ledger landing per openai-pro meta-review structural-consolidation argument — these row/chain changes naturally absorb into a per-gate ledger when authored. Net: per-predicate prereq specificity now load-bearing for any Pattern-A consumer infrastructure work. Evaluator-internal scope (G0d / Descent / G1.a) explicit instead of hidden under "R2-Evaluator landed" umbrella. 6 of 8 reviewers complete (Verification ✓ Director ✓ Grounding ✓ Substrate ✓ Debt-Paydown ✓ Evaluator ✓). Pending: PB / Research PM. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 96e08e965f1..bfc0076c877 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -794,6 +794,10 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-PR-Anticipation-Gate | Add `pr_anticipation_discipline_ci_active` closure gate (CI verifiably enforcing §7 anticipation discipline) | Add to §1 closure-gate set; owner R3 Debt-Paydown Mgr (already routed at #1744 #issuecomment-4383628247); fires when `scripts/check-pr-sg0-net-shrink-discipline.sh` is in CI workflow + self-test passes | RATIFIED-by-default (per Director poke-hole 2026-05-06 finding 3.2) | | Q-PR-F | PR-F priority + sequencing (BoundDeclaration consumer + Rust ReferenceModel) | **Bandwidth-aware dispatch** (per Substrate Mgr poke-hole 2026-05-06 Y3 — Substrate's queued workers are saturated): PR-F is 2-axis substantial work. Per Substrate Mgr canvas D: only loyal-wolf + valiant-ant fully idle; proud-lynx/smart-ram/valiant-ibex holding on #1794 cascade. Dispatch worker = loyal-wolf-828 OR valiant-ant-72 (Substrate Mgr selects); brief shape = T-E-P-Producer-Broadening adjacent (per `docs/briefs/r3-t-e-p-producer-broadening-worker.md` precedent); critical-path slot = post-#1782 wait-window close + parallel to T-E-P dispatch (B3). Substrate Mgr authors brief + dispatches. | RATIFIED-by-default-with-bandwidth-routing | | Q-Workflow-As-Data-Carriers | Substrate carriers for CI-workflow-as-`.dag`-data Class 4 closure path: `WorkflowTrigger` sum + `WorkflowStep`/`WorkflowMatrix` step-graph + `WorkflowSecret` binding + `RunnerResource` + `Workflow` composing carrier | Substrate Mgr authors carriers as part of T-Workflow-As-Data lane; sequenced post-T-Lens-Behavioral-Parity COMPLETE (per `r3-structure.md` §"Dependency on R2"); folds into existing T-Workflow-As-Data scope without new lane spawn. Required for Class 4 substrate-gap-class closure per §1.4. | OPEN — Substrate Mgr scoping needed (NEW 2026-05-06 from Substrate Mgr poke-hole R3) | +| Q-Pattern-A-First-Slice-Subscope | Q-PAFS sub-question: TC1 first means **static representative** (E6-G1.a) or **generic** (E6-G1.b/X1.b)? Plan defaulted to TC1 first without specifying which sub-shape. Per Evaluator Mgr F1 + EVAL-3: substantial substrate/evaluator scope difference. | Per `docs/briefs/r3-v-pattern-a-coverage-rollup.md` + Evaluator Mgr canvas: TC1-static-representative via E6-G1.a is achievable with current evaluator + lens-fold infrastructure; TC1-generic requires X1.b S1/S3 + G1.b. PM-recommended: **TC1-static-representative first** (smallest viable slice); generic deferred to subsequent ratchet. | OPEN — Director / Brian ratification needed (NEW 2026-05-06 from Evaluator Mgr F1 + EVAL-3; sub-question of Q-PAFS) | +| Q-EVAL-G0d-Dispatch | E6-G0d constructor runtime execution: authorize evaluator slice for non-Arrow constructor `Callable` using `Value::RecordValue` / `Value::VariantValue` + shared substrate declaration-walk authority | Evaluator Mgr (merry-gull-128) dispatches; Director needed only if shared helper extraction crosses ownership. Brief at `docs/briefs/r3-pr-e6-g0d-constructor-runtime-execution-worker.md` ready. | RATIFIED-by-default — Evaluator Mgr executes (NEW 2026-05-06 from Evaluator Mgr EVAL-1) | +| Q-EVAL-Descent-Termination-Contract | E5 `LoopBound::Descent` execution: substrate carrier `descent_execution_proof(&Dag, ClusterId, PortId) -> Result` with `Missing \| Unknown \| Incomplete \| NonStrict` fail-closed residuals | Substrate Mgr authors carrier (quick-koi-190 implementation already authorized through quick-crab); Evaluator consume-side ack; sharp-ibex consumer wiring dispatch. | RATIFIED-by-default — Substrate-side already authorized; Evaluator consume-side dependency (NEW 2026-05-06 from Evaluator Mgr EVAL-2) | +| Q-EVAL-Lens-Fold-First-Slice | Overlaps with Q-Pattern-A-First-Slice-Subscope: E6-G1.a static representative vs G1.b generic for first executable lens/report slice | Same recommendation as Q-Pattern-A-First-Slice-Subscope: **G1.a static-representative first**; G1.b generic deferred. | OPEN — same scope-question as Q-Pattern-A-First-Slice-Subscope (NEW 2026-05-06 from Evaluator Mgr EVAL-3) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From 0563ebe07803d92d05a3b09cd0c6d1094ad6e962 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:07:47 +0000 Subject: [PATCH 28/36] =?UTF-8?q?docs(r3):=20absorb=20Research=20PM=20canv?= =?UTF-8?q?as=20=E2=80=94=206=20new=20escalations=20+=20cross-program=20ct?= =?UTF-8?q?rl=20coupling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per loyal-swift-270 review at gunbc#846 #issuecomment-4384265438. Substantive cross-program engagement: 3 RED + 4 YELLOW + 4 GREEN findings, mapped to PM's 7 focus areas. §10.2.7 Research PM section added with full canvas absorption. §10.3 grew with 7 new escalations (1 of 7 deferred per Y-3 minor scope): Q-Class-6-Substrate-Extension-Lens (R-1) — 3 ctrl-side substrate proposals (SchemaPreservation/ResourceCap/TotalResult) don't fit Classes 1-5. PM-side routing to Substrate Mgr committed per ctrl#408 §3. Per Brian no-post-R3-deferral: include as Class 6 with closure-criterion. OPEN — substantial scope-determination (sixth substrate-gap class adds ~1 lane equivalent or scope-cession). Q-Timeline-Risk-Alternates (R-2) — §6 8-12 week estimate is commitment not derivation. Add risk-weighted "+X weeks if..." branches for C1-gap budget (2-6 wks/gap) + thesis-edit scope + demo-authoring buffer. RATIFIED-by- default — PM updates §9.2 in subsequent commit. Q-Plan-vs-Structure-Drift-Discipline (R-3) — §3 lane status replicates r3-structure.md data; drift risk if updated unevenly. Per Research PM recommendation (a): §3 → pointer-with-delta. RATIFIED-by-default — PM refactors §3 OR canonical-ledger-landing absorbs. Q-WEDGE-A (Y-1) — WEDGE-CORE-CLAIM Part A (ctrl#444) build-orchestration as free consequence. Per R3-as-consequence-layer-of-thesis: include as thesis-edit gate. OPEN — Director ratification. Q-Tier4-Inclusion (Y-1) — Tier 4 "out of scope, declared" per ctrl#1608. Convergent across LLVM/K8s/Discord/PyTorch viability portfolio. OPEN — Director ratification of inclusion-or-explicit-out-of-scope. Q-Lens-Self-Application-Stronger-Demo (Y-2) — current demo cashes "lens applies to CI workflow"; stronger shape ties lens output to emission gate (CI workflow → TestClaim → fails → gunbc emission refuses). Demonstrates 4 gates simultaneously + WEDGE-CORE-CLAIM Part B opportunistically. RATIFIED-by-default — Verification Mgr authors per gunbc#1276 cadence. Q-Director-PM-Redundancy (Y-4) — 30-min Director loop + weekly PM compile have no fallback for unavailability >2 days. Add deputy mechanisms. OPEN — Director / Brian ratification. Y-3 (Class boundary overlap Class 3∩4 + Class 5∩T-FixedPoint) deferred to canonical-ledger landing — minor scope-clarification. Cross-program coupling now first-class in plan: ctrl#444 / ctrl#1608 §6d / ctrl#369 / ctrl#370 / ctrl#404-#408 all referenced. Plan no longer treats ctrl side as silent dependency. GREEN affirmations: §1.6 demo principle + §6 dep DAG + §10 RATIFIED-default + §7 PR-authoring contract — Research-PM-validated as load-bearing. 7 of 8 reviewers complete (Verification ✓ Director ✓ Grounding ✓ Substrate ✓ Debt-Paydown ✓ Evaluator ✓ Research PM ✓). Pending: PB. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index bfc0076c877..8c72cfb923c 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -767,6 +767,25 @@ Substantive review surfaces R3 Evaluator continuation work that plan was treatin #### §10.2.5 R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z) +#### §10.2.7 Research PM (loyal-swift-270, gunb-ai/ctrl#339) — full canvas absorbed 2026-05-06T02:00Z + +Substantive cross-program review surfacing ctrl-side coupling concerns + structural taxonomy + timeline risk. 3 RED + 4 YELLOW + 4 GREEN. + +**RED findings**: +- **R-1 (Class 6 missing — substrate-extension lens slice)**: 3 ctrl-side substrate proposals don't fit Classes 1-5: `SchemaPreservation` (ctrl#370/#407 LLVM TBAA + GitHub-ORM-vs-schema), `ResourceCap` (ctrl#404/#405 Cloudflare), `TotalResult` (ctrl#404/#405). PR ctrl#408 §3 committed PM-side to routing to Substrate Mgr (#1130). → **Q-Class-6-Substrate-Extension-Lens** in §10.3. +- **R-2 (§6 timeline is commitment not derivation)**: 8-12 weeks doesn't account for C1-class candidate-gap budget (2-6 weeks per gap) + WEDGE-CORE-CLAIM Part A thesis-edit scope (ctrl#444) + demo-authoring buffer (~9 new gates × 1-3 weeks each). → **Q-Timeline-Risk-Alternates** in §10.3. +- **R-3 (§3 vs r3-structure.md drift risk)**: Same lane data in two authoritative docs without automated consistency. Recommend §3 → pointer-with-delta to r3-structure.md §"Lane structure" + delta-only annotations. → **Q-Plan-vs-Structure-Drift-Discipline** in §10.3. + +**YELLOW findings**: +- **Y-1 (ctrl coupling absent)**: WEDGE-CORE-CLAIM Part A (ctrl#444 merged 2026-05-05) + Tier 4 (ctrl#1608 §6d) + ctrl#369 substrate proposals not surfaced in plan §10. → **Q-WEDGE-A** + **Q-Tier4-Inclusion** in §10.3. +- **Y-2 (T-Lens-Self-Application stronger demo)**: Current `lens_self_application_demonstrated` cashes "lens applies to CI workflow" but doesn't tie to emission gate. Stronger shape: CI workflow includes TestClaim → fails → gunbc emission refuses. Demonstrates 4 gates simultaneously (Self-App + Workflow-As-Data + Tests-As-Data + 5th gate `integration_testgen_demonstrated`) + WEDGE-CORE-CLAIM Part B opportunistically. → **Q-Lens-Self-Application-Stronger-Demo** in §10.3. +- **Y-3 (Class boundary overlap)**: Class 3 (file-ingestion) ∩ Class 4 (workflow/scheduling) — CI workflow gap-test likely contains file-ingestion. Class 5 ∩ T-FixedPoint distinction unclear. → defer (minor scope-clarification; absorb at canonical ledger landing). +- **Y-4 (Director/PM no redundancy)**: 30-min Director loop + weekly PM compile have no fallback authority for unavailability stretches. → **Q-Director-PM-Redundancy** in §10.3. + +**GREEN affirmations**: §1.6 demonstration principle + §6 dependency DAG shape + §10 RATIFIED-by-default discipline + §7 PR-authoring contract — Research-PM-validated as load-bearing. + +**Plan integration**: 6 new escalations added to §10.3 (Q-Class-6 / Q-Timeline-Risk-Alternates / Q-Plan-vs-Structure-Drift / Q-WEDGE-A / Q-Tier4-Inclusion / Q-Lens-Self-App-Stronger-Demo / Q-Director-PM-Redundancy). Y-3 deferred to canonical ledger absorption. + #### §10.2.5 R3 PB Mgr (neat-bear-351, #1742) — pending canvas response (as-of 2026-05-06T01:52Z) #### §10.2.6 R3 Debt-Paydown Mgr (quiet-otter-416) — full canvas + plan-poke-hole absorbed at sha `e41e4fbe8` (2026-05-06) @@ -798,6 +817,13 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-EVAL-G0d-Dispatch | E6-G0d constructor runtime execution: authorize evaluator slice for non-Arrow constructor `Callable` using `Value::RecordValue` / `Value::VariantValue` + shared substrate declaration-walk authority | Evaluator Mgr (merry-gull-128) dispatches; Director needed only if shared helper extraction crosses ownership. Brief at `docs/briefs/r3-pr-e6-g0d-constructor-runtime-execution-worker.md` ready. | RATIFIED-by-default — Evaluator Mgr executes (NEW 2026-05-06 from Evaluator Mgr EVAL-1) | | Q-EVAL-Descent-Termination-Contract | E5 `LoopBound::Descent` execution: substrate carrier `descent_execution_proof(&Dag, ClusterId, PortId) -> Result` with `Missing \| Unknown \| Incomplete \| NonStrict` fail-closed residuals | Substrate Mgr authors carrier (quick-koi-190 implementation already authorized through quick-crab); Evaluator consume-side ack; sharp-ibex consumer wiring dispatch. | RATIFIED-by-default — Substrate-side already authorized; Evaluator consume-side dependency (NEW 2026-05-06 from Evaluator Mgr EVAL-2) | | Q-EVAL-Lens-Fold-First-Slice | Overlaps with Q-Pattern-A-First-Slice-Subscope: E6-G1.a static representative vs G1.b generic for first executable lens/report slice | Same recommendation as Q-Pattern-A-First-Slice-Subscope: **G1.a static-representative first**; G1.b generic deferred. | OPEN — same scope-question as Q-Pattern-A-First-Slice-Subscope (NEW 2026-05-06 from Evaluator Mgr EVAL-3) | +| Q-Class-6-Substrate-Extension-Lens | 3 ctrl-side substrate proposals (`SchemaPreservation` per ctrl#370/#407 LLVM TBAA; `ResourceCap` per ctrl#404/#405 Cloudflare; `TotalResult` per ctrl#404/#405) don't fit Classes 1-5; PM-side routing to Substrate Mgr (#1130) committed per ctrl#408 §3 | PER Brian no-post-R3-deferral discipline: include as Class 6 substrate-gap-class with closure-criterion. Add §4.6 "Class 6 — typed-metadata-preservation / extension-lens slice" with representative gap-test per substrate. Alternative: Director ratification of explicit post-R3-ecosystem-by-design scope-cession. | OPEN — Brian / Director scope-calibration (NEW 2026-05-06 from Research PM R-1; substantial scope-determination question — sixth substrate-gap class adds ~1 lane equivalent or scope-cession) | +| Q-Timeline-Risk-Alternates | §6 8-12 week estimate is commitment, not bottoms-up derivation. Missing risk-weighted alternates for: C1-class candidate-gap budget (2-6 weeks/gap) + WEDGE-CORE-CLAIM Part A thesis-edit scope + ~9 demo-gate authoring (1-3 weeks/lane) | Per `feedback_holistic_over_patches`: §9.2 add explicit "+X weeks if {C1-gap surfaces / Tier-4 thesis-edit lands in scope / demo authoring exceeds budget}" branches. R3 close horizon: 2026-08-01 ± 2 weeks PROVISIONAL → range with explicit risk-weighted alternates. | RATIFIED-by-default — PM updates §9.2 with risk-weighted branches in subsequent commit (NEW 2026-05-06 from Research PM R-2) | +| Q-Plan-vs-Structure-Drift-Discipline | §3 lane status table holds 19 rows replicating r3-structure.md §"Lane structure" data; drift risk if PM updates one but not the other | Per Research PM R-3 recommendation (a): §3 lane status becomes pointer-with-delta to r3-structure.md §"Lane structure" + delta-only annotations (current dispatch + blocker + ETA). Lane name/Mgr/scope columns NOT restated; r3-structure.md retains architectural-decision authority. | RATIFIED-by-default — PM refactors §3 in subsequent commit OR canonical-ledger-landing absorbs (path-(a) decision pending; NEW 2026-05-06 from Research PM R-3) | +| Q-WEDGE-A | WEDGE-CORE-CLAIM Part A (ctrl#444 merged 2026-05-05): build-orchestration as free consequence — should it be in §1 closure criteria as thesis-edit gate? PM-disentangled framing routes Part A to Director for thesis-clarification edit | Per Brian no-post-R3-deferral + R3-as-consequence-layer-of-thesis: **include as thesis-edit gate** in R3 closure criteria. Scope: Director ratifies thesis-clarification edit; gate fires when r3-structure.md §"R3 closure criteria" reflects Part A formalization. | OPEN — Director ratification of thesis-edit framing (NEW 2026-05-06 from Research PM Y-1) | +| Q-Tier4-Inclusion | Tier 4 ("out of scope, declared" per ctrl#1608 §6d): convergent ctrl-side recommendation across LLVM/K8s/Discord/PyTorch viability research portfolio. PM-side own. Not currently in R3 closure criteria. | PM-recommended: include Tier 4 as **named explicit-out-of-scope declaration** in §1 closure criteria — distinct from Class 6 (which is in-scope substrate extension). Tier 4 = explicit scope-cession; Class 6 = in-scope substrate addition. Director ratification of either inclusion or out-of-scope-by-design needed. | OPEN — Director ratification (NEW 2026-05-06 from Research PM Y-1) | +| Q-Lens-Self-Application-Stronger-Demo | Current `lens_self_application_demonstrated` cashes "lens applies to CI workflow" only. Stronger: CI workflow includes TestClaim → fails → gunbc emission refuses. Demonstrates 4 gates simultaneously (Self-App + Workflow-As-Data + Tests-As-Data + integration_testgen) + WEDGE-CORE-CLAIM Part B opportunistically | Per Brian recursive-flex framing ("the compiler that compiles gunbc programs validates the workflow that produces gunbc itself"): current demo cashes first half; stronger shape cashes the full sentence by tying lens output to emission gate. Verification Mgr's audit packet (per gunbc#1276) targets four-fold demo overlap. | RATIFIED-by-default — Verification Mgr authors stronger demo shape; updates §1.6 audit row + canonical ledger when authored (NEW 2026-05-06 from Research PM Y-2) | +| Q-Director-PM-Redundancy | 30-min Director loop + weekly PM compile have no fallback authority for unavailability stretches (>2 days). Specific failure modes: Director unavailable → 30-min loop drops; PM unavailable → §3 drifts; both unavailable → §8.2 escalation paths have no fallback | PM-recommended: §8.3 add Director-deputy mechanism (Substrate Mgr + Verification Mgr cross-Mgr coverage if Director unavailable >2 days; explicit slip-acceptance otherwise); §9.1 add PM-deputy mechanism (R3 Debt-Paydown Mgr covers §3 lane-status compilation if PM unavailable). | OPEN — Director / Brian ratification of fallback authority + slip-acceptance discipline (NEW 2026-05-06 from Research PM Y-4) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From d93fa019a47c939703dedde1d7a7204c856401d3 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:09:49 +0000 Subject: [PATCH 29/36] docs(r3): Class 2 YELLOW chain-break per Substrate Mgr R2 + Refinement 3 cycle detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per quick-crab-830 ack at gunbc#846 #issuecomment-4384370416. Sharp structural follow-up: Refinement 3 (YELLOW prerequisites must trace to GREEN within finite chain; cycle detection mandatory) **invalidates Class 2's YELLOW status**. Substrate Mgr's R2 finding from prior poke-hole identified Class 2's chain: T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED (no executable close path). Under Refinement 3 chain rule: - YELLOW prerequisites must trace back to GREEN within finite chain - E3 RED is not GREEN; Class 2's chain doesn't terminate at GREEN - Class 2's YELLOW status is therefore INVALID per the rule - Class 2 must be RED until prereq chain resolves Substrate Mgr is using the rule against itself to surface the structural issue. Plan §1.4 ratifying YELLOW Class 2 = ratifying chain-break. Fix: - §1.4 Class 2 row reframed: chain-break notation explicit; status inherits RED from Q-Lens-Behavioral-Parity-R3-Closeability - §4.2 Class 2 detail expanded with two resolution paths: (a) Re-pick Class 2 gap-test to one traceable to GREEN (representative Lens consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE) (b) Escalate Q-Lens-Behavioral-Parity-R3-Closeability scope-calibration; if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset PM-recommended: (a) if Substrate Mgr can identify gap-test; (b) otherwise - §10.3 Q-Class-2-Chain-Break added (NEW escalation; Substrate Mgr + Director scope-calibration needed) This is the kind of structural finding the YELLOW chain rule was designed to catch — Substrate Mgr applied the rule and found the plan already had a chain-break it was about to ratify. Honest dispatch discipline. Cumulative reviewer status: 7 of 8 complete + Substrate Mgr R2 follow-up. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 8c72cfb923c..5d3b6fcd6fd 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -72,7 +72,7 @@ Per `r3-debt-sweep-2026-05-06.md` §Class A (line 39): *"parser/grammar surface, | Class | TestClaim gate | Representative gap-test | Lane(s) producing closure | |---|---|---|---| | 1 — parser/grammar surface | `substrate_gap_parser_grammar_closed` | v3 substrate models concrete types as the **interaction of independent constraint models** — abstract algebra × machine constraints — with concrete types emerging as consequences (per Brian directive 2026-05-06: *"these concepts should be the interaction of several constraint models i.e. abstract algebra × machine constraints — i64 would naturally emerge as a consequence"*). Refinement syntax `Type` expresses the interaction, NOT a primary entity. Pass condition: substrate declares abstract algebra (e.g., `Int = AbelianGroup`) and machine constraints (e.g., `MachineWidth`) as independent models; concrete types emerge via interaction (e.g., `Int<64>` = `Int × MachineWidth<64>`; target-language `i64` is derived artifact, NOT primary substrate entity). v3 parser handles generic interaction syntax; demonstrated against ≥3 algebra×constraint pairs — `Int<64>` (integer × 64-bit register), `Real<64>` (real × 64-bit float), `Nat<8>` (natural × 8-bit register) — without v2-fallback; gate Pass = all 3 interaction-derived programs produce 0 diagnostics + emitted artifact compiles to expected target primitive (`i64`/`f64`/`u8`) where the target primitive is consequence-of-interaction, not declared. The interaction-modeling requirement prevents single-axis (algebra-only or width-only) hard-coding. | T-V2-Retirement (parser path) + T-Numeric-Construction (algebra side) + Substrate (machine-constraint side, may require new substrate carrier `MachineConstraint`) + Substrate continuation | -| 2 — function-valued data | `substrate_gap_function_valued_data_closed` | `Lens` instance with function-typed payload executes through evaluator | T-Lens-Application-Surface + T-E-P-Producer-Broadening | +| 2 — function-valued data | `substrate_gap_function_valued_data_closed` | `Lens` instance with function-typed payload executes through evaluator | T-Lens-Application-Surface + T-E-P-Producer-Broadening — **chain-break per YELLOW chain rule** (Substrate Mgr 2026-05-06): prereq T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← Q-Lens-Behavioral-Parity-R3-Closeability (RED). Class 2 inherits RED until LBP scope-calibration resolves. See Q-Class-2-Chain-Break in §10.3. | | 3 — file-ingestion | `substrate_gap_file_ingestion_closed` | One `.dag` program ingests external file (e.g., timing observation set) without `include_str!` | T-Workflow-As-Data | | 4 — workflow/scheduling | `substrate_gap_workflow_scheduling_closed` | CI workflow modeled as `.dag` data executes through evaluator | T-Workflow-As-Data + T-Lens-Self-Application | | 5 — reflection-closure | `substrate_gap_reflection_closure_closed` | `lens_apply.rs` reflection work routes via PB-Runtime interpreter-as-data | T-LensProducer-Retirement | @@ -234,7 +234,11 @@ Each retires per its natural-owner program prerequisites. Verification Mgr's `br ### §2.4 5 substrate-gap classes (5 predicates) **Class 1 (parser/grammar)**: closes with T-V2-Retirement parser path (post-T-FixedPoint + post-T-LensProducer-Retirement + post-T-Numeric-Construction `Int`). -**Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). **Cascade dependency caveat** (per Substrate Mgr poke-hole 2026-05-06 R2): Class 2 closure transitively depends on T-Lens-Behavioral-Parity which is itself flagged RED in §10.3 Q-Lens-Behavioral-Parity-R3-Closeability (Substrate Mgr E3 — *"I don't know how to close this in R3 timeline"*). Class 2 closure status inherits the LBP scope-calibration outcome: if LBP scope reframed (option (b)/(c)) covering 1-2 lenses for R3, Class 2 gap-test must be reachable through the in-R3-scope subset; if LBP carved to R4 entirely, Class 2 closure also moves. **Resolution path**: Q-Lens-Behavioral-Parity-R3-Closeability decision determines Class 2 closure eligibility. +**Class 2 (function-valued data)**: closes with T-Lens-Application-Surface (post-T-Lens-Behavioral-Parity). **CHAIN-BREAK per Refinement 3 YELLOW chain rule** (per Substrate Mgr 2026-05-06 ack at gunbc#846 #issuecomment-4384370416): Class 2's prerequisite chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED with no executable close path) does NOT terminate at GREEN within finite chain. Per `docs/audit/r3-debt-sweep-2026-05-06.md` §3 YELLOW criteria: invalid YELLOW status; must be RED until prerequisite chain resolves. Class 2 inherits RED from Q-Lens-Behavioral-Parity-R3-Closeability resolution. **Two resolution paths**: +- **(a) Re-pick Class 2 gap-test** to one that traces to GREEN (e.g., function-valued data gap-test that doesn't require LBP COMPLETE — possibly a representative `Lens` consuming substrate facts that already exist post-T-E-P-Producer-Broadening but pre-T-Lens-Behavioral-Parity). +- **(b) Escalate Q-Lens-Behavioral-Parity-R3-Closeability** scope-calibration decision; if LBP option (b) reframes to 1-2 lenses for R3 with rest carved to R4, Class 2 gap-test must be expressible through the in-R3-scope subset. + +→ **Q-Class-2-Chain-Break** in §10.3. **Class 3 (file-ingestion)**: closes with T-Workflow-As-Data file-ingestion grammar (post-T-Lens-Behavioral-Parity). **Class 4 (workflow/scheduling)**: closes with T-Workflow-As-Data CI-workflow-as-dag (post-T-Lens-Behavioral-Parity). **Class 5 (reflection-closure)**: closes with T-LensProducer-Retirement (gated on T-FixedPoint via PB cascade chain — NOT parallel-to-LBP per Director poke-hole 2026-05-06 finding 2.4 correction). @@ -824,6 +828,7 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-Tier4-Inclusion | Tier 4 ("out of scope, declared" per ctrl#1608 §6d): convergent ctrl-side recommendation across LLVM/K8s/Discord/PyTorch viability research portfolio. PM-side own. Not currently in R3 closure criteria. | PM-recommended: include Tier 4 as **named explicit-out-of-scope declaration** in §1 closure criteria — distinct from Class 6 (which is in-scope substrate extension). Tier 4 = explicit scope-cession; Class 6 = in-scope substrate addition. Director ratification of either inclusion or out-of-scope-by-design needed. | OPEN — Director ratification (NEW 2026-05-06 from Research PM Y-1) | | Q-Lens-Self-Application-Stronger-Demo | Current `lens_self_application_demonstrated` cashes "lens applies to CI workflow" only. Stronger: CI workflow includes TestClaim → fails → gunbc emission refuses. Demonstrates 4 gates simultaneously (Self-App + Workflow-As-Data + Tests-As-Data + integration_testgen) + WEDGE-CORE-CLAIM Part B opportunistically | Per Brian recursive-flex framing ("the compiler that compiles gunbc programs validates the workflow that produces gunbc itself"): current demo cashes first half; stronger shape cashes the full sentence by tying lens output to emission gate. Verification Mgr's audit packet (per gunbc#1276) targets four-fold demo overlap. | RATIFIED-by-default — Verification Mgr authors stronger demo shape; updates §1.6 audit row + canonical ledger when authored (NEW 2026-05-06 from Research PM Y-2) | | Q-Director-PM-Redundancy | 30-min Director loop + weekly PM compile have no fallback authority for unavailability stretches (>2 days). Specific failure modes: Director unavailable → 30-min loop drops; PM unavailable → §3 drifts; both unavailable → §8.2 escalation paths have no fallback | PM-recommended: §8.3 add Director-deputy mechanism (Substrate Mgr + Verification Mgr cross-Mgr coverage if Director unavailable >2 days; explicit slip-acceptance otherwise); §9.1 add PM-deputy mechanism (R3 Debt-Paydown Mgr covers §3 lane-status compilation if PM unavailable). | OPEN — Director / Brian ratification of fallback authority + slip-acceptance discipline (NEW 2026-05-06 from Research PM Y-4) | +| Q-Class-2-Chain-Break | Class 2 (function-valued data) prereq chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED) does NOT terminate at GREEN within finite chain. Per Refinement 3 YELLOW chain rule, Class 2's YELLOW status is **invalid** — must be RED until prereq chain resolves. Either re-pick gap-test OR escalate LBP scope-calibration. | Two resolution paths: **(a)** re-pick Class 2 gap-test to one traceable to GREEN (representative `Lens` consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE); **(b)** escalate Q-Lens-Behavioral-Parity-R3-Closeability — if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset. PM-recommended path: (a) — re-pick gap-test if Substrate Mgr can identify a function-valued substrate test that doesn't require LBP COMPLETE; otherwise (b). | OPEN — Substrate Mgr + Director scope-calibration (NEW 2026-05-06 from Substrate Mgr R2 + Refinement 3 YELLOW chain rule cycle-detection; structural chain-break per `docs/audit/r3-debt-sweep-2026-05-06.md` §3) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From 6ad31c53403e9af6080a83e22ecfc5f5845d2d34 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:24:12 +0000 Subject: [PATCH 30/36] =?UTF-8?q?docs(r3):=20absorb=20codex=202=20BLOCKING?= =?UTF-8?q?=20=E2=80=94=20=C2=A73=20delta-only=20refactor=20+=20sweep=20do?= =?UTF-8?q?c=20speculative-language=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per codex REQUEST_CHANGES on PR #1808 sha d93fa019 at PR #1808 #issuecomment-4384601928. Both findings valid; structural fixes. F1 (P2 / Practice 5 single-authority): §3 lane-status table replicated lane name / Mgr / scope / R2-dep columns from r3-structure.md §"Lane structure" while the same plan §"Authority hierarchy" declared r3-structure.md authoritative for lane definitions. Parallel-authority violation. Plan acknowledged as drift-risk via Q-Plan-vs-Structure-Drift- Discipline (Research PM R-3) but deferred — codex flags it as live violation, not future concern. Fix per Research PM R-3 option (a): §3 refactored to delta-only — - Lane name kept as join-key only (no second authority) - Mgr column dropped (lives in r3-structure.md §"Lane structure") - Scope / R2-close-dependency columns dropped (live in r3-structure.md) - Plan-authoritative columns kept: Status / Current dispatch / Blocker / ETA-to-close (these are forward-looking; r3-structure.md doesn't carry) §3 header retitled "Lane status snapshot — delta-only over r3-structure.md §Lane structure" with explicit "lane Mgr / scope / R2-close-dependency NOT replicated here — see r3-structure.md §Lane structure for authoritative metadata." Closes Q-Plan-vs-Structure-Drift-Discipline option (a) inline. Plan no longer carries parallel authority on lane metadata; r3-structure.md remains canonical archive. F2 (P1 live-state): sweep doc §Phase 2 dispatch matrix said "(R3 Release Mgr + 2 others — likely include Tier 3 Mgr if separate from PB continuation, and one additional R2-continuation Mgr)." Speculative "likely include" language while claiming clarification closes omission risk. P1 violation: live authority doc cannot fill identified gap with guesses. Fix: speculative wording replaced with honest TBD framing — r3-structure.md §"Manager structure" canonical authority states "9 standing R3 managers (8 + Debt-Paydown)" but does NOT enumerate per Mgr explicitly beyond the 4 named modifications. The remaining 2 of the canonical 9 are TBD per Director enumeration (Phase 3 compile-pass surface; not blocking). Both fixes restore single-authority + live-state discipline. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/audit/r3-debt-sweep-2026-05-06.md | 6 ++- docs/r3-program-plan.md | 56 +++++++++++++------------- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/docs/audit/r3-debt-sweep-2026-05-06.md b/docs/audit/r3-debt-sweep-2026-05-06.md index e7d6085a8bf..41a834c29e8 100644 --- a/docs/audit/r3-debt-sweep-2026-05-06.md +++ b/docs/audit/r3-debt-sweep-2026-05-06.md @@ -216,9 +216,11 @@ Contract applies to **PRs landing AFTER this framework merges** (not retroactive Identical message format. Each Mgr surfaces lane debt with grep-verified sourcing. -**Remaining R3 standing Mgrs** (per `docs/r3-structure.md` §"Manager structure" canonical 9-standing-Mgr count; the 3 not in PM subtree): **R3 Release Mgr** (owns T-Omni-Shape-B + R3 closure ledger + R3 demo coordination; may be R2 Release Mgr continuation) + 2 others per the "8 + Debt-Paydown" enumeration (likely include Tier 3 Mgr if separate from PB continuation, and one additional R2-continuation Mgr). These Mgrs **coordinate via Director** (zesty-bear-812, gunbc#828) per cross-Mgr cadence; their lane debt + canvas surfaces flow through Director-relayed comments. Per codex BLOCKING on PR #1804 line 209 (2026-05-06): this clarification closes the silent-omission risk that 6 ≠ 9 implies (INVARIANTS P2 single-authority + P1 live-state). +**Remaining R3 standing Mgrs** (per `docs/r3-structure.md` §"Manager structure" canonical 9-standing-Mgr count; the 3 not in PM subtree): **R3 Release Mgr** (owns T-Omni-Shape-B + R3 closure ledger + R3 demo coordination per `docs/r3-structure.md` §"Manager structure" line 223; may be R2 Release Mgr continuation) + **2 unenumerated others** — `docs/r3-structure.md` §"Manager structure" states "9 standing R3 managers (8 + Debt-Paydown)" but does NOT enumerate per Mgr explicitly beyond the 4 named modifications (Substrate continuation / Verification / R3 Release / Debt-Paydown). The remaining 2 of the canonical 9 are **not enumerated in canonical authority at HEAD** — Director-side enumeration TBD. Per codex BLOCKING 2026-05-06 finding 2 (P1 live-state): this is left as TBD per Director rather than guessed. -No Mgr's lane debt is silently omitted — PM-subtree Mgrs report directly via canvas; non-subtree Mgrs report via Director relay. +These 3 non-PM-subtree Mgrs (R3 Release + 2 TBD) **coordinate via Director** (zesty-bear-812, gunbc#828) per cross-Mgr cadence; their lane debt + canvas surfaces flow through Director-relayed comments. Per codex BLOCKING on PR #1804 line 209 (2026-05-06 finding 1): this clarification closes the silent-omission risk that 6 ≠ 9 implies (INVARIANTS P2 single-authority + P1 live-state). + +No Mgr's lane debt is silently omitted — PM-subtree Mgrs report directly via canvas; non-subtree Mgrs report via Director relay. Director enumeration of the 2 TBD Mgrs is a Phase 3 compile-pass surface (not blocking; per `docs/r3-program-plan.md` §10.3 implicit deferral). **Phase 3 (post-canvas)**: PM compiles Mgr responses + adds §2 hidden-debt audit + cross-references ROADMAP review + recent analyses. Surfaces compiled sweep for Director final ratification + R3 closure-criteria explicit list. diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 5d3b6fcd6fd..6863495ae17 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -247,36 +247,38 @@ Each retires per its natural-owner program prerequisites. Verification Mgr's `br --- -## §3. Lane status snapshot - -One row per lane: current state + blocker + ETA-to-close. Updated weekly by lane-owning Mgr; PM compiles for Director cadence reporting. - -| Lane | Mgr | Status | Current dispatch | Blocker | ETA-to-close | -|---|---|---|---|---|---| -| T-Tier3-Dissolution | PB | YELLOW | (TBD from PB canvas) | (TBD) | (TBD) | -| T-LensProducer-Retirement | PB | YELLOW | (TBD from PB canvas) | T-FixedPoint + R2-Evaluator | (TBD) | -| T-V-L4 (emit/eval match) | Verification | YELLOW | r3-v-l4-l7-direct-* briefs | Pattern A first slice (Q-PAFS) + corpus build-out | (TBD) | -| T-V-L7 (algebraic-law witness coverage) | Verification | YELLOW | r3-v-l7-algebra-coverage-matrix briefs | per-(algebra, inhabitant, law) exhaustive coverage gap | (TBD) | -| T-V-L5-Corpus | Verification | RED | (waits on L4 corpus + Shape A grounding) | T-V-L4 corpus existing first | post-L4 | -| T-FixedPoint | PB | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | -| T-Numeric-Construction | Substrate | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | -| T-Omni-Shape-B | Release | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | -| T-Anthropic-Wire | Substrate | YELLOW | 3 coproduct worker briefs dispatched on PR #1782 wait-window (`r3-coproduct-1-openai-chat-message-full-worker.md` + `coproduct-2-anthropic-tool-result-content-wire-worker.md` + `coproduct-3-anthropic-messages-200-residual-worker.md`); plus 2 OPEN closure tags at HEAD: `dsl/extdeps/llm/anthropic.dag` `:189` (`closure:anthropic_messages_200_residual` — variant_pending: thinking|tool_use|redacted_thinking|web_search|server_tool_use + json_pending: container) + `:68` (`closure:anthropic_tool_result_additive_blocks` — missing: document|search_result|tool_reference) | three coproduct slices land + variant-aware projection carrier authored | post-#1782 merge + 3 follow-up paydown PRs (per Substrate Mgr poke-hole 2026-05-06 R1 — corrected from RED to YELLOW; Q-Anthropic-Variant-Aware closure scope per §10.3 covers the 3-paydown-vs-carrier-only question) | -| T-Bridge-Retirement | Verification (ledger) | YELLOW | per-bridge dispatches | 5 sub-bridges retire | post-T-FixedPoint | -| T-CostLens-Composition | Substrate | YELLOW | (TBD from Substrate canvas) | R2-Evaluator + R2-T-Substrate-Lens-Primitive | (TBD) | -| T-V2-Retirement | PB | RED | r3-tv2-* briefs | T-FixedPoint + T-LensProducer | longest-path | -| T-Free-Consequences-Demonstration | Verification | YELLOW | r3-v-free-consequences-worker | R2-Evaluator + T-CostLens-Composition | post-deps | -| T-E-P-Producer-Broadening | Substrate | YELLOW | (TBD from Substrate canvas) | (foundational; in flight) | weeks | -| T-Lens-Behavioral-Parity | Substrate + Verification | RED | post-T-E-P-Producer-Broadening | T-E-P-Producer-Broadening | post-T-E-P | -| T-Tests-As-Data-Completeness | Verification | YELLOW | r3-v-tests-as-data-* briefs | TestClaim infra | (TBD) | -| T-Lens-Application-Surface | Substrate + Verification | YELLOW | r3-substrate-tests-as-data-carrier-slice-1-stop-ping | T-Lens-Behavioral-Parity COMPLETE | post-LBP | -| T-Workflow-As-Data | Substrate | YELLOW | r3-v-bridge-row-* + design-timing-lens | T-Lens-Behavioral-Parity COMPLETE | post-LBP | -| T-Lens-Self-Application | Verification | RED | (waits on Workflow-As-Data + LAS) | T-Workflow-As-Data + T-Lens-Application-Surface | post-WAD+LAS | -| T-Debt-Paydown (standing) | Debt-Paydown | YELLOW | PR #1807 (SG-0 PR-body / diff-reconcile gate; OPEN); PR #1566 (rollup hygiene; OPEN/DRAFT per `docs/debt/r3-debt-paydown-ledger-2026-05-02.md`); Tier-1 dispatch-brief drift sweep (`docs/audit/r3-dispatch-brief-drift-sweep-2026-05-05.md`) verified | per-PR rule + drift-item reconciliation (Q7) + velocity-tripwire reporting cadence + closure-receipt cadence + SG-0 PR-window net-shrink discipline | continuous (per Debt-Paydown Mgr poke-hole 2026-05-06 — TBD framing replaced with concrete in-flight anchors) | +## §3. Lane status snapshot — delta-only over `r3-structure.md` §"Lane structure" + +**Authority**: lane name / Mgr / scope / R2-close-dependency live in [`docs/r3-structure.md`](r3-structure.md) §"Lane structure" canonical table (per codex BLOCKING 2026-05-06 finding 1 — single-authority discipline; plan does NOT replicate lane definitions). + +**Plan authoritative columns** (delta-only — current dispatch / blocker / ETA-to-close): updated weekly by lane-owning Mgr; PM compiles for Director cadence. Lane name + Mgr columns retained as join-key only (not as second authority). + +| Lane (join-key only; defs in `r3-structure.md`) | Status | Current dispatch | Blocker | ETA-to-close | +|---|---|---|---|---| +| T-Tier3-Dissolution | YELLOW | (TBD from PB canvas) | (TBD) | (TBD) | +| T-LensProducer-Retirement | YELLOW | (TBD from PB canvas) | T-FixedPoint + R2-Evaluator | (TBD) | +| T-V-L4 (emit/eval match) | YELLOW | `r3-v-l4-l7-direct-*` briefs | Pattern A first slice (Q-PAFS) + corpus build-out | (TBD) | +| T-V-L7 (algebraic-law witness coverage) | YELLOW | `r3-v-l7-algebra-coverage-matrix` briefs | per-(algebra, inhabitant, law) exhaustive coverage gap | (TBD) | +| T-V-L5-Corpus | RED | (waits on L4 corpus + Shape A grounding) | T-V-L4 corpus existing first | post-L4 | +| T-FixedPoint | YELLOW | (TBD from PB canvas) | SG-0 zero from T-LensProducer | (TBD) | +| T-Numeric-Construction | YELLOW | T-NumericConstruction-ApproximateField; #1523 landed | Float migration + Real/base-carrier convention (Grounding canvas item 2) | (TBD) | +| T-Omni-Shape-B | RED | (post-R2-Evaluator + Shape A targets) | dependencies | (TBD) | +| T-Anthropic-Wire | YELLOW | 3 coproduct worker briefs dispatched on PR #1782 wait-window + 2 OPEN closure tags at HEAD (`dsl/extdeps/llm/anthropic.dag` `:189` + `:68`) | three coproduct slices land + variant-aware projection carrier authored | post-#1782 merge + 3 follow-up paydown PRs | +| T-Bridge-Retirement | YELLOW | per-bridge dispatches | 5 sub-bridges retire | post-T-FixedPoint | +| T-CostLens-Composition | YELLOW | (TBD from Substrate canvas) | R2-Evaluator + R2-T-Substrate-Lens-Primitive | (TBD) | +| T-V2-Retirement | RED | `r3-tv2-*` briefs | T-FixedPoint + T-LensProducer | longest-path | +| T-Free-Consequences-Demonstration | YELLOW | `r3-v-free-consequences-worker` | R2-Evaluator + T-CostLens-Composition | post-deps | +| T-E-P-Producer-Broadening | YELLOW | (TBD from Substrate canvas) | (foundational; in flight) | weeks | +| T-Lens-Behavioral-Parity | RED | post-T-E-P-Producer-Broadening | T-E-P-Producer-Broadening | post-T-E-P | +| T-Tests-As-Data-Completeness | YELLOW | `r3-v-tests-as-data-*` briefs | TestClaim infra | (TBD) | +| T-Lens-Application-Surface | YELLOW | `r3-substrate-tests-as-data-carrier-slice-1-stop-ping` | T-Lens-Behavioral-Parity COMPLETE | post-LBP | +| T-Workflow-As-Data | YELLOW | `r3-v-bridge-row-*` + `design-timing-lens` | T-Lens-Behavioral-Parity COMPLETE | post-LBP | +| T-Lens-Self-Application | RED | (waits on Workflow-As-Data + LAS) | T-Workflow-As-Data + T-Lens-Application-Surface | post-WAD+LAS | +| T-Debt-Paydown (standing) | YELLOW | PR #1807 (SG-0 PR-body / diff-reconcile gate; OPEN); PR #1566 (rollup hygiene; OPEN/DRAFT per `docs/debt/r3-debt-paydown-ledger-2026-05-02.md`); Tier-1 dispatch-brief drift sweep (`docs/audit/r3-dispatch-brief-drift-sweep-2026-05-05.md`) verified | per-PR rule + drift-item reconciliation (Q7) + velocity-tripwire reporting cadence + closure-receipt cadence + SG-0 PR-window net-shrink discipline | continuous | **Status legend**: GREEN = no open work, awaiting close audit. YELLOW = work in flight. RED = blocked on upstream. -(Mgr canvases populating; full table compiles within ~24h per canvas T+24h soft deadline.) +(Mgr canvases populating; full table compiles within ~24h per canvas T+24h soft deadline. Per codex 2026-05-06 BLOCKING finding 1: lane Mgr / scope / R2-close-dependency NOT replicated here — see `r3-structure.md` §"Lane structure" for authoritative metadata. This delta-only refactor closes Q-Plan-vs-Structure-Drift-Discipline option (a) per Research PM R-3.) --- From 60ddf055e9e3f661bdd55976fec5d0350a536b3a Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Tue, 5 May 2026 22:28:06 -0400 Subject: [PATCH 31/36] WIP: Gunbc PM --- docs/r3-program-plan.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 6863495ae17..1eea2dce769 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -149,7 +149,7 @@ Mgrs author per-gate spec citing the (a)/(b)/(c) satisfaction; closure-ledger en | Lane | Existing demo gate | Needed demo gate (if missing) | |---|---|---| | T-Tier3-Dissolution | `tier3_*_mirror_dissolved` (state-check) | + `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer .dag program runs end-to-end via Evaluator | -| T-LensProducer-Retirement | retirement gates (state-check) | + `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program | +| T-LensProducer-Retirement | retirement gates (state-check) | + `lens_producer_retirement_executable_witness` (per PB Mgr poke-hole 2026-05-06 F3 — reframed from `_demonstration`) — execution-ready witness DEFERRED to Row-4 equivalence receipt landing per `docs/design-pb-runtime-interpreter.md` §5.1 + convergence matrix; near-term demo = retirement state-check + doc receipts; "demonstration" status re-promotes when Row-4 + Item 4 receipts exist | | T-V-L4-L7-Direct | `l4_emit_eval_match`, `l7_algebraic_laws_witnessed` (skeleton/staged at HEAD; closure bar = exhaustive per-(algebra, inhabitant, law) coverage per `r3-structure.md` §"Lane structure" → T-Verification-L4-L7-Direct row + 2026-05-02 fold-in) | (existing harness — NOT yet "fully demonstrated"; over-greening risk per Verification Mgr poke-hole 2026-05-06) | | T-V-L5-Corpus | `l5_cross_target_consistency` ✓ | (existing) | | T-FixedPoint | `pb_self_compile_fixed_point` ✓ | (existing) | @@ -198,11 +198,11 @@ For each predicate not yet GREEN, what's blocking + sequence to close. ### §2.2 v2 retirement (2 predicates) -**Sequence** (from `r3-structure.md` §"Lane structure" → T-V2-Retirement row; Grounding Mgr poke-hole 2026-05-06 finding 2 corrected dependency direction): -1. T-FixedPoint completes (PB Mgr) — `compiler.dag` self-compile fixed-point -2. T-LensProducer-Retirement completes (PB Mgr) — 3 hand-Rust files retired -3. T-Numeric-Construction `Int` refinement landing (path-(a) coordination — v2 refinement-syntax blocker per `r3-structure.md` §"Lane structure" → T-Numeric-Construction row) -4. v2 directory deletion + test-consumer audit (T-V2-Retirement) +**Sequence** (from `r3-structure.md` §"Lane structure" → T-V2-Retirement row + T-FixedPoint row; PB Mgr poke-hole 2026-05-06 F1 corrected sequencing — T-FixedPoint depends on "SG-0 zero from T-LensProducer-Retirement" per r3-structure.md §"Lane structure" → T-FixedPoint row, so T-LensProducer-Retirement comes BEFORE T-FixedPoint, not after): +1. **T-LensProducer-Retirement completes** (PB Mgr) — 3 hand-Rust files retired → SG-0 zero +2. **T-FixedPoint completes** (PB Mgr) — `compiler.dag` self-compile fixed-point (gated on SG-0 zero from step 1) +3. T-Numeric-Construction `Int` refinement landing (path-(a) coordination — v2 refinement-syntax blocker per `r3-structure.md` §"Lane structure" → T-Numeric-Construction row; can parallel-dispatch with steps 1+2 per non-Evaluator-gated lane status) +4. v2 directory deletion + test-consumer audit (T-V2-Retirement; gated on T-FixedPoint + T-LensProducer-Retirement per r3-structure.md §"Lane structure" → T-V2-Retirement row) **ETA**: 4-8 weeks; longest-path lane in R3. @@ -831,6 +831,8 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-Lens-Self-Application-Stronger-Demo | Current `lens_self_application_demonstrated` cashes "lens applies to CI workflow" only. Stronger: CI workflow includes TestClaim → fails → gunbc emission refuses. Demonstrates 4 gates simultaneously (Self-App + Workflow-As-Data + Tests-As-Data + integration_testgen) + WEDGE-CORE-CLAIM Part B opportunistically | Per Brian recursive-flex framing ("the compiler that compiles gunbc programs validates the workflow that produces gunbc itself"): current demo cashes first half; stronger shape cashes the full sentence by tying lens output to emission gate. Verification Mgr's audit packet (per gunbc#1276) targets four-fold demo overlap. | RATIFIED-by-default — Verification Mgr authors stronger demo shape; updates §1.6 audit row + canonical ledger when authored (NEW 2026-05-06 from Research PM Y-2) | | Q-Director-PM-Redundancy | 30-min Director loop + weekly PM compile have no fallback authority for unavailability stretches (>2 days). Specific failure modes: Director unavailable → 30-min loop drops; PM unavailable → §3 drifts; both unavailable → §8.2 escalation paths have no fallback | PM-recommended: §8.3 add Director-deputy mechanism (Substrate Mgr + Verification Mgr cross-Mgr coverage if Director unavailable >2 days; explicit slip-acceptance otherwise); §9.1 add PM-deputy mechanism (R3 Debt-Paydown Mgr covers §3 lane-status compilation if PM unavailable). | OPEN — Director / Brian ratification of fallback authority + slip-acceptance discipline (NEW 2026-05-06 from Research PM Y-4) | | Q-Class-2-Chain-Break | Class 2 (function-valued data) prereq chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED) does NOT terminate at GREEN within finite chain. Per Refinement 3 YELLOW chain rule, Class 2's YELLOW status is **invalid** — must be RED until prereq chain resolves. Either re-pick gap-test OR escalate LBP scope-calibration. | Two resolution paths: **(a)** re-pick Class 2 gap-test to one traceable to GREEN (representative `Lens` consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE); **(b)** escalate Q-Lens-Behavioral-Parity-R3-Closeability — if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset. PM-recommended path: (a) — re-pick gap-test if Substrate Mgr can identify a function-valued substrate test that doesn't require LBP COMPLETE; otherwise (b). | OPEN — Substrate Mgr + Director scope-calibration (NEW 2026-05-06 from Substrate Mgr R2 + Refinement 3 YELLOW chain rule cycle-detection; structural chain-break per `docs/audit/r3-debt-sweep-2026-05-06.md` §3) | +| Q-V2-Retirement-Boundary-Matrix | Q3 "PB owns all v2 retirement" too coarse — Grounding §10.2.2 items (emit shim G6 / Coercion-Fold scratch G7 / LanguageSpec consumer surfaces) are v2-shaped but not obviously PB-only. Per PB Mgr poke-hole 2026-05-06 F4: explicit split matrix (PB vs Grounding vs Debt-Paydown) needed for v2-using emit surfaces so Q3 doesn't silently absorb non-PB work. | PM-recommended split: **PB owns** v2 directory deletion + v2 test-consumer retirement + bootstrap PB-Runtime trampoline; **Grounding owns** emit-shim retirement (consumes T-V2-Retirement milestones per G6) + Coercion-Fold scratch retirement (post-LanguageSpec projection per G7); **Debt-Paydown owns** v2-related drift items (post-retirement ledger reconciliation). Matrix authored by PM as plan §11 supplement OR Q3 row narrowed in §10.1 explicitly. | OPEN — Director ratification of split matrix (NEW 2026-05-06 from PB Mgr F4) | +| Q-Bridge-Retirement-Sequencing-Authority | §2.3 says "`include_str!` retires post-T-FixedPoint" — new ordering detail vs r3-structure.md §"Lane structure" → T-Bridge-Retirement row distribution map (lists 5 bridges, not total order). Per PB Mgr F5: looks like second authority for sequencing. | Move sequencing detail to r3-structure.md as symbol-anchor addition to §"Lane structure" → T-Bridge-Retirement row (single authority for both 5-bridge distribution + retirement sequencing); §2.3 cross-links instead. PM updates in subsequent commit per PB Mgr recommendation. | RATIFIED-by-default — PM moves sequencing to r3-structure.md authoritative row in subsequent commit (NEW 2026-05-06 from PB Mgr F5) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From 98eba5956f12b0689a29cae2e9492a75d9ba6627 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:28:21 +0000 Subject: [PATCH 32/36] =?UTF-8?q?docs(r3):=20absorb=20R3=20PB=20Mgr=20revi?= =?UTF-8?q?ew=20=E2=80=94=205=20findings;=20final=20Mgr=20(8=20of=208=20re?= =?UTF-8?q?viewers=20complete)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per neat-bear-351 review at gunbc#846 #issuecomment-4384374658. Substantive poke-holes; 2 structural fixes inline + 2 escalations + 1 honest TBD. F1 (§2.2 sequencing reversed — MATERIAL): plan said T-FixedPoint → T-LensProducer-Retirement → v2 deletion. r3-structure.md §"Lane structure" T-FixedPoint row names "SG-0 zero from T-LensProducer-Retirement" as R2-close dependency — so T-LP-Retirement feeds T-FixedPoint, NOT reverse. Fix: §2.2 sequence corrected: 1. T-LensProducer-Retirement completes (3 hand-Rust files retired → SG-0 zero) 2. T-FixedPoint completes (gated on SG-0 zero from step 1) 3. T-Numeric-Construction Int (parallel; non-Evaluator-gated lane) 4. v2 directory deletion (gated on FP + LP per r3-structure.md T-V2-Retirement row) F2 (§3 PB rows still TBD): honest acknowledgment; no fix — accurate reporting. F3 (§1.6 LensProducer demo not execution-ready): `lens_apply` reflection via PB-Runtime is right Class-5 sub-gate shape but NOT execution-ready demo gate until Item 4 + Row-4 equivalence receipts exist (per docs/design-pb-runtime- interpreter.md §5.1 + convergence matrix). Better near-term: retirement state-check + doc receipts. Fix: §1.6 row reframed `lens_producer_retirement_demonstration` → `lens_producer_retirement_executable_witness` — DEFERRED to Row-4 receipts; "demonstration" status re-promotes when Row-4 + Item 4 receipts exist. F4 (Q3 boundary fuzz): "PB owns all v2 retirement" too coarse. Grounding items (emit shim G6 / Coercion-Fold scratch G7 / LanguageSpec consumer) are v2-shaped but not obviously PB-only. Surfaced as Q-V2-Retirement-Boundary-Matrix in §10.3 — explicit split matrix needed. PM-recommended: PB owns v2 directory deletion + v2 test-consumer retirement + PB-Runtime trampoline; Grounding owns emit-shim retirement + Coercion-Fold; Debt-Paydown owns v2-related drift items. F5 (§2.3 bridge sequencing parallel-authority): §2.3 "include_str! retires post-T-FixedPoint" looks like new ordering detail vs r3-structure.md distribution map. Surfaced as Q-Bridge-Retirement-Sequencing-Authority in §10.3 — move sequencing to r3-structure.md authoritative row + cross-link. RATIFIED-by-default — PM updates in subsequent commit. §10.2.5 expanded from "pending" to full absorption with all 5 findings. PB Mgr is the final Mgr review; 8 of 8 reviewers complete (Verification ✓ Director ✓ Grounding ✓ Substrate ✓ Debt-Paydown ✓ Evaluator ✓ Research PM ✓ PB ✓). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 1eea2dce769..50e0c265fc9 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -792,7 +792,21 @@ Substantive cross-program review surfacing ctrl-side coupling concerns + structu **Plan integration**: 6 new escalations added to §10.3 (Q-Class-6 / Q-Timeline-Risk-Alternates / Q-Plan-vs-Structure-Drift / Q-WEDGE-A / Q-Tier4-Inclusion / Q-Lens-Self-App-Stronger-Demo / Q-Director-PM-Redundancy). Y-3 deferred to canonical ledger absorption. -#### §10.2.5 R3 PB Mgr (neat-bear-351, #1742) — pending canvas response (as-of 2026-05-06T01:52Z) +#### §10.2.5 R3 PB Mgr (neat-bear-351, #1742) — full review absorbed 2026-05-06T02:20Z (final Mgr — 8 of 8 reviewers complete) + +PB Mgr's substantive review on PR #1808 + canvas/refinements receipt at gunbc#846 #issuecomment-4384374658. Refinements A/B + YELLOW chain rule received and applied to PB lane work in flight. 5 plan poke-holes: + +**F1 (§2.2 sequencing reversed — material)**: Plan §2.2 said T-FixedPoint → T-LensProducer-Retirement → ... → v2. But r3-structure.md §"Lane structure" T-FixedPoint row names "SG-0 zero from T-LensProducer-Retirement" as R2-close dependency — i.e., T-LP-Retirement feeds T-FixedPoint, NOT reverse. **Fix**: §2.2 sequence corrected — T-LensProducer-Retirement completes (step 1) → T-FixedPoint (step 2; gated on SG-0 zero) → v2 deletion (step 4 post-FP+LP). + +**F2 (§3 PB rows still TBD)**: honest acknowledgment — placeholders remain until PM compile merges sweep + audit PRs. PB Mgr will replace TBD with named dispatches once those land. No fix — accurate reporting. + +**F3 (§1.6 / §4.5 "PB-Runtime demo" for LensProducer not execution-ready)**: `lens_apply` reflection via PB-Runtime is right Class-5 sub-gate shape but NOT execution-ready demo gate until Item 4 + Row-4 equivalence receipts exist (per `docs/design-pb-runtime-interpreter.md` §5.1 + convergence matrix). Better near-term: retirement state-check + doc receipts. **Fix**: §1.6 row reframed from `lens_producer_retirement_demonstration` → `lens_producer_retirement_executable_witness` (DEFERRED to Row-4 receipts; "demonstration" status re-promotes when Row-4 + Item 4 receipts exist). + +**F4 (Q3 boundary fuzz)**: "PB owns all v2 retirement" too coarse. Grounding items (emit shim / LanguageSpec / coercion-fold scratch) are v2-shaped but not obviously PB-only. Need explicit split matrix. → **Q-V2-Retirement-Boundary-Matrix** in §10.3. + +**F5 (§2.3 bridge sequencing — parallel-authority risk)**: §2.3 "`include_str!` retires post-T-FixedPoint" looks like new ordering detail vs r3-structure.md distribution map. → **Q-Bridge-Retirement-Sequencing-Authority** in §10.3 (move sequencing to r3-structure.md authoritative row). + +**Standing**: PB Mgr will re-read PR #1808 at sha at HEAD before next PB-authored sweep row or PR-debt flag. #### §10.2.6 R3 Debt-Paydown Mgr (quiet-otter-416) — full canvas + plan-poke-hole absorbed at sha `e41e4fbe8` (2026-05-06) From ddfc3f84c9eba1e3c3eca063542af7a5f7322f06 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:31:28 +0000 Subject: [PATCH 33/36] =?UTF-8?q?docs(r3):=20absorb=20Director=20re-review?= =?UTF-8?q?=20verdict=20+=206=20disposition=20updates=20=E2=80=94=20plan?= =?UTF-8?q?=20PR=20Director-cleared=20to=20land?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per Director re-review at gunbc#828 #issuecomment-4384615320 confirming 6 🔴 critical findings RESOLVED at sha d93fa019a per feedback_corrections_must_grep_verify_source closed-loop verification. §3 status header updated: "PR #1808 OPEN; Director-cleared to land" (reflects re-review verdict). All 8 of 8 reviewers complete. §10.3 escalation rows updated with Director dispositions: Q-Self-Host-Ratchet-Timeout → CLOSED-by-state. PR #1794 (quick-ferret-413) verified to bump self_host_ratchet timeout-minutes 30 → 60 with explanatory comment matching the failure mode. Single PR merge resolves; PB/Substrate profiling routing not needed. Q-Class-2-Chain-Break → ENGAGE-NOW per Director disposition. Recommend option (a) re-pick gap-test that doesn't depend on T-LBP COMPLETE chain (e.g., narrower function-valued substrate test). If (a) infeasible, then (b) LBP scope-calibration becomes load-bearing. Substrate Mgr surfaces gap-test candidate. Q-Class-6-Substrate-Extension-Lens → HOLD pending Research PM sharper framing — Director needs (i) which proposals are R3-blocking vs nice-to- have; (ii) substrate-author capacity for the 3 carriers; (iii) cross-lane cascade implications. Q-WEDGE-A → REQUEST-CONTEXT per Director disposition. Director lacks visibility on what WEDGE-CORE-CLAIM Part A is. PM provides 1-2 sentence framing + thesis-edit scope before Director engages. Q-Tier4-Inclusion → HOLD pending Brian directive. Tier 4 in-scope vs declared-out is fundamental scope decision (similar shape to v2-retirement- fold-in). Director can recommend; ratification is Brian's call. PM surfaces tradeoffs for Brian review. Q-Lens-Behavioral-Parity-R3-Closeability → HOLD pending Substrate canvas detail. Mgr-tier scope-calibration needs canvas to surface specific blockers + options shape. Once canvas provides detail, Director engages. Net: Plan PR Director-cleared to land per re-review verdict. Standing escalations narrowed to: - 1 ENGAGE-NOW (Q-Class-2-Chain-Break — Substrate Mgr action) - 1 REQUEST-CONTEXT (Q-WEDGE-A — PM action) - 4 HOLD-pending-more-info (Q-Class-6 / Q-Tier4 / Q-LBP / others) Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 50e0c265fc9..fd0df9bb013 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -1,6 +1,6 @@ # R3 Program Plan — 2026-05-06 -**Status:** **PR #1808 OPEN; iterating.** Plan is the live authority for path-to-R3-close. Phase 1 (skeleton + closure criteria + lane status) authored; Phase 2 (per-Mgr escalation absorption) ongoing — 5 of 8 reviewers complete (Verification + Director + Grounding + Substrate + Debt-Paydown); 3 pending (PB / Evaluator / Research PM). Q1–Q7 ratified per Brian directive 2026-05-06; live RED escalations remain in §10.3 (most notably Q-Lens-Behavioral-Parity-R3-Closeability requiring Director scope-calibration). +**Status:** **PR #1808 OPEN; Director-cleared to land** per Director re-review 2026-05-06 at gunbc#828 #issuecomment-4384615320 (6 🔴 critical findings RESOLVED at sha `d93fa019a`). Plan is the live authority for path-to-R3-close. **All 8 of 8 reviewers complete** (Verification + Director + Grounding + Substrate + Debt-Paydown + Evaluator + Research PM + PB). Q1–Q7 ratified per Brian directive 2026-05-06; live RED/HOLD escalations remain in §10.3 with Director dispositions (1 CLOSED, 1 ENGAGE-NOW, 4 HOLD-pending-more-info, 1 REQUEST-CONTEXT). **Merge gates** (distinct from PR-open status — per openai-pro 2026-05-06 finding): - **PR open**: ✓ at sha `d1bfbbe22` @@ -837,14 +837,14 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-EVAL-G0d-Dispatch | E6-G0d constructor runtime execution: authorize evaluator slice for non-Arrow constructor `Callable` using `Value::RecordValue` / `Value::VariantValue` + shared substrate declaration-walk authority | Evaluator Mgr (merry-gull-128) dispatches; Director needed only if shared helper extraction crosses ownership. Brief at `docs/briefs/r3-pr-e6-g0d-constructor-runtime-execution-worker.md` ready. | RATIFIED-by-default — Evaluator Mgr executes (NEW 2026-05-06 from Evaluator Mgr EVAL-1) | | Q-EVAL-Descent-Termination-Contract | E5 `LoopBound::Descent` execution: substrate carrier `descent_execution_proof(&Dag, ClusterId, PortId) -> Result` with `Missing \| Unknown \| Incomplete \| NonStrict` fail-closed residuals | Substrate Mgr authors carrier (quick-koi-190 implementation already authorized through quick-crab); Evaluator consume-side ack; sharp-ibex consumer wiring dispatch. | RATIFIED-by-default — Substrate-side already authorized; Evaluator consume-side dependency (NEW 2026-05-06 from Evaluator Mgr EVAL-2) | | Q-EVAL-Lens-Fold-First-Slice | Overlaps with Q-Pattern-A-First-Slice-Subscope: E6-G1.a static representative vs G1.b generic for first executable lens/report slice | Same recommendation as Q-Pattern-A-First-Slice-Subscope: **G1.a static-representative first**; G1.b generic deferred. | OPEN — same scope-question as Q-Pattern-A-First-Slice-Subscope (NEW 2026-05-06 from Evaluator Mgr EVAL-3) | -| Q-Class-6-Substrate-Extension-Lens | 3 ctrl-side substrate proposals (`SchemaPreservation` per ctrl#370/#407 LLVM TBAA; `ResourceCap` per ctrl#404/#405 Cloudflare; `TotalResult` per ctrl#404/#405) don't fit Classes 1-5; PM-side routing to Substrate Mgr (#1130) committed per ctrl#408 §3 | PER Brian no-post-R3-deferral discipline: include as Class 6 substrate-gap-class with closure-criterion. Add §4.6 "Class 6 — typed-metadata-preservation / extension-lens slice" with representative gap-test per substrate. Alternative: Director ratification of explicit post-R3-ecosystem-by-design scope-cession. | OPEN — Brian / Director scope-calibration (NEW 2026-05-06 from Research PM R-1; substantial scope-determination question — sixth substrate-gap class adds ~1 lane equivalent or scope-cession) | +| Q-Class-6-Substrate-Extension-Lens | 3 ctrl-side substrate proposals (`SchemaPreservation` per ctrl#370/#407 LLVM TBAA; `ResourceCap` per ctrl#404/#405 Cloudflare; `TotalResult` per ctrl#404/#405) don't fit Classes 1-5; PM-side routing to Substrate Mgr (#1130) committed per ctrl#408 §3 | PER Brian no-post-R3-deferral discipline: include as Class 6 substrate-gap-class with closure-criterion. Add §4.6 "Class 6 — typed-metadata-preservation / extension-lens slice" with representative gap-test per substrate. Alternative: Director ratification of explicit post-R3-ecosystem-by-design scope-cession. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: HOLD pending more context** — needs (i) which proposals are R3-blocking vs nice-to-have; (ii) substrate-author capacity for the 3 carriers; (iii) cross-lane cascade implications. PM surfaces from Research PM with sharper framing before Director ratification. | HOLD pending Research PM sharper framing (Director disposition; NEW 2026-05-06 from Research PM R-1) | | Q-Timeline-Risk-Alternates | §6 8-12 week estimate is commitment, not bottoms-up derivation. Missing risk-weighted alternates for: C1-class candidate-gap budget (2-6 weeks/gap) + WEDGE-CORE-CLAIM Part A thesis-edit scope + ~9 demo-gate authoring (1-3 weeks/lane) | Per `feedback_holistic_over_patches`: §9.2 add explicit "+X weeks if {C1-gap surfaces / Tier-4 thesis-edit lands in scope / demo authoring exceeds budget}" branches. R3 close horizon: 2026-08-01 ± 2 weeks PROVISIONAL → range with explicit risk-weighted alternates. | RATIFIED-by-default — PM updates §9.2 with risk-weighted branches in subsequent commit (NEW 2026-05-06 from Research PM R-2) | | Q-Plan-vs-Structure-Drift-Discipline | §3 lane status table holds 19 rows replicating r3-structure.md §"Lane structure" data; drift risk if PM updates one but not the other | Per Research PM R-3 recommendation (a): §3 lane status becomes pointer-with-delta to r3-structure.md §"Lane structure" + delta-only annotations (current dispatch + blocker + ETA). Lane name/Mgr/scope columns NOT restated; r3-structure.md retains architectural-decision authority. | RATIFIED-by-default — PM refactors §3 in subsequent commit OR canonical-ledger-landing absorbs (path-(a) decision pending; NEW 2026-05-06 from Research PM R-3) | -| Q-WEDGE-A | WEDGE-CORE-CLAIM Part A (ctrl#444 merged 2026-05-05): build-orchestration as free consequence — should it be in §1 closure criteria as thesis-edit gate? PM-disentangled framing routes Part A to Director for thesis-clarification edit | Per Brian no-post-R3-deferral + R3-as-consequence-layer-of-thesis: **include as thesis-edit gate** in R3 closure criteria. Scope: Director ratifies thesis-clarification edit; gate fires when r3-structure.md §"R3 closure criteria" reflects Part A formalization. | OPEN — Director ratification of thesis-edit framing (NEW 2026-05-06 from Research PM Y-1) | -| Q-Tier4-Inclusion | Tier 4 ("out of scope, declared" per ctrl#1608 §6d): convergent ctrl-side recommendation across LLVM/K8s/Discord/PyTorch viability research portfolio. PM-side own. Not currently in R3 closure criteria. | PM-recommended: include Tier 4 as **named explicit-out-of-scope declaration** in §1 closure criteria — distinct from Class 6 (which is in-scope substrate extension). Tier 4 = explicit scope-cession; Class 6 = in-scope substrate addition. Director ratification of either inclusion or out-of-scope-by-design needed. | OPEN — Director ratification (NEW 2026-05-06 from Research PM Y-1) | +| Q-WEDGE-A | WEDGE-CORE-CLAIM Part A (ctrl#444 merged 2026-05-05): build-orchestration as free consequence — should it be in §1 closure criteria as thesis-edit gate? PM-disentangled framing routes Part A to Director for thesis-clarification edit | Per Brian no-post-R3-deferral + R3-as-consequence-layer-of-thesis: **include as thesis-edit gate** in R3 closure criteria. Scope: Director ratifies thesis-clarification edit; gate fires when r3-structure.md §"R3 closure criteria" reflects Part A formalization. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: REQUEST CONTEXT** — Director doesn't have visibility on what WEDGE-CORE-CLAIM Part A is. PM provides 1-2 sentence framing + thesis-edit scope before Director engages. | REQUEST-CONTEXT — PM provides framing for Director (Director disposition; NEW 2026-05-06 from Research PM Y-1) | +| Q-Tier4-Inclusion | Tier 4 ("out of scope, declared" per ctrl#1608 §6d): convergent ctrl-side recommendation across LLVM/K8s/Discord/PyTorch viability research portfolio. PM-side own. Not currently in R3 closure criteria. | PM-recommended: include Tier 4 as **named explicit-out-of-scope declaration** in §1 closure criteria — distinct from Class 6 (which is in-scope substrate extension). Tier 4 = explicit scope-cession; Class 6 = in-scope substrate addition. Director ratification of either inclusion or out-of-scope-by-design needed. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: HOLD pending Brian directive** — Tier 4 in-scope vs declared-out is fundamental scope decision (similar shape to v2-retirement-fold-in question Brian ratified). Director can recommend; ratification is Brian's call. PM surfaces tradeoffs (timeline impact, work scope) for Brian review. | HOLD pending Brian directive (Director disposition; NEW 2026-05-06 from Research PM Y-1) | | Q-Lens-Self-Application-Stronger-Demo | Current `lens_self_application_demonstrated` cashes "lens applies to CI workflow" only. Stronger: CI workflow includes TestClaim → fails → gunbc emission refuses. Demonstrates 4 gates simultaneously (Self-App + Workflow-As-Data + Tests-As-Data + integration_testgen) + WEDGE-CORE-CLAIM Part B opportunistically | Per Brian recursive-flex framing ("the compiler that compiles gunbc programs validates the workflow that produces gunbc itself"): current demo cashes first half; stronger shape cashes the full sentence by tying lens output to emission gate. Verification Mgr's audit packet (per gunbc#1276) targets four-fold demo overlap. | RATIFIED-by-default — Verification Mgr authors stronger demo shape; updates §1.6 audit row + canonical ledger when authored (NEW 2026-05-06 from Research PM Y-2) | | Q-Director-PM-Redundancy | 30-min Director loop + weekly PM compile have no fallback authority for unavailability stretches (>2 days). Specific failure modes: Director unavailable → 30-min loop drops; PM unavailable → §3 drifts; both unavailable → §8.2 escalation paths have no fallback | PM-recommended: §8.3 add Director-deputy mechanism (Substrate Mgr + Verification Mgr cross-Mgr coverage if Director unavailable >2 days; explicit slip-acceptance otherwise); §9.1 add PM-deputy mechanism (R3 Debt-Paydown Mgr covers §3 lane-status compilation if PM unavailable). | OPEN — Director / Brian ratification of fallback authority + slip-acceptance discipline (NEW 2026-05-06 from Research PM Y-4) | -| Q-Class-2-Chain-Break | Class 2 (function-valued data) prereq chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED) does NOT terminate at GREEN within finite chain. Per Refinement 3 YELLOW chain rule, Class 2's YELLOW status is **invalid** — must be RED until prereq chain resolves. Either re-pick gap-test OR escalate LBP scope-calibration. | Two resolution paths: **(a)** re-pick Class 2 gap-test to one traceable to GREEN (representative `Lens` consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE); **(b)** escalate Q-Lens-Behavioral-Parity-R3-Closeability — if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset. PM-recommended path: (a) — re-pick gap-test if Substrate Mgr can identify a function-valued substrate test that doesn't require LBP COMPLETE; otherwise (b). | OPEN — Substrate Mgr + Director scope-calibration (NEW 2026-05-06 from Substrate Mgr R2 + Refinement 3 YELLOW chain rule cycle-detection; structural chain-break per `docs/audit/r3-debt-sweep-2026-05-06.md` §3) | +| Q-Class-2-Chain-Break | Class 2 (function-valued data) prereq chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED) does NOT terminate at GREEN within finite chain. Per Refinement 3 YELLOW chain rule, Class 2's YELLOW status is **invalid** — must be RED until prereq chain resolves. Either re-pick gap-test OR escalate LBP scope-calibration. | Two resolution paths: **(a)** re-pick Class 2 gap-test to one traceable to GREEN (representative `Lens` consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE); **(b)** escalate Q-Lens-Behavioral-Parity-R3-Closeability — if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: ENGAGE NOW; recommend option (a) re-pick gap-test that doesn't depend on T-LBP COMPLETE chain (e.g., narrower function-valued substrate test). If (a) structurally infeasible, then (b) LBP scope-calibration becomes load-bearing.** Substrate Mgr surfaces gap-test candidate. | ENGAGE-NOW — Substrate Mgr surface gap-test candidate per Director disposition (NEW 2026-05-06 from Substrate Mgr R2 + Refinement 3 + Director disposition) | | Q-V2-Retirement-Boundary-Matrix | Q3 "PB owns all v2 retirement" too coarse — Grounding §10.2.2 items (emit shim G6 / Coercion-Fold scratch G7 / LanguageSpec consumer surfaces) are v2-shaped but not obviously PB-only. Per PB Mgr poke-hole 2026-05-06 F4: explicit split matrix (PB vs Grounding vs Debt-Paydown) needed for v2-using emit surfaces so Q3 doesn't silently absorb non-PB work. | PM-recommended split: **PB owns** v2 directory deletion + v2 test-consumer retirement + bootstrap PB-Runtime trampoline; **Grounding owns** emit-shim retirement (consumes T-V2-Retirement milestones per G6) + Coercion-Fold scratch retirement (post-LanguageSpec projection per G7); **Debt-Paydown owns** v2-related drift items (post-retirement ledger reconciliation). Matrix authored by PM as plan §11 supplement OR Q3 row narrowed in §10.1 explicitly. | OPEN — Director ratification of split matrix (NEW 2026-05-06 from PB Mgr F4) | | Q-Bridge-Retirement-Sequencing-Authority | §2.3 says "`include_str!` retires post-T-FixedPoint" — new ordering detail vs r3-structure.md §"Lane structure" → T-Bridge-Retirement row distribution map (lists 5 bridges, not total order). Per PB Mgr F5: looks like second authority for sequencing. | Move sequencing detail to r3-structure.md as symbol-anchor addition to §"Lane structure" → T-Bridge-Retirement row (single authority for both 5-bridge distribution + retirement sequencing); §2.3 cross-links instead. PM updates in subsequent commit per PB Mgr recommendation. | RATIFIED-by-default — PM moves sequencing to r3-structure.md authoritative row in subsequent commit (NEW 2026-05-06 from PB Mgr F5) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | @@ -864,7 +864,7 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-Slice-C-Retirement-Receipt | Slice C → :425 retirement receipt: Mgr-tier vs worker authoring; single combined vs per-slice | Mgr-tier authoring; single combined receipt covering Slice A+B+C (Brian-style condensation per `feedback_brief_pr_cadence`). | RATIFIED-by-default (Substrate Mgr C3) | | Q-Substrate-Grounding-DAG-Routing | Slice C residual `.dag` files overlap Grounding scope (`docs/parallelism-design.md` etc.) — routing | Substrate Mgr owns Slice C residual entirely; cross-Mgr coord with bold-ferret-748 for Grounding-impacting `.dag` content via comment-thread review (no separate Grounding dispatch). | RATIFIED-by-default (Substrate Mgr C4) | | Q-Substrate-Cadence-Throughput | 10 wait-window briefs in PR #1782 + 6+ substrate carrier dispatches form serialized queue; rate-limits R3 close | Authorize parallel-dispatch where lanes have no shared prerequisite (T-E-P + L6 + Numeric-Construction parallel; X1.b sequenced post-E6-G0c; coproduct paydowns sequenced post-variant-aware carrier). PM tracks cadence in §9 weekly cadence; lane-owning Mgr packages PR-sized specs. | RATIFIED-by-default (Substrate Mgr E1+E2) | -| Q-Lens-Behavioral-Parity-R3-Closeability | **RED**: T-Lens-Behavioral-Parity (PROXY → BEHAVIORALLY COMPLETE for 4 lenses) is L-XL sized + 4 sub-slices per lens + foundational-dependency on T-E-P-Producer-Broadening. Substrate Mgr honest assessment: may not close cleanly in R3 timeline. | Per Brian no-post-R3-deferral: T-LBP MUST close in R3 OR escalate as substrate-gap requiring named R3 lane. RED escalation needs Director / Brian scope calibration: (a) accept T-LBP scope as-is + extend R3 close horizon if needed; (b) reframe T-LBP scope (e.g., 1-2 lenses BEHAVIORALLY COMPLETE for R3 close, others post-R3 with substrate-gap routing); (c) escalate as substrate-gap requiring named R3 lane subdivision. | **OPEN — RED — Director / Brian scope calibration urgent** (Substrate Mgr E3; load-bearing scope-question for R3 close horizon) | +| Q-Lens-Behavioral-Parity-R3-Closeability | **RED**: T-Lens-Behavioral-Parity (PROXY → BEHAVIORALLY COMPLETE for 4 lenses) is L-XL sized + 4 sub-slices per lens + foundational-dependency on T-E-P-Producer-Broadening. Substrate Mgr honest assessment: may not close cleanly in R3 timeline. | Per Brian no-post-R3-deferral: T-LBP MUST close in R3 OR escalate as substrate-gap requiring named R3 lane. RED escalation needs Director / Brian scope calibration: (a) accept T-LBP scope as-is + extend R3 close horizon if needed; (b) reframe T-LBP scope (e.g., 1-2 lenses BEHAVIORALLY COMPLETE for R3 close, others post-R3 with substrate-gap routing); (c) escalate as substrate-gap requiring named R3 lane subdivision. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: HOLD pending Substrate canvas response** — Mgr-tier scope-calibration needs Substrate canvas to surface specific blockers + options shape. Once Substrate Mgr provides canvas detail, Director engages. | HOLD pending Substrate canvas detail (Director disposition; Substrate Mgr E3; load-bearing scope-question for R3 close horizon) | --- From 0858341941fd5e077da87e3c60640ce43f1f7078 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:32:07 +0000 Subject: [PATCH 34/36] docs(r3): add Q-Self-Host-Ratchet-Timeout escalation row + Director CLOSED-by-state disposition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: Q-Self-Host-Ratchet-Timeout was surfaced in chat to Brian but never formally added to §10.3 escalation register. Director correctly identified PR #1794 (quick-ferret-413) bumps self_host_ratchet timeout-minutes 30 → 60 with explanatory comment matching the failure mode; single-PR-merge resolves. Adding the row for audit-trail completeness with CLOSED-by-state status recording the Director-disposition path. Underlying perf-regression investigation (per project_perf_investigation memory) remains as continuous-improvement work post-#1794-merge but is NOT blocking R3 close. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index fd0df9bb013..58cbec16aef 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -847,6 +847,7 @@ Substrate canvas + plan-poke-hole both folded in. Key absorptions: | Q-Class-2-Chain-Break | Class 2 (function-valued data) prereq chain (T-Lens-Application-Surface ← T-Lens-Behavioral-Parity ← E3 RED) does NOT terminate at GREEN within finite chain. Per Refinement 3 YELLOW chain rule, Class 2's YELLOW status is **invalid** — must be RED until prereq chain resolves. Either re-pick gap-test OR escalate LBP scope-calibration. | Two resolution paths: **(a)** re-pick Class 2 gap-test to one traceable to GREEN (representative `Lens` consuming post-T-E-P-Producer-Broadening substrate without requiring LBP COMPLETE); **(b)** escalate Q-Lens-Behavioral-Parity-R3-Closeability — if LBP option (b) reframes to 1-2 lenses for R3, Class 2 gap-test must be expressible through in-R3-scope subset. **Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: ENGAGE NOW; recommend option (a) re-pick gap-test that doesn't depend on T-LBP COMPLETE chain (e.g., narrower function-valued substrate test). If (a) structurally infeasible, then (b) LBP scope-calibration becomes load-bearing.** Substrate Mgr surfaces gap-test candidate. | ENGAGE-NOW — Substrate Mgr surface gap-test candidate per Director disposition (NEW 2026-05-06 from Substrate Mgr R2 + Refinement 3 + Director disposition) | | Q-V2-Retirement-Boundary-Matrix | Q3 "PB owns all v2 retirement" too coarse — Grounding §10.2.2 items (emit shim G6 / Coercion-Fold scratch G7 / LanguageSpec consumer surfaces) are v2-shaped but not obviously PB-only. Per PB Mgr poke-hole 2026-05-06 F4: explicit split matrix (PB vs Grounding vs Debt-Paydown) needed for v2-using emit surfaces so Q3 doesn't silently absorb non-PB work. | PM-recommended split: **PB owns** v2 directory deletion + v2 test-consumer retirement + bootstrap PB-Runtime trampoline; **Grounding owns** emit-shim retirement (consumes T-V2-Retirement milestones per G6) + Coercion-Fold scratch retirement (post-LanguageSpec projection per G7); **Debt-Paydown owns** v2-related drift items (post-retirement ledger reconciliation). Matrix authored by PM as plan §11 supplement OR Q3 row narrowed in §10.1 explicitly. | OPEN — Director ratification of split matrix (NEW 2026-05-06 from PB Mgr F4) | | Q-Bridge-Retirement-Sequencing-Authority | §2.3 says "`include_str!` retires post-T-FixedPoint" — new ordering detail vs r3-structure.md §"Lane structure" → T-Bridge-Retirement row distribution map (lists 5 bridges, not total order). Per PB Mgr F5: looks like second authority for sequencing. | Move sequencing detail to r3-structure.md as symbol-anchor addition to §"Lane structure" → T-Bridge-Retirement row (single authority for both 5-bridge distribution + retirement sequencing); §2.3 cross-links instead. PM updates in subsequent commit per PB Mgr recommendation. | RATIFIED-by-default — PM moves sequencing to r3-structure.md authoritative row in subsequent commit (NEW 2026-05-06 from PB Mgr F5) | +| Q-Self-Host-Ratchet-Timeout | CI `self_host_ratchet` job hits 30m timeout consistently across all recent PRs since ~2026-05-05T22:16Z. Job is `continue-on-error: true` (doesn't block merge) but signals real perf concern. | **CLOSED-by-state** per Director disposition 2026-05-06 at gunbc#828 #issuecomment-4384615320: PR #1794 (quick-ferret-413) bumps `timeout-minutes: 30 → 60` with explanatory comment; verified at HEAD. Single PR merge resolves; PB/Substrate profiling routing not needed for this iteration. Underlying perf-regression investigation (per `project_perf_investigation` memory) remains as continuous-improvement work post-#1794-merge. | CLOSED-by-state (Director disposition; PR #1794 merge resolves) | | Q-Anthropic-Variant-Aware | Variant-aware typed REST response projection carrier shape | Defer #1702 re-dispatch until Substrate authors variant-aware projection metadata carrier; #1702 branch preserved | RATIFIED-by-default | | Q-Emit-Shim-Handoff | Grounding direct execution vs PB/Substrate/v2-retirement consumption for `emit/rust_target.rs` family | Grounding consumes PB/v2-retirement milestones; no Grounding direct execution on these files | RATIFIED-by-default | | Q-Coercion-Fold-Scratch | Lane placement for `ScratchIntExamples` retirement | Grounding owns close after LanguageSpec projection executable | RATIFIED-by-default | From 9f0dfaffa72f6fad8978f75d2ac0673d14916ebb Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:34:32 +0000 Subject: [PATCH 35/36] =?UTF-8?q?docs(r3):=20absorb=20openai-pro=203=20fin?= =?UTF-8?q?dings=20=E2=80=94=20live-state=20currency=20+=20v2-oracle=20con?= =?UTF-8?q?flict=20+=20authority-scope=20downgrade?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro REQUEST_CHANGES on PR #1808 sha d93fa019 at PR #1808 #issuecomment-4384664326. 3 findings; all valid at HEAD. F1 (P2 / P1 stale completion counts): §9.2 line 596 said "incomplete pending 4 canvas responses (Substrate / Evaluator / PB / Debt-Paydown)" but all 4 absorbed at HEAD. Stale state in live authority creates contradictory escalation-tracking. Plan §3 status header was updated (8 of 8 complete) but §9.2 wasn't synced. Fix: §9.2 reframed — "All 8 of 8 reviewers complete; estimate not blocked on canvas-pending state. Re-estimate as standing escalations resolve (Q-Lens-Behavioral-Parity-R3-Closeability scope-calibration is the highest-leverage timeline driver) + Q-Timeline-Risk-Alternates branches land." F2 (v2 retirement gate conflict with parity demo): plan + r3-structure.md both said `lens_behavioral_parity_demonstration` "matches v2 oracle" — but `v2_oracle_no_remaining_test_consumers` gate forbids live v2 oracle consumers. Two contradictory gates in same close set. Fix: both sites now say "matches **frozen v2-oracle cementing-test snapshot**" — snapshot captured pre-v2-retirement; demo at R3 close consumes frozen receipt, NOT live v2 oracle. Per r3-structure.md T-Lens-Behavioral-Parity row "cementing test against v2 oracle on same source." Preserves `v2_oracle_no_remaining_test_consumers` gate. F3 (bridge-inventory authority before populated): §"Authority hierarchy" said audit doc "Authoritative for what bridges exist now" but audit doc Class A-G sections still carry [Mgr canvas populates rows] placeholders. Authority claim too strong for unpopulated state. Fix: §"Authority hierarchy" downgraded to "framework discipline only" — §1 schema + §3 rubric + §3.A grandfathering + §4 anticipation discipline ARE landed and authoritative. NOT yet authoritative for per-row inventory until Phase 3 compile populates rows from PR #1804 comment-thread Phase 2 deliverables. Two-tier authority (framework vs per-row inventory) made explicit. These 3 findings represent the same class openai-pro has been catching: cross-doc / within-doc consistency drift after rapid absorption rounds. Each absorption round fixes specific instances; openai-pro fresh-eyes catches remaining propagation gaps + over-strong authority claims. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 6 +++--- docs/r3-structure.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 58cbec16aef..32c43e4312a 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -11,7 +11,7 @@ **Authority hierarchy** (all three docs land in this PR — single coordinated authority drop): - [`docs/r3-structure.md`](r3-structure.md) — **architectural-decision archive**. Lane definitions, manager structure, design-challenges resolution, dependency-on-R2 spec. Authoritative for *what R3 is*. Updated in this PR to absorb new closure gates. -- [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) — **bridge inventory snapshot framework** (PM-authored Phase 1 framework; codex APPROVE on prior sha `860e175d`; Phase 2-3 inventory populates as Mgr canvases compile via PR comments). Authoritative for *what bridges exist now*. Consolidated into this PR per Grounding Mgr poke-hole 2026-05-06 finding 1 + codex BLOCKING on PR #1808 sha `0719d7a6` line 9 (eliminates cross-PR dependency on prior PR #1804 — superseded). +- [`docs/audit/r3-debt-sweep-2026-05-06.md`](audit/r3-debt-sweep-2026-05-06.md) — **bridge inventory framework** (PM-authored Phase 1; codex APPROVE on prior sha `860e175d`). **Authority scope**: framework discipline only — §1 schema + §3 GREEN/YELLOW/RED rubric + §3.A STRUCTURAL grandfathering + §4 anticipation discipline ARE landed and authoritative. **NOT yet authoritative for per-row inventory**: Class A/B/C/D/E/F/G sections carry `[Mgr canvas populates rows]` placeholders (per openai-pro 2026-05-06 finding 6 — authority claim downgraded to framework-only until Phase 3 compile populates rows from PR #1804 comment-thread Phase 2 deliverables). Consolidated into this PR per Grounding Mgr poke-hole 2026-05-06 finding 1 + codex BLOCKING on PR #1808 sha `0719d7a6` line 9 (eliminates cross-PR dependency on prior PR #1804 — superseded). - **THIS DOC** — **forward-looking dependency-graph + escalation register**. Authoritative for *path from here to R3 close + open ratifications*. Cross-link discipline: this plan never restates lane definitions from `r3-structure.md`; cites them by section/symbol per `feedback_section_anchors_over_line_numbers`. @@ -161,7 +161,7 @@ Mgrs author per-gate spec citing the (a)/(b)/(c) satisfaction; closure-ledger en | T-V2-Retirement | deletion gates (state-check) | + `v3_self_host_demonstration` — bootstrap path through PB-Runtime trampoline executes end-to-end; v3-only self-host pipeline runs without v2 fallback (Director poke-hole 2026-05-06 finding 4.1: reframed from `v2_retirement_demonstration` "deletion's inverse" to direct positive-statement form) | | T-Free-Consequences-Demonstration | 10 demo gates ✓ | (existing — full demo suite) | | T-E-P-Producer-Broadening | substrate-shape gates | + `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime | -| T-Lens-Behavioral-Parity | parity-complete gates | + `lens_behavioral_parity_demonstration` — each lens (complexity/cost/parallelism/effect_enumeration) demonstrates on representative input + matches v2 oracle | +| T-Lens-Behavioral-Parity | parity-complete gates | + `lens_behavioral_parity_demonstration` — each lens (complexity/cost/parallelism/effect_enumeration) demonstrates on representative input + matches **frozen v2-oracle cementing-test snapshot** (per `r3-structure.md` §"Lane structure" → T-Lens-Behavioral-Parity row "cementing test against v2 oracle on same source"). Snapshot is captured pre-v2-retirement; demo at R3 close consumes the frozen receipt, NOT a live v2 oracle — preserves `v2_oracle_no_remaining_test_consumers` gate (per openai-pro 2026-05-06 finding 5 — v2-oracle conflict resolved) | | T-Tests-As-Data-Completeness | substrate-shape gates | + `tests_as_data_demonstration` — at least one Rust test ports to .dag TestClaim and executes | | T-Lens-Application-Surface | 4 worked-example demos ✓ | (existing) | | T-Workflow-As-Data | `ci_workflow_modeled_as_dag` ✓ | (existing) | @@ -593,7 +593,7 @@ Per `feedback_director_30min_cadence`: every 30 min — merge mergeable + accoun **Week of 2026-06-10–2026-06-17**: T-V2-Retirement parser path begins; substrate-gap-class 1 close target. **Week of 2026-06-24–2026-07-01**: T-Workflow-As-Data executes; substrate-gap-classes 3+4 close. **Week of 2026-07-08–2026-07-15**: T-Lens-Self-Application demo; recursive-flex demonstration cashes. -**Target R3 close**: 2026-08-01 ± 2 weeks. **PROVISIONAL** (per Director poke-hole 2026-05-06 finding 6.4) — estimate based on Mgr-canvas inputs landing per §3, which is incomplete pending 4 canvas responses (Substrate / Evaluator / PB / Debt-Paydown). Re-estimate after canvas compile completes; confidence interval may widen. +**Target R3 close**: 2026-08-01 ± 2 weeks. **PROVISIONAL** (per Director poke-hole 2026-05-06 finding 6.4 + Research PM R-2 risk-weighted alternates pending). All 8 of 8 reviewers complete (per §3 status header — updated 2026-05-06 sha `ddfc3f84c`); estimate not blocked on canvas-pending state. Re-estimate as standing escalations resolve (Q-Lens-Behavioral-Parity-R3-Closeability scope-calibration is the highest-leverage timeline driver) + Q-Timeline-Risk-Alternates risk-weighted branches land per Research PM R-2 (separate commit). Confidence interval may widen with C1-class candidate-gap surfacing or thesis-edit scope expansion. (Refinement after Q1–Q7 ratification + canvas compile.) diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 1f6d24bd369..6a22d50cc80 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -156,7 +156,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `cost_lens_demonstration` — cost lens reads representative target program and composes algebra+realization cost end-to-end - `v3_self_host_demonstration` — bootstrap path through PB-Runtime trampoline executes end-to-end; v3-only self-host pipeline runs without v2 fallback (per `docs/r3-program-plan.md` §1.6 + Director poke-hole 2026-05-06 finding 4.1 + openai-pro 2026-05-06 finding 4 — gate name aligned across both docs; reframed from prior `v2_retirement_demonstration` to direct positive-statement form) - `e_p_producer_demonstration` — representative call site produces full descent evidence at runtime - - `lens_behavioral_parity_demonstration` — each lens (complexity / cost / parallelism / effect_enumeration) demonstrates on representative input + matches v2 oracle + - `lens_behavioral_parity_demonstration` — each lens (complexity / cost / parallelism / effect_enumeration) demonstrates on representative input + matches **frozen v2-oracle cementing-test snapshot** (snapshot captured pre-v2-retirement; demo at R3 close consumes the frozen receipt, NOT a live v2 oracle — preserves `v2_oracle_no_remaining_test_consumers` gate per openai-pro 2026-05-06 finding 5 — v2-oracle conflict resolved) - `tests_as_data_demonstration` — at least one Rust test ports to `.dag` TestClaim and executes via Evaluator - **PR-authoring-discipline gate** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846) Director poke-hole finding 3.2; per [`docs/r3-program-plan.md`](r3-program-plan.md) §7). - `pr_anticipation_discipline_ci_active` — CI is verifiably enforcing the §7 PR-authoring contract (per-PR debt-receipt + ratchet-only-down + anticipation discipline); fires when `scripts/check-pr-sg0-net-shrink-discipline.sh` is in CI workflow + self-test passes. R3 Debt-Paydown owner. From b5de40c464080c03d6b8d04a00cef37f1937b4d1 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Wed, 6 May 2026 02:39:23 +0000 Subject: [PATCH 36/36] =?UTF-8?q?docs(r3):=20absorb=20openai-pro=20F1=20+?= =?UTF-8?q?=20F2=20=E2=80=94=20gate=20name=20alignment=20+=20duplicate=20s?= =?UTF-8?q?tale=20=C2=A710.2.5=20removal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per openai-pro REQUEST_CHANGES on PR #1808 sha 98eba595 at PR #1808 #issuecomment-4384675831. 3 findings; 2 valid + 1 invalid. F1 VALID (lens_producer gate name conflict): plan §1.6 line 152 uses `lens_producer_retirement_executable_witness` (post-PB Mgr F3 reframe); r3-structure.md line 152 still said `lens_producer_retirement_demonstration` (old). PB Mgr F3 reframe propagated to plan but not to canonical archive. Fix: r3-structure.md gate body updated to use `lens_producer_retirement_ executable_witness` matching plan §1.6 + appended explanatory framing ("execution-ready witness DEFERRED to Row-4 receipts; near-term demo = retirement state-check; demonstration status re-promotes when Row-4 + Item 4 receipts exist"). Single-authority restored. F2 PARTIALLY VALID at HEAD: §3 status header was already updated to "All 8 of 8 reviewers complete" at sha ddfc3f84c; that part of F2 is resolved. But stale duplicate §10.2.5 heading remained at line 774 ("R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z)") alongside the actual §10.2.5 absorption at line 795. Duplicate generated anchors per §7.4 anchor-discipline. Fix: stale §10.2.5 heading at line 774 removed; §10.2.5 PB Mgr appears once at line 795 with full review absorption. F3 INVALID (count math): openai-pro claimed addends "4+4+6+1+1+8+4+2+6+ 4+2+10+4+3 = 56" — math error. Verified via `python3 -c "print(4+4+6+1+ 1+8+4+2+6+4+2+10+4+3)"` returns 59. The published 59-lane-gate count is correct. No fix needed; reply on PR explaining math. Pattern: openai-pro continues to be reliable consistency-checker for cross- doc + within-doc drift. F1 + F2 are exact propagation gaps that other reviewers missed. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-program-plan.md | 2 -- docs/r3-structure.md | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/r3-program-plan.md b/docs/r3-program-plan.md index 32c43e4312a..4d4913968f4 100644 --- a/docs/r3-program-plan.md +++ b/docs/r3-program-plan.md @@ -771,8 +771,6 @@ Substantive review surfaces R3 Evaluator continuation work that plan was treatin - **EVAL-2. E5 `LoopBound::Descent` blocked on substrate termination contract** — `eval_loop` fails closed with `LoopBoundDescentResidual`; sharp-ibex #1799 STOP/audit; quick-koi substrate impl authorized. Substrate must land `descent_execution_proof(&Dag, ClusterId, PortId) -> Result` with `Missing | Unknown | Incomplete | NonStrict` fail-closed residuals; evaluator consumes proof token only. Required for TC3 + any lens fold traversing Descent loops. → **Q-EVAL-Descent-Termination-Contract** in §10.3. - **EVAL-3. E6-G1.a static lens fold is next executable lens/report slice (NOT generic fold_lens)** — Decision needed: Pattern A first executable uses single static top-level `data ... : Lens` representative (G1.a) OR closure requires generic dispatch (G1.b). The TC1 cascading requirement chains here — F1 surfaces this as scope-question. → **Q-EVAL-Lens-Fold-First-Slice** in §10.3 (overlaps with Q-PAFS). -#### §10.2.5 R3 PB Mgr — pending canvas response (as-of 2026-05-06T00:30Z) - #### §10.2.7 Research PM (loyal-swift-270, gunb-ai/ctrl#339) — full canvas absorbed 2026-05-06T02:00Z Substantive cross-program review surfacing ctrl-side coupling concerns + structural taxonomy + timeline risk. 3 RED + 4 YELLOW + 4 GREEN. diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 6a22d50cc80..4b93b347c9e 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -149,7 +149,7 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `substrate_gap_reflection_closure_closed` — `lens_apply.rs` reflection routes via PB-Runtime interpreter-as-data; reflection-as-data substrate exercised end-to-end. Closes via T-LensProducer-Retirement - **Demonstration principle** (NEW 2026-05-06; per Brian directive at [gunbc#846](https://github.com/gunb-ai/gunbc/issues/846): *"any feature we make should come with a demonstration"*; generalizes T-Free-Consequences-Demonstration framing to all R3 lanes; per [`docs/r3-program-plan.md`](r3-program-plan.md) §1.6). Each R3 lane MUST include at least one runtime-executable demonstration gate (a claim that exercises the lane's deliverable end-to-end, not just static-fact assertions about substrate shape). Existing demonstration-shaped gates (e.g., `pb_self_compile_fixed_point`, `omni_openapi_backend_emission_demo`, T-Free-Consequences-Demonstration's 10 gates, `lens_self_application_demonstrated`) satisfy this where present. New demonstration gates added per per-lane audit: - `tier3_dissolution_demonstration_executes` — at least one Tier3-mirror-consumer `.dag` program runs end-to-end via Evaluator - - `lens_producer_retirement_demonstration` — `lens_apply` reflection routes via PB-Runtime on representative lens program + - `lens_producer_retirement_executable_witness` (per PB Mgr poke-hole 2026-05-06 F3 + openai-pro 2026-05-06 finding 1 — gate name aligned across r3-structure.md + plan §1.6) — `lens_apply` reflection routes via PB-Runtime on representative lens program; **execution-ready witness DEFERRED** to Row-4 equivalence receipt landing per `docs/design-pb-runtime-interpreter.md` §5.1 + convergence matrix; near-term demo = retirement state-check + doc receipts; "demonstration" status re-promotes when Row-4 + Item 4 receipts exist - `numeric_construction_demonstration` — end-to-end program using `Int<32>` + `Real<64>` round-trip executes - `anthropic_wire_demonstration` — full request/response cycle executes against **deterministic mock** (per `docs/r3-program-plan.md` §1.6 + Director poke-hole 2026-05-06 finding 4.3 + openai-pro 2026-05-06 finding 3 — hermetic-first per TESTING.md; live-API testing tracked separately as CI cadence concern, NOT a closure gate) - `bridge_retirement_demonstration` — at least one retired-bridge replacement path executes (e.g., typed-identity-surface used in production code)