epiphany/crates
Levi Neuwirth bff7be0f9d
P13-S26 amendment 3 EXECUTED: test 3 selects the normative clause
Test 3 asserted phrase presence over the whole requirement block, so a referent
could leave the sentence carrying the normative force and survive in the closing
recap. Execution measured that escape and the annex recorded it; this commit
closes it by strengthening the guard rather than softening pin 4a's claim.

Test 3 now selects the normative clause -- the sentence carrying the sole
\MUST{} -- and runs all four assertions on that slice alone. Both halves of the
start rule are load-bearing and the helper's doc comment says why: last ". "
before the occurrence, falling back to just after the label only when there is
none. An unconditional fallback would return one slice spanning label to recap,
containing every needle; a period-only rule would swallow the label, which is
not a sentence.

Six mutations, six matching radii, test 3 alone in every case. Each attacks a
different layer: M22-M24 vary what the selected clause contains, M25 varies
which sentence is selected, M26 varies the fallback boundary -- starting after
the label versus widening before it -- and M27 varies whether selection is
unambiguous and therefore permitted at all. M27 is the one that reaches the
exactly-one assertion, because an assertion guarding the precondition of
selection cannot be exercised by any mutation that presupposes selection
succeeded.

Rows 4, 6, 7 and 8 only. core_spec.tex is not touched: the requirement's text
was always correct and only the guard was weak. The rung's original 38/38
matrix is preserved unchanged and amendment 3's evidence is appended beside it,
not merged into it.

One prose defect in ratified section 8.4 remains OPEN and is deliberately not
repaired here: that entry says M27 varies which clause is chosen, which M25 does
and M27 does not, since a correct implementation rejects M27 before selecting
any clause. Section 8.6 is unaffected and states something true. The annex
carries the corrected characterization and records the correction as open;
frozen text stays frozen regardless of severity, so the repair belongs to its
own amendment, which is not part of this commit.

Baseline unchanged at 43 suites, 1586 passing: amendment 3 alters an existing
test's scope and adds none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps1szk2mSfgp4Cz21eVH9x
2026-08-11 20:39:41 +02:00
..
epiphany-bundle P13-S27: accept reduction authority implementation 2026-08-09 15:05:58 +02:00
epiphany-core P13-S26 EXECUTED: invariant 10 names its derived reference surface 2026-08-11 18:11:25 +02:00
epiphany-determinism P12-I2: wire the ratified MUSCLOID layout-object id derivation 2026-06-27 12:46:19 -04:00
epiphany-editor-core G3b packet 1: CreateMeasure reaches the wire, the mint, and the grid oracle 2026-07-30 12:19:32 -04:00
epiphany-editor-gui Editor T3: the note-entry caret [W1+W2] 2026-07-24 12:55:05 -04:00
epiphany-engrave Editor T4-pre W1: the resolved layout stops discarding its own partition 2026-07-24 14:47:31 -04:00
epiphany-glyphs Editor T4-pre W2: the glyph outlines become a shared typed seam 2026-07-24 18:54:30 -04:00
epiphany-layout-ir G3b packet 1: CreateMeasure reaches the wire, the mint, and the grid oracle 2026-07-30 12:19:32 -04:00
epiphany-ops P13-S16 EXECUTED: StaffGroup.members becomes a maintained projection 2026-08-10 17:18:20 +02:00
epiphany-render-svg Editor T4-pre W2: the glyph outlines become a shared typed seam 2026-07-24 18:54:30 -04:00
epiphany-testkit P13-S26 amendment 3 EXECUTED: test 3 selects the normative clause 2026-08-11 20:39:41 +02:00
epiphany-textproj P13-S16 EXECUTED: StaffGroup.members becomes a maintained projection 2026-08-10 17:18:20 +02:00