The kernel now writes to local arrays (market[], portfolio[], plan_isv[], mtf[], ofi[]) then calls assemble_state() from state_layout.cuh to produce the canonical layout. This eliminates the hardcoded ofi_start=66 that collided with MTF features and ensures training/validation use identical state vectors. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>