Phase 14: Parallel Phase Execution - 8 plans in 5 waves - 4 parallel in Wave 1, 3, 5 - Adds phase_dependencies schema (mirrors task_dependencies) - PhaseDispatchManager port and adapter - tRPC procedures and CLI commands - Unit tests and E2E tests
2.8 KiB
phase, plan, type, wave, depends_on, files_modified, autonomous
| phase | plan | type | wave | depends_on | files_modified | autonomous | |||
|---|---|---|---|---|---|---|---|---|---|
| 14-parallel-phase-execution | 05 | execute | 3 |
|
|
true |
Purpose: Expose phase dependency and dispatch operations via API. Output: tRPC procedures for creating dependencies and managing phase queue.
<execution_context>
@/.claude/get-shit-done/workflows/execute-plan.md
@/.claude/get-shit-done/templates/summary.md
</execution_context>
Reference implementations:
@src/trpc/router.ts @src/trpc/context.ts
Task 1: Add PhaseDispatchManager to tRPC context src/trpc/context.ts Add optional phaseDispatchManager to AppContext: - phaseDispatchManager?: PhaseDispatchManagerImport PhaseDispatchManager from dispatch module. Follow same pattern as agentManager (optional, undefined by default). npx tsc --noEmit passes PhaseDispatchManager available in tRPC context
Task 2: Add phase dependency and dispatch procedures src/trpc/router.ts Add procedures under existing phase group:createPhaseDependency:
- input: { phaseId: string, dependsOnPhaseId: string }
- validates both phases exist
- calls phaseRepository.createDependency()
- returns { success: true }
getPhaseDependencies:
- input: { phaseId: string }
- returns { dependencies: string[] } from phaseRepository.getDependencies()
Add new phase dispatch procedures:
queuePhase:
- input: { phaseId: string }
- requires phaseDispatchManager
- calls phaseDispatchManager.queuePhase()
- returns { success: true }
dispatchNextPhase:
- no input
- requires phaseDispatchManager
- calls phaseDispatchManager.dispatchNextPhase()
- returns PhaseDispatchResult
getPhaseQueueState:
- no input
- requires phaseDispatchManager
- returns queue state
Follow existing router patterns for error handling and input validation. npx tsc --noEmit passes Phase dependency and dispatch procedures available via tRPC
Before declaring plan complete: - [ ] `npm run build` succeeds without errors - [ ] `npm test` passes all tests - [ ] New procedures type-check correctly<success_criteria>
- All tasks completed
- All verification checks pass
- Procedures follow existing naming conventions
- Error handling consistent with other procedures </success_criteria>