@lumenflow/cli 4.20.2 → 4.22.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.
- package/README.md +30 -27
- package/dist/config-set.js +54 -36
- package/dist/config-set.js.map +1 -1
- package/dist/delegation-list.js +86 -53
- package/dist/delegation-list.js.map +1 -1
- package/dist/gate-conditional.js +476 -0
- package/dist/gate-conditional.js.map +1 -0
- package/dist/gates-plan-resolvers.js +24 -1
- package/dist/gates-plan-resolvers.js.map +1 -1
- package/dist/init-templates.js +13 -0
- package/dist/init-templates.js.map +1 -1
- package/dist/initiative-create.js +1 -1
- package/dist/orchestrate-init-status.js +24 -31
- package/dist/orchestrate-init-status.js.map +1 -1
- package/dist/orchestrate-initiative.js +31 -2
- package/dist/orchestrate-initiative.js.map +1 -1
- package/dist/orchestrate-monitor.js +433 -1
- package/dist/orchestrate-monitor.js.map +1 -1
- package/dist/public-manifest.js +11 -4
- package/dist/public-manifest.js.map +1 -1
- package/package.json +9 -8
- package/packs/agent-runtime/.turbo/turbo-build.log +1 -1
- package/packs/agent-runtime/package.json +1 -1
- package/packs/sidekick/.turbo/turbo-build.log +1 -1
- package/packs/sidekick/package.json +1 -1
- package/packs/software-delivery/.turbo/turbo-build.log +1 -1
- package/packs/software-delivery/package.json +1 -1
- package/templates/core/LUMENFLOW.md.template +6 -3
- package/templates/core/ai/onboarding/first-wu-mistakes.md.template +2 -2
- package/templates/core/ai/onboarding/initiative-orchestration.md.template +83 -27
- package/templates/core/ai/onboarding/quick-ref-commands.md.template +9 -5
- package/templates/core/ai/onboarding/starting-prompt.md.template +1 -1
- package/templates/core/ai/onboarding/vendor-support.md.template +13 -0
- package/dist/chunk-2D2VOCA4.js +0 -37
- package/dist/chunk-2D5KFYGX.js +0 -284
- package/dist/chunk-2GXVIN57.js +0 -14072
- package/dist/chunk-2MQ7HZWZ.js +0 -26
- package/dist/chunk-2UFQ3A3C.js +0 -643
- package/dist/chunk-3RG5ZIWI.js +0 -10
- package/dist/chunk-4N74J3UT.js +0 -15
- package/dist/chunk-5GTOXFYR.js +0 -392
- package/dist/chunk-5VY6MQMC.js +0 -240
- package/dist/chunk-67XVPMRY.js +0 -1297
- package/dist/chunk-6HO4GWJE.js +0 -164
- package/dist/chunk-6W5XHWYV.js +0 -1890
- package/dist/chunk-6X4EMYJQ.js +0 -64
- package/dist/chunk-6XYXI2NQ.js +0 -772
- package/dist/chunk-7ANSOV6Q.js +0 -285
- package/dist/chunk-A624LFLB.js +0 -1380
- package/dist/chunk-ADN5NHG4.js +0 -126
- package/dist/chunk-B7YJYJKG.js +0 -33
- package/dist/chunk-CCLHCPKG.js +0 -210
- package/dist/chunk-CK36VROC.js +0 -1584
- package/dist/chunk-D3UOFRSB.js +0 -81
- package/dist/chunk-DFR4DJBM.js +0 -230
- package/dist/chunk-DSYBDHYH.js +0 -79
- package/dist/chunk-DWMLTXKQ.js +0 -1176
- package/dist/chunk-E3REJTAJ.js +0 -28
- package/dist/chunk-EA3IVO64.js +0 -633
- package/dist/chunk-EK2AKZKD.js +0 -55
- package/dist/chunk-ELD7JTTT.js +0 -343
- package/dist/chunk-EX6TT2XI.js +0 -195
- package/dist/chunk-EXINSFZE.js +0 -82
- package/dist/chunk-EZ6ZBYBM.js +0 -510
- package/dist/chunk-FBKAPTJ2.js +0 -16
- package/dist/chunk-FVLV5RYH.js +0 -1118
- package/dist/chunk-GDNSBQVK.js +0 -2485
- package/dist/chunk-GPQHMBNN.js +0 -278
- package/dist/chunk-GTFJB67L.js +0 -68
- package/dist/chunk-HANJXVKW.js +0 -1127
- package/dist/chunk-HEVS5YLD.js +0 -269
- package/dist/chunk-HMEVZKPQ.js +0 -9
- package/dist/chunk-HRGSYNLM.js +0 -3511
- package/dist/chunk-ISZR5N4K.js +0 -60
- package/dist/chunk-J6SUPR2C.js +0 -226
- package/dist/chunk-JERYVEIZ.js +0 -244
- package/dist/chunk-JHHWGL2N.js +0 -87
- package/dist/chunk-JONWQUB5.js +0 -775
- package/dist/chunk-K2DIWWDM.js +0 -1766
- package/dist/chunk-KY4PGL5V.js +0 -969
- package/dist/chunk-L737LQ4C.js +0 -1285
- package/dist/chunk-LFTWYIB2.js +0 -497
- package/dist/chunk-LV47RFNJ.js +0 -41
- package/dist/chunk-MKSAITI7.js +0 -15
- package/dist/chunk-MZ7RKIX4.js +0 -212
- package/dist/chunk-NAP6CFSO.js +0 -84
- package/dist/chunk-ND6MY37M.js +0 -16
- package/dist/chunk-NMG736UR.js +0 -683
- package/dist/chunk-NRAXROED.js +0 -32
- package/dist/chunk-NRIZR3A7.js +0 -690
- package/dist/chunk-NX43BG3M.js +0 -233
- package/dist/chunk-O645XLSI.js +0 -297
- package/dist/chunk-OMJD6A3S.js +0 -235
- package/dist/chunk-QB6SJD4T.js +0 -430
- package/dist/chunk-QFSTL4J3.js +0 -276
- package/dist/chunk-QLGDFMFX.js +0 -212
- package/dist/chunk-RIAAGL2E.js +0 -13
- package/dist/chunk-RWO5XMZ6.js +0 -86
- package/dist/chunk-RXRKBBSM.js +0 -149
- package/dist/chunk-RZOZMML6.js +0 -363
- package/dist/chunk-U7I7FS7T.js +0 -113
- package/dist/chunk-UI42RODY.js +0 -717
- package/dist/chunk-UTVMVSCO.js +0 -519
- package/dist/chunk-V6OJGLBA.js +0 -1746
- package/dist/chunk-W2JHVH7D.js +0 -152
- package/dist/chunk-WD3Y7VQN.js +0 -280
- package/dist/chunk-WOCTQ5MS.js +0 -303
- package/dist/chunk-WZR3ZUNN.js +0 -696
- package/dist/chunk-XGI665H7.js +0 -150
- package/dist/chunk-XKY65P2T.js +0 -304
- package/dist/chunk-Y4CQZY65.js +0 -57
- package/dist/chunk-YFEXKLVE.js +0 -194
- package/dist/chunk-YHO3HS5X.js +0 -287
- package/dist/chunk-YLS7AZSX.js +0 -738
- package/dist/chunk-ZE473AO6.js +0 -49
- package/dist/chunk-ZF747T3O.js +0 -644
- package/dist/chunk-ZHCZHZH3.js +0 -43
- package/dist/chunk-ZZNZX2XY.js +0 -87
- package/dist/constants-7QAP3VQ4.js +0 -23
- package/dist/dist-IY3UUMWK.js +0 -33
- package/dist/invariants-runner-W5RGHCSU.js +0 -27
- package/dist/lane-lock-6J36HD5O.js +0 -35
- package/dist/mem-checkpoint-core-EANG2GVN.js +0 -14
- package/dist/mem-signal-core-2LZ2WYHW.js +0 -19
- package/dist/memory-store-OLB5FO7K.js +0 -18
- package/dist/service-6BYCOCO5.js +0 -13
- package/dist/spawn-policy-resolver-NTSZYQ6R.js +0 -17
- package/dist/spawn-task-builder-R4E2BHSW.js +0 -22
- package/dist/wu-done-pr-WLFFFEPJ.js +0 -25
- package/dist/wu-done-validation-3J5E36FE.js +0 -30
- package/dist/wu-duplicate-id-detector-5S7JHELK.js +0 -232
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
* pnpm orchestrate:init-status --initiative INIT-001
|
|
12
12
|
*/
|
|
13
13
|
import { Command } from 'commander';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { EXIT_CODES, LUMENFLOW_PATHS } from '@lumenflow/core/wu-constants';
|
|
14
|
+
import { loadInitiativeWUs, formatProgress, getLaneAvailability, resolveLaneConfigsFromConfig, analyseScopeShape, formatScopeAdvisory, } from '@lumenflow/initiatives';
|
|
15
|
+
import { EXIT_CODES } from '@lumenflow/core/wu-constants';
|
|
17
16
|
import { getConfig } from '@lumenflow/core/config';
|
|
18
17
|
import { getErrorMessage, ProcessExitError } from '@lumenflow/core/error-handler';
|
|
19
18
|
import chalk from 'chalk';
|
|
20
19
|
import { runCLI } from './cli-entry-point.js';
|
|
20
|
+
import { applyExecutionSummaryToWus, formatExecutionStateLabel, loadInitiativeExecutionSummary, } from './orchestrate-monitor.js';
|
|
21
21
|
const LOG_PREFIX = '[orchestrate:init-status]';
|
|
22
22
|
function normalizeLifecycleStatus(value) {
|
|
23
23
|
return typeof value === 'string' ? value.trim().toLowerCase() : '';
|
|
@@ -41,19 +41,6 @@ function deriveInitiativeLifecycleStatus(status, phases) {
|
|
|
41
41
|
}
|
|
42
42
|
return normalizedStatus || 'in_progress';
|
|
43
43
|
}
|
|
44
|
-
function getCompletedWUs(wuIds) {
|
|
45
|
-
const completed = new Set();
|
|
46
|
-
if (!existsSync(LUMENFLOW_PATHS.STAMPS_DIR)) {
|
|
47
|
-
return completed;
|
|
48
|
-
}
|
|
49
|
-
const files = readdirSync(LUMENFLOW_PATHS.STAMPS_DIR);
|
|
50
|
-
for (const wuId of wuIds) {
|
|
51
|
-
if (files.includes(`${wuId}.done`)) {
|
|
52
|
-
completed.add(wuId);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return completed;
|
|
56
|
-
}
|
|
57
44
|
function formatLaneAvailability(availability, laneConfigs) {
|
|
58
45
|
const lanes = Object.keys(availability).sort((a, b) => a.localeCompare(b));
|
|
59
46
|
if (lanes.length === 0) {
|
|
@@ -69,6 +56,17 @@ function formatLaneAvailability(availability, laneConfigs) {
|
|
|
69
56
|
})
|
|
70
57
|
.join('\n');
|
|
71
58
|
}
|
|
59
|
+
export function formatWuExecutionStatus(wu) {
|
|
60
|
+
const details = [];
|
|
61
|
+
if (typeof wu.logicalWave === 'number') {
|
|
62
|
+
details.push(`logical wave ${wu.logicalWave}`);
|
|
63
|
+
}
|
|
64
|
+
if (typeof wu.launchAttempt === 'number') {
|
|
65
|
+
details.push(`attempt ${wu.launchAttempt}`);
|
|
66
|
+
}
|
|
67
|
+
details.push(wu.reason);
|
|
68
|
+
return `${formatExecutionStateLabel(wu.state)}; ${details.join('; ')}`;
|
|
69
|
+
}
|
|
72
70
|
const program = new Command()
|
|
73
71
|
.name('orchestrate:init-status')
|
|
74
72
|
.description('Show initiative progress status')
|
|
@@ -79,31 +77,26 @@ const program = new Command()
|
|
|
79
77
|
const { initiative, wus } = loadInitiativeWUs(opts.initiative);
|
|
80
78
|
const lifecycleStatus = deriveInitiativeLifecycleStatus(initiative.status, initiative.phases);
|
|
81
79
|
const rawStatus = normalizeLifecycleStatus(initiative.status);
|
|
80
|
+
const executionSummary = await loadInitiativeExecutionSummary(process.cwd(), opts.initiative, wus);
|
|
81
|
+
const reconciledWus = applyExecutionSummaryToWus(wus, executionSummary);
|
|
82
82
|
console.log(chalk.bold(`\nInitiative: ${initiative.id} - ${initiative.title}`));
|
|
83
83
|
console.log(chalk.bold(`Lifecycle Status: ${lifecycleStatus}`));
|
|
84
84
|
if (rawStatus && rawStatus !== lifecycleStatus) {
|
|
85
85
|
console.log(chalk.yellow(`Lifecycle mismatch: metadata status '${initiative.status}' conflicts with phase state; reporting '${lifecycleStatus}'.`));
|
|
86
86
|
}
|
|
87
87
|
console.log('');
|
|
88
|
-
const progress =
|
|
88
|
+
const progress = executionSummary.progress;
|
|
89
89
|
console.log(chalk.bold('Progress:'));
|
|
90
90
|
console.log(formatProgress(progress));
|
|
91
|
+
if (progress.workerReturned > 0 || progress.handoffEmitted > 0) {
|
|
92
|
+
console.log(` Returned incomplete: ${progress.workerReturned}\n Handoff emitted: ${progress.handoffEmitted}`);
|
|
93
|
+
}
|
|
91
94
|
console.log('');
|
|
92
95
|
// Show WU status breakdown
|
|
93
|
-
const completed = getCompletedWUs(wus.map((w) => w.id));
|
|
94
96
|
console.log(chalk.bold('WUs:'));
|
|
95
|
-
for (const wu of wus) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
status = chalk.green('✓ done');
|
|
99
|
-
}
|
|
100
|
-
else if (wu.doc.status === 'in_progress') {
|
|
101
|
-
status = chalk.yellow('⟳ in_progress');
|
|
102
|
-
}
|
|
103
|
-
else if (wu.doc.status === 'blocked') {
|
|
104
|
-
status = chalk.red('⛔ blocked');
|
|
105
|
-
}
|
|
106
|
-
console.log(` ${wu.id}: ${wu.doc.title} [${status}]`);
|
|
97
|
+
for (const wu of executionSummary.wus) {
|
|
98
|
+
const status = formatWuExecutionStatus(wu);
|
|
99
|
+
console.log(` ${wu.wuId}: ${wu.title} [${status}]`);
|
|
107
100
|
}
|
|
108
101
|
// WU-2155: Scope advisory analysis
|
|
109
102
|
const scopeResult = analyseScopeShape(wus);
|
|
@@ -113,7 +106,7 @@ const program = new Command()
|
|
|
113
106
|
console.log(chalk.yellow(scopeOutput));
|
|
114
107
|
}
|
|
115
108
|
const laneConfigs = resolveLaneConfigsFromConfig(getConfig());
|
|
116
|
-
const availability = getLaneAvailability(
|
|
109
|
+
const availability = getLaneAvailability(reconciledWus, { laneConfigs });
|
|
117
110
|
console.log('');
|
|
118
111
|
console.log(chalk.bold('Lane Availability:'));
|
|
119
112
|
console.log(formatLaneAvailability(availability, laneConfigs));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate-init-status.js","sourceRoot":"","sources":["../src/orchestrate-init-status.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,
|
|
1
|
+
{"version":3,"file":"orchestrate-init-status.js","sourceRoot":"","sources":["../src/orchestrate-init-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,28 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Command } from 'commander';
|
|
18
18
|
import chalk from 'chalk';
|
|
19
|
-
import { loadInitiativeWUs, loadMultipleInitiatives, buildExecutionPlanWithLockPolicy, resolveLaneConfigsFromConfig, formatExecutionPlan, formatExecutionPlanWithEmbeddedSpawns, calculateProgress, formatProgress, buildCheckpointWave, formatCheckpointOutput, validateCheckpointFlags, resolveCheckpointModeAsync, LOG_PREFIX, } from '@lumenflow/initiatives';
|
|
19
|
+
import { loadInitiativeWUs, loadMultipleInitiatives, buildExecutionPlanWithLockPolicy, resolveLaneConfigsFromConfig, formatExecutionPlan, formatExecutionPlanWithEmbeddedSpawns, calculateProgress, formatProgress, buildCheckpointWave, formatCheckpointOutput, writeExecutionPlanArtifacts, validateCheckpointFlags, resolveCheckpointModeAsync, LOG_PREFIX, } from '@lumenflow/initiatives';
|
|
20
20
|
import { EXIT_CODES } from '@lumenflow/core/wu-constants';
|
|
21
21
|
import { getConfig } from '@lumenflow/core/config';
|
|
22
22
|
import { getErrorMessage, ProcessExitError } from '@lumenflow/core/error-handler';
|
|
23
23
|
import { runCLI } from './cli-entry-point.js';
|
|
24
|
+
import { loadInitiativeExecutionSummary, } from './orchestrate-monitor.js';
|
|
24
25
|
const VALID_CLIENTS = ['claude-code', 'codex-cli', 'gemini-cli', 'cursor', 'windsurf'];
|
|
26
|
+
function mapExecutionSummaryToCheckpointEvidence(summary) {
|
|
27
|
+
return summary.wus.map((wu) => ({
|
|
28
|
+
wuId: wu.wuId,
|
|
29
|
+
handoffEmitted: wu.state === 'handoff_emitted' || wu.launchReceipt !== undefined,
|
|
30
|
+
active: wu.state === 'active',
|
|
31
|
+
workerReturned: wu.state === 'worker_returned',
|
|
32
|
+
stampPresent: wu.stampPresent,
|
|
33
|
+
worktreePresent: wu.worktreePresent,
|
|
34
|
+
logicalWave: wu.logicalWave,
|
|
35
|
+
launchAttempt: wu.launchAttempt,
|
|
36
|
+
blockedReason: wu.state === 'blocked' ? wu.reason : undefined,
|
|
37
|
+
readyForFinish: wu.state === 'worker_returned' && wu.worktreePresent,
|
|
38
|
+
needsRelaunch: wu.state === 'worker_returned' && !wu.worktreePresent,
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
25
41
|
const program = new Command()
|
|
26
42
|
.name('orchestrate-initiative')
|
|
27
43
|
.description('Orchestrate initiative execution with parallel agent spawning')
|
|
@@ -91,7 +107,13 @@ const program = new Command()
|
|
|
91
107
|
console.error(chalk.red(message));
|
|
92
108
|
throw new ProcessExitError(message, EXIT_CODES.ERROR);
|
|
93
109
|
}
|
|
94
|
-
const
|
|
110
|
+
const executionSummary = await loadInitiativeExecutionSummary(process.cwd(), initIds[0], wus);
|
|
111
|
+
const checkpointEvidence = mapExecutionSummaryToCheckpointEvidence(executionSummary);
|
|
112
|
+
const waveData = buildCheckpointWave(initIds[0], {
|
|
113
|
+
dryRun,
|
|
114
|
+
clientName,
|
|
115
|
+
executionEvidence: checkpointEvidence,
|
|
116
|
+
});
|
|
95
117
|
if (!waveData) {
|
|
96
118
|
console.log(chalk.green(`${LOG_PREFIX} All WUs are complete! Nothing to spawn.`));
|
|
97
119
|
return;
|
|
@@ -150,6 +172,13 @@ const program = new Command()
|
|
|
150
172
|
}
|
|
151
173
|
// WU-1202: Output spawn content for actual execution (not dry-run)
|
|
152
174
|
// WU-2375: Format varies by client capability (XML for Claude, markdown for others)
|
|
175
|
+
if (initIds.length === 1) {
|
|
176
|
+
const launchArtifacts = writeExecutionPlanArtifacts(initIds[0], wus, plan, { clientName });
|
|
177
|
+
console.log(chalk.cyan(`${LOG_PREFIX} Wrote plan/launch/status artifacts for launch attempt ${launchArtifacts.launchAttempt}`));
|
|
178
|
+
console.log(` Plan: ${launchArtifacts.planPath}`);
|
|
179
|
+
console.log(` Launch: ${launchArtifacts.launchPath}`);
|
|
180
|
+
console.log(` Status: ${launchArtifacts.statusPath}`);
|
|
181
|
+
}
|
|
153
182
|
console.log('');
|
|
154
183
|
console.log(chalk.bold('Spawn Commands:'));
|
|
155
184
|
console.log(formatExecutionPlanWithEmbeddedSpawns(plan, clientName));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrate-initiative.js","sourceRoot":"","sources":["../src/orchestrate-initiative.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gCAAgC,EAChC,4BAA4B,EAC5B,mBAAmB,EACnB,qCAAqC,EACrC,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrate-initiative.js","sourceRoot":"","sources":["../src/orchestrate-initiative.ts"],"names":[],"mappings":"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"}
|