The Decoder warned that my port "presumably models one title". Checking that found a real behavioural split, and the code was right where I expected it wrong and wrong where I did not. My prediction FAILED first: I expected the port to be inventing a plate on a (B)-reached title, because flow.json's scope_why says that is deliberately not claimed. It is not inventing -- the call site cites a measurement from 2026-08-30, the plate IS re-drawn after (B). scope_why was the stale thing, and is corrected. 🔴 BUT THE TWO PATHS DIFFER, AND A `why` CLAIMED THEY DO NOT. That call site says "the plate re-appears by the SAME path, with the same shared clock, as it does on boot. Whatever the boot does, the return does." Filmed: before: el=1.39 view_u=0.00 overlay_u= 0.00 plate absent el=1.53 view_u=8.67 overlay_u=244.67 plate present The overlay clock jumped 0 -> 244.67 in ONE frame. The plate POPPED, where the boot fades it across its declared 214->236. Cause: `_overlay_process` detected "static diagnostic mode" as `_sequence.is_empty()`, and `_sequence` is populated only by `--boot`. So `--menu` matched it too and the menu's return took the `--screen --overlay` diagnostic branch, which poses the overlay at settle_time() by design. A proxy for one mode that silently caught another. Fixed by gating on the flag itself -- `_static_overlay`, set only by `--overlay=` without `--boot`. Verified both directions: diagnostic still poses: --screen=title --overlay=press_start --time=4 -> "overlay press_start at t = 240.00 units, drew 2" return now shares the clock: overlay_u == view_u on every filmed frame, plate at its 0.1377 floor through 168 units boot path unchanged: plate reaches full alpha at t=236, boot completes 10.46 s ⚠️ WHAT I DID NOT OBSERVE, stated rather than glossed: the plate actually RISING on the return path. `--script` quits when the walk settles, so the film stops at ~168 units and never reaches 214. The rise is established on the BOOT path (measured earlier: 0.1457 at 210 u, 0.2142 at 236 u) and the return now provably takes that same branch with an identical clock -- but the final rise on this path is inferred from path identity, not filmed. ⚠️ And whether the GAME fades the returned plate is still unmeasured. The 7.3 s between (B) and the pulse returning is consistent with a transition plus the declared fade, but that is consistency, not a measurement of the ramp on this path. Recorded in scope_why. Not settled: finding 3, no surviving cause; the clock origin, which the Decoder reports blocked -- no capture contains the title, because it sits on the far side of a 137.7 s movie and the runs were too short; the ~1.0-1.2 menu residual. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018AHUQvXGyNcKonSEWsgWcX
Authored decisions
Everything here is a decision we made, not something the disc said. It is
hand-written, committed, and survives a re-export — unlike export/, which is
regenerated wholesale and must never be hand-edited.
Every entry carries a why. When the RE agent decodes the real answer, delete
the entry and let the exporter emit it; that deletion is the measure of
progress.
See docs/FORMAT.md for the schemas and docs/BLOCKED.md for which HANDOFF
question each placeholder is standing in for.