@lumenflow/cli 4.10.0 → 4.12.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 (70) hide show
  1. package/README.md +1 -0
  2. package/dist/doctor.js +186 -0
  3. package/dist/doctor.js.map +1 -1
  4. package/dist/gates-runners.js +26 -9
  5. package/dist/gates-runners.js.map +1 -1
  6. package/dist/init-package-config.js +24 -0
  7. package/dist/init-package-config.js.map +1 -1
  8. package/dist/init.js +124 -3
  9. package/dist/init.js.map +1 -1
  10. package/dist/lane-create.js +9 -2
  11. package/dist/lane-create.js.map +1 -1
  12. package/dist/lane-edit.js +21 -4
  13. package/dist/lane-edit.js.map +1 -1
  14. package/dist/lane-remove.js +214 -0
  15. package/dist/lane-remove.js.map +1 -0
  16. package/dist/public-manifest.js +14 -0
  17. package/dist/public-manifest.js.map +1 -1
  18. package/dist/state-doctor.js +14 -7
  19. package/dist/state-doctor.js.map +1 -1
  20. package/dist/wu-claim-branch.js +8 -15
  21. package/dist/wu-claim-branch.js.map +1 -1
  22. package/dist/wu-claim-output.js +22 -0
  23. package/dist/wu-claim-output.js.map +1 -1
  24. package/dist/wu-claim-state.js +5 -1
  25. package/dist/wu-claim-state.js.map +1 -1
  26. package/dist/wu-claim-worktree.js +7 -16
  27. package/dist/wu-claim-worktree.js.map +1 -1
  28. package/dist/wu-code-path-coverage.js +42 -3
  29. package/dist/wu-code-path-coverage.js.map +1 -1
  30. package/dist/wu-create.js +57 -6
  31. package/dist/wu-create.js.map +1 -1
  32. package/dist/wu-done-git-ops.js +5 -1
  33. package/dist/wu-done-git-ops.js.map +1 -1
  34. package/dist/wu-done-policies.js +4 -10
  35. package/dist/wu-done-policies.js.map +1 -1
  36. package/dist/wu-done.js +7 -10
  37. package/dist/wu-done.js.map +1 -1
  38. package/dist/wu-edit-operations.js +80 -32
  39. package/dist/wu-edit-operations.js.map +1 -1
  40. package/dist/wu-edit-validators.js +48 -0
  41. package/dist/wu-edit-validators.js.map +1 -1
  42. package/dist/wu-edit.js +72 -0
  43. package/dist/wu-edit.js.map +1 -1
  44. package/dist/wu-prep.js +31 -5
  45. package/dist/wu-prep.js.map +1 -1
  46. package/dist/wu-recover.js +50 -0
  47. package/dist/wu-recover.js.map +1 -1
  48. package/dist/wu-rename.js +238 -0
  49. package/dist/wu-rename.js.map +1 -0
  50. package/dist/wu-spawn-prompt-builders.js +157 -27
  51. package/dist/wu-spawn-prompt-builders.js.map +1 -1
  52. package/dist/wu-spawn-strategy-resolver.js +9 -1
  53. package/dist/wu-spawn-strategy-resolver.js.map +1 -1
  54. package/dist/wu-state-mutation-ownership.js +22 -4
  55. package/dist/wu-state-mutation-ownership.js.map +1 -1
  56. package/package.json +9 -8
  57. package/packs/agent-runtime/.turbo/turbo-build.log +1 -1
  58. package/packs/agent-runtime/package.json +1 -1
  59. package/packs/sidekick/.turbo/turbo-build.log +1 -1
  60. package/packs/sidekick/package.json +1 -1
  61. package/packs/software-delivery/.turbo/turbo-build.log +1 -1
  62. package/packs/software-delivery/package.json +1 -1
  63. package/templates/core/.lumenflow/constraints.md.template +2 -0
  64. package/templates/core/AGENTS.md.template +14 -0
  65. package/templates/core/LUMENFLOW.md.template +16 -0
  66. package/templates/core/ai/onboarding/docs-generation.md.template +23 -0
  67. package/templates/core/ai/onboarding/quick-ref-commands.md.template +52 -21
  68. package/templates/core/ai/onboarding/release-process.md.template +43 -23
  69. package/templates/core/ai/onboarding/starting-prompt.md.template +15 -5
  70. package/templates/core/ai/onboarding/troubleshooting-wu-done.md.template +6 -2
