# `WorkflowStem.Engines.FsmEngine`
[🔗](https://github.com/fosferon/workflow_stem/blob/main/lib/workflow_stem/engines/fsm_engine.ex#L1)

ALF-backed engine for `:fsm` workflows.

Phase 2: single-process deterministic runtime where per-execution state is carried
in-band through a shared static ALF pipeline (`WorkflowStem.Pipelines.Fsm`).

# `runtime`

```elixir
@type runtime() :: %{
  :execution_id =&gt; String.t(),
  :tenant_id =&gt; String.t(),
  :spec =&gt; map(),
  :current_state =&gt; atom() | String.t(),
  optional(:context) =&gt; map(),
  optional(:history) =&gt; list(),
  optional(:trace) =&gt; list(),
  optional(:blocked_reasons) =&gt; map(),
  optional(:breakpoint_hits) =&gt; list(),
  optional(:errors) =&gt; [map()],
  optional(:projection) =&gt; WorkflowStem.Projection.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
