piker/ai/prompt-io/claude/20260610T171105Z_bc6e18d7_p...

1.8 KiB
Raw Blame History

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-kinds 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__.py git log -1 -p --follow -- piker/brokers/binance/__init__.py git log -1 -p --follow -- piker/brokers/deribit/__init__.py git log -1 -p --follow -- piker/brokers/ib/__init__.py git 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._eps groups eps into datad vs brokerd kinds and ib/__init__.py already declared _brokerd_mods/_datad_mods; brokers/_daemon.py carried 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_ws originate in piker.data._web_bs (re-exported via .kraken.feed); only stream_messages is feed-local and its a pure parser — in-process imports only, each actor opens its own ws conn.
  • enable_modules gates RPC entry, NOT python imports, so backend trading mods may keep importing feed-side helpers in-process post-split.