re: the record-layout fix is confirmed against the GAME, and settle-vs-rest is not

The era test left one element responsible for all 74 507 differing pixels on
title_jp -- ptlogo_eff3.t32, the corpus's named plateau-less rest() discriminator
-- with two candidate rest poses, (108,72) stale and (98,42) fixed. There is a
capture of that exact screen, so the oracle can choose.

Scored over the 388x423 box where the two renders differ, so the result is not
diluted by the ~92 % of the frame that is identical:

  stale era  rest (108,72)   RMSE 58.412
  fixed era  rest  (98,42)   RMSE 41.690   <- the game agrees with the fixed era
  fixed era  --settle t=213  RMSE 40.210

Until now the keyframe record-layout fix rested on internal consistency: 0 of
1 042 multi-segment alpha ramps constant-rate under the old reading against 857
of 1 540 under the new. Strong, but not a measurement of the game. It now has
one, on the single screen where the two readings change pixels.

Three controls, all run first. Alignment found by sweeping the vertical offset
rather than assuming it -- 45 gives 32.41 against 56.37 and 53.08 either side, a
sharp minimum at the known game-surface offset. The scoring box discriminates:
the same box against a different screen's capture gives 98-103 against 40-58
here. And --black changes nothing (58.412/41.690 either way) because every pixel
in that box is covered by an element -- recorded because the flag's help says a
framebuffer capture must be compared against a black canvas, and here it happens
not to matter.

Sweeping the screen's own timeline with --at gives the noise scale: the capture
sits on a plateau from t~135 to t~240, flat to 1.2 RMSE across 105 units, rising
sharply outside (78 at t=0 and t=270). So the stale-vs-fixed margin of 16.7 is
~14x that flatness and decisive, while the settle-vs-rest margin of 1.5 is INSIDE
it and is not. This capture separates the eras and cannot separate the policies;
the settle-instant proposal stays unadopted.

Refutation attempted: sylpheed-port's adjudication that their shipped pose is
closer to the game than their reference. It SURVIVES, independently and by a
different metric, in the same direction.

Also concedes that my "your branch is the stale era" reasoning was invalid -- I
inferred era from a line count, which is the error they named -- while recording
that the conclusion holds for the ref I could see: origin/auto/port-p6-audio's
ui_layout.rs is md5-identical to origin/main's.

METHOD: two things that should differ producing identical output is a broken
experiment until proven otherwise, and a zero is its most dangerous form. Four
instances now. Verify the inputs differ before believing the outputs match, and
do not infer that difference from a proxy -- line count is not era.

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 14:48:30 +00:00
parent 82ce9dbaaa
commit 84cf98477f
4 changed files with 178 additions and 0 deletions

View File

@@ -232,6 +232,21 @@ agent's loop prompt, i.e. nowhere durable. See [`README.md`](README.md) for the
pixels did not*. When two versions of a renderer are supposed to differ, check
whether they actually do before explaining a mismatch with the difference.
* **Two things that should differ producing IDENTICAL output is a broken
experiment until proven otherwise — and a *zero* is its most dangerous form,
because it reads as a clean result rather than a suspicious one.** This corpus
has now hit the signature four times: a `--time=50` seconds-vs-units bug gave two
poses the same RMSE to two decimals; a `.tbm` correlation scored 0.004…0.010
across nineteen builds; a two-era render comparison reported 0 differing pixels
because **both binaries had the same md5**; and a build-ordinal error rendered the
wrong screen while every downstream number validated. The check is mechanical and
costs seconds: **verify the two inputs actually differ before believing they
produce the same output** — `md5sum` the binaries, diff the parameter you varied,
assert the control moved. ⚠️ And do not infer that difference from a proxy:
`origin/auto/port-p6-audio`'s `ui_layout.rs` differs from the pin by 508 lines and
is nonetheless **md5-identical to `origin/main`'s**. *Line count is not era.* I
reached the right conclusion about that branch through exactly that invalid step.
## Runtime / emulator
* **Look at the PNG** — and check its dimensions.