@lumenflow/core 2.20.0 → 2.21.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 (523) hide show
  1. package/dist/active-wu-detector.d.ts +2 -2
  2. package/dist/active-wu-detector.d.ts.map +1 -1
  3. package/dist/active-wu-detector.js +1 -1
  4. package/dist/active-wu-detector.js.map +1 -1
  5. package/dist/adapters/context-adapters.d.ts +10 -0
  6. package/dist/adapters/context-adapters.d.ts.map +1 -1
  7. package/dist/adapters/context-adapters.js +15 -3
  8. package/dist/adapters/context-adapters.js.map +1 -1
  9. package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
  10. package/dist/adapters/filesystem-metrics.adapter.js +13 -7
  11. package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
  12. package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +1 -1
  13. package/dist/adapters/mock-dashboard-renderer.adapter.js +1 -1
  14. package/dist/agent-patterns-registry.d.ts +2 -2
  15. package/dist/agent-patterns-registry.js +5 -5
  16. package/dist/agent-patterns-registry.js.map +1 -1
  17. package/dist/arg-parser.d.ts.map +1 -1
  18. package/dist/arg-parser.js +2 -0
  19. package/dist/arg-parser.js.map +1 -1
  20. package/dist/backlog-editor.d.ts +21 -17
  21. package/dist/backlog-editor.d.ts.map +1 -1
  22. package/dist/backlog-editor.js +6 -29
  23. package/dist/backlog-editor.js.map +1 -1
  24. package/dist/backlog-generator.d.ts +14 -8
  25. package/dist/backlog-generator.d.ts.map +1 -1
  26. package/dist/backlog-generator.js +53 -20
  27. package/dist/backlog-generator.js.map +1 -1
  28. package/dist/backlog-parser.d.ts +2 -2
  29. package/dist/backlog-parser.d.ts.map +1 -1
  30. package/dist/backlog-parser.js.map +1 -1
  31. package/dist/backlog-sync-validator.d.ts +19 -10
  32. package/dist/backlog-sync-validator.d.ts.map +1 -1
  33. package/dist/backlog-sync-validator.js +41 -16
  34. package/dist/backlog-sync-validator.js.map +1 -1
  35. package/dist/branch-drift.d.ts +1 -1
  36. package/dist/branch-drift.d.ts.map +1 -1
  37. package/dist/branch-drift.js.map +1 -1
  38. package/dist/cleanup-lock.d.ts +4 -4
  39. package/dist/cleanup-lock.d.ts.map +1 -1
  40. package/dist/cleanup-lock.js.map +1 -1
  41. package/dist/cloud-detect.d.ts +1 -1
  42. package/dist/cloud-detect.d.ts.map +1 -1
  43. package/dist/code-path-validator.d.ts.map +1 -1
  44. package/dist/code-path-validator.js +15 -4
  45. package/dist/code-path-validator.js.map +1 -1
  46. package/dist/code-paths-overlap.d.ts +6 -3
  47. package/dist/code-paths-overlap.d.ts.map +1 -1
  48. package/dist/code-paths-overlap.js +1 -1
  49. package/dist/code-paths-overlap.js.map +1 -1
  50. package/dist/color-support.d.ts +1 -1
  51. package/dist/color-support.js +2 -2
  52. package/dist/color-support.js.map +1 -1
  53. package/dist/commands-logger.d.ts +11 -4
  54. package/dist/commands-logger.d.ts.map +1 -1
  55. package/dist/commands-logger.js +1 -1
  56. package/dist/commands-logger.js.map +1 -1
  57. package/dist/commit-message-utils.d.ts +1 -1
  58. package/dist/commit-message-utils.d.ts.map +1 -1
  59. package/dist/commit-message-utils.js.map +1 -1
  60. package/dist/compliance-parser.d.ts +86 -112
  61. package/dist/compliance-parser.d.ts.map +1 -1
  62. package/dist/compliance-parser.js +10 -61
  63. package/dist/compliance-parser.js.map +1 -1
  64. package/dist/constants/backlog-patterns.d.ts +1 -1
  65. package/dist/constants/backlog-patterns.d.ts.map +1 -1
  66. package/dist/constants/backlog-patterns.js.map +1 -1
  67. package/dist/context/location-resolver.js +1 -1
  68. package/dist/context/location-resolver.js.map +1 -1
  69. package/dist/context-validation-integration.d.ts +1 -1
  70. package/dist/context-validation-integration.d.ts.map +1 -1
  71. package/dist/context-validation-integration.js +1 -1
  72. package/dist/context-validation-integration.js.map +1 -1
  73. package/dist/core/scope-checker.d.ts +4 -4
  74. package/dist/core/scope-checker.d.ts.map +1 -1
  75. package/dist/core/scope-checker.js.map +1 -1
  76. package/dist/core/tool.schemas.d.ts +1 -1
  77. package/dist/core/tool.schemas.d.ts.map +1 -1
  78. package/dist/core/worktree-guard.d.ts +1 -1
  79. package/dist/core/worktree-guard.d.ts.map +1 -1
  80. package/dist/core/worktree-guard.js.map +1 -1
  81. package/dist/coverage-gate.d.ts +14 -9
  82. package/dist/coverage-gate.d.ts.map +1 -1
  83. package/dist/coverage-gate.js +2 -2
  84. package/dist/coverage-gate.js.map +1 -1
  85. package/dist/date-utils.d.ts +3 -3
  86. package/dist/date-utils.d.ts.map +1 -1
  87. package/dist/date-utils.js.map +1 -1
  88. package/dist/delegation-escalation.d.ts +2 -2
  89. package/dist/delegation-escalation.d.ts.map +1 -1
  90. package/dist/delegation-escalation.js +6 -2
  91. package/dist/delegation-escalation.js.map +1 -1
  92. package/dist/delegation-monitor.d.ts +76 -22
  93. package/dist/delegation-monitor.d.ts.map +1 -1
  94. package/dist/delegation-monitor.js +3 -2
  95. package/dist/delegation-monitor.js.map +1 -1
  96. package/dist/delegation-recovery.d.ts +2 -2
  97. package/dist/delegation-recovery.d.ts.map +1 -1
  98. package/dist/delegation-recovery.js +4 -1
  99. package/dist/delegation-recovery.js.map +1 -1
  100. package/dist/delegation-registry-schema.d.ts +4 -4
  101. package/dist/delegation-registry-store.d.ts.map +1 -1
  102. package/dist/delegation-registry-store.js +8 -1
  103. package/dist/delegation-registry-store.js.map +1 -1
  104. package/dist/delegation-tree.d.ts +1 -1
  105. package/dist/delegation-tree.d.ts.map +1 -1
  106. package/dist/delegation-tree.js.map +1 -1
  107. package/dist/dependency-graph.d.ts +44 -24
  108. package/dist/dependency-graph.d.ts.map +1 -1
  109. package/dist/dependency-graph.js +60 -32
  110. package/dist/dependency-graph.js.map +1 -1
  111. package/dist/dependency-guard.d.ts +2 -2
  112. package/dist/dependency-guard.d.ts.map +1 -1
  113. package/dist/dependency-guard.js.map +1 -1
  114. package/dist/dependency-validator.d.ts +4 -4
  115. package/dist/dependency-validator.d.ts.map +1 -1
  116. package/dist/dependency-validator.js +2 -1
  117. package/dist/dependency-validator.js.map +1 -1
  118. package/dist/docs-path-validator.d.ts +1 -1
  119. package/dist/docs-path-validator.d.ts.map +1 -1
  120. package/dist/docs-path-validator.js.map +1 -1
  121. package/dist/domain/orchestration.constants.d.ts +2 -2
  122. package/dist/domain/orchestration.constants.js +2 -2
  123. package/dist/domain/orchestration.schemas.d.ts +2 -2
  124. package/dist/domain/recovery.schemas.js +2 -2
  125. package/dist/domain/recovery.schemas.js.map +1 -1
  126. package/dist/domain/validation.schemas.js +1 -1
  127. package/dist/domain/validation.schemas.js.map +1 -1
  128. package/dist/error-handler.d.ts +3 -3
  129. package/dist/error-handler.d.ts.map +1 -1
  130. package/dist/error-handler.js.map +1 -1
  131. package/dist/file-classifiers.d.ts +3 -3
  132. package/dist/file-classifiers.d.ts.map +1 -1
  133. package/dist/file-classifiers.js.map +1 -1
  134. package/dist/force-bypass-audit.d.ts.map +1 -1
  135. package/dist/force-bypass-audit.js.map +1 -1
  136. package/dist/gates-config.d.ts +1 -1
  137. package/dist/gates-config.js +1 -1
  138. package/dist/gates-config.js.map +1 -1
  139. package/dist/generate-traceability.d.ts +61 -51
  140. package/dist/generate-traceability.d.ts.map +1 -1
  141. package/dist/generate-traceability.js +34 -61
  142. package/dist/generate-traceability.js.map +1 -1
  143. package/dist/git-adapter.d.ts +3 -16
  144. package/dist/git-adapter.d.ts.map +1 -1
  145. package/dist/git-adapter.js +1 -1
  146. package/dist/git-adapter.js.map +1 -1
  147. package/dist/git-context-extractor.d.ts.map +1 -1
  148. package/dist/git-context-extractor.js +21 -10
  149. package/dist/git-context-extractor.js.map +1 -1
  150. package/dist/git-staged-validator.d.ts +1 -1
  151. package/dist/git-staged-validator.d.ts.map +1 -1
  152. package/dist/git-staged-validator.js +3 -2
  153. package/dist/git-staged-validator.js.map +1 -1
  154. package/dist/hardcoded-strings.d.ts +8 -3
  155. package/dist/hardcoded-strings.d.ts.map +1 -1
  156. package/dist/hardcoded-strings.js +4 -1
  157. package/dist/hardcoded-strings.js.map +1 -1
  158. package/dist/incremental-lint.d.ts +2 -2
  159. package/dist/incremental-lint.d.ts.map +1 -1
  160. package/dist/incremental-lint.js.map +1 -1
  161. package/dist/incremental-test.d.ts +1 -1
  162. package/dist/incremental-test.d.ts.map +1 -1
  163. package/dist/incremental-test.js.map +1 -1
  164. package/dist/index.d.ts +1 -1
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js.map +1 -1
  167. package/dist/invariants/check-automated-tests.d.ts +11 -4
  168. package/dist/invariants/check-automated-tests.d.ts.map +1 -1
  169. package/dist/invariants/check-automated-tests.js +1 -1
  170. package/dist/invariants/check-automated-tests.js.map +1 -1
  171. package/dist/invariants-runner.d.ts +32 -7
  172. package/dist/invariants-runner.d.ts.map +1 -1
  173. package/dist/invariants-runner.js +20 -6
  174. package/dist/invariants-runner.js.map +1 -1
  175. package/dist/lane-checker.d.ts.map +1 -1
  176. package/dist/lane-checker.js +3 -0
  177. package/dist/lane-checker.js.map +1 -1
  178. package/dist/lane-inference.d.ts +7 -6
  179. package/dist/lane-inference.d.ts.map +1 -1
  180. package/dist/lane-inference.js +16 -9
  181. package/dist/lane-inference.js.map +1 -1
  182. package/dist/lane-suggest-prompt.d.ts +1 -1
  183. package/dist/lane-suggest-prompt.d.ts.map +1 -1
  184. package/dist/lane-validator.d.ts +5 -5
  185. package/dist/lane-validator.d.ts.map +1 -1
  186. package/dist/lane-validator.js +6 -6
  187. package/dist/lane-validator.js.map +1 -1
  188. package/dist/logs-lib.d.ts +1 -1
  189. package/dist/logs-lib.d.ts.map +1 -1
  190. package/dist/logs-lib.js +4 -1
  191. package/dist/logs-lib.js.map +1 -1
  192. package/dist/lumenflow-config-schema.d.ts +104 -57
  193. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  194. package/dist/lumenflow-config-schema.js +13 -0
  195. package/dist/lumenflow-config-schema.js.map +1 -1
  196. package/dist/manual-test-validator.d.ts +9 -9
  197. package/dist/manual-test-validator.d.ts.map +1 -1
  198. package/dist/manual-test-validator.js +4 -4
  199. package/dist/manual-test-validator.js.map +1 -1
  200. package/dist/merge-lock.d.ts +2 -2
  201. package/dist/merge-lock.d.ts.map +1 -1
  202. package/dist/merge-lock.js.map +1 -1
  203. package/dist/micro-worktree.d.ts +2 -2
  204. package/dist/micro-worktree.js +3 -3
  205. package/dist/micro-worktree.js.map +1 -1
  206. package/dist/orchestration-advisory-loader.d.ts +2 -2
  207. package/dist/orchestration-advisory-loader.d.ts.map +1 -1
  208. package/dist/orchestration-advisory-loader.js +1 -1
  209. package/dist/orchestration-advisory-loader.js.map +1 -1
  210. package/dist/orchestration-rules.d.ts +21 -9
  211. package/dist/orchestration-rules.d.ts.map +1 -1
  212. package/dist/orchestration-rules.js +1 -1
  213. package/dist/orchestration-rules.js.map +1 -1
  214. package/dist/orphan-detector.d.ts +11 -11
  215. package/dist/orphan-detector.d.ts.map +1 -1
  216. package/dist/orphan-detector.js.map +1 -1
  217. package/dist/path-classifiers.d.ts +2 -2
  218. package/dist/path-classifiers.d.ts.map +1 -1
  219. package/dist/path-classifiers.js.map +1 -1
  220. package/dist/piped-command-detector.d.ts +3 -3
  221. package/dist/piped-command-detector.d.ts.map +1 -1
  222. package/dist/piped-command-detector.js +1 -1
  223. package/dist/piped-command-detector.js.map +1 -1
  224. package/dist/ports/core-tools.ports.d.ts +1 -1
  225. package/dist/ports/core-tools.ports.js +1 -1
  226. package/dist/ports/dashboard-renderer.port.d.ts +2 -2
  227. package/dist/ports/dashboard-renderer.port.js +1 -1
  228. package/dist/ports/git-validator.ports.d.ts +70 -271
  229. package/dist/ports/git-validator.ports.d.ts.map +1 -1
  230. package/dist/ports/git-validator.ports.js +4 -5
  231. package/dist/ports/git-validator.ports.js.map +1 -1
  232. package/dist/ports/validation.ports.d.ts +1 -1
  233. package/dist/process-detector.d.ts +6 -10
  234. package/dist/process-detector.d.ts.map +1 -1
  235. package/dist/process-detector.js.map +1 -1
  236. package/dist/prompt-linter.d.ts +1 -1
  237. package/dist/prompt-linter.d.ts.map +1 -1
  238. package/dist/prompt-linter.js +4 -3
  239. package/dist/prompt-linter.js.map +1 -1
  240. package/dist/prompt-monitor.d.ts.map +1 -1
  241. package/dist/prompt-monitor.js +2 -2
  242. package/dist/prompt-monitor.js.map +1 -1
  243. package/dist/rebase-artifact-cleanup.d.ts +42 -33
  244. package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
  245. package/dist/rebase-artifact-cleanup.js +8 -9
  246. package/dist/rebase-artifact-cleanup.js.map +1 -1
  247. package/dist/recovery/recovery-analyzer.d.ts +3 -2
  248. package/dist/recovery/recovery-analyzer.d.ts.map +1 -1
  249. package/dist/recovery/recovery-analyzer.js +18 -1
  250. package/dist/recovery/recovery-analyzer.js.map +1 -1
  251. package/dist/resolve-policy.d.ts +1 -1
  252. package/dist/resolve-policy.d.ts.map +1 -1
  253. package/dist/resolve-policy.js +3 -5
  254. package/dist/resolve-policy.js.map +1 -1
  255. package/dist/retry-strategy.d.ts +43 -27
  256. package/dist/retry-strategy.d.ts.map +1 -1
  257. package/dist/retry-strategy.js.map +1 -1
  258. package/dist/risk-detector.d.ts +1 -1
  259. package/dist/risk-detector.js +1 -1
  260. package/dist/rollback-utils.d.ts +6 -6
  261. package/dist/rollback-utils.d.ts.map +1 -1
  262. package/dist/rollback-utils.js +2 -2
  263. package/dist/rollback-utils.js.map +1 -1
  264. package/dist/schemas/flow-arg-validators.d.ts +18 -18
  265. package/dist/schemas/initiative-arg-validators.d.ts +28 -28
  266. package/dist/schemas/initiative-schemas.d.ts +3 -3
  267. package/dist/schemas/memory-arg-validators.d.ts +40 -40
  268. package/dist/schemas/schema-utils.js.map +1 -1
  269. package/dist/schemas/setup-arg-validators.d.ts +32 -32
  270. package/dist/schemas/validation-arg-validators.d.ts +4 -4
  271. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +51 -51
  272. package/dist/section-headings.d.ts +6 -6
  273. package/dist/section-headings.d.ts.map +1 -1
  274. package/dist/section-headings.js +7 -5
  275. package/dist/section-headings.js.map +1 -1
  276. package/dist/stamp-status-validator.d.ts +7 -4
  277. package/dist/stamp-status-validator.d.ts.map +1 -1
  278. package/dist/stamp-status-validator.js.map +1 -1
  279. package/dist/stamp-utils.d.ts +15 -21
  280. package/dist/stamp-utils.d.ts.map +1 -1
  281. package/dist/stamp-utils.js +21 -5
  282. package/dist/stamp-utils.js.map +1 -1
  283. package/dist/state-machine.d.ts +1 -1
  284. package/dist/state-machine.d.ts.map +1 -1
  285. package/dist/state-machine.js +4 -2
  286. package/dist/state-machine.js.map +1 -1
  287. package/dist/system-map-validator.d.ts +25 -13
  288. package/dist/system-map-validator.d.ts.map +1 -1
  289. package/dist/system-map-validator.js +43 -21
  290. package/dist/system-map-validator.js.map +1 -1
  291. package/dist/telemetry.d.ts +9 -9
  292. package/dist/telemetry.d.ts.map +1 -1
  293. package/dist/telemetry.js +6 -5
  294. package/dist/telemetry.js.map +1 -1
  295. package/dist/template-loader.d.ts.map +1 -1
  296. package/dist/template-loader.js +13 -8
  297. package/dist/template-loader.js.map +1 -1
  298. package/dist/token-counter.d.ts +19 -13
  299. package/dist/token-counter.d.ts.map +1 -1
  300. package/dist/token-counter.js +1 -1
  301. package/dist/token-counter.js.map +1 -1
  302. package/dist/usecases/get-dashboard-data.usecase.d.ts +1 -1
  303. package/dist/usecases/get-dashboard-data.usecase.js +1 -1
  304. package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
  305. package/dist/usecases/get-suggestions.usecase.js +4 -2
  306. package/dist/usecases/get-suggestions.usecase.js.map +1 -1
  307. package/dist/user-normalizer.d.ts +4 -4
  308. package/dist/user-normalizer.d.ts.map +1 -1
  309. package/dist/user-normalizer.js +2 -2
  310. package/dist/user-normalizer.js.map +1 -1
  311. package/dist/validation/command-registry.d.ts +1 -1
  312. package/dist/validation/command-registry.js +3 -3
  313. package/dist/validation/command-registry.js.map +1 -1
  314. package/dist/validation/types.d.ts +3 -1
  315. package/dist/validation/types.d.ts.map +1 -1
  316. package/dist/worktree-ownership.d.ts +4 -4
  317. package/dist/worktree-ownership.d.ts.map +1 -1
  318. package/dist/worktree-ownership.js +1 -1
  319. package/dist/worktree-ownership.js.map +1 -1
  320. package/dist/worktree-scanner.d.ts +36 -8
  321. package/dist/worktree-scanner.d.ts.map +1 -1
  322. package/dist/worktree-scanner.js +2 -2
  323. package/dist/worktree-scanner.js.map +1 -1
  324. package/dist/worktree-symlink.d.ts +25 -29
  325. package/dist/worktree-symlink.d.ts.map +1 -1
  326. package/dist/worktree-symlink.js +12 -7
  327. package/dist/worktree-symlink.js.map +1 -1
  328. package/dist/wu-backlog-updater.d.ts +1 -1
  329. package/dist/wu-backlog-updater.d.ts.map +1 -1
  330. package/dist/wu-backlog-updater.js.map +1 -1
  331. package/dist/wu-checkpoint.d.ts +6 -6
  332. package/dist/wu-checkpoint.d.ts.map +1 -1
  333. package/dist/wu-checkpoint.js.map +1 -1
  334. package/dist/wu-claim-helpers.d.ts +2 -2
  335. package/dist/wu-claim-helpers.d.ts.map +1 -1
  336. package/dist/wu-claim-helpers.js.map +1 -1
  337. package/dist/wu-claim-resume.d.ts +22 -8
  338. package/dist/wu-claim-resume.d.ts.map +1 -1
  339. package/dist/wu-claim-resume.js.map +1 -1
  340. package/dist/wu-cli-constants.d.ts +1 -3
  341. package/dist/wu-cli-constants.d.ts.map +1 -1
  342. package/dist/wu-cli-constants.js +1 -3
  343. package/dist/wu-cli-constants.js.map +1 -1
  344. package/dist/wu-consistency-checker.d.ts +83 -8
  345. package/dist/wu-consistency-checker.d.ts.map +1 -1
  346. package/dist/wu-consistency-checker.js +15 -8
  347. package/dist/wu-consistency-checker.js.map +1 -1
  348. package/dist/wu-constants.d.ts +2 -2
  349. package/dist/wu-constants.d.ts.map +1 -1
  350. package/dist/wu-constants.js +2 -2
  351. package/dist/wu-constants.js.map +1 -1
  352. package/dist/wu-context-constants.d.ts +4 -0
  353. package/dist/wu-context-constants.d.ts.map +1 -1
  354. package/dist/wu-context-constants.js +4 -0
  355. package/dist/wu-context-constants.js.map +1 -1
  356. package/dist/wu-create-validators.d.ts +3 -3
  357. package/dist/wu-create-validators.d.ts.map +1 -1
  358. package/dist/wu-create-validators.js +1 -1
  359. package/dist/wu-create-validators.js.map +1 -1
  360. package/dist/wu-domain-constants.d.ts +3 -3
  361. package/dist/wu-domain-constants.d.ts.map +1 -1
  362. package/dist/wu-domain-constants.js +7 -11
  363. package/dist/wu-domain-constants.js.map +1 -1
  364. package/dist/wu-done-branch-only.d.ts +16 -13
  365. package/dist/wu-done-branch-only.d.ts.map +1 -1
  366. package/dist/wu-done-branch-only.js +1 -1
  367. package/dist/wu-done-branch-only.js.map +1 -1
  368. package/dist/wu-done-branch-utils.d.ts +1 -1
  369. package/dist/wu-done-branch-utils.d.ts.map +1 -1
  370. package/dist/wu-done-branch-utils.js.map +1 -1
  371. package/dist/wu-done-cleanup.d.ts +1 -1
  372. package/dist/wu-done-cleanup.d.ts.map +1 -1
  373. package/dist/wu-done-cleanup.js.map +1 -1
  374. package/dist/wu-done-concurrent-merge.d.ts +1 -1
  375. package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
  376. package/dist/wu-done-concurrent-merge.js +4 -2
  377. package/dist/wu-done-concurrent-merge.js.map +1 -1
  378. package/dist/wu-done-docs-generate.d.ts +2 -2
  379. package/dist/wu-done-docs-generate.js +2 -2
  380. package/dist/wu-done-docs-only.d.ts +1 -1
  381. package/dist/wu-done-docs-only.d.ts.map +1 -1
  382. package/dist/wu-done-docs-only.js.map +1 -1
  383. package/dist/wu-done-errors.d.ts +3 -3
  384. package/dist/wu-done-errors.d.ts.map +1 -1
  385. package/dist/wu-done-errors.js.map +1 -1
  386. package/dist/wu-done-inputs.d.ts +1 -1
  387. package/dist/wu-done-inputs.d.ts.map +1 -1
  388. package/dist/wu-done-inputs.js.map +1 -1
  389. package/dist/wu-done-machine.d.ts +2 -2
  390. package/dist/wu-done-merged-worktree.d.ts +89 -0
  391. package/dist/wu-done-merged-worktree.d.ts.map +1 -0
  392. package/dist/wu-done-merged-worktree.js +195 -0
  393. package/dist/wu-done-merged-worktree.js.map +1 -0
  394. package/dist/wu-done-messages.d.ts +30 -30
  395. package/dist/wu-done-messages.d.ts.map +1 -1
  396. package/dist/wu-done-messages.js +16 -13
  397. package/dist/wu-done-messages.js.map +1 -1
  398. package/dist/wu-done-metadata.d.ts +46 -35
  399. package/dist/wu-done-metadata.d.ts.map +1 -1
  400. package/dist/wu-done-metadata.js +12 -10
  401. package/dist/wu-done-metadata.js.map +1 -1
  402. package/dist/wu-done-paths.d.ts +33 -19
  403. package/dist/wu-done-paths.d.ts.map +1 -1
  404. package/dist/wu-done-paths.js +15 -9
  405. package/dist/wu-done-paths.js.map +1 -1
  406. package/dist/wu-done-pr.d.ts +9 -5
  407. package/dist/wu-done-pr.d.ts.map +1 -1
  408. package/dist/wu-done-pr.js +1 -1
  409. package/dist/wu-done-pr.js.map +1 -1
  410. package/dist/wu-done-preflight.d.ts +29 -31
  411. package/dist/wu-done-preflight.d.ts.map +1 -1
  412. package/dist/wu-done-preflight.js +7 -7
  413. package/dist/wu-done-preflight.js.map +1 -1
  414. package/dist/wu-done-retry-helpers.d.ts +5 -5
  415. package/dist/wu-done-retry-helpers.d.ts.map +1 -1
  416. package/dist/wu-done-retry-helpers.js +2 -2
  417. package/dist/wu-done-retry-helpers.js.map +1 -1
  418. package/dist/wu-done-ui.d.ts +5 -5
  419. package/dist/wu-done-ui.d.ts.map +1 -1
  420. package/dist/wu-done-ui.js +4 -2
  421. package/dist/wu-done-ui.js.map +1 -1
  422. package/dist/wu-done-validation.d.ts +34 -18
  423. package/dist/wu-done-validation.d.ts.map +1 -1
  424. package/dist/wu-done-validation.js +30 -16
  425. package/dist/wu-done-validation.js.map +1 -1
  426. package/dist/wu-done-worktree-services.d.ts +1 -1
  427. package/dist/wu-done-worktree-services.js +2 -2
  428. package/dist/wu-done-worktree-services.js.map +1 -1
  429. package/dist/wu-done-worktree.d.ts +60 -29
  430. package/dist/wu-done-worktree.d.ts.map +1 -1
  431. package/dist/wu-done-worktree.js +62 -45
  432. package/dist/wu-done-worktree.js.map +1 -1
  433. package/dist/wu-events-cleanup.d.ts.map +1 -1
  434. package/dist/wu-events-cleanup.js +6 -2
  435. package/dist/wu-events-cleanup.js.map +1 -1
  436. package/dist/wu-helpers.d.ts +21 -25
  437. package/dist/wu-helpers.d.ts.map +1 -1
  438. package/dist/wu-helpers.js +6 -4
  439. package/dist/wu-helpers.js.map +1 -1
  440. package/dist/wu-id-generator.d.ts.map +1 -1
  441. package/dist/wu-id-generator.js +5 -1
  442. package/dist/wu-id-generator.js.map +1 -1
  443. package/dist/wu-lint.d.ts +78 -8
  444. package/dist/wu-lint.d.ts.map +1 -1
  445. package/dist/wu-lint.js +1 -1
  446. package/dist/wu-lint.js.map +1 -1
  447. package/dist/wu-paths-constants.d.ts +1 -39
  448. package/dist/wu-paths-constants.d.ts.map +1 -1
  449. package/dist/wu-paths-constants.js +1 -39
  450. package/dist/wu-paths-constants.js.map +1 -1
  451. package/dist/wu-preflight-validators.d.ts +32 -41
  452. package/dist/wu-preflight-validators.d.ts.map +1 -1
  453. package/dist/wu-preflight-validators.js +11 -4
  454. package/dist/wu-preflight-validators.js.map +1 -1
  455. package/dist/wu-recovery.d.ts +49 -36
  456. package/dist/wu-recovery.d.ts.map +1 -1
  457. package/dist/wu-recovery.js +22 -14
  458. package/dist/wu-recovery.js.map +1 -1
  459. package/dist/wu-repair-core.d.ts +62 -32
  460. package/dist/wu-repair-core.d.ts.map +1 -1
  461. package/dist/wu-repair-core.js +31 -19
  462. package/dist/wu-repair-core.js.map +1 -1
  463. package/dist/wu-rules-core.d.ts +1 -1
  464. package/dist/wu-rules-core.d.ts.map +1 -1
  465. package/dist/wu-schema-normalization.d.ts +1 -1
  466. package/dist/wu-schema-normalization.d.ts.map +1 -1
  467. package/dist/wu-schema-normalization.js +5 -2
  468. package/dist/wu-schema-normalization.js.map +1 -1
  469. package/dist/wu-schema.d.ts +141 -187
  470. package/dist/wu-schema.d.ts.map +1 -1
  471. package/dist/wu-schema.js +22 -35
  472. package/dist/wu-schema.js.map +1 -1
  473. package/dist/wu-spawn-helpers.d.ts +7 -7
  474. package/dist/wu-spawn-helpers.d.ts.map +1 -1
  475. package/dist/wu-spawn-helpers.js.map +1 -1
  476. package/dist/wu-spawn-skills.d.ts +6 -6
  477. package/dist/wu-spawn-skills.d.ts.map +1 -1
  478. package/dist/wu-spawn-skills.js.map +1 -1
  479. package/dist/wu-spawn.d.ts +29 -8
  480. package/dist/wu-spawn.d.ts.map +1 -1
  481. package/dist/wu-spawn.js +33 -20
  482. package/dist/wu-spawn.js.map +1 -1
  483. package/dist/wu-state-schema.d.ts +4 -4
  484. package/dist/wu-state-schema.d.ts.map +1 -1
  485. package/dist/wu-state-schema.js.map +1 -1
  486. package/dist/wu-state-store.d.ts.map +1 -1
  487. package/dist/wu-state-store.js +10 -2
  488. package/dist/wu-state-store.js.map +1 -1
  489. package/dist/wu-status-transition.d.ts +21 -13
  490. package/dist/wu-status-transition.d.ts.map +1 -1
  491. package/dist/wu-status-transition.js +15 -8
  492. package/dist/wu-status-transition.js.map +1 -1
  493. package/dist/wu-status-updater.d.ts +2 -2
  494. package/dist/wu-status-updater.d.ts.map +1 -1
  495. package/dist/wu-status-updater.js +7 -2
  496. package/dist/wu-status-updater.js.map +1 -1
  497. package/dist/wu-transaction-collectors.d.ts +35 -37
  498. package/dist/wu-transaction-collectors.d.ts.map +1 -1
  499. package/dist/wu-transaction-collectors.js +7 -2
  500. package/dist/wu-transaction-collectors.js.map +1 -1
  501. package/dist/wu-transaction.d.ts +3 -3
  502. package/dist/wu-transaction.d.ts.map +1 -1
  503. package/dist/wu-transaction.js +4 -9
  504. package/dist/wu-transaction.js.map +1 -1
  505. package/dist/wu-type-helpers.d.ts +1 -1
  506. package/dist/wu-type-helpers.js +1 -1
  507. package/dist/wu-validation.d.ts +26 -10
  508. package/dist/wu-validation.d.ts.map +1 -1
  509. package/dist/wu-validation.js +3 -3
  510. package/dist/wu-validation.js.map +1 -1
  511. package/dist/wu-validator.d.ts +29 -15
  512. package/dist/wu-validator.d.ts.map +1 -1
  513. package/dist/wu-validator.js +23 -15
  514. package/dist/wu-validator.js.map +1 -1
  515. package/dist/wu-yaml-fixer.d.ts +26 -35
  516. package/dist/wu-yaml-fixer.d.ts.map +1 -1
  517. package/dist/wu-yaml-fixer.js +8 -5
  518. package/dist/wu-yaml-fixer.js.map +1 -1
  519. package/dist/wu-yaml.d.ts +9 -9
  520. package/dist/wu-yaml.d.ts.map +1 -1
  521. package/dist/wu-yaml.js +2 -1
  522. package/dist/wu-yaml.js.map +1 -1
  523. package/package.json +12 -18
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Flow (WU-1369 Atomic Pattern):
8
8
  * 1. cd into worktree
