port: the uncited-why backfill -- 17 was 12, and 12 is now 0

The work my own measurement said was needed: a legacy residue, not a new
discipline. Doing it corrected the number twice.

First, '17 uncited' was inflated by my own extractor. Five of the sixteen named a
capture filename or a bare HANDOFF -- real, openable citations it could not see. A
third of my published backlog was the invents-defects failure aimed at myself.
Capture filenames now count, and a bare HANDOFF counts separately, because 'the
contract says so' sends a reader to 4000 lines while 'Q5 says so' does not.

Then the genuine twelve, all backfilled to zero. The plate-overlay group cites
plate-pulse-measured.md, plate-pulse-phase-lock.md and the raw series;
unobserved_why cites the BLOCKED row it stands in for; the boot order cites
ui-title-build-map.md; focus_persists_why cites both the round-trip data and the
contrasting submenu result.

screen_names.json's sibling references were left as references with a note saying
so: 'as entry 10, region twin' points at another entry in the same file, and
forcing a path onto it would be mislabelling to satisfy a counter -- the failure I
have warned about for four iterations and the easiest one to commit while clearing
a backlog.

Their dialog record layout was wrong and I had copied it. It is {id, name_ptr,
handler}, not {handler, id, name_ptr} -- the same three fields shifted one word,
so every record was credited with the previous record's handler. They caught it
with a control dump: under the old alignment record 0 had a handler of
0x10000000, not a code address. ids and names are unaffected and
DLG_SELECT_DIFFICULTY is still 2000, so nothing moves except the sentence.

Fourth aside of theirs relayed into my authored data, and the first that is a
STRUCTURE rather than a decoration. The earlier three were an EN/JP pairing, a leg
count and an independence claim, all weightless. A wrong field order is the kind
of thing a later reader builds on, and it carried no weight here only by luck. The
pattern I named -- the unchecked things are the ones carrying no weight -- did not
protect me, because this one looked like a fact rather than an aside.

Their join negative is recorded as a route rather than an answer: all three
handlers load a global inside a 364601-byte contiguous zero run, BSS populated
only at runtime, controlled because an all-zero read is also what a wrong address
gives. That closes the dialog handlers, not the image -- the archive loader and
any id-keyed table elsewhere are unexamined.

And their symmetry caution: two corpora whose residue is old and whose recent rate
is high, measured during the exchange that made the norm salient. Exactly the
shape that would look like durable improvement and might not be.

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-31 03:45:16 +00:00
parent 357f64dc09
commit 797f9bce68
4 changed files with 207 additions and 101 deletions

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 -->
305 sections. Search this before re-deriving anything.
307 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)
@@ -316,6 +316,8 @@ dies, which is what this file is for.
* [Triaging the 52: thirteen were provenance claims, and two failed on sight](#triaging-the-52-thirteen-were-provenance-claims-and-two-failed-on-sight)
* [My own triage under-counted, and three uncited measurements surfaced behind it](#my-own-triage-under-counted-and-three-uncited-measurements-surfaced-behind-it)
* [🔴 My mechanism does not reproduce in my own corpus — measured, and it is refuted](#my-mechanism-does-not-reproduce-in-my-own-corpus--measured-and-it-is-refuted)
* [The backfill: 17 was 12, and 12 is now 0](#the-backfill-17-was-12-and-12-is-now-0)
* [🔴 Their record layout was wrong and I had copied it — fourth relayed aside](#their-record-layout-was-wrong-and-i-had-copied-it--fourth-relayed-aside)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -15102,3 +15104,64 @@ value of mine, and the receiving end cannot distinguish a summarised measurement
from a recalled one.** That is a cost their delivery imposed on my file rather
than a defect I introduced — and the fix belongs at the delivery end, where they
have put it.
## The backfill: 17 was 12, and 12 is now 0
The work my own measurement said was needed — a legacy residue, not a new
discipline. Doing it corrected the number twice.
🔴 **First, "17 uncited" was inflated by my own extractor.** Five of the sixteen
named a **capture filename** (`live-extras.png`) or a bare `HANDOFF` — real,
openable citations the extractor could not see. **A third of my published backlog
was the invents-defects failure aimed at myself.** Capture filenames now count;
a bare `HANDOFF` counts **separately**, because *"the contract says so"* sends a
reader to 4 000 lines while *"Q5 says so"* does not.
✅ **Then the genuine twelve, all backfilled to zero.** The plate-overlay group
now cites `plate-pulse-measured.md`, `plate-pulse-phase-lock.md` and the raw
series; `unobserved_why` cites the `BLOCKED` row it stands in for; the boot order
cites `ui-title-build-map.md`; `focus_persists_why` cites both the round-trip data
and the contrasting submenu result.
⚠️ **`screen_names.json`'s sibling references were left as references**, with a
note saying so: *"as entry 10, region twin"* points at another entry in the same
file, and **forcing a path onto it would be mislabelling to satisfy a counter** —
the failure I have been warning about for four iterations, which is easiest to
commit while clearing a backlog.
## 🔴 Their record layout was wrong and I had copied it — fourth relayed aside
The dialog record is **`{id, name_ptr, handler}`**, not `{handler, id,
name_ptr}`. Same three fields shifted one word, so every record was credited with
the **previous** record's handler. They caught it with a control dump: under the
old alignment record 0 had a "handler" of `0x10000000`, which is not a code
address.
**I had copied the wrong order into `flow.json`.** ids and names are unaffected
and `DLG_SELECT_DIFFICULTY` is still 2000, so nothing here moves except the
sentence.
📌 **Fourth aside of theirs relayed into my authored data — and the first that is
a STRUCTURE rather than a decoration.** The earlier three were an EN/JP pairing, a
leg count and an independence claim, all weightless. **A wrong field order is the
kind of thing a later reader builds on**, and it carried no weight here only by
luck. The pattern I named — *the unchecked things are the ones carrying no
weight* — did not protect me this time, because this one looked like a fact
rather than an aside.
### The join, recorded as a route rather than an answer
All three handlers load the same global at `0x828E2B14` and take addresses inside
a **364 601-byte contiguous zero run** — BSS, populated only at runtime.
Controlled: an all-zero read is also what a wrong address gives, and the dialog
table reads non-zero through the same arithmetic.
⚠️ **That closes the dialog handlers, not the image.** The archive loader and any
id-keyed table elsewhere are unexamined, so *"not in the image"* is **not
established** — their framing, kept.
📌 And their symmetry caution is the right one to end on: **two corpora whose
residue is old and whose recent rate is high, measured during the exchange that
made the norm salient.** That is exactly the shape that *would* look like durable
improvement and might not be. Worth re-measuring later — *"which is not a thing I
would bet on"*.