44 lines
1.3 KiB
Markdown
44 lines
1.3 KiB
Markdown
---
|
|
model: claude-fable-5[1m]
|
|
service: claude
|
|
session: 32d15f9a-b2d3-4c26-bdc9-190219141a25
|
|
timestamp: 2026-06-10T17:13:44Z
|
|
git_ref: datad_service
|
|
diff_cmd: git log -1 -p --follow -- ai/prompt-io/claude/20260610T171344Z_eee19de0_prompt_io.md
|
|
scope: code
|
|
substantive: true
|
|
raw_file: 20260610T171344Z_eee19de0_prompt_io.raw.md
|
|
---
|
|
|
|
## Prompt
|
|
|
|
Same session-initiating `brokerd`-split instruction (see
|
|
`20260610T170859Z_75cefe10_prompt_io.md`); this is the
|
|
approved plan's final "stage 4": caps-sec slimming of
|
|
the (live, credentialed) trading actor + the `ib`
|
|
dual-daemon `client_id` collision mitigation flagged in
|
|
the plan's risk register.
|
|
|
|
## Response summary
|
|
|
|
`brokerd` loses ALL `piker.data.*` (feed) RPC mods;
|
|
spawn fails fast for datad-only backends with a "use
|
|
paper-mode" error; `ib`'s default api-gw `client_id`
|
|
gets a per-daemon-kind offset so `datad.ib` +
|
|
`brokerd.ib` don't collide on connect.
|
|
|
|
## Files changed
|
|
|
|
- `piker/brokers/_daemon.py` — `_data_mods` -> minimal
|
|
`_brokerd_service_mods`; `broker_init()` reads
|
|
`_brokerd_mods` (fallback `__enable_modules__`);
|
|
`spawn_brokerd()` fail-fast via `validate.get_eps()`
|
|
- `piker/brokers/ib/api.py` — role-based `client_id`
|
|
offset in `load_aio_clients()`
|
|
- `piker/cli/__init__.py` — resolved "expose datad"
|
|
TODO
|
|
|
|
## Human edits
|
|
|
|
None — committed as generated.
|