@lumenflow/cli 3.1.3 → 3.2.1

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 (267) hide show
  1. package/dist/agent-issues-query.js.map +1 -0
  2. package/dist/agent-log-issue.js.map +1 -0
  3. package/dist/agent-session-end.js.map +1 -0
  4. package/dist/agent-session.js.map +1 -0
  5. package/dist/backlog-prune.js.map +1 -0
  6. package/dist/cli-entry-point.js +139 -0
  7. package/dist/cli-entry-point.js.map +1 -0
  8. package/dist/commands/integrate.js.map +1 -0
  9. package/dist/commands.js.map +1 -0
  10. package/dist/config-get.js.map +1 -0
  11. package/dist/config-set.js.map +1 -0
  12. package/dist/constants.js +98 -0
  13. package/dist/constants.js.map +1 -0
  14. package/dist/delegation-list.js.map +1 -0
  15. package/dist/deps-add.js +259 -0
  16. package/dist/deps-add.js.map +1 -0
  17. package/dist/deps-remove.js +105 -0
  18. package/dist/deps-remove.js.map +1 -0
  19. package/dist/docs-sync.js.map +1 -0
  20. package/dist/doctor.js.map +1 -0
  21. package/dist/file-delete.js.map +1 -0
  22. package/dist/file-edit.js.map +1 -0
  23. package/dist/file-read.js.map +1 -0
  24. package/dist/file-write.js.map +1 -0
  25. package/dist/flow-bottlenecks.js.map +1 -0
  26. package/dist/flow-report.js.map +1 -0
  27. package/dist/formatters.js +151 -0
  28. package/dist/formatters.js.map +1 -0
  29. package/dist/gate-defaults.js +137 -0
  30. package/dist/gate-defaults.js.map +1 -0
  31. package/dist/gate-registry.js +73 -0
  32. package/dist/gate-registry.js.map +1 -0
  33. package/dist/gates-graceful-degradation.js +153 -0
  34. package/dist/gates-graceful-degradation.js.map +1 -0
  35. package/dist/gates-plan-resolvers.js +190 -0
  36. package/dist/gates-plan-resolvers.js.map +1 -0
  37. package/dist/gates-runners.js +545 -0
  38. package/dist/gates-runners.js.map +1 -0
  39. package/dist/gates-types.js +4 -0
  40. package/dist/gates-types.js.map +1 -0
  41. package/dist/gates-utils.js +333 -0
  42. package/dist/gates-utils.js.map +1 -0
  43. package/dist/gates.js.map +1 -0
  44. package/dist/git-branch.js.map +1 -0
  45. package/dist/git-diff.js.map +1 -0
  46. package/dist/git-log.js.map +1 -0
  47. package/dist/git-status.js.map +1 -0
  48. package/dist/guard-locked.js +172 -0
  49. package/dist/guard-locked.js.map +1 -0
  50. package/dist/guard-main-branch.js +217 -0
  51. package/dist/guard-main-branch.js.map +1 -0
  52. package/dist/guard-worktree-commit.js +163 -0
  53. package/dist/guard-worktree-commit.js.map +1 -0
  54. package/dist/hooks/auto-checkpoint-utils.js +54 -0
  55. package/dist/hooks/auto-checkpoint-utils.js.map +1 -0
  56. package/dist/hooks/enforcement-checks.js +399 -0
  57. package/dist/hooks/enforcement-checks.js.map +1 -0
  58. package/dist/hooks/enforcement-generator.js +139 -0
  59. package/dist/hooks/enforcement-generator.js.map +1 -0
  60. package/dist/hooks/enforcement-sync.js +380 -0
  61. package/dist/hooks/enforcement-sync.js.map +1 -0
  62. package/dist/hooks/generators/auto-checkpoint.js +125 -0
  63. package/dist/hooks/generators/auto-checkpoint.js.map +1 -0
  64. package/dist/hooks/generators/enforce-worktree.js +190 -0
  65. package/dist/hooks/generators/enforce-worktree.js.map +1 -0
  66. package/dist/hooks/generators/index.js +18 -0
  67. package/dist/hooks/generators/index.js.map +1 -0
  68. package/dist/hooks/generators/pre-compact-checkpoint.js +136 -0
  69. package/dist/hooks/generators/pre-compact-checkpoint.js.map +1 -0
  70. package/dist/hooks/generators/require-wu.js +117 -0
  71. package/dist/hooks/generators/require-wu.js.map +1 -0
  72. package/dist/hooks/generators/session-start-recovery.js +103 -0
  73. package/dist/hooks/generators/session-start-recovery.js.map +1 -0
  74. package/dist/hooks/generators/signal-utils.js +54 -0
  75. package/dist/hooks/generators/signal-utils.js.map +1 -0
  76. package/dist/hooks/generators/warn-incomplete.js +67 -0
  77. package/dist/hooks/generators/warn-incomplete.js.map +1 -0
  78. package/dist/hooks/index.js +10 -0
  79. package/dist/hooks/index.js.map +1 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/init-detection.js +232 -0
  82. package/dist/init-detection.js.map +1 -0
  83. package/dist/init-lane-validation.js +147 -0
  84. package/dist/init-lane-validation.js.map +1 -0
  85. package/dist/init-scaffolding.js +158 -0
  86. package/dist/init-scaffolding.js.map +1 -0
  87. package/dist/init-templates.js +1983 -0
  88. package/dist/init-templates.js.map +1 -0
  89. package/dist/init.js.map +1 -0
  90. package/dist/initiative-add-wu.js.map +1 -0
  91. package/dist/initiative-bulk-assign-wus.js.map +1 -0
  92. package/dist/initiative-create.js.map +1 -0
  93. package/dist/initiative-edit.js.map +1 -0
  94. package/dist/initiative-list.js.map +1 -0
  95. package/dist/initiative-plan.js.map +1 -0
  96. package/dist/initiative-remove-wu.js.map +1 -0
  97. package/dist/initiative-status.js.map +1 -0
  98. package/dist/lane-edit.js.map +1 -0
  99. package/dist/lane-health.js.map +1 -0
  100. package/dist/lane-lifecycle-process.js +381 -0
  101. package/dist/lane-lifecycle-process.js.map +1 -0
  102. package/dist/lane-lock.js.map +1 -0
  103. package/dist/lane-setup.js.map +1 -0
  104. package/dist/lane-status.js.map +1 -0
  105. package/dist/lane-suggest.js.map +1 -0
  106. package/dist/lane-validate.js.map +1 -0
  107. package/dist/lifecycle-regression-harness.js +181 -0
  108. package/dist/lifecycle-regression-harness.js.map +1 -0
  109. package/dist/lumenflow-upgrade.js +18 -10
  110. package/dist/lumenflow-upgrade.js.map +1 -0
  111. package/dist/mem-checkpoint.js.map +1 -0
  112. package/dist/mem-cleanup.js.map +1 -0
  113. package/dist/mem-context.js.map +1 -0
  114. package/dist/mem-create.js.map +1 -0
  115. package/dist/mem-delete.js.map +1 -0
  116. package/dist/mem-export.js.map +1 -0
  117. package/dist/mem-inbox.js.map +1 -0
  118. package/dist/mem-index.js +214 -0
  119. package/dist/mem-index.js.map +1 -0
  120. package/dist/mem-init.js.map +1 -0
  121. package/dist/mem-profile.js +210 -0
  122. package/dist/mem-profile.js.map +1 -0
  123. package/dist/mem-promote.js +257 -0
  124. package/dist/mem-promote.js.map +1 -0
  125. package/dist/mem-ready.js.map +1 -0
  126. package/dist/mem-recover.js.map +1 -0
  127. package/dist/mem-signal.js.map +1 -0
  128. package/dist/mem-start.js.map +1 -0
  129. package/dist/mem-summarize.js.map +1 -0
  130. package/dist/mem-triage.js.map +1 -0
  131. package/dist/merge-block.js +225 -0
  132. package/dist/merge-block.js.map +1 -0
  133. package/dist/metrics-cli.js.map +1 -0
  134. package/dist/metrics-snapshot.js.map +1 -0
  135. package/dist/object-guards.js +9 -0
  136. package/dist/object-guards.js.map +1 -0
  137. package/dist/onboard.js.map +1 -0
  138. package/dist/onboarding-smoke-test.js +432 -0
  139. package/dist/onboarding-smoke-test.js.map +1 -0
  140. package/dist/orchestrate-init-status.js.map +1 -0
  141. package/dist/orchestrate-initiative.js.map +1 -0
  142. package/dist/orchestrate-monitor.js.map +1 -0
  143. package/dist/pack-author.js.map +1 -0
  144. package/dist/pack-hash.js.map +1 -0
  145. package/dist/pack-install.js.map +1 -0
  146. package/dist/pack-publish.js.map +1 -0
  147. package/dist/pack-scaffold.js.map +1 -0
  148. package/dist/pack-search.js.map +1 -0
  149. package/dist/pack-validate.js.map +1 -0
  150. package/dist/plan-create.js.map +1 -0
  151. package/dist/plan-edit.js.map +1 -0
  152. package/dist/plan-link.js.map +1 -0
  153. package/dist/plan-promote.js.map +1 -0
  154. package/dist/public-manifest.js +931 -0
  155. package/dist/public-manifest.js.map +1 -0
  156. package/dist/release.js +664 -116
  157. package/dist/release.js.map +1 -0
  158. package/dist/rotate-progress.js +253 -0
  159. package/dist/rotate-progress.js.map +1 -0
  160. package/dist/session-coordinator.js +303 -0
  161. package/dist/session-coordinator.js.map +1 -0
  162. package/dist/shared-validators.js +81 -0
  163. package/dist/shared-validators.js.map +1 -0
  164. package/dist/signal-cleanup.js.map +1 -0
  165. package/dist/state-bootstrap.js.map +1 -0
  166. package/dist/state-cleanup.js.map +1 -0
  167. package/dist/state-doctor-fix.js +226 -0
  168. package/dist/state-doctor-fix.js.map +1 -0
  169. package/dist/state-doctor-stamps.js +23 -0
  170. package/dist/state-doctor-stamps.js.map +1 -0
  171. package/dist/state-doctor.js.map +1 -0
  172. package/dist/strict-progress.js +255 -0
  173. package/dist/strict-progress.js.map +1 -0
  174. package/dist/sync-templates.js.map +1 -0
  175. package/dist/task-claim.js.map +1 -0
  176. package/dist/trace-gen.js +401 -0
  177. package/dist/trace-gen.js.map +1 -0
  178. package/dist/validate-agent-skills.js +224 -0
  179. package/dist/validate-agent-skills.js.map +1 -0
  180. package/dist/validate-agent-sync.js +152 -0
  181. package/dist/validate-agent-sync.js.map +1 -0
  182. package/dist/validate-backlog-sync.js +77 -0
  183. package/dist/validate-backlog-sync.js.map +1 -0
  184. package/dist/validate-skills-spec.js +211 -0
  185. package/dist/validate-skills-spec.js.map +1 -0
  186. package/dist/validate.js.map +1 -0
  187. package/dist/validator-defaults.js +107 -0
  188. package/dist/validator-defaults.js.map +1 -0
  189. package/dist/validator-registry.js +71 -0
  190. package/dist/validator-registry.js.map +1 -0
  191. package/dist/workspace-init.js.map +1 -0
  192. package/dist/wu-block.js.map +1 -0
  193. package/dist/wu-brief.js.map +1 -0
  194. package/dist/wu-claim-branch.js +123 -0
  195. package/dist/wu-claim-branch.js.map +1 -0
  196. package/dist/wu-claim-cloud.js +79 -0
  197. package/dist/wu-claim-cloud.js.map +1 -0
  198. package/dist/wu-claim-mode.js +82 -0
  199. package/dist/wu-claim-mode.js.map +1 -0
  200. package/dist/wu-claim-output.js +85 -0
  201. package/dist/wu-claim-output.js.map +1 -0
  202. package/dist/wu-claim-repair-guidance.js +12 -0
  203. package/dist/wu-claim-repair-guidance.js.map +1 -0
  204. package/dist/wu-claim-resume-handler.js +87 -0
  205. package/dist/wu-claim-resume-handler.js.map +1 -0
  206. package/dist/wu-claim-state.js +581 -0
  207. package/dist/wu-claim-state.js.map +1 -0
  208. package/dist/wu-claim-validation.js +458 -0
  209. package/dist/wu-claim-validation.js.map +1 -0
  210. package/dist/wu-claim-worktree.js +238 -0
  211. package/dist/wu-claim-worktree.js.map +1 -0
  212. package/dist/wu-claim.js.map +1 -0
  213. package/dist/wu-cleanup-cloud.js +78 -0
  214. package/dist/wu-cleanup-cloud.js.map +1 -0
  215. package/dist/wu-cleanup.js.map +1 -0
  216. package/dist/wu-code-path-coverage.js +83 -0
  217. package/dist/wu-code-path-coverage.js.map +1 -0
  218. package/dist/wu-create-cloud.js +30 -0
  219. package/dist/wu-create-cloud.js.map +1 -0
  220. package/dist/wu-create-content.js +264 -0
  221. package/dist/wu-create-content.js.map +1 -0
  222. package/dist/wu-create-readiness.js +59 -0
  223. package/dist/wu-create-readiness.js.map +1 -0
  224. package/dist/wu-create-validation.js +128 -0
  225. package/dist/wu-create-validation.js.map +1 -0
  226. package/dist/wu-create.js.map +1 -0
  227. package/dist/wu-delegate.js.map +1 -0
  228. package/dist/wu-delete.js.map +1 -0
  229. package/dist/wu-deps.js.map +1 -0
  230. package/dist/wu-done-auto-cleanup.js +194 -0
  231. package/dist/wu-done-auto-cleanup.js.map +1 -0
  232. package/dist/wu-done-check.js +38 -0
  233. package/dist/wu-done-check.js.map +1 -0
  234. package/dist/wu-done-cloud.js +48 -0
  235. package/dist/wu-done-cloud.js.map +1 -0
  236. package/dist/wu-done-decay.js +83 -0
  237. package/dist/wu-done-decay.js.map +1 -0
  238. package/dist/wu-done.js.map +1 -0
  239. package/dist/wu-edit-operations.js +399 -0
  240. package/dist/wu-edit-operations.js.map +1 -0
  241. package/dist/wu-edit-validators.js +282 -0
  242. package/dist/wu-edit-validators.js.map +1 -0
  243. package/dist/wu-edit.js.map +1 -0
  244. package/dist/wu-infer-lane.js.map +1 -0
  245. package/dist/wu-preflight.js.map +1 -0
  246. package/dist/wu-prep.js.map +1 -0
  247. package/dist/wu-proto.js.map +1 -0
  248. package/dist/wu-prune.js.map +1 -0
  249. package/dist/wu-recover.js.map +1 -0
  250. package/dist/wu-release.js.map +1 -0
  251. package/dist/wu-repair.js.map +1 -0
  252. package/dist/wu-sandbox.js.map +1 -0
  253. package/dist/wu-spawn-completion.js +58 -0
  254. package/dist/wu-spawn-completion.js.map +1 -0
  255. package/dist/wu-spawn-prompt-builders.js +1190 -0
  256. package/dist/wu-spawn-prompt-builders.js.map +1 -0
  257. package/dist/wu-spawn-strategy-resolver.js +322 -0
  258. package/dist/wu-spawn-strategy-resolver.js.map +1 -0
  259. package/dist/wu-spawn.js +59 -0
  260. package/dist/wu-spawn.js.map +1 -0
  261. package/dist/wu-state-cloud.js +41 -0
  262. package/dist/wu-state-cloud.js.map +1 -0
  263. package/dist/wu-status.js.map +1 -0
  264. package/dist/wu-unblock.js.map +1 -0
  265. package/dist/wu-unlock-lane.js.map +1 -0
  266. package/dist/wu-validate.js.map +1 -0
  267. package/package.json +8 -10
