re: two boots failed because the title gate tests for stillness on a screen that never stills

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
This commit is contained in:
sylph-decoder
2026-08-30 21:15:48 +00:00
parent e6d0f14ea7
commit 982b6349c6
3 changed files with 148 additions and 1 deletions

View File

@@ -0,0 +1,75 @@
signing in profile B13EBABEBABEBABE
movie (rmse 2722) at 16s -> waiting it out (tapping breaks the title)
movie (rmse 2643) at 25s -> waiting it out (tapping breaks the title)
movie (rmse 1671) at 33s -> waiting it out (tapping breaks the title)
movie (rmse 3824) at 43s -> waiting it out (tapping breaks the title)
movie (rmse 1717) at 54s -> waiting it out (tapping breaks the title)
movie (rmse 23460) at 61s -> waiting it out (tapping breaks the title)
movie (rmse 5300) at 67s -> waiting it out (tapping breaks the title)
movie (rmse 4892) at 73s -> waiting it out (tapping breaks the title)
movie (rmse 15149) at 81s -> waiting it out (tapping breaks the title)
movie (rmse 2905) at 86s -> waiting it out (tapping breaks the title)
movie (rmse 11773) at 92s -> waiting it out (tapping breaks the title)
movie (rmse 8827) at 99s -> waiting it out (tapping breaks the title)
movie (rmse 5981) at 105s -> waiting it out (tapping breaks the title)
movie (rmse 21621) at 113s -> waiting it out (tapping breaks the title)
movie (rmse 39145) at 120s -> waiting it out (tapping breaks the title)
movie (rmse 13603) at 127s -> waiting it out (tapping breaks the title)
movie (rmse 9692) at 135s -> waiting it out (tapping breaks the title)
movie (rmse 41893) at 142s -> waiting it out (tapping breaks the title)
movie (rmse 14249) at 149s -> waiting it out (tapping breaks the title)
movie (rmse 29515) at 157s -> waiting it out (tapping breaks the title)
movie (rmse 16661) at 165s -> waiting it out (tapping breaks the title)
movie (rmse 21280) at 171s -> waiting it out (tapping breaks the title)
movie (rmse 34529) at 188s -> waiting it out (tapping breaks the title)
movie (rmse 24373) at 211s -> waiting it out (tapping breaks the title)
movie (rmse 27187) at 229s -> waiting it out (tapping breaks the title)
movie (rmse 22876) at 243s -> waiting it out (tapping breaks the title)
movie (rmse 8839) at 257s -> waiting it out (tapping breaks the title)
movie (rmse 16332) at 280s -> waiting it out (tapping breaks the title)
movie (rmse 33260) at 300s -> waiting it out (tapping breaks the title)
movie (rmse 16803) at 317s -> waiting it out (tapping breaks the title)
movie (rmse 20354) at 339s -> waiting it out (tapping breaks the title)
movie (rmse 21732) at 361s -> waiting it out (tapping breaks the title)
movie (rmse 22774) at 383s -> waiting it out (tapping breaks the title)
movie (rmse 14682) at 405s -> waiting it out (tapping breaks the title)
movie (rmse 23034) at 430s -> waiting it out (tapping breaks the title)
movie (rmse 36880) at 447s -> waiting it out (tapping breaks the title)
movie (rmse 31575) at 468s -> waiting it out (tapping breaks the title)
movie (rmse 14964) at 494s -> waiting it out (tapping breaks the title)
movie (rmse 26873) at 502s -> waiting it out (tapping breaks the title)
movie (rmse 8192) at 513s -> waiting it out (tapping breaks the title)
movie (rmse 8118) at 525s -> waiting it out (tapping breaks the title)
movie (rmse 7385) at 535s -> waiting it out (tapping breaks the title)
movie (rmse 6188) at 564s -> waiting it out (tapping breaks the title)
movie (rmse 1998) at 592s -> waiting it out (tapping breaks the title)
movie (rmse 2460) at 619s -> waiting it out (tapping breaks the title)
movie (rmse 2354) at 648s -> waiting it out (tapping breaks the title)
movie (rmse 5289) at 662s -> waiting it out (tapping breaks the title)
movie (rmse 3241) at 680s -> waiting it out (tapping breaks the title)
movie (rmse 1652) at 690s -> waiting it out (tapping breaks the title)
movie (rmse 4111) at 700s -> waiting it out (tapping breaks the title)
movie (rmse 4214) at 712s -> waiting it out (tapping breaks the title)
movie (rmse 13589) at 727s -> waiting it out (tapping breaks the title)
movie (rmse 17565) at 749s -> waiting it out (tapping breaks the title)
movie (rmse 14257) at 771s -> waiting it out (tapping breaks the title)
movie (rmse 17142) at 798s -> waiting it out (tapping breaks the title)
movie (rmse 19285) at 816s -> waiting it out (tapping breaks the title)
movie (rmse 12387) at 838s -> waiting it out (tapping breaks the title)
movie (rmse 16154) at 860s -> waiting it out (tapping breaks the title)
movie (rmse 1774) at 882s -> waiting it out (tapping breaks the title)
movie (rmse 2310) at 891s -> waiting it out (tapping breaks the title)
movie (rmse 1551) at 901s -> waiting it out (tapping breaks the title)
movie (rmse 11881) at 917s -> waiting it out (tapping breaks the title)
movie (rmse 20520) at 935s -> waiting it out (tapping breaks the title)
movie (rmse 1725) at 952s -> waiting it out (tapping breaks the title)
movie (rmse 3090) at 970s -> waiting it out (tapping breaks the title)
movie (rmse 4508) at 983s -> waiting it out (tapping breaks the title)
movie (rmse 10198) at 1002s -> waiting it out (tapping breaks the title)
movie (rmse 24276) at 1022s -> waiting it out (tapping breaks the title)
movie (rmse 28057) at 1038s -> waiting it out (tapping breaks the title)
movie (rmse 30837) at 1055s -> waiting it out (tapping breaks the title)
movie (rmse 13239) at 1080s -> waiting it out (tapping breaks the title)
movie (rmse 7135) at 1104s -> waiting it out (tapping breaks the title)
TIMEOUT
BOOT FAILED (skip_intro exit 1)

View File

@@ -0,0 +1,67 @@
# `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`](menu-navigation-semantics.md)'s 🟡.