Move the Jet motion check into ObjectManager.validate_jet_motion (uses the synced field's cut-link jet_id) and call it from both Simulation.set_body and the direct ObjectManager.set_body_state entry, before any state or action change. Test both entries, vx too, and that action is untouched. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>