Skip to Content
kusaw docsv1.0.0

Statuses, outcomes, and exit codes

Run states, step outcomes, typed reason codes, and CLI exit codes, generated from the enumerations in the factory binary.

Statuses, outcomes, and exit codes

Run states, step outcomes, typed reason codes, and CLI exit codes, generated from the enumerations in the factory binary.

Run states

StateDescriptionUser transitions
queuedWaiting to start.stop_run
runningPipeline steps are in progress.stop_run
waiting_for_humanStopped at a gate for a person to approve or reject.approve, reject, stop_run
finalizingRunning finally steps after the pipeline decided an outcome.stop_run
succeededThe run finished successfully.—
failedThe run finished with a failure.requeue, restart
rejectedA step rejected the work.—
stoppedStopped by a person or the watchdog.requeue, dismiss, restart
needs_attentionFinished in a state that needs a person.dismiss, requeue, resume_failed, restart

Step outcomes

OutcomeDescription
okThe step finished successfully.
failThe step failed.
retryThe step asked to be tried again.
rejectThe step rejected the work.
skippedThe step did not run.
killedThe factory stopped the step.

Reason codes

CodeDescription
okThe step finished successfully.
unclear_specThe spec is too unclear to implement.
unclear_planThe Work order plan has problems that block it.
tests_failedTests still fail after the change.
no_red_testThe step could not produce a failing test first.
review_findingsReview reported findings that block the step.
verification_failedVerification commands did not pass.
no_changesThe step made no changes.
nothing_to_learnThe retro step found nothing to propose.
not_confirmedA person did not confirm the work.
timeoutThe step ran past its time limit.
protocol_errorThe step broke the step protocol.
protocol_versionThe step does not speak a protocol version this factory accepts.
crashedThe step process crashed or could not start.
retries_exhaustedRetries ran out.
rate_limitedAn upstream model or API rate-limited the step.
usage_limitA provider usage limit is reached; the run is suspended until the window has room.
model_errorThe model returned an error.
dependency_missingA required command or tool is missing.
permission_deniedThe process was not allowed to run.
worktree_modifiedThe worktree was modified outside the step.
repo_modifiedThe repo was modified outside the step.
budget_exhaustedThe run spent its dollar budget.
bad_conditionA when-condition could not be evaluated.
not_implementedThis built-in step is not implemented yet.
worktree_dirtyThe worktree had uncommitted changes.
nothing_to_deliverThe branch has no changes against its base.
git_errorA git command failed.
deliver_restore_failedDelivery failed and the branch could not be restored.
bad_requestThe step request was invalid.
command_env_failedThe repo's command environment failed.
check_errorA milestone check could not run.
secret_missingA declared secret has no stored value.
secret_unavailableThe secret store backend is not available.
secret_not_declaredThe handshake listed a secret the step env does not declare.
provider_not_allowedThe step's provider is no longer allowed on this machine.
output_invalidThe step did not return JSON that matches its output schema.
effects_invalidThe step returned effects that failed validation, so none were applied.
effects_failedAn effect applier failed; remaining effects were skipped.
effects_awaiting_approvalOutside effects are waiting for kusaw effects apply or reject.
plan_invalidThe planner returned a plan the factory refused.
ownership_violationA subtask changed files it does not own.
gather_conflictGathering a subtask conflicted with work already on the parent.
no_candidate_passedNone of the candidates passed verify, so nothing was delivered.
wrong_workflowThe step says this task belongs in another workflow.
connector_errorA connector call failed, or required connector context could not be loaded.
connector_needs_inputA connector tool asked for input the factory does not collect.
connector_tool_changedA connector tool changed since it was last checked.
tracker_item_closedThe tracker item was closed while this run was going.
signing_failedSigning a delivered commit failed.
signing_lockedThe signing key was locked, so the run could not start or parked at the signing gate.
git_control_modifiedA step changed git control files; they were put back.
git_control_restore_failedA step changed git control files and the factory could not put them back.
ports_exhaustedNo free port block remained for this worktree set.
service_failedA declared service exited early or was not ready in time.

CLI exit codes

CodeNameDescription
0okSuccess.
1errorRuntime error.
2usageUsage or validation error.
3rejectedControl request rejected; the error string is printed verbatim.
4not picked upControl request not picked up within the wait time while serve runs.

On this page