SquidMesh.Runtime.StepExecutor.Progression (squid_mesh v0.1.0-alpha.2)

Copy Markdown View Source

Explicit apply-phase intents for runtime progression.

Outcome builds one of these progression values after a step finishes, and the apply phase translates that intent into the locked run-store update or dispatch operation needed to advance the workflow.

Summary

Types

attrs_fun()

@type attrs_fun() :: SquidMesh.RunStore.attrs_fun()

dispatch_error_handler()

@type dispatch_error_handler() :: (term() -> :ok | {:error, term()})

t()

@type t() ::
  SquidMesh.Runtime.StepExecutor.Progression.Complete.t()
  | SquidMesh.Runtime.StepExecutor.Progression.Update.t()
  | SquidMesh.Runtime.StepExecutor.Progression.DispatchRun.t()
  | SquidMesh.Runtime.StepExecutor.Progression.DispatchSteps.t()

Functions

complete(attrs_fun)

@spec complete(attrs_fun()) :: SquidMesh.Runtime.StepExecutor.Progression.Complete.t()

dispatch_run(attrs_fun, dispatch_opts, dispatch_error_handler)

@spec dispatch_run(attrs_fun(), keyword(), dispatch_error_handler()) ::
  SquidMesh.Runtime.StepExecutor.Progression.DispatchRun.t()

dispatch_steps(attrs_fun, steps, dispatch_opts, dispatch_error_handler)

@spec dispatch_steps(attrs_fun(), [atom()], keyword(), dispatch_error_handler()) ::
  SquidMesh.Runtime.StepExecutor.Progression.DispatchSteps.t()

update(attrs_fun)

@spec update(attrs_fun()) :: SquidMesh.Runtime.StepExecutor.Progression.Update.t()