Files
git.stella-ops.org/docs/features/checked/taskrunner/taskrunner-loop-and-conditional-step-kinds.md
2026-02-14 09:11:48 +02:00

1.9 KiB

TaskRunner Loop and Conditional Step Kinds

Module

TaskRunner

Status

IMPLEMENTED

Description

Extended TaskRunner execution engine with loop and conditional step types, enabling iterative and branching task execution patterns beyond simple sequential flows.

Implementation Details

  • Step state machine: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs -- manages step state transitions including loop and conditional steps
  • Execution graph: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs -- DAG supports loop and conditional edges
  • Graph builder: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs -- builds graphs with loop/conditional nodes
  • Expressions: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Expressions/TaskPackExpressions.cs -- expression evaluation for conditional branching
  • Manifest model: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/TaskPacks/TaskPackManifest.cs -- manifest supports loop and conditional step kind definitions
  • Processor: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs -- processes loop iterations and conditional branches
  • Tests: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunStepStateMachineTests.cs, PackRunExecutionGraphBuilderTests.cs, PackRunProcessorTests.cs
  • Source: SPRINT_0157_0001_0001_taskrunner_i.md

E2E Test Plan

  • Verify loop steps iterate the configured number of times
  • Test conditional steps branch based on expression evaluation
  • Verify loop step supports early exit on condition
  • Test nested loops and conditionals execute correctly
  • Verify execution graph handles loop back-edges without cycles