47 lines
1.7 KiB
Markdown
47 lines
1.7 KiB
Markdown
|
|
---
|
||
|
|
model: gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
session: tractor-addr-unpacking
|
||
|
|
timestamp: 2026-08-22T02:32:26Z
|
||
|
|
git_ref: 59a8ecfd
|
||
|
|
scope: code
|
||
|
|
substantive: true
|
||
|
|
raw_file: 20260822T023226Z_59a8ecfd_prompt_io.raw.md
|
||
|
|
---
|
||
|
|
|
||
|
|
## Prompt
|
||
|
|
|
||
|
|
After committing the read-only pyroute2 helpers and `wgman` design
|
||
|
|
update, the human authorized the next isolated Layer B change:
|
||
|
|
explicit `verify_wg_peer()` composition over WireGuard inspection.
|
||
|
|
|
||
|
|
## Response summary
|
||
|
|
|
||
|
|
Added and exported async `verify_wg_peer()` using one validated
|
||
|
|
WireGuard key snapshot. It recognizes local-interface and configured
|
||
|
|
peer identities without coupling kernel inspection to address
|
||
|
|
parsing. Updated the multihost examples to use the production helper
|
||
|
|
and removed their subprocess-based probe.
|
||
|
|
|
||
|
|
## Files changed
|
||
|
|
|
||
|
|
- `tractor/discovery/_tunnel.py` - shared async snapshot reader and
|
||
|
|
explicit verification helper.
|
||
|
|
- `tractor/discovery/__init__.py` - public verification export.
|
||
|
|
- `tests/discovery/test_wg_inspection.py` - local, peer, absent and
|
||
|
|
malformed-key verification coverage.
|
||
|
|
- `examples/multihost/wg_lan/host_a_srv.py` - async local-key check.
|
||
|
|
- `examples/multihost/wg_lan/host_b_client.py` - async peer-key check.
|
||
|
|
- `examples/multihost/wg_lan/wg_maddr.py` - removed obsolete
|
||
|
|
subprocess probe.
|
||
|
|
- `examples/multihost/wg_lan/README.md` - pyroute2 requirements and
|
||
|
|
verification workflow.
|
||
|
|
- `ai/tpt-backends/03_wg_tunnel_bindspace.md` - async API contract.
|
||
|
|
|
||
|
|
## Human edits
|
||
|
|
|
||
|
|
The human selected this pre-agreed verification layer as the next
|
||
|
|
atomic change after reviewing and committing the preceding read and
|
||
|
|
architecture changes. The agent implemented the source changes; no
|
||
|
|
direct manual edits or follow-up corrections were observed.
|