docs(v0.17.0): robust WAN join + presence-liveness truth — design checkpoint Off two confirmed field incidents this session (SCELTOUIN): (1) WAN join silently failed on half-broken IPv6 — iroh dual-stack burned the rendezvous window on dead AAAA candidates; (2) a remote node painted another node's DEAD endpoints ONLINE (dead perch gossiped Dormant @registryhost.rs:404, picker maps remote Dormant→Online). - ADR-0030 (robust WAN subnet join): two-phase meet-before-code + per-family bind gate + diagnosable join. Grilled with the operator (/grill-with-docs). - docs/design/robust-wan-subnet-join.md: per-item spec. - CONTEXT.md: corrected the TOTP-epoch (public, routes the meet) vs TOTP-code (secret, SPAKE2 only) conflation — the keystone that licensed meet-before-code. - traceable-reqs.toml: REQ-JOIN-TWO-PHASE / REQ-NET-FAMILY-GATE / REQ-JOIN-DIAGNOSTICS (doc-ratified by ADR-0030, required_stages=[doc]) + REQ-PRESENCE-LIVENESS-TRUTH (seed []). - V0.17.0-ROBUST-JOIN-AND-PRESENCE-JIT.md: 5-wave build path (W1 family-gate + W4 presence-truth = the correctness blockers; W2 two-phase + W3 diagnostics = UX hardening). Co-authored by: doyle