method: two screens, two behaviours -- and the two ways a gap gets filled

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 22:08:11 +00:00
parent 3ec1fcd978
commit 3f34c8c7f3

View File

@@ -2416,3 +2416,21 @@ of those two kinds of claim it can actually fail on.
anchor. `ring_row.py` now reports the ring's **measured row** and refuses to name
an item when the row is not within half a step of a calibrated centre — refusing is
the point, because a wrong name is what it exists to prevent.
## Two screens, two behaviours — and the generalisation that was right to refuse
The main menu **persists** its cursor across a title round trip; `EXTRAS`
**resets** to its top item. Both measured, one day apart, on the same harness.
📌 `sylpheed-port` refused to widen their main-menu focus memory to other screens,
on the grounds that generalising it would overwrite a *measured* initial focus for
`EXTRAS` with a *derived* one. That refusal was correct on the evidence they had,
and is now correct on measurement. **Wrap generalises because it was measured on
two screens; this did not, and the two screens disagree.**
⚠️ The symmetric error is the one I caught in their check afterwards: having
declined to generalise, they encoded *"not measured here"* as a positive assertion
that EXTRAS does **not** persist. Both moves treat a gap in the corpus as if it
carried information — they differ only in which direction they fill it. The
assertion happened to be right, which is exactly why it was worth measuring rather
than leaving to stand.