@telora/daemon 0.15.1 → 0.15.3

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 (356) hide show
  1. package/README.md +11 -11
  2. package/build-info.json +2 -2
  3. package/dist/assembly-engine.d.ts +1 -1
  4. package/dist/assembly-engine.d.ts.map +1 -1
  5. package/dist/assembly-resolvers.js +41 -41
  6. package/dist/assembly-resolvers.js.map +1 -1
  7. package/dist/branch-status.d.ts +4 -4
  8. package/dist/branch-status.d.ts.map +1 -1
  9. package/dist/branch-status.js +23 -23
  10. package/dist/branch-status.js.map +1 -1
  11. package/dist/cli/connect.js +1 -1
  12. package/dist/cli/connect.js.map +1 -1
  13. package/dist/completion-detector.d.ts +1 -1
  14. package/dist/completion-detector.js +1 -1
  15. package/dist/completion-handler.d.ts +1 -1
  16. package/dist/completion-handler.js +4 -4
  17. package/dist/completion-handler.js.map +1 -1
  18. package/dist/condition-evaluators.js +4 -4
  19. package/dist/condition-evaluators.js.map +1 -1
  20. package/dist/control-state.d.ts +6 -6
  21. package/dist/control-state.d.ts.map +1 -1
  22. package/dist/control-state.js +43 -43
  23. package/dist/control-state.js.map +1 -1
  24. package/dist/crash-recovery-scan.d.ts +1 -1
  25. package/dist/crash-recovery-scan.js +20 -20
  26. package/dist/crash-recovery-scan.js.map +1 -1
  27. package/dist/crash-recovery-types.d.ts +3 -3
  28. package/dist/crash-recovery-types.d.ts.map +1 -1
  29. package/dist/crash-recovery-types.js +2 -2
  30. package/dist/crash-recovery-types.js.map +1 -1
  31. package/dist/crash-recovery.d.ts +3 -3
  32. package/dist/crash-recovery.d.ts.map +1 -1
  33. package/dist/crash-recovery.js +21 -21
  34. package/dist/crash-recovery.js.map +1 -1
  35. package/dist/daemon-process.d.ts +1 -1
  36. package/dist/daemon-process.d.ts.map +1 -1
  37. package/dist/dag-validator.d.ts +6 -6
  38. package/dist/dag-validator.d.ts.map +1 -1
  39. package/dist/dag-validator.js +2 -2
  40. package/dist/dag-validator.js.map +1 -1
  41. package/dist/delivery-guards.d.ts +1 -1
  42. package/dist/delivery-guards.js +1 -1
  43. package/dist/delivery-lifecycle.d.ts +5 -5
  44. package/dist/delivery-lifecycle.d.ts.map +1 -1
  45. package/dist/delivery-lifecycle.js +12 -12
  46. package/dist/delivery-lifecycle.js.map +1 -1
  47. package/dist/delivery-merge.js +1 -1
  48. package/dist/delivery-merge.js.map +1 -1
  49. package/dist/dependency-resolver.d.ts +7 -7
  50. package/dist/dependency-resolver.d.ts.map +1 -1
  51. package/dist/dependency-resolver.js.map +1 -1
  52. package/dist/directive-executor.d.ts +15 -15
  53. package/dist/directive-executor.d.ts.map +1 -1
  54. package/dist/directive-executor.js +76 -76
  55. package/dist/directive-executor.js.map +1 -1
  56. package/dist/evaluation-context.d.ts +2 -2
  57. package/dist/evaluation-context.d.ts.map +1 -1
  58. package/dist/evaluation-context.js +4 -4
  59. package/dist/evaluation-context.js.map +1 -1
  60. package/dist/focus-completion-event.d.ts +97 -0
  61. package/dist/focus-completion-event.d.ts.map +1 -0
  62. package/dist/focus-completion-event.js +257 -0
  63. package/dist/focus-completion-event.js.map +1 -0
  64. package/dist/focus-completion.d.ts +85 -0
  65. package/dist/focus-completion.d.ts.map +1 -0
  66. package/dist/focus-completion.js +459 -0
  67. package/dist/focus-completion.js.map +1 -0
  68. package/dist/focus-engine.d.ts +47 -0
  69. package/dist/focus-engine.d.ts.map +1 -0
  70. package/dist/focus-engine.js +421 -0
  71. package/dist/focus-engine.js.map +1 -0
  72. package/dist/focus-executor.d.ts +55 -0
  73. package/dist/focus-executor.d.ts.map +1 -0
  74. package/dist/focus-executor.js +549 -0
  75. package/dist/focus-executor.js.map +1 -0
  76. package/dist/focus-lifecycle.d.ts +61 -0
  77. package/dist/focus-lifecycle.d.ts.map +1 -0
  78. package/dist/focus-lifecycle.js +544 -0
  79. package/dist/focus-lifecycle.js.map +1 -0
  80. package/dist/focus-merge.d.ts +77 -0
  81. package/dist/focus-merge.d.ts.map +1 -0
  82. package/dist/focus-merge.js +378 -0
  83. package/dist/focus-merge.js.map +1 -0
  84. package/dist/focus-prompt-builder.d.ts +35 -0
  85. package/dist/focus-prompt-builder.d.ts.map +1 -0
  86. package/dist/focus-prompt-builder.js +138 -0
  87. package/dist/focus-prompt-builder.js.map +1 -0
  88. package/dist/focus-provisioning.d.ts +16 -0
  89. package/dist/focus-provisioning.d.ts.map +1 -0
  90. package/dist/focus-provisioning.js +119 -0
  91. package/dist/focus-provisioning.js.map +1 -0
  92. package/dist/focus-spawn-helpers.d.ts +67 -0
  93. package/dist/focus-spawn-helpers.d.ts.map +1 -0
  94. package/dist/focus-spawn-helpers.js +160 -0
  95. package/dist/focus-spawn-helpers.js.map +1 -0
  96. package/dist/focus-team-lifecycle.d.ts +50 -0
  97. package/dist/focus-team-lifecycle.d.ts.map +1 -0
  98. package/dist/focus-team-lifecycle.js +256 -0
  99. package/dist/focus-team-lifecycle.js.map +1 -0
  100. package/dist/focus-team-state.d.ts +24 -0
  101. package/dist/focus-team-state.d.ts.map +1 -0
  102. package/dist/focus-team-state.js +43 -0
  103. package/dist/focus-team-state.js.map +1 -0
  104. package/dist/focus-worktree-state.d.ts +47 -0
  105. package/dist/focus-worktree-state.d.ts.map +1 -0
  106. package/dist/focus-worktree-state.js +104 -0
  107. package/dist/focus-worktree-state.js.map +1 -0
  108. package/dist/git-merge.d.ts +5 -5
  109. package/dist/git-merge.d.ts.map +1 -1
  110. package/dist/git-merge.js +5 -5
  111. package/dist/git-merge.js.map +1 -1
  112. package/dist/git-state-detector.d.ts +1 -1
  113. package/dist/git-state-detector.js +9 -9
  114. package/dist/git-state-detector.js.map +1 -1
  115. package/dist/git-utils.d.ts +1 -1
  116. package/dist/git-utils.js +1 -1
  117. package/dist/git.d.ts +2 -2
  118. package/dist/git.d.ts.map +1 -1
  119. package/dist/git.js +3 -3
  120. package/dist/git.js.map +1 -1
  121. package/dist/heartbeat.d.ts +4 -4
  122. package/dist/heartbeat.d.ts.map +1 -1
  123. package/dist/heartbeat.js +7 -7
  124. package/dist/heartbeat.js.map +1 -1
  125. package/dist/index.d.ts +1 -1
  126. package/dist/index.js +10 -10
  127. package/dist/index.js.map +1 -1
  128. package/dist/listener-auto-advance.d.ts +2 -2
  129. package/dist/listener-auto-advance.js +21 -21
  130. package/dist/listener-auto-advance.js.map +1 -1
  131. package/dist/listener.d.ts +12 -12
  132. package/dist/listener.d.ts.map +1 -1
  133. package/dist/listener.js +80 -75
  134. package/dist/listener.js.map +1 -1
  135. package/dist/loop-engine.d.ts +20 -20
  136. package/dist/loop-engine.d.ts.map +1 -1
  137. package/dist/loop-engine.js +82 -82
  138. package/dist/loop-engine.js.map +1 -1
  139. package/dist/loop-event-bus.d.ts +5 -5
  140. package/dist/loop-event-bus.d.ts.map +1 -1
  141. package/dist/loop-event-bus.js +3 -3
  142. package/dist/loop-llm-client.d.ts +1 -1
  143. package/dist/loop-llm-client.js +1 -1
  144. package/dist/loop-variance.d.ts +1 -1
  145. package/dist/loop-variance.js +1 -1
  146. package/dist/merge-detector.d.ts +6 -6
  147. package/dist/merge-detector.d.ts.map +1 -1
  148. package/dist/merge-detector.js +47 -47
  149. package/dist/merge-detector.js.map +1 -1
  150. package/dist/otlp-log-parser.js +2 -2
  151. package/dist/otlp-log-parser.js.map +1 -1
  152. package/dist/otlp-metric-parser.js +1 -1
  153. package/dist/otlp-metric-parser.js.map +1 -1
  154. package/dist/otlp-receiver.d.ts +1 -1
  155. package/dist/otlp-receiver.js +7 -7
  156. package/dist/otlp-receiver.js.map +1 -1
  157. package/dist/otlp-types.d.ts +1 -1
  158. package/dist/otlp-types.d.ts.map +1 -1
  159. package/dist/otlp-types.js +3 -3
  160. package/dist/otlp-types.js.map +1 -1
  161. package/dist/output-monitor.d.ts +6 -6
  162. package/dist/output-monitor.d.ts.map +1 -1
  163. package/dist/output-monitor.js +11 -11
  164. package/dist/output-monitor.js.map +1 -1
  165. package/dist/planning-prompt-builder.d.ts +17 -15
  166. package/dist/planning-prompt-builder.d.ts.map +1 -1
  167. package/dist/planning-prompt-builder.js +34 -32
  168. package/dist/planning-prompt-builder.js.map +1 -1
  169. package/dist/pm/mitigation-correlator.d.ts +7 -7
  170. package/dist/pm/mitigation-correlator.d.ts.map +1 -1
  171. package/dist/pm/mitigation-correlator.js +33 -33
  172. package/dist/pm/mitigation-correlator.js.map +1 -1
  173. package/dist/pm-engine.js +1 -1
  174. package/dist/pm-engine.js.map +1 -1
  175. package/dist/prompt-builder.d.ts +1 -1
  176. package/dist/prompt-builder.js +9 -9
  177. package/dist/prompt-builder.js.map +1 -1
  178. package/dist/prompts/starter-prompt.d.ts +2 -2
  179. package/dist/prompts/starter-prompt.d.ts.map +1 -1
  180. package/dist/prompts/starter-prompt.js +6 -6
  181. package/dist/qa-crash-recovery.d.ts +10 -10
  182. package/dist/qa-crash-recovery.d.ts.map +1 -1
  183. package/dist/qa-crash-recovery.js +32 -32
  184. package/dist/qa-crash-recovery.js.map +1 -1
  185. package/dist/qa-dev-server.d.ts +3 -3
  186. package/dist/qa-dev-server.d.ts.map +1 -1
  187. package/dist/qa-dev-server.js +3 -3
  188. package/dist/qa-dev-server.js.map +1 -1
  189. package/dist/qa-orchestrator.d.ts +18 -18
  190. package/dist/qa-orchestrator.d.ts.map +1 -1
  191. package/dist/qa-orchestrator.js +47 -47
  192. package/dist/qa-orchestrator.js.map +1 -1
  193. package/dist/qa-provisioner.d.ts +3 -3
  194. package/dist/qa-provisioner.d.ts.map +1 -1
  195. package/dist/qa-provisioner.js +14 -14
  196. package/dist/qa-provisioner.js.map +1 -1
  197. package/dist/qa-state.d.ts +10 -10
  198. package/dist/qa-state.d.ts.map +1 -1
  199. package/dist/qa-state.js +11 -11
  200. package/dist/qa-state.js.map +1 -1
  201. package/dist/queries/control-state.d.ts +5 -5
  202. package/dist/queries/control-state.d.ts.map +1 -1
  203. package/dist/queries/control-state.js +4 -4
  204. package/dist/queries/control-state.js.map +1 -1
  205. package/dist/queries/deliveries.d.ts +28 -24
  206. package/dist/queries/deliveries.d.ts.map +1 -1
  207. package/dist/queries/deliveries.js +32 -28
  208. package/dist/queries/deliveries.js.map +1 -1
  209. package/dist/queries/focuses.d.ts +97 -0
  210. package/dist/queries/focuses.d.ts.map +1 -0
  211. package/dist/queries/focuses.js +136 -0
  212. package/dist/queries/focuses.js.map +1 -0
  213. package/dist/queries/index.d.ts +3 -3
  214. package/dist/queries/index.d.ts.map +1 -1
  215. package/dist/queries/index.js +2 -2
  216. package/dist/queries/index.js.map +1 -1
  217. package/dist/queries/qa.d.ts +16 -16
  218. package/dist/queries/qa.d.ts.map +1 -1
  219. package/dist/queries/qa.js +22 -22
  220. package/dist/queries/qa.js.map +1 -1
  221. package/dist/queries/schemas.d.ts +40 -34
  222. package/dist/queries/schemas.d.ts.map +1 -1
  223. package/dist/queries/schemas.js +31 -26
  224. package/dist/queries/schemas.js.map +1 -1
  225. package/dist/queries/sessions.d.ts +1 -1
  226. package/dist/queries/sessions.d.ts.map +1 -1
  227. package/dist/queries/sessions.js +2 -2
  228. package/dist/queries/sessions.js.map +1 -1
  229. package/dist/queries/shared.js +10 -10
  230. package/dist/queries/shared.js.map +1 -1
  231. package/dist/queries/workflows.d.ts +1 -1
  232. package/dist/queries/workflows.js +1 -1
  233. package/dist/queries/worktrees.d.ts +7 -7
  234. package/dist/queries/worktrees.d.ts.map +1 -1
  235. package/dist/queries/worktrees.js +7 -7
  236. package/dist/queries/worktrees.js.map +1 -1
  237. package/dist/review-defect-detector.d.ts +125 -0
  238. package/dist/review-defect-detector.d.ts.map +1 -0
  239. package/dist/review-defect-detector.js +289 -0
  240. package/dist/review-defect-detector.js.map +1 -0
  241. package/dist/session-lifecycle.d.ts +17 -17
  242. package/dist/session-lifecycle.d.ts.map +1 -1
  243. package/dist/session-lifecycle.js +82 -82
  244. package/dist/session-lifecycle.js.map +1 -1
  245. package/dist/spawn-cooldown.d.ts +8 -8
  246. package/dist/spawn-cooldown.d.ts.map +1 -1
  247. package/dist/spawn-cooldown.js +15 -15
  248. package/dist/spawn-cooldown.js.map +1 -1
  249. package/dist/spawn-environment.d.ts +2 -2
  250. package/dist/spawn-environment.d.ts.map +1 -1
  251. package/dist/spawn-environment.js +3 -3
  252. package/dist/spawn-environment.js.map +1 -1
  253. package/dist/spawner-lifecycle.d.ts +2 -2
  254. package/dist/spawner-lifecycle.d.ts.map +1 -1
  255. package/dist/spawner-lifecycle.js +3 -3
  256. package/dist/spawner-lifecycle.js.map +1 -1
  257. package/dist/spawner-resolution.d.ts +3 -3
  258. package/dist/spawner-resolution.d.ts.map +1 -1
  259. package/dist/spawner-resolution.js +4 -4
  260. package/dist/spawner-resolution.js.map +1 -1
  261. package/dist/spawner-stream-handlers.js +2 -2
  262. package/dist/spawner-stream-handlers.js.map +1 -1
  263. package/dist/spawner.d.ts +1 -1
  264. package/dist/spawner.d.ts.map +1 -1
  265. package/dist/spawner.js +6 -6
  266. package/dist/spawner.js.map +1 -1
  267. package/dist/stage-classifier.d.ts +1 -1
  268. package/dist/stage-classifier.js +1 -1
  269. package/dist/state-cascade.d.ts +25 -25
  270. package/dist/state-cascade.d.ts.map +1 -1
  271. package/dist/state-cascade.js +89 -89
  272. package/dist/state-cascade.js.map +1 -1
  273. package/dist/strategy-completion-event.d.ts +37 -3
  274. package/dist/strategy-completion-event.d.ts.map +1 -1
  275. package/dist/strategy-completion-event.js +78 -9
  276. package/dist/strategy-completion-event.js.map +1 -1
  277. package/dist/strategy-completion.d.ts +11 -0
  278. package/dist/strategy-completion.d.ts.map +1 -1
  279. package/dist/strategy-completion.js +22 -1
  280. package/dist/strategy-completion.js.map +1 -1
  281. package/dist/strategy-executor.d.ts.map +1 -1
  282. package/dist/strategy-executor.js +46 -14
  283. package/dist/strategy-executor.js.map +1 -1
  284. package/dist/strategy-merge.d.ts.map +1 -1
  285. package/dist/strategy-merge.js +4 -0
  286. package/dist/strategy-merge.js.map +1 -1
  287. package/dist/strategy-team-lifecycle.d.ts.map +1 -1
  288. package/dist/strategy-team-lifecycle.js +3 -0
  289. package/dist/strategy-team-lifecycle.js.map +1 -1
  290. package/dist/supabase.d.ts +4 -4
  291. package/dist/supabase.d.ts.map +1 -1
  292. package/dist/supabase.js +5 -5
  293. package/dist/supabase.js.map +1 -1
  294. package/dist/task-converter.d.ts +4 -4
  295. package/dist/task-converter.d.ts.map +1 -1
  296. package/dist/task-converter.js +1 -1
  297. package/dist/task-converter.js.map +1 -1
  298. package/dist/team-prompt-base.d.ts +59 -19
  299. package/dist/team-prompt-base.d.ts.map +1 -1
  300. package/dist/team-prompt-base.js +206 -25
  301. package/dist/team-prompt-base.js.map +1 -1
  302. package/dist/team-spawner.d.ts +9 -9
  303. package/dist/team-spawner.d.ts.map +1 -1
  304. package/dist/team-spawner.js +87 -83
  305. package/dist/team-spawner.js.map +1 -1
  306. package/dist/telemetry-writer.d.ts +2 -2
  307. package/dist/telemetry-writer.d.ts.map +1 -1
  308. package/dist/templates/claude-md.js +8 -8
  309. package/dist/templates/claude-settings.d.ts +1 -1
  310. package/dist/templates/claude-settings.js +2 -2
  311. package/dist/templates/claude-settings.js.map +1 -1
  312. package/dist/trigger-executor.d.ts +4 -4
  313. package/dist/trigger-executor.d.ts.map +1 -1
  314. package/dist/trigger-executor.js +11 -11
  315. package/dist/trigger-executor.js.map +1 -1
  316. package/dist/types/dag.d.ts +1 -1
  317. package/dist/types/delivery.d.ts +3 -3
  318. package/dist/types/delivery.d.ts.map +1 -1
  319. package/dist/types/focus.d.ts +214 -0
  320. package/dist/types/focus.d.ts.map +1 -0
  321. package/dist/types/focus.js +5 -0
  322. package/dist/types/focus.js.map +1 -0
  323. package/dist/types/index.d.ts +1 -1
  324. package/dist/types/index.d.ts.map +1 -1
  325. package/dist/types/index.js +1 -1
  326. package/dist/types/index.js.map +1 -1
  327. package/dist/types/merge.d.ts +1 -1
  328. package/dist/types/session.d.ts +2 -2
  329. package/dist/types/session.d.ts.map +1 -1
  330. package/dist/types/strategy.d.ts +7 -0
  331. package/dist/types/strategy.d.ts.map +1 -1
  332. package/dist/unified-engine-lifecycle.js +11 -11
  333. package/dist/unified-engine-lifecycle.js.map +1 -1
  334. package/dist/unified-init.d.ts +1 -1
  335. package/dist/unified-init.js +9 -9
  336. package/dist/unified-init.js.map +1 -1
  337. package/dist/unified-shell-config.d.ts +4 -4
  338. package/dist/unified-shell-config.d.ts.map +1 -1
  339. package/dist/unified-shell-config.js +5 -5
  340. package/dist/unified-shell-config.js.map +1 -1
  341. package/dist/unified-shell-status.js +3 -3
  342. package/dist/unified-shell-status.js.map +1 -1
  343. package/dist/unified-shell.d.ts +1 -1
  344. package/dist/unified-shell.js +4 -4
  345. package/dist/unified-shell.js.map +1 -1
  346. package/dist/workflow-engine.d.ts +1 -1
  347. package/dist/workflow-engine.d.ts.map +1 -1
  348. package/dist/worktree-focus.d.ts +69 -0
  349. package/dist/worktree-focus.d.ts.map +1 -0
  350. package/dist/worktree-focus.js +214 -0
  351. package/dist/worktree-focus.js.map +1 -0
  352. package/dist/worktree.d.ts +10 -10
  353. package/dist/worktree.d.ts.map +1 -1
  354. package/dist/worktree.js +39 -39
  355. package/dist/worktree.js.map +1 -1
  356. package/package.json +2 -2
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Focus worktree lifecycle: canonical removal and orphan cleanup.
3
+ *
4
+ * safeRemoveFocusWorktree is the single code path for all focus
5
+ * worktree removals -- it merges before removing and conditionally
6
+ * clears in-memory state.
7
+ *
8
+ * cleanupOrphanFocusWorktrees scans the worktree directory on startup
9
+ * and removes worktrees that no longer match any active focus.
10
+ */
11
+ import { existsSync, readdirSync, statSync } from 'node:fs';
12
+ import { join, resolve } from 'node:path';
13
+ import { runGitSync } from './git-types.js';
14
+ import { mergeToIntegration } from './git-merge.js';
15
+ import { getActiveFocuses } from './queries/deliveries.js';
16
+ import { removeFocusWorktree as removeFocusWorktreeState } from './focus-worktree-state.js';
17
+ import { sanitizeGitSegment } from './git-utils.js';
18
+ import { branchHasUnmergedCommits, removeWorktree } from './worktree-safety.js';
19
+ // ── Canonical worktree removal ────────────────────────────────────
20
+ /**
21
+ * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
22
+ *
23
+ * Every code path that removes a focus worktree should route through this
24
+ * function. It encapsulates the full lifecycle:
25
+ * 1. Check for unmerged commits on the branch
26
+ * 2. Attempt merge to integration if needed
27
+ * 3. Call removeWorktree with safety guards (handles uncommitted changes)
28
+ * 4. Conditionally clear in-memory state based on whether removal succeeded
29
+ *
30
+ * Returns structured result so callers can count cleaned/preserved and log.
31
+ */
32
+ export async function safeRemoveFocusWorktree(params) {
33
+ const { config, worktreePath, branchName, deliveryName, deliveryId, focusId } = params;
34
+ const { repoPath, integrationBranch } = config;
35
+ // 1. Attempt merge if there are unmerged commits
36
+ let mergeSucceeded = false;
37
+ let merged = false;
38
+ let mergeError;
39
+ try {
40
+ if (branchHasUnmergedCommits(branchName, integrationBranch, repoPath)) {
41
+ console.log(`[worktree] Attempting merge for ${branchName} before removal`);
42
+ const mergeResult = await mergeToIntegration({
43
+ config,
44
+ branchName,
45
+ deliveryName,
46
+ deliveryId: deliveryId ?? deliveryName,
47
+ });
48
+ mergeSucceeded = mergeResult.success;
49
+ merged = true;
50
+ if (mergeResult.success) {
51
+ console.log(`[worktree] Merge succeeded for ${branchName}`);
52
+ }
53
+ else {
54
+ mergeError = mergeResult.error ?? 'unknown';
55
+ console.warn(`[worktree] Merge failed for ${branchName}: ${mergeError}. ` +
56
+ `Safety guards will preserve the branch.`);
57
+ }
58
+ }
59
+ else {
60
+ mergeSucceeded = true; // Nothing to merge
61
+ }
62
+ }
63
+ catch (err) {
64
+ mergeError = err.message;
65
+ console.warn(`[worktree] Merge attempt failed for ${branchName}: ${mergeError}`);
66
+ }
67
+ // 2. Remove worktree (safety guards handle uncommitted changes and unmerged commits)
68
+ let removed = false;
69
+ try {
70
+ removed = removeWorktree(repoPath, worktreePath, {
71
+ branchName,
72
+ integrationBranch,
73
+ deliveryName,
74
+ mergeSucceeded,
75
+ });
76
+ }
77
+ catch (err) {
78
+ console.warn(`[worktree] Failed to remove worktree ${worktreePath}: ${err.message}`);
79
+ }
80
+ // 3. Conditionally clear in-memory state
81
+ if (focusId) {
82
+ if (removed) {
83
+ removeFocusWorktreeState(focusId);
84
+ }
85
+ else {
86
+ console.log(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
87
+ }
88
+ }
89
+ return { removed, merged, mergeError };
90
+ }
91
+ // ── Orphan focus worktree cleanup ──────────────────────────────
92
+ /**
93
+ * Clean up orphan focus worktrees on daemon startup.
94
+ *
95
+ * Scans the worktree directory and cross-references against active
96
+ * focuses (those with assigned agent roles and queued deliveries).
97
+ * Worktrees that don't match any active focus are orphans from a
98
+ * previous daemon run and are cleaned up.
99
+ *
100
+ * Conservative approach:
101
+ * - Safety-commits any uncommitted changes before removal
102
+ * - Checks for unmerged commits before deleting
103
+ * - Logs all actions for auditability
104
+ *
105
+ * @returns Count of orphans cleaned up and preserved
106
+ */
107
+ export async function cleanupOrphanFocusWorktrees(config) {
108
+ const { worktreeDir, repoPath, organizationId, productId } = config;
109
+ let cleaned = 0;
110
+ let preserved = 0;
111
+ if (!existsSync(worktreeDir)) {
112
+ return { cleaned, preserved };
113
+ }
114
+ // 1. List all subdirectories in the worktree directory
115
+ let entries;
116
+ try {
117
+ entries = readdirSync(worktreeDir).filter((entry) => {
118
+ try {
119
+ return statSync(join(worktreeDir, entry)).isDirectory();
120
+ }
121
+ catch (e) {
122
+ console.debug(`[worktree] Failed to stat ${entry} (may have been deleted):`, e.message);
123
+ return false;
124
+ }
125
+ });
126
+ }
127
+ catch (err) {
128
+ console.warn(`[worktree] Failed to scan worktree directory: ${err instanceof Error ? err.message : String(err)}`);
129
+ return { cleaned, preserved };
130
+ }
131
+ if (entries.length === 0) {
132
+ return { cleaned, preserved };
133
+ }
134
+ // 2. Query active focuses
135
+ let activeFocusBranchDirs;
136
+ try {
137
+ const activeFocusesList = await getActiveFocuses(organizationId, productId);
138
+ activeFocusBranchDirs = new Set();
139
+ for (const s of activeFocusesList) {
140
+ const shortId = s.focus_id.slice(0, 8);
141
+ const sanitizedRole = sanitizeGitSegment(s.agent_role_name ?? 'reviewer');
142
+ const sanitizedName = sanitizeGitSegment(s.focus_name);
143
+ const expectedDir = `agent-${sanitizedRole}-${sanitizedName}-${shortId}`;
144
+ if (entries.includes(expectedDir)) {
145
+ activeFocusBranchDirs.add(expectedDir);
146
+ }
147
+ else {
148
+ // Fallback: match by focus ID prefix in case sanitization differs
149
+ for (const entry of entries) {
150
+ if (entry.endsWith(shortId)) {
151
+ activeFocusBranchDirs.add(entry);
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ catch (err) {
158
+ console.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
159
+ `${err instanceof Error ? err.message : String(err)}. Skipping orphan cleanup.`);
160
+ return { cleaned, preserved };
161
+ }
162
+ // 3. Identify orphans: agent worktree dirs not matching any active focus
163
+ const orphanDirs = entries.filter((entry) => {
164
+ if (!entry.startsWith('agent-'))
165
+ return false;
166
+ return !activeFocusBranchDirs.has(entry);
167
+ });
168
+ if (orphanDirs.length === 0) {
169
+ console.log('[worktree] No orphan focus worktrees found');
170
+ return { cleaned, preserved };
171
+ }
172
+ console.log(`[worktree] Found ${orphanDirs.length} orphan focus worktree(s)`);
173
+ // 4. Parse git worktree list to get branch names for each path
174
+ const worktreeListResult = runGitSync(['worktree', 'list', '--porcelain'], repoPath);
175
+ const pathToBranch = new Map();
176
+ if (worktreeListResult.success) {
177
+ let currentPath = null;
178
+ for (const line of worktreeListResult.output.split('\n')) {
179
+ if (line.startsWith('worktree ')) {
180
+ currentPath = line.slice('worktree '.length);
181
+ }
182
+ else if (line.startsWith('branch refs/heads/') && currentPath) {
183
+ pathToBranch.set(resolve(currentPath), line.slice('branch refs/heads/'.length));
184
+ currentPath = null;
185
+ }
186
+ else if (line === '') {
187
+ currentPath = null;
188
+ }
189
+ }
190
+ }
191
+ // 5. Clean up each orphan via canonical removal path
192
+ for (const dir of orphanDirs) {
193
+ const worktreePath = resolve(join(worktreeDir, dir));
194
+ const branchName = pathToBranch.get(worktreePath) ?? dir.replace(/-/g, '/');
195
+ const deliveryName = branchName.split('/').slice(2).join('/') || dir;
196
+ console.log(`[worktree] Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
197
+ const result = await safeRemoveFocusWorktree({
198
+ config,
199
+ worktreePath,
200
+ branchName,
201
+ deliveryName,
202
+ deliveryId: dir, // No real delivery ID -- use dir name for traceability
203
+ });
204
+ if (result.removed) {
205
+ cleaned++;
206
+ }
207
+ else {
208
+ preserved++;
209
+ }
210
+ }
211
+ console.log(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
212
+ return { cleaned, preserved };
213
+ }
214
+ //# sourceMappingURL=worktree-focus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-focus.js","sourceRoot":"","sources":["../src/worktree-focus.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,16 @@ export declare function ensureMergeWorktree(config: DaemonConfig): string;
23
23
  /**
24
24
  * Parameters for the canonical worktree removal function.
25
25
  */
26
- export interface SafeRemoveStrategyWorktreeParams {
26
+ export interface SafeRemoveFocusWorktreeParams {
27
27
  config: DaemonConfig;
28
28
  worktreePath: string;
29
29
  branchName: string;
30
30
  /** Human-readable name for logging and merge commit messages. */
31
31
  deliveryName: string;
32
- /** Delivery/strategy ID for merge traceability. Falls back to deliveryName. */
32
+ /** Delivery/focus ID for merge traceability. Falls back to deliveryName. */
33
33
  deliveryId?: string;
34
34
  /** If provided, clears in-memory worktree state on successful removal. */
35
- strategyId?: string;
35
+ focusId?: string;
36
36
  }
37
37
  /**
38
38
  * Result of a canonical worktree removal attempt.
@@ -118,9 +118,9 @@ export declare function removeWorktree(repoPath: string, worktreePath: string, o
118
118
  */
119
119
  export declare function commitWipChanges(worktreePath: string, contextName: string): string | null;
120
120
  /**
121
- * Canonical strategy worktree removal: merge-before-remove + conditional cleanup.
121
+ * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
122
122
  *
123
- * Every code path that removes a strategy worktree should route through this
123
+ * Every code path that removes a focus worktree should route through this
124
124
  * function. It encapsulates the full lifecycle:
125
125
  * 1. Check for unmerged commits on the branch
126
126
  * 2. Attempt merge to integration if needed
@@ -129,13 +129,13 @@ export declare function commitWipChanges(worktreePath: string, contextName: stri
129
129
  *
130
130
  * Returns structured result so callers can count cleaned/preserved and log.
131
131
  */
132
- export declare function safeRemoveStrategyWorktree(params: SafeRemoveStrategyWorktreeParams): Promise<SafeRemoveResult>;
132
+ export declare function safeRemoveFocusWorktree(params: SafeRemoveFocusWorktreeParams): Promise<SafeRemoveResult>;
133
133
  /**
134
- * Clean up orphan strategy worktrees on daemon startup.
134
+ * Clean up orphan focus worktrees on daemon startup.
135
135
  *
136
136
  * Scans the worktree directory and cross-references against active
137
- * strategies (those with assigned agent roles and queued deliveries).
138
- * Worktrees that don't match any active strategy are orphans from a
137
+ * focuses (those with assigned agent roles and queued deliveries).
138
+ * Worktrees that don't match any active focus are orphans from a
139
139
  * previous daemon run and are cleaned up.
140
140
  *
141
141
  * Conservative approach:
@@ -145,7 +145,7 @@ export declare function safeRemoveStrategyWorktree(params: SafeRemoveStrategyWor
145
145
  *
146
146
  * @returns Count of orphans cleaned up and preserved
147
147
  */
148
- export declare function cleanupOrphanStrategyWorktrees(config: DaemonConfig): Promise<{
148
+ export declare function cleanupOrphanFocusWorktrees(config: DaemonConfig): Promise<{
149
149
  cleaned: number;
150
150
  preserved: number;
151
151
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmB/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqChE;AAID;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAa5F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAED;;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;;;;;;;;;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;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzF;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,gCAAgC,GACvC,OAAO,CAAC,gBAAgB,CAAC,CA8D3B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoIjD"}
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAmB/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAqChE;AAID;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IACrB,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,OAAO,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAErD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAa5F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA+DjB;AAED;;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;;;;;;;;;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;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGzF;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,6BAA6B,GACpC,OAAO,CAAC,gBAAgB,CAAC,CA8D3B;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAoIjD"}
package/dist/worktree.js CHANGED
@@ -14,8 +14,8 @@ import { runGitSync, getMergeWorktreePath } from './git-types.js';
14
14
  import { branchExists } from './git-branch.js';
15
15
  import { pruneWorktrees as pruneWorktreesBase, worktreeExistsForBranch as worktreeExistsForBranchBase, commitWip, removeWorktreeBase, } from '@telora/daemon-core';
16
16
  import { mergeToIntegration } from './git-merge.js';
17
- import { getActiveStrategies } from './queries/deliveries.js';
18
- import { removeStrategyWorktree as removeStrategyWorktreeState } from './strategy-worktree-state.js';
17
+ import { getActiveFocuses } from './queries/deliveries.js';
18
+ import { removeFocusWorktree as removeFocusWorktreeState } from './focus-worktree-state.js';
19
19
  import { sanitizeGitSegment } from './git-utils.js';
20
20
  import { resolveMcpServerPath, writeMcpConfigFile } from './mcp-resolution.js';
21
21
  // ── Merge worktree ────────────────────────────────────────────────
@@ -265,9 +265,9 @@ export function commitWipChanges(worktreePath, contextName) {
265
265
  }
266
266
  // ── Canonical worktree removal ────────────────────────────────────
267
267
  /**
268
- * Canonical strategy worktree removal: merge-before-remove + conditional cleanup.
268
+ * Canonical focus worktree removal: merge-before-remove + conditional cleanup.
269
269
  *
270
- * Every code path that removes a strategy worktree should route through this
270
+ * Every code path that removes a focus worktree should route through this
271
271
  * function. It encapsulates the full lifecycle:
272
272
  * 1. Check for unmerged commits on the branch
273
273
  * 2. Attempt merge to integration if needed
@@ -276,8 +276,8 @@ export function commitWipChanges(worktreePath, contextName) {
276
276
  *
277
277
  * Returns structured result so callers can count cleaned/preserved and log.
278
278
  */
279
- export async function safeRemoveStrategyWorktree(params) {
280
- const { config, worktreePath, branchName, deliveryName, deliveryId, strategyId } = params;
279
+ export async function safeRemoveFocusWorktree(params) {
280
+ const { config, worktreePath, branchName, deliveryName, deliveryId, focusId } = params;
281
281
  const { repoPath, integrationBranch } = config;
282
282
  // 1. Attempt merge if there are unmerged commits
283
283
  let mergeSucceeded = false;
@@ -325,23 +325,23 @@ export async function safeRemoveStrategyWorktree(params) {
325
325
  console.warn(`[worktree] Failed to remove worktree ${worktreePath}: ${err.message}`);
326
326
  }
327
327
  // 3. Conditionally clear in-memory state
328
- if (strategyId) {
328
+ if (focusId) {
329
329
  if (removed) {
330
- removeStrategyWorktreeState(strategyId);
330
+ removeFocusWorktreeState(focusId);
331
331
  }
332
332
  else {
333
- console.log(`[worktree] Worktree preserved for strategy ${strategyId} -- keeping in-memory state`);
333
+ console.log(`[worktree] Worktree preserved for focus ${focusId} -- keeping in-memory state`);
334
334
  }
335
335
  }
336
336
  return { removed, merged, mergeError };
337
337
  }
338
- // ── Orphan strategy worktree cleanup ──────────────────────────────
338
+ // ── Orphan focus worktree cleanup ──────────────────────────────
339
339
  /**
340
- * Clean up orphan strategy worktrees on daemon startup.
340
+ * Clean up orphan focus worktrees on daemon startup.
341
341
  *
342
342
  * Scans the worktree directory and cross-references against active
343
- * strategies (those with assigned agent roles and queued deliveries).
344
- * Worktrees that don't match any active strategy are orphans from a
343
+ * focuses (those with assigned agent roles and queued deliveries).
344
+ * Worktrees that don't match any active focus are orphans from a
345
345
  * previous daemon run and are cleaned up.
346
346
  *
347
347
  * Conservative approach:
@@ -351,7 +351,7 @@ export async function safeRemoveStrategyWorktree(params) {
351
351
  *
352
352
  * @returns Count of orphans cleaned up and preserved
353
353
  */
354
- export async function cleanupOrphanStrategyWorktrees(config) {
354
+ export async function cleanupOrphanFocusWorktrees(config) {
355
355
  const { worktreeDir, repoPath, organizationId, productId } = config;
356
356
  let cleaned = 0;
357
357
  let preserved = 0;
@@ -378,59 +378,59 @@ export async function cleanupOrphanStrategyWorktrees(config) {
378
378
  if (entries.length === 0) {
379
379
  return { cleaned, preserved };
380
380
  }
381
- // 2. Query active strategies (all strategies with agent role assignments,
381
+ // 2. Query active focuses (all focuses with agent role assignments,
382
382
  // regardless of delivery status) to build the set of expected worktree dir names.
383
- // Uses getActiveStrategies instead of getReadyStrategies to avoid treating
384
- // strategies with all deliveries in done/verify as orphans.
385
- let activeStrategyBranchDirs;
383
+ // Uses getActiveFocuses instead of getReadyFocuses to avoid treating
384
+ // focuses with all deliveries in done/verify as orphans.
385
+ let activeFocusBranchDirs;
386
386
  try {
387
- const activeStrategiesList = await getActiveStrategies(organizationId, productId);
388
- // Build the set of expected worktree directory names from active strategies.
389
- // Strategy branch names follow: agent/{role}/{strategy-name}-{id-prefix},
390
- // mirroring generateStrategyBranchName() in strategy-executor.ts.
387
+ const activeFocusesList = await getActiveFocuses(organizationId, productId);
388
+ // Build the set of expected worktree directory names from active focuses.
389
+ // Focus branch names follow: agent/{role}/{focus-name}-{id-prefix},
390
+ // mirroring generateFocusBranchName() in focus-executor.ts.
391
391
  // Worktree dirs are derived from the branch name with '/' replaced by '-'.
392
392
  // We use sanitizeGitSegment (from git-utils.ts) to reconstruct the expected
393
393
  // directory name, falling back to shortId suffix-matching for robustness.
394
- activeStrategyBranchDirs = new Set();
395
- for (const s of activeStrategiesList) {
396
- const shortId = s.strategy_id.slice(0, 8);
394
+ activeFocusBranchDirs = new Set();
395
+ for (const s of activeFocusesList) {
396
+ const shortId = s.focus_id.slice(0, 8);
397
397
  const sanitizedRole = sanitizeGitSegment(s.agent_role_name ?? 'reviewer');
398
- const sanitizedName = sanitizeGitSegment(s.strategy_name);
398
+ const sanitizedName = sanitizeGitSegment(s.focus_name);
399
399
  // Reconstruct the worktree directory name from the branch name
400
400
  // (branch = agent/{role}/{name}-{shortId}, dir = agent-{role}-{name}-{shortId})
401
401
  const expectedDir = `agent-${sanitizedRole}-${sanitizedName}-${shortId}`;
402
402
  if (entries.includes(expectedDir)) {
403
- activeStrategyBranchDirs.add(expectedDir);
403
+ activeFocusBranchDirs.add(expectedDir);
404
404
  }
405
405
  else {
406
- // Fallback: match by strategy ID prefix in case sanitization differs
406
+ // Fallback: match by focus ID prefix in case sanitization differs
407
407
  for (const entry of entries) {
408
408
  if (entry.endsWith(shortId)) {
409
- activeStrategyBranchDirs.add(entry);
409
+ activeFocusBranchDirs.add(entry);
410
410
  }
411
411
  }
412
412
  }
413
413
  }
414
414
  }
415
415
  catch (err) {
416
- // Conservative fallback: if we cannot determine active strategies,
416
+ // Conservative fallback: if we cannot determine active focuses,
417
417
  // skip orphan cleanup entirely rather than risk deleting active worktrees.
418
- console.warn(`[worktree] Failed to query active strategies for orphan detection: ` +
418
+ console.warn(`[worktree] Failed to query active focuses for orphan detection: ` +
419
419
  `${err instanceof Error ? err.message : String(err)}. Skipping orphan cleanup.`);
420
420
  return { cleaned, preserved };
421
421
  }
422
- // 3. Identify orphans: agent worktree dirs not matching any active strategy
422
+ // 3. Identify orphans: agent worktree dirs not matching any active focus
423
423
  const orphanDirs = entries.filter((entry) => {
424
- // Only consider agent-* directories (strategy worktrees use agent/ branch prefix)
424
+ // Only consider agent-* directories (focus worktrees use agent/ branch prefix)
425
425
  if (!entry.startsWith('agent-'))
426
426
  return false;
427
- return !activeStrategyBranchDirs.has(entry);
427
+ return !activeFocusBranchDirs.has(entry);
428
428
  });
429
429
  if (orphanDirs.length === 0) {
430
- console.log('[worktree] No orphan strategy worktrees found');
430
+ console.log('[worktree] No orphan focus worktrees found');
431
431
  return { cleaned, preserved };
432
432
  }
433
- console.log(`[worktree] Found ${orphanDirs.length} orphan strategy worktree(s)`);
433
+ console.log(`[worktree] Found ${orphanDirs.length} orphan focus worktree(s)`);
434
434
  // 4. Parse git worktree list to get branch names for each path
435
435
  const worktreeListResult = runGitSync(['worktree', 'list', '--porcelain'], repoPath);
436
436
  const pathToBranch = new Map();
@@ -454,8 +454,8 @@ export async function cleanupOrphanStrategyWorktrees(config) {
454
454
  const worktreePath = resolve(join(worktreeDir, dir));
455
455
  const branchName = pathToBranch.get(worktreePath) ?? dir.replace(/-/g, '/');
456
456
  const deliveryName = branchName.split('/').slice(2).join('/') || dir;
457
- console.log(`[worktree] Cleaning up orphan strategy worktree: ${worktreePath} [${branchName}]`);
458
- const result = await safeRemoveStrategyWorktree({
457
+ console.log(`[worktree] Cleaning up orphan focus worktree: ${worktreePath} [${branchName}]`);
458
+ const result = await safeRemoveFocusWorktree({
459
459
  config,
460
460
  worktreePath,
461
461
  branchName,
@@ -469,7 +469,7 @@ export async function cleanupOrphanStrategyWorktrees(config) {
469
469
  preserved++;
470
470
  }
471
471
  }
472
- console.log(`[worktree] Orphan strategy worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
472
+ console.log(`[worktree] Orphan focus worktree cleanup: ${cleaned} cleaned, ${preserved} preserved`);
473
473
  return { cleaned, preserved };
474
474
  }
475
475
  //# sourceMappingURL=worktree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../src/worktree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/daemon",
3
- "version": "0.15.1",
3
+ "version": "0.15.3",
4
4
  "description": "Agent orchestration daemon for Telora - spawns and manages Claude Code instances",
5
5
  "type": "module",
6
6
  "bin": {
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "//testRunner": "Uses Node.js built-in test runner (node:test) via tsx for TypeScript support. The root package uses Vitest; this is a deliberate choice for the daemon package to avoid framework dependencies. See src/__tests__/ for test files.",
37
37
  "dependencies": {
38
- "@telora/daemon-core": "^0.2.15",
38
+ "@telora/daemon-core": "^0.2.16",
39
39
  "@telora/factory": "^0.4.6",
40
40
  "@telora/mcp-products": "^0.21.12",
41
41
  "commander": "^14.0.3",