epiphany/spec
Levi Neuwirth 3096c54d09
S16 draft amendment 1 rev A: stop importing S27 conclusions unre-derived
Independent review of d06e2f7 returned six findings, five blocking, all in
draft amendment 1's own text. A sweep found a seventh: the same false claim at
a second site.

1. Report item 2d asked execution to decide a static fact the draft could
   read. shrink (generators.rs:932) does NOT match GraphInvariant -- it calls
   check_invariant(score, inv). The unverified claim was made twice, in item
   2d and in touch row 8. Both corrected. Item 2d replaced with the real
   obligation: invariant 21's fixture must survive shrinking (:1025), since
   shrink asserts on entry that its input still violates the target.

2. Pin 10a's "all three counters move if either document mints a label" is
   false. CORE_REQUIREMENT_COUNT is asserted only against core_spec.tex
   (requirement_labels.rs:259); a label in operation_catalog.tex moves the two
   suite counters only. Replaced with a per-document table.

   Sweep finding: touch row 11 carried the same false sentence and was left
   standing while pin 10a was fixed -- the fix-one-site defect, committed
   inside the edit that fixed the other site. Row 11 now points at pin 10a
   rather than restating it.

3. Gate 11 permitted the exact tautology it exists to prevent. "Updated, not
   silenced" does not forbid replacing the literals with
   CURRENT_REDUCTION_ALGORITHM_VERSION -- the tidiest-looking update, after
   which both operands move together and M5a/M5b are vacuous. Rewritten as
   11a-e requiring independent literal 1 values, never the constant, each
   quoted. S27 round 3 caught this substitution and roundtrip.rs:882 forbids
   it by name.

4. Gate 11 omitted roundtrip.rs:947, test 10b's mutation-only Err arm. Left at
   0, M5b aborts on the base comparison before reaching the two-field panic
   that is its required observation -- failing at the wrong assertion while
   observing nothing. Added as 11d, with 11e for the literal-preservation
   comments whose reasoning is what stops the next rung making substitution 3.

5. §6 demanded "the nine mutations (M1-M9)" while M7's split makes ten
   executions. Count removed; §3 is the single origin.

6. Pin 12 said no gate catches a missed bump except the tripwires, written in
   the same amendment that added gate 10, which compares the value against
   HEAD directly. Split: gate 10 guards this bump, 11a-e guard the wiring,
   only the general future case stays undetectable.

Tightening folded in with finding 1: M6's two fixtures must each violate ONE
direction only. A fixture disagreeing in both is still reported after either
arm is deleted, so the mutation appears to fail correctly while signing
nothing. The same trap applies to touch row 8's generator, whose all()-driven
consumers only ask whether 21 is reported.

Findings 1, 2, 3 and 6 share one root cause: an S27 conclusion applied without
re-derivation. S27's "name all three counters," its "no mechanism can detect a
semantics change," and its literal-independence rule are true statements about
S27; two are false or incomplete here and one was dropped where it was needed.
A ratified contract is reusable as a source of questions, not of answers.

