Skip to content

docs(planning): rung-4 acceptance spec — phase4/field_patch_monoid - #4039

Merged
briansrls merged 8 commits into
mainfrom
session/wise-seal-69
May 30, 2026
Merged

briansrls merged 8 commits into
mainfrom
session/wise-seal-69

Conversation

@briansrls

@briansrls briansrls commented May 30, 2026 •

Copy link
Copy Markdown
Contributor

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:

  • §1 Scope binding: predicate id namespaced phase4/field_patch_monoid/rung4/*; W2 target=rust; python/go pre-allocated SKIP per joint spec §4.2 A3.
  • §2 Note on Branch-using shape: rung-4 predicate is shape-agnostic; branch-shape gaps in emit will surface as RuntimeValue divergence or stdout-parse failure via the inherited inner-failure receipt table, not as new predicates. Makes phase4/field_patch_monoid a useful diagnostic surface for branch-emit regressions.
  • §6 Spot-check receipts: fixture module on main, no TestClaimRun<Node,RuntimeValue> row → wedge per inherited docs(planning): rung-4 acceptance predicate spec — phase1/nat_semiring (Rust W2) #3990 §2.3.
  • §7 Baseline: rung4=FAIL (rust=SKIP python=SKIP go=SKIP), blocking_receipt upstream_blocked:emit_host_transport_not_wired. Mirrors phase1/nat_semiring per 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)

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

Wave alignment: W2.5 maturation for v0.1.1; not Jun 1 gating.

🤖 Generated with Claude Code

briansrls and others added 8 commits May 30, 2026 19:45
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 briansrls changed the title Ladder/Fixture Manager — authority over 9-rung correctness ladder, fixture set, rung gate shape (acceptance predicates per rung), 'no rustc-clean as headline' enforcement per PR #3938 §11.1. First artifact: nat_semiring × rungs 0-2 acceptance predicate spec; ratify nat_semiring as Phase 1 fixture; d docs(planning): rung-4 acceptance spec — phase4/field_patch_monoid May 30, 2026
@briansrls
briansrls marked this pull request as ready for review May 30, 2026 21:52
@briansrls
briansrls merged commit 0c1c64d into main May 30, 2026
20 checks passed
@briansrls
briansrls deleted the session/wise-seal-69 branch June 1, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant