From d7b715d6ee5ca23f34d6e79ecd96994ad7155ab1 Mon Sep 17 00:00:00 2001 From: sylph-decoder Date: Sun, 30 Aug 2026 19:17:03 +0000 Subject: [PATCH] re: try to name the two unidentified destinations -- rejected by my own calibration sylpheed-port's caveat on the ninth transition: the destination is identified after the fact by draw signature, which establishes THAT the two screens differ but not WHICH either is, so the gap is attributed to a pair whose second member is known only as "not the other one". Worth trying to remove. Both runs saved a screenshot of the destination. Scored against the archives the menu's non-EXTRAS buttons plausibly reach: m2o best GP_OPTIONS 43.30, margin 5.88 m2o2 best GP_SYSTEM 45.74, 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 margin ~10, and a "neither" at ~34 with margin under 1. These best fits are roughly double a real match. Accepting "m2o is GP_OPTIONS" on a margin of 5.88 would be the same weak-margin acceptance that 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 fails to identify rather than refuting those archives, which is a different statement. The port's caveat stands and the ninth pair keeps it. METHOD: a calibrated instrument can reject its own answer, and should. Without the 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. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v --- docs/re/METHOD.md | 10 +++++++++ docs/re/data/fade-four-transitions.txt | 29 ++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) 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.