62 lines
2.5 KiB
Markdown
62 lines
2.5 KiB
Markdown
|
|
---
|
||
|
|
model: gpt-5.6-sol
|
||
|
|
service: opencode
|
||
|
|
timestamp: 2026-08-18T07:50:31Z
|
||
|
|
git_ref: dd02c7c0
|
||
|
|
diff_cmd: git diff HEAD~1..HEAD
|
||
|
|
---
|
||
|
|
|
||
|
|
# Raw output - native WireGuard maddr integration
|
||
|
|
|
||
|
|
The human requested completion of the five-step tunnelled-maddr slice:
|
||
|
|
port the proven WireGuard parser, delegate to `py-multiaddr`'s native
|
||
|
|
tunnel APIs, integrate public parse and composition entry points, add
|
||
|
|
regressions, and return atomic commit plans after completing the batch.
|
||
|
|
|
||
|
|
## Generated code
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tractor/discovery/_tunnel.py tractor/discovery/_multiaddr.py tractor/discovery/_addr.py tractor/discovery/__init__.py`
|
||
|
|
|
||
|
|
Added strict WireGuard standard-base64/multibase key codecs and native
|
||
|
|
WG maddr parsing/composition. Nested stacks peel the last `/wg/`
|
||
|
|
repeatedly with `.decapsulate_code()`, isolate segments through
|
||
|
|
`.split()`/`.join()`, and compose recursively with `.encapsulate()`.
|
||
|
|
Public discovery parsing, wrapping, endpoint-table parsing, and maddr
|
||
|
|
composition now preserve `TunnelledAddress` metadata locally.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- pyproject.toml uv.lock`
|
||
|
|
|
||
|
|
Declared `py-multibase` directly and pinned the unreleased
|
||
|
|
py-multiaddr#108 WG codec revision in distribution metadata. Enabled
|
||
|
|
Hatch direct-reference metadata so editable, wheel, and sdist builds
|
||
|
|
use the same dependency contract.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- tests/discovery/test_multiaddr.py tests/discovery/test_tunnelled_addr.py`
|
||
|
|
|
||
|
|
Added key-codec, single/nested WG round-trip, malformed key, invalid
|
||
|
|
bearer/overlay, missing codec, missing bearer, `wrap_address()`, and
|
||
|
|
`parse_endpoints()` coverage while retaining plain TCP/UDS regressions.
|
||
|
|
|
||
|
|
> `git diff HEAD~1..HEAD -- examples/multihost/wg_lan ai/tpt-backends/03_wg_tunnel_bindspace.md`
|
||
|
|
|
||
|
|
Removed the duplicate example parser, migrated callers to production
|
||
|
|
`TunnelledAddress`, retained only explicit `wg(8)` verification, and
|
||
|
|
updated dependency and future bindspace ownership documentation.
|
||
|
|
|
||
|
|
## Verification
|
||
|
|
|
||
|
|
- focused discovery files: `45 passed`
|
||
|
|
- discovery and IPC suites: `81 passed, 2 xpassed`
|
||
|
|
- full suite: `443 passed, 9 skipped, 7 xfailed, 4 xpassed`
|
||
|
|
- collection: `462 tests`
|
||
|
|
- Ruff: clean
|
||
|
|
- sdist and wheel builds: successful
|
||
|
|
|
||
|
|
## Review corrections
|
||
|
|
|
||
|
|
A review caught that `[tool.uv.sources]` alone would not constrain
|
||
|
|
built-package consumers to a WG-capable py-multiaddr revision. The
|
||
|
|
dependency was moved into PEP 621 metadata and the parser now converts
|
||
|
|
missing-codec failures into an actionable tractor error without
|
||
|
|
misclassifying Unix paths containing a `wg` directory.
|