Repository navigation
fix(r3): Cluster M follow-up corrections — Phase 1 carrier set + #87 conflation - #2365
Merged
Merged
Conversation
…conflation (codex BLOCKING post-merge) Follow-up correction PR for codex BLOCKING (4) on merged PR #2362 sha 6027978 (per-finding analysis at #2362 issuecomment-4412858415). PRs #2361 + #2362 + #2363 + #2364 already merged 15:14-15:20Z 2026-05-09; this PR corrects 2 substantive bugs that landed in the merged briefs + sequencing plan. **Bug #1: Phase 1 substrate carrier set incomplete (3 of 5)** Locked design `docs/design-tests-as-data-completeness.md` §6 line 344 says Phase 1 introduces 5 carriers: ProgramGenerator, ProgramShape, Quantifier, QuantifiedTestClaim, SuiteClaim. Merged briefs only listed 3 (Quantifier, QuantifiedTestClaim, ProgramGenerator); missed ProgramShape (element type of ProgramGenerator's body) + SuiteClaim (wrapper sum with Enumerated/Quantified variants for TestSuite.claims migration per design §6 line 344). Workers reading the briefs would close #85/#86 without full substrate surface — INVARIANTS P2 boundary sufficiency. Fix: - substrate-canvas-asks brief §0 Scope: 5 carriers split across #85 (Quantifier+QuantifiedTestClaim+SuiteClaim per §2.2) and #86 (ProgramGenerator+ProgramShape per §2.1) - substrate-canvas-asks brief §3.1: add SuiteClaim with verbatim variant signature + TestSuite.claims migration note - substrate-canvas-asks brief §3.2: add ProgramShape with verbatim signature + LiteralProgram bootstrap variant per §8.2 - sequencing plan §1.2 dependency structure: 5-carrier split across Phase 1 (#85+#86); #87 reframed as "uses existing DB-15 TestClaim + DifferentialEquals/LensOutputEquals (terminal predicates)" rather than "consumes #85/#86 carriers" - sequencing plan §2 Lane-Mgr partition: 5-carrier authoring scope with `SuiteClaim` (#85) + `ProgramShape` (#86) added **Bug #2: #87 conflated with #85/#86 dependencies (real bug)** Discipline-87 brief said "every .dag lens has at least one cementing test in .dag form using #85 Quantifier + QuantifiedTestClaim carriers + #86 ProgramGenerator carrier" — but cementing uses LensRegistry projection ratchet with DifferentialEquals/LensOutputEquals TestClaims per locked design §C5. ProgramGenerator ranges over ProgramShape (program family axis), NOT over LensRegistry rows. The conflation would make ProgramGenerator a closed roster over lens rows — exactly the anti-pattern flagged in lens-library-design.md §1.5 that ProgramGenerator was specifically designed to avoid. Fix: - discipline-87 brief §2 Dispatch trigger: rewrote — #87 dispatches independently of #85/#86 at predicate level. Existing DB-15 TestClaim + DifferentialEquals/LensOutputEquals (TERMINAL predicates available on main today) are the cementing axis. Phase 1 → #87 coupling exists at SuiteClaim wrapper level only (mechanical post-#85 wrap, backward-compatible). - discipline-87 brief §3 Authoring scope: rewrote — discipline pattern uses existing DB-15 + DifferentialEquals/LensOutputEquals per design §C5. Cementing axis (per-LensRegistry-row v2-vs-v3 same-source) explicitly distinguished from property-based axis (program-family claims via ProgramGenerator). - sequencing plan §1.2/§1.3 dependency structure: #87 reframed as independent of #85/#86 at predicate level; SuiteClaim wrapper coupling only. - sequencing plan §2 Lane-Mgr partition: #87 partner column scoped to "SuiteClaim wrapper migration only post-#85" rather than "Substrate (#85/#86 consumer)". - sequencing plan §8.2 Dispatch sequence: removed "Director ratifies" canvas-tier-ratification anti-pattern from #85/#86 carrier landings (per locked design §1: "no Director ratification required before lane dispatch"); #87 dispatch independent of #85/#86 timing. - sequencing plan §9 Open questions: marked all 3 RESOLVED with citations. **Impact** Workers reading the corrected briefs + plan now have: - Correct full carrier set per locked design §6 line 344 - Correct cementing axis (DifferentialEquals/LensOutputEquals via existing DB-15 infrastructure, NOT property-based ProgramGenerator) - Correct dispatch independence (#87 doesn't gate on #85/#86) - No canvas-tier-ratification anti-pattern Per Brian operator authorization 2026-05-09 ~15:30Z ("can you make the followups directly to main"). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Follow-up correction PR addressing 2 substantive bugs in merged Cluster M briefs/plan (PRs #2361 + #2362). Authorized by Brian operator 2026-05-09 ~15:30Z ("can you make the followups directly to main").
Bug #1: Phase 1 substrate carrier set incomplete: locked design
docs/design-tests-as-data-completeness.md§6 line 344 names 5 carriers (ProgramGenerator,ProgramShape,Quantifier,QuantifiedTestClaim,SuiteClaim); merged briefs only listed 3 (missedProgramShape+SuiteClaim). Workers would close #85/#86 without full substrate surface.Bug #2: #87 conflated with #85/#86: cementing-test discipline uses LensRegistry projection ratchet with
DifferentialEquals/LensOutputEqualsTestClaims per §C5 — orthogonal to property-based ProgramGenerator/Quantifier carriers. Conflation would make ProgramGenerator a closed roster over lens rows (exactly whatlens-library-design.md§1.5 prohibits).Files changed
docs/briefs/r3-cluster-m-dispatch-substrate-canvas-asks-2026-05-09.md— addedSuiteClaimto Fix gist #85 carrier set; addedProgramShapeto BT1: SDLC pipeline compiles with unit_test profile #86; verbatim signatures from locked design §2.1/§2.2docs/briefs/r3-cluster-m-dispatch-verification-discipline-87-2026-05-09.md— rewrote §2 Dispatch trigger (independent of Fix gist #85/BT1: SDLC pipeline compiles with unit_test profile #86 at predicate level; SuiteClaim wrapper coupling only) + §3 Authoring scope (cementing uses existing DB-15 + DifferentialEquals/LensOutputEquals per §C5)docs/audit/r3-cluster-m-sequencing-plan-2026-05-09.md— corrected §1.2 dependency structure (RT1-RT4: model correctness — credential wiring, fail-closed auth, fil… #87 independent at predicate level), §1.3 sequencing rationale, §2 Lane-Mgr partition, §8.2 dispatch sequence, §9 open questions (all RESOLVED)Test plan
🤖 Generated with Claude Code