9
9
  * 2. Read and validate WU state
10
- * 3. Run ALL validations FIRST (before any file writes)
10
+ * 3. Run ALL validations FIRST (before UnsafeAny file writes)
11
11
  * 4. Collect all metadata changes into transaction (in memory)
12
12
  * 5. Commit transaction (atomic write)
13
13
  * 6. Stage and format files
@@ -16,8 +16,9 @@
16
16
  * 9. Either merge (default) OR create PR (pr-mode)
17
17
  * 10. Push to origin
18
18
  *
19
- * Key guarantee: If any validation fails, NO files are modified.
19
+ * Key guarantee: If UnsafeAny validation fails, NO files are modified.
20
20
  */
21
+ import { type GitAdapter } from './git-adapter.js';
21
22
  /**
22
23
  * @typedef {Object} WorktreeContext
23
24
  * @property {string} id - WU ID (e.g., "WU-1215")
@@ -48,6 +49,45 @@ interface WorktreeMetadataPaths {
48
49
  stampPath: string;
49
50
  eventsPath: string;
50
51
  }
52
+ interface DoneArgs {
53
+ noMerge?: boolean;
54
+ prDraft?: boolean;
55
+ noAutoRebase?: boolean;
56
+ [key: string]: unknown;
57
+ }
58
+ interface WorktreeDoc {
59
+ id?: string;
60
+ lane?: string;
61
+ code_paths?: string[];
62
+ [key: string]: unknown;
63
+ }
64
+ type ValidateStagedFilesFn = (id: string, isDocsOnly: boolean, options: {
65
+ metadataAllowlist: string[];
66
+ }) => Promise<void> | void;
67
+ interface WorktreeCompletionContext {
68
+ id: string;
69
+ args: DoneArgs;
70
+ docMain: WorktreeDoc;
71
+ title: string;
72
+ isDocsOnly: boolean;
73
+ worktreePath: string;
74
+ maxCommitLength: number;
75
+ validateStagedFiles: ValidateStagedFilesFn;
76
+ }
77
+ interface WorktreeCompletionResult {
78
+ success: boolean;
79
+ committed: boolean;
80
+ pushed: boolean;
81
+ merged: boolean;
82
+ prUrl: string | null;
83
+ recovered?: boolean;
84
+ cleanupSafe?: boolean;
85
+ }
86
+ interface MainSyncGitAdapter {
87
+ fetch: (remote?: string, branch?: string) => Promise<void>;
88
+ getCommitHash: (ref: string) => Promise<string>;
89
+ revList: (args: string[]) => Promise<string>;
90
+ }
51
91
  /**
52
92
  * Resolve all metadata/state paths as absolute worktree-local paths.
53
93
  *
@@ -62,14 +102,7 @@ export declare function resolveWorktreeMetadataPaths(worktreePath: string, id: s
62
102
  * @returns {Promise<WorktreeResult>} Completion result
63
103
  * @throws {Error} On validation or git operation failure
64
104
  */
