@lumenflow/initiatives 4.21.0 → 4.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,13 +17,15 @@
17
17
  * @see {@link packages/@lumenflow/cli/src/lib/initiative-yaml.ts} - Initiative loading
18
18
  * @see {@link packages/@lumenflow/cli/src/lib/dependency-graph.ts} - Dependency graph utilities
19
19
  */
20
- export type { CheckpointOptions, CheckpointModeResult, AutoCheckpointResult, SkippedWUEntry, DeferredWUEntry, ExecutionPlan, ProgressStats, BottleneckWU, WaveManifestWU, WaveManifest, CheckpointWaveResult, DependencyFilterResult, LockPolicy, LaneConfig, LockPolicyOptions, LaneAvailabilityResult, } from './orchestrator/types.js';
20
+ export type { CheckpointOptions, CheckpointModeResult, AutoCheckpointResult, SkippedWUEntry, DeferredWUEntry, ExecutionPlan, ProgressStats, BottleneckWU, CheckpointWaveResult, DependencyFilterResult, LockPolicy, LaneConfig, LockPolicyOptions, LaneAvailabilityResult, HandoffFormat, HandoffReceipt, OrchestrationArtifactBundle, OrchestrationExecutionState, OrchestrationActionType, WuExecutionEvidence, OrchestrationNextAction, ReconciledInitiativeWU, InitiativeExecutionSummary, } from './orchestrator/types.js';
21
21
  export { LOG_PREFIX } from './orchestrator/shared.js';
22
22
  export { buildExecutionPlan, buildExecutionPlanAsync, buildExecutionPlanWithLockPolicy, } from './orchestrator/execution-planning.js';
23
23
  export { CHECKPOINT_AUTO_THRESHOLDS, filterByDependencyStamps, shouldAutoEnableCheckpoint, shouldAutoEnableCheckpointAsync, resolveCheckpointMode, resolveCheckpointModeAsync, validateCheckpointFlags, buildCheckpointWave, } from './orchestrator/checkpoint.js';
24
+ export { isXmlCapableClient, renderHandoffArtifact, writeCheckpointArtifacts, writeExecutionPlanArtifacts, } from './orchestrator/artifacts.js';
24
25
  export { formatExecutionPlan, generateSpawnCommands, calculateProgress, formatProgress, getBottleneckWUs, formatCheckpointOutput, generateEmbeddedSpawnPrompt, formatTaskInvocationWithEmbeddedSpawn, formatExecutionPlanWithEmbeddedSpawns, } from './orchestrator/formatting.js';
25
26
  export { getManifestWUStatus, isWUActuallySpawned, getSpawnCandidatesWithYAMLCheck, } from './orchestrator/spawn-status.js';
26
27
  export { getLockPolicyForLane, getLaneAvailability } from './orchestrator/lane-policy.js';
28
+ export { reconcileInitiativeExecution } from './orchestrator/reconciliation.js';
27
29
  export { loadInitiativeWUs, loadMultipleInitiatives } from './orchestrator/initiative-loading.js';
28
30
  export { analyseScopeShape, formatScopeAdvisory, SCOPE_ADVISORY_THRESHOLDS, type ScopeAdvisory, type ScopeAdvisoryResult, type ScopeAdvisoryType, type ScopeAdvisorySeverity, } from './orchestrator/scope-advisory.js';
29
31
  //# sourceMappingURL=initiative-orchestrator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initiative-orchestrator.d.ts","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAGlG,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"initiative-orchestrator.d.ts","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,2BAA2B,EAC3B,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtD,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAGhF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAGlG,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,GAC3B,MAAM,kCAAkC,CAAC"}
@@ -6,12 +6,16 @@ export { LOG_PREFIX } from './orchestrator/shared.js';
6
6
  export { buildExecutionPlan, buildExecutionPlanAsync, buildExecutionPlanWithLockPolicy, } from './orchestrator/execution-planning.js';
7
7
  // ── Checkpoint ────────────────────────────────────────────────────────────────
8
8
  export { CHECKPOINT_AUTO_THRESHOLDS, filterByDependencyStamps, shouldAutoEnableCheckpoint, shouldAutoEnableCheckpointAsync, resolveCheckpointMode, resolveCheckpointModeAsync, validateCheckpointFlags, buildCheckpointWave, } from './orchestrator/checkpoint.js';
9
+ // ── Durable artifacts ────────────────────────────────────────────────────────
10
+ export { isXmlCapableClient, renderHandoffArtifact, writeCheckpointArtifacts, writeExecutionPlanArtifacts, } from './orchestrator/artifacts.js';
9
11
  // ── Formatting ────────────────────────────────────────────────────────────────
