Repository navigation
docs(planning): rung-4 acceptance spec — phase4/field_patch_monoid - #4039
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>
…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>
briansrls
marked this pull request as ready for review
May 30, 2026 21:52
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
Binds rung-4 acceptance predicate to
phase4/field_patch_monoid(ratified #4028; rung-3 ratified #4036).This is an additive per-fixture doc — does NOT restate the atomic predicate, inner-failure receipt table, prerequisite chain, SG rule, or headline rule. Those inherit verbatim from #3990 (rung-4 spec on
phase1/nat_semiring) per CLAUDE.md ledger standing principle.Fixture-particular content only:
phase4/field_patch_monoid/rung4/*; W2 target=rust;python/gopre-allocatedSKIPper joint spec §4.2 A3.RuntimeValuedivergence or stdout-parse failure via the inherited inner-failure receipt table, not as new predicates. Makesphase4/field_patch_monoida useful diagnostic surface for branch-emit regressions.TestClaimRun<Node,RuntimeValue>row → wedge per inherited docs(planning): rung-4 acceptance predicate spec — phase1/nat_semiring (Rust W2) #3990 §2.3.rung4=FAIL (rust=SKIP python=SKIP go=SKIP), blocking_receiptupstream_blocked:emit_host_transport_not_wired. Mirrorsphase1/nat_semiringper docs(planning): rung-4 acceptance predicate spec — phase1/nat_semiring (Rust W2) #3990 §6; same W3 unblock path.Predecessor structure cited (inheritance pointers only — no duplication)
phase1/nat_semiring(atomic predicate, inner-failure receipt table, prerequisite chain, headline rules)phase4/field_patch_monoidfixture ratification (this manager)Coordination note
royal-wolf-898 is authoring rung-3/4 specs for
phase4/branch_dispatch(#4034) +phase4/loop_linear_bound(#4035) in parallel under the same role-node. No overlap (different fixture ids); all can land independently.Test plan
origin/main@c84728b14(post-docs(planning): rung-3 acceptance spec — phase4/field_patch_monoid (W1/W1b inherited) #4036).Wave alignment: W2.5 maturation for v0.1.1; not Jun 1 gating.
🤖 Generated with Claude Code