Repository navigation
docs(planning): rung 0-2 fixture spec — phase4/field_patch_monoid (Branch-using) - #4028
Merged
Merged
Conversation
Review nit from claude/claude-opus-4-7 on PR #4015: both branches called note_blocking with the same receipt id. Collapse to a single call. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Review finding from cursor/composer-2.5 on PR #4015: `gofmt -e -l` exits non-zero when emitted Go is syntactically valid but not gofmt-formatted, which would record R0-go-parse=FAIL with `go_emit_parse_rejected` for a formatting delta — violating §2.1 parse-only authority. Use plain `gofmt -e` (exits non-zero only on parse/syntax errors) and discard the formatted stdout, keeping stderr as the log. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Review finding from openai-pro/gpt-5.5-pro on PR #4015: the three new parse-only host-process invocations (rustc -Z parse-only nightly probe, per-file rustc parse, xargs gofmt -e) bypassed V4_PHASE1_NAT_SEMIRING_TIMEOUT_SECS, breaking the declared per-toolchain timeout contract (INVARIANTS P3 fail-closed). Adds a `timed` command-prefix array (`timeout --preserve-status $secs` when set, empty otherwise) and routes the three callsites through it. run_step is still used for full compile/build checks where tee logging is desired; the prefix form is for cases that pipe through xargs or discard stdout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…anch-using)
Ratifies the Phase 4 Branch-using fixture (W2.5 widening per
docs/planning/v4-merge-wave-and-next-waves-2026-05-30.md §5).
Promotes the already-landed claim module
src/v4/test/claim/algebra_laws/field_patch_monoid.dag (179 lines, 10
CompilesClaim rows) as the Branch-using fixture rather than authoring fresh.
Primary control shape: if/else (line 33 fp_ok) + coproduct discrimination over
FieldPatch { Inherit | Override }.
Rung gate shape (§2) is NOT duplicated — inherited verbatim from
docs/planning/v4-ladder-rung-specs-2026-05-30.md §2 per CLAUDE.md ledger
standing principle. Only fixture subject + Phase 4 specifics in this doc.
Rungs 3-4 specs follow in separate PRs mirroring #4003 / #3990. Wiring
(roster .dag + CI gate + host script) is a follow-up PR; this doc is the
ratification authority only.
Predecessor structure:
- #3946 (rungs 0-2 spec on phase1/nat_semiring)
- #4003 (rung-3 spec template)
- #3990 (rung-4 spec template)
- #4015 (post-script-alignment receipt shape)
Not blocking Jun 1 v0.1.0 tag; v0.1.1 maturation narrative.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls
marked this pull request as ready for review
May 30, 2026 21:10
briansrls
added a commit
that referenced
this pull request
May 30, 2026
…1/W1b inherited) Binds rung-3 acceptance predicate to phase4/field_patch_monoid (ratified #4028). Additive per-fixture doc — does NOT restate the W1/W1b predicate shape, prerequisite chain, SG rule, or headline rule; those inherit verbatim from #4003 (rung-3 spec on phase1/nat_semiring) per CLAUDE.md ledger standing principle. Fixture-particular content only: - Scope binding (§1): predicate ids namespaced phase4/field_patch_monoid/rung3/* - Note on Branch-using shape: round-trip predicate is shape-agnostic; if/else and FieldPatch coproduct discrimination are surface for algebraic laws, not new rung-3 predicates. - Spot-check receipts (§6): fixture module on main, no RoundTripClaim row bound to field_patch_monoid → wedge per inherited #4003 §2.3. - Baseline (§7): rung3=FAIL (dag=SKIP), blocking_receipt upstream_blocked:claim_field_patch_monoid_module_roundtrip_not_authored. Mirrors phase1/nat_semiring wedge per #4003 §6; same W3 module-loader unblock path. Wave alignment: W2.5 maturation for v0.1.1; not Jun 1 gating. Coordinates with royal-wolf-898 who is authoring rung-3/4 specs for phase4/branch_dispatch + phase4/loop_linear_bound in parallel (no overlap). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
briansrls
added a commit
that referenced
this pull request
May 30, 2026
…1/W1b inherited) (#4036) * WIP: Ladder/Fixture Manager — authority over 9-rung correctness ladder, fixtu * fix(ci): drop dead if/else around R2-rust upstream_blocked note Review nit from claude/claude-opus-4-7 on PR #4015: both branches called note_blocking with the same receipt id. Collapse to a single call. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(ci): drop -l from R0-go-parse gofmt, discard formatted stdout Review finding from cursor/composer-2.5 on PR #4015: `gofmt -e -l` exits non-zero when emitted Go is syntactically valid but not gofmt-formatted, which would record R0-go-parse=FAIL with `go_emit_parse_rejected` for a formatting delta — violating §2.1 parse-only authority. Use plain `gofmt -e` (exits non-zero only on parse/syntax errors) and discard the formatted stdout, keeping stderr as the log. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(ci): bound R0 parse probes under per-toolchain timeout Review finding from openai-pro/gpt-5.5-pro on PR #4015: the three new parse-only host-process invocations (rustc -Z parse-only nightly probe, per-file rustc parse, xargs gofmt -e) bypassed V4_PHASE1_NAT_SEMIRING_TIMEOUT_SECS, breaking the declared per-toolchain timeout contract (INVARIANTS P3 fail-closed). Adds a `timed` command-prefix array (`timeout --preserve-status $secs` when set, empty otherwise) and routes the three callsites through it. run_step is still used for full compile/build checks where tee logging is desired; the prefix form is for cases that pipe through xargs or discard stdout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(planning): rung 0-2 fixture spec — phase4/field_patch_monoid (Branch-using) Ratifies the Phase 4 Branch-using fixture (W2.5 widening per docs/planning/v4-merge-wave-and-next-waves-2026-05-30.md §5). Promotes the already-landed claim module src/v4/test/claim/algebra_laws/field_patch_monoid.dag (179 lines, 10 CompilesClaim rows) as the Branch-using fixture rather than authoring fresh. Primary control shape: if/else (line 33 fp_ok) + coproduct discrimination over FieldPatch { Inherit | Override }. Rung gate shape (§2) is NOT duplicated — inherited verbatim from docs/planning/v4-ladder-rung-specs-2026-05-30.md §2 per CLAUDE.md ledger standing principle. Only fixture subject + Phase 4 specifics in this doc. Rungs 3-4 specs follow in separate PRs mirroring #4003 / #3990. Wiring (roster .dag + CI gate + host script) is a follow-up PR; this doc is the ratification authority only. Predecessor structure: - #3946 (rungs 0-2 spec on phase1/nat_semiring) - #4003 (rung-3 spec template) - #3990 (rung-4 spec template) - #4015 (post-script-alignment receipt shape) Not blocking Jun 1 v0.1.0 tag; v0.1.1 maturation narrative. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(planning): rung-3 acceptance spec — phase4/field_patch_monoid (W1/W1b inherited) Binds rung-3 acceptance predicate to phase4/field_patch_monoid (ratified #4028). Additive per-fixture doc — does NOT restate the W1/W1b predicate shape, prerequisite chain, SG rule, or headline rule; those inherit verbatim from #4003 (rung-3 spec on phase1/nat_semiring) per CLAUDE.md ledger standing principle. Fixture-particular content only: - Scope binding (§1): predicate ids namespaced phase4/field_patch_monoid/rung3/* - Note on Branch-using shape: round-trip predicate is shape-agnostic; if/else and FieldPatch coproduct discrimination are surface for algebraic laws, not new rung-3 predicates. - Spot-check receipts (§6): fixture module on main, no RoundTripClaim row bound to field_patch_monoid → wedge per inherited #4003 §2.3. - Baseline (§7): rung3=FAIL (dag=SKIP), blocking_receipt upstream_blocked:claim_field_patch_monoid_module_roundtrip_not_authored. Mirrors phase1/nat_semiring wedge per #4003 §6; same W3 module-loader unblock path. Wave alignment: W2.5 maturation for v0.1.1; not Jun 1 gating. Coordinates with royal-wolf-898 who is authoring rung-3/4 specs for phase4/branch_dispatch + phase4/loop_linear_bound in parallel (no overlap). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
briansrls
added a commit
that referenced
this pull request
May 30, 2026
…4039) * WIP: Ladder/Fixture Manager — authority over 9-rung correctness ladder, fixtu * fix(ci): drop dead if/else around R2-rust upstream_blocked note Review nit from claude/claude-opus-4-7 on PR #4015: both branches called note_blocking with the same receipt id. Collapse to a single call. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(ci): drop -l from R0-go-parse gofmt, discard formatted stdout Review finding from cursor/composer-2.5 on PR #4015: `gofmt -e -l` exits non-zero when emitted Go is syntactically valid but not gofmt-formatted, which would record R0-go-parse=FAIL with `go_emit_parse_rejected` for a formatting delta — violating §2.1 parse-only authority. Use plain `gofmt -e` (exits non-zero only on parse/syntax errors) and discard the formatted stdout, keeping stderr as the log. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(ci): bound R0 parse probes under per-toolchain timeout Review finding from openai-pro/gpt-5.5-pro on PR #4015: the three new parse-only host-process invocations (rustc -Z parse-only nightly probe, per-file rustc parse, xargs gofmt -e) bypassed V4_PHASE1_NAT_SEMIRING_TIMEOUT_SECS, breaking the declared per-toolchain timeout contract (INVARIANTS P3 fail-closed). Adds a `timed` command-prefix array (`timeout --preserve-status $secs` when set, empty otherwise) and routes the three callsites through it. run_step is still used for full compile/build checks where tee logging is desired; the prefix form is for cases that pipe through xargs or discard stdout. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(planning): rung 0-2 fixture spec — phase4/field_patch_monoid (Branch-using) Ratifies the Phase 4 Branch-using fixture (W2.5 widening per docs/planning/v4-merge-wave-and-next-waves-2026-05-30.md §5). Promotes the already-landed claim module src/v4/test/claim/algebra_laws/field_patch_monoid.dag (179 lines, 10 CompilesClaim rows) as the Branch-using fixture rather than authoring fresh. Primary control shape: if/else (line 33 fp_ok) + coproduct discrimination over FieldPatch { Inherit | Override }. Rung gate shape (§2) is NOT duplicated — inherited verbatim from docs/planning/v4-ladder-rung-specs-2026-05-30.md §2 per CLAUDE.md ledger standing principle. Only fixture subject + Phase 4 specifics in this doc. Rungs 3-4 specs follow in separate PRs mirroring #4003 / #3990. Wiring (roster .dag + CI gate + host script) is a follow-up PR; this doc is the ratification authority only. Predecessor structure: - #3946 (rungs 0-2 spec on phase1/nat_semiring) - #4003 (rung-3 spec template) - #3990 (rung-4 spec template) - #4015 (post-script-alignment receipt shape) Not blocking Jun 1 v0.1.0 tag; v0.1.1 maturation narrative. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(planning): rung-3 acceptance spec — phase4/field_patch_monoid (W1/W1b inherited) Binds rung-3 acceptance predicate to phase4/field_patch_monoid (ratified #4028). Additive per-fixture doc — does NOT restate the W1/W1b predicate shape, prerequisite chain, SG rule, or headline rule; those inherit verbatim from #4003 (rung-3 spec on phase1/nat_semiring) per CLAUDE.md ledger standing principle. Fixture-particular content only: - Scope binding (§1): predicate ids namespaced phase4/field_patch_monoid/rung3/* - Note on Branch-using shape: round-trip predicate is shape-agnostic; if/else and FieldPatch coproduct discrimination are surface for algebraic laws, not new rung-3 predicates. - Spot-check receipts (§6): fixture module on main, no RoundTripClaim row bound to field_patch_monoid → wedge per inherited #4003 §2.3. - Baseline (§7): rung3=FAIL (dag=SKIP), blocking_receipt upstream_blocked:claim_field_patch_monoid_module_roundtrip_not_authored. Mirrors phase1/nat_semiring wedge per #4003 §6; same W3 module-loader unblock path. Wave alignment: W2.5 maturation for v0.1.1; not Jun 1 gating. Coordinates with royal-wolf-898 who is authoring rung-3/4 specs for phase4/branch_dispatch + phase4/loop_linear_bound in parallel (no overlap). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * WIP: Ladder/Fixture Manager — authority over 9-rung correctness ladder, fixtu --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2 tasks done
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
W2.5 Phase 4 fixture widening, first artifact — ratifies the Phase 4 Branch-using fixture per
docs/planning/v4-merge-wave-and-next-waves-2026-05-30.md§5.Decision: PROMOTE the already-landed claim module
src/v4/test/claim/algebra_laws/field_patch_monoid.dag(179 lines, 10CompilesClaimrows) asphase4/field_patch_monoidrather than authoring fresh. The module's primary control shape isif/else(line 33fp_ok) + coproduct discrimination overFieldPatch { Inherit | Override }, which is exactly the Branch-using shape the widening calls for.What this PR does:
docs/planning/v4-ladder-fixture-phase4-field-patch-monoid-2026-05-30.md— fixture ratification doc (§1), inheritance pointer to master rung gate shape (§2), wiring targets (§3), SG acceptance rule (§4), no-rustc-clean-headline enforcement (§5), spot-check receipts (§6), manager sign-off (§7).docs/planning/v4-ladder-rung-specs-2026-05-30.md§2 (CLAUDE.md ledger standing principle).Follow-ups (this manager, not this PR):
phase4/is_prefix_of_prefix_check(Loop-using).phase4/field_patch_monoid(mirror docs(planning): rung-3 acceptance predicate spec — phase1/nat_semiring (dag W1 / W1b staged) #4003).phase4/field_patch_monoid(mirror docs(planning): rung-4 acceptance predicate spec — phase1/nat_semiring (Rust W2) #3990).phase4/is_prefix_of_prefix_check.rung_0_to_2_three_targets.dagroster +ci.dagjob + GHA step + host gate script).Wave alignment: W2.5 maturation work for v0.1.1 narrative; not blocking Jun 1 v0.1.0 tag.
Predecessor structure cited
phase1/nat_semiring(master ladder spec; §2 authority)Test plan
origin/main@887f0f2ed(last commit before this branch diverged):field_patch_monoid.dag:1-179— 10 CompilesClaim rows confirmed.fp_okif/else branch carrier at:32-34confirmed.🤖 Generated with Claude Code