Repository navigation
docs(bgp): specify bounded scrubber diversion contract - #322
Merged
Merged
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The contract needs a withdrawal barrier so still-authorized delayed adds cannot recreate rules after withdrawal is declared complete.
1 open issue
What changed in this PR
This documentation-only PR defines the speaker contract needed for guarded redirect-to-IP scrubber diversion, extending ADR 030 without enabling runtime behavior.
Changes:
- Records released API gaps, canonical IPv4/IPv6 action vectors and rollback requirements.
- Proposes bounded mutation windows and qualification cases for delayed requests, ownership and forwarding removal.
- Links the plan from the roadmap, documentation index and ADR 030.
| File | Description |
|---|---|
| ROADMAP.md | Links the prerequisite speaker contract plan. |
| docs/README.md | Adds the plan to the documentation index. |
| docs/project/scrubber-diversion-contract.md | Defines proposed action, authorization and qualification requirements. |
| docs/adr/030-scrubber-diversion.md | Connects the plan to the speaker-contract implementation slice. |
Review effort: Balanced
lance0
force-pushed
the
docs/scrubber-diversion-contract
branch
from
October 24, 2026 03:22
e039db9 to
f487f98
Compare
lance0
changed the base branch from
fix/ctutils-constant-time
to
chore/retire-hey-harness
October 24, 2026 03:22
This was referenced Oct 24, 2026
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.

Specify the prerequisite speaker contract for redirect-to-IP scrubber diversion after source-prefix matching shipped in #307. The released rustbgpd 0.79.0 boundary lacks the complete action/read-back, bounded queued-mutation and admission-fenced deletion contract required here.
The proposal covers canonical IPv4/IPv6 action vectors, expiring server authorization, independent profile owners, durable pending-add barriers and delete revision fencing. Fourteen qualification cases include late adds, late deletes after key reuse with live siblings, rollback, observation failures and separate local/forwarding removal evidence.
Both review findings are fixed. Independent source review cross-checked the released contract and wire references; the third bounded automated review recommends approval with no open issues. Links, vectors and patch hygiene pass. Both exact-head CI runs for
f487f98now pass all 11 checks; the PR is clean and ready for review.Documentation only: this enables no action and leaves ADR 030 Proposed. Runtime support, readiness/re-arm and router/scrubber qualification remain future work.
This PR targets #327 and contains only contract documentation. Merge order: #323 → #327 → #322 → #324 → #325 → #326. Use merge commits; after the predecessor lands, retarget the next PR to
mainbefore merging.Refs #305.