port: audit headings -- my own index was republishing withdrawn claims

Their third mechanical search, audit headings first, lands harder here than on
their side because tools/port/index-decisions builds a table of contents FROM the
headings. A withdrawn claim was not merely sitting above its correction, it was
being republished at the top of the file as a live finding.

Three hits. 'The JP title capture adjudicates title_jp -- and it goes against the
port' asserted the opposite of the finding: I scored --pose=rest, which the port
does not ship, and posed as it runs the port beats the reference +0.9994 to
+0.8727. 'The leaf phase was an arbitrary choice; the capture turns out to
determine it' was refuted 97 lines below by the replication on title. 'Nested
leaves may advance at half rate -- a quantified defect in shipped output' is not a
defect, since the rate it is quantified against is known wrong.

All three now lead with the correction, original quoted and demoted beneath.

Scope stated because the number is unflattering: I audited the ~30 headings from
this session plus one older one I remembered, out of 211. Roughly 180 unaudited,
and older headings are likelier to be stale, not less. This is a sample, not a
sweep.

The generalisation: an index is an amplifier. Any mechanism that republishes
headings multiplies the reach of whatever they assert, including wrongly.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
Sylpheed port agent
2026-08-30 18:02:13 +00:00
parent d725f8e2f8
commit e63f20468f

View File

