Codex
f3a5f21460
PINK: async submit + process_intent hot path; async/race flaw audit (pass 5)
N2/N3/N4 (3x Critical async bugs):
- BingxVenueAdapter.submit_async(): awaits backend.submit_intent() directly
in caller's event loop — no thread-pool, no asyncio.run(), no _backend_snapshot()
- ExecutionKernel.process_intent_async(): same FSM guard logic as sync version;
replaces venue.submit() with await venue.submit_async(); sync process_intent()
untouched so all 122 tests stay green
- pink_direct.step() line 952: process_intent() -> await process_intent_async()
restore_state JSON parse (test fix):
- ExecutionKernel.restore_state() wraps Rust FFI in try/except JSONDecodeError
returns False; matches documented contract; test_restore_corrupt_json_rejected passes
FLAWS doc: pass 5 table added; 21 total fixed; Z6/N5 marked resolved
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>