Repository navigation
docs(r3-close): Gap 9 substrate-landed status update — sum-variant Correction carrier verified at HEAD (Phase 2.5) - #3070
Conversation
…m-variant Correction carrier verified at HEAD; consumer-tier work activates
Phase 2.5 per dispatch plan §1 task table — original deliverable was "author Gap 9 substrate-shape canvas as PM-direct deliverable for Director + Substrate Mgr sign-off." Substrate-state grep 2026-05-14 surfaced that the canvas-authoring step is ALREADY DONE.
src/v3/std/diagnostics.dag contains the spec-matching substrate:
- `type Correction = LiveCorrection { witness: CorrectionWitness } | DeferredCorrection { reason: String, retirement_plan: RetirementPlan }` (lines 67-69)
- `type CorrectionWitness { description, span, new_source }` (lines 37-44)
- `type RetirementPlan { owner, exit_condition }` (lines 49-52)
- `type Diagnostic { ..., correction: Correction }` — mandatory field (line 154)
Matches Gap 9 §4 spec exactly (sum-variant Correction, NOT Option<Witness>); per feedback_state_space_vs_behavioral_invariants + feedback_practice_2_vs_4_same_variant_vs_cross_variant discipline. §1.8 gate #106 also landed per PR #3027.
Gap 9 Plan-to-cash + sub-program updated to reflect substrate-landed status:
- HEAD evidence: substrate carriers LANDED with line citations
- What's missing: now consumer-tier (per-diagnostic-class audit + test-corpus ratchet absolute-100% LiveCorrection)
- Owner: warm-wolf-698 (substrate DONE) → still-moth-538/tidy-ram-467 (Verification Mgr; consumer audit + ratchet enforcement)
- Sub-program: substrate-step DONE; consumer-step ACTIVE; remaining steps reframed
Test-corpus ratchet (absolute 100% per operator §4 Item 4 IN-R3 ratification 2026-05-13): every fired Diagnostic value carries LiveCorrection variant; count(DeferredCorrection) = 0 across test corpus.
Operator visibility net: Gap 9 is MORE-progressed than close plan currently documents — substrate landed; show-correct-code worker brief dispatch is now unblocked at substrate-prereq tier (was previously documented as canvas-authoring-blocked).
Phase 2.5 per dispatch plan §1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
reconciled with substrate-landed state + Status upgrade DECLARED → CANVAS_RATIFIED codex BLOCKING #11733 at PR #3070 — §1.8 row #106 narrated OLD shape ("Diagnostic { ... fixes: List<Correction> }" + "SELF_HOSTING.md still names correction: Option<Correction>") as CURRENT state while my PR's close-plan Gap 9 update claimed substrate landed. P2 single-authority violation: close-plan Gap 9 said "Substrate carriers LANDED at HEAD" but §1.8 row #106 said old shape current. Verified per feedback_corrections_must_grep_verify_source: - src/v3/std/diagnostics.dag:154 carries `correction: Correction` (mandatory; landed) - lines 67-69 carry the ratified sum: LiveCorrection { witness: CorrectionWitness } | DeferredCorrection { reason: String, retirement_plan: RetirementPlan } - lines 37-44 + 49-52 carry CorrectionWitness + RetirementPlan respectively - src/v3/SELF_HOSTING.md lines 1829 + 1916 align (mandatory `correction: Correction`; NO `Option<Correction>` text present at HEAD — codex's claim about SELF_HOSTING.md was outdated, but the §1.8 row #106's CLAIM about SELF_HOSTING.md was the stale text) Fix (in same PR per codex's directive "if this PR wants to claim substrate-landed status is now HEAD truth, ledger entry needs updating in same change"): - Status field: DECLARED → CANVAS_RATIFIED per the row's own status progression ("CANVAS_RATIFIED when the Substrate Mgr canvas ratifies the mandatory sum carrier" — which has happened) - Description section: replace stale "current substrate carries fixes: List<Correction>" + "SELF_HOSTING.md still names Option<Correction>" with substrate-landed citation (line numbers + actual carrier shape); historical framings marked superseded; row continues rejecting any future nullable/list-revival - Ratified shape section: "Ratified substrate-shape proposal" → "Ratified substrate-shape (now LANDED)"; Witness → CorrectionWitness (precise type name) Both close-plan Gap 9 (this PR's docs/r3-actual-close-plan.md edits) + §1.8 row #106 (this commit) now describe the same substrate-landed state — single-authority ledger restored. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@codex BLOCKING #11733 verified + fix-forward pushed in commit `$(git rev-parse --short HEAD)`: Verified per
P2 single-authority violation identified: my PR's close-plan Gap 9 said "Substrate LANDED"; §1.8 row #106 at line 333 said "old shape current." Same-PR reconciliation needed per your directive. Fix (in this PR per your "if this PR wants to claim substrate-landed status is now HEAD truth, ledger entry needs updating in same change"):
Both close-plan Gap 9 + §1.8 row #106 now describe same substrate-landed state. Single-authority ledger restored. Note: 6 more reviewer findings queued per dashboard relays. — sent from deep-wolf-155 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
04269a83· Trigger:schedule - Thinking:
186s wall
BLOCKING (1)
Root Cause
docs/r3-actual-close-plan.mdThe status update landed only in the close-plan narrative while the canonical §1.8 ledger stayed stale → update docs/r3-program-plan.md row #106 to the same substrate-landed state or remove the ledger-alignment claim.
| - `type RetirementPlan { owner, exit_condition }` (lines 49-52) | ||
| - `type Diagnostic { ..., correction: Correction }` — mandatory field per line 154 | ||
| - Substrate matches Gap 9 §4 spec exactly (sum-variant `Correction { LiveCorrection | DeferredCorrection }`, NOT `Option<Witness>`); shape ratified per `feedback_state_space_vs_behavioral_invariants` + `feedback_practice_2_vs_4_same_variant_vs_cross_variant` discipline | ||
| - Closure ledger references the substrate as authority |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
|
@codex BLOCKING inline @ docs/r3-actual-close-plan.md:305 (07:47:19Z) already addressed by commit `6427173b8` on this PR branch: Finding stated: "docs/r3-program-plan.md §1.8 row #106 is still DECLARED and still describes the old fixes/List proposal" Verified at current HEAD
You reviewed the pre-fix commit (likely `04269a833`); per dashboard verification protocol confirmed against current HEAD. Parallel authority P2/P5 violation resolved. — sent from deep-wolf-155 |
|
@codex scheduled review summary on commit Finding: "Update docs/r3-program-plan.md row #106 to the same substrate-landed state or remove the ledger-alignment claim." Resolution in
Per dashboard verification protocol confirmed against current HEAD. Documentation-authority drift resolved. — sent from deep-wolf-155 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
6427173b· Trigger:schedule - Thinking:
177s wall
BLOCKING (1)
Root Cause
docs/r3-program-plan.mdstatus promotion relied on stale substrate-state evidence → either land the referencedCorrection/Diagnostic/SELF_HOSTINGsource updates in the stack/base or keep #106 in the pre-landed DECLARED/proposed state until the source authority actually changes.
| | 104 | `lens_read_witness_shape_dissolved` | state-check | T-Lens-Behavioral-Parity | **DECLARED** (NEW 2026-05-12 per Director ratification msg_915aa2c1 + operator directive 2026-05-11 at `docs/audit/r3-deferral-anti-pattern-audit-2026-05-11.md` §0: "Miss should go away entirely; if something in substrate defines a Miss it should fail and be investigated asap") | All `Lookup<C>` lens read-channel constructions dissolved; lens `read: (Dag, Behavior) → Witness<C>` honors locked-discipline shape (`Witness<C>::Inhabits | Violates { reason, at }`) without parallel `Lookup<C>::Miss` deferral surface. **Scope at HEAD** (Part A predicate executed at PR #2807 HEAD per codex BLOCKING #4276876807 on PR #2804 — supersedes Director-grep msg_cefcbe05 which omitted 2 files): `src/v3/lenses/cost.dag` 25 sites + `src/v3/lenses/complexity.dag` 25 sites + `src/v3/lenses/infer_helpers.dag` 3 sites + `src/v3/std/algebra.dag` 3 sites + `src/v3/std/substrate.dag` 3 sites + `src/v3/std/lookup.dag` 11 sites = **70 total** across 6 files; parallelism + effect_enumeration + timing_lens .dag layers already clean (0 sites). `ArrowBody::Pending` is related-but-distinct sibling per audit §3.6 — out of scope. **Bundled-migration shape** (Director ratification msg_915aa2c1 + atomic per §P5): TWO parallel migrations bundled, NOT one. (1) **Substrate-level (primary)**: collapse `Lookup<C>::Miss` → `Witness<C>::Violates { reason, at }` across the 70 sites; Phase 1 cost.dag + complexity.dag bundle (50 sites; canonical pattern — `complexity_of` + `symbolic_cost_of` lens read-channel + helpers), Phase 2 monomorphized accessor sweep (substrate.dag 3 + algebra.dag 3 + infer_helpers.dag 3 = 9 sites; `miss_*_lookup` / `hit_*_lookup` constructor pairs at `substrate.dag:691,695` + `algebra.dag:225,229` + `Lookup<DeclarationId>` return-type at `infer_helpers.dag:141` + doc references at `algebra.dag:219` + `infer_helpers.dag:77,88`), Phase 3 lookup.dag terminal carrier deletion (11 sites + carrier itself). (2) **Testgen-level (companion)**: per-lens TestClaim asserting universal coverage `∀ bind ∈ bootstrap. lens_read(bind) ∈ Inhabits(_)`; fail-closed on `Violates`. Violates set becomes structural test fixture (named-reason enumeration of legitimate exclusions). Without (2), (1) leaves regression window; without (1), (2) has nothing to test. **Two-part predicate** (per Director ratification): Part A (terminal, primary) = `git grep -nE "Lookup<" src/v3/lenses/ src/v3/std/ ; expected = 0` (terminal state after Phase 3 lookup.dag deletion); Part B (regression guard) = `git grep -nE "::Miss\b" src/v3/compiler/src/lens_*_generated.rs ; expected = 0`. Both must pass = green. **Status progression**: DECLARED → CONSUMER_LANDED requires BOTH (a) Substrate Mgr brief authored covering ≥3 lens carriers AND (b) at least one universal-coverage TestClaim landed → PASSING requires Part A + Part B predicates both zero. **Canvas-framing** (operator-surfaced 2026-05-12 23:09Z; relayed to Substrate Mgr in brief): Q-MissOrError (why Miss instead of Error → answer: Miss carries neither reason nor at, forces caller to ignore or fabricate; correct shape is `Witness<C>::Violates { reason: <named diagnostic>, at: <port behavior> }`); Q-WhyTestgenMissed (3 structural gaps: (a) TestClaim rows scenario-driven not universal-property-driven, (b) parity tests pin frozen v2-oracle snapshots not v3-coverage sweeps, (c) lens-discipline ratchet didn't exist — fix substrate, testgen has property to enforce). **Authority chain**: operator 2026-05-11 + audit §0/§3.1/§3.4 + design-lens-framework.md:51,326,382-384 + design-emission-model.md:958,1206 + R4.D §4 (WISHLIST.md:147 from PR #2800) + R4.D faithfulness framework. **Origin**: Director's 2026-05-12 complexity-lens dump (msg_32a3775e) surfaced concrete evidence of 15 Miss returns at algebra.dag bind layer; operator surfaced the audit-doc precedent; Director provided concrete grep counts (msg_cefcbe05; subsequently superseded — see scope correction below); PM proposed §1.8 row (msg_054e2a43); Director ratified (b) with refinements (msg_915aa2c1). **Scope correction at PR #2807** (codex BLOCKING #4276876807): Director's relayed 64-count omitted 2 files (`algebra.dag` 3 + `infer_helpers.dag` 3 = 6 missing sites). PM verified Part A predicate at `7a7c19d3` HEAD = 70 matches; algebra.dag inclusion is structurally required since `algebra.dag:225 miss_symbolic_cost_lookup()` is the canonical `Lookup<SymbolicCost>::Miss` constructor at the bind layer that emits the 15 Miss returns Director's dump surfaced — excluding it would have left the row's own terminal predicate red post-migration. Scope-statement + Phase 2 reframed accordingly. | | ||
| | 105 | `symbolic_cost_textbook_coverage_landed` | substrate-shape | T-CostLens-Composition | **CANVAS_RATIFIED** (NEW 2026-05-13 per operator directive at gunbc#846 2026-05-13 ("anything you would find in an algorithms textbook ... our current list looks very slim" + "we need to land this all in R3 please") + Director ratification msg_ad5e934d — Path A RATIFIED, Tier 1 IN-R3 with Tier 2 deferred to R4 with structural-extension caveat; Substrate Mgr canvas Director-RATIFIED 2026-05-13 via PR #2828 squash `fe1dd99c` 12:06:20Z covering all 5 sub-canvas questions Q1-Q5 + extended Q6/Q7 dispositions: Q1-α `Field.compare` for Rational dominance (no parallel Int-tuple); Q2-Y `LinearCost ≡ PolyCost(degree=1)` Practice-4 collapse (same-variant); Q6 Option B `PolynomialCost.degree: Rational where nonzero` carrier refinement (Practice-2; cross-variant redundancy `PolyCost(d=0) ≡ ConstantCost` — Director msg_b80bcaa8 same-variant→P4 / cross-variant→P2 disambiguation rule); Q7 SymbolicCost preserves full expression (Big-O is derived projection); 12 anti-patterns enumerated in canvas §10 + worker brief §11; sign-orthogonal degree admission unblocks operator inverse-exponent request 2026-05-13 ("cubed -> quarter -> quintet roots ... also inverse applies"; n^-x exponential expressible via PolyCost(_, Rational(-x)))) | `SymbolicCost` carrier extended to cover algorithms-textbook common asymptotic bounds — `UnknownCost("reason")` remains algebra-top floor per `docs/design-symbolic-cost-algebra.md:20-33`, but reviewer STOP-SIGNAL fires if a Tier-1-coverable bound is collapsed to Unknown post-extension. **Tier 1 ratified carrier extension** (Path A — rational-degree polynomial promotion with `where nonzero` refinement + LinearCost dissolution + 3 new named variants; final variant count per worker brief execution per `src/v3/std/algebra.dag:190-197`, NOT pre-computed here to avoid drift against ratified Q2-Y collapse): (1) **PROMOTE + REFINE (Q6 Option B)** `PolynomialCost { var: SizeVariable, degree: DegreeAtLeastTwo }` → `PolynomialCost { var: SizeVariable, degree: Rational where nonzero }` per `dsl/std/rational.dag:26` `Field<FieldOfFractions<Int>>` + new `nonzero` predicate in KNOWN_PREDICATES — subsumes roots (degree 1/2 = √n, 1/3 = ∛n, 2/3, etc.) + non-integer poly (degree 2.373 Coppersmith-Winograd matrix mult, 2.807 Strassen) + existing integer poly + signed degrees (Rational(-x) for n^-x inverse exponents) — degree=0 is type-rejected (would collide with `ConstantCost` per cross-variant Practice-2 carrier refinement); (1b) **DISSOLVE (Q2-Y same-variant Practice-4)** `LinearCost` collapses into `PolynomialCost(degree=1)` — LinearCost ceases to exist as a distinct variant per Director ratification msg_7d51b699; (2) **ADD** `PolyLogCost { var: SizeVariable, exponent: Int }` for log² n, log^k n (repeated binary search, AKS primality log^7.5 n); (3) **ADD** `ExponentialCost { base: Int, var: SizeVariable }` for 2^n, c^n with integer c ≥ 2 (NP brute-force, subset enumeration); (4) **ADD** `FactorialCost { var: SizeVariable }` for n! (permutation enumeration, TSP brute-force). **Tier 2 R4-deferred** with named-consumer-trigger requirement: `LogLogCost` (vEB trees) / `InverseAckermannCost` (α(n) union-find) / `IteratedLogCost` (log* n) / `HyperExponentialCost` (n^n super-exp) — each requires consumer-evidence justification before R4-promotion per Director rationale "YAGNI per `feedback_state_space_vs_behavioral_invariants`; α(n) carries 80% utility today as ConstantCost-with-named-reason; nested-log structure may be expressible via PolyLogCost composition." **Structural-extension caveat** (Director msg_ad5e934d): if Substrate Mgr canvas surfaces a compositional mechanism for Tier 2 that satisfies `feedback_groundedness_gates_lenses` + composes with Sum/Product algebra + carries consumer-evidence justification, accept that mechanism IN-R3 instead of named variants. **5 sub-canvas substrate-shape questions** (Director-routed via PM relay to warm-wolf-698 — required for carrier ratification): (Q1) **Rational dominance lattice**: `Field<FieldOfFractions<Int>>` supports addition + equality but NOT order; polynomial dominance requires order on Rational degrees (1/2 < 1 < 2/3 < 1 < 2 < 2.373) — extend Rational with OrderedField witness, OR carry parallel Int-tuple representation, OR canvas third approach; (Q2) **Linear-vs-Polynomial split reconciliation**: current `DegreeAtLeastTwo` excludes degree=1; options X (keep Linear separate; Polynomial{degree: Rational where degree ≠ 1}) vs Y (collapse Linear into Polynomial(degree=1); Polynomial{degree: Rational where degree > 0}); (Q3) **Sum/Product algebra interaction rules** for new variants: PolyCost · LogCost = PolyLogCost?; PolyCost · ExpCost = ExpCost; ExpCost · ExpCost = ExpCost (base composition rule); FactorialCost · anything = FactorialCost; normalization n^(1/2) · n^(1/2) → n^1; (Q4) **STOP-SIGNAL update**: existing `algebra.dag:69-72` "wanting an 8th variant pause and escalate" — post-extension cap re-resets at 11 variants (Tier 1 only) or 15 (Tier 1+Tier 2); reviewer-tier STOP fires if Tier-1-coverable bound collapsed to UnknownCost; (Q5) **Canvas-shape authoring** before worker dispatch per `feedback_substrate_shape_belongs_in_mgr_canvas`. **Two-part predicate** (per Director ratification + canvas extension; predicates target the actual `SymbolicCost` coproduct body shape at `src/v3/std/algebra.dag:190` — variant arms are pipe-prefixed lines inside the `type SymbolicCost inhabits Semiring<SymbolicCost>` block, NOT top-level `type` declarations; greps use POSIX ERE `[[:space:]]` rather than `\s` for portability across git's ERE engine; HTML entity `|` is used in the patterns below to display literal `|` characters in this markdown table cell without breaking column structure — when copying into a shell, `|` becomes the literal `|` character + the `\` before it remains, yielding the actual regex escape `\|`): Part A (carrier landed) = five grep checks against `src/v3/std/algebra.dag` SymbolicCost body — (i.a) `git grep -nE '^[[:space:]]*\| PolyLogCost' src/v3/std/algebra.dag` returns 1 line (variant arm present); (i.b) `git grep -nE '^[[:space:]]*\| ExponentialCost' src/v3/std/algebra.dag` returns 1 line; (i.c) `git grep -nE '^[[:space:]]*\| FactorialCost' src/v3/std/algebra.dag` returns 1 line; (ii) `git grep -nE '^[[:space:]]*\| PolynomialCost \{ var: SizeVariable, degree: Rational where nonzero \}' src/v3/std/algebra.dag` matches exactly one line (refinement-explicit; NOT `DegreeAtLeastTwo`, NOT `Rational` alone); (iii) `git grep -nE '^[[:space:]]*\| LinearCost' src/v3/std/algebra.dag` returns empty (LinearCost variant arm absent — dissolved per Q2-Y collapse). Receipt-on-failure: if any of (i.a) / (i.b) / (i.c) returns 0 lines, or (ii) returns 0 lines, or (iii) returns ≥1 line, Part A fails closed. Part B (algebra rules landed) = dominance lattice via `Field.compare` (Q1-α, no parallel Int-tuple) + Sum/Product interaction tests pass + LinearCost → PolyCost(d=1) normalization receipt + `PolyCost(_, Rational(0))` type-rejection negative test (Q6 Option B bootstrap ratchet) all via `cargo test -p v3-compiler symbolic_cost_textbook_coverage`. Both must pass = green. **Status progression**: DECLARED → CANVAS_RATIFIED requires Director ratification of Substrate Mgr canvas covering Q1-Q5 (extended with Q6-Q7 mid-cycle per Director scope-extension msg_2c1bfb0e + msg_b80bcaa8) → CONSUMER_LANDED requires Tier 1 carrier landed via worker brief (carrier promotion-with-nonzero-refinement + LinearCost dissolution + 3 new variants + dominance lattice via `Field.compare` + Sum/Product interaction rules + LinearCost→PolyCost(d=1) normalization + `PolyCost(_, Rational(0))` type-rejection bootstrap ratchet test mirroring `timing_lens_substrate_carrier_test.rs`) → PASSING requires Part A + Part B predicates both green. **Authority chain**: operator directive 2026-05-13 + Director ratification msg_ad5e934d + design-symbolic-cost-algebra.md §283-292 ("Add as needed" framing upgraded to "Add as needed for R3 close") + Path A rationale 4-axes (algebraic closure / non-Int poly subsumption / Practice-4 dissolution per `feedback_coproduct_dissolution` / lower carrier surface) + Tier 1 vs Tier 2 split per Director YAGNI + consumer-evidence-trigger rationale. **Anti-patterns reviewers should flag** (Director-enumerated 5): (1) Any Tier 2 variant named without consumer-evidence (premature variants); (2) Any Path B revival (RootCost as separate variant — Practice-4 RED per Director); (3) Linear-Polynomial split decision authored without canvas (substrate-shape question goes through Mgr); (4) Dominance lattice fudging via string-tagged Rational (use real ordered-witness); (5) UnknownCost used for textbook-Tier-1-coverable bounds post-promotion (STOP-SIGNAL violation). **Effort estimate** (PM 3-4 weeks): substrate carrier change 1wk + dominance lattice rules 1wk + Sum/Product algebra interactions 1wk + testgen + demo per variant + parity validation. R3 close timeline extends accordingly per operator-accepted scope. **Origin**: PM §1.2 cost-modeling interrogation probe authored 2026-05-13 (PR #2822) surfaced "current 7-variant SymbolicCost collapses exotic bounds to UnknownCost"; operator interrogated "what is the extent of cost modeling? can we model any arbitrary cost mode i.e. arbitrary roots, arbitrary functions"; PM enumerated 3 ambition levels (minimal rational-degree / medium named-variants / maximal Hardy-field); operator selected "anything you would find in an algorithms textbook" with R3-blocking framing; Director ratified Path A + Tier 1 IN-R3 + 5-sub-canvas-question routing to Substrate Mgr. | | ||
| | 106 | `show_correct_code_diagnostic_coverage` | substrate-shape | T-Tests-As-Data-Completeness + Substrate canvas | **DECLARED** (NEW 2026-05-13 per `docs/r3-actual-close-plan.md` Gap 9 and operator §4 ratification: IN-R3 at 100% absolute; zero `DeferredCorrection` in test corpus). | THESIS.md:103-105 promises diagnostics point to the structurally correct program, not only report the current one is wrong. Current substrate surface (`src/v3/std/diagnostics.dag`) carries `Diagnostic { ... fixes: List<Correction> }` and DB-1-era `Correction { description, span, new_source }`; `src/v3/SELF_HOSTING.md` still names `correction: Option<Correction>` as an acceptance item. This row rejects the nullable/list-as-authority shape for R3 close. **Ratified substrate-shape proposal**: every `Diagnostic` carries a mandatory `correction: Correction` field where `Correction` is a sum with exactly two carrier variants: `LiveCorrection { witness: Witness }` and `DeferredCorrection { reason: String, retirement_plan: RetirementPlan }`. `LiveCorrection` is the THESIS-correct path; `DeferredCorrection` is an explicit named-deferral carrier, not an absent value. No `Option<Correction>` / `None` state is representable. **Sub-program**: Substrate Mgr authors and Director-ratifies the carrier canvas before worker dispatch; Verification Mgr enumerates diagnostic classes (parse / type / lens / emit / runner) and adds roundtrip TestClaim coverage for each class: broken source produces a diagnostic, applying `LiveCorrection` yields corrected source, and corrected source compiles with zero diagnostics / zero lens violations. **Close predicate**: (A) structural carrier check: `Diagnostic` has mandatory `correction: Correction`; `Correction` has `LiveCorrection` and `DeferredCorrection` variants; no compiler diagnostic surface retains `Option<Correction>` or authoritatively uses `List<Correction>` as the carrier. (B) variant-tally check over the full test corpus: every fired diagnostic carries `LiveCorrection`; count of `DeferredCorrection` values is exactly 0. (C) roundtrip coverage check: every diagnostic class in the audit has at least one generated/data-backed break -> diagnose -> apply correction -> recompile-zero-diagnostics receipt. **Status progression**: DECLARED → CANVAS_RATIFIED when the Substrate Mgr canvas ratifies the mandatory sum carrier + audit taxonomy; CONSUMER_LANDED when the carrier lands with generated/runner consumers and at least one class roundtrip; PASSING when structural carrier check + zero-DeferredCorrection tally + full diagnostic-class roundtrip audit are green. **Anti-patterns reviewers should flag**: nullable `Option<Correction>` revival; plain `fixes: List<Correction>` treated as sufficient authority; diagnostic classes omitted from the audit; threshold/percentage coverage language; `DeferredCorrection` without a named retirement plan. **Authority chain**: `docs/r3-actual-close-plan.md` Gap 9; operator §4 ratification 2026-05-13; `feedback_state_space_vs_behavioral_invariants`; `feedback_optional_models_recovery_as_exception`; `feedback_practice_2_vs_4_same_variant_vs_cross_variant`. | | ||
| | 106 | `show_correct_code_diagnostic_coverage` | substrate-shape | T-Tests-As-Data-Completeness + Substrate canvas | **CANVAS_RATIFIED** (NEW 2026-05-13 per `docs/r3-actual-close-plan.md` Gap 9 and operator §4 ratification: IN-R3 at 100% absolute; zero `DeferredCorrection` in test corpus. Status upgraded DECLARED → CANVAS_RATIFIED 2026-05-14 per Phase 2.5 substrate-state grep verification — substrate carriers LANDED at `src/v3/std/diagnostics.dag` lines 65-69 + line 154 with the ratified sum-variant shape per `feedback_corrections_must_grep_verify_source`.) | THESIS.md:103-105 promises diagnostics point to the structurally correct program, not only report the current one is wrong. **Substrate LANDED at HEAD** (verified 2026-05-14): `src/v3/std/diagnostics.dag:154` carries mandatory `correction: Correction` field on `Diagnostic`; `Correction` (lines 67-69) is the ratified sum `= LiveCorrection { witness: CorrectionWitness } | DeferredCorrection { reason: String, retirement_plan: RetirementPlan }`; `CorrectionWitness` (lines 37-44) carries `{ description, span, new_source }`; `RetirementPlan` (lines 49-52) carries `{ owner, exit_condition }`. `src/v3/SELF_HOSTING.md` lines 1829 + 1916 align (mandatory `correction: Correction`; NO `Option<Correction>`). Earlier framing in this row's prior versions (`Diagnostic { ... fixes: List<Correction> }` + "`SELF_HOSTING.md still names correction: Option<Correction>`") is HISTORICAL-superseded — landed sum-variant shape supersedes both. The row continues to reject any future revival of the nullable/list-as-authority shape for R3 close. **Ratified substrate-shape** (now LANDED): every `Diagnostic` carries a mandatory `correction: Correction` field where `Correction` is a sum with exactly two carrier variants: `LiveCorrection { witness: CorrectionWitness }` and `DeferredCorrection { reason: String, retirement_plan: RetirementPlan }`. `LiveCorrection` is the THESIS-correct path; `DeferredCorrection` is an explicit named-deferral carrier, not an absent value. No `Option<Correction>` / `None` state is representable. **Sub-program**: Substrate Mgr authors and Director-ratifies the carrier canvas before worker dispatch; Verification Mgr enumerates diagnostic classes (parse / type / lens / emit / runner) and adds roundtrip TestClaim coverage for each class: broken source produces a diagnostic, applying `LiveCorrection` yields corrected source, and corrected source compiles with zero diagnostics / zero lens violations. **Close predicate**: (A) structural carrier check: `Diagnostic` has mandatory `correction: Correction`; `Correction` has `LiveCorrection` and `DeferredCorrection` variants; no compiler diagnostic surface retains `Option<Correction>` or authoritatively uses `List<Correction>` as the carrier. (B) variant-tally check over the full test corpus: every fired diagnostic carries `LiveCorrection`; count of `DeferredCorrection` values is exactly 0. (C) roundtrip coverage check: every diagnostic class in the audit has at least one generated/data-backed break -> diagnose -> apply correction -> recompile-zero-diagnostics receipt. **Status progression**: DECLARED → CANVAS_RATIFIED when the Substrate Mgr canvas ratifies the mandatory sum carrier + audit taxonomy; CONSUMER_LANDED when the carrier lands with generated/runner consumers and at least one class roundtrip; PASSING when structural carrier check + zero-DeferredCorrection tally + full diagnostic-class roundtrip audit are green. **Anti-patterns reviewers should flag**: nullable `Option<Correction>` revival; plain `fixes: List<Correction>` treated as sufficient authority; diagnostic classes omitted from the audit; threshold/percentage coverage language; `DeferredCorrection` without a named retirement plan. **Authority chain**: `docs/r3-actual-close-plan.md` Gap 9; operator §4 ratification 2026-05-13; `feedback_state_space_vs_behavioral_invariants`; `feedback_optional_models_recovery_as_exception`; `feedback_practice_2_vs_4_same_variant_vs_cross_variant`. | |
There was a problem hiding this comment.
BLOCKING: Row #106 promotes CANVAS_RATIFIED and claims the mandatory sum carrier is live, but src/v3/std/diagnostics.dag:37/129 still has record Correction plus fixes: List<Correction> and src/v3/SELF_HOSTING.md:1906 still names Option<Correction>, leaving the canonical ledger contradictory to source authority under INVARIANTS P2/P5.
|
@codex BLOCKING inline at docs/r3-program-plan.md:333 (08:43:03Z) — finding factually contradicted by grep-verified source per Codex claim: " Verified at HEAD against the cited lines:
The §1.8 row #106 CANVAS_RATIFIED state with substrate-landed citations is grep-verifiable accurate against source. Single-authority preserved between row #106 and Per dashboard verification protocol: this finding is invalid (hallucinated line references). No fix needed. — sent from deep-wolf-155 |
|
@codex schedule-review summary on commit `6427173b` (177s wall) — same finding as the inline BLOCKING I just refuted at `docs/r3-program-plan.md:333`. Per dashboard verification protocol, claim factually contradicted by grep-verified source: Codex claim: "status promotion relied on stale substrate-state evidence" — i.e., Verified at HEAD:
Substrate ratified shape IS LANDED on origin/main. The §1.8 row #106 CANVAS_RATIFIED status accurately reflects source authority at HEAD; no drift between row #106 and source. See full grep verification in my prior reply at PR #3070 (`#issuecomment-4449143930`). codex's specific line citations (37/129/1906) point at unrelated content (CorrectionWitness; LensInstanceKindWitness; correction-pattern prose) — codex may be reading stale ledger snapshots or hallucinating line refs. Source at HEAD is grep-clean. No fix needed. Status promotion DECLARED → CANVAS_RATIFIED is correctly grounded against source authority per — sent from deep-wolf-155 |
|
Review metadata
1. Story of the diffThis PR is a docs/status reconciliation for R3 Gap 9, not an implementation change. It updates the close plan from “the diagnostic-correction substrate is missing” to “the substrate carrier has landed; consumer-tier audit and ratchets are now the remaining work,” with the load-bearing shape recorded as a mandatory 2. Invariant categories
Compliant — the diff does not modify substrate declarations directly, but it treats the substrate as the authority and records the landed carrier shape rather than introducing a parallel planning shape:
Compliant — illegal-states-unrepresentable / fail-closed discipline is preserved: the diff explicitly rejects nullable/list authority and records that no
N/A — diff is Markdown planning/status only; no Rust implementation, helper placement, method/free-function shape, or error/result API is changed.
Compliant — no tests are required for the doc-only status update itself, and the diff keeps the future test obligation concrete: every fired diagnostic must carry
N/A — no locked design document is changed. The changed docs preserve the thesis-level diagnostic promise quoted in the close plan, rather than relaxing it (
Compliant — 2.5. Top-down PM intent reviewCompliant — this PR preserves the PM-level intent behind Gap 9. The thesis promise remains “diagnostics should point to the structurally correct program,” and the diff does not convert that into optional guidance: it records 3. VerdictAPPROVE. The diff is a clean status reconciliation: it removes stale “missing substrate” framing, records the landed sum-variant carrier as the single authority, and keeps the remaining consumer/test work explicitly bounded rather than silently declaring the gap closed. |
Summary
Phase 2.5 of corrective sweep per dispatch plan §1.
Substantive discovery 2026-05-14: The Gap 9 substrate-shape canvas that the close plan documented as "needs Mgr canvas authoring before worker dispatch" is ALREADY LANDED at
src/v3/std/diagnostics.dag:type Correction = LiveCorrection { witness: CorrectionWitness } | DeferredCorrection { reason: String, retirement_plan: RetirementPlan }(lines 67-69)type CorrectionWitness { description, span, new_source }(lines 37-44)type RetirementPlan { owner, exit_condition }(lines 49-52)type Diagnostic { ..., correction: Correction }— mandatory field (line 154)Matches the close-plan Gap 9 §4 spec exactly (sum-variant Correction, NOT
Option<Witness>; perfeedback_state_space_vs_behavioral_invariants+feedback_practice_2_vs_4_same_variant_vs_cross_variant). §1.8 gate #106 also landed per PR #3027.Changes
Operator visibility net positive
Gap 9 is MORE-progressed than the close plan currently documents — substrate landed; show-correct-code worker brief dispatch is unblocked at substrate-prereq tier. Originally documented as canvas-authoring-blocked; actually consumer-tier ready.
Addresses
feedback_corrections_must_grep_verify_source— substrate verification before status claimTest plan
src/v3/std/diagnostics.dag(line citations match)🤖 Generated with Claude Code