Still DRAFT, still unratified. No implementation work has begun.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps1szk2mSfgp4Cz21eVH9x
2026-08-09 16:39:12 +02:00
..
vectors Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00
ANALYSIS_GENESIS_PERSISTENCE.md The operation set absorbs genesis 2026-07-24 15:11:36 -04:00
ANALYSIS_TEXT_RUN_PRIMITIVES.md Editor T4-pre W3: the text run carries both its string and its ink 2026-07-28 14:38:06 -04:00
AUDIT_GMINOR_VOCABULARIES.md Audit the G-minor reachable vocabularies: a ledger, a matrix, one stale sentence 2026-07-28 18:27:35 -04:00
CONTRACT_CORE_DECODE_VECTORS.md The decode vector corpus reaches the core score wire 2026-07-24 11:38:15 -04:00
CONTRACT_EDITOR_T1A_GOLDENS.md Editor track: the plan, and the T1a golden-harness contract 2026-07-23 14:57:43 -04:00
CONTRACT_EDITOR_T2_SELECTION.md Editor T2: contract for selection v2, the golden gate, and copy/paste 2026-07-23 17:07:18 -04:00
CONTRACT_EDITOR_T3_CARET.md Editor T3: contract for the note-entry caret 2026-07-24 12:55:05 -04:00
CONTRACT_EDITOR_T4PRE_IR.md Editor T4-pre: the IR readiness contract, and the genesis-persistence table 2026-07-24 14:47:08 -04:00
CONTRACT_EDITOR_T4PRE_W2_GLYPHS.md Editor T4-pre W2: the glyph-asset contract, and three parallelism claims get finer 2026-07-24 17:50:02 -04:00
CONTRACT_EDITOR_T4_SPIKE.md Contract revision 6: round 1 was testing the wrong property on the wrong glyphs 2026-07-28 21:24:47 -04:00
CONTRACT_FORMAT_EPOCH_MAJOR1.md Format epoch amended: pin 3c bounds the interval's conformance cost 2026-08-07 11:41:51 -04:00
CONTRACT_GENESIS_G1_INSTRUMENT.md Contract G1: one operation, and the two things that make from-empty correct 2026-07-24 18:04:30 -04:00
CONTRACT_GENESIS_G2A_SETTINGS.md Contract G2a round five: the sixth hand-maintained site, and locking Registered 2026-07-28 15:47:17 -04:00
CONTRACT_GENESIS_G2B_TUNING.md Sign t9 with a mutation that actually kills it 2026-07-29 10:18:57 -04:00
CONTRACT_GENESIS_G3A_ENTITIES.md G3a contract: ten source locators, corrected forward 2026-07-31 19:47:43 -04:00
CONTRACT_GENESIS_G3A_UNDO_REPAIR.md G3a undo repair: the tombstone branch was reachable all along 2026-07-29 18:21:45 -04:00
CONTRACT_GENESIS_G3B_MEASURE.md P13-S18: the invariant-20 outcome matrix, and what the residue actually is 2026-07-31 17:05:49 -04:00
CONTRACT_GMINOR_IMPLEMENTATION.md Amend the G-minor contract: the [7f] oracle, and the PDFs the touch table missed 2026-07-28 18:59:00 -04:00
CONTRACT_GMINOR_VOCABULARY_AUDIT.md Audit contract amendments: a possible gate, and four scoping repairs 2026-07-28 18:08:55 -04:00
CONTRACT_P13S1_LABELS.md P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
CONTRACT_P13S6_PROMOTION.md P13-S6 ratified: the lattice block, and an argument that did not survive arithmetic 2026-07-22 14:26:08 -04:00
CONTRACT_P13S6_TEMPERAMENTS.md P13-S6: the tuning constructions, drafted -- and why sourcing was not enough 2026-07-22 11:50:06 -04:00
CONTRACT_P13S16_PROJECTION.md S16 draft amendment 1 rev A: stop importing S27 conclusions unre-derived 2026-08-09 16:39:12 +02:00
CONTRACT_P13S18_MATRIX.md P13-S18: the invariant-20 outcome matrix, and what the residue actually is 2026-07-31 17:05:49 -04:00
CONTRACT_P13S19_PARTIAL.md P13-S19: what a partial measure actually costs 2026-07-31 18:13:44 -04:00
CONTRACT_P13S22_TAGLOCK.md P13-S22 contract: M2's whole-test alternative was false 2026-07-31 19:30:21 -04:00
CONTRACT_P13S27_REDUCTION_AUTHORITY.md P13-S27: accept reduction authority implementation 2026-08-09 15:05:58 +02:00
CONTRACT_PUSH4B_3BII_IDENTITY.md Push 4b tranche 3b-ii: one SmuflVersion, and a live ordering bug dies with the homonym 2026-07-23 19:30:52 -04:00
CONTRACT_PUSH4B_3BI_WIRE.md Push 4b tranche 3b-i: the score wire opens schema major 3 2026-07-23 17:35:55 -04:00
CONTRACT_PUSH4B_ACCIDENTALS.md Push 4b tranche 3a: contract for the accidental vocabulary, and S10-S12 filed 2026-07-23 13:55:19 -04:00
CONTRACT_PUSH4B_ADAPTIVE.md Push 4b: ji-adaptive-5limit resolves, and the blocker was never HarmonicContext 2026-07-24 10:17:46 -04:00
CONTRACT_PUSH4B_PITCHSPACES.md Push 4b tranche 1: contract for the pitch-space slice 2026-07-22 17:08:00 -04:00
CONTRACT_PUSH4B_RESOLVER.md Push 4b tranche 2: contract for the in-memory tuning resolver 2026-07-23 10:06:25 -04:00
CONTRACT_PUSH4B_SPEC1.md Push 4b Wave 1a: three ratified corrections, and a citation that pointed the wrong way 2026-07-22 11:49:40 -04:00
CONTRACT_PUSH4B_TEMPERAMENTS.md Push 4b tranche 2b: contract for the ten historical temperaments 2026-07-23 11:38:14 -04:00
CONTRACT_TEXTPROJ_DOCUMENT.md Text Projection: the document layer, and the equation closes 2026-07-21 15:05:28 -04:00
CONTRACT_TEXTPROJ_OPS.md Text Projection: the operation layer, and the tests that can see it fail 2026-07-21 13:43:09 -04:00
DRAFT_P13S6_TEMPERAMENTS.md P13-S6 ratified: the lattice block, and an argument that did not survive arithmetic 2026-07-22 14:26:08 -04:00
HANDOFF_2026-08-07.md Handoff: make the POST-S27 block genuinely the sole source 2026-08-09 15:43:09 +02:00
PASS11_RATIFICATION_LOG.md P12-I2: wire the ratified MUSCLOID layout-object id derivation 2026-06-27 12:46:19 -04:00
PASS11_WORKLIST.md Pass 11: ratify provisional byte choices into normative spec text 2026-06-21 22:30:06 -04:00
PASS12_BATCH.md Pass 12 G-pass: ratify the full batch (28 rows) — spec tranche 2026-07-07 10:23:30 -04:00
PASS12_RATIFICATION_LOG.md P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
PASS12_WORKLIST.md Pass 12 G-pass: ratify the full batch (28 rows) — spec tranche 2026-07-07 10:23:30 -04:00
PASS13_CANDIDATES.md Post-S27 doc reconciliation: CLAUDE, handoff, S16 contract, both ledger cells 2026-08-09 15:24:21 +02:00
PHASE2_F_WEEK0_WORKLIST.md Phase 2: spelling + decomposition pre-passes (Agent H) with F merge gate 2026-06-23 16:33:39 -04:00
PHASE2_QUICKSTART.md Phase 2: spelling + decomposition pre-passes (Agent H) with F merge gate 2026-06-23 16:33:39 -04:00
PLAN_EDITOR_APP.md Contract revision 6: round 1 was testing the wrong property on the wrong glyphs 2026-07-28 21:24:47 -04:00
PLAN_GENESIS_OPS.md G3b packet 3b: the documentation half, and the ladder closes 2026-07-30 20:45:27 -04:00
PLAN_GMINOR_SCHEMA_MINOR.md P13-S21: the two precondition reasons the wire spec never named 2026-07-30 20:57:59 -04:00
PLAN_P13S1_LABELS.md P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
PLAN_P13S2_CMN24.md P13-S2: the alteration is space-relative, and the core fails closed 2026-07-22 09:00:09 -04:00
PLAN_PUSH4B_TUNING.md Push 4b Wave 1a: three ratified corrections, and a citation that pointed the wrong way 2026-07-22 11:49:40 -04:00
PLAN_TEXTPROJ_DOCUMENT.md Text Projection: the document layer, and the equation closes 2026-07-21 15:05:28 -04:00
PLAN_TEXTPROJ_OPS.md Text Projection: the operation layer, and the tests that can see it fail 2026-07-21 13:43:09 -04:00
QUICKSTART.md G3b packet 3b: the documentation half, and the ladder closes 2026-07-30 20:45:27 -04:00
RULING_GENESIS_PERSISTENCE.md Editor T4-pre W2: the glyph-asset contract, and three parallelism claims get finer 2026-07-24 17:50:02 -04:00
binary_format.pdf Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00
binary_format.tex Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00
core_spec.pdf P13-S27: accept reduction authority implementation 2026-08-09 15:05:58 +02:00
core_spec.tex P13-S27: accept reduction authority implementation 2026-08-09 15:05:58 +02:00
operation_catalog.pdf P13-S19: what a partial measure actually costs 2026-07-31 18:13:44 -04:00
operation_catalog.tex P13-S19: what a partial measure actually costs 2026-07-31 18:13:44 -04:00
quality_metric_catalog.pdf P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
quality_metric_catalog.tex P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
reference_suite.pdf P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
reference_suite.tex P13-S1: every requirement is named, and now it is also numbered 2026-07-21 18:27:52 -04:00
text_projection.pdf Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00
text_projection.tex Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00