Engine and strategy are separate
- The engine owns credentials, account routing, exchange transport, precision, locks, persisted state, private sync, lifecycle, and shutdown.
- Plugins own signals, selection, sizing, entry, exit, and their own typed
strategy_state. - Mandatory reduce-only and close-order checks stay in the engine, ahead of strategy hooks.