48 lines
1.4 KiB
Markdown
48 lines
1.4 KiB
Markdown
|
|
---
|
||
|
|
model: claude-fable-5[1m]
|
||
|
|
service: claude
|
||
|
|
session: 32d15f9a-b2d3-4c26-bdc9-190219141a25
|
||
|
|
timestamp: 2026-06-10T17:11:42Z
|
||
|
|
git_ref: datad_service
|
||
|
|
diff_cmd: git log -1 -p --follow -- ai/prompt-io/claude/20260610T171142Z_119d2c04_prompt_io.md
|
||
|
|
scope: code
|
||
|
|
substantive: true
|
||
|
|
raw_file: 20260610T171142Z_119d2c04_prompt_io.raw.md
|
||
|
|
---
|
||
|
|
|
||
|
|
## Prompt
|
||
|
|
|
||
|
|
Same session-initiating `brokerd`-split instruction (see
|
||
|
|
`20260610T170859Z_75cefe10_prompt_io.md`); this is the
|
||
|
|
approved plan's "stage 1": introduce the `datad` daemon
|
||
|
|
machinery additively (nothing routes through it yet).
|
||
|
|
User-decided constraint applied: `datad.<broker>` is a
|
||
|
|
SIBLING of `brokerd.<broker>` under `pikerd`, spawned
|
||
|
|
via the existing `Services` + `maybe_spawn_daemon()`
|
||
|
|
machinery.
|
||
|
|
|
||
|
|
## Response summary
|
||
|
|
|
||
|
|
New `piker/data/_daemon.py` hosting the
|
||
|
|
`datad.<broker>` feed-only daemon-actor: lifetime
|
||
|
|
fixture owning the actor-global `_FeedsBus`, init/spawn
|
||
|
|
fns mirroring `.brokers._daemon` conventions and the
|
||
|
|
`samplerd` sub-daemon precedent, plus root-mod
|
||
|
|
registration, `piker.service` re-exports and a spawn
|
||
|
|
test.
|
||
|
|
|
||
|
|
## Files changed
|
||
|
|
|
||
|
|
- `piker/data/_daemon.py` — NEW:
|
||
|
|
`_setup_persistent_datad()`, `datad_init()`,
|
||
|
|
`spawn_datad()`, `maybe_spawn_datad()`,
|
||
|
|
`_datad_service_mods`
|
||
|
|
- `piker/service/_actor_runtime.py` — add
|
||
|
|
`piker.data._daemon` to `_root_modules`
|
||
|
|
- `piker/service/__init__.py` — re-export spawn eps
|
||
|
|
- `tests/test_services.py` — add `test_datad_spawn`
|
||
|
|
|
||
|
|
## Human edits
|
||
|
|
|
||
|
|
None — committed as generated.
|