--- model: gpt-5.6-sol service: opencode session: tractor-addr-unpacking timestamp: 2026-08-20T03:31:08Z git_ref: ba07e09d scope: code substantive: true raw_file: 20260820T033108Z_ba07e09d_prompt_io.raw.md --- ## Prompt The human asked the agent to continue after adding tagged readers, complete canonical address emission without dropping legacy input compatibility, verify the migration, and prepare a complete multi-commit package when the turn was done. ## Response summary Changed `.unwrap()` to emit tagged TCP and Unix addresses, updated direct tuple consumers and spawn payload declarations, and aligned multiaddr, runtime, IPC, and discovery tests with canonical serialized equality. Kept untagged tuples and the `uds` spelling readable at input boundaries. ## Files changed - `tractor/discovery/_addr.py` - canonical output alias. - `tractor/discovery/_multiaddr.py` - tagged address composition. - `tractor/ipc/_tcp.py` - tagged emission and direct socket dialing. - `tractor/ipc/_uds.py` - tagged full-path emission. - `tractor/msg/types.py` - protocol-neutral spawn tuple containers. - `tests/discovery/test_address_serialization.py` - writer assertions. - `tests/discovery/test_multiaddr.py` - canonical round-trip assertions. - `tests/discovery/test_tpt_bind_addrs.py` - tagged bind assertions. - `tests/ipc/test_each_tpt.py` - canonical runtime address assertions. - `tests/ipc/test_server_tunnel_boundary.py` - tagged TCP destructuring. - `tests/test_local.py` - canonical registry comparison. ## Human edits The human established the reader-before-writer sequencing, canonical tag spellings, retained compatibility expectations, and requested final multi-commit packaging. The agent implemented and tested those choices; no direct manual source edits were observed.