port: audit the --black premise -- declared on 12 screens, assumed on 4, all composited

Their finding that screen render --black's premise is declared on the splash
builds is checkable across my whole export, and verify-screen passes --black to
all sixteen screens on that premise.

Audited by asking whether a screen declares a full-screen untextured primitive at
t=0 with fade_argb 0xff000000. Twelve do -- pteff00 on both titles, both menus and
both extras, palogo_eff0 on all four splashes, pgloading_eff00 on build_12/15.
Four do not: press_start, press_start_jp, build_00, build_01.

All four exceptions are composited rather than standalone. press_start is one
element, the plate, whose own name_why records it is composited over the title.
build_00/build_01 carry the pgloading_* set without the pgloading_eff00 backdrop
that build_12/15 declare.

Harmless where used: verify-screen gives --black to both renderers so the
assumption cancels in a consistency check, and verify-capture already scores the
plate over the title rather than on black. The exposure was real and the tooling
had already routed around it, which could only be established by looking.

The rule that falls out: a declared opaque-black backdrop distinguishes a
standalone screen from a composited one, derivable from the file rather than from
a name. Recorded as a rule with its evidence -- sufficient as observed, not proven
necessary, on four exceptions.

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 17:32:09 +00:00
parent 5935638dd0
commit 406dc75179
2 changed files with 62 additions and 1 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 -->
192 sections. Search this before re-deriving anything.
193 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)
@@ -203,6 +203,7 @@ dies, which is what this file is for.
* [The boot verified as a *sequence*, not just at its endpoint](#the-boot-verified-as-a-sequence-not-just-at-its-endpoint)
* [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)
<!-- /INDEX -->
## P0 — the exporter, 2026-08-28
@@ -10865,3 +10866,42 @@ distortion of the record.
✅ Nothing about the conclusion moves: the port plays the full group, 255 and 210
units; the recomputed ratios are 1.011/1.083/1.028 and 1.002/1.001/0.962, mean
1.0146; **Q1 stands unqualified** and `keyframe_units_per_second` does not move.
## Auditing `--black`, and a rule that falls out of it
Their dividend — that `screen render --black`'s premise is **declared** on the
splash builds rather than assumed — is checkable across my whole export, and
`verify-screen` passes `--black` to all sixteen screens on exactly that premise.
Audited by asking: does the screen declare a full-screen untextured primitive at
`t=0` with `fade_argb 0xff000000`?
| | |
|---|---|
| **declared** — 12 screens | `pteff00` (both titles, both menus, both extras), `palogo_eff0` (all four splashes), `pgloading_eff00` (`build_12`, `build_15`) |
| **not declared** — 4 screens | `press_start`, `press_start_jp`, `build_00`, `build_01` |
🔴 **All four exceptions are composited, not standalone.** `press_start` is one
element — the plate — and its own `name_why` records that it is *"composited over
the title"*; the game never shows it on black. `build_00`/`build_01` carry the
`pgloading_*` set **without** the `pgloading_eff00` backdrop that `build_12`/`15`
declare.
✅ **Harmless where it is used**, and worth stating why rather than assuming:
`verify-screen` gives `--black` to *both* renderers, so the assumption cancels in
a consistency check. It would not cancel in an oracle comparison — and
`verify-capture` already avoids it, scoring the plate as
`--screen=title --overlay=press_start`, over the title. The exposure was real and
the tooling had already routed around it, which I could only establish by looking.
📌 **The rule that falls out is the useful part: 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 corpus wanted exactly this shape of
predicate for splash recognition and was told none existed for *that* question;
this is a different question with an answer. 12 standalone, 4 composited, no
name-matching involved.
⚠️ It is a *sufficient* condition as observed, not a proven necessary one — four
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.

View File

@@ -49,6 +49,27 @@
# * `--black` because Godot clears to black and the screen carries its own
# background. The CLI's default dim slate stands in for a 3D scene behind an
# in-mission screen, which is not this screen.
#
# ⚠️ THAT PREMISE IS DECLARED ON 12 OF 16 SCREENS AND ASSUMED ON 4. Audited
# 2026-08-30: a screen "carries its own background" when it declares a
# full-screen untextured primitive at `t=0` with `fade_argb 0xff000000` --
# opaque black. Twelve do (`pteff00`, `palogo_eff0`, `pgloading_eff00`).
# Four do NOT, and all four are COMPOSITED rather than standalone:
#
# press_start / press_start_jp -- one element, the plate, drawn OVER the
# title; its own `name_why` says so. The game never shows it on black.
# build_00 / build_01 -- loading variants carrying the `pgloading_*` set
# WITHOUT the `pgloading_eff00` backdrop that build_12/15 declare.
#
# ✅ Harmless HERE, because both renderers are given `--black` and the
# assumption cancels in a consistency check. It would NOT be harmless in an
# oracle comparison, and `verify-capture` already avoids it: the plate is
# 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.
# * `--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