1.8 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/data/validate.py
Generated: get_eps(mod, kind) -> dict[str, Callable] returning the daemon-kind’s ep funcs defined by a backend mod, keyed by ep name, missing eps excluded; sourced from the existing _eps grouping table ('middleware' | 'datad' | 'brokerd').
git log -1 -p --follow -- piker/brokers/kraken/__init__.pygit log -1 -p --follow -- piker/brokers/binance/__init__.pygit log -1 -p --follow -- piker/brokers/deribit/__init__.pygit log -1 -p --follow -- piker/brokers/ib/__init__.pygit log -1 -p --follow -- piker/brokers/kraken/broker.py
Key exploration findings driving the design (from the planning phase, 3 parallel explore agents + 1 architect agent):
- the codebase already anticipated this split:
validate._epsgroups eps into ‘datad’ vs ‘brokerd’ kinds andib/__init__.pyalready declared_brokerd_mods/_datad_mods;brokers/_daemon.pycarried the literal TODO “rename the daemon to datad prolly once we split up broker vs. data tasks into separate actors?”. - the feared kraken feed<->broker “shared ws state” hazard is mild:
NoBsWs/open_autorecon_wsoriginate inpiker.data._web_bs(re-exported via.kraken.feed); onlystream_messagesis feed-local and it’s a pure parser — in-process imports only, each actor opens its own ws conn. enable_modulesgates RPC entry, NOT python imports, so backend trading mods may keep importing feed-side helpers in-process post-split.