Commit Graph

5 Commits

Author SHA1 Message Date
copybot[bot] 7ea5ac0dfa copybot: live paper feed [skip ci] 2026-07-11 08:33:39 +00:00
copybot[bot] 198793de05 copybot: live paper feed [skip ci] 2026-07-11 00:45:22 +00:00
copybot[bot] 4110bad751 copybot: live paper feed [skip ci] 2026-07-11 00:45:22 +00:00
jaxperro 56fe0dee92 INCIDENT FIX: in-play 'delayed' acceptances were logged as misses and filled untracked
2026-07-10 09:10-13:14Z: six $5 in-play esports copies returned AcceptedOrder
status 'delayed' with zero matched; the executor read matched==0 as a
rejection, recorded honest misses, and forgot the orders — which then filled
at the exchange minutes later. Book went blind (6 untracked fills, ~$30 real
spend vs $5 booked), caps stopped binding, exits never mirrored. Net damage
contained by the CLOB's own balance checks: −$2.7 incl fees, two legs won.

Executor invariant now: NO order outlives _order() untracked. Zero-matched
acceptances poll get_order → cancel remainder → measure truth via the
exchange's CONDITIONAL balance diff; exception paths sweep open orders on
the token the same way. 5 stub-client unit paths pass.

State surgery (machine disarmed first): cash reset to chain ($10.03), six
fills adopted as bets (4 settled −$4.38 w/ fees, Aurora G2 open+won), spend
tracker set to the real $35/day, false miss rows purged, one documented
-0.59 adjustment (bank-vs-deposit + probe).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 11:25:10 -04:00
copybot[bot] f2195bb4ad copybot: live paper feed [skip ci] 2026-07-10 06:38:01 +00:00