@lumenflow/cli 2.18.2 → 2.19.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.
Files changed (104) hide show
  1. package/README.md +42 -41
  2. package/dist/delegation-list.js +140 -0
  3. package/dist/delegation-list.js.map +1 -0
  4. package/dist/doctor.js +35 -99
  5. package/dist/doctor.js.map +1 -1
  6. package/dist/gates-plan-resolvers.js +150 -0
  7. package/dist/gates-plan-resolvers.js.map +1 -0
  8. package/dist/gates-runners.js +533 -0
  9. package/dist/gates-runners.js.map +1 -0
  10. package/dist/gates-types.js +3 -0
  11. package/dist/gates-types.js.map +1 -1
  12. package/dist/gates-utils.js +316 -0
  13. package/dist/gates-utils.js.map +1 -0
  14. package/dist/gates.js +44 -1016
  15. package/dist/gates.js.map +1 -1
  16. package/dist/hooks/enforcement-generator.js +16 -880
  17. package/dist/hooks/enforcement-generator.js.map +1 -1
  18. package/dist/hooks/enforcement-sync.js +1 -4
  19. package/dist/hooks/enforcement-sync.js.map +1 -1
  20. package/dist/hooks/generators/auto-checkpoint.js +123 -0
  21. package/dist/hooks/generators/auto-checkpoint.js.map +1 -0
  22. package/dist/hooks/generators/enforce-worktree.js +188 -0
  23. package/dist/hooks/generators/enforce-worktree.js.map +1 -0
  24. package/dist/hooks/generators/index.js +16 -0
  25. package/dist/hooks/generators/index.js.map +1 -0
  26. package/dist/hooks/generators/pre-compact-checkpoint.js +134 -0
  27. package/dist/hooks/generators/pre-compact-checkpoint.js.map +1 -0
  28. package/dist/hooks/generators/require-wu.js +115 -0
  29. package/dist/hooks/generators/require-wu.js.map +1 -0
  30. package/dist/hooks/generators/session-start-recovery.js +101 -0
  31. package/dist/hooks/generators/session-start-recovery.js.map +1 -0
  32. package/dist/hooks/generators/signal-utils.js +52 -0
  33. package/dist/hooks/generators/signal-utils.js.map +1 -0
  34. package/dist/hooks/generators/warn-incomplete.js +65 -0
  35. package/dist/hooks/generators/warn-incomplete.js.map +1 -0
  36. package/dist/init-detection.js +228 -0
  37. package/dist/init-detection.js.map +1 -0
  38. package/dist/init-scaffolding.js +146 -0
  39. package/dist/init-scaffolding.js.map +1 -0
  40. package/dist/init-templates.js +1928 -0
  41. package/dist/init-templates.js.map +1 -0
  42. package/dist/init.js +136 -2425
  43. package/dist/init.js.map +1 -1
  44. package/dist/initiative-edit.js +42 -11
  45. package/dist/initiative-edit.js.map +1 -1
  46. package/dist/initiative-remove-wu.js +0 -0
  47. package/dist/initiative-status.js +29 -2
  48. package/dist/initiative-status.js.map +1 -1
  49. package/dist/mem-context.js +22 -9
  50. package/dist/mem-context.js.map +1 -1
  51. package/dist/orchestrate-init-status.js +32 -1
  52. package/dist/orchestrate-init-status.js.map +1 -1
  53. package/dist/orchestrate-monitor.js +38 -38
  54. package/dist/orchestrate-monitor.js.map +1 -1
  55. package/dist/public-manifest.js +12 -5
  56. package/dist/public-manifest.js.map +1 -1
  57. package/dist/shared-validators.js +1 -0
  58. package/dist/shared-validators.js.map +1 -1
  59. package/dist/spawn-list.js +0 -0
  60. package/dist/wu-claim-branch.js +121 -0
  61. package/dist/wu-claim-branch.js.map +1 -0
  62. package/dist/wu-claim-output.js +83 -0
  63. package/dist/wu-claim-output.js.map +1 -0
  64. package/dist/wu-claim-resume-handler.js +85 -0
  65. package/dist/wu-claim-resume-handler.js.map +1 -0
  66. package/dist/wu-claim-state.js +572 -0
  67. package/dist/wu-claim-state.js.map +1 -0
  68. package/dist/wu-claim-validation.js +439 -0
  69. package/dist/wu-claim-validation.js.map +1 -0
  70. package/dist/wu-claim-worktree.js +221 -0
  71. package/dist/wu-claim-worktree.js.map +1 -0
  72. package/dist/wu-claim.js +54 -1402
  73. package/dist/wu-claim.js.map +1 -1
  74. package/dist/wu-create-content.js +254 -0
  75. package/dist/wu-create-content.js.map +1 -0
  76. package/dist/wu-create-readiness.js +57 -0
  77. package/dist/wu-create-readiness.js.map +1 -0
  78. package/dist/wu-create-validation.js +149 -0
  79. package/dist/wu-create-validation.js.map +1 -0
  80. package/dist/wu-create.js +39 -441
  81. package/dist/wu-create.js.map +1 -1
  82. package/dist/wu-done.js +144 -249
  83. package/dist/wu-done.js.map +1 -1
  84. package/dist/wu-edit-operations.js +432 -0
  85. package/dist/wu-edit-operations.js.map +1 -0
  86. package/dist/wu-edit-validators.js +280 -0
  87. package/dist/wu-edit-validators.js.map +1 -0
  88. package/dist/wu-edit.js +27 -713
  89. package/dist/wu-edit.js.map +1 -1
  90. package/dist/wu-prep.js +32 -2
  91. package/dist/wu-prep.js.map +1 -1
  92. package/dist/wu-repair.js +1 -1
  93. package/dist/wu-repair.js.map +1 -1
  94. package/dist/wu-spawn-prompt-builders.js +1123 -0
  95. package/dist/wu-spawn-prompt-builders.js.map +1 -0
  96. package/dist/wu-spawn-strategy-resolver.js +314 -0
  97. package/dist/wu-spawn-strategy-resolver.js.map +1 -0
  98. package/dist/wu-spawn.js +9 -1398
  99. package/dist/wu-spawn.js.map +1 -1
  100. package/package.json +10 -7
  101. package/templates/core/LUMENFLOW.md.template +29 -99
  102. package/templates/core/ai/onboarding/agent-invocation-guide.md.template +1 -1
  103. package/templates/core/ai/onboarding/quick-ref-commands.md.template +29 -4
  104. package/templates/vendors/claude/.claude/skills/orchestration/SKILL.md.template +8 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-spawn-prompt-builders.js","sourceRoot":"","sources":["../src/wu-spawn-prompt-builders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,314 @@
