2028785f5e
S3 appendix CGNAT smoke test run live on felhom-pve (agent v0.64.0) with a USB-tethered phone. Tunnel established + held its NAT mapping across a 32-min idle soak on PersistentKeepalive=25 alone (0 stalls, final ping no-bounce). - §7: open-validation CLOSED; two honest caveats kept (SIM had a public mobile IPv4 so true CGNAT 100.64/10 not reproduced — retest-when-able; + MTU). - §4.3: mobile outer path MTU ~1400 black-holed bulk data at the shipped 1420; MTU 1340 restored the PBS page. OPEN DECISION: permanent vs per-connection. - §4.4: keepalive 32-min mobile-NAT hold datapoint. - §4.2: dual-stack v6 trap (wg-quick prefers endpoint AAAA, rides un-NATed v6). - §8: S6 row CGNAT closure marked done. - REPORT.md: overwritten with this operational-validation summary. Runbook: RUNBOOK-s3-cgnat-smoke. Docs-only; no agent/hub/controller code. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6