@lumenflow/core 2.15.1 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
  2. package/dist/adapters/filesystem-metrics.adapter.js +17 -16
  3. package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
  4. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +86 -0
  5. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts.map +1 -0
  6. package/dist/adapters/mock-dashboard-renderer.adapter.js +105 -0
  7. package/dist/adapters/mock-dashboard-renderer.adapter.js.map +1 -0
  8. package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -1
  9. package/dist/adapters/terminal-renderer.adapter.js +0 -2
  10. package/dist/adapters/terminal-renderer.adapter.js.map +1 -1
  11. package/dist/arg-parser.d.ts.map +1 -1
  12. package/dist/arg-parser.js +4 -3
  13. package/dist/arg-parser.js.map +1 -1
  14. package/dist/backlog-editor.js +1 -1
  15. package/dist/backlog-editor.js.map +1 -1
  16. package/dist/backlog-generator.d.ts.map +1 -1
  17. package/dist/backlog-generator.js +48 -21
  18. package/dist/backlog-generator.js.map +1 -1
  19. package/dist/backlog-parser.d.ts.map +1 -1
  20. package/dist/backlog-parser.js +0 -1
  21. package/dist/backlog-parser.js.map +1 -1
  22. package/dist/backlog-sync-validator.d.ts.map +1 -1
  23. package/dist/backlog-sync-validator.js +5 -3
  24. package/dist/backlog-sync-validator.js.map +1 -1
  25. package/dist/branch-check.d.ts.map +1 -1
  26. package/dist/branch-check.js +1 -0
  27. package/dist/branch-check.js.map +1 -1
  28. package/dist/cli/is-agent-branch.d.ts +2 -1
  29. package/dist/cli/is-agent-branch.d.ts.map +1 -1
  30. package/dist/cli/is-agent-branch.js +8 -1
  31. package/dist/cli/is-agent-branch.js.map +1 -1
  32. package/dist/code-path-validator.d.ts.map +1 -1
  33. package/dist/code-path-validator.js +2 -1
  34. package/dist/code-path-validator.js.map +1 -1
  35. package/dist/code-paths-overlap.js +1 -1
  36. package/dist/code-paths-overlap.js.map +1 -1
  37. package/dist/commands-logger.js +1 -1
  38. package/dist/commands-logger.js.map +1 -1
  39. package/dist/context/location-resolver.js +1 -1
  40. package/dist/context/location-resolver.js.map +1 -1
  41. package/dist/context-validation-integration.d.ts +1 -1
  42. package/dist/context-validation-integration.d.ts.map +1 -1
  43. package/dist/context-validation-integration.js +3 -2
  44. package/dist/context-validation-integration.js.map +1 -1
  45. package/dist/core/tool-runner.js +1 -1
  46. package/dist/core/tool-runner.js.map +1 -1
  47. package/dist/core/tool.schemas.d.ts +3 -3
  48. package/dist/core/tool.schemas.d.ts.map +1 -1
  49. package/dist/core/tool.schemas.js +1 -1
  50. package/dist/core/tool.schemas.js.map +1 -1
  51. package/dist/dependency-graph.js +1 -1
  52. package/dist/dependency-graph.js.map +1 -1
  53. package/dist/dependency-guard.js +1 -1
  54. package/dist/dependency-guard.js.map +1 -1
  55. package/dist/domain/context.schemas.d.ts +3 -3
  56. package/dist/domain/orchestration.constants.d.ts.map +1 -1
  57. package/dist/domain/orchestration.constants.js +7 -6
  58. package/dist/domain/orchestration.constants.js.map +1 -1
  59. package/dist/domain/validation.schemas.d.ts +1 -1
  60. package/dist/error-handler.d.ts +26 -2
  61. package/dist/error-handler.d.ts.map +1 -1
  62. package/dist/error-handler.js +36 -3
  63. package/dist/error-handler.js.map +1 -1
  64. package/dist/force-bypass-audit.d.ts.map +1 -1
  65. package/dist/force-bypass-audit.js +2 -0
  66. package/dist/force-bypass-audit.js.map +1 -1
  67. package/dist/git-context-extractor.d.ts.map +1 -1
  68. package/dist/git-context-extractor.js +1 -0
  69. package/dist/git-context-extractor.js.map +1 -1
  70. package/dist/index.d.ts +3 -0
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +2 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/invariants/check-automated-tests.js +2 -2
  75. package/dist/invariants/check-automated-tests.js.map +1 -1
  76. package/dist/invariants-runner.d.ts.map +1 -1
  77. package/dist/invariants-runner.js +3 -0
  78. package/dist/invariants-runner.js.map +1 -1
  79. package/dist/lumenflow-config-schema.d.ts +3 -0
  80. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  81. package/dist/lumenflow-config-schema.js +14 -0
  82. package/dist/lumenflow-config-schema.js.map +1 -1
  83. package/dist/migration-deployer.d.ts +1 -1
  84. package/dist/migration-deployer.d.ts.map +1 -1
  85. package/dist/migration-deployer.js +1 -1
  86. package/dist/migration-deployer.js.map +1 -1
  87. package/dist/patrol-loop.d.ts.map +1 -1
  88. package/dist/patrol-loop.js +9 -1
  89. package/dist/patrol-loop.js.map +1 -1
  90. package/dist/piped-command-detector.d.ts.map +1 -1
  91. package/dist/piped-command-detector.js +1 -0
  92. package/dist/piped-command-detector.js.map +1 -1
  93. package/dist/ports/core-tools.ports.d.ts +32 -17
  94. package/dist/ports/core-tools.ports.d.ts.map +1 -1
  95. package/dist/ports/wu-helpers.ports.d.ts +2 -0
  96. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  97. package/dist/prompt-linter.d.ts +5 -0
  98. package/dist/prompt-linter.d.ts.map +1 -1
  99. package/dist/prompt-linter.js +8 -2
  100. package/dist/prompt-linter.js.map +1 -1
  101. package/dist/prompt-monitor.d.ts +5 -1
  102. package/dist/prompt-monitor.d.ts.map +1 -1
  103. package/dist/prompt-monitor.js +16 -8
  104. package/dist/prompt-monitor.js.map +1 -1
  105. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  106. package/dist/rebase-artifact-cleanup.js +1 -1
  107. package/dist/rebase-artifact-cleanup.js.map +1 -1
  108. package/dist/rollback-utils.d.ts.map +1 -1
  109. package/dist/rollback-utils.js +0 -1
  110. package/dist/rollback-utils.js.map +1 -1
  111. package/dist/schemas/initiative-arg-validators.d.ts +1 -1
  112. package/dist/schemas/initiative-schemas.d.ts +3 -3
  113. package/dist/spawn-recovery.js +1 -1
  114. package/dist/spawn-recovery.js.map +1 -1
  115. package/dist/stamp-status-validator.d.ts.map +1 -1
  116. package/dist/stamp-status-validator.js +2 -1
  117. package/dist/stamp-status-validator.js.map +1 -1
  118. package/dist/stamp-tracking.d.ts +12 -0
  119. package/dist/stamp-tracking.d.ts.map +1 -0
  120. package/dist/stamp-tracking.js +41 -0
  121. package/dist/stamp-tracking.js.map +1 -0
  122. package/dist/stamp-utils.d.ts.map +1 -1
  123. package/dist/stamp-utils.js +0 -1
  124. package/dist/stamp-utils.js.map +1 -1
  125. package/dist/state-doctor-core.d.ts.map +1 -1
  126. package/dist/state-doctor-core.js +10 -9
  127. package/dist/state-doctor-core.js.map +1 -1
  128. package/dist/system-map-validator.d.ts.map +1 -1
  129. package/dist/system-map-validator.js +7 -3
  130. package/dist/system-map-validator.js.map +1 -1
  131. package/dist/telemetry.d.ts.map +1 -1
  132. package/dist/telemetry.js +3 -1
  133. package/dist/telemetry.js.map +1 -1
  134. package/dist/template-loader.d.ts.map +1 -1
  135. package/dist/template-loader.js +1 -0
  136. package/dist/template-loader.js.map +1 -1
  137. package/dist/token-counter.js +2 -6
  138. package/dist/token-counter.js.map +1 -1
  139. package/dist/usecases/compute-context.usecase.d.ts.map +1 -1
  140. package/dist/usecases/compute-context.usecase.js +2 -1
  141. package/dist/usecases/compute-context.usecase.js.map +1 -1
  142. package/dist/validators/wu-tasks.js +2 -2
  143. package/dist/validators/wu-tasks.js.map +1 -1
  144. package/dist/wu-backlog-updater.d.ts +1 -1
  145. package/dist/wu-backlog-updater.d.ts.map +1 -1
  146. package/dist/wu-backlog-updater.js +1 -1
  147. package/dist/wu-backlog-updater.js.map +1 -1
  148. package/dist/wu-claim-resume.d.ts.map +1 -1
  149. package/dist/wu-claim-resume.js +0 -1
  150. package/dist/wu-claim-resume.js.map +1 -1
  151. package/dist/wu-cli-constants.d.ts +426 -0
  152. package/dist/wu-cli-constants.d.ts.map +1 -0
  153. package/dist/wu-cli-constants.js +429 -0
  154. package/dist/wu-cli-constants.js.map +1 -0
  155. package/dist/wu-consistency-checker.d.ts +5 -1
  156. package/dist/wu-consistency-checker.d.ts.map +1 -1
  157. package/dist/wu-consistency-checker.js +133 -25
  158. package/dist/wu-consistency-checker.js.map +1 -1
  159. package/dist/wu-constants.d.ts +21 -1834
  160. package/dist/wu-constants.d.ts.map +1 -1
  161. package/dist/wu-constants.js +28 -1951
  162. package/dist/wu-constants.js.map +1 -1
  163. package/dist/wu-context-constants.d.ts +253 -0
  164. package/dist/wu-context-constants.d.ts.map +1 -0
  165. package/dist/wu-context-constants.js +250 -0
  166. package/dist/wu-context-constants.js.map +1 -0
  167. package/dist/wu-domain-constants.d.ts +305 -0
  168. package/dist/wu-domain-constants.d.ts.map +1 -0
  169. package/dist/wu-domain-constants.js +401 -0
  170. package/dist/wu-domain-constants.js.map +1 -0
  171. package/dist/wu-done-branch-only.d.ts.map +1 -1
  172. package/dist/wu-done-branch-only.js +2 -2
  173. package/dist/wu-done-branch-only.js.map +1 -1
  174. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  175. package/dist/wu-done-concurrent-merge.js +12 -12
  176. package/dist/wu-done-concurrent-merge.js.map +1 -1
  177. package/dist/wu-done-docs-generate.d.ts.map +1 -1
  178. package/dist/wu-done-docs-generate.js +1 -0
  179. package/dist/wu-done-docs-generate.js.map +1 -1
  180. package/dist/wu-done-initiative-sync.d.ts +13 -0
  181. package/dist/wu-done-initiative-sync.d.ts.map +1 -0
  182. package/dist/wu-done-initiative-sync.js +218 -0
  183. package/dist/wu-done-initiative-sync.js.map +1 -0
  184. package/dist/wu-done-inputs.d.ts.map +1 -1
  185. package/dist/wu-done-inputs.js +2 -2
  186. package/dist/wu-done-inputs.js.map +1 -1
  187. package/dist/wu-done-messages.d.ts +1 -1
  188. package/dist/wu-done-messages.d.ts.map +1 -1
  189. package/dist/wu-done-messages.js +2 -2
  190. package/dist/wu-done-messages.js.map +1 -1
  191. package/dist/wu-done-metadata.d.ts +11 -2
  192. package/dist/wu-done-metadata.d.ts.map +1 -1
  193. package/dist/wu-done-metadata.js +41 -11
  194. package/dist/wu-done-metadata.js.map +1 -1
  195. package/dist/wu-done-pr.d.ts.map +1 -1
  196. package/dist/wu-done-pr.js +2 -1
  197. package/dist/wu-done-pr.js.map +1 -1
  198. package/dist/wu-done-validation.d.ts +3 -1
  199. package/dist/wu-done-validation.d.ts.map +1 -1
  200. package/dist/wu-done-validation.js +81 -13
  201. package/dist/wu-done-validation.js.map +1 -1
  202. package/dist/wu-done-worktree.d.ts +15 -0
  203. package/dist/wu-done-worktree.d.ts.map +1 -1
  204. package/dist/wu-done-worktree.js +97 -120
  205. package/dist/wu-done-worktree.js.map +1 -1
  206. package/dist/wu-events-cleanup.d.ts.map +1 -1
  207. package/dist/wu-events-cleanup.js +3 -2
  208. package/dist/wu-events-cleanup.js.map +1 -1
  209. package/dist/wu-git-constants.d.ts +172 -0
  210. package/dist/wu-git-constants.d.ts.map +1 -0
  211. package/dist/wu-git-constants.js +172 -0
  212. package/dist/wu-git-constants.js.map +1 -0
  213. package/dist/wu-helpers.js +1 -1
  214. package/dist/wu-helpers.js.map +1 -1
  215. package/dist/wu-lint.d.ts.map +1 -1
  216. package/dist/wu-lint.js +8 -1
  217. package/dist/wu-lint.js.map +1 -1
  218. package/dist/wu-list.d.ts.map +1 -1
  219. package/dist/wu-list.js +3 -2
  220. package/dist/wu-list.js.map +1 -1
  221. package/dist/wu-paths-constants.d.ts +311 -0
  222. package/dist/wu-paths-constants.d.ts.map +1 -0
  223. package/dist/wu-paths-constants.js +308 -0
  224. package/dist/wu-paths-constants.js.map +1 -0
  225. package/dist/wu-paths.d.ts +12 -0
  226. package/dist/wu-paths.d.ts.map +1 -1
  227. package/dist/wu-paths.js +7 -1
  228. package/dist/wu-paths.js.map +1 -1
  229. package/dist/wu-recovery.d.ts.map +1 -1
  230. package/dist/wu-recovery.js +2 -2
  231. package/dist/wu-recovery.js.map +1 -1
  232. package/dist/wu-repair-core.d.ts +1 -0
  233. package/dist/wu-repair-core.d.ts.map +1 -1
  234. package/dist/wu-repair-core.js +7 -3
  235. package/dist/wu-repair-core.js.map +1 -1
  236. package/dist/wu-schema.d.ts.map +1 -1
  237. package/dist/wu-schema.js +2 -2
  238. package/dist/wu-schema.js.map +1 -1
  239. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  240. package/dist/wu-spawn-helpers.js +3 -2
  241. package/dist/wu-spawn-helpers.js.map +1 -1
  242. package/dist/wu-spawn.js +5 -5
  243. package/dist/wu-spawn.js.map +1 -1
  244. package/dist/wu-state-store.d.ts.map +1 -1
  245. package/dist/wu-state-store.js +20 -19
  246. package/dist/wu-state-store.js.map +1 -1
  247. package/dist/wu-status-transition.d.ts.map +1 -1
  248. package/dist/wu-status-transition.js +3 -26
  249. package/dist/wu-status-transition.js.map +1 -1
  250. package/dist/wu-status-updater.js +1 -1
  251. package/dist/wu-status-updater.js.map +1 -1
  252. package/dist/wu-statuses.d.ts +134 -0
  253. package/dist/wu-statuses.d.ts.map +1 -0
  254. package/dist/wu-statuses.js +149 -0
  255. package/dist/wu-statuses.js.map +1 -0
  256. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  257. package/dist/wu-transaction-collectors.js +6 -3
  258. package/dist/wu-transaction-collectors.js.map +1 -1
  259. package/dist/wu-transaction.d.ts.map +1 -1
  260. package/dist/wu-transaction.js +1 -1
  261. package/dist/wu-transaction.js.map +1 -1
  262. package/dist/wu-ui-constants.d.ts +235 -0
  263. package/dist/wu-ui-constants.d.ts.map +1 -0
  264. package/dist/wu-ui-constants.js +235 -0
  265. package/dist/wu-ui-constants.js.map +1 -0
  266. package/dist/wu-validator.d.ts.map +1 -1
  267. package/dist/wu-validator.js +2 -1
  268. package/dist/wu-validator.js.map +1 -1
  269. package/dist/wu-yaml.js +1 -1
  270. package/dist/wu-yaml.js.map +1 -1
  271. package/package.json +80 -4
