Is my fleet alive?
Twenty scheduled agents and one question: did they run? Not "did the config change" — the Updated timestamp on an agent card tells you that — but whether the agent actually executed on schedule, how it went, and whether one has quietly stopped.
The freshness line
Every card on Agents carries a second footer line, read from the agent's real run history rather than its configuration:
Last run 42 min ago · completed next due in 5 h 18 min
Last run 7 h ago · degraded OVERDUE
Never run next due in 12 min
| Piece | Meaning |
|---|---|
| Last run | started_at of the most recent execution of this agent (any trigger — schedule, API, chat). |
| status | That run's status — completed, degraded, or failed — using the same three states as the run page. |
| next due | The next fire time of the agent's enabled schedule, computed from its cron. |
| OVERDUE | The schedule is enabled, the next fire time has passed, and it has stayed passed for more than one schedule interval. A run that is a few minutes late (worker backlog, stagger) is not overdue; one that missed a whole cycle is. |
| Never run | The agent has a schedule but no execution has ever been recorded. Usually a schedule that was created disabled, or a worker that never picked it up. |
Use the status filter's overdue value to see only the agents that need attention.
Where the numbers come from
The list endpoint returns one run_freshness object per agent, computed in a single grouped query so a 200-agent list costs the same as a 2-agent one:
GET /api/v1/tenant-agents/
{
"name": "ops.sre.otlp-debugger",
"run_freshness": {
"last_run_at": "2026-09-09T14:02:11Z",
"last_run_status": "degraded",
"cron": "0 */6 * * *",
"next_due_at": "2026-09-09T18:00:00Z",
"overdue": false
}
}
overdue is computed server-side with the grace rule above, so a dashboard, a script and the UI all agree on what "late" means.
The dogfood fleet view
Platform operators see the same signal on the fleet's Mission Control roster: each agent shows ran ‹when› next to its status dot, never run when its schedule has never fired, and an amber overdue pill under the same one-interval grace rule. The per-agent page's schedule rail shows the cadence itself.
What to do with an overdue agent
- Open the agent → Executions. If the last run is failed, the run page's outcome header and the AI narrator say why.
- If there is no recent run at all, check the schedule is enabled and the worker is healthy (the config doctor covers the keys and providers the agent needs).
- If runs exist but are all degraded, the Couldn't do list on the run header names the read or provider that keeps failing.
Where to go next
- Reading the run page — the outcome header and the three run statuses.
- Config health: the doctor — when the agent can't run at all.