Core concepts
Status lifecycle
How a run moves from queued to a terminal state.
A run moves through these states:
| Status | Meaning |
|---|---|
queued | Created and waiting for a worker (or for a concurrency slot). |
running | An agent is actively working on it. |
done / completed | The step finished successfully. |
merged | The PR was merged (terminal, success). |
failed | The step errored or a gate rejected with no path forward. |
cancelled | You cancelled it. |
Terminal states are merged, done/completed, failed, and cancelled.
Queued vs. paused
A run can sit in queued for two reasons:
- It's simply waiting for the next free worker.
- Your org is at its concurrency limit — the run is paced (re-queued), not failed, and starts automatically when a slot frees. You'll see a note on the run and, for Linear-triggered runs, a comment on the issue.
Following completion
premia run "…" --wait and premia runs logs <id> --follow both block until the run
and all its children reach a terminal state, then exit with a code that reflects
success or failure — handy in CI.