export type WaveUnitStatus = 'pending' | 'running' | 'done' | 'failed' | 'skipped'; export interface PromptDigest { sha256: string; head: string; byteLen: number; } export interface WaveUnit { id: string; status: WaveUnitStatus; promptDigest: PromptDigest; cwd: string | undefined; model: string; startedAt: string | undefined; settledAt: string | undefined; errorMessage: string | undefined; upstreamIds: string[]; worktreePath: string | undefined; } export interface WaveManifest { version: 1; waveId: string; parentSessionId: string; traceLabel: string | null; createdAt: string; updatedAt: string; expiresAt: string; offeredAt?: string; source: 'agent-tool' | 'compose-dag' | 'skill-fanout'; units: WaveUnit[]; }