BREAKING:
* XtdcClient now requires explicit credentials. Existing users who relied
on the hardcoded fallback must supply XUNTOU_TOKEN (and optionally
XUNTOU_ADDR_LIST as comma-separated host:port items) via env var or
constructor kwarg before calling connect(). XtdcCredentialsMissing is
raised when no token is available.
Highlights:
* Layer 1 buffer fix in resolve_aggressive_price (4/8/16 ticks past the
touch on attempts 1/2/3). Fixes the recurring "FIX_PRICE @ bid1 sat
unfilled" pattern that produced real-money losses on 2026-05-06.
* New OrderRouter at echolon.live.platforms.miniqmt.order_router —
single-writer state machine with watchdog deadline cancel-and-resubmit,
slippage cap pinned to intended price, sequential-with-confirm size
splitter, BandGuard, execution-quality circuit breaker, and
ABANDONED-EXIT recovery via persistent pending_exit_intent.
* Windows console hardening — echolon._internal.console_utils.disable_quickedit_mode()
prevents accidental CMD clicks from blocking stdout and freezing
APScheduler worker threads (root cause of the 2026-04-30 missed
daily trigger).
* Heartbeat file + APScheduler tunings (coalesce=True, replace_existing=True,
stable job ID).
* SIGBREAK signal handler for NSSM service compatibility.
* Comprehensive test coverage: 790 tests passing on Linux with mocked
xtquant + mocked broker.