pub fn is_valid_transition(from: RunState, to: RunState) -> boolExpand description
Checks if a transition from from to to is valid.
Valid transitions:
- Scheduled -> Ready
- Scheduled -> Canceled
- Ready -> Leased
- Ready -> Canceled
- Leased -> Running
- Leased -> Ready (lease expired)
- Leased -> Canceled
- Running -> RetryWait (failure with retries remaining)
- Running -> Suspended (preempted by budget exhaustion)
- Running -> Completed (success)
- Running -> Failed (failure, no retries remaining)
- Running -> Canceled
- RetryWait -> Ready (backoff complete)
- RetryWait -> Failed (no more retries)
- RetryWait -> Canceled
- Suspended -> Ready (budget replenished / explicit resume)
- Suspended -> Canceled
Terminal states (Completed, Failed, Canceled) have no valid transitions.