fix(relay): make verified relay publication identity-scoped - #131
Merged
Conversation
Carry the authoritative accepted connection into LinkTransport, keep provisional and published relay allocations behind one identity-scoped lifecycle, and remove packet-by-packet relay tracing from the hot path.\n\nCompletes WithAutonomi/saorsa-core#138 and supports WithAutonomi/saorsa-core#136.\n\nSemVer: breaking
7 tasks
Contributor
Benchmark ResultsPerformance Comparison
SummaryConfiguration
|
dirvine
approved these changes
Jul 31, 2026
dirvine
left a comment
Member
There was a problem hiding this comment.
Reviewed exact head d960473f165107f15e9a7c53dca015bf2033ce17.
The terminal relay-lifecycle fix resolves the remaining blocker: shutdown drains installed relay ownership once, invalidates in-flight generations, and rejects later prepare/publish commands. The earlier cancellation-safe ownership, exact-session cleanup, and receipt-verification budget fixes were also revalidated as part of the paired review.
Verification:
- Six-seat review consensus: approve; no remaining release blocker in saorsa-transport #131.
- Local
cargo test --lib: 1,498 passed, 3 ignored. - Exact-head GitHub CI: complete and green; merge state clean.
Non-blocking follow-ups remain around broader endpoint-wide shutdown semantics for the older public relay-session API and cancellation hardening before shutdown-command linearisation. These are pre-existing/outside the proactive lifecycle blocker and do not hold this PR.
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear issue
https://linear.app/autonominetwork/issue/V2-812/gate-proactive-relay-publication-with-independent-canary-verification Tracking issue: WithAutonomi/saorsa-core#138. Dependent PR: WithAutonomi/saorsa-core#136.
Risk tier
Compatibility
PreparedRelayallocation identity instead of aSocketAddr, and the unreleased receipt APIs/types are removed.Semver impact
Summary
Connection not foundfor short-lived peers.Test evidence
4b1ed67973763e4636694a9d9c0601ff41b9e933.cargo test --lib --quiet: 1,494 passed, 3 ignored, 0 failed.cargo fmt --all -- --check: clean.cargo clippy --all-targets --all-features -- -D warnings: clean.cargo test --all-features --quietpassed the 1,580-test primary suite and all receipt-removal-related coverage. Two unrelated NAT coordination race tests failed; both reproduce unchanged on an untouchede24989f2worktree (6 passed, the same 2 failed).ab9da8f: 560 tests passed, 12 ignored, 0 failed; strict clippy clean.cargo check --workspace --quietclean with the exact current transport lock.New dependency
none
ADR
https://github.com/WithAutonomi/saorsa-core/blob/feat/relay-canary-gate-rc-2026.6.2/docs/adr/ADR-016-canary-gated-proactive-relays.md
Mitigation / rollback
Revert PR #131 together with dependent saorsa-core PR #136.