@@ -0,0 +1,238 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * @file wu-claim-worktree.ts
5
+ * @description Worktree mode claim workflow handler.
6
+ *
7
+ * WU-1649: Extracted from wu-claim.ts to reduce orchestration complexity.
8
+ * All functions are mechanical extractions preserving original behavior.
9
+ */
10
+ import { readFile } from 'node:fs/promises';
11
+ import path from 'node:path';
12
+ import { parseYAML } from '@lumenflow/core/wu-yaml';
13
+ import { createGitForPath } from '@lumenflow/core/git-adapter';
14
+ import { BRANCHES, REMOTES, LOG_PREFIX, COMMIT_FORMATS, EMOJI, FILE_SYSTEM, STRING_LITERALS, } from '@lumenflow/core/wu-constants';
15
+ import { getGitForCwd } from '@lumenflow/core/git-adapter';
16
+ import { shouldSkipRemoteOperations } from '@lumenflow/core/micro-worktree';
17
+ import { getStateStoreDirFromBacklog } from '@lumenflow/core/wu-paths';
18
+ import { emitMandatoryAgentAdvisory } from '@lumenflow/core/orchestration-advisory-loader';
19
+ import { getConfig } from '@lumenflow/core/config';
20
+ import { autoFixWUYaml } from '@lumenflow/core/wu-yaml-fixer';
21
+ import { symlinkNodeModules, symlinkNestedNodeModules, symlinkWorkspaceBinArtifactRoots, } from '@lumenflow/core/worktree-symlink';
22
+ import { updateWUYaml, appendClaimEventOnly, maybeProgressInitiativeStatus, getWorktreeCommitFiles, applyStagedChangesToMicroWorktree, } from './wu-claim-state.js';
23
+ import { surfaceUnreadSignalsForDisplay, printProjectDefaults, printLifecycleNudge, } from './wu-claim-output.js';
24
+ const PREFIX = LOG_PREFIX.CLAIM;
25
+ const PNPM_BINARY_NAME = 'pnpm';
26
+ const PNPM_FROZEN_LOCKFILE_ARGS = ['install', '--frozen-lockfile'];
27
+ const WORKTREE_INSTALL_TIMEOUT_MS = 300000;
28
+ const WORKTREE_SETUP_WARNING_PREVIEW_COUNT = 3;
29
+ /**
30
+ * WU-1213: Handle local-only claim metadata update (noPush mode).
31
+ * Extracted to reduce cognitive complexity of claimWorktreeMode.
32
+ *
33
+ * @returns {Promise<{finalTitle: string, initPathToCommit: string | null}>}
34
+ */
35
+ async function handleNoPushMetadataUpdate(ctx) {
36
+ const { args, id, worktree, worktreePath, WU_PATH, BACKLOG_PATH, claimedMode, fixableIssues, sessionId, title, updatedTitle, stagedChanges, } = ctx;
37
+ let finalTitle = updatedTitle || title;
38
+ let initPathToCommit = null;
39
+ if (args.noAuto) {
40
+ await applyStagedChangesToMicroWorktree(worktreePath, stagedChanges);
41
+ }
42
+ else {
43
+ const wtWUPath = path.join(worktreePath, WU_PATH);
44
+ const wtBacklogPath = path.join(worktreePath, BACKLOG_PATH);
45
+ if (fixableIssues && fixableIssues.length > 0) {
46
+ console.log(`${PREFIX} Applying ${fixableIssues.length} YAML fix(es)...`);
47
+ autoFixWUYaml(wtWUPath);
48
+ console.log(`${PREFIX} YAML fixes applied successfully`);
49
+ }
50
+ const updateResult = await updateWUYaml(wtWUPath, id, args.lane, claimedMode, worktree, sessionId);
51
+ finalTitle = updateResult.title || finalTitle;
52
+ const wtStateDir = getStateStoreDirFromBacklog(wtBacklogPath);
53
+ await appendClaimEventOnly(wtStateDir, id, finalTitle, args.lane);
54
+ if (updateResult.initiative) {
55
+ const initProgress = await maybeProgressInitiativeStatus(worktreePath, updateResult.initiative, id);
56
+ initPathToCommit = initProgress.initPath;
57
+ }
58
+ }
59
+ return { finalTitle, initPathToCommit };
60
+ }
61
+ /**
62
+ * WU-1213: Setup worktree dependencies (symlink or full install).
63
+ * Extracted to reduce cognitive complexity of claimWorktreeMode.
64
+ */
65
+ export async function setupWorktreeDependencies(worktreePath, originalCwd, skipSetup) {
66
+ // eslint-disable-next-line sonarjs/no-selector-parameter -- skipSetup mirrors CLI flag semantics
67
+ if (skipSetup) {
68
+ // WU-1443: Symlink-only mode for fast claims
69
+ const symlinkResult = symlinkNodeModules(worktreePath, console, originalCwd);
70
+ if (symlinkResult.created) {
71
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} node_modules symlinked (--skip-setup mode)`);
72
+ }
73
+ else if (symlinkResult.refused) {
74
+ console.warn(`${PREFIX} Warning: symlink refused: ${symlinkResult.reason}`);
75
+ console.warn(`${PREFIX} Run 'pnpm install' manually in the worktree`);
76
+ }
77
+ // WU-1579: Auto-symlink nested package node_modules for turbo typecheck
78
+ if (!symlinkResult.refused) {
79
+ const nestedResult = symlinkNestedNodeModules(worktreePath, originalCwd);
80
+ if (nestedResult.created > 0) {
81
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} ${nestedResult.created} nested node_modules symlinked for typecheck`);
82
+ }
83
+ }
84
+ }
85
+ else {
86
+ const seededBinArtifacts = symlinkWorkspaceBinArtifactRoots(worktreePath, originalCwd, console);
87
+ if (seededBinArtifacts.created > 0) {
88
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} Seeded ${seededBinArtifacts.created} workspace bin artifact root(s) from main checkout`);
89
+ }
90
+ if (seededBinArtifacts.errors.length > 0) {
91
+ const previewErrors = seededBinArtifacts.errors
92
+ .slice(0, WORKTREE_SETUP_WARNING_PREVIEW_COUNT)
93
+ .map((error) => error.message)
94
+ .join(STRING_LITERALS.NEWLINE + ' - ');
95
+ console.warn(`${PREFIX} Warning: failed to seed ${seededBinArtifacts.errors.length} workspace artifact root(s):${STRING_LITERALS.NEWLINE} - ${previewErrors}`);
96
+ }
97
+ // WU-1023: Full setup mode (default) - run pnpm install with progress indicator
98
+ console.log(`${PREFIX} Installing worktree dependencies (this may take a moment)...`);
99
+ try {
100
+ const { execFileSync } = await import('node:child_process');
101
+ execFileSync(PNPM_BINARY_NAME, PNPM_FROZEN_LOCKFILE_ARGS, {
102
+ cwd: worktreePath,
103
+ stdio: 'inherit',
104
+ timeout: WORKTREE_INSTALL_TIMEOUT_MS, // 5 minute timeout
105
+ });
106
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} Worktree dependencies installed`);
107
+ }
108
+ catch (installError) {
109
+ console.warn(`${PREFIX} Warning: pnpm install failed: ${installError.message}`);
110
+ console.warn(`${PREFIX} You may need to run 'pnpm install' manually in the worktree`);
111
+ console.log(`${PREFIX} Falling back to symlink approach...`);
112
+ applyFallbackSymlinks(worktreePath, originalCwd, console);
113
+ }
114
+ }
115
+ }
116
+ /**
117
+ * WU-1029: Apply symlink fallback (root + nested node_modules) after install failure.
118
+ *
119
+ * @param {string} worktreePath - Worktree path
120
+ * @param {string} mainRepoPath - Main repo path
121
+ * @param {Console} logger - Logger (console-compatible)
122
+ */
123
+ export function applyFallbackSymlinks(worktreePath, mainRepoPath, logger = console) {
124
+ const symlinkResult = symlinkNodeModules(worktreePath, logger, mainRepoPath);
125
+ if (symlinkResult.created) {
126
+ logger.log(`${PREFIX} ${EMOJI.SUCCESS} node_modules symlinked as fallback`);
127
+ }
128
+ let nestedResult = null;
129
+ if (!symlinkResult.refused) {
130
+ nestedResult = symlinkNestedNodeModules(worktreePath, mainRepoPath);
131
+ if (nestedResult.created > 0) {
132
+ logger.log(`${PREFIX} ${EMOJI.SUCCESS} ${nestedResult.created} nested node_modules symlinked for typecheck`);
133
+ }
134
+ }
135
+ return { symlinkResult, nestedResult };
136
+ }
137
+ /**
138
+ * Execute worktree mode claim workflow
139
+ *
140
+ * WU-1741: Removed micro-worktree pattern that committed to main during claim.
141
+ * Branch existence (e.g. lane/operations/wu-1234) is the coordination lock.
142
+ * Metadata updates happen IN the work worktree, NOT on main.
143
+ *
144
+ * New flow:
145
+ * 1. Create work worktree+branch from main (branch = lock)
146
+ * 2. Update metadata (WU YAML, status.md, backlog.md) IN worktree
147
+ * 3. Commit metadata in worktree
148
+ * 4. Main only changes via wu:done (single merge point)
149
+ *
150
+ * Benefits:
151
+ * - Simpler mental model: main ONLY changes via wu:done
152
+ * - Branch existence is natural coordination (git prevents duplicates)
153
+ * - Less network traffic (no push during claim)
154
+ * - Cleaner rollback: delete worktree+branch = claim undone
155
+ */
156
+ export async function claimWorktreeMode(ctx) {
157
+ const { args, id, laneK, title, branch, worktree, WU_PATH, updatedTitle } = ctx;
158
+ const originalCwd = process.cwd();
159
+ const worktreePath = path.resolve(worktree);
160
+ const skipRemote = shouldSkipRemoteOperations();
161
+ let finalTitle = updatedTitle || title;
162
+ const commitMsg = COMMIT_FORMATS.CLAIM(id.toLowerCase(), laneK);
163
+ // WU-1741: Step 1 - Create work worktree+branch from main
164
+ console.log(`${PREFIX} Creating worktree (branch = coordination lock)...`);
165
+ // WU-1653: Use local main when no remote (requireRemote=false)
166
+ const startPoint = args.noPush || skipRemote ? BRANCHES.MAIN : `${REMOTES.ORIGIN}/${BRANCHES.MAIN}`;
167
+ await getGitForCwd().worktreeAdd(worktree, branch, startPoint);
168
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} Worktree created at ${worktree}`);
169
+ // WU-1653: Skip push when requireRemote=false (no remote exists)
170
+ if (!args.noPush && !skipRemote) {
171
+ const wtGit = createGitForPath(worktreePath);
172
+ await wtGit.push(REMOTES.ORIGIN, branch, { setUpstream: true });
173
+ }
174
+ // Handle local-only claim metadata update (--no-push or requireRemote=false)
175
+ if (args.noPush || skipRemote) {
176
+ const metadataResult = await handleNoPushMetadataUpdate({ ...ctx, worktreePath });
177
+ finalTitle = metadataResult.finalTitle;
178
+ // Commit metadata in worktree
179
+ console.log(`${PREFIX} Committing claim metadata in worktree...`);
180
+ const wtGit = createGitForPath(worktreePath);
181
+ const filesToCommit = getWorktreeCommitFiles(id);
182
+ if (metadataResult.initPathToCommit) {
183
+ filesToCommit.push(metadataResult.initPathToCommit);
184
+ }
185
+ await wtGit.add(filesToCommit);
186
+ await wtGit.commit(commitMsg);
187
+ console.log(`${PREFIX} ${EMOJI.SUCCESS} Claim committed: ${commitMsg}`);
188
+ if (skipRemote && !args.noPush) {
189
+ console.log(`${PREFIX} Local-only mode (git.requireRemote=false): claim metadata committed in worktree.`);
190
+ }
191
+ else {
192
+ console.warn(`${PREFIX} Warning: --no-push enabled. Claim is local-only and NOT visible to other agents.`);
193
+ }
194
+ }
195
+ // WU-1023: Auto-setup worktree dependencies
196
+ await setupWorktreeDependencies(worktreePath, originalCwd, args.skipSetup);
197
+ console.log(`${PREFIX} Claim recorded in worktree`);
198
+ const worktreeWuDisplay = finalTitle ? `- WU: ${id} — ${finalTitle}` : `- WU: ${id}`;
199
+ console.log(worktreeWuDisplay);
200
+ console.log(`- Lane: ${args.lane}`);
201
+ console.log(`- Worktree: ${worktreePath}`);
202
+ console.log(`- Branch: ${branch}`);
203
+ console.log(`- Commit: ${commitMsg}`);
204
+ // Summary
205
+ console.log(`\n${PREFIX} Worktree created and claim committed.`);
206
+ console.log(`Next: cd ${worktree} and begin work.`);
207
+ // WU-1360: Print next-steps checklist to prevent common mistakes
208
+ console.log(`\n${PREFIX} Next steps:`);
209
+ console.log(` 1. cd ${worktree} (IMPORTANT: work here, not main)`);
210
+ console.log(` 2. Implement changes per acceptance criteria`);
211
+ console.log(` 3. Run: pnpm gates`);
212
+ console.log(` 4. cd ${originalCwd} && pnpm wu:done --id ${id}`);
213
+ console.log(`\n${PREFIX} Common mistakes to avoid:`);
214
+ console.log(` - Don't edit files on main branch`);
215
+ console.log(` - Don't manually edit WU YAML status fields`);
216
+ console.log(` - Don't create PRs (trunk-based development)`);
217
+ // WU-1501: Hint for sub-agent execution context
218
+ console.log(`\n${PREFIX} For sub-agent execution:`);
219
+ console.log(` /wu-prompt ${id} (generates full context prompt)`);
220
+ // Emit mandatory agent advisory based on code_paths (WU-1324)
221
+ // Read from worktree since that's where the updated YAML is
222
+ const wtWUPathForAdvisory = path.join(worktreePath, WU_PATH);
223
+ const wuContent = await readFile(wtWUPathForAdvisory, {
224
+ encoding: FILE_SYSTEM.UTF8,
225
+ });
226
+ const wuDoc = parseYAML(wuContent);
227
+ const codePaths = wuDoc.code_paths || [];
228
+ emitMandatoryAgentAdvisory(codePaths, id);
229
+ // WU-1047: Emit agent-only project defaults from config
230
+ const config = getConfig();
231
+ printProjectDefaults(config?.agents?.methodology);
232
+ // WU-1763: Print lifecycle nudge with tips for tool adoption
233
+ printLifecycleNudge(id);
234
+ // WU-1473: Surface unread coordination signals so agents see pending messages
235
+ // Fail-open: surfaceUnreadSignals never throws
236
+ await surfaceUnreadSignalsForDisplay(originalCwd);
237
+ }
238
+ //# sourceMappingURL=wu-claim-worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-claim-worktree.js","sourceRoot":"","sources":["../src/wu-claim-worktree.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-claim.js","sourceRoot":"","sources":["../src/wu-claim.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * @file wu-cleanup-cloud.ts
5
+ * @description Cloud mode helpers for wu:cleanup command
6
+ *
7
+ * WU-1590 AC5: Provides helpers for wu:cleanup to resolve claimed_branch,
8
+ * verify merged PR against that branch, skip worktree-only checks in
9
+ * branch-pr mode, and avoid deleting non-lane cloud-managed branches.
10
+ *
11
+ * Cloud agents use branches like claude/feature-xyz or codex/some-task
12
+ * that should NOT be deleted by wu:cleanup (they're managed by the cloud
13
+ * platform, not LumenFlow).
14
+ */
15
+ import { CLAIMED_MODES, toKebab } from '@lumenflow/core/wu-constants';
16
+ import { isAgentBranch } from '@lumenflow/core';
17
+ /** Fail-safe prefixes for cloud-managed branches that should not be deleted */
18
+ const CLOUD_BRANCH_PREFIXES = ['claude/', 'codex/', 'ci/', 'cloud/'];
19
+ /** Prefix for LumenFlow lane-derived branches */
20
+ const LANE_BRANCH_PREFIX = 'lane/';
21
+ /**
22
+ * Resolve which branch to use for cleanup operations.
23
+ *
24
+ * Priority:
25
+ * 1. claimed_branch (canonical, set at cloud claim time)
26
+ * 2. Lane-derived naming (lane/<kebab-lane>/<wu-id>)
27
+ *
28
+ * @param input - Branch resolution input
29
+ * @returns Resolved branch name
30
+ */
31
+ export function resolveCleanupBranch(input) {
32
+ // Priority 1: Use claimed_branch if present
33
+ if (input.claimed_branch && input.claimed_branch.trim()) {
34
+ return input.claimed_branch;
35
+ }
36
+ // Priority 2: Fall back to lane-derived naming
37
+ const laneK = toKebab(input.lane);
38
+ const idK = input.id.toLowerCase();
39
+ return `${LANE_BRANCH_PREFIX}${laneK}/${idK}`;
40
+ }
41
+ /**
42
+ * Determine whether to skip worktree-specific checks during cleanup.
43
+ *
44
+ * Branch-pr mode WUs have no worktree to check or remove. Worktree-only
45
+ * checks (uncommitted changes, ownership validation) should be skipped.
46
+ *
47
+ * @param doc - Partial WU YAML with claimed_mode
48
+ * @returns true if worktree checks should be skipped
49
+ */
50
+ export function shouldSkipWorktreeChecks(doc) {
51
+ return doc.claimed_mode === CLAIMED_MODES.BRANCH_PR;
52
+ }
53
+ /**
54
+ * Determine whether a branch is cloud-managed (should not be deleted by LumenFlow).
55
+ *
56
+ * Cloud platforms (Codex, Claude web) create branches like claude/feature-xyz.
57
+ * These are managed by the cloud platform and should NOT be deleted during cleanup.
58
+ * Only LumenFlow lane-derived branches (lane/...) are safe to delete.
59
+ *
60
+ * @param branchName - Branch name to check
61
+ * @returns true if the branch is cloud-managed and should NOT be deleted
62
+ */
63
+ export async function isCloudManagedBranch(branchName) {
64
+ // Lane-derived branches are always safe to delete
65
+ if (branchName.startsWith(LANE_BRANCH_PREFIX)) {
66
+ return false;
67
+ }
68
+ // Always protect known cloud prefixes even when registry lookup is unavailable.
69
+ if (CLOUD_BRANCH_PREFIXES.some((prefix) => branchName.startsWith(prefix))) {
70
+ return true;
71
+ }
72
+ // Keep cleanup behavior aligned with centralized agent branch registry semantics.
73
+ if (await isAgentBranch(branchName)) {
74
+ return true;
75
+ }
76
+ return false;
77
+ }
78
+ //# sourceMappingURL=wu-cleanup-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-cleanup-cloud.js","sourceRoot":"","sources":["../src/wu-cleanup-cloud.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAErE,iDAAiD;AACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAcnC;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,4CAA4C;IAC5C,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,cAAc,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,GAAG,kBAAkB,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA8B;IACrE,OAAO,GAAG,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,kDAAkD;IAClD,IAAI,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gFAAgF;IAChF,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-cleanup.js","sourceRoot":"","sources":["../src/wu-cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ import { spawnSync } from 'node:child_process';
4
+ import { EXIT_CODES, EMOJI } from '@lumenflow/core/wu-constants';
5
+ import { findMissingCodePathCoverage as findMissingCodePathCoverageFromRules, isCodePathCoveredByChangedFiles, } from '@lumenflow/core/wu-rules-engine';
6
+ const DEFAULT_BASE_REF = 'main';
7
+ const DEFAULT_HEAD_REF = 'HEAD';
8
+ const GIT_DIFF_STDIO = ['pipe', 'pipe', 'pipe'];
9
+ /**
10
+ * Shared code_paths coverage helpers used by wu:prep and wu:edit.
11
+ *
12
+ * Keeping this logic out of command entrypoints avoids command-to-command coupling
13
+ * (hexagonal boundary: orchestration commands depend on shared adapters, not each other).
14
+ */
15
+ export function isCodePathCoveredByChanges(options) {
16
+ return isCodePathCoveredByChangedFiles(options);
17
+ }
18
+ export function findMissingCodePathCoverage(options) {
19
+ return findMissingCodePathCoverageFromRules(options);
20
+ }
21
+ export function checkCodePathCoverageBeforeGates(options) {
22
+ const { codePaths = [], cwd, baseRef = DEFAULT_BASE_REF, headRef = DEFAULT_HEAD_REF, spawnSyncFn = spawnSync, } = options;
23
+ const scopedCodePaths = codePaths
24
+ .filter((codePath) => typeof codePath === 'string')
25
+ .map((codePath) => codePath.trim())
26
+ .filter(Boolean);
27
+ if (scopedCodePaths.length === 0) {
28
+ return {
29
+ valid: true,
30
+ missingCodePaths: [],
31
+ changedFiles: [],
32
+ };
33
+ }
34
+ const range = `${baseRef}...${headRef}`;
35
+ const diffResult = spawnSyncFn('git', ['diff', '--name-only', range], {
36
+ cwd,
37
+ encoding: 'utf-8',
38
+ stdio: GIT_DIFF_STDIO,
39
+ });
40
+ if ((diffResult.status ?? EXIT_CODES.ERROR) !== EXIT_CODES.SUCCESS) {
41
+ const stderrText = String(diffResult.stderr ?? '').trim();
42
+ const errorText = stderrText || (diffResult.error instanceof Error ? diffResult.error.message : '');
43
+ return {
44
+ valid: false,
45
+ missingCodePaths: scopedCodePaths,
46
+ changedFiles: [],
47
+ error: errorText || `git diff --name-only ${range} failed`,
48
+ };
49
+ }
50
+ const changedFiles = String(diffResult.stdout ?? '')
51
+ .split('\n')
52
+ .map((line) => line.trim())
53
+ .filter(Boolean);
54
+ const missingCodePaths = findMissingCodePathCoverage({
55
+ codePaths: scopedCodePaths,
56
+ changedFiles,
57
+ });
58
+ return {
59
+ valid: missingCodePaths.length === 0,
60
+ missingCodePaths,
61
+ changedFiles,
62
+ };
63
+ }
64
+ export function formatCodePathCoverageFailure(options) {
65
+ const { wuId, missingCodePaths, changedFiles, error } = options;
66
+ const missingSection = missingCodePaths.map((filePath) => ` - ${filePath}`).join('\n');
67
+ const changedSection = changedFiles.length > 0
68
+ ? changedFiles.map((filePath) => ` - ${filePath}`).join('\n')
69
+ : ' - (none)';
70
+ const diffErrorSection = error ? `\nUnable to evaluate branch diff:\n ${error}\n` : '';
71
+ return (`${EMOJI.FAILURE} code_paths preflight failed for ${wuId}.\n` +
72
+ `${diffErrorSection}\n` +
73
+ `The following code_paths are not modified on this branch (vs main):\n` +
74
+ `${missingSection}\n\n` +
75
+ `Changed files detected on branch:\n` +
76
+ `${changedSection}\n\n` +
77
+ `Fix options:\n` +
78
+ ` 1. Commit changes that touch each missing code_path\n` +
79
+ ` 2. Update WU scope to match actual branch work:\n` +
80
+ ` pnpm wu:edit --id ${wuId} --replace-code-paths --code-paths "<path1>" --code-paths "<path2>"\n` +
81
+ ` 3. Re-run: pnpm wu:prep --id ${wuId}`);
82
+ }
83
+ //# sourceMappingURL=wu-code-path-coverage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-code-path-coverage.js","sourceRoot":"","sources":["../src/wu-code-path-coverage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * Build context for wu:create cloud mode.
5
+ *
6
+ * When --cloud is true, the create command should:
7
+ * - Skip ensureOnMain() validation
8
+ * - Skip micro-worktree isolation
9
+ * - Write and commit WU spec directly on the current branch
10
+ *
11
+ * @param input - Cloud create input flags
12
+ * @returns Cloud create context with skip flags and target branch
13
+ */
14
+ export function buildCloudCreateContext(input) {
15
+ if (!input.cloud) {
16
+ return {
17
+ isCloud: false,
18
+ skipEnsureOnMain: false,
19
+ skipMicroWorktree: false,
20
+ targetBranch: 'main',
21
+ };
22
+ }
23
+ return {
24
+ isCloud: true,
25
+ skipEnsureOnMain: true,
26
+ skipMicroWorktree: true,
27
+ targetBranch: input.currentBranch,
28
+ };
29
+ }
30
+ //# sourceMappingURL=wu-create-cloud.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-create-cloud.js","sourceRoot":"","sources":["../src/wu-create-cloud.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAuCzC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAuB;IAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,KAAK,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC"}