Table of Contents

Namespace Millrace.Workflows

Classes

ActivityContext<TData>

What an activity is given when it runs.

SagaState

What a saga has done so far, and therefore what it would have to undo.

WorkflowCursor

The engine's position in a graph, persisted alongside the data document.

WorkflowDefinition

A compiled workflow definition: the exported shape plus the runtime bindings that shape omits.

WorkflowDefinition<TData>

A compiled definition over a known data type.

WorkflowGraph

The serializable shape of a workflow definition — what the dashboard draws and a future designer edits.

WorkflowJoin

One open fan-out: how many branches are still running, and where to go after.

WorkflowNode

One node of the exported graph shape.

WorkflowRegistry

The registered definitions, keyed by (Id, Version).

WorkflowWait

Where a suspended instance continues when its signal arrives, or its wait times out.

Interfaces

IActivity<TData>

One unit of work in a workflow. Ordinary code with constructor DI — no determinism constraints apply, because progress is checkpointed rather than replayed (ARCHITECTURE.md §6.2).

IJobFailureObserver

Lets a layer above react when the substrate dead-letters a job, by contributing work that commits with that job's own terminal transition.

ISagaBuilder<TData>

The steps of a Saga(Action<ISagaBuilder<TData>>), each optionally undoable.

IWorkflowBuilder<TData>

The code-first fluent surface a definition builds itself with (ARCHITECTURE.md §6.1).

IWorkflowClient

Starts and inspects workflow instances (ARCHITECTURE.md §6).

IWorkflowDispatcher

The job target every workflow activity, resume and timeout runs through.

IWorkflow<TData>

A workflow definition: registered code, keyed by Id and Version.

Enums

CompensationRecovery

What an operator does about a compensation that failed (§11.30).

NestedSagaPolicy

What becomes of a nested saga that has already committed, when the saga around it unwinds (§11.35).

StepFailurePolicy

What a saga step does when its retries are exhausted (§6.4).

WorkflowNodeKind

The node vocabulary of a workflow graph (ARCHITECTURE.md §6.1).