port: the publisher residual was a missing black hold -- we had both dismissed it

I carried this as "0.03 s outside a composite bound, probably a property of the
bound rather than the game", and the Decoder agreed. Both wrong, and the way it
was settled is the point: I stopped reasoning about the bound and filmed the
transition.

At 0.05 s the port fell straight out of the publisher's fade into the developer
logos -- mean 5.06 -> 0.32 at t=4.20, then 5.65 at t=4.25. NO BLACK FRAME AT ALL,
where the oracle measures a 0.17-0.23 s pure-black plateau (HANDOFF Q7). The
bound was fine; the port was missing a fifth of a second of black, and had been
since P3.

Authored at 12 units because the boot path has nothing to read it from:
publisher_logo and developer_logos each carry a single palogo_eff0, a 1280x720
primitive with ONE keyframe at t=0 -- static, not a transition ramp. The menus'
quad declares black for 12 units and 12/60 = 0.200 s sits mid-range, so the
number is the disc's where a screen has one.

Filmed after: t=4.25, 4.30, 4.35, 4.40 all at mean 0, then the developer logos at
4.45. publisher interval 4.26 DIFFERS -> 4.47 agrees; developer 3.62 -> 3.73,
still agrees. Settled-frame comparisons untouched, as they should be.

THE LESSON IS THE SHAPE OF THE DISMISSAL, NOT THE NUMBER. "A 0.03 s miss against
a bound composed from two measured ranges plus jitter slack is more likely a
property of the bound" is plausible, was accepted by both of us, and was wrong.
The composite bound is why the miss looked small -- the underlying gap was 0.2 s
-- and a plausible explanation for a small number is how a real defect stays
hidden. The film cost one command.

Also recorded: the Decoder has reproduced across two build-ins that the console
NEVER draws ptlogo_back2eff3 (0 draws against ~5 expected), with sampling phase,
invisible draws and position error all ruled out -- but WHY is not established,
and nothing in eff3's record differs from its neighbours. The port keeps drawing
it, deliberately: dropping an element the disc declares on a measurement with no
mechanism is authoring a behaviour neither agent can derive, and nothing this
port gates on would notice, since the flashes live only in the build-in and
verify-capture compares the settled frame.

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-29 20:27:41 +00:00
parent a9812186e3
commit 6c78b3cda9
3 changed files with 103 additions and 1 deletions

View File

@@ -4552,3 +4552,66 @@ sample large shared pages. Matching on texture dimensions told them first that n
flash is ever drawn, then that `ptbase2` and `pteff04` are drawn in frames 75105
— which are the intro movie, whose YUV planes are 640×360 targeting 1280×720.
Two errors, opposite directions, one pass, neither loud.
## ✅ The `publisher_logo` residual was a missing black hold, and we had both dismissed it
I had carried this as *"0.03 s outside a composite bound, probably a property of
the bound rather than the game"*, and the Decoder agreed. **We were both wrong,
and the way it was settled is the point: I stopped reasoning about the bound and
filmed the transition.**
At 0.05 s the port fell straight out of the publisher's fade into the developer
logos — mean 5.06 → 0.32 at t=4.20, then **5.65 at t=4.25**. There was **no black
frame at all**, where the oracle measures a 0.170.23 s pure-black plateau
(HANDOFF Q7). The bound was fine. The port was missing a fifth of a second of
black, and had been since P3.
**Authored at 12 units**, because on the boot path there is nothing to read it
from: `publisher_logo` and `developer_logos` each carry a single `palogo_eff0`
a 1280×720 primitive with **one keyframe at t=0**, static, not a transition ramp.
The menus' quad declares black for 12 units and 12/60 = **0.200 s** sits in the
middle of the measured range, so the number is the disc's where a screen has one.
Filmed after: **t=4.25, 4.30, 4.35, 4.40 all at mean 0** — four black frames,
0.20 s — then the developer logos at 4.45.
| | before | after |
|---|---|---|
| publisher interval | 4.26 s, **DIFFERS** | **4.47 s, agrees** |
| developer interval | 3.62 s, agrees | 3.73 s, agrees |
The settled-frame comparisons are untouched, as they should be — this is pacing,
not pixels.
⚠️ **The lesson is about the shape of the dismissal, not the number.** *"A 0.03 s
miss against a bound composed from two measured ranges plus jitter slack is more
likely a property of the bound"* is a **plausible** explanation, it was offered
and accepted by both of us, and it was wrong. The composite bound was the reason
the miss looked small — the underlying gap was 0.2 s — and a plausible
explanation for a small number is exactly how a real defect stays hidden. **The
film cost one command.**
## `ptlogo_back2eff3` — recorded, deliberately not acted on
The Decoder has reproduced across two independent build-ins that the console
**never draws `eff3`**: 0 draws against ~5 expected, while `eff1` gets 4, `eff2`
3 and `eff4` 6. Three explanations are ruled out — sampling phase (`eff3` is
non-zero over six units against a 2.23-unit step, and frames at t=60.1 and 62.3
sit inside it drawing `eff2` and `eff4` instead), a draw the log cannot see, and
a bad position guess (no quad anywhere is within ±30 of the expected 408 width;
the spectrum jumps 262 → 748).
**But *why* is not established** — nothing in `eff3`'s record differs from its
neighbours: same kind `0x0`, same keyframe shape, same `u4`/`u8`, same scale.
🔴 **So the port keeps drawing it, and that is a decision rather than an
oversight.** Dropping an element the disc declares, on a measurement with no
mechanism behind it, is authoring a behaviour neither agent can derive — and
**nothing this port gates on would notice either way**: the flashes live only in
the build-in, and `verify-capture` compares the settled frame at t=198 where none
of the five is drawn. Acting would buy no measurable fidelity and cost an
unexplained exception in `authored/`.
**What would change it:** a mechanism in the record, or a gate that measures the
build-in against a capture. Until then the port is visibly wrong for two frames
during a build-in nobody compares, which is the cheaper of the two wrongs.