Skip to content

Workflows & states

The state machines are code-defined on the control plane, one per workflow id, and a ticket's workflow field selects one. This page is the tables; the narrative is on The ticket lifecycle.

Claimable marks the states a conductor may dispatch. Every non-terminal ticket state is claimable; done and cancelled are terminal and have no outgoing transition.

gaia_feature

StateClaimable
qualificationyes
specyes
codingyes
reviewyes
done— terminal
cancelled— terminal
TransitionFromTo
qualifyqualificationspec
requalifyspec, codingqualification
to_codingspec, reviewcoding
to_reviewcodingreview
finishreviewdone
cancelqualification, spec, coding, reviewcancelled

gaia_bug

StateClaimable
qualificationyes
diagnoseyes
codingyes
reviewyes
done— terminal
cancelled— terminal
TransitionFromTo
qualifyqualificationdiagnose
requalifydiagnose, codingqualification
to_codingdiagnose, reviewcoding
to_reviewcodingreview
finishreview, codingdone
cancelqualification, diagnose, coding, reviewcancelled

Review is optional: finish may leave coding directly.

gaia_chore

StateClaimable
qualificationyes
specyes
codingyes
reviewyes
done— terminal
cancelled— terminal
TransitionFromTo
qualifyqualificationspec
requalifyspec, codingqualification
to_codingspec, reviewcoding
to_reviewcodingreview
finishreview, codingdone
cancelqualification, spec, coding, reviewcancelled

Review is optional, as for a bug.

gaia_deployment

StateClaimable
pre_deploymentyes
post_deploymentyes
done— terminal
cancelled— terminal
TransitionFromTo
deploypre_deploymentpost_deployment
finishpost_deploymentdone
cancelpre_deployment, post_deploymentcancelled

A deployment ticket carries the release batch — the tickets it delivers — in referenced_tickets.

gaia_verification

StateClaimable
verifyingyes
summaryyes
done— terminal
cancelled— terminal
TransitionFromTo
to_summaryverifyingsummary
finishsummarydone
cancelverifying, summarycancelled

gaia_run

The run's own workflow. No run state is claimable — runs are not dispatched, they are the dispatch.

StateMeaning
claimedthe lease is granted; the agent has not started
runningthe agent session is up
donethe ticket's state write retired the run
expireda claimed run whose lease lapsed before the agent started
faileddispatch or setup threw; the cause is in the run's error_log
TransitionFromTo
startclaimedrunning
finishclaimed, runningdone
expireclaimedexpired
failclaimed, runningfailed

done, expired and failed are terminal. A running run is never expired automatically: its lease says nothing about liveness once the agent has started. expired and failed runs do not count toward a conductor's capacity and do not block re-claiming the ticket.

Next