diff --git a/docs/re/METHOD.md b/docs/re/METHOD.md index 068a48be..7fd96146 100644 --- a/docs/re/METHOD.md +++ b/docs/re/METHOD.md @@ -595,6 +595,16 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the alone: keeping it true is maintenance, changing what it asks would be overstepping. +* 📌 **A calibrated instrument can reject its own answer, and should.** Trying to + name two unidentified screens by correlation gave best fits of RMSE 43 and 46 + with margins of 5.88 and 2.28 — and `which_title_screen.py`'s control already + establishes that a *true* match scores ~18–20 at margin ~10. Both answers were + rejected by the calibration the corpus already had. ⚠️ **Without that + calibration, "best match, margin 5.88" reads like an identification** — a ranked + list always has a winner, and nothing in the ranking says whether the winner is + good enough. **Any nearest-match report needs a known-good score beside it**, or + it will name something every time it is asked. + ## Runtime / emulator * **Look at the PNG** — and check its dimensions. diff --git a/docs/re/data/fade-four-transitions.txt b/docs/re/data/fade-four-transitions.txt index fdd58ee3..ad4242b3 100644 --- a/docs/re/data/fade-four-transitions.txt +++ b/docs/re/data/fade-four-transitions.txt @@ -323,3 +323,32 @@ frame untextured full-screen textured (distinct) draws tex # 🔴 So it is recorded as an observation with its counter-example, not fitted. Nine # transitions against many candidate two-screen functions is the same construction # sylpheed-port declined to search, and their reason applies unchanged to me. + +################################################################################ +# CAN THE TWO "other" DESTINATIONS BE NAMED? Attempted 2026-08-30, FAILED. +# +# sylpheed-port's caveat on the ninth pair: the destination identification is +# after the fact by draw signature, which establishes THAT the two screens differ +# ([255] at 7-9 draws/frame against [127] at 12-13) but not WHICH screen either +# is. The gap value is attributed to a pair whose second member is known only as +# "not the other one". Correct, and worth trying to remove. +# +# Both runs saved a screenshot of the destination. Scored against the archives the +# menu's non-EXTRAS buttons plausibly lead to: +# +# m2o GP_OPTIONS 43.30 GP_MISSION_SELECT 49.18 GP_SYSTEM 54.64 +# GP_SAVE_LOAD 54.79 GP_TUTORIAL 55.56 -> best margin 5.88 +# m2o2 GP_SYSTEM 45.74 GP_MISSION_SELECT 48.02 GP_OPTIONS 49.44 +# GP_TUTORIAL 56.54 GP_SAVE_LOAD 57.00 -> best margin 2.28 +# +# 🔴 REJECTED, against this corpus's own calibration. which_title_screen.py's +# control puts a TRUE match at RMSE ~18-20 with a margin of ~10, and a "neither" +# at ~34 with a margin under 1. These best fits are 43 and 46 -- roughly double a +# real match -- with margins of 5.88 and 2.28. Accepting "m2o is GP_OPTIONS" on +# 5.88 would be the same weak-margin acceptance a threshold was added to the +# navigation search to prevent, three iterations ago. +# +# ⚠️ Reach of the negative: one build per archive was rendered (the default, which +# is the largest), and the screen a button opens need not be the largest build. +# So this does not refute those archives -- it fails to identify, which is +# different. The port's caveat stands and the ninth pair keeps it.