@lumenflow/cli 3.2.2 → 3.3.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/dist/config-set.js +4 -4
- package/dist/config-set.js.map +1 -1
- package/dist/docs-sync.js +26 -7
- package/dist/docs-sync.js.map +1 -1
- package/dist/doctor.js +6 -4
- package/dist/doctor.js.map +1 -1
- package/dist/gates-runners.js +2 -2
- package/dist/gates-runners.js.map +1 -1
- package/dist/gates-utils.js +2 -2
- package/dist/gates-utils.js.map +1 -1
- package/dist/guard-locked.js +11 -4
- package/dist/guard-locked.js.map +1 -1
- package/dist/guard-worktree-commit.js +27 -4
- package/dist/guard-worktree-commit.js.map +1 -1
- package/dist/hooks/enforcement-checks.js +50 -20
- package/dist/hooks/enforcement-checks.js.map +1 -1
- package/dist/hooks/generators/enforce-worktree.js +29 -7
- package/dist/hooks/generators/enforce-worktree.js.map +1 -1
- package/dist/init-lane-validation.js +2 -1
- package/dist/init-lane-validation.js.map +1 -1
- package/dist/init-templates.js +12 -4
- package/dist/init-templates.js.map +1 -1
- package/dist/init.js +2 -1
- package/dist/init.js.map +1 -1
- package/dist/initiative-plan.js +48 -15
- package/dist/initiative-plan.js.map +1 -1
- package/dist/lane-health.js +6 -4
- package/dist/lane-health.js.map +1 -1
- package/dist/mem-checkpoint.js +3 -5
- package/dist/mem-checkpoint.js.map +1 -1
- package/dist/onboarding-smoke-test.js +2 -1
- package/dist/onboarding-smoke-test.js.map +1 -1
- package/dist/state-path-resolvers.js +50 -0
- package/dist/state-path-resolvers.js.map +1 -0
- package/dist/validate-backlog-sync.js +0 -2
- package/dist/validate-backlog-sync.js.map +1 -1
- package/dist/workspace-init.js +2 -1
- package/dist/workspace-init.js.map +1 -1
- package/dist/wu-block.js +5 -4
- package/dist/wu-block.js.map +1 -1
- package/dist/wu-brief.js +2 -1
- package/dist/wu-brief.js.map +1 -1
- package/dist/wu-claim-resume-handler.js +3 -1
- package/dist/wu-claim-resume-handler.js.map +1 -1
- package/dist/wu-claim-state.js +12 -5
- package/dist/wu-claim-state.js.map +1 -1
- package/dist/wu-claim.js +2 -1
- package/dist/wu-claim.js.map +1 -1
- package/dist/wu-delete.js +2 -1
- package/dist/wu-delete.js.map +1 -1
- package/dist/wu-done-auto-cleanup.js +25 -9
- package/dist/wu-done-auto-cleanup.js.map +1 -1
- package/dist/wu-done.js +35 -15
- package/dist/wu-done.js.map +1 -1
- package/dist/wu-edit-validators.js +19 -8
- package/dist/wu-edit-validators.js.map +1 -1
- package/dist/wu-edit.js +3 -2
- package/dist/wu-edit.js.map +1 -1
- package/dist/wu-prep.js +18 -0
- package/dist/wu-prep.js.map +1 -1
- package/dist/wu-proto.js +3 -1
- package/dist/wu-proto.js.map +1 -1
- package/dist/wu-recover.js +5 -4
- package/dist/wu-recover.js.map +1 -1
- package/dist/wu-release.js +5 -4
- package/dist/wu-release.js.map +1 -1
- package/dist/wu-repair.js +3 -2
- package/dist/wu-repair.js.map +1 -1
- package/dist/wu-spawn-prompt-builders.js +49 -24
- package/dist/wu-spawn-prompt-builders.js.map +1 -1
- package/dist/wu-spawn-strategy-resolver.js +2 -1
- package/dist/wu-spawn-strategy-resolver.js.map +1 -1
- package/dist/wu-spawn.js +3 -1
- package/dist/wu-spawn.js.map +1 -1
- package/dist/wu-unblock.js +5 -4
- package/dist/wu-unblock.js.map +1 -1
- package/package.json +7 -7
|
@@ -15,12 +15,33 @@
|
|
|
15
15
|
* Exit codes:
|
|
16
16
|
* 0 - Commit allowed
|
|
17
17
|
* 1 - Commit blocked (WU commit from main)
|
|
18
|
-
*
|
|
19
|
-
* @see {@link docs/04-operations/_frameworks/lumenflow/lumenflow-complete.md} - Worktree discipline
|
|
20
18
|
*/
|
|
21
19
|
import { isInWorktree, isMainBranch } from '@lumenflow/core/core/worktree-guard';
|
|
20
|
+
import { createWuPaths, WU_PATHS } from '@lumenflow/core/wu-paths';
|
|
21
|
+
import { DIRECTORIES } from '@lumenflow/core/wu-constants';
|
|
22
22
|
import { runCLI } from './cli-entry-point.js';
|
|
23
23
|
const LOG_PREFIX = '[guard-worktree-commit]';
|
|
24
|
+
const DEFAULT_WORKTREES_DIR_SEGMENT = DIRECTORIES.WORKTREES.replace(/\/+$/g, '');
|
|
25
|
+
function normalizeDirectorySegment(value, fallback) {
|
|
26
|
+
const normalized = value.replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
27
|
+
return normalized.length > 0 ? normalized : fallback;
|
|
28
|
+
}
|
|
29
|
+
function resolveWorktreesDirHint() {
|
|
30
|
+
try {
|
|
31
|
+
return normalizeDirectorySegment(createWuPaths({ projectRoot: process.cwd() }).WORKTREES_DIR(), DEFAULT_WORKTREES_DIR_SEGMENT);
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return DEFAULT_WORKTREES_DIR_SEGMENT;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function resolveCompleteGuidePathHint() {
|
|
38
|
+
try {
|
|
39
|
+
return createWuPaths({ projectRoot: process.cwd() }).COMPLETE_GUIDE_PATH();
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return WU_PATHS.COMPLETE_GUIDE_PATH();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
24
45
|
/**
|
|
25
46
|
* Patterns that indicate a WU-related commit message
|
|
26
47
|
*/
|
|
@@ -53,6 +74,8 @@ const WU_COMMIT_PATTERNS = [
|
|
|
53
74
|
*/
|
|
54
75
|
export function shouldBlockCommit(options) {
|
|
55
76
|
const { commitMessage, isMainCheckout, isInWorktree } = options;
|
|
77
|
+
const worktreesDirHint = resolveWorktreesDirHint();
|
|
78
|
+
const completeGuidePath = resolveCompleteGuidePathHint();
|
|
56
79
|
// Allow all commits from worktrees
|
|
57
80
|
if (isInWorktree) {
|
|
58
81
|
return { blocked: false };
|
|
@@ -69,7 +92,7 @@ You are attempting to commit WU work from the main checkout.
|
|
|
69
92
|
|
|
70
93
|
To fix:
|
|
71
94
|
1. Navigate to your worktree:
|
|
72
|
-
cd
|
|
95
|
+
cd ${worktreesDirHint}/<lane>-wu-xxx/
|
|
73
96
|
|
|
74
97
|
2. Make your commit there:
|
|
75
98
|
git add . && git commit -m "${commitMessage}"
|
|
@@ -78,7 +101,7 @@ To fix:
|
|
|
78
101
|
cd ../.. && pnpm wu:done --id WU-XXX
|
|
79
102
|
|
|
80
103
|
For more information:
|
|
81
|
-
See
|
|
104
|
+
See ${completeGuidePath}
|
|
82
105
|
See .claude/skills/worktree-discipline/SKILL.md
|
|
83
106
|
`,
|
|
84
107
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard-worktree-commit.js","sourceRoot":"","sources":["../src/guard-worktree-commit.ts"],"names":[],"mappings":";AACA,iCAAiC;AACjC,yCAAyC;AACzC
|
|
1
|
+
{"version":3,"file":"guard-worktree-commit.js","sourceRoot":"","sources":["../src/guard-worktree-commit.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,17 +13,16 @@
|
|
|
13
13
|
// Note: fs operations use runtime-provided paths from LumenFlow configuration
|
|
14
14
|
import * as fs from 'node:fs';
|
|
15
15
|
import * as path from 'node:path';
|
|
16
|
+
import { createWuPaths } from '@lumenflow/core/wu-paths';
|
|
17
|
+
import { DIRECTORIES } from '@lumenflow/core/wu-constants';
|
|
16
18
|
/**
|
|
17
19
|
* WU-1501: Paths that are always safe to write on main checkout.
|
|
18
20
|
* These are scaffold/state paths that are written by lifecycle commands
|
|
19
21
|
* and must not require a worktree.
|
|
20
22
|
*/
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
'.claude/',
|
|
25
|
-
'plan/',
|
|
26
|
-
];
|
|
23
|
+
const MAIN_WRITE_STATIC_ALLOWLIST_PREFIXES = ['.lumenflow/', '.claude/', 'plan/'];
|
|
24
|
+
const DEFAULT_WORKTREES_DIR_SEGMENT = DIRECTORIES.WORKTREES.replace(/\/+$/g, '');
|
|
25
|
+
const DEFAULT_WU_ALLOWLIST_PREFIX = `${DIRECTORIES.WU_DIR.replace(/\/+$/g, '')}/`;
|
|
27
26
|
const GIT_STATUS_PREFIX_LENGTH = 3;
|
|
28
27
|
const GIT_STATUS_RENAME_SEPARATOR = ' -> ';
|
|
29
28
|
const GIT_STATUS_QUOTE = '"';
|
|
@@ -31,6 +30,35 @@ const PATH_PREFIX_CURRENT_DIR = './';
|
|
|
31
30
|
const PATH_SEPARATOR_WINDOWS = '\\';
|
|
32
31
|
const PATH_SEPARATOR_POSIX = '/';
|
|
33
32
|
const MAX_BLOCKED_PATHS_IN_MESSAGE = 10;
|
|
33
|
+
function normalizeDirectorySegment(value, fallback) {
|
|
34
|
+
const normalized = value.replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
35
|
+
return normalized.length > 0 ? normalized : fallback;
|
|
36
|
+
}
|
|
37
|
+
function ensureRepoRelativePrefix(value) {
|
|
38
|
+
const normalized = value.replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
39
|
+
return normalized.length > 0 ? `${normalized}/` : '';
|
|
40
|
+
}
|
|
41
|
+
function resolveWorktreesDirSegment(mainRepoPath) {
|
|
42
|
+
try {
|
|
43
|
+
const configuredPath = createWuPaths({ projectRoot: mainRepoPath }).WORKTREES_DIR();
|
|
44
|
+
return normalizeDirectorySegment(configuredPath, DEFAULT_WORKTREES_DIR_SEGMENT);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
return DEFAULT_WORKTREES_DIR_SEGMENT;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
function resolveWuAllowlistPrefix(mainRepoPath) {
|
|
51
|
+
try {
|
|
52
|
+
const configuredPath = createWuPaths({ projectRoot: mainRepoPath }).WU_DIR();
|
|
53
|
+
return ensureRepoRelativePrefix(configuredPath);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return DEFAULT_WU_ALLOWLIST_PREFIX;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function resolveMainWriteAllowlistPrefixes(mainRepoPath) {
|
|
60
|
+
return [resolveWuAllowlistPrefix(mainRepoPath), ...MAIN_WRITE_STATIC_ALLOWLIST_PREFIXES];
|
|
61
|
+
}
|
|
34
62
|
const DIRTY_MAIN_GUARD_REASONS = {
|
|
35
63
|
BRANCH_PR_MODE: 'branch-pr-mode',
|
|
36
64
|
NO_WORKTREE_CONTEXT: 'no-worktree-context',
|
|
@@ -81,7 +109,7 @@ export function parseDirtyPathsFromStatus(mainStatus) {
|
|
|
81
109
|
}
|
|
82
110
|
return Array.from(uniquePaths);
|
|
83
111
|
}
|
|
84
|
-
export function getNonAllowlistedDirtyPaths(mainStatus, allowlistPrefixes
|
|
112
|
+
export function getNonAllowlistedDirtyPaths(mainStatus, allowlistPrefixes) {
|
|
85
113
|
return parseDirtyPathsFromStatus(mainStatus).filter((relativePath) => !allowlistPrefixes.some((prefix) => relativePath.startsWith(prefix)));
|
|
86
114
|
}
|
|
87
115
|
function formatBlockedPaths(paths) {
|
|
@@ -94,14 +122,11 @@ function formatBlockedPaths(paths) {
|
|
|
94
122
|
return lines.join('\n');
|
|
95
123
|
}
|
|
96
124
|
export function formatMainDirtyMutationGuardMessage(options) {
|
|
97
|
-
const { commandName, mainCheckout, blockedPaths } = options;
|
|
125
|
+
const { commandName, mainCheckout, blockedPaths, allowlistPrefixes } = options;
|
|
126
|
+
const allowlistLines = allowlistPrefixes.map((prefix) => ` - ${prefix}`).join('\n');
|
|
98
127
|
return (`${commandName} blocked: main checkout has non-allowlisted dirty files while a worktree WU is active.\n\n` +
|
|
99
128
|
`Dirty paths:\n${formatBlockedPaths(blockedPaths)}\n\n` +
|
|
100
|
-
`Allowed dirty prefixes on main:\n` +
|
|
101
|
-
` - docs/04-operations/tasks/wu/\n` +
|
|
102
|
-
` - .lumenflow/\n` +
|
|
103
|
-
` - .claude/\n` +
|
|
104
|
-
` - plan/\n\n` +
|
|
129
|
+
`Allowed dirty prefixes on main:\n${allowlistLines}\n\n` +
|
|
105
130
|
`How to resolve:\n` +
|
|
106
131
|
` 1. Move edits into the active worktree (recommended)\n` +
|
|
107
132
|
` 2. Revert or commit unintended main edits\n` +
|
|
@@ -111,6 +136,7 @@ export function formatMainDirtyMutationGuardMessage(options) {
|
|
|
111
136
|
}
|
|
112
137
|
export function evaluateMainDirtyMutationGuard(options) {
|
|
113
138
|
const { commandName, mainCheckout, mainStatus, hasActiveWorktreeContext, isBranchPrMode } = options;
|
|
139
|
+
const allowlistPrefixes = resolveMainWriteAllowlistPrefixes(mainCheckout);
|
|
114
140
|
if (isBranchPrMode) {
|
|
115
141
|
return {
|
|
116
142
|
blocked: false,
|
|
@@ -125,7 +151,7 @@ export function evaluateMainDirtyMutationGuard(options) {
|
|
|
125
151
|
reason: DIRTY_MAIN_GUARD_REASONS.NO_WORKTREE_CONTEXT,
|
|
126
152
|
};
|
|
127
153
|
}
|
|
128
|
-
const blockedPaths = getNonAllowlistedDirtyPaths(mainStatus);
|
|
154
|
+
const blockedPaths = getNonAllowlistedDirtyPaths(mainStatus, allowlistPrefixes);
|
|
129
155
|
if (blockedPaths.length === 0) {
|
|
130
156
|
return {
|
|
131
157
|
blocked: false,
|
|
@@ -141,6 +167,7 @@ export function evaluateMainDirtyMutationGuard(options) {
|
|
|
141
167
|
commandName,
|
|
142
168
|
mainCheckout,
|
|
143
169
|
blockedPaths,
|
|
170
|
+
allowlistPrefixes,
|
|
144
171
|
}),
|
|
145
172
|
};
|
|
146
173
|
}
|
|
@@ -158,7 +185,8 @@ function isAllowlistedPath(resolvedPath, mainRepoPath) {
|
|
|
158
185
|
return false;
|
|
159
186
|
}
|
|
160
187
|
const relativePath = resolvedPath.slice(repoPrefix.length);
|
|
161
|
-
|
|
188
|
+
const allowlistPrefixes = resolveMainWriteAllowlistPrefixes(mainRepoPath);
|
|
189
|
+
return allowlistPrefixes.some((prefix) => relativePath.startsWith(prefix));
|
|
162
190
|
}
|
|
163
191
|
/**
|
|
164
192
|
* WU-1501: Check if there is an active branch-pr claimed WU in the state file.
|
|
@@ -207,7 +235,8 @@ export async function checkWorktreeEnforcement(input, projectDir) {
|
|
|
207
235
|
};
|
|
208
236
|
}
|
|
209
237
|
const lumenflowDir = path.join(mainRepoPath, '.lumenflow');
|
|
210
|
-
const
|
|
238
|
+
const worktreesDirSegment = resolveWorktreesDirSegment(mainRepoPath);
|
|
239
|
+
const worktreesDir = path.join(mainRepoPath, worktreesDirSegment);
|
|
211
240
|
// Graceful degradation: LumenFlow not configured
|
|
212
241
|
if (!fs.existsSync(lumenflowDir)) {
|
|
213
242
|
return {
|
|
@@ -265,7 +294,7 @@ export async function checkWorktreeEnforcement(input, projectDir) {
|
|
|
265
294
|
return {
|
|
266
295
|
allowed: false,
|
|
267
296
|
reason: `cannot write to main repo while worktrees exist (${activeWorktrees})`,
|
|
268
|
-
suggestion:
|
|
297
|
+
suggestion: `cd to your worktree: cd ${worktreesDirSegment}/<lane>-wu-<id>/`,
|
|
269
298
|
};
|
|
270
299
|
}
|
|
271
300
|
// WU-1501: No active worktrees - fail-closed on main
|
|
@@ -299,6 +328,7 @@ export async function checkWorktreeEnforcement(input, projectDir) {
|
|
|
299
328
|
* @returns Check result with allowed status and reason
|
|
300
329
|
*/
|
|
301
330
|
export async function checkWuRequirement(input, projectDir) {
|
|
331
|
+
void input;
|
|
302
332
|
const mainRepoPath = projectDir ?? process.env.CLAUDE_PROJECT_DIR;
|
|
303
333
|
if (!mainRepoPath) {
|
|
304
334
|
return {
|
|
@@ -307,7 +337,7 @@ export async function checkWuRequirement(input, projectDir) {
|
|
|
307
337
|
};
|
|
308
338
|
}
|
|
309
339
|
const lumenflowDir = path.join(mainRepoPath, '.lumenflow');
|
|
310
|
-
const worktreesDir = path.join(mainRepoPath,
|
|
340
|
+
const worktreesDir = path.join(mainRepoPath, resolveWorktreesDirSegment(mainRepoPath));
|
|
311
341
|
const stateFile = path.join(lumenflowDir, 'state', 'wu-events.jsonl');
|
|
312
342
|
// Graceful degradation: LumenFlow not configured
|
|
313
343
|
if (!fs.existsSync(lumenflowDir)) {
|
|
@@ -368,7 +398,7 @@ export async function checkWuRequirement(input, projectDir) {
|
|
|
368
398
|
* @returns True if cwd is inside a worktree
|
|
369
399
|
*/
|
|
370
400
|
export function isInsideWorktree(cwd, projectDir) {
|
|
371
|
-
const worktreesDir = path.join(projectDir,
|
|
401
|
+
const worktreesDir = path.join(projectDir, resolveWorktreesDirSegment(projectDir));
|
|
372
402
|
if (!fs.existsSync(worktreesDir)) {
|
|
373
403
|
return false;
|
|
374
404
|
}
|
|
@@ -382,7 +412,7 @@ export function isInsideWorktree(cwd, projectDir) {
|
|
|
382
412
|
* @returns Array of worktree names
|
|
383
413
|
*/
|
|
384
414
|
export function getActiveWorktrees(projectDir) {
|
|
385
|
-
const worktreesDir = path.join(projectDir,
|
|
415
|
+
const worktreesDir = path.join(projectDir, resolveWorktreesDirSegment(projectDir));
|
|
386
416
|
if (!fs.existsSync(worktreesDir)) {
|
|
387
417
|
return [];
|
|
388
418
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforcement-checks.js","sourceRoot":"","sources":["../../src/hooks/enforcement-checks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enforcement-checks.js","sourceRoot":"","sources":["../../src/hooks/enforcement-checks.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;GASG;AAEH,8EAA8E;AAE9E,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D;;;;GAIG;AACH,MAAM,oCAAoC,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE3F,MAAM,6BAA6B,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACjF,MAAM,2BAA2B,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC;AAElF,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAC3C,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,4BAA4B,GAAG,EAAE,CAAC;AAExC,SAAS,yBAAyB,CAAC,KAAa,EAAE,QAAgB;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,0BAA0B,CAAC,YAAoB;IACtD,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;QACpF,OAAO,yBAAyB,CAAC,cAAc,EAAE,6BAA6B,CAAC,CAAC;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,6BAA6B,CAAC;IACvC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,YAAoB;IACpD,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QAC7E,OAAO,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,2BAA2B,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,YAAoB;IAC7D,OAAO,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE,GAAG,oCAAoC,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,wBAAwB,GAAG;IAC/B,cAAc,EAAE,gBAAgB;IAChC,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,kCAAkC,EAAE,oCAAoC;CAChE,CAAC;AAqCX,SAAS,mBAAmB,CAAC,KAAa;IACxC,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAChG,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAa;IAC9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,aAAa;SACvC,KAAK,CAAC,sBAAsB,CAAC;SAC7B,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC9B,IAAI,oBAAoB,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC7D,OAAO,oBAAoB,CAAC,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAY;IAC3C,IAAI,IAAI,CAAC,MAAM,GAAG,wBAAwB,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,MAAM,cAAc,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAClE,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,UAAkB,EAClB,iBAAoC;IAEpC,OAAO,yBAAyB,CAAC,UAAU,CAAC,CAAC,MAAM,CACjD,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CACvF,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,4BAA4B,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAElD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,eAAe,SAAS,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,OAKnD;IACC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC/E,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrF,OAAO,CACL,GAAG,WAAW,4FAA4F;QAC1G,iBAAiB,kBAAkB,CAAC,YAAY,CAAC,MAAM;QACvD,oCAAoC,cAAc,MAAM;QACxD,mBAAmB;QACnB,0DAA0D;QAC1D,+CAA+C;QAC/C,uEAAuE;QACvE,cAAc,WAAW,MAAM;QAC/B,kBAAkB,YAAY,EAAE,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,OAAsC;IAEtC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,wBAAwB,EAAE,cAAc,EAAE,GACvF,OAAO,CAAC;IACV,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IAE1E,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,wBAAwB,CAAC,cAAc;SAChD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,wBAAwB,CAAC,mBAAmB;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAChF,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,wBAAwB,CAAC,oBAAoB;SACtD,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,YAAY;QACZ,MAAM,EAAE,wBAAwB,CAAC,kCAAkC;QACnE,OAAO,EAAE,mCAAmC,CAAC;YAC3C,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,iBAAiB;SAClB,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,YAAoB,EAAE,YAAoB;IACnE,yCAAyC;IACzC,MAAM,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;IAC3C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE3D,MAAM,iBAAiB,GAAG,iCAAiC,CAAC,YAAY,CAAC,CAAC;IAC1E,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAEpF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAC7F,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAAgB,EAChB,UAAmB;IAEnB,MAAM,YAAY,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAElE,uCAAuC;IACvC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,sCAAsC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,CAAC;IAElE,iDAAiD;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oCAAoC;SAC7C,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oCAAoC;SAC7C,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,4BAA4B;SACrC,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,yBAAyB;SAClC,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,MAAM,CAAC;YACV,kBAAkB,GAAG,aAAa,GAAG,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,eAAe,GAAG,EAAE;aACvB,WAAW,CAAC,YAAY,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACpE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;aACX,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO;YACL,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,oDAAoD,eAAe,GAAG;YAC9E,UAAU,EAAE,2BAA2B,mBAAmB,kBAAkB;SAC7E,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,qEAAqE;IACrE,IAAI,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;QAClD,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,gDAAgD;SACzD,CAAC;IACJ,CAAC;IAED,wDAAwD;IACxD,IAAI,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;QACnC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oDAAoD;SAC7D,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,+CAA+C;QACvD,UAAU,EACR,8DAA8D;YAC9D,qFAAqF;KACxF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAgB,EAChB,UAAmB;IAEnB,KAAK,KAAK,CAAC;IACX,MAAM,YAAY,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAElE,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,sCAAsC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,0BAA0B,CAAC,YAAY,CAAC,CAAC,CAAC;IACvF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAEtE,iDAAiD;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,oCAAoC;SAC7C,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC,MAAM,CAAC;YAEV,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,kCAAkC;iBAC3C,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,+BAA+B;QACjC,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,6BAA6B;iBACtC,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kCAAkC;aAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sBAAsB;IACtB,OAAO;QACL,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,eAAe;QACvB,UAAU,EAAE,0CAA0C;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW,EAAE,UAAkB;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;IAEnF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -6,15 +6,37 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Extracted from enforcement-generator.ts by WU-1645.
|
|
8
8
|
*/
|
|
9
|
+
import { createWuPaths } from '@lumenflow/core/wu-paths';
|
|
10
|
+
import { DIRECTORIES } from '@lumenflow/core/wu-constants';
|
|
11
|
+
const DEFAULT_WORKTREES_DIR_SEGMENT = DIRECTORIES.WORKTREES.replace(/\/+$/g, '');
|
|
12
|
+
const DEFAULT_WU_ALLOWLIST_PREFIX = DIRECTORIES.WU_DIR;
|
|
13
|
+
function normalizeDirectorySegment(value, fallback) {
|
|
14
|
+
const normalized = value.replace(/\\/g, '/').replace(/^\/+|\/+$/g, '');
|
|
15
|
+
return normalized.length > 0 ? normalized : fallback;
|
|
16
|
+
}
|
|
17
|
+
function ensureTrailingSlash(value) {
|
|
18
|
+
return value.endsWith('/') ? value : `${value}/`;
|
|
19
|
+
}
|
|
9
20
|
/**
|
|
10
21
|
* Generate the enforce-worktree.sh hook script content.
|
|
11
22
|
*
|
|
12
23
|
* WU-1501: Fail-closed on main. Blocks Write/Edit when no active claim context.
|
|
13
24
|
* Graceful degradation only when LumenFlow is NOT configured.
|
|
14
|
-
* Allowlist:
|
|
25
|
+
* Allowlist: configured WU directory prefix, .lumenflow/, .claude/, plan/
|
|
15
26
|
* Branch-PR claimed_mode remains writable from main checkout.
|
|
16
27
|
*/
|
|
17
|
-
export function generateEnforceWorktreeScript() {
|
|
28
|
+
export function generateEnforceWorktreeScript(options = {}) {
|
|
29
|
+
const projectRoot = options.projectRoot ?? process.cwd();
|
|
30
|
+
let worktreesDirSegment = DEFAULT_WORKTREES_DIR_SEGMENT;
|
|
31
|
+
let wuAllowlistPrefix = `${DEFAULT_WU_ALLOWLIST_PREFIX}/`;
|
|
32
|
+
try {
|
|
33
|
+
const wuPaths = createWuPaths({ projectRoot });
|
|
34
|
+
worktreesDirSegment = normalizeDirectorySegment(wuPaths.WORKTREES_DIR(), DEFAULT_WORKTREES_DIR_SEGMENT);
|
|
35
|
+
wuAllowlistPrefix = ensureTrailingSlash(normalizeDirectorySegment(wuPaths.WU_DIR(), DEFAULT_WU_ALLOWLIST_PREFIX));
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Keep defaults if config cannot be resolved.
|
|
39
|
+
}
|
|
18
40
|
// Note: Shell variable escapes (\$, \") are intentional for the generated bash script
|
|
19
41
|
/* eslint-disable no-useless-escape */
|
|
20
42
|
return `#!/bin/bash
|
|
@@ -25,7 +47,7 @@ export function generateEnforceWorktreeScript() {
|
|
|
25
47
|
# WU-1501: Fail-closed - blocks even when no worktrees exist.
|
|
26
48
|
# Graceful degradation only when LumenFlow is NOT configured.
|
|
27
49
|
#
|
|
28
|
-
# Allowlist:
|
|
50
|
+
# Allowlist: ${wuAllowlistPrefix}, .lumenflow/, .claude/, plan/
|
|
29
51
|
# Branch-PR claimed_mode permits writes from main checkout.
|
|
30
52
|
#
|
|
31
53
|
# Exit codes:
|
|
@@ -49,7 +71,7 @@ if [[ -z "\${CLAUDE_PROJECT_DIR:-}" ]]; then
|
|
|
49
71
|
fi
|
|
50
72
|
|
|
51
73
|
MAIN_REPO_PATH="\$CLAUDE_PROJECT_DIR"
|
|
52
|
-
WORKTREES_DIR="\${MAIN_REPO_PATH}
|
|
74
|
+
WORKTREES_DIR="\${MAIN_REPO_PATH}/${worktreesDirSegment}"
|
|
53
75
|
LUMENFLOW_DIR="\${MAIN_REPO_PATH}/.lumenflow"
|
|
54
76
|
|
|
55
77
|
# Check if .lumenflow exists (LumenFlow is configured)
|
|
@@ -139,7 +161,7 @@ if [[ "\$WORKTREE_COUNT" -gt 0 ]]; then
|
|
|
139
161
|
echo "Active worktrees: \${ACTIVE_WORKTREES:-none detected}" >&2
|
|
140
162
|
echo "" >&2
|
|
141
163
|
echo "USE INSTEAD:" >&2
|
|
142
|
-
echo " 1. cd to your worktree: cd
|
|
164
|
+
echo " 1. cd to your worktree: cd ${worktreesDirSegment}/<lane>-wu-<id>/" >&2
|
|
143
165
|
echo " 2. Make your edits in the worktree" >&2
|
|
144
166
|
echo "" >&2
|
|
145
167
|
echo "See: LUMENFLOW.md for worktree discipline" >&2
|
|
@@ -152,7 +174,7 @@ fi
|
|
|
152
174
|
RELATIVE_PATH="\${RESOLVED_PATH#\${MAIN_REPO_PATH}/}"
|
|
153
175
|
|
|
154
176
|
case "\$RELATIVE_PATH" in
|
|
155
|
-
|
|
177
|
+
${wuAllowlistPrefix}*) exit 0 ;; # WU YAML specs
|
|
156
178
|
.lumenflow/*) exit 0 ;; # LumenFlow state/config
|
|
157
179
|
.claude/*) exit 0 ;; # Claude Code config
|
|
158
180
|
plan/*) exit 0 ;; # Plan/spec scaffolds
|
|
@@ -178,7 +200,7 @@ echo "No worktrees exist and no branch-pr WU is in progress." >&2
|
|
|
178
200
|
echo "" >&2
|
|
179
201
|
echo "WHAT TO DO:" >&2
|
|
180
202
|
echo " 1. Claim a WU: pnpm wu:claim --id WU-XXXX --lane \\"<Lane>\\"" >&2
|
|
181
|
-
echo " 2. cd
|
|
203
|
+
echo " 2. cd ${worktreesDirSegment}/<lane>-wu-xxxx" >&2
|
|
182
204
|
echo " 3. Make your edits in the worktree" >&2
|
|
183
205
|
echo "" >&2
|
|
184
206
|
echo "See: LUMENFLOW.md for worktree discipline" >&2
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enforce-worktree.js","sourceRoot":"","sources":["../../../src/hooks/generators/enforce-worktree.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;GAKG;AAEH;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B;
|
|
1
|
+
{"version":3,"file":"enforce-worktree.js","sourceRoot":"","sources":["../../../src/hooks/generators/enforce-worktree.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,MAAM,6BAA6B,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACjF,MAAM,2BAA2B,GAAG,WAAW,CAAC,MAAM,CAAC;AAEvD,SAAS,yBAAyB,CAAC,KAAa,EAAE,QAAgB;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AACnD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,6BAA6B,CAAC,UAAoC,EAAE;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,IAAI,mBAAmB,GAAG,6BAA6B,CAAC;IACxD,IAAI,iBAAiB,GAAG,GAAG,2BAA2B,GAAG,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAC/C,mBAAmB,GAAG,yBAAyB,CAC7C,OAAO,CAAC,aAAa,EAAE,EACvB,6BAA6B,CAC9B,CAAC;QACF,iBAAiB,GAAG,mBAAmB,CACrC,yBAAyB,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CACzE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,8CAA8C;IAChD,CAAC;IAED,sFAAsF;IACtF,sCAAsC;IACtC,OAAO;;;;;;;;eAQM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;oCAwBI,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCA0FhB,mBAAmB;;;;;;;;;;;;;IAatD,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0BL,mBAAmB;;;;;;CAMlC,CAAC;IACA,qCAAqC;AACvC,CAAC"}
|
|
@@ -16,6 +16,7 @@ import * as path from 'node:path';
|
|
|
16
16
|
import * as yaml from 'yaml';
|
|
17
17
|
import { WORKSPACE_CONFIG_FILE_NAME } from '@lumenflow/core/config';
|
|
18
18
|
import { WORKSPACE_V2_KEYS } from '@lumenflow/core/config-schema';
|
|
19
|
+
import { CONFIG_FILES } from '@lumenflow/core/wu-constants';
|
|
19
20
|
/** Separator between parent and sublane in lane names */
|
|
20
21
|
const LANE_NAME_SEPARATOR = ': ';
|
|
21
22
|
const SOFTWARE_DELIVERY_KEY = WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY;
|
|
@@ -135,7 +136,7 @@ export function extractConfigLanes(configPath) {
|
|
|
135
136
|
*/
|
|
136
137
|
export function validateLanesForProject(targetDir) {
|
|
137
138
|
const configPath = path.join(targetDir, WORKSPACE_CONFIG_FILE_NAME);
|
|
138
|
-
const inferencePath = path.join(targetDir,
|
|
139
|
+
const inferencePath = path.join(targetDir, CONFIG_FILES.LANE_INFERENCE);
|
|
139
140
|
const configLanes = extractConfigLanes(configPath);
|
|
140
141
|
const inferenceParents = extractInferenceParents(inferencePath);
|
|
141
142
|
// If either file is missing or empty, skip validation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-lane-validation.js","sourceRoot":"","sources":["../src/init-lane-validation.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"init-lane-validation.js","sourceRoot":"","sources":["../src/init-lane-validation.ts"],"names":[],"mappings":"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"}
|
package/dist/init-templates.js
CHANGED
|
@@ -7,6 +7,14 @@
|
|
|
7
7
|
* Extracted from init.ts (WU-1643) to reduce file size and isolate static data.
|
|
8
8
|
* These are pure data constants with no behavioral logic.
|
|
9
9
|
*/
|
|
10
|
+
import { DIRECTORIES, LUMENFLOW_PATHS } from '@lumenflow/core/wu-constants';
|
|
11
|
+
const DEFAULT_WORKTREES_DIR = DIRECTORIES.WORKTREES;
|
|
12
|
+
const DEFAULT_WORKTREES_PATTERN = DEFAULT_WORKTREES_DIR.endsWith('/')
|
|
13
|
+
? DEFAULT_WORKTREES_DIR.slice(0, -1)
|
|
14
|
+
: DEFAULT_WORKTREES_DIR;
|
|
15
|
+
const DEFAULT_STATE_DIR_IGNORE = LUMENFLOW_PATHS.STATE_DIR.endsWith('/')
|
|
16
|
+
? LUMENFLOW_PATHS.STATE_DIR
|
|
17
|
+
: `${LUMENFLOW_PATHS.STATE_DIR}/`;
|
|
10
18
|
// WU-1576: Lane definitions must have zero overlapping code_paths.
|
|
11
19
|
// Each path must appear in exactly one lane to avoid doctor warnings.
|
|
12
20
|
export const DEFAULT_LANE_DEFINITIONS = [
|
|
@@ -1821,7 +1829,7 @@ export const REQUIRED_GITIGNORE_EXCLUSIONS = [
|
|
|
1821
1829
|
{ pattern: '.lumenflow/sessions/', line: '.lumenflow/sessions/' },
|
|
1822
1830
|
{ pattern: '.lumenflow/memory/', line: '.lumenflow/memory/' },
|
|
1823
1831
|
{ pattern: '.logs/', line: '.logs/' },
|
|
1824
|
-
{ pattern:
|
|
1832
|
+
{ pattern: DEFAULT_WORKTREES_PATTERN, line: DEFAULT_WORKTREES_DIR },
|
|
1825
1833
|
];
|
|
1826
1834
|
export const GITIGNORE_TEMPLATE = `# Dependencies
|
|
1827
1835
|
node_modules/
|
|
@@ -1837,7 +1845,7 @@ node_modules/
|
|
|
1837
1845
|
.logs/
|
|
1838
1846
|
|
|
1839
1847
|
# Worktrees (isolated parallel work directories)
|
|
1840
|
-
|
|
1848
|
+
${DEFAULT_WORKTREES_DIR}
|
|
1841
1849
|
|
|
1842
1850
|
# Build output
|
|
1843
1851
|
dist/
|
|
@@ -1875,10 +1883,10 @@ coverage/
|
|
|
1875
1883
|
.turbo/
|
|
1876
1884
|
|
|
1877
1885
|
# LumenFlow state (local only)
|
|
1878
|
-
|
|
1886
|
+
${DEFAULT_STATE_DIR_IGNORE}
|
|
1879
1887
|
|
|
1880
1888
|
# Worktrees
|
|
1881
|
-
|
|
1889
|
+
${DEFAULT_WORKTREES_DIR}
|
|
1882
1890
|
|
|
1883
1891
|
# Lockfiles (auto-generated)
|
|
1884
1892
|
pnpm-lock.yaml
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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"}
|
package/dist/init.js
CHANGED
|
@@ -19,6 +19,7 @@ import * as path from 'node:path';
|
|
|
19
19
|
import * as yaml from 'yaml';
|
|
20
20
|
import { execFileSync } from 'node:child_process';
|
|
21
21
|
import { getDefaultConfig, createWUParser, WU_OPTIONS, CLAUDE_HOOKS, LUMENFLOW_CLIENT_IDS, } from '@lumenflow/core';
|
|
22
|
+
import { GIT_DIRECTORY_NAME } from '@lumenflow/core/config';
|
|
22
23
|
import { WORKSPACE_V2_KEYS } from '@lumenflow/core/config-schema';
|
|
23
24
|
// WU-1067: Import GATE_PRESETS for --preset support
|
|
24
25
|
import { GATE_PRESETS } from '@lumenflow/core/gates-config';
|
|
@@ -206,7 +207,7 @@ const CLAUDE_AGENTS_DIR = path.join(CLAUDE_DIR, 'agents');
|
|
|
206
207
|
async function checkBranchGuard(targetDir, result) {
|
|
207
208
|
result.warnings = result.warnings ?? [];
|
|
208
209
|
// Only check if target is a git repository
|
|
209
|
-
const gitDir = path.join(targetDir,
|
|
210
|
+
const gitDir = path.join(targetDir, GIT_DIRECTORY_NAME);
|
|
210
211
|
if (!fs.existsSync(gitDir)) {
|
|
211
212
|
// Not a git repo - allow scaffold (initial setup)
|
|
212
213
|
return;
|