From 22701977bdcc64d60a76d745823eace7ff16466d Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 16:51:44 -0400 Subject: [PATCH 1/6] WIP: Gunbc PM --- docs/r3-structure.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/r3-structure.md b/docs/r3-structure.md index aa3fde09042..7361c1063b9 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -20,7 +20,7 @@ The R2 vs R3 boundary is therefore: **does this work need new substrate / new ru ## Summary -R3 has **16 lanes + 1 standing program** (revised 2026-04-28 per Director review of #1078; T-CostLens-Composition added 2026-04-28 per user direction folding cost-lens-over-emission into R3; **expanded to 12 lanes 2026-04-30 per user directive "nothing can be deferred past R3" — added T-V2-Retirement + T-Free-Consequences-Demonstration**; **expanded to 16 lanes + 1 standing program 2026-05-02 per user directive that all "accidentally deferred" gaps absorb into R3 — added 4 new lanes (T-E-P-Producer-Broadening, T-Lens-Behavioral-Parity, T-Tests-As-Data-Completeness, T-Lens-Application-Surface) + 1 standing R3 Debt-Paydown program; T-Behavioral-Expectations-Documentation is parallel-dispatchable across existing lanes, not a separate lane (see §"Behavioral Expectations Documentation"); per Director ratification 2026-05-02 at [gunbc#828 comment 4362742638](https://github.com/gunb-ai/gunbc/issues/828#issuecomment-4362742638)**), each closing a specific thesis claim or claim-cluster: +R3 has **18 lanes + 1 standing program** (revised 2026-04-28 per Director review of #1078; T-CostLens-Composition added 2026-04-28 per user direction folding cost-lens-over-emission into R3; **expanded to 12 lanes 2026-04-30 per user directive "nothing can be deferred past R3" — added T-V2-Retirement + T-Free-Consequences-Demonstration**; **expanded to 16 lanes + 1 standing program 2026-05-02 per user directive that all "accidentally deferred" gaps absorb into R3 — added 4 new lanes (T-E-P-Producer-Broadening, T-Lens-Behavioral-Parity, T-Tests-As-Data-Completeness, T-Lens-Application-Surface) + 1 standing R3 Debt-Paydown program; T-Behavioral-Expectations-Documentation is parallel-dispatchable across existing lanes, not a separate lane (see §"Behavioral Expectations Documentation"); per Director ratification 2026-05-02 at [gunbc#828 comment 4362742638](https://github.com/gunb-ai/gunbc/issues/828#issuecomment-4362742638)**; **expanded to 18 lanes + 1 standing program 2026-05-04 per Brian directive committing recursive-flex / self-application case to R3 (gunbc applies own lenses to own build/CI workflow) — added 2 new lanes (T-Workflow-As-Data, T-Lens-Self-Application); per Director ratification 2026-05-04 at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828)**), each closing a specific thesis claim or claim-cluster: 1. **T-Tier3-Dissolution** — retire the four hand-Rust mirrors of `.dag` types (termination, computation, induction, effect-carrier) by consuming the Evaluator 2. **T-LensProducer-Retirement** — retire `lens_apply.rs`, `lens_testgen.rs`, `regen_lens.rs` (the program-sized hand-Rust files) via PB-Runtime interpreter-as-data + PB-1 generated bin-shim emit pattern. **Scope expanded 2026-05-02**: includes ownership analysis cases d/e/f (closures + async + Pin) confirmed delivered before R3 close (not separately deferred). @@ -38,6 +38,8 @@ R3 has **16 lanes + 1 standing program** (revised 2026-04-28 per Director review 14. **T-Lens-Behavioral-Parity (NEW 2026-05-02)** — bring complexity / cost / parallelism / effect_enumeration lenses from PROXY/STUB/PARTIAL to BEHAVIORALLY COMPLETE per `docs/v3-lens-capability-register.md`. Lens consumers read per-call substrate facts (gated on T-E-P-Producer-Broadening). Includes: symbolic CostExpr full algebra (Sum/Mul/Log/Const) consumed by lens; work/span dimension split for complexity; asymptotic classification; cementing test against v2 oracle on same source; Stage 2e parallelism walk port from Rust to `.dag`; resource-threading migration for effect_enumeration. Substrate + Verification cross-program; L-XL sized. **Closure gate**: `lens_capability_register_zero_proxy_zero_stub` — register status updated to ZERO PROXY / ZERO STUB at R3 close. 15. **T-Tests-As-Data-Completeness (NEW 2026-05-02)** — close Category E test/verification surface gaps per user directive: every Rust test ports to `.dag` TestClaim or generated target-language test code (thesis facet 3); property-based testing surface (`ForAll` / `Exists` quantifiers + `ProgramGenerator` substrate carrier); cementing test discipline for `.dag` lenses. Verification Mgr; L sized. **Closure gates**: `every_rust_test_ports_to_dag_or_generated`, `forall_exists_quantifier_substrate_landed`, `program_generator_carrier_landed`. 16. **T-Lens-Application-Surface (NEW 2026-05-02; design doc landed 2026-05-02 [`docs/design-lens-application-surface.md`](design-lens-application-surface.md))** — first-class authoring surface for applying lenses to arbitrary `.dag` sections (function / module / expression / declaration scope). Per user reframe: lens application is a `.dag` declaration with configurable behavior — `apply_lens(lens, section, config)`. **Subsumes** prior T-Complexity-Contract-Compile-Error + T-User-Authored-Cost-Basis-Discipline as configurations of one mechanism. Substrate carriers (per design doc §2): **two separate top-level carriers** — `EnforcedApplication` (lens, enforcement, section, budget, severity, span) and `IntrospectApplication` (lens, section, span; no Budget axis). NOT a sum wrapping the two — v3 `.dag` substrate cannot currently express per-variant generic parameters; "SectionedLensApplication" is a collective noun for both carriers, not a sum-type declaration. Plus `SectionRef` (DeclarationScope/NodeScope disjoint sum) + `LensEnforcement` projection carrier (per-lens, e.g., complexity → AsymptoticClass projection) + `DiagnosticSeverity`. `CompileError | Warning | Silent` original user framing resolved to fail-closed-compatible binary per design doc §3 + INVARIANTS C-8. Demonstrations: complexity-contract-compile-error + CRDT cost basis + memory-peak cost basis + opt-in cross-iteration parallelism (4 worked examples; orthogonal axes per Director ratification). **Default policy for complexity contracts**: user-driven (per design doc §3.2 + §8.3 resolution at e9d67113e). Unannotated functions get synthesized `Introspect`-only applications — no implicit baseline, no inferred Enforce. Enforcement requires explicit user authoring of `apply_lens(complexity, fn, Enforce { ... })`. The original "opt-out" framing is reframed: the user can opt out (no Enforce or explicit Introspect), and compile errors fire when the user opts IN with a budget the function exceeds. `ComplexityBudgetWaiver` retains its purpose for accepting known violations of explicit user contracts (NOT an annotation per `feedback_no_annotations`). Substrate + Verification cross-program; L-XL sized. **Closure gates**: `lens_application_carrier_landed`, `section_ref_substrate_landed`, `lens_enforcement_carrier_landed` (per-lens `LensEnforcement` projection + violation-relation declarations co-located with each lens), `enforce_violation_routing_landed`, `complexity_violation_compile_error_demonstrated`, `crdt_cost_basis_demonstrated`, `memory_peak_cost_basis_demonstrated`, `opt_in_iteration_parallelism_via_lens_application_demonstrated`. Depends on T-Lens-Behavioral-Parity (lenses must be COMPLETE first). +17. **T-Workflow-As-Data (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828))** — substrate work for modeling workflows as `.dag` data, including the **Shared External Attachment Pattern** (`WorkflowObservationAnchor` + observation/measurement carriers + report-not-scalar output distinguishing `Observed | Missing | Ambiguous | Stale`) per Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666). **First instance**: timing-lens substrate (`Lens` parallel to existing structural-static `Lens` instances; observation-driven lens-shape class). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately from timing as reusable external-data attachment primitive; serves coverage / logs / failures / artifacts beyond just timing) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended as demonstration target). **Bidirectional case** (CI YAML emission + ingestion): coordinates with `gunb-ai/gunbc#1586` thread anchor 7 (workflow-timing as bidirectional architecture concern). Substrate Mgr ownership; M-L sized; absorbs into Substrate Mgr continuation per `r3-structure.md:187` standing protocol. **Closure gates**: `workflow_substrate_carriers_landed`, `timing_lens_carrier_landed` (per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`), `ci_workflow_modeled_as_dag`, `shared_external_attachment_pattern_documented`. Depends on T-Lens-Behavioral-Parity COMPLETE (for lens consumption); R2-Evaluator (for runtime). +18. **T-Lens-Self-Application (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828))** — demonstration work: gunbc applies its own lenses (cost / complexity / parallelism / timing) to gunbc's own build/CI workflow. Operationalizes the **recursive-flex thesis claim**: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Concrete first instance: timing-lens applied to CI workflow producing `DimensionReport`; either emit-back-to-CI-YAML (bidirectional case via T-Workflow-As-Data) OR direct execution. <1 min CI target as informational SLO; **not a closure gate** (per Director ratification — performance metric, not structural commitment). Verification Mgr ownership; M-L sized. **Closure gates**: `lens_self_application_demonstrated` (gunbc lenses applied to gunbc's own build/CI workflow producing `DimensionReport`), `apply_lens_self_application_demonstrated` (`apply_lens(timing, ci_workflow, Enforce { budget })` enforced via existing T-Lens-Application-Surface carrier), `recursive_flex_demonstration_landed` (narrative-load-bearing claim cashes — "gunbc validates the workflows that produce gunbc"). Depends on T-Workflow-As-Data; T-Lens-Application-Surface; T-Lens-Behavioral-Parity COMPLETE; R2-Evaluator. ### NEW STANDING PROGRAM (added 2026-05-02) @@ -56,7 +58,7 @@ Treated as parallel-dispatchable cross-Mgr work; any available worker can claim ### Lane gating summary -**12 of 16 R3 lanes are gated on R2-Evaluator closing** (T-Tier3-Dissolution, T-LensProducer-Retirement, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, T-V2-Retirement, T-Free-Consequences-Demonstration, **T-Lens-Behavioral-Parity** [Evaluator runtime needed for behavioral lens execution], **T-Lens-Application-Surface** [via T-Lens-Behavioral-Parity cascade], **T-Tests-As-Data-Completeness** [test-execution runtime needed for porting Rust tests to `.dag` TestClaim]). The other 4 (T-Numeric-Construction, T-Anthropic-Wire, T-Bridge-Retirement, T-E-P-Producer-Broadening) are self-contained or substrate-completion work parallel to the Evaluator-gated lanes. **T-Numeric-Construction has its own internal cascade gate** (T-V2-Retirement landing first per path-(a) v2-refinement-syntax-blocker coordination). **T-Lens-Application-Surface depends on T-Lens-Behavioral-Parity** (lenses must be COMPLETE to produce useful structural facts on application sections). Per-lane R2-close dependency is named in the §"Lane structure" table below; §"Dependency on R2" elaborates. +**14 of 18 R3 lanes are gated on R2-Evaluator closing** (T-Tier3-Dissolution, T-LensProducer-Retirement, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, T-V2-Retirement, T-Free-Consequences-Demonstration, **T-Lens-Behavioral-Parity** [Evaluator runtime needed for behavioral lens execution], **T-Lens-Application-Surface** [via T-Lens-Behavioral-Parity cascade], **T-Tests-As-Data-Completeness** [test-execution runtime needed for porting Rust tests to `.dag` TestClaim], **T-Workflow-As-Data** [via T-Lens-Behavioral-Parity cascade — workflow lens consumption needs lenses COMPLETE], **T-Lens-Self-Application** [via T-Workflow-As-Data + T-Lens-Application-Surface cascade]). The other 4 (T-Numeric-Construction, T-Anthropic-Wire, T-Bridge-Retirement, T-E-P-Producer-Broadening) are self-contained or substrate-completion work parallel to the Evaluator-gated lanes. **T-Numeric-Construction has its own internal cascade gate** (T-V2-Retirement landing first per path-(a) v2-refinement-syntax-blocker coordination). **T-Lens-Application-Surface depends on T-Lens-Behavioral-Parity** (lenses must be COMPLETE to produce useful structural facts on application sections). **T-Workflow-As-Data depends on T-Lens-Behavioral-Parity** (timing-lens carrier authoring uses the lens framework with parity-COMPLETE consumers). **T-Lens-Self-Application depends on T-Workflow-As-Data + T-Lens-Application-Surface** (demonstration consumes both substrate-extension work and the apply_lens carrier). Per-lane R2-close dependency is named in the §"Lane structure" table below; §"Dependency on R2" elaborates. ## Acceptance — `.dag` gates From d637040100758d88b81c53d1d207764527788e0e Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 20:55:03 +0000 Subject: [PATCH 2/6] =?UTF-8?q?docs(r3):=20scope=20expansion=2016=20?= =?UTF-8?q?=E2=86=92=2018=20lanes=20=E2=80=94=20recursive-flex=20/=20self-?= =?UTF-8?q?application=20case=20committed=20to=20R3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Per Brian directive (relayed via Director at [gunb-ai/gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828)) committing the recursive-flex / self-application case as R3 scope: gunbc applies its own correctness/cost/parallelism/timing lenses to its own build/CI workflow. CI throughput is load-bearing for development workflow; <1 min target stays as informational SLO (NOT a closure gate per Director ratification — performance metric, not structural commitment). Adds 2 new lanes: - **#17 T-Workflow-As-Data** — substrate work for modeling workflows as `.dag` data; introduces observation-driven lens-shape class (parallel to existing structural-static `Lens`). First instance: timing-lens substrate (`Lens`). Carriers: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately as Shared External Attachment Pattern with six invariants per Substrate Mgr design stance at [#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666)) + `TimingBudget`. Substrate Mgr ownership; M-L sized; design-doc-first cadence per `r3-structure.md:187` substrate-completion protocol. Bidirectional case coordinates with `gunb-ai/gunbc#1586` thread anchor 7. - **#18 T-Lens-Self-Application** — demonstration work: gunbc applies its own lenses to gunbc's own build/CI workflow. Operationalizes the recursive-flex thesis claim. Concrete first instance: timing-lens applied to CI workflow producing `DimensionReport`; `apply_lens(timing, ci_workflow, Enforce { budget: max_ns })` enforced via existing `EnforcedApplication` carrier (per T-Lens-Application-Surface §2 + §3.2). Verification Mgr ownership; M-L sized. ## Lane count + active surfaces - **Was**: 16 lanes + 1 standing program = 17 active surfaces - **Now**: 18 lanes + 1 standing program = 19 active surfaces ## Manager structure updates - **Substrate Mgr**: 6 → 7 lanes (T-Workflow-As-Data added) - **Verification Mgr**: 5 → 6 lanes + 2 cross-program partners + 1 ledger gate (T-Lens-Self-Application added) - Total managers unchanged: 9 standing R3 managers ## Cascade chain Critical path extended: T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → T-Lens-Application-Surface → (T-Workflow-As-Data + T-Lens-Self-Application). Lane gating summary updated: 14 of 18 R3 lanes gated on R2-Evaluator (was 12 of 16). ## r2-r3-thesis-mapping.md amendment Added Facet 4 to Self-hosting disposition table: > *Recursive-flex / self-application — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself.* Disposition: R3; gates on T-Workflow-As-Data + T-Lens-Self-Application; status ⏳ R3 dispatch. ## Coordination implications - `gunb-ai/gunb.ai` repo (substantial bazel-ci.yml) is a portable-CI-infrastructure source — accessible via `gh`; survey is worker-level work, not gating substrate-shape decision (PM verified accessibility via `gh repo view gunb-ai/gunb.ai`) - 5th-gate domain selection (T-Tests-As-Data-Completeness) reconsidered: with recursive-flex commit, build-system / CI now has substrate path. Verification Mgr re-decision routed in parallel (PM signal to #1276) - Cross-program signal to research PM: recursive-flex framing is launch-narrative-load-bearing for ctrl Phase 4 draft (PM signal to `gunb-ai/ctrl#339`) - Director's "goalpost movement accepted" framing — R3 close horizon extends with these 2 lanes; cascade-slip protocol covers if launch tied to lane closure ## R3 Debt Receipt - **Debt paid**: scope-expansion lanes added with explicit closure gates + dependency tracking + manager assignments. Cross-program coordination signals routed to Substrate Mgr (already designing timing-lens), Verification Mgr (5th-gate re-decision), research PM (Phase 4 launch narrative). - **Debt found + routed**: `gunb-ai/gunb.ai` CI infrastructure survey is queued worker-level work; not gating substrate-shape decision. - **No new debt**: per-row dispositions cite r2-r3-thesis-mapping.md authority discipline (per discipline-corrections accumulated on PR #1608). Verified all status claims distinguish thesis-commitment / authoring-state / per-row disposition; <1 min CI target explicitly NOT a closure gate; per-cycle status (R1 / R2 / R3 / cascade) cited per existing convention. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-structure.md | 21 ++++++++++++++++----- docs/thesis/r2-r3-thesis-mapping.md | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/docs/r3-structure.md b/docs/r3-structure.md index 7361c1063b9..d2fc508cde2 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -127,6 +127,15 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- - `auto_memoization_no_caching_for_one_shot` — single-call sites do not emit memoization scaffolding; memoization predicates compose `Lens·Lens` rather than firing universally - `cross_target_optimization_constant_fold_consistent` — for the certification corpus, every emitted target program's `Lens` reading post-emission equals its `Lens` reading pre-emission minus the constant-folded subtree's algebra cost (same structural shrink applied across Rust/Python/Go via the LanguageSpec realization-cost composition; structural-fold equality, not byte/string match on emitted source) - `cross_target_optimization_cost_structurally_derived` — for the certification corpus, the cost-lens reading of the emitted target program (composed via `Lens·LanguageSpec` per T-CostLens-Composition) equals the structural composition of (a) `.dag` algebra-level cost from `Lens` + (b) per-primitive realization cost from the target's LanguageSpec — **no runtime measurement**; both readings are structural folds over substrate. Same shape as `coercion_cost_equals_complexity_by_construction` from T-CostLens-Composition; this gate restates that structural property over the certification corpus to operationalize the "cost lens drives lowering, not target-specific heuristics" free-consequence claim. Runtime perf measurement is post-R3 (per Design challenge #7 — measurable-or-deferred; R3 deliverable is structural close) +- **T-Workflow-As-Data** (NEW 2026-05-04; observation-driven lens-shape class). + - `workflow_substrate_carriers_landed` — workflow grammar in `.dag` (`std.workflow` carriers); supports CI / build / internal-compiler workflows uniformly without per-shape special-casing + - `timing_lens_carrier_landed` — `Lens` carrier authored per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`; `TimingMeasurement` + `TimingObservationSet` + `TimingBudget` carriers live; `Output` is projection/report distinguishing `Observed | Missing | Ambiguous | Stale` (fail-closed enforcement on non-observed states per `feedback_fail_closed_discipline`) + - `shared_external_attachment_pattern_documented` — `WorkflowObservationAnchor` factored separately from timing as reusable external-data attachment primitive (serves coverage / logs / failures / artifacts beyond timing); pattern documented in design-timing-lens doc with six invariants (stable subject identity not span; observed-artifact identity/digest; producer/observer/prover identity; attachment timestamp + run id; stale/ambiguous/missing/observed report states; fail-closed enforcement on non-observed/non-valid states); promotion to generic `ExternalDataAnchor` carrier deferred to second concrete consumer per Substrate Mgr design stance (`ProofReceipt` likely; per `gunb-ai/ctrl#369` reshaped scope) + - `ci_workflow_modeled_as_dag` — at least one workflow modeled as `.dag` data (CI workflow recommended as demonstration target per Director scope); workflow-as-data thesis instantiated; `gunb-ai/gunb.ai` repo's existing CI infrastructure (substantial bazel-ci.yml at ~84KB) surveyed for portable patterns during carrier authoring (worker-level survey, not gating substrate-shape decision) +- **T-Lens-Self-Application** (NEW 2026-05-04; demonstrates recursive-flex thesis claim). + - `lens_self_application_demonstrated` — gunbc lenses (cost / complexity / parallelism / timing) applied to gunbc's own build/CI workflow (modeled as `.dag` data per T-Workflow-As-Data); produces `DimensionReport` for each lens; demonstrates that the same lens framework users get also validates the workflow that produces gunbc itself + - `apply_lens_self_application_demonstrated` — `apply_lens(timing, ci_workflow, Enforce { budget: max_ns })` enforced via existing `EnforcedApplication` carrier (per T-Lens-Application-Surface §2 + §3.2); fail-closed when observation reports `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) ## Lane structure @@ -148,10 +157,12 @@ L6 (`l6_structural_form_coverage`) was moved out of this lane during the engine- | **T-Lens-Behavioral-Parity** (NEW 2026-05-02) | L-XL | **Substrate Manager + Verification Manager (cross-program)** | Bring complexity / cost / parallelism / effect_enumeration lenses from PROXY/STUB/PARTIAL to BEHAVIORALLY COMPLETE per `docs/v3-lens-capability-register.md`. 4 sub-slices (parallel-dispatchable post-T-E-P-Producer-Broadening): (1) **complexity** — symbolic CostExpr full algebra (Sum/Mul/Log/Const) consumed by lens; work/span dimension split; asymptotic classification; cementing test against v2 oracle. (2) **cost** — same producer foundation as complexity; `SizeVar` value semantics; `Dimension` wiring; cementing test. (3) **parallelism** — Stage 2e walk port from `src/v3/compiler/src/workflow_parallelism.rs` to `.dag`; rewire via `lane2_workflow_at` / `std.effects` (idempotency closure template). (4) **effect_enumeration** — resource-threading migration; ambient metadata removal; caller-side effect-set pinning; full `OperationEffect` retirement. **Gates:** `complexity_lens_behaviorally_complete`, `cost_lens_behaviorally_complete`, `parallelism_lens_behaviorally_complete`, `effect_enumeration_lens_behaviorally_complete`, `lens_capability_register_zero_proxy_zero_stub`. Per user directive 2026-05-02. | T-E-P-Producer-Broadening (foundational); R2-Evaluator (lens runtime execution); R2-T-Substrate-Lens-Primitive (Lens shape) | | **T-Tests-As-Data-Completeness** (NEW 2026-05-02) | L | **Verification Manager** | Close Category E test/verification surface gaps per user directive: (1) every Rust test ports to `.dag` TestClaim or generated target-language test code (thesis facet 3 — *"tests are data"* — full coverage); (2) property-based testing surface (`ForAll` / `Exists` quantifiers + `ProgramGenerator` substrate carrier; substrate-introduction); (3) cementing test discipline for `.dag` lenses (per-lens v2 oracle equivalence on same source). **Gates:** `every_rust_test_ports_to_dag_or_generated`, `forall_exists_quantifier_substrate_landed`, `program_generator_carrier_landed`, `lens_cementing_test_discipline_complete`. | R2-Evaluator (test execution runtime); existing TestClaim infrastructure (DB-15 R2) | | **T-Lens-Application-Surface** (NEW 2026-05-02; design doc landed 2026-05-02 [`docs/design-lens-application-surface.md`](design-lens-application-surface.md)) | L-XL | **Substrate Manager + Verification Manager (cross-program)** | First-class authoring surface for applying lenses to arbitrary `.dag` sections (function / module / expression / declaration scope). Per user reframe 2026-05-02: lens application is a `.dag` declaration with configurable behavior — `apply_lens(lens, section, config)`. **Subsumes** prior T-Complexity-Contract-Compile-Error + T-User-Authored-Cost-Basis-Discipline as configurations of one mechanism. **Substrate carriers** (per design doc §2): **two separate top-level carriers** — `EnforcedApplication` and `IntrospectApplication`. NOT a sum wrapping the two — v3 `.dag` substrate cannot currently express per-variant generic parameters; "SectionedLensApplication" is a collective noun for both carriers. Plus `SectionRef` (DeclarationScope/NodeScope disjoint sum) + `LensEnforcement` projection carrier + `DiagnosticSeverity`. `CompileError | Warning | Silent` original user framing resolved to fail-closed-compatible binary per design doc §3 + INVARIANTS C-8. **Default policy for complexity contracts**: user-driven (per design doc §3.2 + §8.3 resolution at e9d67113e). Unannotated functions get synthesized `Introspect`-only applications — no implicit baseline, no inferred Enforce. Enforcement requires explicit user authoring of `apply_lens(complexity, fn, Enforce { ... })`. The original "opt-out" framing is reframed: the user can opt out (no Enforce or explicit Introspect), and compile errors fire when the user opts IN with a budget the function exceeds. `ComplexityBudgetWaiver` retains its purpose for accepting known violations of explicit user contracts (NOT an annotation per `feedback_no_annotations`). Demonstrations: complexity-contract-compile-error + CRDT cost basis + memory-peak cost basis + opt-in cross-iteration parallelism (4 worked examples; orthogonal axes per Director ratification; design doc §4). **Gates:** `lens_application_carrier_landed`, `section_ref_substrate_landed`, `lens_enforcement_carrier_landed` (per-lens `LensEnforcement` projection + violation-relation declarations), `enforce_violation_routing_landed`, `complexity_violation_compile_error_demonstrated`, `crdt_cost_basis_demonstrated`, `memory_peak_cost_basis_demonstrated`, `opt_in_iteration_parallelism_via_lens_application_demonstrated`. **Design doc §8 resolves all 5 originally-open questions** (module-scope semantics / multiple-applications / default-budget-inference / waiver lifecycle / cross-section composition); no Director ratification required before substrate authoring — only standard cascade-gate (T-Lens-Behavioral-Parity COMPLETE) + R2-Evaluator landed. | T-Lens-Behavioral-Parity (lenses must be COMPLETE first); R2-Evaluator | +| **T-Workflow-As-Data** (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666)) | M-L | **Substrate Manager (post-R2 continuation)** | Substrate work for modeling workflows as `.dag` data; introduces observation-driven lens-shape class (parallel to existing structural-static `Lens` instances). **First instance**: timing-lens substrate (`Lens`). **Substrate carriers**: `TimingMeasurement` + `TimingObservationSet` + `WorkflowObservationAnchor` (factored separately as reusable external-data attachment primitive — Shared External Attachment Pattern with six invariants per Substrate Mgr design stance) + `TimingBudget`. **Workflow grammar**: at least one workflow modeled as `.dag` data (CI workflow recommended). **Bidirectional case** coordinates with `gunb-ai/gunbc#1586` thread anchor 7 (workflow-timing as bidirectional architecture concern). **Gates:** `workflow_substrate_carriers_landed`, `timing_lens_carrier_landed` (per Substrate Mgr STOP+PING design receipt for `docs/design-timing-lens.md`), `shared_external_attachment_pattern_documented`, `ci_workflow_modeled_as_dag`. Substrate Mgr's design-doc-first cadence per `r3-structure.md:187` substrate-completion protocol — design receipt lands first, carrier authoring follows sign-off. | T-Lens-Behavioral-Parity COMPLETE (timing-lens uses lens framework with parity-COMPLETE consumers); R2-Evaluator | +| **T-Lens-Self-Application** (NEW 2026-05-04; per Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828)) | M-L | **Verification Manager** | Demonstration work: gunbc applies its own lenses (cost / complexity / parallelism / timing) to gunbc's own build/CI workflow. Operationalizes recursive-flex thesis claim: *"the compiler that compiles gunbc programs validates the workflow that produces gunbc itself."* Concrete first instance: timing-lens applied to CI workflow producing `DimensionReport`; `apply_lens(timing, ci_workflow, Enforce { budget: max_ns })` enforced via existing `EnforcedApplication` carrier. <1 min CI target as informational SLO; **NOT a closure gate** (per Director ratification 2026-05-04 — performance metric, not structural commitment). **Gates:** `lens_self_application_demonstrated`, `apply_lens_self_application_demonstrated`, `recursive_flex_demonstration_landed`. | T-Workflow-As-Data; T-Lens-Application-Surface; T-Lens-Behavioral-Parity COMPLETE; R2-Evaluator | -Critical path: **T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → T-Lens-Application-Surface** is the new R3 critical-path chain. T-Verification-L4-L7-Direct → T-Verification-L5-Corpus remains the longest verification path. Other lanes parallel-dispatch after R2-Evaluator closes. +Critical path: **T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → T-Lens-Application-Surface → (T-Workflow-As-Data + T-Lens-Self-Application)** is the R3 critical-path chain (extended 2026-05-04 with recursive-flex commit). T-Verification-L4-L7-Direct → T-Verification-L5-Corpus remains the longest verification path. Other lanes parallel-dispatch after R2-Evaluator closes. -**R3 lane count: 16 lanes + 1 standing program** (12 original + T-E-P-Producer-Broadening + T-Lens-Behavioral-Parity + T-Tests-As-Data-Completeness + T-Lens-Application-Surface; standing R3 Debt-Paydown program; expansion 2026-05-02 per user directive that all "accidentally deferred" gaps absorb into R3). +**R3 lane count: 18 lanes + 1 standing program** (12 original + T-E-P-Producer-Broadening + T-Lens-Behavioral-Parity + T-Tests-As-Data-Completeness + T-Lens-Application-Surface + T-Workflow-As-Data + T-Lens-Self-Application; standing R3 Debt-Paydown program; expansions 2026-05-02 + 2026-05-04 per user directives that all "accidentally deferred" gaps absorb into R3 + recursive-flex/self-application case commits to R3 scope). Plus 3 fold-ins (no new lanes; Director-ratified 2026-05-02): - **T-V-L4-L7-Direct exhaustive witness coverage** — per-(algebra, inhabitant, law) witness coverage ensures bug class like SymbolicCost product-zero (PR #1430 §A) is structurally caught by `l7_algebraic_laws_witnessed` gate at all inhabitants. @@ -186,9 +197,9 @@ Plus 2 priority corrections folded into existing lanes (Director-ratified 2026-0 R3 inherits R2's manager structure with **four modifications** (originally 3; expanded 2026-05-02 to 4 with Debt-Paydown Mgr addition): -1. **R2 managers continue post-R2-close** rather than dissolving. **Substrate Manager** continues with **T-Numeric-Construction (REFRAMED 2026-05-01 from T-Int128) + T-Anthropic-Wire (incl. ProviderTypedWire

