save checkpoint
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user