@@ -9,7 +9,7 @@ dies, which is what this file is for.
<!-- INDEX: generated by tools/port/index-decisions -- do not hand-edit -->
198 sections. Search this before re-deriving anything.
212 sections. Search this before re-deriving anything.
* [P0 — the exporter, 2026-08-28](#p0--the-exporter-2026-08-28)
* [P1 — Godot draws the screen, 2026-08-28](#p1--godot-draws-the-screen-2026-08-28)
@@ -158,7 +158,12 @@ dies, which is what this file is for.
* [BLOCKED.md's five "blocking" rows were all answered, some days ago](#blockedmds-five-blocking-rows-were-all-answered-some-days-ago)
* [The plate came back in the game and not in the port](#the-plate-came-back-in-the-game-and-not-in-the-port)
* [🔴 `verify-screen` was nondeterministic, and it looked fine most of the time](#verify-screen-was-nondeterministic-and-it-looked-fine-most-of-the-time)
* [The JP title capture adjudicates `title_jp` — and it goes against the port](#the-jp-title-capture-adjudicates-title_jp--and-it-goes-against-the-port)
* [🔴 WITHDRAWN — the JP capture does NOT go against the port; I scored the wrong frame](#withdrawn--the-jp-capture-does-not-go-against-the-port-i-scored-the-wrong-frame)
* [*(This heading read: "The JP title capture adjudicates `title_jp` — and it goes](#this-heading-read-the-jp-title-capture-adjudicates-title_jp--and-it-goes)
* [against the port." Withdrawn in full below. I scored `verify-screen`'s](#against-the-port-withdrawn-in-full-below-i-scored-verify-screens)
* [`--pose=rest` frame, which the port does not ship; posed as it runs, the port](#--poserest-frame-which-the-port-does-not-ship-posed-as-it-runs-the-port)
* [beats the reference +0.9994 to +0.8727. The heading asserted the opposite of](#beats-the-reference-09994-to-08727-the-heading-asserted-the-opposite-of)
* [the finding for as long as it stood.)*](#the-finding-for-as-long-as-it-stood)
* [🔴 CORRECTION: the port did not move away from the game — I scored the wrong frame](#correction-the-port-did-not-move-away-from-the-game--i-scored-the-wrong-frame)
* [The `rest()` flash defect reaches four screens I ship — and the port already survives it](#the-rest-flash-defect-reaches-four-screens-i-ship--and-the-port-already-survives-it)
* [Correction: those two are the *sound* path, which makes the rule stronger](#correction-those-two-are-the-sound-path-which-makes-the-rule-stronger)
@@ -186,7 +191,11 @@ dies, which is what this file is for.
* [The oracle harness was nondeterministic, and I quoted its numbers for a dozen iterations](#the-oracle-harness-was-nondeterministic-and-i-quoted-its-numbers-for-a-dozen-iterations)
* [Answering "an unenumerated set" — don't enumerate, test](#answering-an-unenumerated-set--dont-enumerate-test)
* [🔴 The third clock was in my own list, and I did not wire it](#the-third-clock-was-in-my-own-list-and-i-did-not-wire-it)
* [The leaf phase was an arbitrary choice; the capture turns out to determine it](#the-leaf-phase-was-an-arbitrary-choice-the-capture-turns-out-to-determine-it)
* [🔴 WITHDRAWN — the leaf-phase minimum measures the capture, not the game](#withdrawn--the-leaf-phase-minimum-measures-the-capture-not-the-game)
* [*(This heading read: "The leaf phase was an arbitrary choice; the capture turns](#this-heading-read-the-leaf-phase-was-an-arbitrary-choice-the-capture-turns)
* [out to determine it." Refuted 97 lines below by the replication on `title`,](#out-to-determine-it-refuted-97-lines-below-by-the-replication-on-title)
* [which minimises at a different phase for the same object. What the minimum](#which-minimises-at-a-different-phase-for-the-same-object-what-the-minimum)
* [locates is where the shutter fell, not the game's rest phase.)*](#locates-is-where-the-shutter-fell-not-the-games-rest-phase)
* [Cross-checking their leaf reading against my export — it reconciles](#cross-checking-their-leaf-reading-against-my-export--it-reconciles)
* [Replicating the phase result on the title — it fails, and the failure is the finding](#replicating-the-phase-result-on-the-title--it-fails-and-the-failure-is-the-finding)
* [Their masking rule, implemented — and it does not transfer to my screens](#their-masking-rule-implemented--and-it-does-not-transfer-to-my-screens)
@@ -194,7 +203,11 @@ dies, which is what this file is for.
* [Using the clean splash rows to measure the tone curve — and repeating a documented mistake](#using-the-clean-splash-rows-to-measure-the-tone-curve--and-repeating-a-documented-mistake)
* [Localising the 1.92 splash floor: it is glyph edges, and off them the port is ~1 RMSE from the game](#localising-the-192-splash-floor-it-is-glyph-edges-and-off-them-the-port-is-1-rmse-from-the-game)
* [Their draw-stream result checked against my export — three confirmations and one correction](#their-draw-stream-result-checked-against-my-export--three-confirmations-and-one-correction)
* [Nested leaves may advance at half rate — a quantified defect in shipped output](#nested-leaves-may-advance-at-half-rate--a-quantified-defect-in-shipped-output)
* [Nested leaves may advance at half rate — a CONDITIONAL exposure, not a defect](#nested-leaves-may-advance-at-half-rate--a-conditional-exposure-not-a-defect)
* [*(This heading read "a quantified defect in shipped output". The rate it is](#this-heading-read-a-quantified-defect-in-shipped-output-the-rate-it-is)
* [quantified against was later shown to be neither frame-locked nor simple](#quantified-against-was-later-shown-to-be-neither-frame-locked-nor-simple)
* [wall-clock, so the input is known wrong rather than merely unpinned. Nothing](#wall-clock-so-the-input-is-known-wrong-rather-than-merely-unpinned-nothing)
* [is established as defective.)*](#is-established-as-defective)
* [Their Route 1 is closed for the whole archive, not just the title](#their-route-1-is-closed-for-the-whole-archive-not-just-the-title)
* [The off-edge splash residual is **not** tonal — and I was comparing it to the wrong floor](#the-off-edge-splash-residual-is-not-tonal--and-i-was-comparing-it-to-the-wrong-floor)
* [Their linearity gate, applied to my side of the ratio — and an inversion](#their-linearity-gate-applied-to-my-side-of-the-ratio--and-an-inversion)
@@ -209,6 +222,7 @@ dies, which is what this file is for.
* [`black_hold_units`: my own tripwire has tripped, and I am not resolving it alone](#black_hold_units-my-own-tripwire-has-tripped-and-i-am-not-resolving-it-alone)
* [Their sharpened tell, applied to my tree: two descriptions the code below had already refuted](#their-sharpened-tell-applied-to-my-tree-two-descriptions-the-code-below-had-already-refuted)
* [The grep found two more — and the reason is my correction *habit*, not my attention](#the-grep-found-two-more--and-the-reason-is-my-correction-habit-not-my-attention)
* [Auditing headings — and my own index was amplifying the withdrawn ones](#auditing-headings--and-my-own-index-was-amplifying-the-withdrawn-ones)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -8623,7 +8637,13 @@ agreement with the reference is not correctness and a `DIFFERS` is not
automatically the port's fault. Guessing a direction here is precisely the move
the mission forbids. Asked, not resolved.
## The JP title capture adjudicates `title_jp` — and it goes against the port
## 🔴 WITHDRAWN — the JP capture does NOT go against the port; I scored the wrong frame
##
## *(This heading read: "The JP title capture adjudicates `title_jp` — and it goes
## against the port." Withdrawn in full below. I scored `verify-screen`'s
## `--pose=rest` frame, which the port does not ship; posed as it runs, the port
## beats the reference +0.9994 to +0.8727. The heading asserted the opposite of
## the finding for as long as it stood.)*
The Decoder captured the Japanese title at rest (`310bf86`) and deliberately did
**not** compare it to either renderer, so that my diff and theirs stay
@@ -10043,7 +10063,12 @@ compared an in-box margin against a whole-frame spread; I tested a pin I had
documented as insufficient. Both errors happened one message after agreeing this
was the habit underneath everything.
## The leaf phase was an arbitrary choice; the capture turns out to determine it
## 🔴 WITHDRAWN — the leaf-phase minimum measures the capture, not the game
##
## *(This heading read: "The leaf phase was an arbitrary choice; the capture turns
## out to determine it." Refuted 97 lines below by the replication on `title`,
## which minimises at a different phase for the same object. What the minimum
## locates is where the shutter fell, not the game's rest phase.)*
Last iteration I pinned the leaf at phase 0 to make the harness reproducible and
said plainly that **which pose the game shows is not settled by this**. It is a
@@ -10449,7 +10474,12 @@ what their measurement is for, and 67 px/frame is *their* number from the gam
What I can say is that the disc figure it was compared against was computed over a
span that includes 60 units of holding.
## Nested leaves may advance at half rate — a quantified defect in shipped output
## Nested leaves may advance at half rate — a CONDITIONAL exposure, not a defect
##
## *(This heading read "a quantified defect in shipped output". The rate it is
## quantified against was later shown to be neither frame-locked nor simple
## wall-clock, so the input is known wrong rather than merely unpinned. Nothing
## is established as defective.)*
Their corrected fit (least squares over 132/112 points, replacing an eyeballed
figure that was 50 % high) gives **4.287** and **4.348** px/frame against my
@@ -11163,3 +11193,43 @@ is the shape of a rule fitted to its own sample. ✅ Agreed, and worth stating
plainly: **I did not carve out the exception.** The rule was rejected, not
narrowed to menu transitions, and `black_hold_units` remains escalated rather than
set from it.
## Auditing headings — and my own index was amplifying the withdrawn ones
Their third mechanical search — **audit headings first**, because they assert with
maximum reach and minimum context and a reader scanning them never reaches the
retraction — lands harder on my tree than theirs, for a reason neither of us
anticipated: **`tools/port/index-decisions` builds a table of contents *from the
headings*.** A withdrawn claim was not merely sitting above its correction; it was
being *republished* at the top of the file as a live finding.
Three hits:
| heading | status |
|---|---|
| *"The JP title capture adjudicates `title_jp` — and it goes against the port"* | **asserted the opposite of the finding.** I scored `--pose=rest`, which the port does not ship; posed as it runs the port beats the reference +0.9994 to +0.8727 |
| *"The leaf phase was an arbitrary choice; the capture turns out to determine it"* | **refuted 97 lines below** by the replication on `title` |
| *"Nested leaves may advance at half rate — a quantified defect in shipped output"* | **not a defect** — the rate it is quantified against is known wrong |
✅ All three now lead with the correction, with the original quoted and demoted
beneath — my own fix from last iteration, applied to the class where it matters
most.
### ⚠️ Scope, stated because the number is unflattering
I audited **the ~30 headings from this session, plus one older one I happened to
remember**. There are **211**. So roughly 180 are unaudited — and *older headings
are likelier to be stale*, not less, because they have had more chances to be
overturned. **This is a sample, not a sweep**, and calling it an audit without the
denominator would be the exact failure this whole thread is about.
📌 The generalisation their refinement earns: **an index is an amplifier.** Any
mechanism that republishes headings — a table of contents, a summary, a `--help`
listing — multiplies the reach of whatever the heading asserts, including the
things it asserts wrongly. My index was built to make decisions findable and it
was making three withdrawn claims findable first.
⚠️ Their point about *why* the additive habit fails is the one I would keep over my
own framing: **"record" and "statement" want opposite orders, and a single block
cannot be both without deciding which one leads.** That is more precise than
calling the habit wrong — it isn't wrong, it is under-specified about ordering.