a5894a71960b102295d4d3e4dc6ac432cf1489a7
When venue.submit() raises (BingX timeout / network error), the Rust FSM had already advanced to ORDER_REQUESTED/ENTRY_WORKING with no corresponding exchange order — stranding the slot. Every subsequent ENTER for a different asset hit SLOT_BUSY, preventing recovery without a restart. Restarts create a fresh IDLE kernel, leaving the orphaned exchange position unmanaged. Fix: catch submit exceptions, synthesise an ORDER_REJECT VenueEvent, feed it through on_venue_event() so the FSM rolls back to IDLE atomically. The slot is free on the next cycle with no orphan on the exchange. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Python
100%