@telora/daemon 0.20.4 → 0.20.19

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 (627) hide show
  1. package/build-info.json +13 -3
  2. package/dist/ai-inspection-context.d.ts.map +1 -1
  3. package/dist/ai-inspection-context.js +5 -3
  4. package/dist/ai-inspection-context.js.map +1 -1
  5. package/dist/assembly-engine.d.ts.map +1 -1
  6. package/dist/assembly-engine.js +4 -2
  7. package/dist/assembly-engine.js.map +1 -1
  8. package/dist/audit-hooks.d.ts.map +1 -1
  9. package/dist/audit-hooks.js +3 -1
  10. package/dist/audit-hooks.js.map +1 -1
  11. package/dist/auth-liveness.d.ts.map +1 -1
  12. package/dist/auth-liveness.js +4 -2
  13. package/dist/auth-liveness.js.map +1 -1
  14. package/dist/auto-update.d.ts.map +1 -1
  15. package/dist/auto-update.js +14 -12
  16. package/dist/auto-update.js.map +1 -1
  17. package/dist/backends/codex/codex-backend.d.ts.map +1 -1
  18. package/dist/backends/codex/codex-backend.js +4 -2
  19. package/dist/backends/codex/codex-backend.js.map +1 -1
  20. package/dist/backends/codex/codex-mcp-proxy.d.ts.map +1 -1
  21. package/dist/backends/codex/codex-mcp-proxy.js +3 -1
  22. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  23. package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
  24. package/dist/backends/lacuna/lifecycle.js +4 -2
  25. package/dist/backends/lacuna/lifecycle.js.map +1 -1
  26. package/dist/backends/resolve.d.ts.map +1 -1
  27. package/dist/backends/resolve.js +3 -1
  28. package/dist/backends/resolve.js.map +1 -1
  29. package/dist/cascade-restatement.d.ts.map +1 -1
  30. package/dist/cascade-restatement.js +15 -13
  31. package/dist/cascade-restatement.js.map +1 -1
  32. package/dist/ci-escalation.d.ts.map +1 -1
  33. package/dist/ci-escalation.js +4 -2
  34. package/dist/ci-escalation.js.map +1 -1
  35. package/dist/ci-sensor-loop.d.ts.map +1 -1
  36. package/dist/ci-sensor-loop.js +6 -4
  37. package/dist/ci-sensor-loop.js.map +1 -1
  38. package/dist/ci-status-git.d.ts +5 -6
  39. package/dist/ci-status-git.d.ts.map +1 -1
  40. package/dist/ci-status-git.js +7 -7
  41. package/dist/ci-status-git.js.map +1 -1
  42. package/dist/cli/connect.d.ts.map +1 -1
  43. package/dist/cli/connect.js +9 -2
  44. package/dist/cli/connect.js.map +1 -1
  45. package/dist/cli/open.d.ts.map +1 -1
  46. package/dist/cli/open.js +9 -2
  47. package/dist/cli/open.js.map +1 -1
  48. package/dist/cli/session-state.d.ts.map +1 -1
  49. package/dist/cli/session-state.js +2 -0
  50. package/dist/cli/session-state.js.map +1 -1
  51. package/dist/cli/verify-setup.d.ts.map +1 -1
  52. package/dist/cli/verify-setup.js +9 -4
  53. package/dist/cli/verify-setup.js.map +1 -1
  54. package/dist/close-loop-dispatcher.d.ts.map +1 -1
  55. package/dist/close-loop-dispatcher.js +6 -4
  56. package/dist/close-loop-dispatcher.js.map +1 -1
  57. package/dist/completion/advanceability.d.ts.map +1 -1
  58. package/dist/completion/advanceability.js +3 -1
  59. package/dist/completion/advanceability.js.map +1 -1
  60. package/dist/completion/agent-completion.d.ts.map +1 -1
  61. package/dist/completion/agent-completion.js +11 -9
  62. package/dist/completion/agent-completion.js.map +1 -1
  63. package/dist/completion/event-escalations.d.ts.map +1 -1
  64. package/dist/completion/event-escalations.js +10 -8
  65. package/dist/completion/event-escalations.js.map +1 -1
  66. package/dist/completion/event-phases.d.ts +104 -0
  67. package/dist/completion/event-phases.d.ts.map +1 -0
  68. package/dist/completion/event-phases.js +572 -0
  69. package/dist/completion/event-phases.js.map +1 -0
  70. package/dist/completion/event.d.ts +1 -1
  71. package/dist/completion/event.d.ts.map +1 -1
  72. package/dist/completion/event.js +36 -592
  73. package/dist/completion/event.js.map +1 -1
  74. package/dist/completion/merge-phase.d.ts.map +1 -1
  75. package/dist/completion/merge-phase.js +14 -12
  76. package/dist/completion/merge-phase.js.map +1 -1
  77. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  78. package/dist/completion/read-only-pristine.js +6 -4
  79. package/dist/completion/read-only-pristine.js.map +1 -1
  80. package/dist/completion/review-exit-phase.d.ts +2 -0
  81. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  82. package/dist/completion/review-exit-phase.js +86 -30
  83. package/dist/completion/review-exit-phase.js.map +1 -1
  84. package/dist/completion/review-exit-shortfall.d.ts +62 -0
  85. package/dist/completion/review-exit-shortfall.d.ts.map +1 -0
  86. package/dist/completion/review-exit-shortfall.js +84 -0
  87. package/dist/completion/review-exit-shortfall.js.map +1 -0
  88. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  89. package/dist/completion/status-advance-phase.js +16 -14
  90. package/dist/completion/status-advance-phase.js.map +1 -1
  91. package/dist/completion/team-completion.d.ts.map +1 -1
  92. package/dist/completion/team-completion.js +16 -14
  93. package/dist/completion/team-completion.js.map +1 -1
  94. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  95. package/dist/completion/team-lifecycle.js +32 -33
  96. package/dist/completion/team-lifecycle.js.map +1 -1
  97. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  98. package/dist/completion/terminated-work-reconcile.js +11 -9
  99. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  100. package/dist/condition-evaluators.d.ts.map +1 -1
  101. package/dist/condition-evaluators.js +3 -1
  102. package/dist/condition-evaluators.js.map +1 -1
  103. package/dist/config-reconcile.d.ts.map +1 -1
  104. package/dist/config-reconcile.js +3 -1
  105. package/dist/config-reconcile.js.map +1 -1
  106. package/dist/config.d.ts +4 -4
  107. package/dist/config.d.ts.map +1 -1
  108. package/dist/config.js +39 -37
  109. package/dist/config.js.map +1 -1
  110. package/dist/control-state.d.ts.map +1 -1
  111. package/dist/control-state.js +26 -24
  112. package/dist/control-state.js.map +1 -1
  113. package/dist/crash-recovery.d.ts.map +1 -1
  114. package/dist/crash-recovery.js +43 -41
  115. package/dist/crash-recovery.js.map +1 -1
  116. package/dist/daemon-logs.d.ts.map +1 -1
  117. package/dist/daemon-logs.js +21 -3
  118. package/dist/daemon-logs.js.map +1 -1
  119. package/dist/daemon-process.d.ts +0 -1
  120. package/dist/daemon-process.d.ts.map +1 -1
  121. package/dist/daemon-process.js +15 -10
  122. package/dist/daemon-process.js.map +1 -1
  123. package/dist/delivery-advance-block.d.ts +4 -4
  124. package/dist/delivery-advance-block.d.ts.map +1 -1
  125. package/dist/delivery-advance-block.js +25 -18
  126. package/dist/delivery-advance-block.js.map +1 -1
  127. package/dist/delivery-guards.d.ts.map +1 -1
  128. package/dist/delivery-guards.js +11 -9
  129. package/dist/delivery-guards.js.map +1 -1
  130. package/dist/delivery-lifecycle.d.ts.map +1 -1
  131. package/dist/delivery-lifecycle.js +23 -21
  132. package/dist/delivery-lifecycle.js.map +1 -1
  133. package/dist/delivery-merge.d.ts.map +1 -1
  134. package/dist/delivery-merge.js +10 -8
  135. package/dist/delivery-merge.js.map +1 -1
  136. package/dist/delivery-reconciler-apply.d.ts.map +1 -1
  137. package/dist/delivery-reconciler-apply.js +5 -8
  138. package/dist/delivery-reconciler-apply.js.map +1 -1
  139. package/dist/delivery-reconciler-shadow.d.ts.map +1 -1
  140. package/dist/delivery-reconciler-shadow.js +5 -6
  141. package/dist/delivery-reconciler-shadow.js.map +1 -1
  142. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  143. package/dist/directive/close-loop-stage.js +9 -7
  144. package/dist/directive/close-loop-stage.js.map +1 -1
  145. package/dist/directive/directive-assembly.d.ts.map +1 -1
  146. package/dist/directive/directive-assembly.js +3 -1
  147. package/dist/directive/directive-assembly.js.map +1 -1
  148. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  149. package/dist/directive/directive-dispatch.js +16 -14
  150. package/dist/directive/directive-dispatch.js.map +1 -1
  151. package/dist/directive/directive-queue.d.ts +27 -0
  152. package/dist/directive/directive-queue.d.ts.map +1 -1
  153. package/dist/directive/directive-queue.js +28 -0
  154. package/dist/directive/directive-queue.js.map +1 -1
  155. package/dist/directive/phase-sync.d.ts.map +1 -1
  156. package/dist/directive/phase-sync.js +8 -6
  157. package/dist/directive/phase-sync.js.map +1 -1
  158. package/dist/directive-executor.d.ts +1 -1
  159. package/dist/directive-executor.d.ts.map +1 -1
  160. package/dist/directive-executor.js +12 -10
  161. package/dist/directive-executor.js.map +1 -1
  162. package/dist/discovery-poll.d.ts.map +1 -1
  163. package/dist/discovery-poll.js +8 -6
  164. package/dist/discovery-poll.js.map +1 -1
  165. package/dist/drain-teardown.d.ts.map +1 -1
  166. package/dist/drain-teardown.js +6 -19
  167. package/dist/drain-teardown.js.map +1 -1
  168. package/dist/drift-eval-loop.d.ts.map +1 -1
  169. package/dist/drift-eval-loop.js +10 -8
  170. package/dist/drift-eval-loop.js.map +1 -1
  171. package/dist/drift-ratify-loop.d.ts +68 -0
  172. package/dist/drift-ratify-loop.d.ts.map +1 -0
  173. package/dist/drift-ratify-loop.js +161 -0
  174. package/dist/drift-ratify-loop.js.map +1 -0
  175. package/dist/drift-ratify-policy.d.ts +101 -0
  176. package/dist/drift-ratify-policy.d.ts.map +1 -0
  177. package/dist/drift-ratify-policy.js +178 -0
  178. package/dist/drift-ratify-policy.js.map +1 -0
  179. package/dist/escalation-provenance.d.ts.map +1 -1
  180. package/dist/escalation-provenance.js +8 -3
  181. package/dist/escalation-provenance.js.map +1 -1
  182. package/dist/focus-engine.d.ts.map +1 -1
  183. package/dist/focus-engine.js +36 -34
  184. package/dist/focus-engine.js.map +1 -1
  185. package/dist/focus-executor.d.ts +1 -0
  186. package/dist/focus-executor.d.ts.map +1 -1
  187. package/dist/focus-executor.js +16 -14
  188. package/dist/focus-executor.js.map +1 -1
  189. package/dist/focus-lifecycle.d.ts.map +1 -1
  190. package/dist/focus-lifecycle.js +56 -44
  191. package/dist/focus-lifecycle.js.map +1 -1
  192. package/dist/focus-loop-registry.d.ts.map +1 -1
  193. package/dist/focus-loop-registry.js +87 -36
  194. package/dist/focus-loop-registry.js.map +1 -1
  195. package/dist/focus-merge.d.ts.map +1 -1
  196. package/dist/focus-merge.js +40 -34
  197. package/dist/focus-merge.js.map +1 -1
  198. package/dist/focus-provisioning.d.ts.map +1 -1
  199. package/dist/focus-provisioning.js +15 -13
  200. package/dist/focus-provisioning.js.map +1 -1
  201. package/dist/focus-respawn-guard.d.ts.map +1 -1
  202. package/dist/focus-respawn-guard.js +4 -2
  203. package/dist/focus-respawn-guard.js.map +1 -1
  204. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  205. package/dist/focus-stage-lifecycle/planning-release.js +10 -8
  206. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  207. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
  208. package/dist/focus-stage-lifecycle/review-convergence.js +11 -9
  209. package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
  210. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  211. package/dist/focus-stage-lifecycle/wedge-watchdog.js +7 -5
  212. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  213. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  214. package/dist/focus-stage-lifecycle.js +7 -5
  215. package/dist/focus-stage-lifecycle.js.map +1 -1
  216. package/dist/focus-team-state.d.ts +18 -9
  217. package/dist/focus-team-state.d.ts.map +1 -1
  218. package/dist/focus-team-state.js +37 -18
  219. package/dist/focus-team-state.js.map +1 -1
  220. package/dist/focus-worktree-state.d.ts.map +1 -1
  221. package/dist/focus-worktree-state.js +6 -4
  222. package/dist/focus-worktree-state.js.map +1 -1
  223. package/dist/git/branch.d.ts.map +1 -1
  224. package/dist/git/branch.js +7 -5
  225. package/dist/git/branch.js.map +1 -1
  226. package/dist/git/genesis.d.ts.map +1 -1
  227. package/dist/git/genesis.js +3 -1
  228. package/dist/git/genesis.js.map +1 -1
  229. package/dist/git/integration.d.ts.map +1 -1
  230. package/dist/git/integration.js +4 -2
  231. package/dist/git/integration.js.map +1 -1
  232. package/dist/git/merge-helpers.d.ts.map +1 -1
  233. package/dist/git/merge-helpers.js +6 -4
  234. package/dist/git/merge-helpers.js.map +1 -1
  235. package/dist/git/merge-lock.d.ts +0 -7
  236. package/dist/git/merge-lock.d.ts.map +1 -1
  237. package/dist/git/merge-lock.js +5 -3
  238. package/dist/git/merge-lock.js.map +1 -1
  239. package/dist/git/merge.d.ts.map +1 -1
  240. package/dist/git/merge.js +10 -8
  241. package/dist/git/merge.js.map +1 -1
  242. package/dist/git/state-detector.d.ts.map +1 -1
  243. package/dist/git/state-detector.js +9 -7
  244. package/dist/git/state-detector.js.map +1 -1
  245. package/dist/git/utils.d.ts.map +1 -1
  246. package/dist/git/utils.js +6 -4
  247. package/dist/git/utils.js.map +1 -1
  248. package/dist/git.d.ts.map +1 -1
  249. package/dist/git.js +16 -14
  250. package/dist/git.js.map +1 -1
  251. package/dist/guard-evaluator.d.ts.map +1 -1
  252. package/dist/guard-evaluator.js +3 -1
  253. package/dist/guard-evaluator.js.map +1 -1
  254. package/dist/heartbeat.d.ts.map +1 -1
  255. package/dist/heartbeat.js +14 -11
  256. package/dist/heartbeat.js.map +1 -1
  257. package/dist/host-control/catalog.d.ts.map +1 -1
  258. package/dist/host-control/catalog.js +4 -2
  259. package/dist/host-control/catalog.js.map +1 -1
  260. package/dist/host-control/client.d.ts.map +1 -1
  261. package/dist/host-control/client.js +3 -1
  262. package/dist/host-control/client.js.map +1 -1
  263. package/dist/host-control/sizing.d.ts.map +1 -1
  264. package/dist/host-control/sizing.js +4 -1
  265. package/dist/host-control/sizing.js.map +1 -1
  266. package/dist/index.js +110 -127
  267. package/dist/index.js.map +1 -1
  268. package/dist/install-probe-tick.d.ts.map +1 -1
  269. package/dist/install-probe-tick.js +6 -4
  270. package/dist/install-probe-tick.js.map +1 -1
  271. package/dist/intake-control.d.ts +0 -16
  272. package/dist/intake-control.d.ts.map +1 -1
  273. package/dist/intake-control.js +4 -2
  274. package/dist/intake-control.js.map +1 -1
  275. package/dist/listener-auto-advance.d.ts.map +1 -1
  276. package/dist/listener-auto-advance.js +26 -24
  277. package/dist/listener-auto-advance.js.map +1 -1
  278. package/dist/listener.d.ts.map +1 -1
  279. package/dist/listener.js +59 -39
  280. package/dist/listener.js.map +1 -1
  281. package/dist/log.d.ts +84 -0
  282. package/dist/log.d.ts.map +1 -0
  283. package/dist/log.js +182 -0
  284. package/dist/log.js.map +1 -0
  285. package/dist/loops/context-audit-pass.d.ts.map +1 -1
  286. package/dist/loops/context-audit-pass.js +8 -5
  287. package/dist/loops/context-audit-pass.js.map +1 -1
  288. package/dist/loops/engine.d.ts.map +1 -1
  289. package/dist/loops/engine.js +26 -24
  290. package/dist/loops/engine.js.map +1 -1
  291. package/dist/loops/llm-client.d.ts.map +1 -1
  292. package/dist/loops/llm-client.js +4 -2
  293. package/dist/loops/llm-client.js.map +1 -1
  294. package/dist/loops/llm-flag.d.ts +4 -28
  295. package/dist/loops/llm-flag.d.ts.map +1 -1
  296. package/dist/loops/llm-flag.js +11 -30
  297. package/dist/loops/llm-flag.js.map +1 -1
  298. package/dist/loops/prompt-builder.d.ts.map +1 -1
  299. package/dist/loops/prompt-builder.js +3 -1
  300. package/dist/loops/prompt-builder.js.map +1 -1
  301. package/dist/merge-back-loop.d.ts.map +1 -1
  302. package/dist/merge-back-loop.js +20 -18
  303. package/dist/merge-back-loop.js.map +1 -1
  304. package/dist/merge-detector.d.ts.map +1 -1
  305. package/dist/merge-detector.js +7 -5
  306. package/dist/merge-detector.js.map +1 -1
  307. package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
  308. package/dist/nexus/endpoint-clearance.js +3 -1
  309. package/dist/nexus/endpoint-clearance.js.map +1 -1
  310. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  311. package/dist/nexus/escalation-bridge.js +3 -1
  312. package/dist/nexus/escalation-bridge.js.map +1 -1
  313. package/dist/nexus/incoming.d.ts.map +1 -1
  314. package/dist/nexus/incoming.js +3 -1
  315. package/dist/nexus/incoming.js.map +1 -1
  316. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  317. package/dist/nexus/intake-spawn.js +6 -4
  318. package/dist/nexus/intake-spawn.js.map +1 -1
  319. package/dist/nexus/intake.d.ts.map +1 -1
  320. package/dist/nexus/intake.js +3 -1
  321. package/dist/nexus/intake.js.map +1 -1
  322. package/dist/nexus/return.d.ts.map +1 -1
  323. package/dist/nexus/return.js +3 -1
  324. package/dist/nexus/return.js.map +1 -1
  325. package/dist/non-interactive-init.d.ts.map +1 -1
  326. package/dist/non-interactive-init.js +0 -0
  327. package/dist/non-interactive-init.js.map +1 -1
  328. package/dist/otlp/port-manager.d.ts.map +1 -1
  329. package/dist/otlp/port-manager.js +7 -5
  330. package/dist/otlp/port-manager.js.map +1 -1
  331. package/dist/otlp/receiver.d.ts.map +1 -1
  332. package/dist/otlp/receiver.js +14 -12
  333. package/dist/otlp/receiver.js.map +1 -1
  334. package/dist/output-monitor.d.ts.map +1 -1
  335. package/dist/output-monitor.js +6 -4
  336. package/dist/output-monitor.js.map +1 -1
  337. package/dist/prd/controller.d.ts.map +1 -1
  338. package/dist/prd/controller.js +7 -5
  339. package/dist/prd/controller.js.map +1 -1
  340. package/dist/prd/focus-pushdown.d.ts.map +1 -1
  341. package/dist/prd/focus-pushdown.js +3 -1
  342. package/dist/prd/focus-pushdown.js.map +1 -1
  343. package/dist/product-scaffold.d.ts.map +1 -1
  344. package/dist/product-scaffold.js +8 -6
  345. package/dist/product-scaffold.js.map +1 -1
  346. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  347. package/dist/prompt-sections/persona-sections.js +41 -4
  348. package/dist/prompt-sections/persona-sections.js.map +1 -1
  349. package/dist/queries/context-assembly.d.ts.map +1 -1
  350. package/dist/queries/context-assembly.js +3 -1
  351. package/dist/queries/context-assembly.js.map +1 -1
  352. package/dist/queries/deliveries.d.ts +22 -0
  353. package/dist/queries/deliveries.d.ts.map +1 -1
  354. package/dist/queries/deliveries.js +13 -5
  355. package/dist/queries/deliveries.js.map +1 -1
  356. package/dist/queries/focuses.d.ts +9 -0
  357. package/dist/queries/focuses.d.ts.map +1 -1
  358. package/dist/queries/focuses.js +17 -1
  359. package/dist/queries/focuses.js.map +1 -1
  360. package/dist/queries/guards.d.ts.map +1 -1
  361. package/dist/queries/guards.js +3 -1
  362. package/dist/queries/guards.js.map +1 -1
  363. package/dist/queries/issues.d.ts.map +1 -1
  364. package/dist/queries/issues.js +3 -1
  365. package/dist/queries/issues.js.map +1 -1
  366. package/dist/queries/reality-tree.d.ts +22 -0
  367. package/dist/queries/reality-tree.d.ts.map +1 -1
  368. package/dist/queries/reality-tree.js +32 -0
  369. package/dist/queries/reality-tree.js.map +1 -1
  370. package/dist/queries/schemas.d.ts +2 -0
  371. package/dist/queries/schemas.d.ts.map +1 -1
  372. package/dist/queries/schemas.js +5 -0
  373. package/dist/queries/schemas.js.map +1 -1
  374. package/dist/queries/system-session.d.ts.map +1 -1
  375. package/dist/queries/system-session.js +5 -3
  376. package/dist/queries/system-session.js.map +1 -1
  377. package/dist/queries/verification.d.ts.map +1 -1
  378. package/dist/queries/verification.js +6 -4
  379. package/dist/queries/verification.js.map +1 -1
  380. package/dist/reality-pole-capture.d.ts.map +1 -1
  381. package/dist/reality-pole-capture.js +7 -4
  382. package/dist/reality-pole-capture.js.map +1 -1
  383. package/dist/reality-pole.d.ts.map +1 -1
  384. package/dist/reality-pole.js +4 -2
  385. package/dist/reality-pole.js.map +1 -1
  386. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  387. package/dist/resolvers/agent-escalations.js +3 -1
  388. package/dist/resolvers/agent-escalations.js.map +1 -1
  389. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  390. package/dist/resolvers/agent-session-summaries.js +3 -1
  391. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  392. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  393. package/dist/resolvers/deployment-profile.js +3 -1
  394. package/dist/resolvers/deployment-profile.js.map +1 -1
  395. package/dist/resolvers/drift-shortfall-proposals.d.ts +27 -0
  396. package/dist/resolvers/drift-shortfall-proposals.d.ts.map +1 -0
  397. package/dist/resolvers/drift-shortfall-proposals.js +90 -0
  398. package/dist/resolvers/drift-shortfall-proposals.js.map +1 -0
  399. package/dist/resolvers/escalation-answers.d.ts.map +1 -1
  400. package/dist/resolvers/escalation-answers.js +4 -2
  401. package/dist/resolvers/escalation-answers.js.map +1 -1
  402. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  403. package/dist/resolvers/focus-anchoring-injections.js +3 -1
  404. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  405. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  406. package/dist/resolvers/focus-injections.js +3 -1
  407. package/dist/resolvers/focus-injections.js.map +1 -1
  408. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  409. package/dist/resolvers/focus-last-review-report.js +3 -1
  410. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  411. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  412. package/dist/resolvers/focus-reality-tree.js +3 -1
  413. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  414. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  415. package/dist/resolvers/git-diff-against-base.js +3 -1
  416. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  417. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  418. package/dist/resolvers/guards-evaluation-results.js +3 -1
  419. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  420. package/dist/resolvers/index.d.ts.map +1 -1
  421. package/dist/resolvers/index.js +2 -0
  422. package/dist/resolvers/index.js.map +1 -1
  423. package/dist/resolvers/loop-context.d.ts.map +1 -1
  424. package/dist/resolvers/loop-context.js +6 -2
  425. package/dist/resolvers/loop-context.js.map +1 -1
  426. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  427. package/dist/resolvers/loop-delivery-index.js +3 -1
  428. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  429. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  430. package/dist/resolvers/loop-documents.js +3 -1
  431. package/dist/resolvers/loop-documents.js.map +1 -1
  432. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  433. package/dist/resolvers/loop-expected-effects.js +3 -1
  434. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  435. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  436. package/dist/resolvers/loop-frt-statement.js +3 -1
  437. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  438. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  439. package/dist/resolvers/loop-injection.js +3 -1
  440. package/dist/resolvers/loop-injection.js.map +1 -1
  441. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  442. package/dist/resolvers/loop-persona.js +3 -1
  443. package/dist/resolvers/loop-persona.js.map +1 -1
  444. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  445. package/dist/resolvers/loop-questions.js +3 -1
  446. package/dist/resolvers/loop-questions.js.map +1 -1
  447. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  448. package/dist/resolvers/loop-upstream-udes.js +3 -1
  449. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  450. package/dist/resolvers/prd-context.d.ts.map +1 -1
  451. package/dist/resolvers/prd-context.js +3 -1
  452. package/dist/resolvers/prd-context.js.map +1 -1
  453. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  454. package/dist/resolvers/reality-metrics.js +3 -1
  455. package/dist/resolvers/reality-metrics.js.map +1 -1
  456. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  457. package/dist/resolvers/reality-projections.js +3 -1
  458. package/dist/resolvers/reality-projections.js.map +1 -1
  459. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  460. package/dist/resolvers/reality-tree-snapshot.js +3 -1
  461. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  462. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  463. package/dist/resolvers/retired-injections.js +3 -1
  464. package/dist/resolvers/retired-injections.js.map +1 -1
  465. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  466. package/dist/resolvers/review-outcomes.js +3 -1
  467. package/dist/resolvers/review-outcomes.js.map +1 -1
  468. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  469. package/dist/resolvers/security-advisory.js +3 -1
  470. package/dist/resolvers/security-advisory.js.map +1 -1
  471. package/dist/resolvers/shared/wiki.d.ts.map +1 -1
  472. package/dist/resolvers/shared/wiki.js +5 -3
  473. package/dist/resolvers/shared/wiki.js.map +1 -1
  474. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  475. package/dist/resolvers/wiki-topic.js +3 -1
  476. package/dist/resolvers/wiki-topic.js.map +1 -1
  477. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  478. package/dist/resolvers/workflow-stages.js +3 -1
  479. package/dist/resolvers/workflow-stages.js.map +1 -1
  480. package/dist/schema-version-gate.d.ts.map +1 -1
  481. package/dist/schema-version-gate.js +16 -18
  482. package/dist/schema-version-gate.js.map +1 -1
  483. package/dist/security-finding-gate.d.ts.map +1 -1
  484. package/dist/security-finding-gate.js +3 -1
  485. package/dist/security-finding-gate.js.map +1 -1
  486. package/dist/security-rescan-resolution.d.ts.map +1 -1
  487. package/dist/security-rescan-resolution.js +4 -2
  488. package/dist/security-rescan-resolution.js.map +1 -1
  489. package/dist/security-scan-engine.d.ts.map +1 -1
  490. package/dist/security-scan-engine.js +9 -6
  491. package/dist/security-scan-engine.js.map +1 -1
  492. package/dist/self-update.d.ts.map +1 -1
  493. package/dist/self-update.js +48 -39
  494. package/dist/self-update.js.map +1 -1
  495. package/dist/sensor-sweep.d.ts.map +1 -1
  496. package/dist/sensor-sweep.js +5 -2
  497. package/dist/sensor-sweep.js.map +1 -1
  498. package/dist/session-stamp.d.ts.map +1 -1
  499. package/dist/session-stamp.js +4 -2
  500. package/dist/session-stamp.js.map +1 -1
  501. package/dist/shortfall-disposition-config.d.ts +34 -0
  502. package/dist/shortfall-disposition-config.d.ts.map +1 -0
  503. package/dist/shortfall-disposition-config.js +46 -0
  504. package/dist/shortfall-disposition-config.js.map +1 -0
  505. package/dist/shortfall-disposition-loop.d.ts +86 -0
  506. package/dist/shortfall-disposition-loop.d.ts.map +1 -0
  507. package/dist/shortfall-disposition-loop.js +309 -0
  508. package/dist/shortfall-disposition-loop.js.map +1 -0
  509. package/dist/spawn/model-routing.d.ts.map +1 -1
  510. package/dist/spawn/model-routing.js +19 -16
  511. package/dist/spawn/model-routing.js.map +1 -1
  512. package/dist/spawn/process-spawn.d.ts.map +1 -1
  513. package/dist/spawn/process-spawn.js +29 -22
  514. package/dist/spawn/process-spawn.js.map +1 -1
  515. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  516. package/dist/spawn/prompt-assembly.js +6 -4
  517. package/dist/spawn/prompt-assembly.js.map +1 -1
  518. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  519. package/dist/spawn/spawn-decision.js +16 -14
  520. package/dist/spawn/spawn-decision.js.map +1 -1
  521. package/dist/spawn/worktree-session.d.ts.map +1 -1
  522. package/dist/spawn/worktree-session.js +13 -11
  523. package/dist/spawn/worktree-session.js.map +1 -1
  524. package/dist/spawn-cooldown.d.ts +0 -7
  525. package/dist/spawn-cooldown.d.ts.map +1 -1
  526. package/dist/spawn-cooldown.js +3 -1
  527. package/dist/spawn-cooldown.js.map +1 -1
  528. package/dist/spawn-environment.d.ts.map +1 -1
  529. package/dist/spawn-environment.js +4 -1
  530. package/dist/spawn-environment.js.map +1 -1
  531. package/dist/spawner/helpers.d.ts.map +1 -1
  532. package/dist/spawner/helpers.js +19 -17
  533. package/dist/spawner/helpers.js.map +1 -1
  534. package/dist/spawner/lifecycle.d.ts.map +1 -1
  535. package/dist/spawner/lifecycle.js +17 -13
  536. package/dist/spawner/lifecycle.js.map +1 -1
  537. package/dist/spawner/liveness.d.ts.map +1 -1
  538. package/dist/spawner/liveness.js +7 -5
  539. package/dist/spawner/liveness.js.map +1 -1
  540. package/dist/spawner/resolution.d.ts.map +1 -1
  541. package/dist/spawner/resolution.js +7 -5
  542. package/dist/spawner/resolution.js.map +1 -1
  543. package/dist/spawner/stream-handlers.d.ts +6 -55
  544. package/dist/spawner/stream-handlers.d.ts.map +1 -1
  545. package/dist/spawner/stream-handlers.js +10 -172
  546. package/dist/spawner/stream-handlers.js.map +1 -1
  547. package/dist/spawner/timeout.d.ts.map +1 -1
  548. package/dist/spawner/timeout.js +11 -9
  549. package/dist/spawner/timeout.js.map +1 -1
  550. package/dist/staleness.d.ts.map +1 -1
  551. package/dist/staleness.js +4 -1
  552. package/dist/staleness.js.map +1 -1
  553. package/dist/stall-detector-config.d.ts +6 -17
  554. package/dist/stall-detector-config.d.ts.map +1 -1
  555. package/dist/stall-detector-config.js +10 -36
  556. package/dist/stall-detector-config.js.map +1 -1
  557. package/dist/stall-detectors.d.ts.map +1 -1
  558. package/dist/stall-detectors.js +6 -4
  559. package/dist/stall-detectors.js.map +1 -1
  560. package/dist/state-cascade.d.ts.map +1 -1
  561. package/dist/state-cascade.js +9 -7
  562. package/dist/state-cascade.js.map +1 -1
  563. package/dist/stop-request.d.ts.map +1 -1
  564. package/dist/stop-request.js +6 -2
  565. package/dist/stop-request.js.map +1 -1
  566. package/dist/supabase.d.ts.map +1 -1
  567. package/dist/supabase.js +3 -1
  568. package/dist/supabase.js.map +1 -1
  569. package/dist/telemetry-writer.d.ts.map +1 -1
  570. package/dist/telemetry-writer.js +11 -9
  571. package/dist/telemetry-writer.js.map +1 -1
  572. package/dist/trigger-executor.d.ts.map +1 -1
  573. package/dist/trigger-executor.js +28 -26
  574. package/dist/trigger-executor.js.map +1 -1
  575. package/dist/unified-engine-lifecycle.d.ts +19 -11
  576. package/dist/unified-engine-lifecycle.d.ts.map +1 -1
  577. package/dist/unified-engine-lifecycle.js +71 -70
  578. package/dist/unified-engine-lifecycle.js.map +1 -1
  579. package/dist/unified-init.d.ts.map +1 -1
  580. package/dist/unified-init.js +41 -36
  581. package/dist/unified-init.js.map +1 -1
  582. package/dist/unified-shell-config.d.ts +8 -1
  583. package/dist/unified-shell-config.d.ts.map +1 -1
  584. package/dist/unified-shell-config.js +57 -34
  585. package/dist/unified-shell-config.js.map +1 -1
  586. package/dist/unified-shell-status.d.ts.map +1 -1
  587. package/dist/unified-shell-status.js +39 -37
  588. package/dist/unified-shell-status.js.map +1 -1
  589. package/dist/unified-shell.d.ts.map +1 -1
  590. package/dist/unified-shell.js +37 -41
  591. package/dist/unified-shell.js.map +1 -1
  592. package/dist/verification-baseline.d.ts.map +1 -1
  593. package/dist/verification-baseline.js +7 -4
  594. package/dist/verification-baseline.js.map +1 -1
  595. package/dist/verification-config.d.ts +3 -3
  596. package/dist/verification-config.d.ts.map +1 -1
  597. package/dist/verification-config.js +8 -19
  598. package/dist/verification-config.js.map +1 -1
  599. package/dist/verification-default-on.d.ts +6 -6
  600. package/dist/verification-default-on.d.ts.map +1 -1
  601. package/dist/verification-default-on.js +9 -7
  602. package/dist/verification-default-on.js.map +1 -1
  603. package/dist/verification-deterministic.d.ts.map +1 -1
  604. package/dist/verification-deterministic.js +6 -3
  605. package/dist/verification-deterministic.js.map +1 -1
  606. package/dist/verification-engine.d.ts.map +1 -1
  607. package/dist/verification-engine.js +20 -16
  608. package/dist/verification-engine.js.map +1 -1
  609. package/dist/verification-feedback.d.ts.map +1 -1
  610. package/dist/verification-feedback.js +4 -2
  611. package/dist/verification-feedback.js.map +1 -1
  612. package/dist/version-check.d.ts.map +1 -1
  613. package/dist/version-check.js +5 -3
  614. package/dist/version-check.js.map +1 -1
  615. package/dist/worker-pidfile.d.ts.map +1 -1
  616. package/dist/worker-pidfile.js +8 -3
  617. package/dist/worker-pidfile.js.map +1 -1
  618. package/dist/worktree/focus.d.ts.map +1 -1
  619. package/dist/worktree/focus.js +15 -13
  620. package/dist/worktree/focus.js.map +1 -1
  621. package/dist/worktree/safety.d.ts.map +1 -1
  622. package/dist/worktree/safety.js +13 -11
  623. package/dist/worktree/safety.js.map +1 -1
  624. package/dist/worktree.d.ts.map +1 -1
  625. package/dist/worktree.js +41 -39
  626. package/dist/worktree.js.map +1 -1
  627. package/package.json +3 -3
