2.0 KiB
2.0 KiB
Pack Run Approval Gates
Module
TaskRunner
Status
IMPLEMENTED
Description
Approval gate system for task packs with coordinator, decision service, state tracking, and gate state updating.
Implementation Details
- Approval coordinator:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalCoordinator.cs-- orchestrates approval gate flow - Approval state:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalState.cs-- approval state tracking model - Approval status:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunApprovalStatus.cs-- approval status enum - Approval store interface:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/IPackRunApprovalStore.cs-- approval persistence contract - Gate state updater:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Core/Execution/PackRunGateStateUpdater.cs-- updates gate states during execution - Decision service:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/PackRunApprovalDecisionService.cs-- processes approval decisions - File-based store:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Infrastructure/Execution/FilePackRunApprovalStore.cs-- file-backed approval persistence - Postgres store:
src/TaskRunner/__Libraries/StellaOps.TaskRunner.Persistence/Postgres/Repositories/PostgresPackRunApprovalStore.cs-- PostgreSQL approval persistence - Tests:
src/TaskRunner/StellaOps.TaskRunner/StellaOps.TaskRunner.Tests/PackRunApprovalCoordinatorTests.cs,PackRunApprovalDecisionServiceTests.cs,PackRunGateStateUpdaterTests.cs - Source: Feature matrix scan
E2E Test Plan
- Verify approval gates block execution until approved
- Test approval coordinator handles multi-approver gates
- Verify gate state transitions (pending -> approved/rejected)
- Test approval persistence survives service restart
- Verify rejected gates prevent pack run continuation