55197b2047c236cd8f90f7b70bf7e6b2044f538d
Two bugs causing INVALID_INTENT_PARSE at FFI boundary: 1. Dangling pointer: ctypes.c_char_p stores a raw C pointer without incrementing the Python refcount. Temporaries passed inline are freed by CPython before the Rust FFI call executes, giving Rust a dangling pointer whose freed memory looks like truncated JSON (column 41). Fix: assign bytes to local vars (_pb/_mb/_vb) to hold refs alive. 2. venue.submit guard: process_intent() called venue.submit() even when the kernel returned INVALID_INTENT, cascading a 30s BingX timeout into a fatal crash. Fix: gate on outcome.accepted. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Python
100%