@@ -16,6 +16,8 @@ import { getActiveFocuses } from '../queries/deliveries.js';
16
16
  import { removeFocusWorktree as removeFocusWorktreeState } from '../focus-worktree-state.js';
17
17
  import { sanitizeGitSegment } from '../git/index.js';
18
18
  import { branchHasUnmergedCommits, removeWorktree } from './safety.js';
19
+ import { createLogger } from '../log.js';
20
+ const log = createLogger({ module: 'worktree' });
19
21
  // ── Canonical worktree removal ────────────────────────────────────
20
22
  /**
21
23
  * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
@@ -38,7 +40,7 @@ export async function safeRemoveFocusWorktree(params) {
38
40
  let mergeError;
39
41
  try {
40
42
  if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
41
- console.log(`[worktree] Attempting merge for ${branchName} before removal`);
43
+ log.info(`Attempting merge for ${branchName} before removal`);
42
44
  const mergeResult = await mergeToIntegration({
43
45
  config,
44
46
  branchName,
@@ -48,11 +50,11 @@ export async function safeRemoveFocusWorktree(params) {
48
50
  mergeSucceeded = mergeResult.success;
49
51
  merged = true;
50
52
  if (mergeResult.success) {
51
- console.log(`[worktree] Merge succeeded for ${branchName}`);
53
+ log.info(`Merge succeeded for ${branchName}`);
52
54
  }
53
55
  else {
54
56
  mergeError = mergeResult.error ?? 'unknown';
55
- console.warn(`[worktree] Merge failed for ${branchName}: ${mergeError}. ` +
57
+ log.warn(`[worktree] Merge failed for ${branchName}: ${mergeError}. ` +
56
58
  `Safety guards will preserve the branch.`);
57
59
  }
58
60
  }
@@ -62,7 +64,7 @@ export async function safeRemoveFocusWorktree(params) {
62
64
  }
63
65
  catch (err) {
64
66
  mergeError = err.message;
65
- console.warn(`[worktree] Merge attempt failed for ${branchName}: ${mergeError}`);
67
+ log.warn(`Merge attempt failed for ${branchName}: ${mergeError}`);
66
68
  }
67
69
  // 2. Remove worktree (safety guards handle uncommitted changes and unmerged commits)
68
70
  let removed = false;
@@ -75,7 +77,7 @@ export async function safeRemoveFocusWorktree(params) {
75
77
  });
76
78
  }
77
79
  catch (err) {
78
- console.warn(`[worktree] Failed to remove worktree ${worktreePath}: ${err.message}`);
80
+ log.warn(`Failed to remove worktree ${worktreePath}: ${err.message}`);
79
81
  }
80
82
  // 3. Conditionally clear in-memory state
81
83
  if (focusId) {
@@ -83,7 +85,7 @@ export async function safeRemoveFocusWorktree(params) {
83
85
  removeFocusWorktreeState(focusId);
84
86
  }
85
87
  else {
86
- console.log(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
88
+ log.info(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
87
89
  }
88
90
  }
89
91
  return { removed, merged, mergeError };
@@ -180,13 +182,13 @@ export async function cleanupOrphanFocusWorktrees(config) {
180
182
  return statSync(join(worktreeDir, entry)).isDirectory();
181
183
  }
182
184
  catch (e) {
183
- console.debug(`[worktree] Failed to stat ${entry} (may have been deleted):`, e.message);
185
+ log.debug(`Failed to stat ${entry} (may have been deleted):`, e.message);
184
186
  return false;
185
187
  }
186
188
  });
187
189
  }
188
190
  catch (err) {
189
- console.warn(`[worktree] Failed to scan worktree directory: ${err instanceof Error ? err.message : String(err)}`);
191
+ log.warn(`[worktree] Failed to scan worktree directory: ${err instanceof Error ? err.message : String(err)}`);
190
192
  return { cleaned, preserved };
191
193
  }
192
194
  if (entries.length === 0) {
@@ -199,15 +201,15 @@ export async function cleanupOrphanFocusWorktrees(config) {
199
201
  orphanDirs = identifyOrphanWorktrees(entries, activeFocusesList);
200
202
  }
201
203
  catch (err) {
202
- console.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
204
+ log.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
203
205
  `${err instanceof Error ? err.message : String(err)}. Skipping orphan cleanup.`);
204
206
  return { cleaned, preserved };
205
207
  }
206
208
  if (orphanDirs.length === 0) {
207
- console.log('[worktree] No orphan focus worktrees found');
209
+ log.info('No orphan focus worktrees found');
208
210
  return { cleaned, preserved };
209
211
  }
210
- console.log(`[worktree] Found ${orphanDirs.length} orphan focus worktree(s)`);
212
+ log.info(`Found ${orphanDirs.length} orphan focus worktree(s)`);
211
213
  // 4. Parse git worktree list to get branch names for each path
212
214
  const worktreeListResult = runGitSync(['worktree', 'list', '--porcelain'], repoPath);
213
215
  const pathToBranch = worktreeListResult.success
@@ -218,7 +220,7 @@ export async function cleanupOrphanFocusWorktrees(config) {
218
220
  const worktreePath = resolve(join(worktreeDir, dir));
219
221
  const branchName = pathToBranch.get(worktreePath) ?? dir.replace(/-/g, '/');
220
222
  const deliveryName = branchName.split('/').slice(2).join('/') || dir;
221
- console.log(`[worktree] Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
223
+ log.info(`Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
222
224
  const result = await safeRemoveFocusWorktree({
223
225
  config,
224
226
  worktreePath,
@@ -233,7 +235,7 @@ export async function cleanupOrphanFocusWorktrees(config) {
233
235
  preserved++;
234
236
  }
235
237
  }
236
- console.log(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
238
+ log.info(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
237
239
  return { cleaned, preserved };
238
240
  }
239
241
  //# sourceMappingURL=focus.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/worktree/focus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focus.js","sourceRoot":"","sources":["../../src/worktree/focus.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../src/worktree/safety.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB9F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAMzD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAWnF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CACrB,GACL,OAAO,CAgDT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzF"}
1
+ {"version":3,"file":"safety.d.ts","sourceRoot":"","sources":["../../src/worktree/safety.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAI3E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,OAAO,CAMT;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAqB9F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAMzD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAWnF;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgB5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CACrB,GACL,OAAO,CAgDT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzF"}
@@ -7,6 +7,8 @@
7
7
  import { existsSync } from 'node:fs';
8
8
  import { runGitSync } from '../git/index.js';
9
9
  import { commitWip, removeWorktreeBase, } from '@telora/daemon-core';
10
+ import { createLogger } from '../log.js';
11
+ const log = createLogger({ module: 'worktree' });
10
12
  /**
11
13
  * Check if a worktree has uncommitted changes (dirty working tree).
12
14
  */