65
- export declare function executeWorktreeCompletion(context: any): Promise<{
66
- success: boolean;
67
- committed: boolean;
68
- pushed: boolean;
69
- merged: boolean;
70
- prUrl: any;
71
- cleanupSafe: boolean;
72
- }>;
105
+ export declare function executeWorktreeCompletion(context: WorktreeCompletionContext): Promise<WorktreeCompletionResult>;
73
106
  /**
74
107
  * Check for branch drift (commits behind main)
75
108
  * WU-755 pre-flight check
@@ -77,7 +110,7 @@ export declare function executeWorktreeCompletion(context: any): Promise<{
77
110
  * @param {string} branch - Lane branch name
78
111
  * @returns {Promise<number>} Number of commits behind main
79
112
  */
80
- export declare function checkBranchDrift(branch: any): Promise<number>;
113
+ export declare function checkBranchDrift(branch: string): Promise<number>;
81
114
  /**
82
115
  * Auto-rebase branch onto main
83
116
  * WU-1303: Auto-rebase on wu:done to handle diverged branches automatically
@@ -89,12 +122,9 @@ export declare function checkBranchDrift(branch: any): Promise<number>;
89
122
  * @param {string} [wuId] - WU ID for artifact cleanup (e.g., 'WU-1371')
90
123
  * @returns {Promise<{success: boolean, error?: string}>} Rebase result
91
124
  */
