diff --git a/docs/decisions/records/testing/mutation-claims-are-executed.md b/docs/decisions/records/testing/mutation-claims-are-executed.md index b447d13c3..c52b34386 100644 --- a/docs/decisions/records/testing/mutation-claims-are-executed.md +++ b/docs/decisions/records/testing/mutation-claims-are-executed.md @@ -134,7 +134,10 @@ file with a wider hole. **The seed set found a shipped claim already false, which is the calibration.** `scripts/post-review-verdict.sh` asserted that the array-TYPE test in its read-back was -unwitnessable — that "the absent-entry check catches every case on its own". Executed 2026-09-04, +unwitnessable, on the grounds that the absent-entry check below it caught every case on its own — +lines 316-317 at `efadbec29`, which this change replaces. The wording is paraphrased and the source +pinned, not quoted: the sentence wraps across a comment line break, so a quotation of it resolves to +nothing anywhere, which is #812's second defect exactly. Executed 2026-09-04, disarming that test feeds a `null` `.statuses` to `map(select(...))`, jq refuses to iterate it and the script dies with the PARSE message instead of the shape one, reddening `test_a_readback_whose_statuses_array_is_NULL_is_refused`. Note what the shape costs to detect: the @@ -150,7 +153,8 @@ the declared outcome. The direction that is not is *every claim is declared* — mutation outcome and declares nothing stays invisible, because finding it means recognising a sentence by its shape, and `docs/defect-shapes-773.md` §4 names that class ("no check can tell that a sentence is stronger than the evidence behind it") as review responsibility. The withdrawn -`test_review_verdict_vocabulary_parity.py` is the empirical case for not trying. So the remaining -population above is a backlog and not a hole this rule closes; each entry needs a judgement about -whether its claim is still executable, and declaring them in bulk would manufacture exactly the -unverified coverage the rule exists to refuse. +`test_review_verdict_vocabulary_parity.py` is the empirical case for not trying. So the candidates +counted above are a place to look and not a hole this rule closes — nor a backlog, since nobody has +established how many of them are claims at all; each real one needs a judgement about whether it is +still executable, and declaring them in bulk would manufacture exactly the unverified coverage the +rule exists to refuse.