@@ -31,13 +33,13 @@ export function safetyCommitWorktree(worktreePath, deliveryName) {
31
33
  // Stage everything
32
34
  const addResult = runGitSync(['add', '-A'], worktreePath);
33
35
  if (!addResult.success) {
34
- console.error(`Safety commit: failed to stage changes: ${addResult.error}`);
36
+ log.error(`Safety commit: failed to stage changes: ${addResult.error}`);
35
37
  return null;
36
38
  }
37
39
  // Commit
38
40
  const commitResult = runGitSync(['commit', '-m', `wip: uncommitted agent work for "${deliveryName}" (safety commit)`], worktreePath);
39
41
  if (!commitResult.success) {
40
- console.warn(`Safety commit: commit failed (may be empty): ${commitResult.error}`);
42
+ log.warn(`Safety commit: commit failed (may be empty): ${commitResult.error}`);
41
43
  return null;
42
44
  }
43
45
  // Return the new commit hash
@@ -102,12 +104,12 @@ export function dirtyChangesAreGeneratedLockfilesOnly(worktreePath) {
102
104
  export function commitGeneratedLockfiles(worktreePath) {
103
105
  const addResult = runGitSync(['add', '-A'], worktreePath);
104
106
  if (!addResult.success) {
105
- console.error(`[worktree] lockfile auto-commit: failed to stage changes: ${addResult.error}`);
107
+ log.error(`lockfile auto-commit: failed to stage changes: ${addResult.error}`);
106
108
  return null;
107
109
  }
108
110
  const commitResult = runGitSync(['commit', '-m', 'chore: auto-commit generated lockfile churn (daemon remediation)'], worktreePath);
109
111
  if (!commitResult.success) {
110
- console.warn(`[worktree] lockfile auto-commit: commit failed (may be empty): ${commitResult.error}`);
112
+ log.warn(`lockfile auto-commit: commit failed (may be empty): ${commitResult.error}`);
111
113
  return null;
112
114
  }
113
115
  const hashResult = runGitSync(['rev-parse', 'HEAD'], worktreePath);
@@ -127,21 +129,21 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
127
129
  const { branchName, integrationBranch, deliveryName, mergeSucceeded } = options;
128
130
  try {
129
131
  if (!existsSync(worktreePath)) {
130
- console.log(`Worktree already removed: ${worktreePath}`);
132
+ log.info(`Worktree already removed: ${worktreePath}`);
131
133
  runGitSync(['worktree', 'prune'], repoPath);
132
134
  return true;
133
135
  }
134
136
  // Guard 1: Check for uncommitted changes and safety-commit them
135
137
  if (worktreeHasUncommittedChanges(worktreePath)) {
136
- console.warn(`Worktree has uncommitted changes: ${worktreePath}. ` +
138
+ log.warn(`Worktree has uncommitted changes: ${worktreePath}. ` +
137
139
  `Creating safety commit to preserve work...`);
138
140
  const hash = safetyCommitWorktree(worktreePath, deliveryName ?? 'unknown');
139
141
  if (hash) {
140
- console.log(`Safety commit created: ${hash.slice(0, 8)}`);
142
+ log.info(`Safety commit created: ${hash.slice(0, 8)}`);
141
143
  }
142
144
  else {
143
145
  // Could not commit -- refuse to delete
144
- console.error(`REFUSING to remove worktree ${worktreePath}: ` +
146
+ log.error(`REFUSING to remove worktree ${worktreePath}: ` +
145
147
  `has uncommitted changes and safety commit failed. ` +
146
148
  `Manual cleanup required.`);
147
149
  return false;
@@ -150,7 +152,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
150
152
  // Guard 2: Check for unmerged commits (if we know the branch and integration)
151
153
  if (branchName && integrationBranch && !mergeSucceeded) {
152
154
  if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
153
- console.error(`REFUSING to remove worktree ${worktreePath}: ` +
155
+ log.error(`REFUSING to remove worktree ${worktreePath}: ` +
154
156
  `branch ${branchName} has commits not merged to ${integrationBranch}. ` +
155
157
  `Branch preserved for manual merge/review.`);
156
158
  return false;
@@ -160,7 +162,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
160
162
  return removeWorktreeBase(repoPath, worktreePath);
161
163
  }
162
164
  catch (err) {
163
- console.error('Error removing worktree:', err instanceof Error ? err.message : String(err));
165
+ log.error('Error removing worktree:', err instanceof Error ? err.message : String(err));
164
166
  return false;
165
167
  }
166
168
  }
@@ -176,7 +178,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
176
178
  * @returns The commit hash if a WIP commit was created, null if no changes or failure.
177
179
  */
178
180
  export function commitWipChanges(worktreePath, contextName) {
179
- console.log(`[worktree] Committing WIP changes in ${worktreePath} for "${contextName}"`);
181
+ log.info(`Committing WIP changes in ${worktreePath} for "${contextName}"`);
180
182
  return commitWip(worktreePath, `Uncommitted work captured by daemon on agent exit (${contextName})`);
181
183
  }
182
184
  //# sourceMappingURL=safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"safety.js","sourceRoot":"","sources":["../../src/worktree/safety.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safety.js","sourceRoot":"","sources":["../../src/worktree/safety.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
package/dist/worktree.js CHANGED
@@ -18,6 +18,8 @@ import { getActiveFocuses } from './queries/deliveries.js';
18
18
  import { removeFocusWorktree as removeFocusWorktreeState } from './focus-worktree-state.js';
19
19
  import { sanitizeGitSegment } from './git/index.js';
20
20
  import { resolveMcpServerPath, writeMcpConfigFile } from './mcp-resolution.js';
21
+ import { createLogger } from './log.js';
22
+ const log = createLogger({ module: 'worktree' });
21
23
  // ── Merge worktree ────────────────────────────────────────────────
22
24
  // Re-export getMergeWorktreePath from git-types (canonical location)
23
25
  // to preserve backward-compatible import surface.
@@ -42,11 +44,11 @@ export function ensureMergeWorktree(config) {
42
44
  // Validate it's a functioning worktree (has a .git file or directory)
43
45
  const gitMarker = join(wtPath, '.git');
44
46
  if (existsSync(gitMarker)) {
45
- console.log(`[merge-worktree] Using existing merge worktree: ${wtPath}`);
47
+ log.info(`[merge-worktree] Using existing merge worktree: ${wtPath}`);
46
48
  return wtPath;
47
49
  }
48
50
  // Directory exists but isn't a valid worktree -- prune and recreate
49
- console.log(`[merge-worktree] Stale merge worktree detected, recreating...`);
51
+ log.info(`[merge-worktree] Stale merge worktree detected, recreating...`);
50
52
  rmSync(wtPath, { recursive: true, force: true });
51
53
  runGitSync(['worktree', 'prune'], config.repoPath);
52
54
  }
@@ -59,7 +61,7 @@ export function ensureMergeWorktree(config) {
59
61
  if (!result.success) {
60
62
  throw new Error(`Failed to create merge worktree: ${result.error}`);
61
63
  }
62
- console.log(`[merge-worktree] Created merge worktree: ${wtPath}`);
64
+ log.info(`[merge-worktree] Created merge worktree: ${wtPath}`);
63
65
  return wtPath;
64
66
  }
65
67
  /**
@@ -68,7 +70,7 @@ export function ensureMergeWorktree(config) {
68
70
  export function ensureWorktreeDir(config) {
69
71
  if (!existsSync(config.worktreeDir)) {
70
72
  mkdirSync(config.worktreeDir, { recursive: true });
71
- console.log(`Created worktree directory: ${config.worktreeDir}`);
73
+ log.info(`Created worktree directory: ${config.worktreeDir}`);
72
74
  }
73
75
  }
74
76
  /**
@@ -104,10 +106,10 @@ export function generateMcpConfigInWorktree(worktreePath) {
104
106
  mcpServerPath,
105
107
  profile: 'execution',
106
108
  });
107
- console.log(`[worktree] Generated .mcp.json in ${worktreePath}`);
109
+ log.info(`Generated .mcp.json in ${worktreePath}`);
108
110
  }
109
111
  catch (err) {
110
- console.warn(`[worktree] Failed to generate .mcp.json: ${err instanceof Error ? err.message : String(err)}`);
112
+ log.warn(`Failed to generate .mcp.json: ${err instanceof Error ? err.message : String(err)}`);
111
113
  }
112
114
  }
113
115
  const CODEX_WORKTREE_EXCLUDE_ENTRY = '.codex/';
@@ -121,7 +123,7 @@ const CODEX_WORKTREE_EXCLUDE_ENTRY = '.codex/';
121
123
  export function ensureCodexConfigIgnoredInWorktree(worktreePath) {
122
124
  const gitPath = runGitSync(['rev-parse', '--git-path', 'info/exclude'], worktreePath);
123
125
  if (!gitPath.success || !gitPath.output.trim()) {
124
- console.warn(`[worktree] Failed to resolve git exclude for ${worktreePath}: ${gitPath.error}`);
126
+ log.warn(`Failed to resolve git exclude for ${worktreePath}: ${gitPath.error}`);
125
127
  return;
126
128
  }
127
129
  const excludePath = resolve(worktreePath, gitPath.output.trim());
@@ -137,10 +139,10 @@ export function ensureCodexConfigIgnoredInWorktree(worktreePath) {
137
139
  }
138
140
  const prefix = existing.length > 0 && !existing.endsWith('\n') ? '\n' : '';
139
141
  writeFileSync(excludePath, `${existing}${prefix}${CODEX_WORKTREE_EXCLUDE_ENTRY}\n`);
140
- console.log(`[worktree] Added ${CODEX_WORKTREE_EXCLUDE_ENTRY} to git exclude in ${worktreePath}`);
142
+ log.info(`Added ${CODEX_WORKTREE_EXCLUDE_ENTRY} to git exclude in ${worktreePath}`);
141
143
  }
142
144
  catch (err) {
143
- console.warn(`[worktree] Failed to update git exclude for ${worktreePath}: ${err instanceof Error ? err.message : String(err)}`);
145
+ log.warn(`Failed to update git exclude for ${worktreePath}: ${err instanceof Error ? err.message : String(err)}`);
144
146
  }
145
147
  }
146
148
  /**
@@ -184,10 +186,10 @@ export function generateCodexConfigInWorktree(worktreePath) {
184
186
  mkdirSync(codexDir, { recursive: true, mode: 0o700 });
185
187
  const configPath = join(codexDir, 'config.toml');
186
188
  writeFileSync(configPath, renderCodexWorktreeConfigToml(), { mode: 0o600 });
187
- console.log(`[worktree] Generated .codex/config.toml in ${worktreePath}`);
189
+ log.info(`Generated .codex/config.toml in ${worktreePath}`);
188
190
  }
189
191
  catch (err) {
190
- console.warn(`[worktree] Failed to generate .codex/config.toml: ${err instanceof Error ? err.message : String(err)}`);
192
+ log.warn(`Failed to generate .codex/config.toml: ${err instanceof Error ? err.message : String(err)}`);
191
193
  }
192
194
  }
193
195
  /**
@@ -200,37 +202,37 @@ export async function createWorktree(config, branchName) {
200
202
  const worktreePath = join(config.worktreeDir, branchName.replace(/\//g, '-'));
201
203
  // If worktree directory exists, remove it first
202
204
  if (existsSync(worktreePath)) {
203
- console.log(`Removing existing worktree directory: ${worktreePath}`);
205
+ log.info(`Removing existing worktree directory: ${worktreePath}`);
204
206
  rmSync(worktreePath, { recursive: true, force: true });
205
207
  }
206
208
  // Prune any stale worktree entries (handles "missing but registered" state)
207
209
  runGitSync(['worktree', 'prune'], config.repoPath);
208
210
  // Check if there's still a worktree entry for this branch after pruning
209
211
  if (worktreeExistsForBranch(branchName, config.repoPath)) {
210
- console.log(`Removing existing worktree for branch: ${branchName}`);
212
+ log.info(`Removing existing worktree for branch: ${branchName}`);
211
213
  runGitSync(['worktree', 'remove', '--force', branchName], config.repoPath);
212
214
  }
213
215
  // Determine if branch already exists
214
216
  const branchAlreadyExists = branchExists(branchName, config.repoPath);
215
217
  if (branchAlreadyExists) {
216
218
  // Use existing branch
217
- console.log(`Creating worktree using existing branch: ${branchName}`);
219
+ log.info(`Creating worktree using existing branch: ${branchName}`);
218
220
  const result = runGitSync(['worktree', 'add', worktreePath, branchName], config.repoPath);
219
221
  if (!result.success) {
220
222
  throw new Error(`Failed to create worktree: ${result.error}`);
221
223
  }
222
224
  // Rebase onto integration branch to get latest changes
223
- console.log(`Rebasing ${branchName} onto ${config.integrationBranch}...`);
225
+ log.info(`Rebasing ${branchName} onto ${config.integrationBranch}...`);
224
226
  const rebaseResult = runGitSync(['rebase', config.integrationBranch], worktreePath);
225
227
  if (!rebaseResult.success) {
226
228
  // If rebase fails, abort and warn
227
229
  runGitSync(['rebase', '--abort'], worktreePath);
228
- console.warn(`Warning: Could not rebase onto integration branch. Continuing with existing branch state.`);
230
+ log.warn(`Warning: Could not rebase onto integration branch. Continuing with existing branch state.`);
229
231
  }
230
232
  }
231
233
  else {
232
234
  // Create new branch from integration
233
- console.log(`Creating worktree with new branch ${branchName} from ${config.integrationBranch}`);
235
+ log.info(`Creating worktree with new branch ${branchName} from ${config.integrationBranch}`);
234
236
  const result = runGitSync(['worktree', 'add', '-b', branchName, worktreePath, config.integrationBranch], config.repoPath);
235
237
  if (!result.success) {
236
238
  throw new Error(`Failed to create worktree: ${result.error}`);
@@ -265,13 +267,13 @@ export function safetyCommitWorktree(worktreePath, deliveryName) {
265
267
  // Stage everything
266
268
  const addResult = runGitSync(['add', '-A'], worktreePath);
267
269
  if (!addResult.success) {
268
- console.error(`Safety commit: failed to stage changes: ${addResult.error}`);
270
+ log.error(`Safety commit: failed to stage changes: ${addResult.error}`);
269
271
  return null;
270
272
  }
271
273
  // Commit
272
274
  const commitResult = runGitSync(['commit', '-m', `wip: uncommitted agent work for "${deliveryName}" (safety commit)`], worktreePath);
273
275
  if (!commitResult.success) {
274
- console.warn(`Safety commit: commit failed (may be empty): ${commitResult.error}`);
276
+ log.warn(`Safety commit: commit failed (may be empty): ${commitResult.error}`);
275
277
  return null;
276
278
  }
277
279
  // Return the new commit hash
@@ -292,21 +294,21 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
292
294
  const { branchName, integrationBranch, deliveryName, mergeSucceeded } = options;
293
295
  try {
294
296
  if (!existsSync(worktreePath)) {
295
- console.log(`Worktree already removed: ${worktreePath}`);
297
+ log.info(`Worktree already removed: ${worktreePath}`);
296
298
  runGitSync(['worktree', 'prune'], repoPath);
297
299
  return true;
298
300
  }
299
301
  // Guard 1: Check for uncommitted changes and safety-commit them
300
302
  if (worktreeHasUncommittedChanges(worktreePath)) {
301
- console.warn(`Worktree has uncommitted changes: ${worktreePath}. ` +
303
+ log.warn(`Worktree has uncommitted changes: ${worktreePath}. ` +
302
304
  `Creating safety commit to preserve work...`);
303
305
  const hash = safetyCommitWorktree(worktreePath, deliveryName ?? 'unknown');
304
306
  if (hash) {
305
- console.log(`Safety commit created: ${hash.slice(0, 8)}`);
307
+ log.info(`Safety commit created: ${hash.slice(0, 8)}`);
306
308
  }
307
309
  else {
308
310
  // Could not commit -- refuse to delete
309
- console.error(`REFUSING to remove worktree ${worktreePath}: ` +
311
+ log.error(`REFUSING to remove worktree ${worktreePath}: ` +
310
312
  `has uncommitted changes and safety commit failed. ` +
311
313
  `Manual cleanup required.`);
312
314
  return false;
@@ -315,7 +317,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
315
317
  // Guard 2: Check for unmerged commits (if we know the branch and integration)
316
318
  if (branchName && integrationBranch && !mergeSucceeded) {
317
319
  if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
318
- console.error(`REFUSING to remove worktree ${worktreePath}: ` +
320
+ log.error(`REFUSING to remove worktree ${worktreePath}: ` +
319
321
  `branch ${branchName} has commits not merged to ${integrationBranch}. ` +
320
322
  `Branch preserved for manual merge/review.`);
321
323
  return false;
@@ -325,7 +327,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
325
327
  return removeWorktreeBase(repoPath, worktreePath);
326
328
  }
327
329
  catch (err) {
328
- console.error('Error removing worktree:', err instanceof Error ? err.message : String(err));
330
+ log.error('Error removing worktree:', err instanceof Error ? err.message : String(err));
329
331
  return false;
330
332
  }
331
333
  }
@@ -342,7 +344,7 @@ export function removeWorktree(repoPath, worktreePath, options = {}) {
342
344
  * @returns The commit hash if a WIP commit was created, null if no changes or failure.
343
345
  */
344
346
  export function commitWipChanges(worktreePath, contextName) {
345
- console.log(`[worktree] Committing WIP changes in ${worktreePath} for "${contextName}"`);
347
+ log.info(`Committing WIP changes in ${worktreePath} for "${contextName}"`);
346
348
  return commitWip(worktreePath, `Uncommitted work captured by daemon on agent exit (${contextName})`);
347
349
  }
348
350
  // ── Canonical worktree removal ────────────────────────────────────
@@ -367,7 +369,7 @@ export async function safeRemoveFocusWorktree(params) {
367
369
  let mergeError;
368
370
  try {
369
371
  if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
370
- console.log(`[worktree] Attempting merge for ${branchName} before removal`);
372
+ log.info(`Attempting merge for ${branchName} before removal`);
371
373
  const mergeResult = await mergeToIntegration({
372
374
  config,
373
375
  branchName,
@@ -377,11 +379,11 @@ export async function safeRemoveFocusWorktree(params) {
377
379
  mergeSucceeded = mergeResult.success;
378
380
  merged = true;
379
381
  if (mergeResult.success) {
380
- console.log(`[worktree] Merge succeeded for ${branchName}`);
382
+ log.info(`Merge succeeded for ${branchName}`);
381
383
  }
382
384
  else {
383
385
  mergeError = mergeResult.error ?? 'unknown';
384
- console.warn(`[worktree] Merge failed for ${branchName}: ${mergeError}. ` +
386
+ log.warn(`[worktree] Merge failed for ${branchName}: ${mergeError}. ` +
385
387
  `Safety guards will preserve the branch.`);
386
388
  }
387
389
  }
@@ -391,7 +393,7 @@ export async function safeRemoveFocusWorktree(params) {
391
393
  }
392
394
  catch (err) {
393
395
  mergeError = err.message;
394
- console.warn(`[worktree] Merge attempt failed for ${branchName}: ${mergeError}`);
396
+ log.warn(`Merge attempt failed for ${branchName}: ${mergeError}`);
395
397
  }
396
398
  // 2. Remove worktree (safety guards handle uncommitted changes and unmerged commits)
397
399
  let removed = false;
@@ -404,7 +406,7 @@ export async function safeRemoveFocusWorktree(params) {
404
406
  });
405
407
  }
406
408
  catch (err) {
407
- console.warn(`[worktree] Failed to remove worktree ${worktreePath}: ${err.message}`);
409
+ log.warn(`Failed to remove worktree ${worktreePath}: ${err.message}`);
408
410
  }
409
411
  // 3. Conditionally clear in-memory state
410
412
  if (focusId) {
@@ -412,7 +414,7 @@ export async function safeRemoveFocusWorktree(params) {
412
414
  removeFocusWorktreeState(focusId);
413
415
  }
414
416
  else {
415
- console.log(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
417
+ log.info(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
416
418
  }
417
419
  }
418
420
  return { removed, merged, mergeError };
@@ -448,13 +450,13 @@ export async function cleanupOrphanFocusWorktrees(config) {
448
450
  return statSync(join(worktreeDir, entry)).isDirectory();
449
451
  }
450
452
  catch (e) {
451
- console.debug(`[worktree] Failed to stat ${entry} (may have been deleted):`, e.message);
453
+ log.debug(`Failed to stat ${entry} (may have been deleted):`, e.message);
452
454
  return false;
453
455
  }
454
456
  });
455
457
  }
456
458
  catch (err) {
457
- console.warn(`[worktree] Failed to scan worktree directory: ${err instanceof Error ? err.message : String(err)}`);
459
+ log.warn(`[worktree] Failed to scan worktree directory: ${err instanceof Error ? err.message : String(err)}`);
458
460
  return { cleaned, preserved };
459
461
  }
460
462
  if (entries.length === 0) {
@@ -497,7 +499,7 @@ export async function cleanupOrphanFocusWorktrees(config) {
497
499
  catch (err) {
498
500
  // Conservative fallback: if we cannot determine active focuses,
499
501
  // skip orphan cleanup entirely rather than risk deleting active worktrees.
500
- console.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
502
+ log.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
501
503
  `${err instanceof Error ? err.message : String(err)}. Skipping orphan cleanup.`);
502
504
  return { cleaned, preserved };
503
505
  }
@@ -509,10 +511,10 @@ export async function cleanupOrphanFocusWorktrees(config) {
509
511
  return !activeFocusBranchDirs.has(entry);
510
512
  });
511
513
  if (orphanDirs.length === 0) {
512
- console.log('[worktree] No orphan focus worktrees found');
514
+ log.info('No orphan focus worktrees found');
513
515
  return { cleaned, preserved };
514
516
  }
515
- console.log(`[worktree] Found ${orphanDirs.length} orphan focus worktree(s)`);
517
+ log.info(`Found ${orphanDirs.length} orphan focus worktree(s)`);
516
518
  // 4. Parse git worktree list to get branch names for each path
517
519
  const worktreeListResult = runGitSync(['worktree', 'list', '--porcelain'], repoPath);
518
520
  const pathToBranch = new Map();
@@ -536,7 +538,7 @@ export async function cleanupOrphanFocusWorktrees(config) {
536
538
  const worktreePath = resolve(join(worktreeDir, dir));
537
539
  const branchName = pathToBranch.get(worktreePath) ?? dir.replace(/-/g, '/');
538
540
  const deliveryName = branchName.split('/').slice(2).join('/') || dir;
539
- console.log(`[worktree] Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
541
+ log.info(`Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
540
542
  const result = await safeRemoveFocusWorktree({
541
543
  config,
542
544
  worktreePath,
@@ -551,7 +553,7 @@ export async function cleanupOrphanFocusWorktrees(config) {
551
553
  preserved++;
552
554
  }
553
555
  }
554
- console.log(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
556
+ log.info(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
555
557
  return { cleaned, preserved };
556
558
  }
557
559
  //# sourceMappingURL=worktree.js.map