# Implementation Status vs Design This document tracks current implementation status against the original design in `docs/implementation_notes.md`. ## Matches the design - Workspace layout with feature crates (`wtfnet-core`, `wtfnet-platform`, `wtfnet-geoip`, `wtfnet-probe`, `wtfnet-dns`, `wtfnet-http`, `wtfnet-tls`, `wtfnet-discover`, `wtfnet-diag`). - CLI remains a thin wrapper around library crates. - Platform abstraction uses traits with OS dispatch. - GeoIP: local GeoLite2 Country + ASN support. - Probe: ping/tcping/trace with GeoIP enrichment. - DNS: Hickory-based query/detect with best-effort heuristics. - HTTP: head/get via reqwest. - TLS: rustls-based handshake/verify/cert/alpn. - Discover: mDNS/SSDP bounded collection. - Diag: bundle export in zip. ## Deviations or refinements - DNS adds DoT/DoH and SOCKS5 proxy support (beyond initial scope). - HTTP timing breakdown is best-effort: `dns_ms` and `ttfb_ms` are captured; `connect_ms`/`tls_ms` remain placeholders. - DNS watch uses `pnet` and is feature-gated as best-effort. ## Gaps vs design (as of now) - HTTP/3 not implemented. - TLS verification is rustls-based (no OS-native verifier). - Discover does not include LLMNR/NBNS. ## Current stage summary - v0.1 scope is complete. - v0.2 scope mostly complete; remaining are deeper test coverage and optional enhancements.