@@ -329,16 +329,66 @@ async function executeResume(wuId) {
329
329
  return false;
330
330
  }
331
331
  }
332
+ /**
333
+ * WU-2550: Check whether a completion stamp exists at the given path.
334
+ *
335
+ * Exported as a pure wrapper around existsSync so the reset guard can
336
+ * be unit-tested without mocking the entire WU_PATHS config chain.
337
+ *
338
+ * @param stampPath - Absolute path to the candidate `.done` stamp file.
339
+ * @returns true if the stamp file exists, false otherwise.
340
+ */
341
+ export function isStampPresent(stampPath) {
342
+ return existsSync(stampPath);
343
+ }
344
+ /**
345
+ * WU-2550: Build the user-facing message when reset is refused due to a stamp.
346
+ *
347
+ * The message has three jobs:
348
+ * 1. Explain why the reset was refused (stamp indicates the WU is done).
349
+ * 2. Steer the common case (stale metadata) toward `wu:repair`.
350
+ * 3. Document the manual override for the rare case of genuinely undoing
351
+ * a completed WU — delete the stamp file, then re-run the same reset
352
+ * command. We deliberately do NOT add a new override flag; YAGNI.
353
+ *
354
+ * Exported so the message can be asserted in unit tests.
355
+ */
356
+ export function getResetBlockedByStampMessage(wuId, stampPath) {
357
+ return [
358
+ `${LOG_PREFIX} ${EMOJI.FAILURE} Cannot reset ${wuId}: completion stamp exists at ${stampPath}`,
359
+ `${LOG_PREFIX}`,
360
+ `${LOG_PREFIX} Resetting a WU with a .done stamp would silently discard completion`,
361
+ `${LOG_PREFIX} metadata and create the kind of drift that has to be repaired later.`,
362
+ `${LOG_PREFIX}`,
363
+ `${LOG_PREFIX} Common case — YAML status is out of sync with the stamp: use wu:repair.`,
364
+ `${LOG_PREFIX} pnpm wu:repair --id ${wuId}`,
365
+ `${LOG_PREFIX}`,
366
+ `${LOG_PREFIX} Rare case — you really want to undo a completed WU: delete the stamp first.`,
367
+ `${LOG_PREFIX} rm ${stampPath}`,
368
+ `${LOG_PREFIX} pnpm wu:recover --id ${wuId} --action reset --force`,
369
+ ].join('\n');
370
+ }
332
371
  /**
333
372
  * Execute reset action - discard worktree and reset to ready
334
373
  *
335
374
  * WU-1226: Uses micro-worktree isolation for WU YAML state changes.
336
375
  * WU-1419: Emits release event to state store so WU can be re-claimed.
376
+ * WU-2550: Refuses to proceed when a `.done` stamp exists — resetting a
377
+ * completed WU is almost always drift repair gone wrong; point
378
+ * the user at wu:repair instead.
337
379
  * Worktree removal still happens directly (git operation, not file write).
338
380
  * Changes are pushed via merge, not direct file modification on main.
339
381
  */
