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
contextITriggerContextThe trigger context supplying the flow definition and run metadata.
Returns
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
flowIFlowDefinitionThe flow definition to evaluate.
statusesIReadOnlyDictionary<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
flowIFlowDefinitionThe flow definition to validate.
Returns
- FlowGraphValidationResult
A FlowGraphValidationResult with a list of error messages. IsValid is true when the list is empty.