epiphany/spec
Levi Neuwirth 74dc994bf2
P13-S27 round 11: M7 gets a normalized reference and a narrower claim
Independent review against 39f2617, post-probe. Three findings, two
blocking. It confirmed the probe contained and its fixed-point result
decisive, and kept M7 blocked.

M7 still lacked a distinct normalized reference. Round 10 named one
artifact where the comparison needs two. Now: build B_raw under the real
authority; iterate derive-and-reserialize until B_fixed is a byte-level
fixed point; assert that property explicitly as a hard failure; and compare
the imported artifact only with B_fixed, never with B_raw. Otherwise an
envelope-order normalization difference stays indistinguishable from a
provenance result, and a comparison whose failure mode cannot be told from
its success condition decides nothing. The convergence loop is bounded and
must fail if it does not converge -- the probe saw one pass suffice for
three documents, which is not proof that one pass always suffices -- and
the iteration count plus whether B_raw was already fixed must be reported,
so a reader can tell the lucky case from the general one.

The claim was stated more broadly than any observation supports. M7 read as
though every direct bundle is byte-identical to its re-imported form. It is
not, and the probe measured 295 differing bytes proving so. Scoped now: M7
proves the text path carries no provenance marker after normalization, and
explicitly not that every direct bundle is byte-identical before it, since
the pre-normalization differences are document_from_bundle's canonical
envelope ordering and have nothing to do with provenance. Both sentences
must appear in the report; the unqualified version is false as written and
is the one a reader would otherwise carry forward.

That finding has consequences beyond M7. Its conclusion is the sole
evidence for a permanent capability loss -- the text refusal that moved
COMPANION_VERSION to 0.14.0 and took the corpus's canonical_bases from 2 to
0. Justifying a permanent refusal from a claim broader than the result
obtained is the same error as concluding instead of observing, one level up:
not a false observation, but a true one asked to carry more than it can.

Third, a clarification rather than a defect: the probe cannot pre-verify
M7's authority/base leg, which needs BundleCapabilities, capabilities() and
pin 3a's validation, all S27's own deliverables. That stays an execution
requirement after S27 implementation, with the probe as evidence for the
prerequisite and explicitly not as a demonstration of laundering, since it
carried no base. Recorded as a standing prerequisite table: the round-trip
leg is settled, the authority leg is not pre-verifiable by any review or
probe.

Still NOT RATIFIED, NOT DISPATCHABLE. Findings 9, 6, 6, 5, 4, 3, 3, 2, 2, 1,
3. Blocking 4, 4, 4, 4, 2, 3, 3, 2, 2, 1, 2. Eleven rounds, none clean.
Round 11 broke the falling trend, and did so because the probe supplied
evidence that made a previously invisible defect findable -- a reason to
expect the next round to find more rather than less. The comparator is on
its fifth design: four falsified by reading, the fifth by execution and then
rebuilt on that evidence. It is the first with a measured result behind it
and the first whose precondition is asserted rather than assumed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps1szk2mSfgp4Cz21eVH9x
2026-08-08 14:57:18 +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 P13-S16 scoped and blocked; P13-S27 filed 2026-07-31 20:27:43 -04: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 round 11: M7 gets a normalized reference and a narrower claim 2026-08-08 14:57:18 +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 CLAUDE.md: the entry point an agent actually reads 2026-08-07 13:40:48 -04: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 P13-S27 round 11: M7 gets a normalized reference and a narrower claim 2026-08-08 14:57:18 +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 Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04:00
core_spec.tex Container major 1: the format epoch carries base provenance 2026-08-07 12:51:14 -04: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