Synapse.Workflow.Engine (Synapse v0.1.1)

View Source

Executes declarative workflow specs (see Synapse.Workflow.Spec).

The engine evaluates dependencies, handles step-level retries, emits telemetry ([:synapse, :workflow, :step, :*]), and surfaces structured audit trails for both success and failure scenarios.

Summary

Types

Failed workflow execution payload

Successful workflow execution payload

Functions

Executes a workflow spec with the provided :input and :context maps.

Types

failure_t()

@type failure_t() :: %{
  failed_step: atom(),
  error: term(),
  attempts: pos_integer(),
  results: map(),
  audit_trail: map()
}

Failed workflow execution payload

success_t()

@type success_t() :: %{results: map(), outputs: map(), audit_trail: map()}

Successful workflow execution payload

Functions

execute(spec, opts \\ [])

@spec execute(
  Synapse.Workflow.Spec.t(),
  keyword()
) :: {:ok, success_t()} | {:error, failure_t()}

Executes a workflow spec with the provided :input and :context maps.