Interface adapter for execution persistence and checkpoint storage.
The stem runtime is shared across tenants; persistence must remain tenant-scoped.
Summary
Callbacks
@callback get_execution(WorkflowStem.Types.tenant_id(), WorkflowStem.Types.execution_id()) :: {:ok, map()} | {:error, term()}
@callback list_executions(WorkflowStem.Types.tenant_id(), map()) :: {:ok, [map()]} | {:error, term()}
@callback save_checkpoint( WorkflowStem.Types.tenant_id(), WorkflowStem.Types.execution_id(), map() ) :: {:ok, map()} | {:error, term()}
@callback save_execution(WorkflowStem.Types.tenant_id(), map()) :: {:ok, map()} | {:error, term()}