watcher: send the inconsistency alert once per disagreement (closes #158)
check / check (push) Successful in 1m19s

detectInconsistencies alerted for neighbouring pairs of nameservers whose
records differed, on every DNS check, for as long as they differed. It now
also takes the previous hostname state, compares every pair of nameservers,
and alerts for a pair only when both were in that state with equal records.
The state loaded at startup is the previous state for the first check, so a
disagreement saved before a restart is not reported again. The choice of
pairs is tested on record data, and the alert itself through the hostname
change detection with the notifier stand-in and no resolver. The README
describes the new behaviour.

Model: opus-5-5
This commit is contained in:
2026-09-28 23:42:56 +00:00
parent 95b017eb3e
commit 8ea6191566
5 changed files with 251 additions and 17 deletions
+6 -2
View File
@@ -74,8 +74,12 @@ rejected.
This is distinct from "responded with no records."
- **NS recovery**: A previously-unreachable nameserver starts
responding again.
- **Inconsistency detected**: Two nameservers that previously agreed
now return different record sets for the same hostname.
- **Inconsistency detected**: Two nameservers that agreed on the
previous check now return different record sets for the same
hostname. Every pair of nameservers is compared. The alert is sent
once for each such pair, on the check where they start to disagree,
and not again while they keep disagreeing, including after a restart.
If they agree again and later disagree, it is sent again.
### TCP Port Monitoring