---
phase: 14-parallel-phase-execution
plan: 02
type: execute
wave: 1
depends_on: []
files_modified:
  - src/events/types.ts
  - src/events/index.ts
autonomous: true
---

<objective>
Add phase lifecycle events for parallel execution coordination.

Purpose: Enable event-driven coordination of parallel phase execution.
Output: Phase domain events (queued, started, completed, blocked).
</objective>

<execution_context>
@~/.claude/get-shit-done/workflows/execute-plan.md
@~/.claude/get-shit-done/templates/summary.md
</execution_context>

<context>
@.planning/PROJECT.md
@.planning/ROADMAP.md
@.planning/STATE.md

# Reference implementations:
@src/events/types.ts
@src/events/index.ts
</context>

<tasks>

<task type="auto">
  <name>Task 1: Add phase domain events</name>
  <files>src/events/types.ts</files>
  <action>
Add phase events to DomainEventMap following task event patterns:

PhaseQueuedEvent:
- type: 'phase:queued'
- payload: { phaseId, initiativeId, dependsOn: string[] }

PhaseStartedEvent:
- type: 'phase:started'
- payload: { phaseId, initiativeId }

PhaseCompletedEvent:
- type: 'phase:completed'
- payload: { phaseId, initiativeId, success: boolean, message?: string }

PhaseBlockedEvent:
- type: 'phase:blocked'
- payload: { phaseId, reason: string }

Add to DomainEventMap:
- 'phase:queued': PhaseQueuedEvent
- 'phase:started': PhaseStartedEvent
- 'phase:completed': PhaseCompletedEvent
- 'phase:blocked': PhaseBlockedEvent
  </action>
  <verify>npx tsc --noEmit passes</verify>
  <done>Four phase events defined in DomainEventMap</done>
</task>

<task type="auto">
  <name>Task 2: Export phase events</name>
  <files>src/events/index.ts</files>
  <action>
Add exports for the four new phase event types:
- PhaseQueuedEvent
- PhaseStartedEvent
- PhaseCompletedEvent
- PhaseBlockedEvent
  </action>
  <verify>npx tsc --noEmit passes</verify>
  <done>Phase events exported from events module</done>
</task>

</tasks>

<verification>
Before declaring plan complete:
- [ ] `npm run build` succeeds without errors
- [ ] `npm test` passes all tests
- [ ] All four phase events importable from src/events
</verification>

<success_criteria>

- All tasks completed
- All verification checks pass
- Events follow existing naming pattern (phase:queued, phase:started, etc.)
</success_criteria>

<output>
After completion, create `.planning/phases/14-parallel-phase-execution/14-02-SUMMARY.md`
</output>
