In-memory execution store for the workflow stem.
Phase 3: this is intentionally simple and deterministic to support rapid iteration. Persistence is introduced later via the persistence adapter.
Keyed by execution_id and stores {tenant_id, workflow_handle, profile, runtime}.
Summary
Functions
Returns a specification to start this module under a supervisor.
Types
@type entry() :: %{ execution_id: WorkflowStem.Types.execution_id(), tenant_id: WorkflowStem.Types.tenant_id(), workflow_handle: WorkflowStem.Types.workflow_handle(), profile: WorkflowStem.Types.profile(), runtime: WorkflowStem.Types.runtime() }
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec delete(WorkflowStem.Types.execution_id()) :: :ok
@spec ensure_started() :: :ok
@spec fetch(WorkflowStem.Types.execution_id()) :: {:ok, entry()} | {:error, :not_found}
@spec list(WorkflowStem.Types.tenant_id()) :: [entry()]
@spec put(entry()) :: :ok