Runs
A Run is one execution of a Task or Actor. It records the pinned Deployment and entrypoint, attached Workspace, cause, metadata, tags, attempt state, telemetry, and terminal output or failure. Actor Runs also identify their Session.
| Status | Meaning |
|---|---|
queued |
Waiting for execution capacity. |
running |
Preparing or executing an attempt. |
waiting |
Durably parked on input, a Token, or a timer. |
retry_delayed |
Waiting for retry backoff. |
cancel_requested |
Cancellation was accepted but has not converged. |
succeeded |
Finished with an output. |
failed |
Application execution failed. |
cancelled |
Cancellation reached a terminal state. |
expired |
Queued TTL elapsed before execution. |
system_failed |
Helmr could not safely continue execution. |
A Run is pinned to the Deployment chosen at start. Promoting newer code does not rewrite the existing Run’s authority. Its Workspace is a separate durable resource and can survive the Run.
An attempt number begins when a worker leases execution. Retries may increment the task attempt while dispatch redelivery remains a separate internal mechanism. Log and event records include attempt provenance so repeated execution is observable.
Run logs contain stdout, stderr, and structured log records. Run events capture lifecycle and wait decisions. Actor output is not telemetry and belongs to the Session output log.
The client can retrieve and list Runs, request cancellation, wait for a typed
handle, and page logs or events. Waiting returns a success/failure result;
.unwrap() returns output or throws the Run failure. Cancellation is a request
for convergence, not proof that the workload stopped at the instant of the API
response.