Skip to content

feat(peer): recover accepted relay anchors - #4563

Open
M4n5ter wants to merge 2 commits into
refactor/peer-reachability-domainfrom
feat/peer-relay-anchor-recovery
Open

feat(peer): recover accepted relay anchors#4563
M4n5ter wants to merge 2 commits into
refactor/peer-reachability-domainfrom
feat/peer-relay-anchor-recovery

Conversation

@M4n5ter

@M4n5ter M4n5ter commented Sep 2, 2026

Copy link
Copy Markdown
Member

Summary

  • persist only identity-checked Circuit Relay v2 reservations that the relay actually accepted
  • reacquire those relay anchors after endpoint restart with bounded retries, demoting an anchor only after repeated failure
  • keep advertised coordination routes synchronized with the currently accepted reservation set
  • preserve manual relay configuration while making recovered public relay availability survive process churn

Refs #4554

Verification

Verified on the complete stacked head after rebasing from main at eacfb46aa7ec93273bf468335f4270bba62d35a5:

  • npm run typecheck
  • npm run lint
  • npm run format:check
  • npm run rebuild
  • npm run test:dist - all workspace tests passed
  • npm run check:renderer-architecture - 71 passed
  • npm run check:release - 192 passed
  • git diff --check
  • cargo fmt --manifest-path native/runtime-host-peer/Cargo.toml -- --check
  • cargo clippy --locked --all-targets --manifest-path native/runtime-host-peer/Cargo.toml -- -D warnings
  • cargo test --locked --manifest-path native/runtime-host-peer/Cargo.toml - 27 passed
  • immutable installed-CLI tarball smoke

Review focus

A discovered HOP-capable peer is not an anchor. Only a successful Relay v2 reservation becomes advertised recovery evidence, and reference ownership is released when that evidence is replaced.

AI use

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Codex implemented and verified the change under maintainer direction.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes - described under Summary above
  • No

@github-actions github-actions Bot added the effort/L Under 1000 readable lines label Sep 2, 2026
@M4n5ter
M4n5ter force-pushed the feat/peer-relay-anchor-recovery branch from f98e1df to c1a25f7 Compare September 2, 2026 16:27
@M4n5ter
M4n5ter marked this pull request as ready for review September 2, 2026 16:27
@M4n5ter
M4n5ter force-pushed the feat/peer-relay-anchor-recovery branch 2 times, most recently from d7f7267 to 073f16a Compare September 2, 2026 18:16
@M4n5ter
M4n5ter force-pushed the feat/peer-relay-anchor-recovery branch 4 times, most recently from 85c5c60 to e18d266 Compare September 2, 2026 20:49
@M4n5ter
M4n5ter force-pushed the feat/peer-relay-anchor-recovery branch from e18d266 to acda82d Compare September 2, 2026 21:53
Generated-by: Codex (gpt-5.6-sol)
Generated-by: Codex (gpt-5.6-sol)
@M4n5ter
M4n5ter force-pushed the feat/peer-relay-anchor-recovery branch from acda82d to eea3454 Compare September 2, 2026 23:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/L Under 1000 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant