pub async fn fetch_service_status() -> Option<ServiceIssue>Expand description
Fetch + classify the public statuspage summary. Returns None if
every relevant component is operational, or if the request fails.
Each error branch logs so “couldn’t reach statuspage” stops being
indistinguishable from “everything is operational” in postmortems.
Levels: routine network/HTTP failures (offline, captive portal,
5xx, transient 429) at info to keep noise down on the default
filter; deserialise failures at warn since they signal a contract
violation worth surfacing immediately. (Full Result restructuring
would cascade through the UI’s banner code; the structured logs
give the same triage signal at lower cost.)