Live Resilience¶
The live engine includes health checks, reconnect logic, and order throttling. These behaviors are controlled by LiveConfig and the CLI mappings.
Reconnect Backoff¶
Config keys:
live.reconnect.enabled.live.reconnect.initial_ms.live.reconnect.max_ms.
Heartbeat Monitoring¶
Config keys:
live.heartbeat.enabled.live.heartbeat.interval_ms.live.heartbeat.disable_trading_on_timeout.live.heartbeat.cancel_orders_on_timeout.
The engine reports heartbeat status in the live CLI loop and logs stale conditions. By default, stale market data is fail-closed: trading is disabled and open live orders are cancelled when the heartbeat timeout expires.
Order Rate Limits¶
LiveConfig supports:
max_orders_per_minute.max_orders_per_second.
If max_orders_per_second is 0, broker limits are used when available.
Duplicate Order Guard¶
Set live.duplicate_order_window_ms to reject identical live orders emitted inside a short window before they reach the broker adapter. The fingerprint includes symbol, side, order type, time-in-force, quantity, limit/stop prices, strategy ID, and optional client_order_id / idempotency_key metadata.
This guard is disabled by default to avoid surprising research strategies, but production live configs should usually set a small window such as 250 to 1000 milliseconds.
Dry-Run Order Mode¶
Set live.dry_run: true to run strategy, routing, risk, broker normalization,
rate-limit, and audit paths without submitting orders to the broker. Dry-run
orders are logged as DryRunOrder audit events and then cancelled internally so
dashboards do not show them as open broker orders.
Reconciliation¶
LiveConfig supports:
order_reconcile_interval.position_reconcile_interval.account_refresh_interval.live.reconciliation.disable_trading_on_error.
These intervals control how frequently the live engine reconciles broker state. By default, an order-reconciliation error is fail-closed: trading is disabled, open orders are cancelled through the live order manager, and the audit log records trading_disabled=true.