Independent review against a230c6f. Four findings, all blocking. Round 15
stated a rule covering every mutation and applied it only to M6.
M1 accepted test 2 failing, which an unrelated open error satisfies after
pin 5's comparison is removed. It now requires the stale, self-consistent
base to be observed opening successfully under the mismatching capability.
M2 accepted test 3 failing, which any non-malformed result satisfies without
showing corruption was reclassified as staleness. It now requires the
corrupt fixture to be observed returning CanonicalBaseRequiresRebuild with
both fields reported.
M3 accepted test 4 failing, which an error on either no-base open satisfies.
It now requires the base-free fixture to be observed rejected by the wrongly
widened check. Because a base-free bundle has no base version, the base
field is named explicitly as the superblock's no-base default,
ReductionAlgorithmVersion(0) from reduction_version_for, and that synthetic
source is prohibited from entering shipped no-base validation -- without
that prohibition M3 could be read as licensing a defaulted base comparison
in real validation, which would contradict pin 5.
M5a accepted test 10a failing, which a serialization failure satisfies
without the authority ever being read. It now requires the returned bundle's
stored capability to be observed equal to the deliberately changed
authority.
M4 and M5b survive the correction: M4's changed behaviour is compilation,
and M5b already required its specific error with both fields.
Round 15's claim that the scan was complete is marked FALSIFIED IN ROUND 16
at its original location, so a reader going in order meets the correction
where the claim was rather than several paragraphs later. That is round 14's
lesson applied to round 15's text.
Recorded against interest: round 15 reported that M1 through M5b survived
its scan, and I entered that in the contract and the ledger without checking
a single one. Believing a negative result without asking what it would miss
is the failure CLAUDE.md names, and it took a further round to undo.
Verified before commit: all four findings re-derived against the tree; the
history table's columns sum independently to 53 and 40; section 7 item 4a's
rows were swept in the same amendment rather than left behind, the first
time in sixteen rounds that happened unprompted; no unqualified
scan-complete claim survives anywhere; diff --check clean; no crate changes.
Still NOT RATIFIED, NOT DISPATCHABLE, pins open, no execution authorised.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ps1szk2mSfgp4Cz21eVH9x