Runs and delivery health
What incomplete, suspended, and degraded mean in the Runs list, and what to do about each.
You opened Runs and a row says incomplete. Or a run has been suspended for an hour. Or the delivery chip is stuck on unknown. None of these are UI bugs: they are truthful statements about what telemetry the local server actually observed. Here is what each status means and what to do.
Run status
Status describes the run's lifecycle. A logical run can span multiple physical segments (process, isolate, or invocation) when it suspends and resumes.
| Status | Kind | Meaning |
|---|---|---|
running | Live | The only live state. Work is in progress in at least one open segment. |
suspended | Durable pause | Non-terminal. Waiting on a signal, event, or timer; may resume later in a new segment. |
ok | Terminal | Completed successfully. |
error | Terminal | Completed with a thrown / failed outcome. |
cancelled | Terminal | Explicitly cancelled. |
incomplete | Terminal (reconciled) | Telemetry ended without a clean run:end; most often the host froze or exited before flushing. |
conflicted | Terminal (reconciled) | Stored terminal evidence or trace identity conflicts; identity could not be resolved. |
What to do:
incomplete: the run may have succeeded but its process exited before reporting a terminal status. Bind the host lifecycle wrappers from Runtime setup sorun:endactually lands before the worker freezes.suspended: nothing is wrong; the run is durably waiting. It resolves when the resuming invocation callsobserve.resumeRun()and eventually ends the run.conflicted: two different terminal records (or two logical runs behind one trace alias) were observed. Fix the identity conflict at the source; the server never overwrites the first terminal record.
Fix the underlying flush, host lifecycle, or identity conflict when you need a cleaner terminal status; do not try to "force green" client-side. More diagnosis paths: Troubleshooting.
Delivery health
Delivery health is an independent axis: it describes whether telemetry for the run was observed cleanly, not whether the run succeeded.
| Status | Chip | Meaning |
|---|---|---|
unknown | muted | Default whenever the server cannot prove clean delivery. Never treated as healthy. |
healthy | ok | Clean terminal run with causal ordering and no gaps, conflicts, or rejected delivery. |
degraded | warn | Some telemetry records were rejected or delivery could not complete cleanly. |
A still-running run stays unknown; a process that never connected stays unknown. The server never invents healthy. The exact promotion conditions, segment/ordering signals, and the plain-language UI copy for every state live in the Observability reference.
Filtering Runs by definition
Catalog View N runs opens Runs pre-filtered to one definition id. See Catalog runtime evidence.
Host lifecycle and incomplete runs
Ephemeral hosts that return before flushing the delivery queue commonly produce incomplete or long-lived running presentation until reconciliation. Use the host wrappers documented under Runtime setup so run:end / span:end actually land.
Related
- Catalog runtime evidence
- Runtime setup
- Troubleshooting
- Observability reference, segments, receipts, flush results