Explicit run lifecycle state machine for the Squid Mesh runtime.
The runtime coordinator and the later Jido-backed executor should consume this module as the single source of truth for valid run-state transitions. It defines the workflow run lifecycle without mixing in step execution or persistence concerns.
Summary
Functions
Returns the states that may be reached directly from the current state.
Reports whether a transition is valid.
Reports whether the runtime may schedule another step while the run is in the given state.
Returns all valid run states.
Reports whether a state is terminal.
Validates a requested state transition.
Types
@type state() :: SquidMesh.Run.status()
Functions
Returns the states that may be reached directly from the current state.
Reports whether a transition is valid.
Reports whether the runtime may schedule another step while the run is in the given state.
@spec states() :: [state()]
Returns all valid run states.
Reports whether a state is terminal.
@spec transition(state(), state()) :: {:ok, state()} | {:error, transition_error()}
Validates a requested state transition.