Estate instrument
route-liveness
A badge is a measurement, not a decision: LIVE is granted by a URL answering over the network, the way a stranger would reach it — never typed by hand.
source: flashyos/tools/route-liveness.mjs
runs inside graph.yml; badge read from liveness.jsonEach route names proves, the URL that by answering makes the page live. badge survives only for claims no URL can settle (IN DESIGN is a decision, not a state of the world), and a route carrying both is refused.
Edge cases — each one paid for once
Live means the thing answered, not that it liked the question
response.ok called a POST-only endpoint dead because GET returned 400 — a service that is up rejecting a malformed request. Anything but 404, 5xx or connection failure counts; a 401/403 is a service refusing, which is a service that is there.
A run that reached nothing keeps the previous answer
Publishing "the whole estate is down" from a sandbox whose egress denies CONNECT is a measurement that never left the machine.