mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 08:27:04 +00:00
RelayObserver is a RelayConnectionListener, so on its own it can only report on relays something opened a websocket to. On a large fan-out that is a small minority, and it is the wrong minority: the cheap checks that decide NOT to dial — a TCP probe, a DNS failure, a host struck out after repeated silence — are precisely the ones that learn a relay is gone, and their findings had nowhere to go. Measured on a 16,507-relay list: 104 records published. Everything else was ruled out before the client ever saw it, so the monitor had nothing to say about 99% of the relays it had just formed an opinion on. record() takes those findings. Same rules as the connection path — a relay that answered is not demoted by one failed probe, and a reachable relay with no measured time is published with no time rather than a fabricated zero. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>