Docs / Runs

Runs

A run is one execution attempt for a session. It records the pinned deployment, pinned deployment task, task ID, payload, task-declared secret requirements, attached workspace, max duration, status, output, logs, stream output, events, metadata, and pending wait.

A run does not own the workspace. The session references a workspace, and each run executes against that attached workspace.

Statuses

StatusMeaning
queuedThe run is waiting for a worker.
runningA worker has started or is executing the run, including workspace preparation.
waitingThe task is paused for stream input, token completion, or a timer.
succeededThe task completed successfully.
failedThe task failed or exceeded a limit.
cancelledThe run was cancelled.
expiredThe queued run TTL expired before execution started.

Workspace Attachment

Starting a task creates or reuses a session, and that session is attached to a workspace. The run receives the workspace mount metadata and executes the task inside the sandbox workspace path.

If no workspace is supplied, Helmr creates one using the deployed task’s sandbox definition. If a workspace is supplied, Helmr validates that the task’s sandbox is compatible with the workspace before running.

Direct workspace operations such as exec and PTY are not runs. They have their own workspace handles and stream state.

Duration

Run duration is limited. The default is 900 seconds, and accepted limits are 5 to 86400 seconds. A task can declare maxDuration; callers can also pass a max duration option when starting a task.

Attempts

A run has no attempt number while it is only queued. When a worker leases the run, Helmr assigns the current task attempt number, starting at 1. Worker lease retries and queue redelivery use a separate dispatch attempt counter and do not change the task attempt number.

The attempt number is the task execution attempt identity used by run logs, events, and worker execution records.

Inspecting Runs

helmr run list
helmr run get RUN_ID
helmr run logs RUN_ID
helmr run events RUN_ID

The SDK client can retrieve, list, wait for, and stream run events. Run logs are stored as stdout and stderr snapshots; events include logs, waits and decisions, stream output records, metadata updates, completion, failures, queued expiry, and cancellation.