733badd2a8
The PLAN calls out client diagnostics that a user can read directly, not only machine-shaped counters. The Windows client already built ClientDiagnostics snapshots, but it printed a dense status line and left the UserDiagnostic model unused. Derive user-facing diagnostics from ClientDiagnostics in lanparty-obs so a future GUI and the current CLI can share the same status vocabulary. The messages report the states the runtime actually observes: relay reachability, LAN gateway presence, TAP IP presence, and observed broadcast traffic. TAP IPs are only described as DHCP when they are non-link-local IPv4 addresses, because link-local IPv4 and IPv6 addresses do not prove DHCP success. The client now prints those user-facing lines after the existing detailed counter line. Gateway latency is intentionally not reported here; the current protocol does not measure gateway RTT. Test Plan: - cargo fmt --check - cargo test -p lanparty-obs -p lanparty-client-win - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - git diff --check - git diff --cached --check Refs: PLAN.md Logging / diagnostics