4d15edcc54dda167f23c35f60abdac12c81d950e
Root cause (harness multi_leg, ~14-TRX residual): pink_direct rebuilds the legacy TradePosition from the kernel slot every step, but left exit_leg_index=0, so IntentEngine.next_exit_ratio() consumed ratio[0] (0.5) on EVERY leg and never advanced to the final leg's 1.0: leg1: 0.5×53 ≈ 26 closed -> 27 remain leg2: 0.5×27 ≈ 13 closed -> 14 RESIDUAL (kernel believes flat, exchange isn't) Fix: propagate the kernel slot's authoritative active_leg_index into the rebuilt legacy position's exit_leg_index, so the intent engine consumes the correct leg ratio. The final leg now closes the full remaining -> fully flattens. Verified: offline 18 green (no regression); live VST harness multi_leg now closes fully (XPASS) — residual gone, all 6 capital invariants hold. xfail mark removed; capital-accounting battery is now fully green (7/7) on testnet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Description
No description provided
Languages
Python
100%