From cd02439ca9502eacc141712d33b211c74746fe6f Mon Sep 17 00:00:00 2001 From: Lukas May Date: Mon, 2 Feb 2026 13:32:24 +0100 Subject: [PATCH] feat(14-02): add phase domain events - PhaseQueuedEvent for tracking phases awaiting execution - PhaseStartedEvent for phase execution start - PhaseCompletedEvent for phase completion with success flag - PhaseBlockedEvent for blocked phases with reason --- src/events/types.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/src/events/types.ts b/src/events/types.ts index 9f568c7..1364480 100644 --- a/src/events/types.ts +++ b/src/events/types.ts @@ -240,6 +240,45 @@ export interface TaskBlockedEvent extends DomainEvent { }; } +/** + * Phase Events + */ + +export interface PhaseQueuedEvent extends DomainEvent { + type: 'phase:queued'; + payload: { + phaseId: string; + initiativeId: string; + dependsOn: string[]; + }; +} + +export interface PhaseStartedEvent extends DomainEvent { + type: 'phase:started'; + payload: { + phaseId: string; + initiativeId: string; + }; +} + +export interface PhaseCompletedEvent extends DomainEvent { + type: 'phase:completed'; + payload: { + phaseId: string; + initiativeId: string; + success: boolean; + message?: string; + }; +} + +export interface PhaseBlockedEvent extends DomainEvent { + type: 'phase:blocked'; + payload: { + phaseId: string; + reason: string; + }; +} + /** * Merge Coordination Events */ @@ -308,6 +347,10 @@ export type DomainEventMap = | TaskDispatchedEvent | TaskCompletedEvent | TaskBlockedEvent + | PhaseQueuedEvent + | PhaseStartedEvent + | PhaseCompletedEvent + | PhaseBlockedEvent | MergeQueuedEvent | MergeStartedEvent | MergeCompletedEvent