92
- export declare function autoRebaseBranch(branch: any, worktreePath: any, wuId: any): Promise<{
125
+ export declare function autoRebaseBranch(branch: string, worktreePath: string, wuId?: string | null): Promise<{
93
126
  success: boolean;
94
- error?: undefined;
95
- } | {
96
- success: boolean;
97
- error: string;
127
+ error?: string;
98
128
  }>;
99
129
  /**
100
130
  * Check for branch divergence (main has advanced since branch creation)
@@ -113,7 +143,7 @@ interface CheckBranchOptions {
113
143
  /** WU ID for artifact cleanup (e.g., 'WU-1371') */
114
144
  wuId?: string | null;
115
145
  }
116
- export declare function checkBranchDivergence(branch: any, options?: CheckBranchOptions): Promise<void>;
146
+ export declare function checkBranchDivergence(branch: string, options?: CheckBranchOptions): Promise<void>;
117
147
  /**
118
148
  * Check for merge commits in lane branch that would violate linear history
119
149
  * WU-1384: GitHub requires linear history; merge commits in lane branches must be eliminated
@@ -125,14 +155,14 @@ export declare function checkBranchDivergence(branch: any, options?: CheckBranch
125
155
  * @param {CheckBranchOptions} [options] - Check options
126
156
  * @throws {Error} If merge commits found and auto-rebase fails or is disabled
127
157
  */