@@ -17,18 +17,20 @@ import { constants, existsSync, mkdirSync, writeFileSync, readFileSync } from 'n
17
17
  import path from 'node:path';
18
18
  import { parseYAML, stringifyYAML } from './wu-yaml.js';
19
19
  import { createWuPaths, WU_PATHS } from './wu-paths.js';
20
- import { CONSISTENCY_TYPES, CONSISTENCY_MESSAGES, FILE_SYSTEM, LOG_PREFIX, REMOTES, STRING_LITERALS, toKebab, WU_STATUS, YAML_OPTIONS, } from './wu-constants.js';
21
- import { todayISO } from './date-utils.js';
20
+ import { CONSISTENCY_TYPES, CONSISTENCY_MESSAGES, LUMENFLOW_PATHS, LOG_PREFIX, REMOTES, STRING_LITERALS, toKebab, WU_STATUS, YAML_OPTIONS, } from './wu-constants.js';
21
+ import { todayISO, normalizeToDateString } from './date-utils.js';
22
22
  import { createGitForPath } from './git-adapter.js';
23
23
  import { withMicroWorktree } from './micro-worktree.js';
24
+ import { listTrackedWUStampIds } from './stamp-tracking.js';
24
25
  /**
25
26
  * Check a single WU for state inconsistencies
26
27
  *
27
28
  * @param {string} id - WU ID (e.g., 'WU-123')
28
29
  * @param {string} [projectRoot=process.cwd()] - Project root directory
30
+ * @param {CheckWUConsistencyOptions} [options] - Optional precomputed context
29
31
  * @returns {Promise<object>} Consistency report with valid, errors, and stats
30
32
  */
