docs: add dnstraverse reference spec, rework design, and golden tooling

Reconstructed behaviour spec of dns.squish.net / Ruby dnstraverse 0.1.14
(inputs, traversal semantics, probability model, verbatim output formats,
sourced from the live site, Wayback captures, and the Ruby source), the
engine rework design that maps it onto Go, a point-in-time codebase review,
golden reference captures, and tools/golden/run-reference.sh for running
the reference Ruby engine locally (clone is gitignored, GPL-3 dev-only).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Gary Hansen
2026-07-07 21:41:47 +10:00
co-authored by Claude Fable 5
parent c74b218349
commit af15c9c2d4
18 changed files with 2842 additions and 0 deletions
@@ -0,0 +1,76 @@
# Using fast mode
# Limiting traverse to one root
# UDP size 2048 (EDNS0 is on)
# Retries 2, max depth 20
# Allow TCP is true, always TCP is false
Using d.root-servers.net (199.7.91.13) as initial root
Running query www.example.com type a
1 [www.example.com] d.root-servers.net (199.7.91.13) <>
1.1 [www.example.com] a.gtld-servers.net (192.5.6.30) <com>
1.1.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com>
1.1.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com>
1.2 [www.example.com] b.gtld-servers.net (192.33.14.30) <com>
1.2.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.2.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.3 [www.example.com] c.gtld-servers.net (192.26.92.30) <com>
1.3.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.3.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.4 [www.example.com] d.gtld-servers.net (192.31.80.30) <com>
1.4.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.4.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.5 [www.example.com] e.gtld-servers.net (192.12.94.30) <com>
1.5.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.5.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.6 [www.example.com] f.gtld-servers.net (192.35.51.30) <com>
1.6.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.6.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.7 [www.example.com] g.gtld-servers.net (192.42.93.30) <com>
1.7.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.7.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.8 [www.example.com] h.gtld-servers.net (192.54.112.30) <com>
1.8.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.8.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.9 [www.example.com] i.gtld-servers.net (192.43.172.30) <com>
1.9.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.9.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.10 [www.example.com] j.gtld-servers.net (192.48.79.30) <com>
1.10.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.10.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.11 [www.example.com] k.gtld-servers.net (192.52.178.30) <com>
1.11.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.11.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.12 [www.example.com] l.gtld-servers.net (192.41.162.30) <com>
1.12.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.12.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
1.13 [www.example.com] m.gtld-servers.net (192.55.83.30) <com>
1.13.1 [www.example.com] hera.ns.cloudflare.com (108.162.192.162,172.64.32.162,173.245.58.162) <example.com> -- completed earlier (1.1.1)
1.13.2 [www.example.com] elliott.ns.cloudflare.com (108.162.195.228,162.159.44.228,172.64.35.228) <example.com> -- completed earlier (1.1.2)
Results:
16.7%: Answer from hera.ns.cloudflare.com (108.162.192.162)
www.example.com. 300 IN A 104.20.23.154
www.example.com. 300 IN A 172.66.147.243
16.7%: Answer from elliott.ns.cloudflare.com (108.162.195.228)
www.example.com. 300 IN A 172.66.147.243
www.example.com. 300 IN A 104.20.23.154
16.7%: Answer from elliott.ns.cloudflare.com (162.159.44.228)
www.example.com. 300 IN A 104.20.23.154
www.example.com. 300 IN A 172.66.147.243
16.7%: Answer from hera.ns.cloudflare.com (172.64.32.162)
www.example.com. 300 IN A 172.66.147.243
www.example.com. 300 IN A 104.20.23.154
16.7%: Answer from elliott.ns.cloudflare.com (172.64.35.228)
www.example.com. 300 IN A 172.66.147.243
www.example.com. 300 IN A 104.20.23.154
16.7%: Answer from hera.ns.cloudflare.com (173.245.58.162)
www.example.com. 300 IN A 104.20.23.154
www.example.com. 300 IN A 172.66.147.243
Summary Results:
100% answered with www.example.com. 300 IN A 104.20.23.154
www.example.com. 300 IN A 172.66.147.243