- Unit tests for all internal packages exceeding 80% coverage: - internal/config: 86.2% (ParseMaxDepth, ParseRetries, validation paths) - internal/dns: 82.9% (IterativeQueryWithExchange, mock DNS server, roots) - internal/fingerprint: 96.4% (unchanged, already excellent) - internal/output: 86.7% (formatters, stats, JSON/text output, hooks) - internal/traverse: 86.7% (SetHooks, ResolveNS, processReferral, ensureRDFalse, resolveGlueViaSystem, newAQuery, Referral.Resolve) - Integration tests in internal/integration/: - End-to-end traversal with mock DNS exchange function - Referral chain traversal (root -> TLD -> authoritative) - CNAME resolution and loop detection - NXDOMAIN and SERVFAIL response handling - Max depth enforcement - Context cancellation - TraverserHooks event delivery - Mock DNS server helper in internal/dns/roots_test.go using miekg/dns (enables deterministic testing without network dependency) - CI updated with coverage reporting step - Makefile: added 'cover' target for local HTML coverage reports Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: multica-agent <github@multica.ai>
- gofmt main.go to fix tab indentation in main() body - stats.go ComputeSummary: return nil when Answers and ByType are empty - dns/types.go: remove duplicate ParseQueryType (dead code) - formatter.go: log hook errors to stderr when Debug > 0; add Debug to Config - text.go referralID: remove redundant depth==0 branch - text.go writeServers: remove version lookup placeholder string Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: multica-agent <github@multica.ai>
Add text and JSON formatters with real-time progress via traverser hooks, summary statistics, and CLI integration for --show-* and --json flags. Co-authored-by: multica-agent <github@multica.ai>