10
12
  export { formatExecutionPlan, generateSpawnCommands, calculateProgress, formatProgress, getBottleneckWUs, formatCheckpointOutput, generateEmbeddedSpawnPrompt, formatTaskInvocationWithEmbeddedSpawn, formatExecutionPlanWithEmbeddedSpawns, } from './orchestrator/formatting.js';
11
13
  // ── Spawn status ──────────────────────────────────────────────────────────────
12
14
  export { getManifestWUStatus, isWUActuallySpawned, getSpawnCandidatesWithYAMLCheck, } from './orchestrator/spawn-status.js';
13
15
  // ── Lane policy ───────────────────────────────────────────────────────────────
14
16
  export { getLockPolicyForLane, getLaneAvailability } from './orchestrator/lane-policy.js';
17
+ // ── Reconciliation / advancement ─────────────────────────────────────────────
18
+ export { reconcileInitiativeExecution } from './orchestrator/reconciliation.js';
15
19
  // ── Initiative loading ────────────────────────────────────────────────────────
16
20
  export { loadInitiativeWUs, loadMultipleInitiatives } from './orchestrator/initiative-loading.js';
17
21
  // ── Scope advisory (WU-2142/WU-2155) ────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"initiative-orchestrator.js","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AA0CzC,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAE9C,iFAAiF;AACjF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAEtC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAExC,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GAK1B,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"initiative-orchestrator.js","sourceRoot":"","sources":["../src/initiative-orchestrator.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAiDzC,iFAAiF;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,sCAAsC,CAAC;AAE9C,iFAAiF;AACjF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,EAC/B,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,gFAAgF;AAChF,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAErC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,2BAA2B,EAC3B,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,8BAA8B,CAAC;AAEtC,iFAAiF;AACjF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,+BAA+B,GAChC,MAAM,gCAAgC,CAAC;AAExC,iFAAiF;AACjF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAE1F,gFAAgF;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAEhF,iFAAiF;AACjF,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAElG,+EAA+E;AAC/E,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,GAK1B,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { type OrchestrationHandoffFormat } from '@lumenflow/control-plane-sdk';
