Evidence-based labels replace the generic 'bot offline' stamp: the
min_price-band block (Hive 3c), one genuine deploy-window miss (Pyunik),
fill-split entries (OG vs Inner Circle), and — the real finding — SIX
live + THREE paper rows that were single in-band over-floor fills the
bots never saw while UP: an active detection gap, all stock-weekly /
crypto-launch / LoL markets, no in-play sports. Investigation queued.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The −11.32 was ONE token: gkmg scalped GamerLegion 3 rounds in 8 min;
rounds 1 (+7.71) and 2 (−19.06) closed and were clobbered by re-entry
BETWEEN state commits (invisible to the history sweep — publish-window
gap). Reconstructed both from the fills ledger (per-fill ground truth),
restored as archive keys, 3c fee-rounding residue absorbed as a
documented adjustment. The archive-on-reentry fix already deployed
prevents the class; the fills ledger proved sufficient to rebuild
reality — that's the audit trail doing its job.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
bets{} is keyed by token; re-entering a settled market OVERWROTE the old
record and its pnl left 'realized' — the drift alarm caught it same-day
(WTI −9.97, Dota Game-1 +19.30 recovered from state history and restored
as archive keys). All three record-writers now archive settled records
to token#settled_ts keys first; aggregators iterate values() so archived
rows keep counting. NOTE: restoring truth WIDENS displayed drift — a
second, opposite-sign residual (~−11) remains under investigation
(morning forensics queued in HANDOFF); the alarm stays red on the paper
book intentionally. Live book unaffected (0 trades, drift 0).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>