skip_intro.sh admits a static screen at d <= 1500 between grabs 0.6 s apart. Over
72 samples of the failing boot the MINIMUM was 1551 -- zero could ever pass. The
timeout is unreachable by construction, not bad luck about intro length.
The premise is in the script's own comment ('the resting title barely changes')
and it is refuted by this session's own draw capture: the title free-runs two
full-screen-height sweep leaves and pulses the plate. HANDOFF already said a
settled screen is not a static screen. wait_plate_pulse.py, which counts glyph
pixels instead of demanding stillness, reached TITLE SETTLED at 245.6 s on the
same game the same day.
Threshold deliberately NOT raised: 7 of 72 samples fall under 2000, so a gate loose
enough to admit this title would also admit movie frames -- the confusion the
script's own header records paying for once already.
Cost recorded: the focus-persistence question it was booted for is unanswered.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
3.0 KiB
skip_intro.sh's title gate assumes a static title — and the title is never static
measured — 2026-08-30. Two boots failed, 600 s and 1 100 s, and the cause is an assumption the corpus had already refuted elsewhere.
What happened
focus_persistence.sh needed the main menu. boot_menu.sh gets there through
skip_intro.sh, which classifies each 0.6 s frame pair as movie or static
screen and only presses Ⓐ once it sees a static screen carrying the glyph.
Both boots reported movie (rmse …) -> waiting it out continuously and then
TIMEOUT. The second ran 1 100 s and never once saw a static screen.
The gate, and the measurement
The test is d <= 1500 between two grabs 0.6 s apart. Over the 72 samples of the
second boot:
| samples | 72 |
minimum d observed |
1 551 |
| median | 13 414 |
would pass d <= 1500 |
0 / 72 (0 %) |
would pass d <= 2000 |
7 / 72 |
The quietest frame the screen produced all boot is 51 units above the threshold. The gate cannot fire, so the timeout is not bad luck about intro length — it is unreachable by construction on these boots.
Why — and the corpus already knew
skip_intro.sh's own comment states the premise: "The resting title barely
changes between two grabs 0.6s apart; a movie …". That is false, and it is false
for a reason measured this same session: the title draws two full-screen-height
pteff03/pteff03a sweep leaves that free-run continuously, plus a plate that
pulses without decay. HANDOFF.md says it in as many words — "a settled screen is
not a static screen".
So a stillness test can never gate this title. The harness encodes an assumption the findings had already retired.
✅ And the working instrument already exists. wait_plate_pulse.py counts
glyph pixels in a band rather than demanding stillness, and it reached
TITLE SETTLED at 245.6 s on this same game earlier the same day. Two gates,
same title, opposite verdicts — the difference is entirely the premise.
What was NOT done, deliberately
The threshold was not raised. Seven of 72 samples fall under 2 000, so a gate
loose enough to admit the title would also admit frames from a playing movie —
the exact confusion skip_intro.sh's header records paying for once already
("a display and a playing movie must never be able to look the same"). Choosing
a new number here would be improvising around a blocker; the design question is
whether this gate should be a stillness test at all, and that is not settled by
two failed boots.
⚠️ Reach: two boots, one container session, one harness path. Not tested on
jp_title_session.sh or the other launchers, which use different gates. Whether
the intro is genuinely longer on these boots is unknown and separate — the gate
could not have fired even if it were short.
Cost
The question this was booted for is unanswered: whether the main menu's
initial focus persists across menu → title → menu. See
menu-navigation-semantics.md's 🟡.