Table of Contents

Class WorkflowNode

Namespace
Millrace.Workflows
Assembly
Millrace.dll

One node of the exported graph shape.

public sealed record WorkflowNode : IEquatable<WorkflowNode>
Inheritance
WorkflowNode
Implements
Inherited Members

Remarks

This is the shape, not the behaviour: it carries names, structure and edges, but no delegates. That is what makes it serializable, and it is what the dashboard renders today and a designer would edit post-1.0 (N1). Runtime bindings — condition predicates, collection selectors, signal binders — live beside the graph in the compiled definition and never serialize.

Node ids are generated deterministically from build order, so the same Build produces the same ids in every process. Cursors persisted by a running instance reference these ids, so stability is a correctness requirement, not a convenience.

Properties

ActivityType

Activity type name, for Activity.

Body

Entry node of the body, for ForEach.

Branches

Entry node of each branch, for Parallel.

Collection

Rendered text of the collection selector, for display.

Compensation

The activity that undoes this one, for a step inside a Saga.

Condition

Rendered text of the predicate, for If — for display only. The executable predicate is a binding, not part of the shape.

Delay

Duration, for Delay.

Id

Identifies the node within its graph.

Kind

What kind of node this is, which decides how the engine advances past it.

Nesting

For a Saga nested inside another saga: what happens to this one once it has committed, if the saga around it later unwinds (§11.35).

Next

The next node in this sequence; null ends the sequence.

OnFailure

What happens when this step exhausts its retries (§6.4, §11.28).

PayloadType

Payload type name, for WaitForSignal.

SagaId

The saga this node belongs to, assigned at compile time by walking each saga's body.

SignalName

Signal name, for WaitForSignal.

Timeout

Optional timeout after which a wait gives up.

WhenFalse

Entry node of the false branch; null when there is no else.

WhenTrue

Entry node of the true branch.