docs(arch-networking): settle wireguard-implementation assumption as boringtun - #491
Conversation
📝 WalkthroughWalkthroughThe networking architecture spec is updated to declare boringtun (pure Rust) as the chosen v1 WireGuard implementation, with wireguard-go as a fallback escalation path. The ChangesWireGuard Implementation Decision and DNS Spike Removal
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/specs/03-spec-networking/architecture.md (1)
272-272: ⚡ Quick winAssumption ledger entry is comprehensive and evidence-backed.
The reclassification to
settledis justified: the evidence cites spike#486findings (feature-flag support, build-chain isolation, production maturity via Cloudflare WARP and Mullvad VPN), acknowledges cgo complexity tradeoffs, and notes maintainer sign-off. This provides sufficient grounding for the v1 decision.One minor enhancement for future clarity: consider whether the Unit 4 narrative (lines 133–136) should include an inline reference to spike
#486(e.g., "settled by spike#486(evidence: …)") to guide readers seeking deeper technical justification without requiring them to cross-reference the assumption ledger.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/specs/03-spec-networking/architecture.md` at line 272, In the Unit 4 narrative section (lines 133–136) where the boringtun selection is discussed, add an inline reference to spike `#486` by modifying the text to note that the decision was settled by spike `#486` findings. This allows readers to directly understand where the technical justification (feature-flag support, build-chain isolation, and production maturity evidence from Cloudflare WARP and Mullvad VPN) originates without requiring them to cross-reference back to the assumption ledger entry.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@docs/specs/03-spec-networking/architecture.md`:
- Line 272: In the Unit 4 narrative section (lines 133–136) where the boringtun
selection is discussed, add an inline reference to spike `#486` by modifying the
text to note that the decision was settled by spike `#486` findings. This allows
readers to directly understand where the technical justification (feature-flag
support, build-chain isolation, and production maturity evidence from Cloudflare
WARP and Mullvad VPN) originates without requiring them to cross-reference back
to the assumption ledger entry.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 0278ae5d-b702-46ef-8c0c-ff798b535d2a
📒 Files selected for processing (2)
docs/specs/03-spec-networking/architecture.mddocs/spikes/2026-06-20-dns-hostname-mechanism.md
💤 Files with no reviewable changes (1)
- docs/spikes/2026-06-20-dns-hostname-mechanism.md
Validation findings — Architecture boundaryResolved boundary: Architecture ( Gate results
Gate detailsGate 1 — Decision and rationale present: Pass. Gate 2 — Alternatives considered: Pass (Info). Gate 3 — Consistent with existing decisions: Pass. Gate 4 — No implementation detail masquerading as a decision: Pass. Warning — Unintentional spike document deletion
Recommendation: rebase or merge All four architecture gates pass. The one Warning (unintentional spike-doc deletion) does not require
|
Spike #486 concluded that boringtun (pure Rust WireGuard) is the correct choice for minimald v1 over wireguard-go. The maintainer confirmed this decision on #478.
This PR updates
docs/specs/03-spec-networking/architecture.md:wireguard-implementationfromneeds-spiketosettled, citing spike spike: WireGuard implementation choice — wireguard-go vs boringtun for Unit 4 #486 and the maintainer decision. Evidence: clean Cargo feature-flag support for R4.7, zero additional build-chain dependencies, sufficient production maturity (Cloudflare WARP, Mullvad VPN) for the AllowedIPs subnet-router model.The
dns-hostname-mechanismspike (#485) remains open; the plan phase is still gated until that spike closes.Refs #478
Closes #483
Summary by CodeRabbit