Deterministic onboarding state transitions with persisted idempotency.
Summary
Types
@type transition() :: :resolve_directory | :pair_identity | :complete | :cancel
Functions
@spec allowed_transitions(atom()) :: [transition()]
Returns valid transitions for a status.
@spec transition(Jido.Messaging.Onboarding.Flow.t(), transition(), map(), keyword()) :: {:ok, Jido.Messaging.Onboarding.Flow.t(), transition_result()} | {:error, {:invalid_transition, %{ from: atom(), transition: transition(), allowed: [transition()], class: :fatal }}}
Apply a validated transition to a flow.