2
+ import type { WUEntry } from '../initiative-yaml.js';
3
+ import type { CheckpointOptions, ExecutionPlan, OrchestrationArtifactBundle } from './types.js';
4
+ interface RenderedHandoffArtifact {
5
+ content: string;
6
+ extension: string;
7
+ format: OrchestrationHandoffFormat;
8
+ }
9
+ interface HandoffWU {
10
+ id: string;
11
+ doc: WUEntry['doc'];
12
+ }
13
+ export declare function isXmlCapableClient(clientName?: string): boolean;
14
+ export declare function renderHandoffArtifact(wu: HandoffWU, clientName?: string): RenderedHandoffArtifact;
15
+ export declare function writeExecutionPlanArtifacts(initId: string, allWUs: WUEntry[], plan: ExecutionPlan, options?: CheckpointOptions): OrchestrationArtifactBundle;
16
+ export declare function writeCheckpointArtifacts(initId: string, allWUs: WUEntry[], selectedWUs: WUEntry[], options?: CheckpointOptions): OrchestrationArtifactBundle;
17
+ export {};
18
+ //# sourceMappingURL=artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../src/orchestrator/artifacts.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,0BAA0B,EAEhC,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAgBhG,UAAU,uBAAuB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,0BAA0B,CAAC;CACpC;AAOD,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;CACrB;AAQD,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAiBjG;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EAAE,EACjB,IAAI,EAAE,aAAa,EACnB,OAAO,GAAE,iBAAsB,GAC9B,2BAA2B,CAG7B;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EAAE,EACjB,WAAW,EAAE,OAAO,EAAE,EACtB,OAAO,GAAE,iBAAsB,GAC9B,2BAA2B,CAO7B"}
@@ -0,0 +1,234 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * Durable artifact writing for initiative orchestration.
5
+ *
6
+ * WU-2617: Persist plan/launch/status artifacts and per-WU handoff receipts so
7
+ * orchestration can distinguish dependency waves from repeated launch attempts.
8
+ *
9
+ * @module orchestrator/artifacts
10
+ */
11
+ import { existsSync, mkdirSync, readdirSync, writeFileSync } from 'node:fs';
12
+ import { join } from 'node:path';
13
+ import { ORCHESTRATION_STATUS_VALUES, } from '@lumenflow/control-plane-sdk';
14
+ import { getAllDependencies, ORCHESTRATION_ARTIFACT_DIR } from './shared.js';
15
+ import { generateCodexPrompt, generateTaskInvocation } from '@lumenflow/core/wu-spawn';
16
+ import { SpawnStrategyFactory } from '@lumenflow/core/spawn-strategy';
17
+ const XML_CAPABLE_CLIENTS = new Set(['claude-code', 'claude']);
18
+ const ATTEMPT_PREFIX = 'attempt-';
19
+ const HANDOFFS_DIRNAME = 'handoffs';
20
+ const PLAN_FILENAME = 'plan.json';
21
+ const LAUNCH_FILENAME = 'launch.json';
22
+ const STATUS_FILENAME = 'status.json';
23
+ const MARKDOWN_EXTENSION = 'md';
24
+ const XML_EXTENSION = 'xml';
25
+ const FALLBACK_LOGICAL_WAVE = 0;
26
+ const FALLBACK_ATTEMPT = -1;
27
+ export function isXmlCapableClient(clientName) {
28
+ return clientName !== undefined && XML_CAPABLE_CLIENTS.has(clientName.toLowerCase());
29
+ }
30
+ export function renderHandoffArtifact(wu, clientName) {
31
+ const resolvedClient = clientName || 'generic';
32
+ const strategy = SpawnStrategyFactory.create(resolvedClient);
33
+ if (isXmlCapableClient(resolvedClient)) {
34
+ return {
35
+ content: generateTaskInvocation(wu.doc, wu.id, strategy),
36
+ extension: XML_EXTENSION,
37
+ format: 'xml',
38
+ };
39
+ }
40
+ return {
41
+ content: generateCodexPrompt(wu.doc, wu.id, strategy),
42
+ extension: MARKDOWN_EXTENSION,
43
+ format: 'markdown',
44
+ };
45
+ }
46
+ export function writeExecutionPlanArtifacts(initId, allWUs, plan, options = {}) {
47
+ const waveGroups = plan.waves.map((wus, plannedWave) => ({ plannedWave, wus }));
48
+ return writeOrchestrationAttemptArtifacts(initId, allWUs, waveGroups, options);
49
+ }
50
+ export function writeCheckpointArtifacts(initId, allWUs, selectedWUs, options = {}) {
51
+ return writeOrchestrationAttemptArtifacts(initId, allWUs, [{ plannedWave: 0, wus: selectedWUs }], options);
52
+ }
53
+ function writeOrchestrationAttemptArtifacts(initId, allWUs, waveGroups, options = {}) {
54
+ const { clientName, dryRun = false } = options;
55
+ const executionSummary = options.executionSummary;
56
+ const launchAttempt = getNextLaunchAttempt(initId);
57
+ const artifactDir = join(ORCHESTRATION_ARTIFACT_DIR, initId, `${ATTEMPT_PREFIX}${launchAttempt}`);
58
+ const planPath = join(artifactDir, PLAN_FILENAME);
59
+ const launchPath = join(artifactDir, LAUNCH_FILENAME);
60
+ const statusPath = join(artifactDir, STATUS_FILENAME);
61
+ const handoffDir = join(artifactDir, HANDOFFS_DIRNAME);
62
+ const createdAt = new Date().toISOString();
63
+ const logicalWaveMap = calculateLogicalWaveMap(allWUs);
64
+ const launchableWUs = flattenWaveGroups(waveGroups, logicalWaveMap);
65
+ const logicalWaves = Array.from(new Set(launchableWUs.map((entry) => entry.logicalWave))).sort((left, right) => left - right);
66
+ const handoffReceipts = launchableWUs.map((entry) => createHandoffReceipt(entry, launchAttempt, handoffDir, clientName, createdAt, dryRun));
67
+ if (!dryRun) {
68
+ mkdirSync(handoffDir, { recursive: true });
69
+ for (let index = 0; index < handoffReceipts.length; index++) {
70
+ const receipt = handoffReceipts[index];
71
+ const launchableWU = launchableWUs[index];
72
+ if (!receipt.handoff_artifact_path) {
73
+ continue;
74
+ }
75
+ const rendered = renderHandoffArtifact(launchableWU.wu, clientName);
76
+ writeFileSync(receipt.handoff_artifact_path, rendered.content, 'utf8');
77
+ }
78
+ const planData = {
79
+ initiative: initId,
80
+ created_at: createdAt,
81
+ launch_attempt: launchAttempt,
82
+ logical_waves: logicalWaves,
83
+ waves: waveGroups.map((group) => {
84
+ const groupEntries = launchableWUs.filter((entry) => entry.plannedWave === group.plannedWave);
85
+ const groupLogicalWaves = Array.from(new Set(groupEntries.map((entry) => entry.logicalWave))).sort((left, right) => left - right);
86
+ return {
87
+ planned_wave: group.plannedWave,
88
+ logical_wave: groupLogicalWaves[0] ?? FALLBACK_LOGICAL_WAVE,
89
+ logical_waves: groupLogicalWaves,
90
+ wus: groupEntries.map((entry) => ({
91
+ id: entry.wu.id,
92
+ lane: entry.wu.doc.lane,
93
+ logical_wave: entry.logicalWave,
94
+ })),
95
+ };
96
+ }),
97
+ };
98
+ const launchData = {
99
+ initiative: initId,
100
+ created_at: createdAt,
101
+ launch_attempt: launchAttempt,
102
+ logical_waves: logicalWaves,
103
+ handoffs: handoffReceipts,
104
+ };
105
+ const statusData = {
106
+ initiative: initId,
107
+ created_at: createdAt,
108
+ launch_attempt: launchAttempt,
109
+ logical_waves: logicalWaves,
110
+ available_capacity: executionSummary?.availableCapacity ?? null,
111
+ max_active_workers: executionSummary?.maxActiveWorkers ?? null,
112
+ blocked_by_integrity: executionSummary?.blockedByIntegrity ?? false,
113
+ next_safe_actions: executionSummary?.nextSafeActions ?? [],
114
+ wus: allWUs.map((wu) => {
115
+ const summaryEntry = executionSummary?.wus.find((entry) => entry.wuId === wu.id);
116
+ const launchableEntry = launchableWUs.find((entry) => entry.wu.id === wu.id);
117
+ const handoffState = handoffReceipts.find((receipt) => receipt.wu_id === wu.id);
118
+ return {
119
+ wu_id: wu.id,
120
+ lane: wu.doc.lane,
121
+ logical_wave: summaryEntry?.logicalWave ?? launchableEntry?.logicalWave ?? FALLBACK_LOGICAL_WAVE,
122
+ orchestration_state: launchableEntry || handoffState
123
+ ? ORCHESTRATION_STATUS_VALUES.HANDOFF_EMITTED
124
+ : (summaryEntry?.state ?? ORCHESTRATION_STATUS_VALUES.ELIGIBLE),
125
+ yaml_status: wu.doc.status ?? 'unknown',
126
+ };
127
+ }),
128
+ };
129
+ writeFileSync(planPath, JSON.stringify(planData, null, 2), 'utf8');
130
+ writeFileSync(launchPath, JSON.stringify(launchData, null, 2), 'utf8');
131
+ writeFileSync(statusPath, JSON.stringify(statusData, null, 2), 'utf8');
132
+ }
133
+ return {
134
+ artifactDir,
135
+ planPath,
136
+ launchPath,
137
+ statusPath,
138
+ logicalWaves,
139
+ launchAttempt,
140
+ handoffReceipts,
141
+ };
142
+ }
143
+ function flattenWaveGroups(waveGroups, logicalWaveMap) {
144
+ return waveGroups.flatMap((group) => group.wus.map((wu) => ({
145
+ logicalWave: logicalWaveMap.get(wu.id) ?? FALLBACK_LOGICAL_WAVE,
146
+ plannedWave: group.plannedWave,
147
+ wu,
148
+ })));
149
+ }
150
+ function createHandoffReceipt(entry, launchAttempt, handoffDir, clientName, emittedAt, dryRun) {
151
+ const rendered = renderHandoffArtifact(entry.wu, clientName);
152
+ const handoffArtifactPath = join(handoffDir, `${entry.wu.id}.${rendered.extension}`);
153
+ if (!dryRun && !existsSync(handoffDir)) {
154
+ mkdirSync(handoffDir, { recursive: true });
155
+ }
156
+ return {
157
+ wu_id: entry.wu.id,
158
+ lane: entry.wu.doc.lane,
159
+ logical_wave: entry.logicalWave,
160
+ launch_attempt: launchAttempt,
161
+ handoff_artifact_path: handoffArtifactPath,
162
+ handoff_format: rendered.format,
163
+ orchestration_state: ORCHESTRATION_STATUS_VALUES.HANDOFF_EMITTED,
164
+ emitted_at: emittedAt,
165
+ };
166
+ }
167
+ function calculateLogicalWaveMap(wus) {
168
+ const logicalWaveMap = new Map();
169
+ const allWuIds = new Set(wus.map((wu) => wu.id));
170
+ const adjacency = new Map();
171
+ const inDegree = new Map();
172
+ for (const wu of wus) {
173
+ adjacency.set(wu.id, []);
174
+ inDegree.set(wu.id, 0);
175
+ }
176
+ for (const wu of wus) {
177
+ const internalDeps = getAllDependencies(wu.doc).filter((depId) => allWuIds.has(depId));
178
+ inDegree.set(wu.id, internalDeps.length);
179
+ for (const depId of internalDeps) {
180
+ const dependants = adjacency.get(depId);
181
+ if (dependants) {
182
+ dependants.push(wu.id);
183
+ }
184
+ }
185
+ }
186
+ const queue = Array.from(inDegree.entries())
187
+ .filter(([, degree]) => degree === 0)
188
+ .map(([wuId]) => wuId)
189
+ .sort();
190
+ for (const wuId of queue) {
191
+ logicalWaveMap.set(wuId, FALLBACK_LOGICAL_WAVE);
192
+ }
193
+ while (queue.length > 0) {
194
+ const currentId = queue.shift();
195
+ if (!currentId) {
196
+ continue;
197
+ }
198
+ const currentWave = logicalWaveMap.get(currentId) ?? FALLBACK_LOGICAL_WAVE;
199
+ const dependants = adjacency.get(currentId) ?? [];
200
+ for (const dependantId of dependants) {
201
+ const nextWave = currentWave + 1;
202
+ logicalWaveMap.set(dependantId, Math.max(logicalWaveMap.get(dependantId) ?? 0, nextWave));
203
+ const remainingDegree = (inDegree.get(dependantId) ?? 1) - 1;
204
+ inDegree.set(dependantId, remainingDegree);
205
+ if (remainingDegree === 0) {
206
+ queue.push(dependantId);
207
+ queue.sort();
208
+ }
209
+ }
210
+ }
211
+ for (const wu of wus) {
212
+ if (!logicalWaveMap.has(wu.id)) {
213
+ logicalWaveMap.set(wu.id, FALLBACK_LOGICAL_WAVE);
214
+ }
215
+ }
216
+ return logicalWaveMap;
217
+ }
218
+ function getNextLaunchAttempt(initId) {
219
+ const attemptDirsPath = join(ORCHESTRATION_ARTIFACT_DIR, initId);
220
+ let maxAttempt = FALLBACK_ATTEMPT;
221
+ if (existsSync(attemptDirsPath)) {
222
+ for (const entry of readdirSync(attemptDirsPath, { withFileTypes: true })) {
223
+ if (!entry.isDirectory() || !entry.name.startsWith(ATTEMPT_PREFIX)) {
224
+ continue;
225
+ }
226
+ const parsed = Number.parseInt(entry.name.slice(ATTEMPT_PREFIX.length), 10);
227
+ if (!Number.isNaN(parsed)) {
228
+ maxAttempt = Math.max(maxAttempt, parsed);
229
+ }
230
+ }
231
+ }
232
+ return maxAttempt + 1;
233
+ }
234
+ //# sourceMappingURL=artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../src/orchestrator/artifacts.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Checkpoint mode management for initiative orchestration.
3
+ *
4
+ * WU-1821: Implements checkpoint-per-wave pattern for context management.
5
+ * Handles wave manifest creation, auto-detection thresholds, and mode resolution.
6
+ *
7
+ * @module orchestrator/checkpoint
8
+ */
1
9
  import type { WUEntry } from '../initiative-yaml.js';
