From 0e13d850898e2808adcb96881511c5eaa843db59 Mon Sep 17 00:00:00 2001 From: sneak Date: Fri, 7 Aug 2026 16:27:18 +0000 Subject: [PATCH] docs: document the no-DNS-mocking policy in README (closes #94) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DNS is never mocked in dnswatcher — not in tests, not anywhere. Tests run against the real DNS by design; flaky live tests get fixed with robustness or owner-decided opt-in gating, never mocks. Record this prominently near the top of the README so contributors and future workers do not propose mocked resolvers. --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index 9ed5805..83f9226 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,26 @@ without requiring an external database. --- +## No DNS mocking. Ever. + +**DNS is never mocked in this project — not in tests, not anywhere else.** +No mock resolvers, no fake DNS servers, no stubbed lookups. + +dnswatcher's entire purpose is correct behavior against the real DNS. +Tests exercise real iterative resolution against live nameservers by +design; a test suite that passes against a mock proves nothing about the +one thing this program exists to do. + +When live tests are flaky, that is a robustness problem, and it gets +fixed with robustness: retries with backoff, querying multiple +independent nameservers, longer timeouts — or explicit opt-in gating +decided by the project owner. Never with mocks. + +Contributions that introduce mocked, faked, or stubbed DNS will be +rejected. + +--- + ## Features ### DNS Domain Monitoring (Apex Domains) -- 2.49.1