From fd77d0b305ccebe21c8a6720acab6b9ea48712ee Mon Sep 17 00:00:00 2001 From: Boyd Cohen Date: Mon, 24 Aug 2026 23:07:44 -0600 Subject: [PATCH] =?UTF-8?q?CONVENTIONS=20=C2=A710:=20the=20reading=20it=20?= =?UTF-8?q?prescribes=20missed=20one,=20and=20a=20derivation=20caught=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Records a defect family distinct from §2a's four and from §10's forward-dated past-tense claim: a self-updating span can update CORRECTLY and invert the present-tense sentence around it. Both the version marker and every measured figure green, the page false. On 2026-08-24 a pin bump moved eight data-engine-version spans, touched no results/ file, and every re-read passed while a verify-samples/README.md sentence went false; three readings missed it and a derivation found it. Names the control CONVENTIONS did not: scripts/sentences-at-risk.mjs, and its 2026-08-24 repoint from data-measured spans to the checks' own DECLARES-COMPARES holdings, which is what closes the miss. --- .github/CONVENTIONS.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/CONVENTIONS.md b/.github/CONVENTIONS.md index 54a27a7..4b4887c 100644 --- a/.github/CONVENTIONS.md +++ b/.github/CONVENTIONS.md @@ -463,6 +463,31 @@ that describes a subset closes the question. **Name a check by what it establishes, and if it establishes less than its subject needs, say so in the name.** The step is now "Engine version matches the lockfile AND what npm serves a reader". +### The reading this section prescribes missed one, and a derivation caught it + +The rule above is a reading: grep the marker, re-read its sentence, watch for a past-tense verb. +Every reading has the limit a reading has. On 2026-08-24 a pin bump moved the lockfile and eight +`data-engine-version` spans, touched no `results/` file, and every re-read passed while a sentence in +`verify-samples/README.md` went false. The value updated correctly and the sentence around it +inverted. **The version marker and every measured figure were green, and the page was false.** Three +readings did not catch it; a derivation did. + +This is a distinct family from the four in [2a](#2a-the-four-defect-families-and-what-a-grep-can-and-cannot-find), +and distinct from the forward-dated past-tense claim above it. There the tell is a past-tense verb +next to a marker. Here the verb is present tense and the value is correct, and the sentence is false +**because** the value moved as it should. There is no tell to grep for, and it is the family this +site is most exposed to, because self-updating spans are how most of its figures stay true. + +**The control is the derivation, not the re-read.** `scripts/sentences-at-risk.mjs` enumerates every +sentence containing a span whose value a pending change moves. Since 2026-08-24 it draws that +population from the checks own `DECLARES-COMPARES` holdings rather than only from `data-measured` +spans, so a value moving in any file a check holds against the world is in scope, not only a measured +figure. That repoint is what closed the miss above: the results-only version printed "0 measured +value(s) moved" while the README sentence was already false. Run it with the pre-change ref as the +baseline, before the change lands, and read each sentence it prints beside its old and new value. It +does not decide whether a sentence survives its value changing; a person does. It guarantees the +sentence is looked at, which is the step three readings skipped. (Recorded 2026-08-24.) + ## 11. Position decides what a claim means, and the summary is where a reader stops Found three times on 2026-08-09, on three unrelated pages, always the same way round: **the confident