--- model: claude-fable-5[1m] service: claude session: 32d15f9a-b2d3-4c26-bdc9-190219141a25 timestamp: 2026-06-10T17:10:22Z git_ref: datad_service diff_cmd: git log -1 -p --follow -- ai/prompt-io/claude/20260610T171022Z_4485f2b9_prompt_io.md scope: code substantive: true raw_file: 20260610T171022Z_4485f2b9_prompt_io.raw.md --- ## Prompt Same session-initiating `brokerd`-split instruction (see `20260610T170859Z_75cefe10_prompt_io.md`). Proximate driver: the approved plan's per-stage test gates could not run AT ALL — the branch base was broken vs. `tractor` git `main` (`AttributeError: 'tuple' object has no attribute 'unwrap'` at `pikerd` boot, stale `arbiter_sockaddr`/`.type`/`.size` API refs). The agent fixed forward autonomously to (re)establish the gate baseline, continuing the `repair_tests` branch lineage (verified already merged in ancestry via `git cherry` during a user-requested branch-overlap survey). ## Response summary Port the service layer + test suites to current `tractor` APIs: addr-type normalization in `open_pikerd()`, `query_actor()`/`wait_for_actor()` kwarg renames, modern self-cancel absorption semantics in the cancel-method test harness, exc/position attr renames, a paper-EMS startup-budget bump and a syntax fix in `.deribit.api`. ## Files changed - `piker/service/_actor_runtime.py` — `wrap_address()` normalize before `.unwrap()` in `open_pikerd()` - `piker/service/_registry.py` — `check_for_service()` -> `query_actor(regaddr=)` + 2-tuple yield + `open_registry(addrs=)` - `piker/brokers/deribit/api.py` — missing comma in `tractor.trionics` import tuple - `tests/test_services.py` — `registry_addr=` kwarg, raddr unwraps, cancel-semantics harness rewrite, `fail_after` 9 -> 19s - `tests/test_ems.py` — `.boxed_type`, `pp.cumsize` ## Human edits None — committed as generated.