Extraction Run Status
Where an extraction run stands.
These are the four values, and only the values. Which transitions are legal, which are compare-and-set, and what a store does with a repeated terminal write all belong to the run store contract that lands with DICE #67's next slice. Nothing here encodes a transition rule, so the state machine has one place to define them.
MLflow's run status carries five values — RUNNING, SCHEDULED, FINISHED, FAILED, KILLED. DICE has four for two reasons. There is no scheduler, so nothing can observe a run between "requested" and "started" and SCHEDULED would never be written. And a run stopped from outside is recorded as CANCELLED, because the fact an operator or an audit cares about is that the run stopped short of its products, which is the same fact whichever side pressed stop.
EXPERIMENTAL. The shape may still change while extraction runs (DICE #67) land.
Entries
The run stopped before finishing, by request or by external termination. This is also the abandonment path for a partially successful run nobody intends to finish: its outstanding products stay outstanding behind it, and recovery goes through a new run linked by parent or superseded reference.
Functions
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
Returns an array containing the constants of this enum type, in the order they're declared.