Skip to content

Concepts

Runs and evaluations

A run executes a set of tasks on desktops from the console and records every attempt with its verifier result.

A run is a managed batch: the console starts desktops on your worker host, plays a policy on a set of tasks, verifies every attempt and stops at a budget or time cap. You create runs in the console under Runs > New run, or submit the same document with POST /v1/runs (scope runs:write) and read them with GET /v1/runs (scope runs:read); the MCP server's create_run and get_run tools and the SDK's client.create_run(), client.runs() and client.run() use those routes.

Kinds

KindWhat it isStatus in this version
Scripted test (scripted_test)Replays a fixed keystroke recipe, not a model. Proves the pipeline (desktops, verifier, recording) end to endAvailable, for the OSWorld tasks that have a recipe (3 today)
Evaluation (evaluation)Plays a model endpoint (OpenAI-compatible, tool calls) on the tasks and records each attempt's verifier resultNot offered yet: no model evaluation has been verified end to end on this deployment. It needs a model endpoint and key placed on the worker by the platform operator
TrainingGradient updatesNot offered in this version; refused by the API and the database

To evaluate a model now, drive the desktops from your own code: Evaluate a model on OSWorld tasks shows the loop with the SDK, and prime-rl and verifiers shows the verifiers adapter. A scripted test is always labelled as a scripted test, never as model results.

What a run specifies

The New run wizard has five steps: Workload, Environment, Execution, Budget, Review & launch.

SettingRangeWizard default
Tasks1 to 366 task ids from a task set
TemplateA published template version for your host
Parallel copies per task1 to 8 (and at most the workspace's run parallelism)1
Fork copies1 to 8; a fork needs at least one prefix step1
Prefix steps0 to 20 actions before the fork0
Max steps1 to 50 per attempt15
Rounds1 to 501
Spend capmeasured compute cost, required
Time cap1 to 1440 minutes30
Stop after valid rolloutsoptional target

The review step shows the exact request; submitting returns the run in its queued state.

Statuses and stop reasons

A run moves through queued, preparing, running, verifying and ends completed, failed or cancelled (cancelling and recovering are transitional). Cancel is available to the run's creator, admins and owners. A run records why it stopped:

Stop reasonMeaning
all_tasks_doneEvery attempt finished
verified_target_reachedThe "stop after valid rollouts" target was met
budget_exceededThe run's spend cap was reached
time_cap_reachedThe run's time cap was reached
workspace_budget_exceededThe workspace spend cap was reached
cancelled_by_user, cancelled_by_operatorCancelled
worker_lost, infrastructure_failure, config_rejectedThe run could not continue

Attempts

Every attempt (one task on one desktop) is recorded with three separate columns, so an infrastructure problem is never mistaken for a model failure:

ColumnValues
Statusqueued, running, verifying, done, error, cancelled
VerifierValid, Invalid, Not checked
OutcomeSuccess (valid and score at least 1.0), Fail (valid, not solved), or — when the episode was not valid

Each attempt also keeps its reward, invalid reasons, checker error, step count, duration and the computer it ran on. The run detail page has tabs for overview, rollouts, computers, metrics, events and configuration, and Export provenance downloads the run's manifest. Measured compute cost is recorded per run, not per attempt.