OXYGENOxygen/ Docs
Execution

Runs

The durable record of an attempt to execute work at scale.

A run is the persistent record of one execution: a column applied to N rows, a workflow fire, an ingestion of a provider search page. Inside a run are items — one per row, per call, or per step.

Three run types

TypeCreated by
Column run (table-runs)oxygen columns run or oxygen table-runs create
Workflow runoxygen workflows call, a schedule, a webhook, or an event trigger
Ingestion run (table-ingestions)oxygen table-ingestions create-tool-page

All three share the same observability shape.

Run shape

FieldNotes
idStable run identifier
kindcolumn, workflow, ingestion
statusqueued, running, completed, succeeded, failed, paused, canceled
modesmoke_test, dry_run, live (see Modes)
triggerWhat started it (user, schedule, event, webhook)
items_totalItems in scope
items_succeeded, items_failed, items_pendingCounts
credits_used, credits_reservedCost so far
started_at, finished_atTimestamps
web_urlDeep-link to the timeline in the web app

Item shape

FieldNotes
idStable item identifier within the run
row_idThe table row, if applicable
statuspending, running, succeeded, failed, retrying, skipped
attempt_countRetry attempts so far
inputsInputs passed to the producer
outputsProducer output (provider payload, AI response, etc.)
errorFailure detail
credits_usedPer-item cost

Working with runs

oxygen runs list --json
oxygen runs get <run-id> --json
oxygen table-runs list --table <table-id> --json
oxygen table-runs get <run-id> --json
oxygen table-runs items <run-id> --json
oxygen table-runs provider-summary <run-id> --json     # per-provider breakdown
oxygen workflows runs --workflow <workflow-id> --json
oxygen workflows run <workflow-run-id> --json
oxygen workflows failures --json
oxygen observability events --json

Controlling an in-flight run

oxygen table-runs pause <run-id> --json
oxygen table-runs resume <run-id> --json
oxygen table-runs cancel <run-id> --json
oxygen workflows cancel <run-id> --json

Retrying failures

Per-item retry is built in. Only failed items re-execute:

oxygen table-runs retry-failed <run-id> --json
oxygen table-ingestions retry-failed <run-id> --json

Debugging a failed run

  1. oxygen runs get <run-id> --json — overall status and totals.
  2. oxygen table-runs items <run-id> --status failed --json — failed items only.
  3. For a failed item with a row: oxygen cells inspect <table-id> <row-id> <column> --json — full provider error and inputs (see Cells).
  4. Fix the input or change provider. Then oxygen table-runs retry-failed <run-id> --json.

Cost accounting

Credits move through four states per run:

StateTrigger
ReservedRun starts; estimated cost held against balance
CapturedItem succeeds with cost > 0
ReleasedItem fails before billing; reservation returned
GrantedPlan refill or top-up

See Billing for the credit ledger.

  • Cells — per-cell view of what one item produced.
  • Triggers — what started this run.
  • Approvals — what blocked a live run waiting on input.

On this page