---
model: claude-fable-5
service: claude
session: b8ec2ffe-1e47-4db5-8bc3-5bebc5feaaf6
timestamp: 2026-07-02T15:50:06Z
git_ref: 65bf9df5
scope: code
substantive: true
raw_file: 20260702T155006Z_65bf9df5_prompt_io.raw.md
---

## Prompt

From `ai/prompt-io/prompts/issue_473.md`:

> NOTE: you MUST pause this work at 12:50PM EST (BEFORE
> your weekly limit reset) for review by a human!
>
> resolve GH #473: https://github.com/goodboy/tractor/issues/474
> do it with /open-wkt.

(The prompt's issue-number/URL mismatch was resolved in
favor of #473 — file name, session name and prompt text
all say #473; the `/474` URL is a typo.)

GH #473: "Root-cause UDS-on-macOS —
`uds_transport_actor_tree` example fails on CI".

## Response summary

Worked all four #473 next-step checkboxes in wkt
`uds_macos_473`:

1. **stderr surfacing**: `test_docs_examples.py` now
   raises with the full subproc stderr (+stdout) on ANY
   non-zero exit. The old last-line-'Error' check could
   never fire for `tractor` crashes since root-actor
   stderr always ends with the strict-EG collapse note
   `( ^^^ this exc was collapsed from a group ^^^ )` —
   proven against the real PR #460 macOS CI log (bare
   `assert 1 == 0`, no traceback).
2. **root-cause (linux-provable layer)**: macOS-only
   addr corruption in
   `MsgpackUDSStream.get_stream_addrs()` — no
   `SO_PASSCRED`/autobind on darwin means the accept
   side's `getpeername()` is `''`, and the
   `(str(), str())` arm took `peername` unconditionally →
   `Path('')` garbage addrs on every accepted conn.
   Proven + fixed via linux no-autobind simulation.
   Possibly not the final macOS crasher (non-fatal on
   linux-sim); the diagnostic patch guarantees the next
   macOS CI run shows any remaining layer.
3. **CI matrix**: removed the `macos-latest`+`uds`
   exclude.
4. **un-skip**: dropped the macOS+CI skip of the example.

Also: `start_listener()` bindspace mkdir hardened
(`parents=True, exist_ok=True`), example docstring
peer-pid mechanism corrected for macOS.

## Files changed

- `tests/test_docs_examples.py` — surface full stderr on
  non-zero exit; remove macOS skip of the UDS example
- `tractor/ipc/_uds.py` — fix no-autobind
  `get_stream_addrs()` arm; harden bindspace mkdir;
  document autobind semantics
- `.github/workflows/ci.yml` — add macOS UDS leg (remove
  matrix exclude)
- `examples/uds_transport_actor_tree.py` — platform-
  correct peer-pid docs

## Human edits

None yet — pending human review (hard-stop review
checkpoint at 12:50PM EST per prompt); commit staging and
any edits are the human's.
