@lumenflow/cli 2.12.0 → 2.14.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 +105 -105
- package/dist/gates-graceful-degradation.js +151 -0
- package/dist/gates-graceful-degradation.js.map +1 -0
- package/dist/gates.js +90 -5
- package/dist/gates.js.map +1 -1
- package/dist/hooks/enforcement-checks.js +104 -37
- package/dist/hooks/enforcement-checks.js.map +1 -1
- package/dist/hooks/enforcement-generator.js +229 -28
- package/dist/hooks/enforcement-generator.js.map +1 -1
- package/dist/hooks/enforcement-sync.js +4 -1
- package/dist/hooks/enforcement-sync.js.map +1 -1
- package/dist/init.js +160 -13
- package/dist/init.js.map +1 -1
- package/dist/initiative-edit.js +3 -2
- package/dist/initiative-edit.js.map +1 -1
- package/dist/lifecycle-regression-harness.js +179 -0
- package/dist/lifecycle-regression-harness.js.map +1 -0
- package/dist/mem-recover.js +0 -0
- package/dist/public-manifest.js +7 -0
- package/dist/public-manifest.js.map +1 -1
- package/dist/wu-claim-mode.js +80 -0
- package/dist/wu-claim-mode.js.map +1 -0
- package/dist/wu-claim.js +163 -9
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-create.js +5 -1
- package/dist/wu-create.js.map +1 -1
- package/dist/wu-delete.js +196 -60
- package/dist/wu-delete.js.map +1 -1
- package/dist/wu-done.js +99 -17
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-edit.js +5 -4
- package/dist/wu-edit.js.map +1 -1
- package/dist/wu-prep.js +122 -27
- package/dist/wu-prep.js.map +1 -1
- package/package.json +7 -6
- package/templates/vendors/claude/.claude/hooks/enforce-worktree.sh +78 -17
- package/templates/vendors/claude/.claude/hooks/session-start-recovery.sh +30 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { mkdir, readdir, readFile, unlink, writeFile } from 'node:fs/promises';
|
|
3
|
+
import { join } from 'node:path';
|
|
4
|
+
import { diagnoseState, } from '@lumenflow/core/dist/state-doctor-core.js';
|
|
5
|
+
import { generateBacklog, generateStatus } from '@lumenflow/core/dist/backlog-generator.js';
|
|
6
|
+
import { WU_STATUS } from '@lumenflow/core/dist/wu-constants.js';
|
|
7
|
+
import { WUStateStore, WU_EVENTS_FILE_NAME } from '@lumenflow/core/dist/wu-state-store.js';
|
|
8
|
+
import { parseYAML, stringifyYAML } from '@lumenflow/core/dist/wu-yaml.js';
|
|
9
|
+
const PATHS = {
|
|
10
|
+
wuDir: join('docs', '04-operations', 'tasks', 'wu'),
|
|
11
|
+
stateDir: join('.lumenflow', 'state'),
|
|
12
|
+
stampsDir: join('.lumenflow', 'stamps'),
|
|
13
|
+
};
|
|
14
|
+
export class LifecycleHarnessError extends Error {
|
|
15
|
+
stage;
|
|
16
|
+
constructor(stage, message, cause) {
|
|
17
|
+
super(`[${stage}] ${message}`);
|
|
18
|
+
this.name = 'LifecycleHarnessError';
|
|
19
|
+
this.stage = stage;
|
|
20
|
+
if (cause) {
|
|
21
|
+
this.cause = cause;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
async function withStage(stage, fn) {
|
|
26
|
+
try {
|
|
27
|
+
return await fn();
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
if (error instanceof LifecycleHarnessError) {
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
throw new LifecycleHarnessError(stage, error instanceof Error ? error.message : String(error), error);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function assertStage(condition, stage, message) {
|
|
37
|
+
if (!condition) {
|
|
38
|
+
throw new LifecycleHarnessError(stage, message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function wuPath(projectDir, wuId) {
|
|
42
|
+
return join(projectDir, PATHS.wuDir, `${wuId}.yaml`);
|
|
43
|
+
}
|
|
44
|
+
function eventsPath(projectDir) {
|
|
45
|
+
return join(projectDir, PATHS.stateDir, WU_EVENTS_FILE_NAME);
|
|
46
|
+
}
|
|
47
|
+
async function readEvents(projectDir) {
|
|
48
|
+
const eventFile = eventsPath(projectDir);
|
|
49
|
+
if (!existsSync(eventFile))
|
|
50
|
+
return [];
|
|
51
|
+
const lines = (await readFile(eventFile, 'utf8'))
|
|
52
|
+
.split('\n')
|
|
53
|
+
.filter((line) => line.trim().length > 0);
|
|
54
|
+
return lines.map((line) => JSON.parse(line));
|
|
55
|
+
}
|
|
56
|
+
async function writeEvents(projectDir, events) {
|
|
57
|
+
const eventFile = eventsPath(projectDir);
|
|
58
|
+
const payload = events.map((event) => JSON.stringify(event)).join('\n');
|
|
59
|
+
await writeFile(eventFile, payload.length > 0 ? `${payload}\n` : '', 'utf8');
|
|
60
|
+
}
|
|
61
|
+
async function createDoctorDeps(projectDir) {
|
|
62
|
+
return {
|
|
63
|
+
listWUs: async () => {
|
|
64
|
+
const dir = join(projectDir, PATHS.wuDir);
|
|
65
|
+
if (!existsSync(dir))
|
|
66
|
+
return [];
|
|
67
|
+
const entries = await readdir(dir);
|
|
68
|
+
const docs = [];
|
|
69
|
+
for (const file of entries) {
|
|
70
|
+
if (!file.endsWith('.yaml'))
|
|
71
|
+
continue;
|
|
72
|
+
const parsed = parseYAML(await readFile(join(dir, file), 'utf8'));
|
|
73
|
+
docs.push({
|
|
74
|
+
id: String(parsed.id),
|
|
75
|
+
status: String(parsed.status),
|
|
76
|
+
lane: parsed.lane ? String(parsed.lane) : undefined,
|
|
77
|
+
title: parsed.title ? String(parsed.title) : undefined,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return docs;
|
|
81
|
+
},
|
|
82
|
+
listStamps: async () => {
|
|
83
|
+
const dir = join(projectDir, PATHS.stampsDir);
|
|
84
|
+
if (!existsSync(dir))
|
|
85
|
+
return [];
|
|
86
|
+
const entries = await readdir(dir);
|
|
87
|
+
return entries
|
|
88
|
+
.filter((file) => file.endsWith('.done'))
|
|
89
|
+
.map((file) => file.replace('.done', ''));
|
|
90
|
+
},
|
|
91
|
+
listSignals: async () => [],
|
|
92
|
+
listEvents: async () => {
|
|
93
|
+
const events = await readEvents(projectDir);
|
|
94
|
+
return events.map((event) => ({
|
|
95
|
+
wuId: String(event.wuId ?? event.wu_id ?? ''),
|
|
96
|
+
type: String(event.type ?? ''),
|
|
97
|
+
timestamp: event.timestamp ? String(event.timestamp) : undefined,
|
|
98
|
+
lane: event.lane ? String(event.lane) : undefined,
|
|
99
|
+
title: event.title ? String(event.title) : undefined,
|
|
100
|
+
reason: event.reason ? String(event.reason) : undefined,
|
|
101
|
+
}));
|
|
102
|
+
},
|
|
103
|
+
removeEvent: async (wuId) => {
|
|
104
|
+
const events = await readEvents(projectDir);
|
|
105
|
+
const filtered = events.filter((event) => String(event.wuId ?? event.wu_id ?? '') !== wuId);
|
|
106
|
+
await writeEvents(projectDir, filtered);
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
export async function runLifecycleRegressionHarness(options) {
|
|
111
|
+
const { projectDir, wuId, lane, title, skipDoctorFix = false } = options;
|
|
112
|
+
const stageOrder = [];
|
|
113
|
+
const stateDir = join(projectDir, PATHS.stateDir);
|
|
114
|
+
const wuDir = join(projectDir, PATHS.wuDir);
|
|
115
|
+
await mkdir(wuDir, { recursive: true });
|
|
116
|
+
await mkdir(stateDir, { recursive: true });
|
|
117
|
+
await mkdir(join(projectDir, PATHS.stampsDir), { recursive: true });
|
|
118
|
+
await withStage('create', async () => {
|
|
119
|
+
stageOrder.push('create');
|
|
120
|
+
const doc = {
|
|
121
|
+
id: wuId,
|
|
122
|
+
title,
|
|
123
|
+
lane,
|
|
124
|
+
type: 'refactor',
|
|
125
|
+
status: WU_STATUS.READY,
|
|
126
|
+
priority: 'P2',
|
|
127
|
+
created: '2026-02-07',
|
|
128
|
+
description: 'Lifecycle harness test WU',
|
|
129
|
+
acceptance: ['Create, claim, complete, delete, doctor'],
|
|
130
|
+
code_paths: ['packages/@lumenflow/cli/src/lifecycle-regression-harness.ts'],
|
|
131
|
+
tests: { manual: ['Run lifecycle harness test'], unit: [], e2e: [] },
|
|
132
|
+
exposure: 'backend-only',
|
|
133
|
+
};
|
|
134
|
+
await writeFile(wuPath(projectDir, wuId), stringifyYAML(doc), 'utf8');
|
|
135
|
+
assertStage(existsSync(wuPath(projectDir, wuId)), 'create', `expected ${wuId}.yaml to exist`);
|
|
136
|
+
});
|
|
137
|
+
const store = new WUStateStore(stateDir);
|
|
138
|
+
await store.load();
|
|
139
|
+
await withStage('claim', async () => {
|
|
140
|
+
stageOrder.push('claim');
|
|
141
|
+
await store.claim(wuId, lane, title);
|
|
142
|
+
const current = store.getWUState(wuId);
|
|
143
|
+
assertStage(current?.status === WU_STATUS.IN_PROGRESS, 'claim', `expected ${wuId} status to be in_progress after claim`);
|
|
144
|
+
});
|
|
145
|
+
await withStage('done', async () => {
|
|
146
|
+
stageOrder.push('done');
|
|
147
|
+
await store.complete(wuId);
|
|
148
|
+
const current = store.getWUState(wuId);
|
|
149
|
+
assertStage(current?.status === WU_STATUS.DONE, 'done', `expected ${wuId} status to be done`);
|
|
150
|
+
});
|
|
151
|
+
await withStage('delete', async () => {
|
|
152
|
+
stageOrder.push('delete');
|
|
153
|
+
await unlink(wuPath(projectDir, wuId));
|
|
154
|
+
assertStage(!existsSync(wuPath(projectDir, wuId)), 'delete', `expected ${wuId}.yaml to be deleted`);
|
|
155
|
+
});
|
|
156
|
+
const diagnosis = await withStage('doctor', async () => {
|
|
157
|
+
stageOrder.push('doctor');
|
|
158
|
+
const deps = await createDoctorDeps(projectDir);
|
|
159
|
+
const result = await diagnoseState(projectDir, deps, { fix: !skipDoctorFix });
|
|
160
|
+
const verification = skipDoctorFix
|
|
161
|
+
? result
|
|
162
|
+
: await diagnoseState(projectDir, await createDoctorDeps(projectDir), { fix: false });
|
|
163
|
+
assertStage(verification.summary.brokenEvents === 0, 'doctor', `expected no Broken Event issues after doctor (found ${verification.summary.brokenEvents})`);
|
|
164
|
+
return verification;
|
|
165
|
+
});
|
|
166
|
+
const cleanStore = new WUStateStore(stateDir);
|
|
167
|
+
await cleanStore.load();
|
|
168
|
+
const backlogProjection = await generateBacklog(cleanStore, { projectRoot: projectDir, wuDir });
|
|
169
|
+
const statusProjection = await generateStatus(cleanStore);
|
|
170
|
+
assertStage(!backlogProjection.includes(wuId), 'doctor', `expected backlog projection to exclude deleted ${wuId}`);
|
|
171
|
+
assertStage(!statusProjection.includes(wuId), 'doctor', `expected status projection to exclude deleted ${wuId}`);
|
|
172
|
+
return {
|
|
173
|
+
stageOrder,
|
|
174
|
+
diagnosis,
|
|
175
|
+
backlogProjection,
|
|
176
|
+
statusProjection,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=lifecycle-regression-harness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecycle-regression-harness.js","sourceRoot":"","sources":["../src/lifecycle-regression-harness.ts"],"names":[],"mappings":"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"}
|
package/dist/mem-recover.js
CHANGED
|
File without changes
|
package/dist/public-manifest.js
CHANGED
|
@@ -337,6 +337,13 @@ export const PUBLIC_MANIFEST = [
|
|
|
337
337
|
description: 'Delete/archive a memory node',
|
|
338
338
|
category: COMMAND_CATEGORIES.MEMORY_SESSIONS,
|
|
339
339
|
},
|
|
340
|
+
{
|
|
341
|
+
name: 'mem:recover',
|
|
342
|
+
binName: 'mem-recover',
|
|
343
|
+
binPath: './dist/mem-recover.js',
|
|
344
|
+
description: 'Generate recovery context after compaction',
|
|
345
|
+
category: COMMAND_CATEGORIES.MEMORY_SESSIONS,
|
|
346
|
+
},
|
|
340
347
|
{
|
|
341
348
|
name: 'signal:cleanup',
|
|
342
349
|
binName: 'signal-cleanup',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-manifest.js","sourceRoot":"","sources":["../src/public-manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-manifest.js","sourceRoot":"","sources":["../src/public-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file wu-claim-mode.ts
|
|
3
|
+
* @description Mode resolution for wu:claim command
|
|
4
|
+
*
|
|
5
|
+
* WU-1491: Pure function that resolves CLI flag combinations into a claimed mode.
|
|
6
|
+
*
|
|
7
|
+
* Mode matrix:
|
|
8
|
+
* - default (no flags) -> worktree
|
|
9
|
+
* - --branch-only -> branch-only
|
|
10
|
+
* - --pr-mode -> worktree-pr
|
|
11
|
+
* - --cloud -> branch-pr
|
|
12
|
+
* - --branch-only --pr-mode -> branch-pr
|
|
13
|
+
* - --cloud --branch-only -> error (conflicting)
|
|
14
|
+
* - --cloud --pr-mode -> branch-pr (pr-mode redundant with cloud)
|
|
15
|
+
*/
|
|
16
|
+
import { CLAIMED_MODES } from '@lumenflow/core/dist/wu-constants.js';
|
|
17
|
+
/**
|
|
18
|
+
* Resolve CLI flag combination into a claimed mode with guard requirements.
|
|
19
|
+
*
|
|
20
|
+
* @param flags - CLI flags from parsed arguments
|
|
21
|
+
* @returns Resolution result with mode and guard requirements
|
|
22
|
+
*/
|
|
23
|
+
export function resolveClaimMode(flags) {
|
|
24
|
+
const { branchOnly, prMode, cloud } = flags;
|
|
25
|
+
// Conflict: --cloud and --branch-only are mutually exclusive
|
|
26
|
+
// --cloud implies branch-pr directly; --branch-only without --pr-mode means branch-only
|
|
27
|
+
if (cloud && branchOnly) {
|
|
28
|
+
return {
|
|
29
|
+
error: 'Conflicting flags: --cloud and --branch-only cannot be used together. ' +
|
|
30
|
+
'Use --cloud for branch-pr mode, or --branch-only for branch-only mode.',
|
|
31
|
+
skipBranchOnlySingletonGuard: false,
|
|
32
|
+
requireLaneLock: true,
|
|
33
|
+
requireLaneWipCheck: true,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// --cloud -> branch-pr (regardless of --pr-mode, which is redundant)
|
|
37
|
+
if (cloud) {
|
|
38
|
+
return {
|
|
39
|
+
mode: CLAIMED_MODES.BRANCH_PR,
|
|
40
|
+
skipBranchOnlySingletonGuard: true,
|
|
41
|
+
requireLaneLock: true,
|
|
42
|
+
requireLaneWipCheck: true,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
// --branch-only --pr-mode -> branch-pr
|
|
46
|
+
if (branchOnly && prMode) {
|
|
47
|
+
return {
|
|
48
|
+
mode: CLAIMED_MODES.BRANCH_PR,
|
|
49
|
+
skipBranchOnlySingletonGuard: true,
|
|
50
|
+
requireLaneLock: true,
|
|
51
|
+
requireLaneWipCheck: true,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// --branch-only -> branch-only (requires singleton guard)
|
|
55
|
+
if (branchOnly) {
|
|
56
|
+
return {
|
|
57
|
+
mode: CLAIMED_MODES.BRANCH_ONLY,
|
|
58
|
+
skipBranchOnlySingletonGuard: false,
|
|
59
|
+
requireLaneLock: true,
|
|
60
|
+
requireLaneWipCheck: true,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
// --pr-mode -> worktree-pr
|
|
64
|
+
if (prMode) {
|
|
65
|
+
return {
|
|
66
|
+
mode: CLAIMED_MODES.WORKTREE_PR,
|
|
67
|
+
skipBranchOnlySingletonGuard: true,
|
|
68
|
+
requireLaneLock: true,
|
|
69
|
+
requireLaneWipCheck: true,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
// Default -> worktree
|
|
73
|
+
return {
|
|
74
|
+
mode: CLAIMED_MODES.WORKTREE,
|
|
75
|
+
skipBranchOnlySingletonGuard: true,
|
|
76
|
+
requireLaneLock: true,
|
|
77
|
+
requireLaneWipCheck: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=wu-claim-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-claim-mode.js","sourceRoot":"","sources":["../src/wu-claim-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AA2BrE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAqB;IACpD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAE5C,6DAA6D;IAC7D,wFAAwF;IACxF,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;QACxB,OAAO;YACL,KAAK,EACH,wEAAwE;gBACxE,wEAAwE;YAC1E,4BAA4B,EAAE,KAAK;YACnC,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,IAAI,KAAK,EAAE,CAAC;QACV,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,SAAS;YAC7B,4BAA4B,EAAE,IAAI;YAClC,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,IAAI,UAAU,IAAI,MAAM,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,SAAS;YAC7B,4BAA4B,EAAE,IAAI;YAClC,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,WAAW;YAC/B,4BAA4B,EAAE,KAAK;YACnC,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,WAAW;YAC/B,4BAA4B,EAAE,IAAI;YAClC,eAAe,EAAE,IAAI;YACrB,mBAAmB,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,QAAQ;QAC5B,4BAA4B,EAAE,IAAI;QAClC,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;KAC1B,CAAC;AACJ,CAAC"}
|
package/dist/wu-claim.js
CHANGED
|
@@ -35,6 +35,10 @@ import { detectConflicts } from '@lumenflow/core/dist/code-paths-overlap.js';
|
|
|
35
35
|
import { getGitForCwd, createGitForPath } from '@lumenflow/core/dist/git-adapter.js';
|
|
36
36
|
import { die } from '@lumenflow/core/dist/error-handler.js';
|
|
37
37
|
import { createWUParser, WU_OPTIONS } from '@lumenflow/core/dist/arg-parser.js';
|
|
38
|
+
// WU-1491: Mode resolution for --cloud and flag combinations
|
|
39
|
+
import { resolveClaimMode } from './wu-claim-mode.js';
|
|
40
|
+
// WU-1495: Cloud auto-detection from config-driven env signals
|
|
41
|
+
import { detectCloudMode } from '@lumenflow/core/dist/cloud-detect.js';
|
|
38
42
|
import { WU_PATHS, getStateStoreDirFromBacklog } from '@lumenflow/core/dist/wu-paths.js';
|
|
39
43
|
import { BRANCHES, REMOTES, WU_STATUS, CLAIMED_MODES, STATUS_SECTIONS, PATTERNS, toKebab, LOG_PREFIX, GIT_REFS, MICRO_WORKTREE_OPERATIONS, COMMIT_FORMATS, EMOJI, FILE_SYSTEM, STRING_LITERALS, LUMENFLOW_PATHS, } from '@lumenflow/core/dist/wu-constants.js';
|
|
40
44
|
import { withMicroWorktree } from '@lumenflow/core/dist/micro-worktree.js';
|
|
@@ -49,6 +53,7 @@ import { surfaceUnreadSignals } from './hooks/enforcement-generator.js';
|
|
|
49
53
|
import { getConfig } from '@lumenflow/core/dist/lumenflow-config.js';
|
|
50
54
|
import { detectFixableIssues, applyFixes, autoFixWUYaml, formatIssues, } from '@lumenflow/core/dist/wu-yaml-fixer.js';
|
|
51
55
|
import { validateSpecCompleteness } from '@lumenflow/core/dist/wu-done-validators.js';
|
|
56
|
+
import { hasManualTests, isDocsOrProcessType } from '@lumenflow/core/dist/wu-type-helpers.js';
|
|
52
57
|
import { getAssignedEmail } from '@lumenflow/core/dist/wu-claim-helpers.js';
|
|
53
58
|
import { symlinkNodeModules, symlinkNestedNodeModules, } from '@lumenflow/core/dist/worktree-symlink.js';
|
|
54
59
|
// WU-1572: Import WUStateStore for event-sourced state tracking
|
|
@@ -110,6 +115,49 @@ async function ensureCleanOrClaimOnlyWhenNoAuto() {
|
|
|
110
115
|
}
|
|
111
116
|
}
|
|
112
117
|
const PREFIX = LOG_PREFIX.CLAIM;
|
|
118
|
+
/**
|
|
119
|
+
* WU-1508: Enforce tests.manual at claim time for non-doc/process WUs.
|
|
120
|
+
* This is non-bypassable (independent of --allow-incomplete) to fail early.
|
|
121
|
+
*/
|
|
122
|
+
export function validateManualTestsForClaim(doc, id) {
|
|
123
|
+
if (isDocsOrProcessType(doc?.type)) {
|
|
124
|
+
return { valid: true };
|
|
125
|
+
}
|
|
126
|
+
if (hasManualTests(doc?.tests)) {
|
|
127
|
+
return { valid: true };
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
valid: false,
|
|
131
|
+
error: `${id}: Missing required tests.manual for non-documentation WU.\n` +
|
|
132
|
+
`Add at least one manual verification step under tests.manual before claiming.`,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* WU-1521: Build a rolled-back version of a WU YAML doc by stripping claim metadata.
|
|
137
|
+
*
|
|
138
|
+
* When wu:claim fails after pushing YAML changes to origin/main but before
|
|
139
|
+
* worktree creation succeeds, this function produces a clean doc that can be
|
|
140
|
+
* written back to reset the WU to 'ready' state, enabling a clean retry.
|
|
141
|
+
*
|
|
142
|
+
* Pure function: does not mutate the input doc.
|
|
143
|
+
*
|
|
144
|
+
* @param doc - The claimed WU YAML document to roll back
|
|
145
|
+
* @returns A new document with status=ready and claim metadata removed
|
|
146
|
+
*/
|
|
147
|
+
export function buildRollbackYamlDoc(doc) {
|
|
148
|
+
// Shallow-copy to avoid mutating the original
|
|
149
|
+
const rolled = { ...doc };
|
|
150
|
+
// Reset status back to ready
|
|
151
|
+
rolled.status = WU_STATUS.READY;
|
|
152
|
+
// Remove claim-specific metadata fields
|
|
153
|
+
delete rolled.claimed_mode;
|
|
154
|
+
delete rolled.claimed_at;
|
|
155
|
+
delete rolled.worktree_path;
|
|
156
|
+
delete rolled.baseline_main_sha;
|
|
157
|
+
delete rolled.session_id;
|
|
158
|
+
delete rolled.assigned_to;
|
|
159
|
+
return rolled;
|
|
160
|
+
}
|
|
113
161
|
/**
|
|
114
162
|
* Pre-flight validation: Check WU file exists and is valid BEFORE any git operations
|
|
115
163
|
* Prevents zombie worktrees when WU YAML is missing or malformed
|
|
@@ -531,6 +579,77 @@ async function applyCanonicalClaimUpdate(ctx, sessionId) {
|
|
|
531
579
|
console.log(`${PREFIX} Canonical claim state updated on origin/main`);
|
|
532
580
|
return updatedTitle;
|
|
533
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* WU-1521: Rollback canonical claim state on origin/main after partial failure.
|
|
584
|
+
*
|
|
585
|
+
* When wu:claim pushes YAML changes to origin/main (via applyCanonicalClaimUpdate)
|
|
586
|
+
* but then fails to create the worktree or branch, this function reverses the claim
|
|
587
|
+
* by writing the WU YAML back to 'ready' status and emitting a 'release' event
|
|
588
|
+
* to the state store. This ensures re-running wu:claim succeeds without wu:repair.
|
|
589
|
+
*
|
|
590
|
+
* Uses a push-only micro-worktree to atomically update origin/main.
|
|
591
|
+
*
|
|
592
|
+
* @param id - WU ID (e.g., 'WU-1521')
|
|
593
|
+
* @param lane - Lane name for the release event
|
|
594
|
+
* @param title - WU title for the release event
|
|
595
|
+
*/
|
|
596
|
+
async function rollbackCanonicalClaim(id, lane, title) {
|
|
597
|
+
console.log(`${PREFIX} Rolling back canonical claim for ${id}...`);
|
|
598
|
+
try {
|
|
599
|
+
await withMicroWorktree({
|
|
600
|
+
operation: MICRO_WORKTREE_OPERATIONS.WU_CLAIM,
|
|
601
|
+
id,
|
|
602
|
+
logPrefix: PREFIX,
|
|
603
|
+
pushOnly: true,
|
|
604
|
+
execute: async ({ worktreePath }) => {
|
|
605
|
+
const microWUPath = path.join(worktreePath, WU_PATHS.WU(id));
|
|
606
|
+
// Read the current (claimed) YAML from the micro-worktree
|
|
607
|
+
const text = await readFile(microWUPath, {
|
|
608
|
+
encoding: FILE_SYSTEM.UTF8,
|
|
609
|
+
});
|
|
610
|
+
const doc = parseYAML(text);
|
|
611
|
+
// Build the rolled-back doc and write it
|
|
612
|
+
const rolledBackDoc = buildRollbackYamlDoc(doc);
|
|
613
|
+
const out = stringifyYAML(rolledBackDoc);
|
|
614
|
+
await writeFile(microWUPath, out, {
|
|
615
|
+
encoding: FILE_SYSTEM.UTF8,
|
|
616
|
+
});
|
|
617
|
+
// Emit a release event to the state store so the claim event is reversed
|
|
618
|
+
const microBacklogPath = path.join(worktreePath, WU_PATHS.BACKLOG());
|
|
619
|
+
const stateDir = getStateStoreDirFromBacklog(microBacklogPath);
|
|
620
|
+
const store = new WUStateStore(stateDir);
|
|
621
|
+
await store.load();
|
|
622
|
+
await store.release(id, `Rollback: wu:claim failed after canonical update`);
|
|
623
|
+
// Regenerate backlog.md and status.md from the corrected state
|
|
624
|
+
const backlogContent = await generateBacklog(store);
|
|
625
|
+
await writeFile(microBacklogPath, backlogContent, {
|
|
626
|
+
encoding: FILE_SYSTEM.UTF8,
|
|
627
|
+
});
|
|
628
|
+
const microStatusPath = path.join(worktreePath, WU_PATHS.STATUS());
|
|
629
|
+
const statusContent = await generateStatus(store);
|
|
630
|
+
await writeFile(microStatusPath, statusContent, {
|
|
631
|
+
encoding: FILE_SYSTEM.UTF8,
|
|
632
|
+
});
|
|
633
|
+
return {
|
|
634
|
+
commitMessage: `wu(${id.toLowerCase()}): rollback claim after partial failure`,
|
|
635
|
+
files: [
|
|
636
|
+
WU_PATHS.WU(id),
|
|
637
|
+
WU_PATHS.STATUS(),
|
|
638
|
+
WU_PATHS.BACKLOG(),
|
|
639
|
+
LUMENFLOW_PATHS.WU_EVENTS,
|
|
640
|
+
],
|
|
641
|
+
};
|
|
642
|
+
},
|
|
643
|
+
});
|
|
644
|
+
console.log(`${PREFIX} Canonical claim rolled back for ${id}`);
|
|
645
|
+
}
|
|
646
|
+
catch (rollbackErr) {
|
|
647
|
+
// Rollback failure should not mask the original error.
|
|
648
|
+
// Log the rollback failure but let the original error propagate.
|
|
649
|
+
console.error(`${PREFIX} WARNING: Failed to rollback canonical claim for ${id}: ${rollbackErr.message}`);
|
|
650
|
+
console.error(`${PREFIX} Manual recovery required: pnpm wu:repair --id ${id} --claim`);
|
|
651
|
+
}
|
|
652
|
+
}
|
|
534
653
|
async function readWUTitle(id) {
|
|
535
654
|
const p = WU_PATHS.WU(id);
|
|
536
655
|
// Check file exists
|
|
@@ -1191,6 +1310,7 @@ async function main() {
|
|
|
1191
1310
|
WU_OPTIONS.fix,
|
|
1192
1311
|
WU_OPTIONS.reason,
|
|
1193
1312
|
WU_OPTIONS.allowIncomplete,
|
|
1313
|
+
WU_OPTIONS.cloud, // WU-1491: Cloud/branch-pr mode for cloud agents
|
|
1194
1314
|
WU_OPTIONS.resume, // WU-2411: Agent handoff flag
|
|
1195
1315
|
WU_OPTIONS.skipSetup, // WU-1023: Skip auto-setup for fast claims
|
|
1196
1316
|
WU_OPTIONS.noPush, // Skip pushing claim state/branch (air-gapped)
|
|
@@ -1237,6 +1357,10 @@ async function main() {
|
|
|
1237
1357
|
const BACKLOG_PATH = WU_PATHS.BACKLOG();
|
|
1238
1358
|
// PRE-FLIGHT VALIDATION (on post-pull data)
|
|
1239
1359
|
const doc = preflightValidateWU(WU_PATH, id);
|
|
1360
|
+
const manualTestsCheck = validateManualTestsForClaim(doc, id);
|
|
1361
|
+
if (!manualTestsCheck.valid) {
|
|
1362
|
+
die(manualTestsCheck.error);
|
|
1363
|
+
}
|
|
1240
1364
|
await handleOrphanCheck(args.lane, id);
|
|
1241
1365
|
validateLaneFormatWithError(args.lane);
|
|
1242
1366
|
// WU-1187: Check for WIP justification when WIP > 1 (soft enforcement - warning only)
|
|
@@ -1312,6 +1436,9 @@ async function main() {
|
|
|
1312
1436
|
// WU-1808: Wrap claim execution in try/finally to ensure lock release on failure
|
|
1313
1437
|
// If claim fails after lock acquisition, the lane would be blocked without this cleanup
|
|
1314
1438
|
let claimSucceeded = false;
|
|
1439
|
+
// WU-1521: Track canonical claim push state for rollback in finally block
|
|
1440
|
+
let canonicalClaimPushed = false;
|
|
1441
|
+
let claimTitle = '';
|
|
1315
1442
|
try {
|
|
1316
1443
|
// Code paths overlap detection (WU-901)
|
|
1317
1444
|
handleCodePathOverlap(WU_PATH, STATUS_PATH, id, args);
|
|
@@ -1321,16 +1448,31 @@ async function main() {
|
|
|
1321
1448
|
const title = (await readWUTitle(id)) || '';
|
|
1322
1449
|
const branch = args.branch || `lane/${laneK}/${idK}`;
|
|
1323
1450
|
const worktree = args.worktree || `worktrees/${laneK}-${idK}`;
|
|
1324
|
-
//
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1451
|
+
// WU-1495: Cloud auto-detection from config-driven env signals
|
|
1452
|
+
// Detection precedence: --cloud flag > LUMENFLOW_CLOUD=1 > env_signals (opt-in)
|
|
1453
|
+
const config = getConfig();
|
|
1454
|
+
const cloudDetection = detectCloudMode({
|
|
1455
|
+
cloudFlag: Boolean(args.cloud),
|
|
1456
|
+
env: process.env,
|
|
1457
|
+
config: config.cloud,
|
|
1458
|
+
});
|
|
1459
|
+
const effectiveCloud = cloudDetection.isCloud;
|
|
1460
|
+
if (cloudDetection.isCloud && !args.cloud) {
|
|
1461
|
+
console.log(`${PREFIX} Cloud mode auto-detected (source: ${cloudDetection.source}${cloudDetection.matchedSignal ? `, signal: ${cloudDetection.matchedSignal}` : ''})`);
|
|
1328
1462
|
}
|
|
1329
|
-
|
|
1330
|
-
|
|
1463
|
+
// WU-1491: Resolve claimed mode from flag combination
|
|
1464
|
+
const modeResult = resolveClaimMode({
|
|
1465
|
+
branchOnly: args.branchOnly,
|
|
1466
|
+
prMode: args.prMode,
|
|
1467
|
+
cloud: effectiveCloud,
|
|
1468
|
+
});
|
|
1469
|
+
if (modeResult.error) {
|
|
1470
|
+
die(modeResult.error);
|
|
1331
1471
|
}
|
|
1332
|
-
|
|
1333
|
-
|
|
1472
|
+
const claimedMode = modeResult.mode;
|
|
1473
|
+
// Branch-Only singleton guard: only for pure branch-only mode (not branch-pr)
|
|
1474
|
+
// branch-pr skips this guard because it supports parallel agents via PR isolation
|
|
1475
|
+
if (!modeResult.skipBranchOnlySingletonGuard) {
|
|
1334
1476
|
await validateBranchOnlyMode(STATUS_PATH, id);
|
|
1335
1477
|
}
|
|
1336
1478
|
// Check if remote branch already exists (prevents duplicate global claims)
|
|
@@ -1404,8 +1546,13 @@ async function main() {
|
|
|
1404
1546
|
stagedChanges,
|
|
1405
1547
|
};
|
|
1406
1548
|
let updatedTitle = title;
|
|
1549
|
+
claimTitle = title;
|
|
1407
1550
|
if (!args.noPush) {
|
|
1408
1551
|
updatedTitle = (await applyCanonicalClaimUpdate(baseCtx, sessionId)) || updatedTitle;
|
|
1552
|
+
// WU-1521: Mark that canonical claim was pushed to origin/main
|
|
1553
|
+
// If claim fails after this point, the finally block will rollback
|
|
1554
|
+
canonicalClaimPushed = true;
|
|
1555
|
+
claimTitle = updatedTitle || title;
|
|
1409
1556
|
// Refresh origin/main after push-only update so worktrees start from canonical state
|
|
1410
1557
|
await getGitForCwd().fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
|
|
1411
1558
|
}
|
|
@@ -1414,7 +1561,9 @@ async function main() {
|
|
|
1414
1561
|
sessionId,
|
|
1415
1562
|
updatedTitle,
|
|
1416
1563
|
};
|
|
1417
|
-
|
|
1564
|
+
// WU-1491: Route to correct mode handler
|
|
1565
|
+
// branch-pr uses branch-only workflow (no worktree) but with branch-pr claimed_mode
|
|
1566
|
+
if (claimedMode === CLAIMED_MODES.BRANCH_ONLY || claimedMode === CLAIMED_MODES.BRANCH_PR) {
|
|
1418
1567
|
await claimBranchOnlyMode(ctx);
|
|
1419
1568
|
}
|
|
1420
1569
|
else {
|
|
@@ -1427,6 +1576,11 @@ async function main() {
|
|
|
1427
1576
|
// WU-1808: Release lane lock if claim did not complete successfully
|
|
1428
1577
|
// This prevents orphan locks from blocking the lane when claim crashes or fails
|
|
1429
1578
|
if (!claimSucceeded) {
|
|
1579
|
+
// WU-1521: Rollback canonical claim state if it was pushed to origin/main
|
|
1580
|
+
// This ensures re-running wu:claim succeeds without needing wu:repair
|
|
1581
|
+
if (canonicalClaimPushed) {
|
|
1582
|
+
await rollbackCanonicalClaim(id, args.lane, claimTitle);
|
|
1583
|
+
}
|
|
1430
1584
|
console.log(`${PREFIX} Claim did not complete - releasing lane lock...`);
|
|
1431
1585
|
const releaseResult = releaseLaneLock(args.lane, { wuId: id });
|
|
1432
1586
|
if (releaseResult.released && !releaseResult.notFound) {
|