Every statistic in screen_id is an AREA FRACTION, so a capture that is not a game frame still produces clean numbers. Measured 2026-08-26: a guard shot came back 10x710 -- a sliver -- and classified as `menu` with green=0.0000, white=0.0157. The guard passed, the fixed key sequence went out anyway, and the run loaded a TUTORIAL instead of the save's Stage 02. This is the second time this failure has been paid for. bin/screenshot's own header records the first (2026-08-18): a second window of class "xenia_canary" meant grabs came back as slivers and "a whole session's screen ids were noise". That fix hardened the CAPTURE side only, so the same failure still reached the oracles by any other path. Reject it at the point the answer is consumed too: features() now returns None below 640x360 and classify() reports `none`. Verified: the 10x710 sliver -> `none`; readyroom, flight and the briefing capture all still classify as before.
6.9 KiB
Executable File
6.9 KiB
Executable File