Sources checking…
System status

Sources

Every upstream feed, reporting its own health.

GET /api/v1/sources

Boardone row per upstream feed, unhealthy first · poll → last success → freshness

Every event and every layer traces to one of these feeds. For each you get the poll interval, the last successful fetch, how close it is to going STALE, the staleness thresholds and the last error verbatim — the honest-freshness contract, exposed. A feed that fails says so; absence of data is never shown as an all-clear.

Loading /api/v1/sources…

Display the attribution string wherever you render a source's data, and link the upstream. Every row above carries one.