re: the refuted register ignored the deaths I just wrote, and two false positives shared a cause

Three refutations written as prose under ### headings never entered the register:
check_refuted.py parses * "claim" lines, so the count stayed at 188. Registered
them properly (188 -> 192). A register that parses one syntax silently ignores
every other, and it is invisible from the author's side -- ask the register what it
holds, do not re-read what you wrote.

Both standing false positives were bullets under a header that retracts the whole
list, with no marker in the +-4-line window: scope marks them, not proximity. The
scan now includes the nearest preceding header and matches markers
case-insensitively ('An earlier version' was missed by the marker 'an earlier
version'). Controlled by planting a real revival and confirming it is still caught;
register now runs clean at 0.

Also records sylpheed-port's diagnosis of the phase-lock fallout: a number can be
inapplicable rather than wrong, and a tension built on one is manufactured. Plus
their point that some claims are not registrable in a substring register at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
sylph-decoder
2026-08-30 20:02:21 +00:00
parent c5d685ba15
commit 95ceb70cb5
3 changed files with 65 additions and 3 deletions

View File

@@ -2232,3 +2232,48 @@ the gate, and it is cheap: fire at gate + k frames for a few k.
Note which results survive this and why: a **margin between two candidates scored
on one capture** was unaffected, because correlated noise moves both scores
together and cancels. Prefer margins to absolute scores when the shutter is gated.
## Publishing a death is not registering it — the register has a *form*
I wrote three refutations this iteration as prose under `###` headings and
considered them published. `check_refuted.py` parses `* "claim"` lines, so **none
of the three entered the register**: 188 claims before, 188 after. The deaths were
readable and unenforceable, which is the exact hole I had been carrying as "I have
a checker; knowing is still manual" — and I widened it while writing the checker's
own supporting docs.
⚠️ **A register that parses one syntax silently ignores every other syntax.** The
failure is invisible from the author's side, because the prose looks finished. The
only way to see it is to *ask the register what it holds* after writing, not to
re-read what you wrote. Do that: the count must go up.
Two false positives in the same run had one shared cause worth keeping: both were
bullets under `## 🔴 What this retracts`, each bullet a claim being killed, with no
marker within the ±4-line window. **Scope marks them, not proximity** — the scan now
includes the nearest preceding header, and matches markers case-insensitively
(`An earlier version` had been missed by the marker `an earlier version`). Both
changes were controlled by planting a real revival and confirming it is still
caught.
## A number can be inapplicable rather than wrong
`sylpheed-port`'s diagnosis of the fallout from the phase-lock finding, and it is a
distinct failure mode from anything else on this page. They had recorded a tension
they could not adjudicate: my 0.32 argued *absent*, their curve argued *present*.
The 0.32 was not a wrong measurement — it was a **correct measurement of something
that carried no information about the question**, because a phase-locked shutter
shows identical content in the sweep band whether or not the sweep is drawn.
⚠️ **The tension was manufactured entirely by treating an inapplicable number as
evidence.** It presented as a conflict between two measurements; it was one
measurement and one artefact. Before recording two results as in tension, check
that both are *about* the question — a number that would read the same under both
hypotheses cannot discriminate them, however carefully it was measured.
📌 And a limit they surfaced rather than papered over: **some claims are not
registrable in a substring register.** Their `0.32` collides with an unrelated
measurement of their own, so registering it would produce a permanent false hit and
train the check to be ignored. Mine avoids that collision only by accident — a
25-character minimum excludes bare numbers by construction, which is the same limit
from the other side. A short claim cannot be enforced by substring; say so instead
of forcing a row in.

View File

@@ -718,6 +718,9 @@ reachable by the person about to repeat it.
### The JP title might not draw the sweep leaves at rest — ❌ REFUTED (2026-08-30, mine)
* ~~"the JP title does not draw the sweep leaves at rest"~~ — refuted, see below.
* ~~"build 7's denser logo stack occludes the sweep leaves"~~ — refuted, see below.
I hypothesised that build 7's denser logo stack (katakana + crystalline burst)
**occludes** the two sweep leaves, to explain why two JP title captures differ by
RMSE 0.32 inside the adjudication box while two EN captures a plateau-phase apart
@@ -730,6 +733,9 @@ The 0.32 had a different cause: **my own gate**. See below.
### "Two sessions sample a free-running clock" — ❌ REFUTED (2026-08-30, mine)
* ~~"a free-running clock lands somewhere else on a fresh boot"~~ — refuted, the gate phase-locks it.
* ~~"the in-box capture noise of 0.32 between sessions"~~ — refuted as a noise floor; it measures the trigger.
`jp-title-at-rest.txt` justified a second capture as probing the between-run axis
"where a free-running clock lands somewhere else on a fresh boot", and reported
its in-box **0.32 as capture noise**. Measured at the shutter instant, the sweep