78 lines
2.5 KiB
Markdown
78 lines
2.5 KiB
Markdown
|
|
---
|
||
|
|
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.
|