1
+ /**
2
+ * WU Spawn Strategy Resolver
3
+ *
4
+ * Extracted from wu-spawn.ts (WU-1652).
5
+ * Contains client/strategy resolution, lane occupation checks,
6
+ * and CLI argument parsing for wu:brief/wu:delegate commands.
7
+ *
8
+ * @module wu-spawn-strategy-resolver
9
+ */
10
+ import { existsSync, readFileSync } from 'node:fs';
11
+ import { createWUParser, WU_OPTIONS } from '@lumenflow/core/arg-parser';
12
+ import { WU_PATHS } from '@lumenflow/core/wu-paths';
13
+ import { parseYAML } from '@lumenflow/core/wu-yaml';
14
+ import { die } from '@lumenflow/core/error-handler';
15
+ import { WU_STATUS, PATTERNS, FILE_SYSTEM, EMOJI } from '@lumenflow/core/wu-constants';
16
+ // WU-1603: Check lane lock status before spawning
17
+ // WU-1325: Import lock policy getter for lane availability check
18
+ import { checkLaneLock } from '@lumenflow/core/lane-lock';
19
+ import { getLockPolicyForLane, getWipLimitForLane } from '@lumenflow/core/lane-checker';
20
+ import { validateSpawnArgs, recordSpawnToRegistry, formatSpawnRecordedMessage, } from '@lumenflow/core/wu-spawn-helpers';
21
+ import { SpawnStrategyFactory } from '@lumenflow/core/spawn-strategy';
22
+ import { getConfig } from '@lumenflow/core/config';
23
+ import { resolveClientConfig } from '@lumenflow/core/wu-spawn-skills';
24
+ import { validateSpawnDependencies, formatDependencyError, } from '@lumenflow/core/dependency-validator';
25
+ import { checkMemoryLayerInitialized, getMemoryContextMaxSize, generateMemoryContextSection, } from '@lumenflow/core/wu-spawn-context';
26
+ import { generateTaskInvocation, generateCodexPrompt } from './wu-spawn-prompt-builders.js';
27
+ // Re-export SpawnStrategyFactory for consumers
28
+ export { SpawnStrategyFactory };
29
+ const BRIEF_LOG_PREFIX = '[wu:brief]';
30
+ const DELEGATE_LOG_PREFIX = '[wu:delegate]';
31
+ // ─── Lane Occupation ───
32
+ /**
33
+ * WU-1603: Check if a lane is currently occupied by another WU
34
+ * WU-1325: Now considers lock_policy - lanes with policy=none are never occupied
35
+ *
36
+ * @param {string} lane - Lane name (e.g., "Operations: Tooling")
37
+ * @returns {import('@lumenflow/core/lane-lock').LockMetadata|null} Lock metadata if occupied, null otherwise
38
+ */
39
+ export function checkLaneOccupation(lane) {
40
+ // WU-1325: Lanes with lock_policy=none never report as occupied
41
+ const lockPolicy = getLockPolicyForLane(lane);
42
+ if (lockPolicy === 'none') {
43
+ return null;
44
+ }
45
+ const lockStatus = checkLaneLock(lane);
46
+ if (lockStatus.locked && lockStatus.metadata) {
47
+ return lockStatus.metadata;
48
+ }
49
+ return null;
50
+ }
51
+ export function generateLaneOccupationWarning(lockMetadata, targetWuId, options = {}) {
52
+ const { isStale = false } = options;
53
+ let warning = `⚠️ Lane "${lockMetadata.lane}" is occupied by ${lockMetadata.wuId}\n`;
54
+ // WU-1346: Use injected values if provided, otherwise look up from config
55
+ const lockPolicy = options.lockPolicy ?? getLockPolicyForLane(lockMetadata.lane);
56
+ const wipLimit = options.wipLimit ?? getWipLimitForLane(lockMetadata.lane);
57
+ warning += ` This violates WIP=${wipLimit} (lock_policy=${lockPolicy}).\n\n`;
58
+ if (isStale) {
59
+ warning += ` ⏰ This lock is STALE (>24 hours old) - the WU may be abandoned.\n`;
60
+ warning += ` Consider using pnpm wu:block --id ${lockMetadata.wuId} if work is stalled.\n\n`;
61
+ }
62
+ warning += ` Options:\n`;
63
+ warning += ` 1. Wait for ${lockMetadata.wuId} to complete or block\n`;
64
+ warning += ` 2. Choose a different lane for ${targetWuId}\n`;
65
+ warning += ` 3. Block ${lockMetadata.wuId} if work is stalled: pnpm wu:block --id ${lockMetadata.wuId}`;
66
+ return warning;
67
+ }
68
+ const BRIEF_PARSER_CONFIG = {
69
+ name: 'wu-brief',
70
+ description: 'Generate handoff prompt for sub-agent WU execution',
71
+ };
72
+ const DELEGATE_PARSER_CONFIG = {
73
+ name: 'wu-delegate',
74
+ description: 'Generate delegation prompt and record explicit lineage intent',
75
+ };
76
+ function parseAndValidateArgs(parserConfig = BRIEF_PARSER_CONFIG) {
77
+ const args = createWUParser({
78
+ name: parserConfig.name,
79
+ description: parserConfig.description,
80
+ options: [
81
+ WU_OPTIONS.id,
82
+ WU_OPTIONS.thinking,
83
+ WU_OPTIONS.noThinking,
84
+ WU_OPTIONS.budget,
85
+ WU_OPTIONS.codex,
86
+ WU_OPTIONS.parentWu, // WU-1945: Parent WU for spawn registry tracking
87
+ WU_OPTIONS.client,
88
+ WU_OPTIONS.vendor,
89
+ WU_OPTIONS.noContext, // WU-1240: Skip memory context injection
90
+ ],
91
+ required: ['id'],
92
+ allowPositionalId: true,
93
+ });
94
+ // Validate thinking mode options
95
+ try {
96
+ validateSpawnArgs(args);
97
+ }
98
+ catch (e) {
99
+ die(e.message);
100
+ }
101
+ return args;
102
+ }
103
+ // ─── WU Document Loading ───
104
+ /**
105
+ * Load and validate WU document from YAML file
106
+ */
107
+ function loadWUDocument(id, wuPath) {
108
+ // Check if WU file exists
109
+ if (!existsSync(wuPath)) {
110
+ die(`WU file not found: ${wuPath}\n\n` +
111
+ `Cannot spawn a sub-agent for a WU that doesn't exist.\n\n` +
112
+ `Options:\n` +
113
+ ` 1. Create the WU first: pnpm wu:create --id ${id} --lane <lane> --title "..."\n` +
114
+ ` 2. Check if the WU ID is correct`);
115
+ }
116
+ // Read WU file
117
+ let text;
118
+ try {
119
+ text = readFileSync(wuPath, { encoding: FILE_SYSTEM.UTF8 });
120
+ }
121
+ catch (e) {
122
+ die(`Failed to read WU file: ${wuPath}\n\n` +
123
+ `Error: ${e.message}\n\n` +
124
+ `Options:\n` +
125
+ ` 1. Check file permissions: ls -la ${wuPath}\n` +
126
+ ` 2. Ensure the file exists and is readable`);
127
+ }
128
+ // Parse YAML
129
+ try {
130
+ return parseYAML(text);
131
+ }
132
+ catch (e) {
133
+ die(`Failed to parse WU YAML ${wuPath}\n\n` +
134
+ `Error: ${e.message}\n\n` +
135
+ `Options:\n` +
136
+ ` 1. Validate YAML syntax: pnpm wu:validate --id ${id}\n` +
137
+ ` 2. Fix YAML errors manually and retry`);
138
+ }
139
+ }
140
+ // ─── Client Resolution ───
141
+ /**
142
+ * Resolve the client name from args and config
143
+ */
144
+ function resolveClientName(args, config, logPrefix = BRIEF_LOG_PREFIX) {
145
+ let clientName = args.client;
146
+ if (!clientName && args.vendor) {
147
+ console.warn(`${logPrefix} ${EMOJI.WARNING} Warning: --vendor is deprecated. Use --client.`);
148
+ clientName = args.vendor;
149
+ }
150
+ // Codex handling (deprecated legacy flag)
151
+ if (args.codex && !clientName) {
152
+ console.warn(`${logPrefix} ${EMOJI.WARNING} Warning: --codex is deprecated. Use --client codex-cli.`);
153
+ clientName = 'codex-cli';
154
+ }
155
+ return clientName || config.agents.defaultClient || 'claude-code';
156
+ }
157
+ /**
158
+ * Check lane occupation and warn if occupied by a different WU
159
+ */
160
+ async function checkAndWarnLaneOccupation(lane, id, logPrefix = BRIEF_LOG_PREFIX) {
161
+ if (!lane)
162
+ return;
163
+ const existingLock = checkLaneOccupation(lane);
164
+ if (existingLock && existingLock.wuId !== id) {
165
+ // Lane is occupied by a different WU
166
+ const { isLockStale } = await import('@lumenflow/core/lane-lock');
167
+ const isStale = isLockStale(existingLock);
168
+ const warning = generateLaneOccupationWarning(existingLock, id, { isStale });
169
+ console.warn(`${logPrefix} ${EMOJI.WARNING}\n${warning}\n`);
170
+ }
171
+ }
172
+ /**
173
+ * Emit prompt output and optionally persist parent/child lineage.
174
+ *
175
+ * WU-1604: Prompt generation (wu:brief) is side-effect free.
176
+ * Only explicit delegation mode records lineage intent.
177
+ */
178
+ export async function emitSpawnOutputWithRegistry(options, dependencies = {}) {
179
+ const { id, output, isCodexClient, parentWu, lane, recordDelegationIntent = false, logPrefix: prefix = BRIEF_LOG_PREFIX, } = options;
180
+ const log = dependencies.log ?? console.log;
181
+ const recordSpawn = dependencies.recordSpawn ?? recordSpawnToRegistry;
182
+ const formatSpawnMessage = dependencies.formatSpawnMessage ?? formatSpawnRecordedMessage;
183
+ if (isCodexClient) {
184
+ log(`${prefix} Generated Codex/GPT prompt for ${id}`);
185
+ log(`${prefix} Copy the Markdown below:\n`);
186
+ log(output.trimEnd());
187
+ }
188
+ else {
189
+ log(`${prefix} Generated Task tool invocation for ${id}`);
190
+ log(`${prefix} Copy the block below to spawn a sub-agent:\n`);
191
+ log(output);
192
+ }
193
+ if (!recordDelegationIntent || !parentWu) {
194
+ return;
195
+ }
196
+ const registryResult = await recordSpawn({
197
+ parentWuId: parentWu,
198
+ targetWuId: id,
199
+ lane: lane || 'Unknown',
200
+ baseDir: '.lumenflow/state',
201
+ });
202
+ const registryMessage = formatSpawnMessage(registryResult.spawnId, registryResult.error);
203
+ log(`\n${registryMessage}`);
204
+ }
205
+ /**
206
+ * Shared entry point for wu:brief and wu:delegate.
207
+ */
208
+ export async function runBriefLogic(options = {}) {
209
+ const { mode = 'brief', parserConfig = mode === 'delegate' ? DELEGATE_PARSER_CONFIG : BRIEF_PARSER_CONFIG, logPrefix = BRIEF_LOG_PREFIX, } = options;
210
+ const args = parseAndValidateArgs(parserConfig);
211
+ const explicitDelegation = mode === 'delegate';
212
+ const effectiveLogPrefix = explicitDelegation ? DELEGATE_LOG_PREFIX : logPrefix;
213
+ // WU-2202: Validate dependencies BEFORE any other operation
214
+ // This prevents false lane occupancy reports when yaml package is missing
215
+ const commandLabel = explicitDelegation ? 'wu:delegate' : 'wu:brief';
216
+ const depResult = await validateSpawnDependencies();
217
+ if (!depResult.valid) {
218
+ die(formatDependencyError(commandLabel, depResult.missing));
219
+ }
220
+ if (explicitDelegation && !args.parentWu) {
221
+ die('wu:delegate requires --parent-wu to record delegation lineage intent.\n\n' +
222
+ 'Example:\n' +
223
+ ' pnpm wu:delegate --id WU-123 --parent-wu WU-100 --client claude-code');
224
+ }
225
+ if (!explicitDelegation && args.parentWu) {
226
+ console.warn(`${effectiveLogPrefix} ${EMOJI.WARNING} --parent-wu does not record lineage in generation-only mode.`);
227
+ console.warn(`${effectiveLogPrefix} ${EMOJI.WARNING} Use wu:delegate for explicit, side-effectful delegation intent tracking.`);
228
+ console.warn('');
229
+ }
230
+ const id = args.id.toUpperCase();
231
+ if (!PATTERNS.WU_ID.test(id)) {
232
+ die(`Invalid WU id '${args.id}'. Expected format WU-123`);
233
+ }
234
+ const wuPath = WU_PATHS.WU(id);
235
+ const doc = loadWUDocument(id, wuPath);
236
+ // Warn if WU is not in ready or in_progress status
237
+ const validStatuses = [WU_STATUS.READY, WU_STATUS.IN_PROGRESS];
238
+ if (!validStatuses.includes(doc.status)) {
239
+ console.warn(`${effectiveLogPrefix} ${EMOJI.WARNING} Warning: ${id} has status '${doc.status}'.`);
240
+ console.warn(`${effectiveLogPrefix} ${EMOJI.WARNING} Sub-agents typically work on ready or in_progress WUs.`);
241
+ console.warn('');
242
+ }
243
+ // WU-1603: Check if lane is already occupied and warn
244
+ await checkAndWarnLaneOccupation(doc.lane, id, effectiveLogPrefix);
245
+ // Build thinking mode options for task invocation
246
+ const thinkingOptions = {
247
+ thinking: args.thinking,
248
+ noThinking: args.noThinking,
249
+ budget: args.budget,
250
+ };
251
+ // Client Resolution
252
+ const config = getConfig();
253
+ const clientName = resolveClientName(args, config, effectiveLogPrefix);
254
+ // WU-1240: Generate memory context if not skipped
255
+ const baseDir = process.cwd();
256
+ let memoryContextContent = '';
257
+ const shouldIncludeMemoryContext = !args.noContext;
258
+ if (shouldIncludeMemoryContext) {
259
+ const isMemoryInitialized = await checkMemoryLayerInitialized(baseDir);
260
+ if (isMemoryInitialized) {
261
+ const maxSize = getMemoryContextMaxSize(config);
262
+ memoryContextContent = await generateMemoryContextSection(baseDir, {
263
+ wuId: id,
264
+ lane: doc.lane,
265
+ maxSize,
266
+ });
267
+ if (memoryContextContent) {
268
+ console.log(`${effectiveLogPrefix} Memory context loaded (${memoryContextContent.length} bytes)`);
269
+ }
270
+ }
271
+ }
272
+ // Create strategy
273
+ const strategy = SpawnStrategyFactory.create(clientName);
274
+ const clientContext = { name: clientName, config: resolveClientConfig(config, clientName) };
275
+ const isCodexClient = clientName === 'codex-cli' || args.codex;
276
+ if (isCodexClient) {
277
+ const prompt = generateCodexPrompt(doc, id, strategy, {
278
+ ...thinkingOptions,
279
+ client: clientContext,
280
+ config,
281
+ });
282
+ await emitSpawnOutputWithRegistry({
283
+ id,
284
+ output: prompt,
285
+ isCodexClient: true,
286
+ parentWu: args.parentWu,
287
+ lane: doc.lane,
288
+ recordDelegationIntent: explicitDelegation,
289
+ logPrefix: effectiveLogPrefix,
290
+ });
291
+ return;
292
+ }
293
+ // Generate and output the Task invocation
294
+ const invocation = generateTaskInvocation(doc, id, strategy, {
295
+ ...thinkingOptions,
296
+ client: clientContext,
297
+ config,
298
+ // WU-1240: Include memory context in spawn prompt
299
+ baseDir,
300
+ includeMemoryContext: shouldIncludeMemoryContext && memoryContextContent.length > 0,
301
+ memoryContextContent,
302
+ noContext: args.noContext,
303
+ });
304
+ await emitSpawnOutputWithRegistry({
305
+ id,
306
+ output: invocation,
307
+ isCodexClient: false,
308
+ parentWu: args.parentWu,
309
+ lane: doc.lane,
310
+ recordDelegationIntent: explicitDelegation,
311
+ logPrefix: effectiveLogPrefix,
312
+ });
313
+ }
314
+ //# sourceMappingURL=wu-spawn-strategy-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-spawn-strategy-resolver.js","sourceRoot":"","sources":["../src/wu-spawn-strategy-resolver.ts"],"names":[],"mappings":"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"}