128
- export declare function checkMergeCommits(branch: any, options?: CheckBranchOptions): Promise<void>;
158
+ export declare function checkMergeCommits(branch: string, options?: CheckBranchOptions): Promise<void>;
129
159
  /**
130
160
  * Check for merge conflicts using git merge-tree
131
161
  * WU-755 pre-flight check
132
162
  *
133
163
  * @param {string} branch - Lane branch name
134
164
  */
135
- export declare function checkMergeConflicts(branch: any): Promise<void>;
165
+ export declare function checkMergeConflicts(branch: string): Promise<void>;
136
166
  /**
137
167
  * WU-1456: Check for empty merge (no work commits beyond claim)
138
168
  * WU-1460: Upgraded to BLOCK when code_paths defined but files not modified
@@ -146,7 +176,9 @@ export declare function checkMergeConflicts(branch: any): Promise<void>;
146
176
  * @returns {Promise<void>}
147
177
  * @throws {Error} When code_paths defined but files not modified in commits
148
178
  */
149
- export declare function checkEmptyMerge(branch: any, doc?: any): Promise<void>;
179
+ export declare function checkEmptyMerge(branch: string, doc?: {
180
+ code_paths?: string[];
181
+ } | null): Promise<void>;
150
182
  /**
151
183
  * Merge lane branch to main with exponential backoff retry (WU-1747)
152
184
  *
@@ -162,18 +194,20 @@ interface MergeLaneBranchOptions extends CheckBranchOptions {
162
194
  /** Override max retry attempts */
163
195
  maxAttempts?: number;
164
196
  }
165
- export declare function mergeLaneBranch(branch: any, options?: MergeLaneBranchOptions): Promise<void>;
197
+ export declare function mergeLaneBranch(branch: string, options?: MergeLaneBranchOptions): Promise<void>;
166
198
  /**
167
199
  * WU-1943: Check if the session has checkpoints for the given WU
168
200
  *
169
- * Used to warn agents when they're completing a WU without any checkpoints,
201
+ * Used to warn agents when they're completing a WU without UnsafeAny checkpoints,
170
202
  * which means no recovery data if the session crashes.
171
203
  *
172
204
  * @param {string} wuId - WU ID to check
173
205
  * @param {Array|null} nodes - Memory nodes for the WU (from queryByWu)
174
206
  * @returns {boolean} True if checkpoints exist, false otherwise
175
207
  */
