diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index dfb0153..ce6e45d 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -6,6 +6,52 @@ unknown, what evidence exists, and what the first step would be. Move an item in --- +## 🧰 The boot path — three failures that look like the emulator and are not (2026-08-26) + +* ✅ **`--audio` prevents boot outright.** `run-canary`'s own header says the flag + is not a cvar in this tree, and that an unknown argument makes xenia call + `ShowSimpleMessageBox` from `ParseLaunchArguments` *before* logging starts, + blocking forever. Measured anyway, because this corpus also holds runs that + passed it and booted fine: **3 trials each, in both orders** — + + | | log written | + |---|---| + | `run-canary --apu=sdl --log_mask=13` | **67 565 bytes** | + | `run-canary --audio --apu=sdl --log_mask=13` | **209 bytes** | + + 209 bytes is `run-canary`'s own banner and not one line from xenia. The order + was reversed deliberately — this corpus already has a lesson that an A/B from + run order is noise. + 🔴 **Eight scripts on branch `auto/idxd-unnamed-keys` still pass it**: + `launch_mission.sh`, `boot_menu.sh`, `fly_stage.sh`, `challenge_probe.sh`, + `grab_tutorial.sh`, `find_partslot.sh`, `tutorial_capture.sh`, `nav_probe.sh`. + `main` and this branch are clean, which reconciles August's successes with + today's failures. Left unfixed here: they are another branch's files. + +* 🔴 **`launch_mission.sh`'s `skip_intro` deadlocks on the attract loop.** It + classifies the screen as `movie` and declines to tap ("tapping breaks the + title"), and waited out **600 s of unbroken `movie` verdicts** before timing + out. `nav_to_flight.sh`, against the *same running emulator*, reached the main + menu in **12 s** and flight in **2 min 20 s** by tapping A at the title. The + "wait it out" premise is wrong — the attract loop does not end on its own. + **Use `nav_to_flight.sh` on an already-running canary.** + +* ⚠️ **`EMULATOR GONE at ~40 s` is this project's own Stop hook**, which + `kill -9`s every `xenia_canary` when a Claude turn ends. Already recorded + further down this file — and rediscovered the hard way over three boots because + I did not search for it first. The rule is the one `fly_session.sh`'s header + states: **an emulator session must be one task; nothing may depend on surviving + between tool calls.** Sequential tool calls *within* one turn are fine; it is + ending the turn that kills it. + +❔ **The world-unit measurement is still not made.** Flight was reached and the +screen classifier agrees, but `entities2.py self` reports **0 unit definitions** — +its committed VA window `0xBD00_0000`–`0xBE00_0000` does not match this run, the +same run-dependent-address problem this file documents for the OB counter. The +next attempt must hunt the range rather than trust the stored config. + +--- + ## ❌ WITHDRAWN (2026-08-26, same day) — the Japanese voice banks are NOT a separate format The `sound.pak` census (see