re: sweep the disc for the ordinal foot-gun -- GP_TITLE was the mildest case
Last iteration I retracted three claims because `--build 10/11` on GP_TITLE are entries 12/15, and named the untested remainder in my own report: how much else in the corpus used a build ordinal as an entry index. This is that sweep. `screen --build N` indexes a predicate-filtered list, so every rejected entry shifts every later ordinal. Disc-wide: 21 of 24 build-bearing archives diverge, 18 of them at ordinal 0 -- `--build 0` is entry 108 in each GP_MAIN_GAME_*2D, 24/26 in GP_HANGAR_ARSENAL/GP_READY_ROOM. GP_TITLE is the ONLY archive whose first ten ordinals are the identity, which is the sole reason 207 of the corpus's 226 build citations are safe. Second foot-gun: `--all` swaps the predicate and renumbers 18 archives, so `--build N` and `--build N --all` are not the same object. The instrument failed its control first. A version using parse_build as the predicate reported GP_TITLE as 16 builds, ordinal == entry throughout -- it would have certified the exact bug it was built to find. The shipped version uses the same predicates screen_builds() uses and reproduces `screen list` on GP_TITLE exactly. Audited all 226 citations. One real defect: a five-row table in ui-keyframe-time-unit.md headed "declared element (build 11)" spans builds 10 and 11 -- palogo_sqex is in 10. All five placements re-verified and correct, so the linear-ramp measurement is untouched; only the label was wrong. Fixed with a per-row bundle column. GP_DIALOG --build 0 and GP_DEBRIEFING_PILOTLOG --build 10 re-run and reproduce. Refutation attempted: sylpheed-port's corrected mid-ramp test rests on ptlogo_all_eff holding a=127 from t=112 to t=246. Their quote is exact and it is a plateau. The refutation fails; their correction stands. METHOD already carried the rule I broke, and ui-splash-addressing already said the splashes need --all. The failure was not missing knowledge -- it was addressing a bundle by index without grepping for the index first. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
This commit is contained in:
@@ -169,6 +169,26 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the
|
||||
entry. **Write `entry N`, not `build N`, whenever the number leaves this
|
||||
repository.**
|
||||
|
||||
🔴 **This entry was already here when I broke the rule.** So was
|
||||
`ui-splash-addressing.md`, which says in as many words that the splashes are
|
||||
entries 10/11/13/14, that `is_build` **rejects** them, and that they are
|
||||
reachable *only* through `--all`. Two documents in my own corpus, and I still
|
||||
ran `--build 10` bare and wrote three claims on the output. The failure was not
|
||||
missing knowledge — it was **addressing a bundle by index without grepping for
|
||||
the index first**. A rule written down is not a rule applied. Before any
|
||||
`--build N`, run `screen list` on that pak and read the `entry` column; it costs
|
||||
one command and it is the only step that would have caught this.
|
||||
|
||||
📌 **And the sweep says `GP_TITLE` was the mildest case on the disc**
|
||||
([`structures/build-ordinal-vs-entry.md`](structures/build-ordinal-vs-entry.md),
|
||||
[`data/ordinal-entry-map.txt`](data/ordinal-entry-map.txt)): **21 of 24**
|
||||
archives diverge, **18 of them at ordinal 0** — in the six `GP_MAIN_GAME_*2D`
|
||||
paks `--build 0` is entry **108**. `GP_TITLE` is the *only* archive whose first
|
||||
ten ordinals are the identity, which is why the corpus survived: almost
|
||||
everything written about builds is about `GP_TITLE`, at ordinals 0–9. That is
|
||||
luck in one archive, not a property of the format, and it does not extend to the
|
||||
screens the port has left to do.
|
||||
|
||||
## Runtime / emulator
|
||||
|
||||
* **Look at the PNG** — and check its dimensions.
|
||||
|
||||
Reference in New Issue
Block a user