/status.json predates QueryService and stays around as a narrow surface for exactly the things that want a plain unauthenticated GET: a Kubernetes liveness probe, a CI smoke test.

1. What it's for now

It's legacy in the sense that it isn't where new integration work should point -- the dashboard itself reads from ListStatus on QueryService (see Command and query service), not from /status.json. What still uses it: Kubernetes probes and the smoke test that runs against a kind cluster in CI, both of which just want "is this alive and what does it currently see" without a JSON-RPC call shape.

2. Where it lives

Served on the same -listen port as everything else -- empty -listen disables it along with the dashboard and /metrics. The same snapshot shape backs -snapshot-out, the file jaque writes at shutdown with its final status.

For anything beyond a liveness check -- filtering by host, reading history, calling a command -- use QueryService and CommandService instead; they're the maintained, structured surface.

3. Security considerations

/status.json is never gated by -api-token -- there is no way to require a token on it, unlike CommandService (see Command and query service, section 5, and CLI flags, section 9). Anyone who can reach -listen can read the full current status snapshot: every object's state, output and acknowledgement/downtime detail. That is the same exposure QueryService's reads already carry by design; /status.json does not widen it, but it is also not narrowed by anything -api-token does elsewhere on the same port.