Files
psxrecomp/tools
Alex Vanderveen cf4add4ea6 fingerprint: per-column coverage gate, and don't name the window edge
Both fixes come from the first real run against a live pair.

A column where one side records thousands of writes and the other records ZERO
sailed through the global coverage check, which only compares total write
counts. It then reported a confident "FIRST DIVERGENCE" for scratchpad, where
the truth was that the oracle had never observed a single scratchpad write
(0 against psx-runtime's 719264). That is a coverage hole, and calling it a
divergence would send someone looking for a guest fault that does not exist.
Each column now checks its own counts and says NOT COMPARABLE instead.

Divergence on the very first frame of the window is not a finding either: it
means the fork happened BEFORE the window, and the frame named is just wherever
the window happened to start. It now says so and suggests widening.

The global ratio band was 0.5x..2.0x, and a live pair sat at 1.98x -- the
oracle's CPU-store hook does not see DMA-written RAM -- squeaking through as
"comparable". Tightened to 0.67x..1.5x.

Working, verified live: the oracle records fingerprints in interpreter mode,
and the guest cycle clocks agree to 0.31% drift across a 150-frame window,
which is what makes cycle-based alignment a sharp test rather than a guess.

Still open: the oracle sees no scratchpad writes at all, and its main-RAM write
count runs well under psx-runtime's. Until that coverage gap closes the tool
will keep refusing to name a divergence frame, which is the correct behaviour.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-24 12:55:57 -04:00
..
2026-08-12 16:49:03 -04:00
2026-08-14 02:41:50 -04:00
2026-08-21 21:38:56 -04:00
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00
2026-08-19 23:35:17 -04:00
2026-08-19 23:35:17 -04:00
2026-07-29 03:18:10 -04:00
2026-08-19 22:50:13 -04:00
2026-07-29 03:18:10 -04:00
2026-08-14 02:41:50 -04:00