Result reduction and completion evaluation for the operation runtime.
Applies fenced Runner results through the controller reducer, schedules retries and reconciliations for failed or ambiguous outcomes, and evaluates the deterministic completion decision after a result transition committed.
Summary
Functions
Parks the loop on a reconciliation wait for an unknowable side effect.
Applies one correlated Runner result, returning proposed start-loop intents.
Evaluates the controller completion decision for a quiescent loop.
Schedules the reconciliation operation for an ambiguous side effect.
Schedules a fenced retry wait for a recoverable failure.
Functions
@spec ambiguous_wait( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), term(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]}
Parks the loop on a reconciliation wait for an unknowable side effect.
@spec apply( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), Spectre.Operation.Result.t(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()], [map()]} | {:duplicate, Spectre.Operation.Loop.t()} | {:error, term()}
Applies one correlated Runner result, returning proposed start-loop intents.
@spec evaluate(Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), map()) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]} | {:error, term()}
Evaluates the controller completion decision for a quiescent loop.
@spec reconcile_transition( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), Spectre.Operation.Spec.t(), term(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]}
Schedules the reconciliation operation for an ambiguous side effect.
@spec retry_transition( Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), Spectre.Operation.Spec.t(), term(), non_neg_integer(), map() ) :: {:ok, Spectre.Operation.Loop.t(), Spectre.Operation.Control.t(), [map()]}
Schedules a fenced retry wait for a recoverable failure.