Design accepted 2026-05-01. Locks in 5 architectural decisions
(GUI-only, UAC-per-launch, no DPI bypass, hide-to-tray with toast,
contextual recovery) and decomposes Phase 2 into 5 milestones with
explicit acceptance criteria + a 30-row edge case matrix.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Old single-shot stun test only proved one UDP packet round-tripped
through the relay. To predict whether voice will actually work the
checker now does two stronger tests:
- voice-quality: 30-packet STUN burst with loss/jitter/p50 metrics,
with a "warn" tier between hard pass and hard fail.
- voice-srv: concurrent DNS resolve + SOCKS5 TCP probe to a list of
Discord voice region hostnames; passes if any region is reachable.
Adds StatusWarn ("soft pass — show hint anyway") so the GUI can
distinguish "voice will work but glitchy" from green.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>