Table of Contents

Interface IFlowGraphPlanner

Namespace
FlowOrchestrator.Core.Execution
Assembly
FlowOrchestrator.Core.dll

Analyses a flow's step dependency graph (DAG) to determine execution order, validate structural correctness, and evaluate runtime state.

public interface IFlowGraphPlanner

Methods

CreateEntrySteps(ITriggerContext)

Returns all entry steps (steps with no runAfter dependencies) as ready-to-enqueue IStepInstance objects.

IReadOnlyList<IStepInstance> CreateEntrySteps(ITriggerContext context)

Parameters

context ITriggerContext

The trigger context supplying the flow definition and run metadata.

Returns

IReadOnlyList<IStepInstance>

Evaluate(IFlowDefinition, IReadOnlyDictionary<string, StepStatus>)

Evaluates the current runtime state of a flow run and categorises every known step as Ready, Blocked, or Waiting.

FlowGraphEvaluation Evaluate(IFlowDefinition flow, IReadOnlyDictionary<string, StepStatus> statuses)

Parameters

flow IFlowDefinition

The flow definition to evaluate.

statuses IReadOnlyDictionary<string, StepStatus>

A snapshot of step statuses already recorded for the run. Steps absent from this map are considered not-yet-started.

Returns

FlowGraphEvaluation

A FlowGraphEvaluation grouping step keys by their current readiness.

Validate(IFlowDefinition)

Validates the structural correctness of the flow manifest's step graph at startup. Checks for missing entry steps, unresolvable dependencies, and dependency cycles.

FlowGraphValidationResult Validate(IFlowDefinition flow)

Parameters

flow IFlowDefinition

The flow definition to validate.

Returns

FlowGraphValidationResult

A FlowGraphValidationResult with a list of error messages. IsValid is true when the list is empty.