31
- export async function checkWUConsistency(id, projectRoot = process.cwd()) {
33
+ export async function checkWUConsistency(id, projectRoot = process.cwd(), options = {}) {
32
34
  const errors = [];
33
35
  const paths = createWuPaths({ projectRoot });
34
36
  const wuPath = path.join(projectRoot, paths.WU(id));
@@ -48,15 +50,18 @@ export async function checkWUConsistency(id, projectRoot = process.cwd()) {
48
50
  const lane = wuDoc?.lane || '';
49
51
  const title = wuDoc?.title || '';
50
52
  const worktreePathFromYaml = wuDoc?.worktree_path || '';
51
- // Check stamp existence
52
- let hasStamp = false;
53
+ // Check stamp existence (guard against untracked local stamp artifacts)
54
+ let hasStampFile = false;
53
55
  try {
54
56
  await access(stampPath, constants.R_OK);
55
- hasStamp = true;
57
+ hasStampFile = true;
56
58
  }
57
59
  catch {
58
- hasStamp = false;
60
+ hasStampFile = false;
59
61
  }
62
+ const trackedStampIds = options.trackedStampIds ??
63
+ (await listTrackedWUStampIds({ projectRoot, stampsDir: paths.STAMPS_DIR() }));
64
+ const hasStamp = hasStampFile && (trackedStampIds === null || trackedStampIds.has(id));
60
65
  // Parse backlog sections
61
66
  let backlogContent = '';
62
67
  try {
@@ -177,9 +182,13 @@ export async function checkAllWUConsistency(projectRoot = process.cwd()) {
177
182
  }
178
183
  const allErrors = [];
179
184
  const wuFiles = (await readdir(wuDir)).filter((f) => /^WU-\d+\.yaml$/.test(f));
185
+ const trackedStampIds = await listTrackedWUStampIds({
186
+ projectRoot,
187
+ stampsDir: paths.STAMPS_DIR(),
188
+ });
180
189
  for (const file of wuFiles) {
181
190
  const id = file.replace('.yaml', '');
182
- const report = await checkWUConsistency(id, projectRoot);
191
+ const report = await checkWUConsistency(id, projectRoot, { trackedStampIds });
183
192
  allErrors.push(...report.errors);
184
193
  }
185
194
  return {
@@ -199,6 +208,10 @@ export async function checkAllWUConsistency(projectRoot = process.cwd()) {
199
208
  export async function checkLaneForOrphanDoneWU(lane, excludeId, projectRoot = process.cwd()) {
200
209
  const paths = createWuPaths({ projectRoot });
201
210
  const wuDir = path.join(projectRoot, paths.WU_DIR());
211
+ const trackedStampIds = await listTrackedWUStampIds({
212
+ projectRoot,
213
+ stampsDir: paths.STAMPS_DIR(),
214
+ });
202
215
  try {
203
216
  await access(wuDir, constants.R_OK);
204
217
  }
@@ -229,7 +242,7 @@ export async function checkLaneForOrphanDoneWU(lane, excludeId, projectRoot = pr
229
242
  continue;
230
243
  }
231
244
  if (wuDoc?.lane === lane && wuDoc?.status === WU_STATUS.DONE) {
232
- const report = await checkWUConsistency(id, projectRoot);
245
+ const report = await checkWUConsistency(id, projectRoot, { trackedStampIds });
233
246
  if (!report.valid) {
234
247
  orphans.push({ id, errors: report.errors });
235
248
  }
@@ -346,7 +359,7 @@ export async function repairWUInconsistency(report, options = {}) {
346
359
  const filesModified = [];
347
360
  for (const error of fileRepairs) {
348
361
  try {
349
- const result = await repairSingleErrorInWorktree(error, worktreePath, effectiveProjectRoot);
362
+ const result = await repairSingleErrorInWorktree(error, worktreePath, worktreePath);
350
363
  if (result.success && result.files) {
351
364
  filesModified.push(...result.files);
352
365
  repaired++;
@@ -495,7 +508,7 @@ async function createStampInWorktree(id, title, worktreePath) {
495
508
  * @param {string} projectRoot - Project root directory
496
509
  * @returns {Promise<void>}
497
510
  */
498
- async function createStampInProject(id, title, projectRoot) {
511
+ async function _createStampInProject(id, title, projectRoot) {
499
512
  const stampsDir = path.join(projectRoot, WU_PATHS.STAMPS_DIR());
500
513
  const stampPath = path.join(projectRoot, WU_PATHS.STAMP(id));
501
514
  // Ensure stamps directory exists
@@ -535,19 +548,27 @@ async function updateYamlToDoneInWorktree(id, worktreePath, projectRoot) {
535
548
  const wuRelPath = paths.WU(id);
536
549
  const wuSrcPath = path.join(projectRoot, wuRelPath);
537
550
  const wuDestPath = path.join(worktreePath, wuRelPath);
538
- // Read current YAML from project root
539
- const content = readFileSync(wuSrcPath, { encoding: 'utf-8' });
551
+ const wuReadPath = existsSync(wuDestPath) ? wuDestPath : wuSrcPath;
552
+ // Read current YAML (prefer destination copy if already modified in this batch)
553
+ const content = readFileSync(wuReadPath, { encoding: 'utf-8' });
540
554
  const wuDoc = parseYAML(content);
541
555
  if (!wuDoc) {
542
- throw new Error(`Failed to parse WU YAML: ${wuSrcPath}`);
556
+ throw new Error(`Failed to parse WU YAML: ${wuReadPath}`);
543
557
  }
544
558
  // Update fields
545
559
  wuDoc.status = WU_STATUS.DONE;
546
560
  wuDoc.locked = true;
547
- // Preserve existing completed date if present, otherwise set to today
548
- if (!wuDoc.completed) {
549
- wuDoc.completed = todayISO();
550
- }
561
+ const existingCompletedAt = wuDoc.completed_at;
562
+ const completionTimestamp = typeof existingCompletedAt === 'string'
563
+ ? existingCompletedAt
564
+ : existingCompletedAt instanceof Date
565
+ ? existingCompletedAt.toISOString()
566
+ : new Date().toISOString();
567
+ wuDoc.completed_at = completionTimestamp;
568
+ // Keep legacy completed date in sync with completed_at for compatibility.
569
+ wuDoc.completed =
570
+ normalizeToDateString(wuDoc.completed ?? completionTimestamp) ??
571
+ completionTimestamp.slice(0, 10);
551
572
  // Ensure directory exists in worktree
552
573
  const wuDir = path.dirname(wuDestPath);
553
574
  if (!existsSync(wuDir)) {
@@ -556,7 +577,93 @@ async function updateYamlToDoneInWorktree(id, worktreePath, projectRoot) {
556
577
  // Write updated YAML to worktree
557
578
  const updatedContent = stringifyYAML(wuDoc, { lineWidth: YAML_OPTIONS.LINE_WIDTH });
558
579
  writeFileSync(wuDestPath, updatedContent, { encoding: 'utf-8' });
559
- return [wuRelPath];
580
+ const eventFiles = appendReconciliationEventsInWorktree({
581
+ id,
582
+ lane: wuDoc.lane,
583
+ title: wuDoc.title,
584
+ projectRoot,
585
+ worktreePath,
586
+ });
587
+ return [wuRelPath, ...eventFiles];
588
+ }
589
+ function deriveStatusFromEvents(eventsContent, wuId) {
590
+ let status;
591
+ const lines = eventsContent.split(/\r?\n/);
592
+ for (const line of lines) {
593
+ if (!line.trim())
594
+ continue;
595
+ try {
596
+ const event = JSON.parse(line);
597
+ if (event.wuId !== wuId || !event.type)
598
+ continue;
599
+ switch (event.type) {
600
+ case 'claim':
601
+ case 'create':
602
+ status = WU_STATUS.IN_PROGRESS;
603
+ break;
604
+ case 'release':
605
+ status = WU_STATUS.READY;
606
+ break;
607
+ case 'complete':
608
+ status = WU_STATUS.DONE;
609
+ break;
610
+ case 'block':
611
+ status = WU_STATUS.BLOCKED;
612
+ break;
613
+ case 'unblock':
614
+ status = WU_STATUS.IN_PROGRESS;
615
+ break;
616
+ }
617
+ }
618
+ catch {
619
+ // Ignore malformed lines; preserve file as-is and append corrective events.
620
+ }
621
+ }
622
+ return status;
623
+ }
624
+ function appendReconciliationEventsInWorktree({ id, lane, title, projectRoot, worktreePath, }) {
625
+ const eventsRelPath = LUMENFLOW_PATHS.WU_EVENTS;
626
+ const eventsSrcPath = path.join(projectRoot, eventsRelPath);
627
+ const eventsDestPath = path.join(worktreePath, eventsRelPath);
628
+ const eventsReadPath = existsSync(eventsDestPath) ? eventsDestPath : eventsSrcPath;
629
+ const existingContent = existsSync(eventsReadPath)
630
+ ? readFileSync(eventsReadPath, { encoding: 'utf-8' })
631
+ : '';
632
+ const derivedStatus = deriveStatusFromEvents(existingContent, id);
633
+ if (derivedStatus === WU_STATUS.DONE) {
634
+ return [];
635
+ }
636
+ const now = new Date().toISOString();
637
+ const appendEvents = [];
638
+ if (derivedStatus !== WU_STATUS.IN_PROGRESS) {
639
+ appendEvents.push({
640
+ type: 'claim',
641
+ wuId: id,
642
+ lane: typeof lane === 'string' && lane.trim().length > 0 ? lane : 'Operations: Tooling',
643
+ title: typeof title === 'string' && title.trim().length > 0 ? title : `WU ${id}`,
644
+ timestamp: now,
645
+ });
646
+ }
647
+ appendEvents.push({
648
+ type: 'complete',
649
+ wuId: id,
650
+ reason: 'wu:repair consistency reconciliation for stamp/yaml mismatch',
651
+ timestamp: now,
652
+ });
653
+ const destDir = path.dirname(eventsDestPath);
654
+ if (!existsSync(destDir)) {
655
+ mkdirSync(destDir, { recursive: true });
656
+ }
657
+ const suffix = appendEvents.map((event) => JSON.stringify(event)).join(STRING_LITERALS.NEWLINE);
658
+ const normalizedExisting = existingContent
659
+ ? existingContent.endsWith(STRING_LITERALS.NEWLINE)
660
+ ? existingContent
661
+ : `${existingContent}${STRING_LITERALS.NEWLINE}`
662
+ : '';
663
+ writeFileSync(eventsDestPath, `${normalizedExisting}${suffix}${STRING_LITERALS.NEWLINE}`, {
664
+ encoding: 'utf-8',
665
+ });
666
+ return [eventsRelPath];
560
667
  }
561
668
  /**
562
669
  * Update WU YAML to done+locked+completed state (DEPRECATED - use updateYamlToDoneInWorktree)
@@ -567,7 +674,7 @@ async function updateYamlToDoneInWorktree(id, worktreePath, projectRoot) {
567
674
  * @param {string} projectRoot - Project root directory
568
675
  * @returns {Promise<void>}
569
676
  */
570
- async function updateYamlToDone(id, projectRoot) {
677
+ async function _updateYamlToDone(id, projectRoot) {
571
678
  const paths = createWuPaths({ projectRoot });
572
679
  const wuPath = path.join(projectRoot, paths.WU(id));
573
680
  // Read current YAML
@@ -657,7 +764,7 @@ async function removeWUFromSectionInWorktree(relFilePath, id, sectionHeading, wo
657
764
  * @param {string} sectionHeading - Section heading to target
658
765
  * @returns {Promise<void>}
659
766
  */
660
- async function removeWUFromSection(filePath, id, sectionHeading) {
767
+ async function _removeWUFromSection(filePath, id, sectionHeading) {
661
768
  try {
662
769
  await access(filePath, constants.R_OK);
663
770
  }
@@ -791,7 +898,7 @@ function parseBacklogSections(content, id) {
791
898
  continue;
792
899
  }
793
900
  if (line.trim() === '## 🔧 In progress') {
794
- currentSection = 'in_progress';
901
+ currentSection = WU_STATUS.IN_PROGRESS;
795
902
  continue;
796
903
  }
797
904
  if (line.trim().startsWith('## ')) {
@@ -801,7 +908,7 @@ function parseBacklogSections(content, id) {
801
908
  if (line.includes(exactPattern)) {
802
909
  if (currentSection === WU_STATUS.DONE)
803
910
  inDone = true;
804
- if (currentSection === 'in_progress')
911
+ if (currentSection === WU_STATUS.IN_PROGRESS)
805
912
  inProgress = true;
806
913
  }
807
914
  }
@@ -823,14 +930,14 @@ function parseStatusSections(content, id) {
823
930
  const exactPattern = `(wu/${id}.yaml)`;
824
931
  for (const line of lines) {
825
932
  if (line.trim() === '## In Progress') {
826
- currentSection = 'in_progress';
933
+ currentSection = WU_STATUS.IN_PROGRESS;
827
934
  continue;
828
935
  }
829
936
  if (line.trim().startsWith('## ')) {
830
937
  currentSection = null;
831
938
  continue;
832
939
  }
833
- if (currentSection === 'in_progress' && line.includes(exactPattern)) {
940
+ if (currentSection === WU_STATUS.IN_PROGRESS && line.includes(exactPattern)) {
834
941
  inProgress = true;
835
942
  }
836
943
  }
@@ -852,6 +959,7 @@ async function checkWorktreeExists(id, projectRoot) {
852
959
  const output = await git.worktreeList();
853
960
  // Match WU ID followed by non-digit or end of string to prevent
854
961
  // false positives (e.g., wu-204 matching wu-2049)
962
+ // eslint-disable-next-line security/detect-non-literal-regexp -- WU ID from internal state, not user input
855
963
  const pattern = new RegExp(`${id.toLowerCase()}(?![0-9])`, 'i');
856
964
  return pattern.test(output);
857
965
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wu-consistency-checker.js","sourceRoot":"","sources":["../src/wu-consistency-checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-consistency-checker.js","sourceRoot":"","sources":["../src/wu-consistency-checker.ts"],"names":[],"mappings":"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"}