340
382
  async function executeReset(wuId, discardChanges = false) {
341
383
  console.log(`${LOG_PREFIX} Executing reset action for ${wuId}...`);
384
+ // WU-2550: Stamp guard — refuse to clobber a done WU even with --force.
385
+ // The common cause of hitting this branch is stale YAML metadata after
386
+ // an earlier reset; wu:repair is the right tool for that case.
387
+ const stampPath = WU_PATHS.STAMP(wuId);
388
+ if (isStampPresent(stampPath)) {
389
+ console.error(getResetBlockedByStampMessage(wuId, stampPath));
390
+ return false;
391
+ }
342
392
  const wuPath = WU_PATHS.WU(wuId);
343
393
  if (!existsSync(wuPath)) {
344
394
  console.error(`${LOG_PREFIX} ${EMOJI.FAILURE} WU file not found: ${wuPath}`);
@@ -1 +1 @@
1
- {"version":3,"file":"wu-recover.js","sourceRoot":"","sources":["../src/wu-recover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-recover.js","sourceRoot":"","sources":["../src/wu-recover.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ #!/usr/bin/env node
2
+ // Copyright (c) 2026 Hellmai Ltd
3
+ // SPDX-License-Identifier: AGPL-3.0-only
4
+ /**
5
+ * WU Rename Command (WU-2552)
6
+ *
7
+ * Renames a Work Unit: moves the YAML file, rewrites its id field, moves
8
+ * the .done stamp, appends a wu_renamed event to wu-events.jsonl, and
9
+ * regenerates backlog.md and status.md from the store.
10
+ *
11
+ * Modes:
12
+ * - Default: performs the full filesystem rename + event append + view regen.
13
+ * - --replay-only: skips file renames and only appends the wu_renamed event
14
+ * plus regenerates the generated views. Used for downstream repos that
15
+ * already canonicalized their YAML on disk but still need the event
16
+ * history to catch up so backlog/status regeneration honors the new id.
17
+ *
18
+ * Usage:
19
+ * pnpm wu:rename --from WU-5 --to WU-0015
20
+ * pnpm wu:rename --from WU-5 --to WU-0015 --reason 'canonicalize'
21
+ * pnpm wu:rename --from WU-5 --to WU-0015 --replay-only
22
+ *
23
+ * Related:
24
+ * wu-id-format primitives (canonicalizeWuId, isCanonicalWuId)
25
+ * wu-state-schema WU_EVENT_TYPE.WU_RENAMED
26
+ * backlog-generator rename projection
27
+ */
28
+ import { existsSync, readFileSync, writeFileSync, renameSync, unlinkSync } from 'node:fs';
29
+ import path from 'node:path';
30
+ import { getGitForCwd } from '@lumenflow/core/git-adapter';
31
+ import { die } from '@lumenflow/core/error-handler';
32
+ import { generateBacklog, generateStatus } from '@lumenflow/core/backlog-generator';
33
+ import { WUStateStore } from '@lumenflow/core/wu-state-store';
34
+ import { WU_EVENT_TYPE } from '@lumenflow/core/wu-state-schema';
35
+ import { WU_PATHS } from '@lumenflow/core/wu-paths';
36
+ import { ensureOnMain } from '@lumenflow/core/wu-helpers';
37
+ import { withMicroWorktree } from '@lumenflow/core/micro-worktree';
38
+ import { createWUParser, WU_OPTIONS } from '@lumenflow/core/arg-parser';
39
+ import { FILE_SYSTEM, MICRO_WORKTREE_OPERATIONS, PATTERNS } from '@lumenflow/core/wu-constants';
40
+ import { canonicalizeWuId, isCanonicalWuId, loadWuIdConfig } from '@lumenflow/core/wu-id-format';
41
+ import { runCLI } from './cli-entry-point.js';
42
+ import { resolveStateDir, resolveWuEventsRelativePath } from './state-path-resolvers.js';
43
+ const PREFIX = '[wu-rename]';
44
+ /**
45
+ * Rewrite the `id:` field inside a WU YAML file without otherwise touching
46
+ * it. A minimal textual replacement is preferred over full parse/stringify
47
+ * so that comments and key ordering are preserved.
48
+ */
49
+ function rewriteIdField(yamlPath, newId) {
50
+ const body = readFileSync(yamlPath, { encoding: 'utf-8' });
51
+ const lines = body.split('\n');
52
+ let found = false;
53
+ for (let i = 0; i < lines.length; i += 1) {
54
+ const line = lines[i] ?? '';
55
+ if (/^id:\s*/.test(line)) {
56
+ lines[i] = `id: ${newId}`;
57
+ found = true;
58
+ break;
59
+ }
60
+ }
61
+ if (!found) {
62
+ throw new Error(`${PREFIX} YAML file ${yamlPath} has no id: field`);
63
+ }
64
+ writeFileSync(yamlPath, lines.join('\n'), { encoding: 'utf-8' });
65
+ }
66
+ /**
67
+ * Move a file atomically (rename). Returns true when the source existed.
68
+ */
69
+ function moveIfExists(src, dest) {
70
+ if (!existsSync(src)) {
71
+ return false;
72
+ }
73
+ renameSync(src, dest);
74
+ return true;
75
+ }
76
+ /**
77
+ * Execute a rename transaction on the given filesystem tree. Pure with
78
+ * respect to git/process state; callers that need a git-committed rename
79
+ * should wrap this in a micro-worktree.
80
+ *
81
+ * Validates input, performs the file operations (unless replayOnly),
82
+ * appends the wu_renamed event, and regenerates backlog.md and status.md
83
+ * from the updated state.
84
+ */
85
+ export async function performRenameTransaction(input) {
86
+ const { from, to, reason, replayOnly, wuDir, stampsDir, stateDir, backlogPath, statusPath } = input;
87
+ if (!from || !to) {
88
+ throw new Error(`${PREFIX} from and to are required`);
89
+ }
90
+ if (from === to) {
91
+ throw new Error(`${PREFIX} from and to must differ (got ${from})`);
92
+ }
93
+ const filesTouched = [];
94
+ const warnings = [];
95
+ const fromYaml = path.join(wuDir, `${from}.yaml`);
96
+ const toYaml = path.join(wuDir, `${to}.yaml`);
97
+ const fromStamp = path.join(stampsDir, `${from}.done`);
98
+ const toStamp = path.join(stampsDir, `${to}.done`);
99
+ if (!replayOnly) {
100
+ if (!existsSync(fromYaml)) {
101
+ throw new Error(`${PREFIX} source WU YAML not found: ${fromYaml}`);
102
+ }
103
+ if (existsSync(toYaml)) {
104
+ throw new Error(`${PREFIX} target WU YAML already exists: ${toYaml}`);
105
+ }
106
+ // Move yaml and rewrite id field.
107
+ renameSync(fromYaml, toYaml);
108
+ rewriteIdField(toYaml, to);
109
+ filesTouched.push(fromYaml, toYaml);
110
+ // Move stamp if present.
111
+ if (moveIfExists(fromStamp, toStamp)) {
112
+ filesTouched.push(fromStamp, toStamp);
113
+ }
114
+ }
115
+ // Append wu_renamed event via the state store so the in-memory view is
116
+ // updated atomically with the event log append.
117
+ const store = new WUStateStore(stateDir);
118
+ await store.load();
119
+ await store.renameWu(from, to, reason);
120
+ const eventsPath = path.join(stateDir, 'wu-events.jsonl');
121
+ filesTouched.push(eventsPath);
122
+ // Regenerate backlog.md and status.md. The store's resolveRenamedWuId()
123
+ // is consulted by the backlog generator to skip yaml-scanned entries
124
+ // whose id has been renamed in the log.
125
+ const backlogContent = await generateBacklog(store, { wuDir });
126
+ writeFileSync(backlogPath, backlogContent, { encoding: 'utf-8' });
127
+ filesTouched.push(backlogPath);
128
+ const statusContent = await generateStatus(store);
129
+ writeFileSync(statusPath, statusContent, { encoding: 'utf-8' });
130
+ filesTouched.push(statusPath);
131
+ // Construct the event we just appended for the return value.
132
+ const event = {
133
+ type: WU_EVENT_TYPE.WU_RENAMED,
134
+ wuId: from,
135
+ from,
136
+ to,
137
+ ...(reason ? { reason } : {}),
138
+ // timestamp is set inside store.renameWu; we recover the latest
139
+ // wu_renamed event from the re-loaded store for a faithful echo.
140
+ timestamp: new Date().toISOString(),
141
+ };
142
+ return { filesTouched, warnings, event };
143
+ }
144
+ /**
145
+ * Determine whether a string is a plausible WU id in either canonical or
146
+ * legacy form. Used for --from validation, which must accept the legacy
147
+ * form so that downstream users can migrate WU-5 to WU-0015.
148
+ */
149
+ function assertLooksLikeWuId(label, id) {
150
+ if (!PATTERNS.WU_ID.test(id)) {
151
+ die(`${PREFIX} ${label}: invalid WU id format '${id}' (expected 'WU-\\d+')`);
152
+ }
153
+ }
154
+ /**
155
+ * Command entry point.
156
+ */
157
+ export async function main() {
158
+ const args = createWUParser({
159
+ name: 'wu-rename',
160
+ description: 'Rename a Work Unit (canonical WU IDs). Moves YAML, rewrites id field, ' +
161
+ 'moves stamp, appends wu_renamed event, and regenerates backlog/status.',
162
+ options: [WU_OPTIONS.from, WU_OPTIONS.to, WU_OPTIONS.reason, WU_OPTIONS.replayOnly],
163
+ required: ['from', 'to'],
164
+ });
165
+ const from = args.from.toUpperCase();
166
+ const to = args.to.toUpperCase();
167
+ const replayOnly = Boolean(args.replayOnly);
168
+ const reason = args.reason;
169
+ assertLooksLikeWuId('--from', from);
170
+ assertLooksLikeWuId('--to', to);
171
+ if (from === to) {
172
+ die(`${PREFIX} --from and --to must differ (both are ${from})`);
173
+ }
174
+ // Strict mode canonicalization guard: when the configured wu_id.strict
175
+ // is true, refuse a --to that is not already in canonical form so
176
+ // users don't accidentally rename to another legacy id.
177
+ const wuIdConfig = loadWuIdConfig();
178
+ if (wuIdConfig.strict && !isCanonicalWuId(to, wuIdConfig)) {
179
+ const suggested = canonicalizeWuId(to, wuIdConfig);
180
+ die(`${PREFIX} --to '${to}' is not canonical (strict mode is enabled).\n\n` +
181
+ `Canonical form for width=${wuIdConfig.width} and prefix='${wuIdConfig.prefix}'` +
182
+ (suggested ? ` would be '${suggested}'.` : '.') +
183
+ `\n\nOptions:\n` +
184
+ ` 1. Use the canonical form: pnpm wu:rename --from ${from} --to ${suggested ?? to}\n` +
185
+ ` 2. Disable strict mode: pnpm config:set --key software_delivery.wu_id.strict --value false`);
186
+ }
187
+ await ensureOnMain(getGitForCwd());
188
+ // Wrap in a micro-worktree so the commit lands on origin/main without
189
+ // pre-commit hook interference.
190
+ await withMicroWorktree({
191
+ operation: MICRO_WORKTREE_OPERATIONS.WU_BLOCK, // reuse an existing op id
192
+ id: to,
193
+ logPrefix: PREFIX,
194
+ pushOnly: true,
195
+ execute: async ({ worktreePath }) => {
196
+ const microInput = {
197
+ from,
198
+ to,
199
+ replayOnly,
200
+ ...(reason ? { reason } : {}),
201
+ wuDir: path.join(worktreePath, WU_PATHS.WU_DIR()),
202
+ stampsDir: path.join(worktreePath, WU_PATHS.STAMPS_DIR()),
203
+ stateDir: resolveStateDir(worktreePath),
204
+ backlogPath: path.join(worktreePath, WU_PATHS.BACKLOG()),
205
+ statusPath: path.join(worktreePath, WU_PATHS.STATUS()),
206
+ };
207
+ await performRenameTransaction(microInput);
208
+ return {
209
+ commitMessage: `wu(${to.toLowerCase()}): rename from ${from} (${replayOnly ? 'replay-only' : 'canonical'})${reason ? ' — ' + reason : ''}`,
210
+ files: [
211
+ WU_PATHS.WU(from),
212
+ WU_PATHS.WU(to),
213
+ WU_PATHS.STAMP(from),
214
+ WU_PATHS.STAMP(to),
215
+ WU_PATHS.BACKLOG(),
216
+ WU_PATHS.STATUS(),
217
+ resolveWuEventsRelativePath(worktreePath),
218
+ ],
219
+ };
220
+ },
221
+ });
222
+ console.log(`\n${PREFIX} WU renamed and pushed.`);
223
+ console.log(`- From: ${from}`);
224
+ console.log(`- To: ${to}`);
225
+ if (reason)
226
+ console.log(`- Reason: ${reason}`);
227
+ if (replayOnly)
228
+ console.log(`- Mode: --replay-only (yaml and stamp not moved)`);
229
+ // Unused local to silence the linter for imports that only matter in
230
+ // the micro-worktree path above.
231
+ void FILE_SYSTEM;
232
+ void unlinkSync;
233
+ }
234
+ // WU-1537: Use import.meta.main + runCLI for consistent EPIPE and error handling
235
+ if (import.meta.main) {
236
+ void runCLI(main);
237
+ }
238
+ //# sourceMappingURL=wu-rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-rename.js","sourceRoot":"","sources":["../src/wu-rename.ts"],"names":[],"mappings":"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"}