Class WorkflowNode
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.
- 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.
- 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.