2
10
  import type { CheckpointOptions, CheckpointModeResult, AutoCheckpointResult, CheckpointWaveResult, DependencyFilterResult } from './types.js';
3
11
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAWpB;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;IACrC,6EAA6E;;IAE7E,uEAAuE;;CAExE,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAqCtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,oBAAoB,CA6C/E;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,OAAO,EAAE,GACb,OAAO,CAAC,oBAAoB,CAAC,CA6C/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,OAAO,EAAE,GACb,oBAAoB,CAqCtB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,OAAO,EAAE,GACb,OAAO,CAAC,oBAAoB,CAAC,CAqC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAmBxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,oBAAoB,GAAG,IAAI,CA2F7B"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/orchestrator/checkpoint.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAMrD,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAUpB;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;IACrC,6EAA6E;;IAE7E,uEAAuE;;CAExE,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAqCtF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,oBAAoB,CA6C/E;AAED;;;;;GAKG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,OAAO,EAAE,GACb,OAAO,CAAC,oBAAoB,CAAC,CA6C/B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,OAAO,EAAE,GACb,oBAAoB,CAqCtB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,OAAO,EAAE,GACb,OAAO,CAAC,oBAAoB,CAAC,CAqC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAmBxE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,oBAAoB,GAAG,IAAI,CA4N7B"}