Block a user
Port check IP↔hostname association is lossy for shared IPs
State file format migration: no logic for version changes
Per-nameserver state creates unbounded growth
No DNSSEC validation in iterative resolution
Bug: Watcher startup context expires immediately
Race between DNS and port/TLS checks (stale IPs)
No backoff on persistent NS failures (24 notifications/day)
TLS cert key collision: duplicate checks for shared IP + SNI targets
Port check IP↔hostname association is lossy (single hostname per IP:port)
Per-nameserver state creates unbounded growth (no pruning)
Watcher startup context bug: startCtx expires after fx startup
Spec review: design issues and edge cases in README
Spec review: design issues and edge cases in README
Created individual issues for all 10 items:
- #43 — Watcher startup context bug
- #44 — Per-nameserver state unbounded growth
- #45 — Port check IP↔hostname association lossy
- #46…
Notification delivery is fire-and-forget with no retry
CNAME chain + per-NS storage interaction needs clarification
State file format migration logic missing
No DNSSEC validation in iterative resolution
Race between DNS and port/TLS checks on stale IPs
No backoff on persistent nameserver failures
Port check IP↔hostname association is lossy for shared IPs