176
- export declare function hasSessionCheckpoints(wuId: any, nodes: any): boolean;
208
+ export declare function hasSessionCheckpoints(wuId: string, nodes: Array<{
209
+ type?: string;
210
+ }> | null | undefined): boolean;
177
211
  /**
178
212
  * WU-1943: Rollback branch to pre-commit SHA when merge fails
179
213
  *
@@ -186,12 +220,9 @@ export declare function hasSessionCheckpoints(wuId: any, nodes: any): boolean;
186
220
  * @param {string} wuId - WU ID for logging
187
221
  * @returns {Promise<{success: boolean, error?: string}>} Rollback result
188
222
  */
189
- export declare function rollbackBranchOnMergeFailure(gitAdapter: any, preCommitSha: any, wuId: any): Promise<{
190
- success: boolean;
191
- error?: undefined;
192
- } | {
223
+ export declare function rollbackBranchOnMergeFailure(gitAdapter: GitAdapter, preCommitSha: string, wuId: string): Promise<{
193
224
  success: boolean;
194
- error: any;
225
+ error?: string;
195
226
  }>;
196
227
  /**
197
228
  * WU-1577: Validate that local main is not behind origin/main before transaction.
@@ -208,7 +239,7 @@ export declare function rollbackBranchOnMergeFailure(gitAdapter: any, preCommitS
208
239
  * @param gitAdapter - Git adapter instance (must be in main checkout context)
209
240
  * @returns Validation result with commitsBehind count
210
241
  */
211
- export declare function validateMainNotBehindOrigin(gitAdapter: any): Promise<{
242
+ export declare function validateMainNotBehindOrigin(gitAdapter: MainSyncGitAdapter): Promise<{
212
243
  valid: boolean;
213
244
  commitsBehind: number;
214
245
  failOpen?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;AA8EH;;;;;;;;;;;GAWG;AAEH;;;;;;;;;GASG;AAEH,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,MAAM,EACpB,EAAE,EAAE,MAAM,GACT,qBAAqB,CASvB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,KAAA;;;;;;;GAukBtD;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,mBA6B5C;AAmND;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAkJhE;AAED;;;;;;;;GAQG;AACH,UAAU,kBAAkB;IAC1B,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAgDnF;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,kBAAuB,iBAyD/E;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,KAAA,iBAgD/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,GAAG,MAAO,iBAwDvD;AAWD;;;;;;;;;;GAUG;AACH,UAAU,sBAAuB,SAAQ,kBAAkB;IACzD,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,eAAe,CAAC,MAAM,KAAA,EAAE,OAAO,GAAE,sBAA2B,iBA6FjF;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,KAAA,EAAE,KAAK,KAAA,WAMhD;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,4BAA4B,CAAC,UAAU,KAAA,EAAE,YAAY,KAAA,EAAE,IAAI,KAAA;;;;;;GAsBhF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,KAAA,GACT,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BxE"}
1
+ {"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  * Flow (WU-1369 Atomic Pattern):
8
8
  * 1. cd into worktree
9
9
  * 2. Read and validate WU state
10
- * 3. Run ALL validations FIRST (before any file writes)
10
+ * 3. Run ALL validations FIRST (before UnsafeAny file writes)
11
11
  * 4. Collect all metadata changes into transaction (in memory)
12
12
  * 5. Commit transaction (atomic write)
13
13
  * 6. Stage and format files
@@ -16,7 +16,7 @@
16
16
  * 9. Either merge (default) OR create PR (pr-mode)
17
17
  * 10. Push to origin
18
18
  *
19
- * Key guarantee: If any validation fails, NO files are modified.
19
+ * Key guarantee: If UnsafeAny validation fails, NO files are modified.
20
20
  */
21
21
  import path from 'node:path';
22
22
  import { writeFile } from 'node:fs/promises';
@@ -57,6 +57,15 @@ import {} from './wu-checkpoint.js';
57
57
  // WU-1749: Import state store constant for append-only file path
58
58
  import { WU_EVENTS_FILE_NAME } from './wu-state-store.js';
59
59
  import { validateWUEvent } from './wu-state-schema.js';
60
+ function getErrorMessage(error) {
61
+ return error instanceof Error ? error.message : String(error);
62
+ }
63
+ function isErrorWithCode(error, code) {
64
+ if (typeof error !== 'object' || error === null || !('code' in error)) {
65
+ return false;
66
+ }
67
+ return error.code === code;
68
+ }
60
69
  /**
61
70
  * Resolve all metadata/state paths as absolute worktree-local paths.
62
71
  *
@@ -81,7 +90,7 @@ export function resolveWorktreeMetadataPaths(worktreePath, id) {
81
90
  * @throws {Error} On validation or git operation failure
82
91
  */
83
92
  export async function executeWorktreeCompletion(context) {
84
- // Save original cwd for returning after any worktree operations.
93
+ // Save original cwd for returning after UnsafeAny worktree operations.
85
94
  // This must be captured BEFORE zombie recovery, which temporarily chdirs into the worktree.
86
95
  const originalCwd = process.cwd();
87
96
  const { id, args, docMain, title, isDocsOnly, worktreePath, maxCommitLength, validateStagedFiles,
@@ -135,7 +144,7 @@ export async function executeWorktreeCompletion(context) {
135
144
  }
136
145
  catch (squashError) {
137
146
  // Non-fatal: Log and continue with recovery
138
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not squash previous attempts: ${squashError.message}`);
147
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not squash previous attempts: ${getErrorMessage(squashError)}`);
139
148
  }
140
149
  console.log(`${LOG_PREFIX.DONE} WU-1440: Resetting worktree YAML to in_progress for recovery flow...`);
141
150
  // Reset the worktree YAML to in_progress (mutates docForUpdate)
@@ -154,7 +163,7 @@ export async function executeWorktreeCompletion(context) {
154
163
  // Must run BEFORE transaction to guarantee no files are modified.
155
164
  await ensureMainNotBehindOrigin(originalCwd, id);
156
165
  // WU-1369: Create atomic transaction for metadata updates
157
- // This ensures NO files are modified if any validation fails
166
+ // This ensures NO files are modified if UnsafeAny validation fails
158
167
  const transaction = new WUTransaction(id);
159
168
  console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Transaction BEGIN - atomic pattern (WU-1369)`);
160
169
  // Save original cwd for returning after worktree operations
@@ -179,7 +188,7 @@ export async function executeWorktreeCompletion(context) {
179
188
  const workingStampsDir = worktreeMetadataPaths.stampsDir;
180
189
  const workingStampPath = worktreeMetadataPaths.stampPath;
181
190
  // ======================================================================
182
- // PHASE 1: RUN ALL VALIDATIONS FIRST (before any file writes)
191
+ // PHASE 1: RUN ALL VALIDATIONS FIRST (before UnsafeAny file writes)
183
192
  // WU-1369: This ensures no partial state on validation failure
184
193
  // WU-1811: Validate and normalize YAML before gates/merge
185
194
  // ======================================================================
@@ -199,7 +208,8 @@ export async function executeWorktreeCompletion(context) {
199
208
  console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} WU YAML normalised and saved`);
200
209
  }
201
210
  // Validate done-specific completeness (uses normalized data)
202
- const completenessResult = validateDoneWU(normalizeResult.normalized);
211
+ const normalizedWU = normalizeResult.normalized ?? docForUpdate;
212
+ const completenessResult = validateDoneWU(normalizedWU);
203
213
  if (!completenessResult.valid) {
204
214
  throw createValidationError(`Cannot mark WU as done - spec incomplete:\n ${completenessResult.errors.join('\n ')}\n\nNext step: Update ${workingWUPath} to meet completion requirements and rerun wu:done`, { wuId: id });
205
215
  }
@@ -207,7 +217,7 @@ export async function executeWorktreeCompletion(context) {
207
217
  // This prevents lost work from metadata rollbacks after code commits
208
218
  console.log(`${LOG_PREFIX.DONE} Checking code_paths commit status (WU-1153)...`);
209
219
  // WU-1541: Use worktreeGit (explicit baseDir) instead of getGitForCwd()
210
- const codePathsResult = await validateCodePathsCommittedBeforeDone(normalizeResult.normalized, worktreeGit, { abortOnFailure: false });
220
+ const codePathsResult = await validateCodePathsCommittedBeforeDone(normalizedWU, worktreeGit, { abortOnFailure: false });
211
221
  if (!codePathsResult.valid) {
212
222
  const errorMessage = await import('./wu-done-validation.js').then((m) => m.buildCodePathsCommittedErrorMessage(id, codePathsResult.uncommittedPaths));
213
223
  throw createValidationError(errorMessage, { wuId: id });
@@ -215,7 +225,7 @@ export async function executeWorktreeCompletion(context) {
215
225
  console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} All validations passed`);
216
226
  // ======================================================================
217
227
  // PHASE 2: COLLECT ALL CHANGES TO TRANSACTION (in memory, no writes)
218
- // WU-1369: Atomic collection - all changes gathered before any writes
228
+ // WU-1369: Atomic collection - all changes gathered before UnsafeAny writes
219
229
  // ======================================================================
220
230
  // WU-1574: Now async
221
231
  await collectMetadataToTransaction({
@@ -443,6 +453,7 @@ export async function executeWorktreeCompletion(context) {
443
453
  };
444
454
  }
445
455
  catch (err) {
456
+ const worktreeError = err instanceof Error ? err : new Error(String(err));
446
457
  // WU-1541: No need to restore directory - we never changed it
447
458
  // WU-1369: Atomic transaction pattern
448
459
  // - If error occurred BEFORE transaction.commit() → no files were written
@@ -455,9 +466,9 @@ export async function executeWorktreeCompletion(context) {
455
466
  console.log(`\n${BOX.TOP}`);
456
467
  console.log(`${BOX.SIDE} WU:DONE FAILED - NO FILES MODIFIED (atomic pattern)`);
457
468
  console.log(BOX.MID);
458
- console.log(`${BOX.SIDE} Error: ${err.message}`);
469
+ console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
459
470
  console.log(BOX.SIDE);
460
- console.log(`${BOX.SIDE} WU-1369: Transaction aborted before any writes.`);
471
+ console.log(`${BOX.SIDE} WU-1369: Transaction aborted before UnsafeAny writes.`);
461
472
  console.log(`${BOX.SIDE} WU-1811: Worktree preserved for recovery.`);
462
473
  console.log(`${BOX.SIDE} Worktree: ${worktreePath}`);
463
474
  console.log(BOX.MID);
@@ -490,7 +501,7 @@ export async function executeWorktreeCompletion(context) {
490
501
  }
491
502
  catch (rollbackErr) {
492
503
  // Log but don't fail - rollback is best-effort
493
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-2310: File rollback error: ${rollbackErr.message}`);
504
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-2310: File rollback error: ${getErrorMessage(rollbackErr)}`);
494
505
  }
495
506
  }
496
507
  // WU-1943: If git commit was made but merge failed, rollback the branch
@@ -504,14 +515,14 @@ export async function executeWorktreeCompletion(context) {
504
515
  }
505
516
  catch (rollbackErr) {
506
517
  // Log but don't fail - rollback is best-effort
507
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Rollback error: ${rollbackErr.message}`);
518
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Rollback error: ${getErrorMessage(rollbackErr)}`);
508
519
  }
509
520
  }
510
521
  console.log(`\n${BOX.TOP}`);
511
522
  if (fileRollbackSuccess) {
512
523
  console.log(`${BOX.SIDE} WU:DONE FAILED - FILES ROLLED BACK (WU-2310)`);
513
524
  console.log(BOX.MID);
514
- console.log(`${BOX.SIDE} Error: ${err.message}`);
525
+ console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
515
526
  console.log(BOX.SIDE);
516
527
  console.log(`${BOX.SIDE} WU-2310: Transaction files were rolled back to pre-commit state.`);
517
528
  console.log(`${BOX.SIDE} Worktree is now consistent (status=in_progress, no stamp).`);
@@ -519,7 +530,7 @@ export async function executeWorktreeCompletion(context) {
519
530
  else {
520
531
  console.log(`${BOX.SIDE} WU:DONE FAILED - PARTIAL STATE (post-transaction)`);
521
532
  console.log(BOX.MID);
522
- console.log(`${BOX.SIDE} Error: ${err.message}`);
533
+ console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
523
534
  console.log(BOX.SIDE);
524
535
  console.log(`${BOX.SIDE} Metadata files were written, but git operations failed.`);
525
536
  if (gitCommitMade && preCommitSha) {
@@ -534,8 +545,8 @@ export async function executeWorktreeCompletion(context) {
534
545
  console.log(BOX.BOT);
535
546
  }
536
547
  // WU-1811: Attach cleanupSafe flag to error for caller to check
537
- err.cleanupSafe = false;
538
- throw err;
548
+ worktreeError.cleanupSafe = false;
549
+ throw worktreeError;
539
550
  }
540
551
  }
541
552
  /**
@@ -553,16 +564,17 @@ export async function checkBranchDrift(branch) {
553
564
  '--count',
554
565
  `${BRANCHES.MAIN}...${branch}`,
555
566
  ]);
556
- const [mainAhead] = counts.split(/\s+/).map(Number);
567
+ const [mainAheadRaw] = counts.split(/\s+/).map(Number);
568
+ const mainAhead = typeof mainAheadRaw === 'number' && Number.isFinite(mainAheadRaw) ? mainAheadRaw : 0;
557
569
  if (mainAhead > THRESHOLDS.BRANCH_DRIFT_MAX) {
558
570
  throw createError(ErrorCodes.GIT_ERROR, PREFLIGHT.BRANCH_DRIFT_ERROR(mainAhead, THRESHOLDS.BRANCH_DRIFT_MAX, REMOTES.ORIGIN, BRANCHES.MAIN), { branch, commitsBehind: mainAhead, threshold: THRESHOLDS.BRANCH_DRIFT_MAX });
559
571
  }
560
572
  return mainAhead;
561
573
  }
562
574
  catch (e) {
563
- if (e.code === ErrorCodes.GIT_ERROR)
575
+ if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
564
576
  throw e;
565
- console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch drift: ${e.message}`);
577
+ console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch drift: ${getErrorMessage(e)}`);
566
578
  return 0;
567
579
  }
568
580
  }
@@ -627,7 +639,7 @@ function normalizeEventForKey(event) {
627
639
  function parseWuEventsJsonl(content, sourceLabel) {
628
640
  const lines = String(content)
629
641
  .split('\n')
630
- .map((l) => l.trim())
642
+ .map((line) => line.trim())
631
643
  .filter(Boolean);
632
644
  return lines.map((line, index) => {
633
645
  let parsed;
@@ -635,7 +647,7 @@ function parseWuEventsJsonl(content, sourceLabel) {
635
647
  parsed = JSON.parse(line);
636
648
  }
637
649
  catch (error) {
638
- throw new Error(`wu-events.jsonl ${sourceLabel} has malformed JSON on line ${index + 1}: ${error.message}`);
650
+ throw new Error(`wu-events.jsonl ${sourceLabel} has malformed JSON on line ${index + 1}: ${getErrorMessage(error)}`);
639
651
  }
640
652
  const validation = validateWUEvent(parsed);
641
653
  if (!validation.success) {
@@ -736,7 +748,7 @@ async function autoResolveAppendOnlyConflicts(gitCwd, worktreePath) {
736
748
  return { resolved: resolvedFiles.length > 0, files: resolvedFiles };
737
749
  }
738
750
  catch (error) {
739
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not auto-resolve conflicts: ${error.message}`);
751
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not auto-resolve conflicts: ${getErrorMessage(error)}`);
740
752
  return { resolved: false, files: [] };
741
753
  }
742
754
  }
@@ -854,7 +866,7 @@ export async function autoRebaseBranch(branch, worktreePath, wuId) {
854
866
  }
855
867
  catch (e) {
856
868
  // Rebase failed (likely conflicts) - abort and report
857
- console.error(REBASE.FAILED(e.message));
869
+ console.error(REBASE.FAILED(getErrorMessage(e)));
858
870
  try {
859
871
  // Abort the failed rebase to leave worktree clean
860
872
  await gitWorktree.raw(['rebase', '--abort']);
@@ -912,9 +924,9 @@ export async function checkBranchDivergence(branch, options = {}) {
912
924
  console.log(PREFLIGHT.NO_DIVERGENCE);
913
925
  }
914
926
  catch (e) {
915
- if (e.code === ErrorCodes.GIT_ERROR)
927
+ if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
916
928
  throw e;
917
- console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch divergence: ${e.message}`);
929
+ console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch divergence: ${getErrorMessage(e)}`);
918
930
  }
919
931
  }
920
932
  /**
@@ -972,9 +984,9 @@ export async function checkMergeCommits(branch, options = {}) {
972
984
  console.log(PREFLIGHT.NO_MERGE_COMMITS);
973
985
  }
974
986
  catch (e) {
975
- if (e.code === ErrorCodes.GIT_ERROR)
987
+ if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
976
988
  throw e;
977
- console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for merge commits: ${e.message}`);
989
+ console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for merge commits: ${getErrorMessage(e)}`);
978
990
  }
979
991
  }
980
992
  /**
@@ -1012,9 +1024,9 @@ export async function checkMergeConflicts(branch) {
1012
1024
  console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${detail}`);
