1.2 KiB
Raw output - dispatch explicit bindspace lifecycle
The human noticed the agent had re-reported already committed work without changing the worktree. The agent confirmed the sequencing error and proceeded to the actual next Layer C slice.
git diff HEAD~1..HEAD -- tractor/discovery/_bindspace.py tractor/discovery/__init__.py tests/discovery/test_bindspace.py ai/tpt-backends/03_wg_tunnel_bindspace.md
Added serialized BindspaceSpec.lifecycle policy with explicit attach and open choices. Added open_bindspace() dispatch without inferring resource ownership from listen/dial role.
Refactored FD attachment into policy-neutral _pin_netns() so borrowed and owned public lifecycles can share identity pinning while enforcing their own policy before side effects. Handle construction also verifies lifecycle and resulting ownership agree.
One composition error introduced during implementation was caught by the focused test: owned creation initially called the newly guarded public attach API. _pin_netns() fixed that layering error. Ruff and lock checks passed; discovery plus message coverage passed 138 tests with 2 xpasses.