diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index 760f2ae6..ada0fbc5 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -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.