1.4 KiB
NOTE: diff-ref mode entry (code committed in the same commit as this log); backfilled from the live dev session transcript per the /prompt-io skill rules.
git log -1 -p --follow -- piker/brokers/_daemon.py
Generated: the fail-fast originally landed in broker_init() but was relocated to spawn_brokerd() mid-implementation after realizing piker ledger calls broker_init() directly even for paper accounts on datad-only backends (would have crashed the cli); the service-spawn path is the correct enforcement seam. Error text:
Backend ‘kucoin’ offers NO brokerd (live order-control) eps!? It is likely a datad-only provider, use paper-mode for clearing instead.
(verified live via a trio.run() unit check.)
git log -1 -p --follow -- piker/brokers/ib/api.py
Generated: in load_aio_clients(), when client_id is the 6116 default: datad-named actors offset +16 (disjoint from brokerd’s linear client_id + i retry range), other non-brokerd (ad-hoc test/cli) actors +32. Rationale from the plan’s risk register: post-split BOTH per-broker daemons connect to the same TWS/gw endpoint; a shared default id collides and burns up to connect_timeout * retries (90s) in retry cycles.
git log -1 -p --follow -- piker/cli/__init__.py