From 2624008c93cd3af086600dbfb34d72354ba37a82 Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Sat, 29 Aug 2026 00:49:49 +0000 Subject: [PATCH] re: the title capture is not reachable here either; stopping this line Run 3 used the proven path rather than my own probe: launched exactly as boot_menu.sh does (DISPLAY=:98, --apu=sdl, /dev/shm/xenia_* cleared, the existing profile signed in) and drove skip_intro.sh, the detector that is documented to work and that is stricter than mine (glyph >= 800 AND a static frame). It classified every one of 20 samples over 604 s as "movie", waited them all out, and timed out. A direct check at 604 s says it was right: zero green-glyph pixels, screen_id = other, warm mean (69,53,40), correlation 0.09 with build 7. The game really was playing attract movies for ten minutes. Three runs, two locales, two launch paths, ~35 minutes of emulator time, no interactive title. Either the attract loop is far longer than the 600-780 s windows tried, or something regressed since live-title-press-a.png was captured -- that one came from a pad-driven boot (e21a9ab, "booting to the main menu and walking it"). Also settled a discrepancy I had flagged without checking: there is no contradiction with title_states_capture.sh. It waits on screen_id.py, a LOOSER oracle than is_title.py, and was written precisely to test whether the interactive title draws ptbtn00 and the attract one does not. It never claimed to reach the interactive title. Stopping this line. The capture blocks none of the five menu screens and has now cost five iterations. The locale mechanism, the fixed oracle and the launch recipe are all committed, so what remains is patience with the attract loop, not tooling. METHOD line on knowing when to stop paying for a non-blocking answer. Emulator stopped, lock cleared, locale English. --- docs/port/MISSION.md | 26 ++++++++++++++++++++------ docs/re/METHOD.md | 7 +++++++ 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/docs/port/MISSION.md b/docs/port/MISSION.md index 495d25c2..39737658 100644 --- a/docs/port/MISSION.md +++ b/docs/port/MISSION.md @@ -137,12 +137,26 @@ the frame at 734 s has content but correlates only **0.15** with build 4's rende and 0.05 with the main menu, i.e. it is an attract-movie frame, not title art. So the Japanese run was **not** failing because of the locale — neither locale -reaches the interactive title in ~12 minutes of no pad input. 🟡 What remains -untested is a **pad press**: `pad.py` and `nav_to_flight.sh` exist, and -`title_states_capture.sh` reaches title states with its own flag set -(`--log_ui_draws --ui_draw_capture_frames`, plus xdotool window focus) which this -probe did not replicate. That is the next thing to try, and it is a capture -problem, not a locale one. +reaches the interactive title in ~12 minutes of no pad input. **🔴 Tried the proven path too, and I am stopping this line (2026-08-29).** +Run 3 launched exactly the way `boot_menu.sh` does — `DISPLAY=:98`, `--apu=sdl`, +`/dev/shm/xenia_*` cleared, the existing profile signed in — and drove +`skip_intro.sh`, the detector that is documented to work. It classified **every +one of 20 samples over 604 s as "movie"** and waited them all out, then timed +out. A direct check at 604 s confirms it was right: zero green-glyph pixels, +`screen_id` = other, warm mean (69,53,40), correlation **0.09** with build 7. The +game really was playing attract movies for ten minutes. + +So: **three runs, two locales, two launch paths, ~35 minutes of emulator time, no +interactive title.** Either the attract loop is far longer than the 600–780 s +windows tried, or something has regressed since `live-title-press-a.png` was +captured (that one came from a pad-driven boot — commit `88b3ce9`, "booting to +the main menu and walking it"). + +⚠️ **Not worth more loop iterations.** This capture does not block any of the +five menu screens, and it has now cost five. It is written down so a later +session with a reason to spend an hour on the boot path can pick it up; the +locale mechanism, the fixed oracle and the launch recipe are all in place, so +what is left is patience with the attract loop, not tooling. The locale is restored to English; `set_console_language.py ja` flips it back in one command. diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index efd6dd8a..d8d58b24 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -463,3 +463,10 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the ran. Printing the oracle's value each tick turns "no title" into "75 samples, max glyph 0", which is a measurement — and it is what showed the black-screen and attract-movie phases were being sampled correctly all along. +* **Know when to stop paying for a non-blocking answer.** A capture that would + settle two 🟡 residuals — neither of which blocks the deliverable — absorbed + five iterations. Each one produced a real finding (a broken oracle, a wrong + "impossible", a locale red herring), so none was wasted, but the *question* + never moved. The signal to stop is not "this is hard", it is "the thing this + unblocks is not blocking anything". Write down the recipe you built and leave + it for a session with a reason to spend the time.