1013
1025
  }
1014
1026
  catch (e) {
1015
- if (e.code === ErrorCodes.GIT_ERROR)
1027
+ if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
1016
1028
  throw e;
1017
- const message = e instanceof Error ? e.message : String(e);
1029
+ const message = getErrorMessage(e);
1018
1030
  console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${message}`);
1019
1031
  }
1020
1032
  }
@@ -1042,8 +1054,10 @@ export async function checkEmptyMerge(branch, doc = null) {
1042
1054
  ]);
1043
1055
  const commitCount = Number(commitCountRaw.trim());
1044
1056
  // WU-1460: If code_paths defined, verify those files were modified
1045
- const codePaths = doc?.code_paths || [];
1046
- const hasCodePaths = Array.isArray(codePaths) && codePaths.length > 0;
1057
+ const codePaths = Array.isArray(doc?.code_paths)
1058
+ ? doc.code_paths.filter((filePath) => typeof filePath === 'string')
1059
+ : [];
1060
+ const hasCodePaths = codePaths.length > 0;
1047
1061
  if (hasCodePaths) {
1048
1062
  // Get list of files modified in lane branch commits
1049
1063
  const modifiedFilesRaw = await gitAdapter.raw([
@@ -1052,7 +1066,7 @@ export async function checkEmptyMerge(branch, doc = null) {
1052
1066
  `${BRANCHES.MAIN}...${branch}`,
1053
1067
  ]);
1054
1068
  const modifiedFiles = modifiedFilesRaw.trim().split('\n').filter(Boolean);
1055
- // Check if any code_paths files are in the modified list
1069
+ // Check if UnsafeAny code_paths files are in the modified list
1056
1070
  const missingCodePaths = codePaths.filter((codePath) => !modifiedFiles.some((modified) => modified.includes(codePath) || codePath.includes(modified)));
1057
1071
  if (missingCodePaths.length > 0) {
1058
1072
  // BLOCK: code_paths defined but files not modified
@@ -1077,9 +1091,9 @@ export async function checkEmptyMerge(branch, doc = null) {
1077
1091
  }
1078
1092
  catch (e) {
1079
1093
  // Re-throw validation errors (WU-1460 blocker)
1080
- if (e.code === ErrorCodes.VALIDATION_ERROR)
1094
+ if (isErrorWithCode(e, ErrorCodes.VALIDATION_ERROR))
1081
1095
  throw e;
1082
- console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for empty merge: ${e.message}`);
1096
+ console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for empty merge: ${getErrorMessage(e)}`);
1083
1097
  }
1084
1098
  }
1085
1099
  async function isMainAncestorOfBranch(gitAdapter, branch) {
@@ -1099,7 +1113,7 @@ export async function mergeLaneBranch(branch, options = {}) {
1099
1113
  const retryConfig = createRetryConfig('wu_done', {
1100
1114
  maxAttempts: options.maxAttempts,
1101
1115
  onRetry: async (attempt, error, _delay) => {
1102
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Merge attempt ${attempt} failed: ${error.message}`);
1116
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Merge attempt ${attempt} failed: ${getErrorMessage(error)}`);
1103
1117
  // WU-1749 Bug 2: Rebase lane branch onto new main instead of just pulling
1104
1118
  // This is required because ff-only merge will always fail if the lane branch
1105
1119
  // is still based on the old main after main has advanced
@@ -1128,7 +1142,7 @@ export async function mergeLaneBranch(branch, options = {}) {
1128
1142
  console.log(MERGE.UPDATED_MAIN(REMOTES.ORIGIN));
1129
1143
  }
1130
1144
  catch (pullErr) {
1131
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull also failed: ${pullErr.message}`);
1145
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull also failed: ${getErrorMessage(pullErr)}`);
1132
1146
  }
1133
1147
  }
1134
1148
  }
@@ -1146,7 +1160,7 @@ export async function mergeLaneBranch(branch, options = {}) {
1146
1160
  console.log(MERGE.UPDATED_MAIN(REMOTES.ORIGIN));
1147
1161
  }
1148
1162
  catch (pullErr) {
1149
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull failed: ${pullErr.message} - will retry anyway`);
1163
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull failed: ${getErrorMessage(pullErr)} - will retry anyway`);
1150
1164
  }
1151
1165
  }
1152
1166
  },
@@ -1161,11 +1175,11 @@ export async function mergeLaneBranch(branch, options = {}) {
1161
1175
  // All retries exhausted
1162
1176
  const mainIsAncestor = await isMainAncestorOfBranch(gitAdapter, branch);
1163
1177
  const message = mainIsAncestor
1164
- ? MERGE.FF_FAILED_NON_DIVERGED_ERROR(branch, e.message)
1165
- : MERGE.FF_DIVERGED_ERROR(branch, e.message);
1178
+ ? MERGE.FF_FAILED_NON_DIVERGED_ERROR(branch, getErrorMessage(e))
1179
+ : MERGE.FF_DIVERGED_ERROR(branch, getErrorMessage(e));
1166
1180
  throw createError(ErrorCodes.GIT_ERROR, message, {
1167
1181
  branch,
1168
- originalError: e.message,
1182
+ originalError: getErrorMessage(e),
1169
1183
  retriesExhausted: true,
1170
1184
  mainIsAncestor,
1171
1185
  });
@@ -1174,7 +1188,7 @@ export async function mergeLaneBranch(branch, options = {}) {
1174
1188
  /**
1175
1189
  * WU-1943: Check if the session has checkpoints for the given WU
1176
1190
  *
1177
- * Used to warn agents when they're completing a WU without any checkpoints,
1191
+ * Used to warn agents when they're completing a WU without UnsafeAny checkpoints,
1178
1192
  * which means no recovery data if the session crashes.
1179
1193
  *
1180
1194
  * @param {string} wuId - WU ID to check
@@ -1182,6 +1196,9 @@ export async function mergeLaneBranch(branch, options = {}) {
1182
1196
  * @returns {boolean} True if checkpoints exist, false otherwise
1183
1197
  */
1184
1198
  export function hasSessionCheckpoints(wuId, nodes) {
1199
+ if (!wuId) {
1200
+ return false;
1201
+ }
1185
1202
  if (!nodes || !Array.isArray(nodes) || nodes.length === 0) {
1186
1203
  return false;
1187
1204
  }
@@ -1209,8 +1226,8 @@ export async function rollbackBranchOnMergeFailure(gitAdapter, preCommitSha, wuI
1209
1226
  return { success: true };
1210
1227
  }
1211
1228
  catch (error) {
1212
- console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-1943: Could not rollback branch for ${wuId}: ${error.message}`);
1213
- return { success: false, error: error.message };
1229
+ console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-1943: Could not rollback branch for ${wuId}: ${getErrorMessage(error)}`);
1230
+ return { success: false, error: getErrorMessage(error) };
1214
1231
  }
1215
1232
  }
1216
1233
  /**
@@ -1261,7 +1278,7 @@ async function ensureMainNotBehindOrigin(mainCheckoutPath, wuId) {
1261
1278
  const result = await validateMainNotBehindOrigin(gitMainPreCheck);
1262
1279
  if (!result.valid) {
1263
1280
  throw createError(ErrorCodes.GIT_ERROR, `Local main is ${result.commitsBehind} commit(s) behind origin/main.\n\n` +
1264
- `wu:done aborted BEFORE any writes to prevent metadata leaks (WU-1577).\n\n` +
1281
+ `wu:done aborted BEFORE UnsafeAny writes to prevent metadata leaks (WU-1577).\n\n` +
1265
1282
  `Fix: git pull origin main\n` +
1266
1283
  `Then retry: pnpm wu:done --id ${wuId}`, { wuId, commitsBehind: result.commitsBehind });
1267
1284
  }