per C2 ratification 2026-04-30) + T-CostLens-Composition + T-E-P-Producer-Broadening (NEW 2026-05-02) + T-Lens-Behavioral-Parity (NEW 2026-05-02; cross-program with Verification) + T-Lens-Application-Surface (NEW 2026-05-02; cross-program with Verification)** (6 lanes total — expanded 2026-05-02 per user directive that all "accidentally deferred" gaps absorb into R3); **PB Manager** continues with T-LensProducer-Retirement (incl. ownership d/e/f confirmation per 2026-05-02 fold-in) + T-FixedPoint + T-Tier3-Dissolution + **T-V2-Retirement (NEW 2026-04-30)** + 3 distributed bridge retirements (canonical lens-name dispatch / `include_str!` side channels / `patch_lower_helpers_*` residual — per T-Bridge-Retirement distribution map); Modeling/Impossible-Bugs Managers archive at R2 close. **Post-R2 emergent work disposition** (Director-locked 2026-04-28; carried forward through 2026-05-02 expansion): if `ctrl/` pressure-test or other post-R2 work surfaces new impossible-bug classes, modeling refinements, or substrate gaps, those are absorbed by **Substrate Manager continuation** as substrate-completion work — they're evidence of substrate gaps (per closed-system principle: enumerated bug classes are exhaustive over substrate; new classes = enumeration was wrong = substrate gap to fill), not new lanes spawning new managers. +1. **R2 managers continue post-R2-close** rather than dissolving. **Substrate Manager** continues with **T-Numeric-Construction (REFRAMED 2026-05-01 from T-Int128) + T-Anthropic-Wire (incl. ProviderTypedWire

