A3.10: FIPS last-known-good endpoint fallback for direct peering #125

Open
ai wants to merge 0 commits from a3-10-endpoint-fallback into main
Collaborator

Separate reviewed PR per plan (mesh-routing area). LAN → last-known-good → anchor-tree escalation; npub-keyed endpoint store persisted at fips-endpoints.json with 30-day retention; endpoints recorded from fipsctl show peers each anchor tick. Unit tests: roundtrip, retention pruning, fallback skip rules.

🤖 Generated with Claude Code

Separate reviewed PR per plan (mesh-routing area). LAN → last-known-good → anchor-tree escalation; npub-keyed endpoint store persisted at fips-endpoints.json with 30-day retention; endpoints recorded from fipsctl show peers each anchor tick. Unit tests: roundtrip, retention pruning, fallback skip rules. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ai added 1 commit 2026-07-28 11:33:37 +00:00
New fips/endpoints.rs: an npub-keyed store (<data_dir>/fips-endpoints.json)
of every endpoint a peer was last seen connected at (fipsctl show peers
transport_addr/transport_type — covers LAN, Tailscale, and WAN alike),
refreshed each anchor tick, 30-day retention.

The anchor tick now escalates LAN → last-known-good → anchor tree: any
federation peer with a fips npub that is neither currently connected nor
covered by a live LAN direct entry gets its last-known-good endpoint
re-dialed (idempotent fipsctl connect, bounded by apply()'s per-connect
cap). This productizes the hand-applied .116↔.198 Tailscale fix of
2026-07-20 and closes RC2's "no endpoint fallback" gap.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This branch is already included in the target branch. There is nothing to merge.
This branch is out-of-date with the base branch
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin a3-10-endpoint-fallback:a3-10-endpoint-fallback
git checkout a3-10-endpoint-fallback
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lfg2025/archy#125