From 78befb6c50ed1ddb211029edfdaf982428db3801 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sun, 30 Aug 2026 21:16:06 +0000 Subject: [PATCH] =?UTF-8?q?re:=20the=20initial-focus=20=F0=9F=9F=A1=20is?= =?UTF-8?q?=20contradicted=20by=20two=20other=20records,=20and=20I=20could?= =?UTF-8?q?=20not=20settle=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/port/HANDOFF.md | 24 ++++++++++++++++++++++++ docs/re/menu-navigation-semantics.md | 15 +++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/docs/port/HANDOFF.md b/docs/port/HANDOFF.md index fb0f6483..d13cf5ba 100644 --- a/docs/port/HANDOFF.md +++ b/docs/port/HANDOFF.md @@ -9,6 +9,30 @@ the findings — but an answer that is not reachable from this page has not been delivered. + +## 🔴 2026-08-30 — do not hardcode the menu's initial focus; the sources disagree + +**New, and it is a warning rather than an answer.** `menu-navigation-semantics.md` +records initial focus as **`TUTORIAL`** (2/2 boots). But `boot_menu.sh`'s own +closing line says **`NEW GAME`**, and `menu-state-in-memory.md` reaches `EXTRAS` in +**four** downs — which only counts from `NEW GAME`. Two sources against one, and +the harness is not moving the cursor (`skip_intro.sh` presses Ⓐ once, no d-pad). + +**I could not settle it this iteration.** Two boots failed before the menu: the +title gate tests for a *static* screen, and this title never stills — minimum +frame-to-frame difference 1 551 against a threshold of 1 500, 0 of 72 samples able +to pass. [details](../re/harness-title-gate-assumes-a-static-title.md) + +⚠️ **So the 🟡 on that page is now weaker than it reads**: not merely "reproducible +but not proven invariant", but *contradicted by two other records*. If you have +authored `TUTORIAL`, keep it — I have not refuted it — but treat it as authored on +one harness, and expect it to change. + +Also unanswered, and never once run: whether focus **persists** across +menu → Ⓑ → title → Ⓐ → menu. `tools/re-capture/focus_persistence.sh` is written +and waiting on a harness that can reach the menu. + + ## ⚠️ 2026-08-30 — my prose in this file is now load-bearing, and two things follow `sylpheed-port` has anchored automated checks on the **wording** of deliveries diff --git a/docs/re/menu-navigation-semantics.md b/docs/re/menu-navigation-semantics.md index 6cd8a1ea..9b1f214c 100644 --- a/docs/re/menu-navigation-semantics.md +++ b/docs/re/menu-navigation-semantics.md @@ -30,6 +30,21 @@ with [`tools/re-capture/menu_focus.py`](../../tools/re-capture/menu_focus.py). Wrap holds on both screens tested — the 5-item main menu and the 3-item `EXTRAS` submenu — so it is a menu rule, not a per-screen table. +⚠️ **2026-08-30 — and the sources DISAGREE, which nothing here had noticed.** +`boot_menu.sh`'s own closing line says *"AT MAIN MENU (cursor on NEW GAME)"*, and +[`menu-state-in-memory.md`](menu-state-in-memory.md)'s run reaches `EXTRAS` in +**four** downs, which only counts from `NEW GAME`. Two sources say `NEW GAME`; +this table says `TUTORIAL` 2/2. `skip_intro.sh` presses Ⓐ once and no d-pad, so +the harness is not moving the cursor and that does not explain it. + +🔴 **I tried to settle it and could not: the boot never reached the menu**, twice — +the title gate cannot fire on this title +([harness-title-gate-assumes-a-static-title](harness-title-gate-assumes-a-static-title.md)). +So the disagreement stands, and the round trip that would answer the persistence +question — menu → Ⓑ → title → Ⓐ → menu, is focus where you left it or reset? — has +still never been run. `tools/re-capture/focus_persistence.sh` is written and ready +for a harness that can reach the menu. + **🟡 Initial focus is reproducible but not established as invariant.** Both of my boots opened on `TUTORIAL`, and both used `boot_menu.sh`. The run recorded in [`menu-state-in-memory.md`](menu-state-in-memory.md) reached `EXTRAS` with *four*