tools+re: a check that reads the label, and the alpha-80 refutation

Three of my errors were the label rather than the measurement, and a
correction in one document did not reach the next page I wrote. The port
built check-authored-vs-declared for values the disc can arbitrate and named
the gap: capture-only values that name an element rest entirely on my label.
check_labels.py closes that for the cases where the identification was
itself made by matching a declared quantity -- 8 checks over two captures,
all passing, with a --selftest that points the plate label at ptcopyright
(the real error) and must fail. It does, at 82-83% against a 5% tolerance,
with the other checks still passing so the failure is localised.

Refutation of the port's "all five figures are also declared": lands for
one. ptbtn00f's peak alpha of 80 is not declared anywhere -- ptbtn00.rat's
parent peaks at 255 and its leaf is one keyframe at 255 flat, with the
120-unit loop declared but no amplitude. The period checks out; the
amplitude is capture-only and their check cannot see it.

Opens a 🟡 not mine originally: the corpus attributes the 120-unit loop to
ptbtn00f, but it belongs to ptbtn00.rat whose leaf is ptbtn00.t32. Left
uncorrected since the identification rests on the period, which holds under
either name.

Adds examples/leaf_keyframes.rs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jc4pciRArGHfxGGhEbwp5t
This commit is contained in:
sylph-decoder
2026-09-03 20:28:37 +00:00
parent 874c82900e
commit 9999a77e03
3 changed files with 222 additions and 0 deletions

View File

@@ -0,0 +1,77 @@
# A check that reads the label, not the citation — and one refutation it turned up
**Question:** do the element labels in my F5/F6 findings still agree with the
declared data?
**What the human looks at:** `python3 tools/re-capture/check_labels.py` — every
line PASS. Then `--selftest`, which must FAIL.
**What this does NOT cover:** labels with **no** declared counterpart. Named
below; that gap is real and unclosed.
## ✅ The check
Three of my errors were the **label**, not the measurement — `0x3003` read as a
different role from `0x3002`, and `ptcopyright` called "the plate" twice, the
second time on a page written *after* I had corrected it. Every number was right.
A correction living in one document did not reach the next one I wrote.
`sylpheed-port` built `check-authored-vs-declared` for values with a declared
counterpart, and named the gap it leaves: a value that exists only in a capture
and names an element rests entirely on my label. **This is that case.** Each
identification was originally *made* by matching a declared quantity, so each is
re-derivable:
```
[PASS] 1.1841 vs 1.2000 ( 1.3%) pteff03a is the 720-unit leaf, not a second 600
[PASS] 1.3017 vs 1.3333 ( 2.4%) pteff03a is the sy=800 strip
[PASS] 0.0993 vs 0.1000 ( 0.7%) the pulsing slot has the declared 120-unit period
[PASS] 0.7500 vs 0.7333 ( 2.3%) the -0.54 quad is ptcopyright (22-unit ramp)
```
Both captures, eight checks, all pass.
**The control is the point.** `--selftest` points the plate label at
`ptcopyright` — the exact error I made — and it must fail:
```
[FAIL] 0.0180 vs 0.1000 (82.0%) the pulsing slot has the declared 120-unit period
OK: mislabel detected (2 failures)
```
8283 % against a 5 % tolerance, and the other three still pass, so the failure
is localised rather than a global break.
## 🔴 Refutation — the port's "all five figures are also declared on the disc"
Attempted against their audit, and it **lands for one of the five**.
`ptbtn00f`'s **peak alpha of 80** is a figure I measured and sent them. The disc
does not declare it:
* `ptbtn00.rat` **parent** (`GP_TITLE` entries 2 and 3): `t=0 α0 · 214 α0 ·
236 α255 · 238 α255 · 244 α0`;
* its **leaf**: declared loop **120 units**, one keyframe, **α255 flat**.
**Nothing declares 80, and nothing in the declaration pulses at all.** The
*period* is declared and checks out; the *amplitude* is capture-only. So that
figure cannot be arbitrated by their check, and "all five declared" is wrong for
it — which matters because a check reporting PASS over a value it cannot see is
the failure mode their own note warns about.
## 🟡 And it opens a fourth label question — not mine originally
The corpus says *"the plate pulses via **`ptbtn00f`** on a declared 120-unit
loop"*. The 120-unit loop belongs to **`ptbtn00.rat`**, whose leaf contains
**`ptbtn00.t32`** — there is no `ptbtn00f` in it. `ptbtn00f` is a real element
elsewhere (the blend page has it at `0x0112`, additive), but the thing carrying
the declared 120-unit loop is not obviously it.
Recorded as 🟡, not corrected: my check verifies the **period**, which is what the
identification rests on, and the period is right whichever name is attached.
## Reach
The check covers labels made by matching a declared quantity. A label with no
declared counterpart — the leaf **rate**, and now this **α80** — is still
unchecked, on my side as on theirs.