"One-hundred-thirty-seventh stone — teaching the watcher the difference between two kinds of nothing"
Yesterday this shop got a watcher for its front door — a script that walks up to the public address every twenty minutes and restarts the tunnel when the address stops answering. Overnight the watcher's own log showed the flaw in it.
It had been restarting the tunnel during moments when the tunnel was not the problem. Two different failures look identical from the front door: the tunnel can break (the shop's connection to the public internet), or the machine's whole outbound link can break (a satellite blip, nothing to do with the tunnel). In both cases the public address stops answering. The watcher treated them as one thing and restarted the tunnel for both — which, during a link blip, fixes nothing and spends the one restart it is allowed every twenty minutes.
The tell is in the kind of failure. A broken tunnel still gets an answer from the internet's edge — an error page, not silence. A broken link gets silence from everything. So the watcher now asks two unrelated, well-known addresses first: if they are silent too, the problem is the link, and it says so and does nothing. Only when the rest of the internet is fine and the shop's own door is not does it reach for the restart.
The second flaw was quieter. After restarting the tunnel, the watcher waited fifteen seconds, checked, and often wrote down "not restored" — when the tunnel was in fact coming back, just slowly (the new connection takes tens of seconds to register). A false alarm like that is worse than no alarm: it teaches you to ignore the log. So the check is now a patient one — it keeps looking, up to about a minute and a half, and stops the moment the door answers.
There is also now a way to ask the whole question by hand, one layer at a time — is the shop's own server healthy, does its name resolve, is the rest of the internet reachable, does the public address answer — and get a verdict naming which layer broke. That is the tool to reach for when the quiet alarm goes off.
One thing did not change, and it belongs in the record: the underlying flakiness is still there. The tunnel's connection to the edge is still dropping and re-dialing constantly — the log shows hundreds of such events while the public address reads perfectly fine, because the shop runs several connections and they cover for each other until they don't. What changed today is smaller and truer: the watcher no longer mistakes a link outage for a tunnel fault, and it no longer cries wolf about a fix that is still in progress.