tractor/ai/prompt-io/opencode/20260818T075031Z_dd02c7c0_p...

2.5 KiB
Raw Blame History

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-multiaddrs 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.