per C2 ratification 2026-04-30) + T-CostLens-Composition + T-E-P-Producer-Broadening (NEW 2026-05-02) + T-Lens-Behavioral-Parity (NEW 2026-05-02; cross-program with Verification) + T-Lens-Application-Surface (NEW 2026-05-02; cross-program with Verification) + T-Workflow-As-Data (NEW 2026-05-04)** (7 lanes total — expanded 2026-05-04 to absorb workflow-substrate work for recursive-flex commit); **PB Manager** continues with T-LensProducer-Retirement (incl. ownership d/e/f confirmation per 2026-05-02 fold-in) + T-FixedPoint + T-Tier3-Dissolution + **T-V2-Retirement (NEW 2026-04-30)** + 3 distributed bridge retirements (canonical lens-name dispatch / `include_str!` side channels / `patch_lower_helpers_*` residual — per T-Bridge-Retirement distribution map); Modeling/Impossible-Bugs Managers archive at R2 close. **Post-R2 emergent work disposition** (Director-locked 2026-04-28; carried forward through 2026-05-04 expansion): if `ctrl/` pressure-test or other post-R2 work surfaces new impossible-bug classes, modeling refinements, or substrate gaps, those are absorbed by **Substrate Manager continuation** as substrate-completion work — they're evidence of substrate gaps (per closed-system principle: enumerated bug classes are exhaustive over substrate; new classes = enumeration was wrong = substrate gap to fill), not new lanes spawning new managers. -2. **Verification Manager (new)** — owns T-Verification-L4-L7-Direct (incl. per-(algebra, inhabitant, law) exhaustive witness coverage per 2026-05-02 fold-in) + T-Verification-L5-Corpus + **T-Free-Consequences-Demonstration (NEW 2026-04-30)** + **T-Tests-As-Data-Completeness (NEW 2026-05-02)** + cross-program portion of T-Lens-Behavioral-Parity + cross-program portion of T-Lens-Application-Surface + the `bridge_retirement_ledger_zero` audit gate of T-Bridge-Retirement (Director-locked 2026-04-28: ledger-only ownership; retirement work distributes per bridge map — see Substrate/PB continuation above). Total: **5 lanes + 2 cross-program partners + 1 ledger gate** (expanded from 3 lanes + 1 ledger gate per 2026-05-02 directive). Why a new manager: this cluster shouldn't fold into Substrate or PB; structural-acceptance-by-construction is its own discipline. **L6 is NOT in Verification Manager's scope** — it was reclassified out of R3 as a structural cross-product fold and lives in R2-T-Ground-CrossTarget-Meta (Grounding Manager's program). **T-CostLens-Composition is NOT in Verification Manager's scope** (Director-locked 2026-04-28, carried forward through 2026-05-02 expansion: substrate-authoring of cost facts + Lens instance — under Substrate continuation; see lane table above). +2. **Verification Manager (new)** — owns T-Verification-L4-L7-Direct (incl. per-(algebra, inhabitant, law) exhaustive witness coverage per 2026-05-02 fold-in) + T-Verification-L5-Corpus + **T-Free-Consequences-Demonstration (NEW 2026-04-30)** + **T-Tests-As-Data-Completeness (NEW 2026-05-02)** + **T-Lens-Self-Application (NEW 2026-05-04)** + cross-program portion of T-Lens-Behavioral-Parity + cross-program portion of T-Lens-Application-Surface + the `bridge_retirement_ledger_zero` audit gate of T-Bridge-Retirement (Director-locked 2026-04-28: ledger-only ownership; retirement work distributes per bridge map — see Substrate/PB continuation above). Total: **6 lanes + 2 cross-program partners + 1 ledger gate** (expanded from 5 lanes + 2 cross-program partners + 1 ledger gate per 2026-05-04 directive committing recursive-flex demonstration to R3). Why a new manager: this cluster shouldn't fold into Substrate or PB; structural-acceptance-by-construction is its own discipline. **L6 is NOT in Verification Manager's scope** — it was reclassified out of R3 as a structural cross-product fold and lives in R2-T-Ground-CrossTarget-Meta (Grounding Manager's program). **T-CostLens-Composition is NOT in Verification Manager's scope** (Director-locked 2026-04-28, carried forward through 2026-05-04 expansion: substrate-authoring of cost facts + Lens instance — under Substrate continuation; see lane table above). 3. **R3 Release Manager (new, may be R2 Release Manager continuation)** — owns T-Omni-Shape-B, R3 closure ledger, R3 demo coordination. Goal-6-equivalent for R3. @@ -198,7 +209,7 @@ R3 inherits R2's manager structure with **four modifications** (originally 3; ex Director's role unchanged: cross-program conflict resolution + scope-change escalation + weekly health check. -**Total R3 active surfaces**: 16 lanes + 1 standing program = **17 active surfaces** (expanded from 12 active surfaces at 2026-04-30 lock = 12 lanes + 0 standing programs — added 2026-05-02 per user directive that all "accidentally deferred" gaps absorb into R3: 4 new lanes (T-E-P-Producer-Broadening, T-Lens-Behavioral-Parity, T-Tests-As-Data-Completeness, T-Lens-Application-Surface) + 1 new standing program (R3 Debt-Paydown) = +5 surfaces; 12 + 5 = 17). T-Behavioral-Expectations-Documentation is parallel-dispatchable across existing lanes, not a separate surface (per §"Behavioral Expectations Documentation" above). Manager-structure modifications (4 total — Substrate continuation expansion, Verification Manager, R3 Release Manager, Debt-Paydown Manager) are organizational, not separately-counted surfaces — each distributes existing-or-new lane ownership rather than creating a new program surface. Manager count: **9 standing R3 managers** (8 + Debt-Paydown). +**Total R3 active surfaces**: 18 lanes + 1 standing program = **19 active surfaces** (expanded from 17 active surfaces at 2026-05-02 lock — added 2026-05-04 per user directive committing recursive-flex / self-application case to R3: 2 new lanes (T-Workflow-As-Data, T-Lens-Self-Application) = +2 surfaces; 17 + 2 = 19). T-Behavioral-Expectations-Documentation is parallel-dispatchable across existing lanes, not a separate surface (per §"Behavioral Expectations Documentation" above). Manager-structure modifications (4 total — Substrate continuation expansion, Verification Manager, R3 Release Manager, Debt-Paydown Manager) are organizational, not separately-counted surfaces — each distributes existing-or-new lane ownership rather than creating a new program surface. Manager count: **9 standing R3 managers** (8 + Debt-Paydown). ## Dependency DAG diff --git a/docs/thesis/r2-r3-thesis-mapping.md b/docs/thesis/r2-r3-thesis-mapping.md index d06705d2491..1d3304d2391 100644 --- a/docs/thesis/r2-r3-thesis-mapping.md +++ b/docs/thesis/r2-r3-thesis-mapping.md @@ -139,6 +139,7 @@ Per THESIS §"Self-hosting — three facets": | **Facet 1: Compiler written in `.dag`** (partial today; full at SG-0=0) | R1 + R2 + R3 | T-PB-A SG-0 census reduction (R1 + R2) → 0 (R3) | 70 → 37+1 frag (R2 progress); 0 (R3 close via T-LensProducer-Retirement) | 🟡 R1+R2 partial / R3 close | | **Facet 2: Compiler self-emits (fixed-point) — bit-identical output** | R3 | T-FixedPoint / `pb_self_compile_fixed_point` | r3-structure.md §T-FixedPoint | ⏳ R3 (gated on R2-Evaluator + T-LensProducer-Retirement) | | **Facet 3: Tests are data — pipeline.rs equivalent ports to .dag** | R1 + R2 | T-PB-B (bulk migration of class-5 tests via ExecuteCommand) | R2 helper binary #1063 ✓; T-PB-B 2A/2B about to unblock post-#1049 | 🟡 R2 in flight | +| **Facet 4 (NEW 2026-05-04): Recursive-flex / self-application** — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself. | R3 | T-Workflow-As-Data + T-Lens-Self-Application | r3-structure.md §T-Workflow-As-Data + §T-Lens-Self-Application; Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666) | ⏳ R3 dispatch (gated on T-Lens-Behavioral-Parity COMPLETE + T-Lens-Application-Surface + R2-Evaluator) | ## Disposition table — Enumerable impossible-bug classes From 5cfe4955eb623d9a188fa4c7e27cd610cb496e54 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 21:00:41 +0000 Subject: [PATCH 3/6] =?UTF-8?q?docs(r3):=20clarify=20Facet=204=20as=20R3?= =?UTF-8?q?=20extension=20beyond=20original=203=20facets=20=E2=80=94=20fix?= =?UTF-8?q?=20codex=20non-blocking=20finding=20(sha=20d6370401)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Codex review on PR #1704 (sha d6370401) flagged that adding Facet 4 to the Self-hosting disposition table created count-conflict with the section heading "Self-hosting (3 facets)" and "Per THESIS §'Self-hosting — three facets'" framing. Single-authority discipline violation. The structurally honest fix is to clarify Facet 4 as an R3 extension beyond the original three (rather than silently re-numbering THESIS's count) since: - THESIS.md hasn't been amended unilaterally - Director ratified the R3 scope (lane creation), not the THESIS-doc edit - The THESIS amendment is queued in the same cycle as the operational-equivalence stance + Tier 4 boundary amendments (per `docs/r3-launch-claim-coverage-analysis.md` §6d, §7b, §9b dispatch list) ## Changes - Section heading: "Self-hosting (3 facets)" → "Self-hosting (3 facets + 1 R3 extension)" - Section preamble: extended to clarify "3 original facets + R3 extension committed 2026-05-04 (Facet 4 — recursive-flex / self-application; THESIS amendment queued, not yet landed)" - Facet 4 row: prefix changed from "(NEW 2026-05-04)" → "(R3 extension; NEW 2026-05-04; THESIS amendment queued, not yet landed)" + inline clarification that this extends THESIS three-facet framing per Director ratification, with THESIS amendment to land in same cycle as queued operational-equivalence stance + Tier 4 amendments The disposition row substance unchanged; only the framing-vs-original-three relationship clarified. ## R3 Debt Receipt - **Debt paid**: count-conflict at section heading vs row count corrected. Single-authority discipline restored — section explicitly notes the original-3 + R3-extension structure rather than silently re-numbering. - **Debt found + routed (process)**: this is a recurring pattern from the PR #1608 corrections — when authoring at the disposition-table layer, every row addition should explicitly state its relationship to the upstream authority (THESIS / r3-structure.md / etc.). If the upstream authority hasn't been amended yet, the row should mark its provenance as "queued amendment" not "NEW row landing as if upstream authority was edited." - **No new debt**: row substance unchanged; only framing relationship clarified. Verified the same THESIS-amendment-pending pattern is consistent with how operational-equivalence stance (§7b in launch-claim coverage doc) + Tier 4 boundary (§6d) are tracked — all three are queued thesis-doc amendments to land together post-#1586 design-doc receipt. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/thesis/r2-r3-thesis-mapping.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/thesis/r2-r3-thesis-mapping.md b/docs/thesis/r2-r3-thesis-mapping.md index 1d3304d2391..d22cfe54a16 100644 --- a/docs/thesis/r2-r3-thesis-mapping.md +++ b/docs/thesis/r2-r3-thesis-mapping.md @@ -130,16 +130,16 @@ Per THESIS §"Omni-emission (1:1 effort applied to full-stack systems)": | **Shape B: O(1) per artifact class** | R3 | T-Omni-Shape-B (≥2 Shape B targets demonstrate the claim) | r3-structure.md §T-Omni-Shape-B | ⏳ R3 | | **Target-level cost complexity composes with .dag-level CX** | R3 | T-CostLens-Composition (R3 lane 10; Director-locked 2026-04-28; owned by Substrate Manager (post-R2 continuation) per the row above) — exact same composition fold as the "Coercion cost = complexity" row above; structural composition of `.dag` algebra-level cost + target-primitive realization cost via the language spec | Per [`docs/design-emission-model.md`](../design-emission-model.md) Modeling problem 8 — the unification "coercion cost = complexity" IS the structural composition of `.dag` CX with target-level cost; both rows resolve to the same R3 lane | ⏳ R3 dispatch (gated on R2-Evaluator + **R2-T-Substrate-Lens-Primitive** + R2-T-Substrate per-op algebra cost + R2-T-Ground-LanguageSpec per-primitive realization cost) | -## Disposition table — Self-hosting (3 facets) +## Disposition table — Self-hosting (3 facets + 1 R3 extension) -Per THESIS §"Self-hosting — three facets": +Per THESIS §"Self-hosting — three facets" (3 original facets) + R3 extension committed 2026-05-04 (Facet 4 — recursive-flex / self-application; **THESIS amendment queued in same cycle as the operational-equivalence stance + Tier 4 disposition amendments per §"R3 Launch-Claim Coverage Analysis"**, not yet landed in `THESIS.md`): | Claim | Disposition | Lane / gate | Evidence | Status | |---|---|---|---|---| | **Facet 1: Compiler written in `.dag`** (partial today; full at SG-0=0) | R1 + R2 + R3 | T-PB-A SG-0 census reduction (R1 + R2) → 0 (R3) | 70 → 37+1 frag (R2 progress); 0 (R3 close via T-LensProducer-Retirement) | 🟡 R1+R2 partial / R3 close | | **Facet 2: Compiler self-emits (fixed-point) — bit-identical output** | R3 | T-FixedPoint / `pb_self_compile_fixed_point` | r3-structure.md §T-FixedPoint | ⏳ R3 (gated on R2-Evaluator + T-LensProducer-Retirement) | | **Facet 3: Tests are data — pipeline.rs equivalent ports to .dag** | R1 + R2 | T-PB-B (bulk migration of class-5 tests via ExecuteCommand) | R2 helper binary #1063 ✓; T-PB-B 2A/2B about to unblock post-#1049 | 🟡 R2 in flight | -| **Facet 4 (NEW 2026-05-04): Recursive-flex / self-application** — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself. | R3 | T-Workflow-As-Data + T-Lens-Self-Application | r3-structure.md §T-Workflow-As-Data + §T-Lens-Self-Application; Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666) | ⏳ R3 dispatch (gated on T-Lens-Behavioral-Parity COMPLETE + T-Lens-Application-Surface + R2-Evaluator) | +| **Facet 4 (R3 extension; NEW 2026-05-04; THESIS amendment queued, not yet landed): Recursive-flex / self-application** — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself. *This extends THESIS §"Self-hosting — three facets" with a fourth facet committed by Director ratification 2026-05-04; THESIS.md amendment to land in the same cycle as the queued operational-equivalence stance amendment + Tier 4 boundary amendment (per `docs/r3-launch-claim-coverage-analysis.md` §6d, §7b, §9b dispatch list).* | R3 | T-Workflow-As-Data + T-Lens-Self-Application | r3-structure.md §T-Workflow-As-Data + §T-Lens-Self-Application; Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666) | ⏳ R3 dispatch (gated on T-Lens-Behavioral-Parity COMPLETE + T-Lens-Application-Surface + R2-Evaluator) | ## Disposition table — Enumerable impossible-bug classes From 86357cf8e080a18aed48f6055a2a9b37dd4bc0c5 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 21:06:49 +0000 Subject: [PATCH 4/6] =?UTF-8?q?docs(r3):=20amend=20THESIS.md=20to=20add=20?= =?UTF-8?q?Facet=204=20(recursive-flex=20/=20self-application)=20=E2=80=94?= =?UTF-8?q?=20fix=20BLOCKING=20single-authority=20finding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Inline blocking review on PR #1704 (briansrls 2026-05-04 21:02Z) flagged that adding Facet 4 to the disposition table while THESIS.md still defines self-hosting as exactly three facets is a single-authority discipline violation — the scope commitment is not grounded in the thesis. Per `feedback_audit_adjacent_authority_first` and Director's directive explicitly framing recursive-flex as a "structurally-tracked thesis claim" (per [#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828) ask #6), the right fix is amending THESIS.md to add Facet 4 alongside the disposition row — not deferring to a separate cycle. Both edits land together so the disposition row grounds in actual thesis text. ## Changes **THESIS.md**: - Self-hosting section heading: `**Self-hosting — three facets:**` → `**Self-hosting — four facets:**` - Preamble: `Self-hosting is not one capability; it's three. All three are targets.` → `Self-hosting is not one capability; it's four. All four are targets.` - Facet 4 added with 12-line description: gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline; recursive lens-framework application; CI workflow modeled as `.dag` data; cites Director ratification + R3 lane authority **docs/thesis/r2-r3-thesis-mapping.md**: - Section heading: `Self-hosting (3 facets + 1 R3 extension)` → `Self-hosting (4 facets)` - Preamble: removed "queued amendment" hedging since the THESIS amendment now lands in this commit - Facet 4 row: simplified row prefix from `(R3 extension; NEW 2026-05-04; THESIS amendment queued, not yet landed)` → `(NEW 2026-05-04)`; row evidence column adds explicit cite to `THESIS.md §"Self-hosting — four facets" Facet 4` as the upstream authority - Removed cross-doc reference to launch-claim coverage doc dispatch list — no longer needed since THESIS amendment is now landed in this PR rather than queued for a later cycle ## R3 Debt Receipt - **Debt paid**: BLOCKING single-authority discipline violation corrected. THESIS.md (the upstream authority) now contains Facet 4; the disposition row grounds in actual thesis text via direct THESIS-section citation. INVARIANTS P1 ("Documentation Describes Live State") satisfied — single-authority restored. - **Debt found + routed (process)**: this surfaces a discipline pattern worth carrying forward — when authoring at disposition-table layer based on Director ratification of a new claim, the upstream-authority amendment must land in the same PR (or land first in a separate prerequisite PR), not as queued-for-later-cycle. Queuing the upstream-authority amendment while citing the un-amended state as authority is the failure mode the BLOCKING finding caught. PM corrected pattern: amend upstream authority alongside disposition row. - **No new debt**: Facet 4 substance unchanged from prior commit; only the upstream-authority grounding made structurally-real (THESIS edit landed) rather than queued. ## Director scope alignment Director's directive at [#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828) ask #6 explicitly framed: > *"r2-r3-thesis-mapping.md amendment — recursive-flex / self-application becomes a structurally-tracked thesis claim, not just narrative."* The "structurally-tracked thesis claim" framing requires THESIS.md to carry the claim — which is what this commit does. Director ratified R3 scope expansion + the thesis-claim-tracking framing; THESIS edit follows from that ratification rather than requiring separate Director ratification on the thesis-doc edit itself. If Director prefers Facet 4 framed differently (e.g., specific wording adjustments to the THESIS section), that's a wording-review concern; the structural commitment to add Facet 4 to THESIS is already ratified in the directive. Co-Authored-By: Claude Opus 4.7 (1M context) --- THESIS.md | 19 +++++++++++++++++-- docs/thesis/r2-r3-thesis-mapping.md | 6 +++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/THESIS.md b/THESIS.md index 3e61d490676..4d11e7bbbbc 100644 --- a/THESIS.md +++ b/THESIS.md @@ -224,9 +224,9 @@ Every claim the thesis makes, in one place. The ROADMAP tracks progress toward e - `dag run` is the primary execution path. - Adding a CI gate, a Node field, or a target language requires editing one .dag file. -**Self-hosting — three facets:** +**Self-hosting — four facets:** -Self-hosting is not one capability; it's three. All three are targets. +Self-hosting is not one capability; it's four. All four are targets. 1. **Compiler written in the language it compiles.** `.dag` source authors the compiler. Partially true today — `.dag` authors key compiler passes @@ -254,6 +254,21 @@ Self-hosting is not one capability; it's three. All three are targets. declarations. Everything ports to `.dag`. **Pure Bootstrap's secondary deliverable, couples to testgen.** +4. **Recursive-flex / self-application** (NEW 2026-05-04; per Director + ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828)). + gunbc applies its own correctness/cost/parallelism/timing lenses to + its own build pipeline. The compiler that compiles gunbc programs + validates the workflow that produces gunbc itself. The same lens + framework users get for their own programs applies recursively to + gunbc's own runtime behavior — modeling its CI workflow as `.dag` + data, applying typed lenses for cost / complexity / parallelism / + timing, surfacing dependency-tracking and observation-driven + validation as structural facts. **R3 deliverable** (T-Workflow-As-Data + substrate + T-Lens-Self-Application demonstration; per `r3-structure.md` + §T-Workflow-As-Data + §T-Lens-Self-Application). Distinguishes + gunbc from compilers that don't validate their own production + pipeline — observation-driven lens-shape class is sui-generis. + Cost-of-change: editing any compiler concept — a new pass, substrate fact, target-language detail, or pipeline/contract test assertion — stays at one `.dag` file. No diff --git a/docs/thesis/r2-r3-thesis-mapping.md b/docs/thesis/r2-r3-thesis-mapping.md index d22cfe54a16..66f1c142bdb 100644 --- a/docs/thesis/r2-r3-thesis-mapping.md +++ b/docs/thesis/r2-r3-thesis-mapping.md @@ -130,16 +130,16 @@ Per THESIS §"Omni-emission (1:1 effort applied to full-stack systems)": | **Shape B: O(1) per artifact class** | R3 | T-Omni-Shape-B (≥2 Shape B targets demonstrate the claim) | r3-structure.md §T-Omni-Shape-B | ⏳ R3 | | **Target-level cost complexity composes with .dag-level CX** | R3 | T-CostLens-Composition (R3 lane 10; Director-locked 2026-04-28; owned by Substrate Manager (post-R2 continuation) per the row above) — exact same composition fold as the "Coercion cost = complexity" row above; structural composition of `.dag` algebra-level cost + target-primitive realization cost via the language spec | Per [`docs/design-emission-model.md`](../design-emission-model.md) Modeling problem 8 — the unification "coercion cost = complexity" IS the structural composition of `.dag` CX with target-level cost; both rows resolve to the same R3 lane | ⏳ R3 dispatch (gated on R2-Evaluator + **R2-T-Substrate-Lens-Primitive** + R2-T-Substrate per-op algebra cost + R2-T-Ground-LanguageSpec per-primitive realization cost) | -## Disposition table — Self-hosting (3 facets + 1 R3 extension) +## Disposition table — Self-hosting (4 facets) -Per THESIS §"Self-hosting — three facets" (3 original facets) + R3 extension committed 2026-05-04 (Facet 4 — recursive-flex / self-application; **THESIS amendment queued in same cycle as the operational-equivalence stance + Tier 4 disposition amendments per §"R3 Launch-Claim Coverage Analysis"**, not yet landed in `THESIS.md`): +Per THESIS §"Self-hosting — four facets" (Facet 4 added 2026-05-04 per Director ratification — committed structurally in THESIS.md alongside this disposition row): | Claim | Disposition | Lane / gate | Evidence | Status | |---|---|---|---|---| | **Facet 1: Compiler written in `.dag`** (partial today; full at SG-0=0) | R1 + R2 + R3 | T-PB-A SG-0 census reduction (R1 + R2) → 0 (R3) | 70 → 37+1 frag (R2 progress); 0 (R3 close via T-LensProducer-Retirement) | 🟡 R1+R2 partial / R3 close | | **Facet 2: Compiler self-emits (fixed-point) — bit-identical output** | R3 | T-FixedPoint / `pb_self_compile_fixed_point` | r3-structure.md §T-FixedPoint | ⏳ R3 (gated on R2-Evaluator + T-LensProducer-Retirement) | | **Facet 3: Tests are data — pipeline.rs equivalent ports to .dag** | R1 + R2 | T-PB-B (bulk migration of class-5 tests via ExecuteCommand) | R2 helper binary #1063 ✓; T-PB-B 2A/2B about to unblock post-#1049 | 🟡 R2 in flight | -| **Facet 4 (R3 extension; NEW 2026-05-04; THESIS amendment queued, not yet landed): Recursive-flex / self-application** — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself. *This extends THESIS §"Self-hosting — three facets" with a fourth facet committed by Director ratification 2026-05-04; THESIS.md amendment to land in the same cycle as the queued operational-equivalence stance amendment + Tier 4 boundary amendment (per `docs/r3-launch-claim-coverage-analysis.md` §6d, §7b, §9b dispatch list).* | R3 | T-Workflow-As-Data + T-Lens-Self-Application | r3-structure.md §T-Workflow-As-Data + §T-Lens-Self-Application; Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666) | ⏳ R3 dispatch (gated on T-Lens-Behavioral-Parity COMPLETE + T-Lens-Application-Surface + R2-Evaluator) | +| **Facet 4: Recursive-flex / self-application** (NEW 2026-05-04) — gunbc applies its own correctness/cost/parallelism/timing lenses to its own build pipeline. The compiler that compiles gunbc programs validates the workflow that produces gunbc itself. | R3 | T-Workflow-As-Data + T-Lens-Self-Application | THESIS.md §"Self-hosting — four facets" Facet 4; r3-structure.md §T-Workflow-As-Data + §T-Lens-Self-Application; Director ratification at [gunbc#828 inbox-4374342708](https://github.com/gunb-ai/gunbc/issues/828); Substrate Mgr design stance at [gunbc#1130 comment-4374109666](https://github.com/gunb-ai/gunbc/issues/1130#issuecomment-4374109666) | ⏳ R3 dispatch (gated on T-Lens-Behavioral-Parity COMPLETE + T-Lens-Application-Surface + R2-Evaluator) | ## Disposition table — Enumerable impossible-bug classes From 4e3191f1d1a9fe2d1ad4be46916ca34d0162161f Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 17:08:23 -0400 Subject: [PATCH 5/6] WIP: Gunbc PM --- docs/r3-structure.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/r3-structure.md b/docs/r3-structure.md index d2fc508cde2..b5ec337e41f 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -403,16 +403,16 @@ Workers cannot dispatch on under-specified scope, especially on multi-week T-Ver R3 cannot start meaningful work until R2 closes. Specifically: -- **R2-Evaluator** is the upstream gate for **12 of 16 R3 lanes** (T-Tier3, T-LensProducer, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, **T-V2-Retirement** [via T-FixedPoint + T-LensProducer-Retirement cascade], **T-Free-Consequences-Demonstration** [witness construction + lens-instance prerequisites], **T-Lens-Behavioral-Parity** [Evaluator runtime needed for behavioral lens execution], **T-Lens-Application-Surface** [via T-Lens-Behavioral-Parity cascade], **T-Tests-As-Data-Completeness** [test-execution runtime needed for porting Rust tests to `.dag` TestClaim]). Without it, R3 dispatchers spin. +- **R2-Evaluator** is the upstream gate for **14 of 18 R3 lanes** (T-Tier3, T-LensProducer, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, **T-V2-Retirement** [via T-FixedPoint + T-LensProducer-Retirement cascade], **T-Free-Consequences-Demonstration** [witness construction + lens-instance prerequisites], **T-Lens-Behavioral-Parity** [Evaluator runtime needed for behavioral lens execution], **T-Lens-Application-Surface** [via T-Lens-Behavioral-Parity cascade], **T-Tests-As-Data-Completeness** [test-execution runtime needed for porting Rust tests to `.dag` TestClaim], **T-Workflow-As-Data** [via T-Lens-Behavioral-Parity cascade — workflow lens consumption needs lenses COMPLETE], **T-Lens-Self-Application** [via T-Workflow-As-Data + T-Lens-Application-Surface cascade]). Without it, R3 dispatchers spin. - **R2-Grounding-Rust + R2-Grounding-Python** are the upstream gate for T-Verification-L5-Corpus (specifically L5 cross-target). - **R2 substrate carriers** (NominalOpacity, ValueBody::Map, parametric algebra) feed T-Numeric-Construction + T-Anthropic-Wire + T-Bridge-Retirement + T-E-P-Producer-Broadening as parallel substrate-completion work. -**R3 worker dispatch precondition** (Director-locked 2026-04-28; clarified 2026-04-28 per gpt-5-5-pro BLOCKING on `dbc48dc0` re P2 single-authority discipline; expanded 2026-04-30 for 12-lane structure; re-expanded 2026-05-02 for 16-lane structure): +**R3 worker dispatch precondition** (Director-locked 2026-04-28; clarified 2026-04-28 per gpt-5-5-pro BLOCKING on `dbc48dc0` re P2 single-authority discipline; expanded 2026-04-30 for 12-lane structure; re-expanded 2026-05-02 for 16-lane structure; re-expanded 2026-05-04 for 18-lane structure with recursive-flex commit): -- **Applies to the 12 Evaluator-gated lanes** (T-Tier3-Dissolution, T-LensProducer-Retirement, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, T-V2-Retirement, T-Free-Consequences-Demonstration, T-Lens-Behavioral-Parity, T-Lens-Application-Surface, T-Tests-As-Data-Completeness): R2-Evaluator landed AND R2-Grounding-Rust+Python landed. Pre-R3 *brief authoring* may begin during R2 final week (Director-discretionary, mirroring R2's pre-R1-close pattern), but worker dispatch waits for the joint precondition. This prevents R3 brief authoring from spawning drift if R2 close definition slips. **T-V2-Retirement** carries an additional internal cascade gate (T-FixedPoint + T-LensProducer-Retirement must close before v2 retirement work begins); pre-cascade brief authoring is still permitted under the same Director-discretionary rule. **T-Lens-Application-Surface** carries an additional internal cascade gate (T-Lens-Behavioral-Parity must reach BEHAVIORALLY COMPLETE before application-surface dispatch); pre-cascade design-doc work is permitted. -- **Carve-out for the 4 non-Evaluator-gated lanes** (T-Numeric-Construction, T-Anthropic-Wire, T-Bridge-Retirement, T-E-P-Producer-Broadening): these are self-contained or substrate-completion work parallel to the Evaluator-gated lanes. They consume R2 substrate carriers but not the Evaluator itself, so they MAY dispatch pre-R3 (in parallel with R2-Evaluator work) per scheduling preference. The global R3 worker-dispatch precondition above applies ONLY to the 12 Evaluator-gated lanes; the 4 non-gated lanes operate as explicitly-scoped substrate-completion work outside that precondition. **T-Numeric-Construction has its own internal cascade gate** (T-V2-Retirement landing first per path-(a) v2-refinement-syntax-blocker coordination — see [`docs/design-numeric-construction.md`](design-numeric-construction.md)); pre-cascade design-doc and substrate-introduction-audit work is permitted under the same Director-discretionary rule. +- **Applies to the 14 Evaluator-gated lanes** (T-Tier3-Dissolution, T-LensProducer-Retirement, T-Verification-L4-L7-Direct, T-Verification-L5-Corpus, T-FixedPoint, T-Omni-Shape-B, T-CostLens-Composition, T-V2-Retirement, T-Free-Consequences-Demonstration, T-Lens-Behavioral-Parity, T-Lens-Application-Surface, T-Tests-As-Data-Completeness, T-Workflow-As-Data, T-Lens-Self-Application): R2-Evaluator landed AND R2-Grounding-Rust+Python landed. Pre-R3 *brief authoring* may begin during R2 final week (Director-discretionary, mirroring R2's pre-R1-close pattern), but worker dispatch waits for the joint precondition. This prevents R3 brief authoring from spawning drift if R2 close definition slips. **T-V2-Retirement** carries an additional internal cascade gate (T-FixedPoint + T-LensProducer-Retirement must close before v2 retirement work begins); pre-cascade brief authoring is still permitted under the same Director-discretionary rule. **T-Lens-Application-Surface** carries an additional internal cascade gate (T-Lens-Behavioral-Parity must reach BEHAVIORALLY COMPLETE before application-surface dispatch); pre-cascade design-doc work is permitted. **T-Workflow-As-Data + T-Lens-Self-Application** carry the same T-Lens-Behavioral-Parity COMPLETE cascade-gate as T-Lens-Application-Surface (workflow lens consumption + self-application demonstration both consume parity-COMPLETE lenses); pre-cascade design-doc + survey work permitted (e.g., gunb-ai/gunb.ai workflowgen survey for T-Workflow-As-Data). +- **Carve-out for the 4 non-Evaluator-gated lanes** (T-Numeric-Construction, T-Anthropic-Wire, T-Bridge-Retirement, T-E-P-Producer-Broadening): these are self-contained or substrate-completion work parallel to the Evaluator-gated lanes. They consume R2 substrate carriers but not the Evaluator itself, so they MAY dispatch pre-R3 (in parallel with R2-Evaluator work) per scheduling preference. The global R3 worker-dispatch precondition above applies ONLY to the 14 Evaluator-gated lanes; the 4 non-gated lanes operate as explicitly-scoped substrate-completion work outside that precondition. **T-Numeric-Construction has its own internal cascade gate** (T-V2-Retirement landing first per path-(a) v2-refinement-syntax-blocker coordination — see [`docs/design-numeric-construction.md`](design-numeric-construction.md)); pre-cascade design-doc and substrate-introduction-audit work is permitted under the same Director-discretionary rule. -This split resolves the prior single-authority drift between `:38` (non-gated lanes can dispatch in parallel) and the global precondition (worker dispatch waits): the precondition is now scoped to the 12 Evaluator-gated lanes only, with the 4 non-gated lanes explicitly carved out. +This split resolves the prior single-authority drift between `:38` (non-gated lanes can dispatch in parallel) and the global precondition (worker dispatch waits): the precondition is now scoped to the 14 Evaluator-gated lanes only, with the 4 non-gated lanes explicitly carved out. ## R3 closure criteria From 6a52bdb228cdb91762e9b47c2479f0fceceb0a73 Mon Sep 17 00:00:00 2001 From: Brian Searls Date: Mon, 4 May 2026 21:12:02 +0000 Subject: [PATCH 6/6] =?UTF-8?q?docs(r3):=20update=20Dependency=20DAG=20to?= =?UTF-8?q?=20include=206=20new=20lanes=20+=20add=20authority=20note=20?= =?UTF-8?q?=E2=80=94=20fix=20codex=20BLOCKING=20(sha=20d6370401)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary Codex review on PR #1704 (sha d6370401) flagged that R3 gate/count facts are duplicated across summary / lane table / Dependency DAG / §"Dependency on R2" — INVARIANTS P2 single-authority violation. Two fix paths offered: update all sections to 18-lanes/14-gated, OR make one section sole authority. Picked combined approach: (a) authority note declares §"Lane structure" + §61 lane-gating-summary + §"Dependency on R2" as canonical, with Dependency DAG as illustrative-only; (b) extended the DAG visualization to include the 6 lanes added in 2026-05-02 + 2026-05-04 amendments (T-E-P-Producer-Broadening, T-Lens-Behavioral-Parity, T-Tests-As-Data-Completeness, T-Lens-Application-Surface, T-Workflow-As-Data, T-Lens-Self-Application). The Dependency DAG was lagged from BOTH the 2026-05-02 expansion (added 4 lanes; 16 total) AND the 2026-05-04 expansion (added 2 more lanes; 18 total). This commit catches it up to current state and explicitly subordinates DAG to canonical sections to prevent future drift. ## Changes - **Authority note** prepended to §"Dependency DAG": *"this DAG is illustrative; the canonical lane list with full per-lane R2-close dependencies lives in §'Lane structure' table. Counts/lane lists are not duplicated here — see §'Lane structure' + §61 lane-gating-summary + §'Dependency on R2' for the authoritative 18-lane / 14-gated state."* - **DAG extended with R3 critical-path chain** showing T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → (T-Lens-Application-Surface + T-Tests-As-Data-Completeness) → T-Workflow-As-Data → T-Lens-Self-Application. Parallels the existing post-R2-Evaluator critical-path chain. Includes lane-size + Mgr-ownership annotations for each new lane. - **"Parallel-capable work at steady state" paragraph** updated: - Old: "9+ R3 lanes parallel-dispatchable post-R2-close" - New: "14 of 18 lanes are R2-Evaluator-gated; 4 of 18 are non-gated parallel substrate-completion" - Added: cite to new R3 critical-path chain (T-E-P-Producer-Broadening → ... → T-Lens-Self-Application) parallels existing chains - Critical-path framing unchanged for original chain (R2-Evaluator → T-LensProducer-Retirement → T-FixedPoint → T-V2-Retirement) ## R3 Debt Receipt - **Debt paid**: BLOCKING single-authority discipline violation corrected. §"Dependency DAG" now subordinates to canonical authority (§"Lane structure" + §61 + §"Dependency on R2"); counts removed from this section to eliminate duplication. DAG visualization extended to include 6 new lanes from 2026-05-02 + 2026-05-04 expansions. - **Debt found + routed (process)**: this is the FOURTH instance of the cross-section-consistency pattern (§2 + §4 + §8d on PR #1608; §3a + §5 on PR #1608; §61 + §"Dependency on R2" on this PR; now §"Dependency DAG" on this PR). Pattern-strength shows the discipline rule needs more aggressive enforcement: when authoring scope-expansion amendments, **grep ALL sections that visualize/enumerate lanes BEFORE pushing the amendment, not section-by-section in review-correction mode**. Adding to discipline-tracking memory. - **No new debt**: counts and lane lists now consistent across §61 + §"Lane structure" + §"Dependency on R2" + §"Dependency DAG"; DAG section explicitly subordinated to canonical authority. Verified all 4 sections agree on 18-lanes / 14-gated count; lane lists consistent. Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/r3-structure.md | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/docs/r3-structure.md b/docs/r3-structure.md index b5ec337e41f..f4f077c5c31 100644 --- a/docs/r3-structure.md +++ b/docs/r3-structure.md @@ -213,6 +213,8 @@ Director's role unchanged: cross-program conflict resolution + scope-change esca ## Dependency DAG +**Authority note**: this DAG is **illustrative**; the canonical lane list with full per-lane R2-close dependencies lives in §"Lane structure" table. Counts/lane lists are not duplicated here — see §"Lane structure" + §61 lane-gating-summary + §"Dependency on R2" for the authoritative 18-lane / 14-gated state. This section visualizes critical-path shape only. + ``` R2 close │ @@ -257,9 +259,40 @@ T-Tier3-Diss T-LensProducer T-V-L4-L7-Direct T-FixedPoint T-Omni-Shape-B (T for Lens instances; T-CostLens-Composition for cost-related claims) + + R3 critical-path chain (NEW 2026-05-02 + extended 2026-05-04): + │ + ▼ + T-E-P-Producer-Broadening (foundational substrate; + Substrate-Mgr; M-L) + │ + ▼ + T-Lens-Behavioral-Parity (L-XL; cross-program + Substrate + Verification; + 4 sub-slices: complexity, + cost, parallelism, + effect_enumeration) + │ + ┌──────────┴──────────┐ + ▼ ▼ + T-Lens-Application-Surface T-Tests-As-Data-Completeness + (L-XL; Substrate + Verif (L; Verification-Mgr) + cross-program; carrier- — parallel branch from + general apply_lens) T-LBP COMPLETE + │ + ▼ + T-Workflow-As-Data (NEW 2026-05-04; Substrate-Mgr; M-L; + observation-driven lens-shape class — + workflow grammar + timing-lens substrate + + Shared External Attachment Pattern) + │ + ▼ + T-Lens-Self-Application (NEW 2026-05-04; Verification-Mgr; M-L; + recursive-flex demonstration — gunbc + applies own lenses to own build/CI workflow) ``` -**Parallel-capable work at steady state:** 9+ R3 lanes parallel-dispatchable post-R2-close. Critical path is `R2-Evaluator → T-LensProducer-Retirement → T-FixedPoint → T-V2-Retirement` (because fixed-point requires SG-0 = 0 which requires lens-producer retirement; v2 retirement cascades on fixed-point + lens-producer closing). Verification has its own internal critical path: `T-V-L4-L7-Direct → T-V-L5-Corpus` (because Corpus's L5 cross-target work consumes Direct's L4 corpus). T-Free-Consequences-Demonstration parallels the Verification critical path post-R2-Evaluator. +**Parallel-capable work at steady state**: 14 of 18 lanes are R2-Evaluator-gated; 4 of 18 are non-gated parallel substrate-completion (T-Numeric-Construction, T-Anthropic-Wire, T-Bridge-Retirement, T-E-P-Producer-Broadening). Once R2-Evaluator lands + the cascade prerequisites close, the 14 gated lanes parallel-dispatch with critical-path serialization on the chain shown above. Critical path is `R2-Evaluator → T-LensProducer-Retirement → T-FixedPoint → T-V2-Retirement` (fixed-point requires SG-0 = 0 which requires lens-producer retirement; v2 retirement cascades on fixed-point + lens-producer closing). Verification has its own internal critical path: `T-V-L4-L7-Direct → T-V-L5-Corpus` (because Corpus's L5 cross-target work consumes Direct's L4 corpus). The new R3 critical-path chain (T-E-P-Producer-Broadening → T-Lens-Behavioral-Parity → T-Lens-Application-Surface → T-Workflow-As-Data + T-Lens-Self-Application) parallels both. T-Free-Consequences-Demonstration parallels the Verification critical path post-R2-Evaluator. ## Compromises being made