From 62ff9e48dce8f0782a3e64b8d66f3ae1f1a58c62 Mon Sep 17 00:00:00 2001 From: Sylpheed port agent Date: Sun, 30 Aug 2026 17:37:08 +0000 Subject: [PATCH] port: my backdrop predicate is exact in GP_TITLE and its reading was wrong I offered 'a declared opaque-black backdrop distinguishes standalone from composited' and asked for it to be tested against archives I do not have. It was. The split reproduces exactly: derived independently from the disc, GP_TITLE gives 12 with and 4 without, the four being entries 0-3 -- my build_00, build_01, press_start, press_start_jp -- with element names matching. Two genuinely different paths, my export against their disc reader. The reading does not survive. Disc-wide the predicate is rare, 76 of 965 builds at 7.9%, with GP_HANGAR_ARSENAL 0 of 390, GP_OPTIONS 0/14, GP_PAUSE_MENU 0/6. Read as 'composited' it makes 92% of the game composited, which the archives do not support. What survives is narrower: it separates screens that BEGIN FROM BLACK from everything else, and their sharpening is the part I would not have reached -- the negative class is heterogeneous, so a two-way rule cannot express it. My caveat named the exact test that refuted the reading, but I still put the refuted interpretation into verify-screen's header as a stated fact while the hedge lived in DECISIONS.md. Corrected, with the 7.9% figure and an explicit do not carry this into the four unexported archives. Hedging in the write-up does not protect the claim shipped in the tool -- the same delivery gap as the capture-phase term, repeated four iterations after fixing it once. Within GP_TITLE the rule is exact and --black for those twelve is justified from the file rather than assumed. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF --- docs/port/DECISIONS.md | 46 +++++++++++++++++++++++++++++++++++++++- tools/port/verify-screen | 20 ++++++++++++++--- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/docs/port/DECISIONS.md b/docs/port/DECISIONS.md index 8ea77c16..2645f592 100644 --- a/docs/port/DECISIONS.md +++ b/docs/port/DECISIONS.md @@ -9,7 +9,7 @@ dies, which is what this file is for. -193 sections. Search this before re-deriving anything. +194 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) @@ -204,6 +204,7 @@ dies, which is what this file is for. * [Refuting the "8.5 % systematic" in the splash dwells — it is the span, not the clock](#refuting-the-85--systematic-in-the-splash-dwells--it-is-the-span-not-the-clock) * [The fifth member of the family is mine: "drawn" is not "visible"](#the-fifth-member-of-the-family-is-mine-drawn-is-not-visible) * [Auditing `--black`, and a rule that falls out of it](#auditing---black-and-a-rule-that-falls-out-of-it) +* [🔴 CORRECTION: my backdrop predicate is exact in `GP_TITLE` and its reading was wrong](#correction-my-backdrop-predicate-is-exact-in-gp_title-and-its-reading-was-wrong) ## P0 — the exporter, 2026-08-28 @@ -10905,3 +10906,46 @@ name-matching involved. exceptions is a thin basis, and a standalone screen that simply omits its backdrop would be misclassified. Recorded as a rule with its evidence, not as a decoded fact. + +## 🔴 CORRECTION: my backdrop predicate is exact in `GP_TITLE` and its reading was wrong + +I offered *"a declared opaque-black backdrop distinguishes a standalone screen +from a composited one"* and asked for it to be tested against archives I do not +have. It was, and the result splits cleanly in two. + +✅ **The split reproduces exactly.** Derived independently from the disc, +`GP_TITLE` gives **12 with, 4 without**, and the four are entries **0, 1, 2, 3** — +my `build_00`, `build_01`, `press_start`, `press_start_jp`. Element names match +too. Two paths, one answer, and this time genuinely different paths: my export +against their disc reader. + +🔴 **The reading does not survive.** Disc-wide the predicate is **rare — 76 of 965 +builds, 7.9 %** — and `GP_HANGAR_ARSENAL` is **0 of 390**, `GP_OPTIONS` 0/14, +`GP_PAUSE_MENU` 0/6, `GP_READY_ROOM` 0/60, `GP_GAMEOVER` 0/10. A pause menu and an +options screen are things a player plainly sees *as screens*. Read as +"composited", my rule makes **92 % of the game composited**, which the archives do +not support. + +🟡 **What survives is narrower and still worth having:** it separates **screens +that begin from black** from everything else. Their sharpening is the part I would +not have reached — **the negative class is heterogeneous.** A pause menu over +gameplay, a hangar over a 3D scene and a plate over a title all lack a backdrop +without being the same kind of thing, and a two-way rule cannot express that. + +### What I got right, and what that is worth + +📌 My caveat was *"sufficient as observed, not proven necessary — four exceptions +is a thin basis, and I'd want it tested against an archive I don't have."* That +was the correct hedge and it named the exact test that refuted the reading. ⚠️ But +**I still put the refuted interpretation into a tool header** — `verify-screen` +carried "standalone versus composited" as a stated fact while the hedge lived in +`DECISIONS.md`. Corrected there now, with the 7.9 % figure and an explicit "do not +carry this into the four unexported archives". + +**Hedging in the write-up does not protect the claim I ship in the tool.** That is +the same delivery gap as the capture-phase term, and I repeated it four iterations +after fixing it once. + +✅ Within `GP_TITLE` the rule is exact, and `--black` for those twelve screens is +now justified **from the file** rather than assumed — which was the original point +and is unaffected. diff --git a/tools/port/verify-screen b/tools/port/verify-screen index 9752222f..d67a224e 100755 --- a/tools/port/verify-screen +++ b/tools/port/verify-screen @@ -67,9 +67,23 @@ # scored as `--screen=title --overlay=press_start`, over the title, not on # black. # -# 📌 The audit is also a rule worth having: **a declared opaque-black -# backdrop distinguishes a standalone screen from a composited one**, and it -# is derivable from the file rather than from a name. +# 📌 The audit is a rule worth having WITHIN THIS ARCHIVE, and its first +# reading was wrong. I called it "standalone versus composited"; the Decoder +# ran it disc-wide and it does not carry: **76 of 965 builds, 7.9 %**, with +# `GP_HANGAR_ARSENAL` **0 of 390**, `GP_OPTIONS` 0/14, `GP_PAUSE_MENU` 0/6 -- +# screens a player plainly sees AS screens. Read as "composited", the rule +# makes 92 % of the game composited, which the archives do not support. +# +# ✅ What survives is narrower: it separates **screens that begin from black** +# from everything else. The negative class is heterogeneous -- a pause menu +# over gameplay, a hangar over a 3D scene and a plate over a title are not the +# same kind of thing -- which is exactly what a two-way rule cannot express. +# +# ⚠️ Within `GP_TITLE` it is exact and independently reproduced from the disc +# (12/4, the four being entries 0-3). That is the only archive it is claimed +# for. Do NOT carry it into `GP_READY_ROOM`, `GP_HANGAR_ARSENAL`, +# `GP_MISSION_SELECT` or `GP_OPTIONS`: in three of them it classifies every +# screen alike, so it would look like a clean answer and say nothing. # * `--primitives --animated` because those are what make the CLI draw the same # element set. `--focus` is NOT passed: nothing is focused at rest (HANDOFF # Q5 measured initial focus as unstable boot to boot, so choosing one is