What you'll build: additional recorded fixtures for the read-only Tailscale/Headscale probes covering edge cases — empty tailnet, expired node key, unreachable control server.
Where: adapters/mesh/ (follow the existing fixture pattern).
Expected behavior: each fixture drives the probe to a deterministic, fail-closed result; no live API calls in tests.
How to test: go test ./adapters/... passes; new cases visible in test names.
Mentor: @DBarr3
What you'll build: additional recorded fixtures for the read-only Tailscale/Headscale probes covering edge cases — empty tailnet, expired node key, unreachable control server.
Where:
adapters/mesh/(follow the existing fixture pattern).Expected behavior: each fixture drives the probe to a deterministic, fail-closed result; no live API calls in tests.
How to test:
go test ./adapters/...passes; new cases visible in test names.Mentor: @DBarr3