--- model: claude-fable-5[1m] service: claude session: 32d15f9a-b2d3-4c26-bdc9-190219141a25 timestamp: 2026-06-10T17:08:59Z git_ref: datad_service diff_cmd: git log -1 -p --follow -- ai/prompt-io/claude/20260610T170859Z_75cefe10_prompt_io.md scope: code substantive: true raw_file: 20260610T170859Z_75cefe10_prompt_io.raw.md --- ## Prompt Session-initiating instruction (driving all 7 commits in this series): > ok i want you to become the distributed runtime and > concurrency expert for this project - namely acquire > a deep understanding of tractor and how it's used. > then i want you to attempt to factor our current > brokerd service daemon into 2 daemons: a brokerd > which only hosts live/paper trading endpoint tasks > [..] a new `datad` subdaemon which in a separate > subactor serves all the data feed service tasks [..] > give me a mega detailed plan on how to approach this, > and a staged approach for the implementation. Proximate driver for THIS commit: during the approved plan's stage-0 test gate the agent discovered test subactors were writing into the user's REAL `~/.config/piker/accounting/` files (a bogus paper fill landed in `account.kraken.paper.toml`) because the old test-dir override in `config.get_app_dir()` was commented out and could never work in spawned subactors anyway. Fix applied autonomously under the approved plan; no explicit per-fix user prompt. ## Response summary Restore `pytest` config-dir isolation by resolving the per-test tmp dir lazily (at conf-path access time) from `tractor` runtime-vars, which propagate down the actor tree; route all conf-path derivation through `config.get_conf_dir()` so the override is effective in every (sub)actor. ## Files changed - `piker/config.py` — add `_maybe_use_test_dir()`; hook in `get_conf_dir()`; route `get_conf_path()` + `load()` mkdir through it - `piker/accounting/_ledger.py` — derive ledger dir via `config.get_conf_dir()` (not the global) - `piker/accounting/_pos.py` — same for account files ## Human edits None — committed as generated.