Files
git.stella-ops.org/docs/features/unchecked/taskrunner/pack-run-execution-engine.md

3.1 KiB

Pack Run Execution Engine

Module

TaskRunner

Status

IMPLEMENTED

Description

Full execution engine with graph-based execution planning, step state machine, and processor for running task packs.

Implementation Details

  • Processor: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessor.cs -- main execution engine processor
  • Processor result: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunProcessorResult.cs -- execution result model
  • Execution graph: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraph.cs -- DAG-based execution planning
  • Graph builder: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionGraphBuilder.cs -- builds execution graphs from manifests
  • Step state machine: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunStepStateMachine.cs -- state transitions for individual steps
  • Step executor interface: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunStepExecutor.cs -- step execution contract
  • Execution context: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunExecutionContext.cs -- runtime context for execution
  • State management: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunState.cs, PackRunStateFactory.cs -- execution state tracking
  • Job dispatcher: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunJobDispatcher.cs, IPackRunJobScheduler.cs -- job scheduling and dispatch
  • Simulation engine: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/Simulation/PackRunSimulationEngine.cs, PackRunSimulationModels.cs -- dry-run simulation
  • Telemetry: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/TaskRunnerTelemetry.cs -- execution metrics
  • Worker service: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Worker/Services/PackRunWorkerService.cs -- background worker
  • Infrastructure: file-based and no-op step executors, dispatchers, artifact uploaders under StellaOps.TaskRunner.Infrastructure/Execution/
  • Postgres state store: src/TaskRunner/__Libraries/StellaOps.TaskRunner.Persistence/Postgres/Repositories/PostgresPackRunStateStore.cs, PostgresPackRunLogStore.cs
  • Tests: src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunProcessorTests.cs, PackRunExecutionGraphBuilderTests.cs, PackRunStepStateMachineTests.cs, PackRunStateFactoryTests.cs, PackRunSimulationEngineTests.cs
  • Source: Feature matrix scan

E2E Test Plan

  • Verify execution graph correctly orders steps based on dependencies
  • Test step state machine transitions (pending -> running -> completed/failed)
  • Verify processor handles step failures with configured retry/abort behavior
  • Test simulation engine produces accurate dry-run results
  • Verify execution state persists across service restarts