distri-workflow — workflow types + sidecar stores for Distri.
After the spec rewrite that unified workflow orchestration with the task system, this crate is the data layer:
- Definition — the workflow as a DAG of steps. Static template;
no runtime state. (
WorkflowDefinition,WorkflowStep). - Run-level sidecar — what a bare
Taskrow can't carry: definition snapshot, entry point, input, shared context. (WorkflowExecutionState). - Step-level sidecar — per-step status, result, error,
timestamps, and the optional
wait_task_idfor wait-style steps that need to be A2A-addressable. (WorkflowStepState). - Store trait — single CRUD surface over both sidecars
(
WorkflowStore). In-memory and Redis impls. - Trigger registry — routing index from declared workflow
triggers (webhook path / cron / event topic / tool name) back to
(agent_id, entry_point_id). (WorkflowTriggerRegistry). - In-memory runtime aggregate —
WorkflowRun+WorkflowStepRunare the transient in-process view used by the workflow agent's step driver. The driver lives indistri-core(seeagent/workflow_driver.rs) — there is noWorkflowRunner/WorkflowStateStore/InMemoryStore/EventSink/WorkflowEventparallel substrate anymore; everything flows through the canonicalTaskStore+AgentEventBroadcaster+WorkflowStoretriple.