@telora/daemon 0.15.2 → 0.15.4

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 (401) 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 +32 -17
  53. package/dist/directive-executor.d.ts.map +1 -1
  54. package/dist/directive-executor.js +119 -78
  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/{strategy-completion.d.ts → focus-completion.d.ts} +11 -11
  65. package/dist/focus-completion.d.ts.map +1 -0
  66. package/dist/{strategy-completion.js → focus-completion.js} +68 -68
  67. package/dist/focus-completion.js.map +1 -0
  68. package/dist/{strategy-engine.d.ts → focus-engine.d.ts} +5 -5
  69. package/dist/focus-engine.d.ts.map +1 -0
  70. package/dist/{strategy-engine.js → focus-engine.js} +35 -35
  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/{strategy-executor.js → focus-executor.js} +167 -120
  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/{strategy-lifecycle.js → focus-lifecycle.js} +164 -164
  79. package/dist/focus-lifecycle.js.map +1 -0
  80. package/dist/{strategy-merge.d.ts → focus-merge.d.ts} +10 -10
  81. package/dist/focus-merge.d.ts.map +1 -0
  82. package/dist/{strategy-merge.js → focus-merge.js} +51 -51
  83. package/dist/focus-merge.js.map +1 -0
  84. package/dist/focus-phase.d.ts +22 -0
  85. package/dist/focus-phase.d.ts.map +1 -0
  86. package/dist/focus-phase.js +54 -0
  87. package/dist/focus-phase.js.map +1 -0
  88. package/dist/focus-prompt-builder.d.ts +35 -0
  89. package/dist/focus-prompt-builder.d.ts.map +1 -0
  90. package/dist/{strategy-prompt-builder.js → focus-prompt-builder.js} +55 -4
  91. package/dist/focus-prompt-builder.js.map +1 -0
  92. package/dist/focus-provisioning.d.ts +16 -0
  93. package/dist/focus-provisioning.d.ts.map +1 -0
  94. package/dist/focus-provisioning.js +119 -0
  95. package/dist/focus-provisioning.js.map +1 -0
  96. package/dist/{strategy-spawn-helpers.d.ts → focus-spawn-helpers.d.ts} +15 -15
  97. package/dist/focus-spawn-helpers.d.ts.map +1 -0
  98. package/dist/{strategy-spawn-helpers.js → focus-spawn-helpers.js} +28 -28
  99. package/dist/focus-spawn-helpers.js.map +1 -0
  100. package/dist/{strategy-team-lifecycle.d.ts → focus-team-lifecycle.d.ts} +13 -13
  101. package/dist/focus-team-lifecycle.d.ts.map +1 -0
  102. package/dist/{strategy-team-lifecycle.js → focus-team-lifecycle.js} +57 -57
  103. package/dist/focus-team-lifecycle.js.map +1 -0
  104. package/dist/focus-team-state.d.ts +24 -0
  105. package/dist/focus-team-state.d.ts.map +1 -0
  106. package/dist/{strategy-team-state.js → focus-team-state.js} +9 -9
  107. package/dist/focus-team-state.js.map +1 -0
  108. package/dist/focus-worktree-state.d.ts +47 -0
  109. package/dist/focus-worktree-state.d.ts.map +1 -0
  110. package/dist/{strategy-worktree-state.js → focus-worktree-state.js} +29 -29
  111. package/dist/focus-worktree-state.js.map +1 -0
  112. package/dist/git-merge.d.ts +5 -5
  113. package/dist/git-merge.d.ts.map +1 -1
  114. package/dist/git-merge.js +5 -5
  115. package/dist/git-merge.js.map +1 -1
  116. package/dist/git-state-detector.d.ts +1 -1
  117. package/dist/git-state-detector.js +9 -9
  118. package/dist/git-state-detector.js.map +1 -1
  119. package/dist/git-utils.d.ts +1 -1
  120. package/dist/git-utils.js +1 -1
  121. package/dist/git.d.ts +2 -2
  122. package/dist/git.d.ts.map +1 -1
  123. package/dist/git.js +3 -3
  124. package/dist/git.js.map +1 -1
  125. package/dist/heartbeat.d.ts +4 -4
  126. package/dist/heartbeat.d.ts.map +1 -1
  127. package/dist/heartbeat.js +7 -7
  128. package/dist/heartbeat.js.map +1 -1
  129. package/dist/index.d.ts +1 -1
  130. package/dist/index.js +10 -10
  131. package/dist/index.js.map +1 -1
  132. package/dist/listener-auto-advance.d.ts +2 -2
  133. package/dist/listener-auto-advance.js +21 -21
  134. package/dist/listener-auto-advance.js.map +1 -1
  135. package/dist/listener.d.ts +12 -12
  136. package/dist/listener.d.ts.map +1 -1
  137. package/dist/listener.js +80 -75
  138. package/dist/listener.js.map +1 -1
  139. package/dist/loop-engine.d.ts +20 -20
  140. package/dist/loop-engine.d.ts.map +1 -1
  141. package/dist/loop-engine.js +82 -82
  142. package/dist/loop-engine.js.map +1 -1
  143. package/dist/loop-event-bus.d.ts +5 -5
  144. package/dist/loop-event-bus.d.ts.map +1 -1
  145. package/dist/loop-event-bus.js +3 -3
  146. package/dist/loop-llm-client.d.ts +1 -1
  147. package/dist/loop-llm-client.js +1 -1
  148. package/dist/loop-variance.d.ts +1 -1
  149. package/dist/loop-variance.js +1 -1
  150. package/dist/merge-detector.d.ts +6 -6
  151. package/dist/merge-detector.d.ts.map +1 -1
  152. package/dist/merge-detector.js +47 -47
  153. package/dist/merge-detector.js.map +1 -1
  154. package/dist/otlp-log-parser.js +2 -2
  155. package/dist/otlp-log-parser.js.map +1 -1
  156. package/dist/otlp-metric-parser.js +1 -1
  157. package/dist/otlp-metric-parser.js.map +1 -1
  158. package/dist/otlp-receiver.d.ts +1 -1
  159. package/dist/otlp-receiver.js +7 -7
  160. package/dist/otlp-receiver.js.map +1 -1
  161. package/dist/otlp-types.d.ts +1 -1
  162. package/dist/otlp-types.d.ts.map +1 -1
  163. package/dist/otlp-types.js +3 -3
  164. package/dist/otlp-types.js.map +1 -1
  165. package/dist/output-monitor.d.ts +6 -6
  166. package/dist/output-monitor.d.ts.map +1 -1
  167. package/dist/output-monitor.js +11 -11
  168. package/dist/output-monitor.js.map +1 -1
  169. package/dist/planning-prompt-builder.d.ts +11 -11
  170. package/dist/planning-prompt-builder.d.ts.map +1 -1
  171. package/dist/planning-prompt-builder.js +28 -28
  172. package/dist/planning-prompt-builder.js.map +1 -1
  173. package/dist/pm/mitigation-correlator.d.ts +7 -7
  174. package/dist/pm/mitigation-correlator.d.ts.map +1 -1
  175. package/dist/pm/mitigation-correlator.js +33 -33
  176. package/dist/pm/mitigation-correlator.js.map +1 -1
  177. package/dist/pm-engine.js +1 -1
  178. package/dist/pm-engine.js.map +1 -1
  179. package/dist/prompt-builder.d.ts +1 -1
  180. package/dist/prompt-builder.js +9 -9
  181. package/dist/prompt-builder.js.map +1 -1
  182. package/dist/prompts/starter-prompt.d.ts +2 -2
  183. package/dist/prompts/starter-prompt.d.ts.map +1 -1
  184. package/dist/prompts/starter-prompt.js +6 -6
  185. package/dist/qa-crash-recovery.d.ts +10 -10
  186. package/dist/qa-crash-recovery.d.ts.map +1 -1
  187. package/dist/qa-crash-recovery.js +32 -32
  188. package/dist/qa-crash-recovery.js.map +1 -1
  189. package/dist/qa-dev-server.d.ts +3 -3
  190. package/dist/qa-dev-server.d.ts.map +1 -1
  191. package/dist/qa-dev-server.js +3 -3
  192. package/dist/qa-dev-server.js.map +1 -1
  193. package/dist/qa-orchestrator.d.ts +18 -18
  194. package/dist/qa-orchestrator.d.ts.map +1 -1
  195. package/dist/qa-orchestrator.js +47 -47
  196. package/dist/qa-orchestrator.js.map +1 -1
  197. package/dist/qa-provisioner.d.ts +3 -3
  198. package/dist/qa-provisioner.d.ts.map +1 -1
  199. package/dist/qa-provisioner.js +14 -14
  200. package/dist/qa-provisioner.js.map +1 -1
  201. package/dist/qa-state.d.ts +10 -10
  202. package/dist/qa-state.d.ts.map +1 -1
  203. package/dist/qa-state.js +11 -11
  204. package/dist/qa-state.js.map +1 -1
  205. package/dist/queries/control-state.d.ts +5 -5
  206. package/dist/queries/control-state.d.ts.map +1 -1
  207. package/dist/queries/control-state.js +4 -4
  208. package/dist/queries/control-state.js.map +1 -1
  209. package/dist/queries/deliveries.d.ts +24 -23
  210. package/dist/queries/deliveries.d.ts.map +1 -1
  211. package/dist/queries/deliveries.js +30 -29
  212. package/dist/queries/deliveries.js.map +1 -1
  213. package/dist/queries/{strategies.d.ts → focuses.d.ts} +24 -21
  214. package/dist/queries/focuses.d.ts.map +1 -0
  215. package/dist/queries/{strategies.js → focuses.js} +39 -31
  216. package/dist/queries/focuses.js.map +1 -0
  217. package/dist/queries/index.d.ts +3 -3
  218. package/dist/queries/index.d.ts.map +1 -1
  219. package/dist/queries/index.js +2 -2
  220. package/dist/queries/index.js.map +1 -1
  221. package/dist/queries/qa.d.ts +16 -16
  222. package/dist/queries/qa.d.ts.map +1 -1
  223. package/dist/queries/qa.js +22 -22
  224. package/dist/queries/qa.js.map +1 -1
  225. package/dist/queries/schemas.d.ts +36 -30
  226. package/dist/queries/schemas.d.ts.map +1 -1
  227. package/dist/queries/schemas.js +28 -25
  228. package/dist/queries/schemas.js.map +1 -1
  229. package/dist/queries/sessions.d.ts +1 -1
  230. package/dist/queries/sessions.d.ts.map +1 -1
  231. package/dist/queries/sessions.js +2 -2
  232. package/dist/queries/sessions.js.map +1 -1
  233. package/dist/queries/shared.js +10 -10
  234. package/dist/queries/shared.js.map +1 -1
  235. package/dist/queries/workflows.d.ts +1 -1
  236. package/dist/queries/workflows.js +1 -1
  237. package/dist/queries/worktrees.d.ts +7 -7
  238. package/dist/queries/worktrees.d.ts.map +1 -1
  239. package/dist/queries/worktrees.js +7 -7
  240. package/dist/queries/worktrees.js.map +1 -1
  241. package/dist/review-defect-detector.d.ts +125 -0
  242. package/dist/review-defect-detector.d.ts.map +1 -0
  243. package/dist/review-defect-detector.js +289 -0
  244. package/dist/review-defect-detector.js.map +1 -0
  245. package/dist/session-lifecycle.d.ts +17 -17
  246. package/dist/session-lifecycle.d.ts.map +1 -1
  247. package/dist/session-lifecycle.js +82 -82
  248. package/dist/session-lifecycle.js.map +1 -1
  249. package/dist/spawn-cooldown.d.ts +8 -8
  250. package/dist/spawn-cooldown.d.ts.map +1 -1
  251. package/dist/spawn-cooldown.js +15 -15
  252. package/dist/spawn-cooldown.js.map +1 -1
  253. package/dist/spawn-environment.d.ts +2 -2
  254. package/dist/spawn-environment.d.ts.map +1 -1
  255. package/dist/spawn-environment.js +3 -3
  256. package/dist/spawn-environment.js.map +1 -1
  257. package/dist/spawner-lifecycle.d.ts +2 -2
  258. package/dist/spawner-lifecycle.d.ts.map +1 -1
  259. package/dist/spawner-lifecycle.js +3 -3
  260. package/dist/spawner-lifecycle.js.map +1 -1
  261. package/dist/spawner-resolution.d.ts +3 -3
  262. package/dist/spawner-resolution.d.ts.map +1 -1
  263. package/dist/spawner-resolution.js +4 -4
  264. package/dist/spawner-resolution.js.map +1 -1
  265. package/dist/spawner-stream-handlers.js +2 -2
  266. package/dist/spawner-stream-handlers.js.map +1 -1
  267. package/dist/spawner.d.ts +1 -1
  268. package/dist/spawner.d.ts.map +1 -1
  269. package/dist/spawner.js +6 -6
  270. package/dist/spawner.js.map +1 -1
  271. package/dist/stage-classifier.d.ts +1 -1
  272. package/dist/stage-classifier.js +1 -1
  273. package/dist/state-cascade.d.ts +25 -25
  274. package/dist/state-cascade.d.ts.map +1 -1
  275. package/dist/state-cascade.js +89 -89
  276. package/dist/state-cascade.js.map +1 -1
  277. package/dist/supabase.d.ts +4 -4
  278. package/dist/supabase.d.ts.map +1 -1
  279. package/dist/supabase.js +5 -5
  280. package/dist/supabase.js.map +1 -1
  281. package/dist/task-converter.d.ts +4 -4
  282. package/dist/task-converter.d.ts.map +1 -1
  283. package/dist/task-converter.js +1 -1
  284. package/dist/task-converter.js.map +1 -1
  285. package/dist/team-prompt-base.d.ts +49 -22
  286. package/dist/team-prompt-base.d.ts.map +1 -1
  287. package/dist/team-prompt-base.js +96 -32
  288. package/dist/team-prompt-base.js.map +1 -1
  289. package/dist/team-spawner.d.ts +9 -9
  290. package/dist/team-spawner.d.ts.map +1 -1
  291. package/dist/team-spawner.js +84 -82
  292. package/dist/team-spawner.js.map +1 -1
  293. package/dist/telemetry-writer.d.ts +2 -2
  294. package/dist/telemetry-writer.d.ts.map +1 -1
  295. package/dist/templates/claude-md.js +8 -8
  296. package/dist/templates/claude-settings.d.ts +1 -1
  297. package/dist/templates/claude-settings.js +2 -2
  298. package/dist/templates/claude-settings.js.map +1 -1
  299. package/dist/trigger-executor.d.ts +4 -4
  300. package/dist/trigger-executor.d.ts.map +1 -1
  301. package/dist/trigger-executor.js +11 -11
  302. package/dist/trigger-executor.js.map +1 -1
  303. package/dist/types/dag.d.ts +1 -1
  304. package/dist/types/delivery.d.ts +3 -3
  305. package/dist/types/delivery.d.ts.map +1 -1
  306. package/dist/types/{strategy.d.ts → focus.d.ts} +65 -31
  307. package/dist/types/focus.d.ts.map +1 -0
  308. package/dist/types/focus.js +5 -0
  309. package/dist/types/focus.js.map +1 -0
  310. package/dist/types/index.d.ts +1 -1
  311. package/dist/types/index.d.ts.map +1 -1
  312. package/dist/types/index.js +1 -1
  313. package/dist/types/index.js.map +1 -1
  314. package/dist/types/merge.d.ts +1 -1
  315. package/dist/types/session.d.ts +2 -2
  316. package/dist/types/session.d.ts.map +1 -1
  317. package/dist/unified-engine-lifecycle.js +11 -11
  318. package/dist/unified-engine-lifecycle.js.map +1 -1
  319. package/dist/unified-init.d.ts +1 -1
  320. package/dist/unified-init.js +9 -9
  321. package/dist/unified-init.js.map +1 -1
  322. package/dist/unified-shell-config.d.ts +4 -4
  323. package/dist/unified-shell-config.d.ts.map +1 -1
  324. package/dist/unified-shell-config.js +5 -5
  325. package/dist/unified-shell-config.js.map +1 -1
  326. package/dist/unified-shell-status.js +3 -3
  327. package/dist/unified-shell-status.js.map +1 -1
  328. package/dist/unified-shell.d.ts +1 -1
  329. package/dist/unified-shell.js +4 -4
  330. package/dist/unified-shell.js.map +1 -1
  331. package/dist/workflow-engine.d.ts +1 -1
  332. package/dist/workflow-engine.d.ts.map +1 -1
  333. package/dist/{worktree-strategy.d.ts → worktree-focus.d.ts} +15 -15
  334. package/dist/worktree-focus.d.ts.map +1 -0
  335. package/dist/{worktree-strategy.js → worktree-focus.js} +37 -37
  336. package/dist/worktree-focus.js.map +1 -0
  337. package/dist/worktree.d.ts +10 -10
  338. package/dist/worktree.d.ts.map +1 -1
  339. package/dist/worktree.js +39 -39
  340. package/dist/worktree.js.map +1 -1
  341. package/package.json +3 -3
  342. package/dist/listener-review.d.ts +0 -37
  343. package/dist/listener-review.d.ts.map +0 -1
  344. package/dist/listener-review.js +0 -217
  345. package/dist/listener-review.js.map +0 -1
  346. package/dist/queries/strategies.d.ts.map +0 -1
  347. package/dist/queries/strategies.js.map +0 -1
  348. package/dist/review-spawner.d.ts +0 -32
  349. package/dist/review-spawner.d.ts.map +0 -1
  350. package/dist/review-spawner.js +0 -170
  351. package/dist/review-spawner.js.map +0 -1
  352. package/dist/strategy-completion-event.d.ts +0 -63
  353. package/dist/strategy-completion-event.d.ts.map +0 -1
  354. package/dist/strategy-completion-event.js +0 -138
  355. package/dist/strategy-completion-event.js.map +0 -1
  356. package/dist/strategy-completion.d.ts.map +0 -1
  357. package/dist/strategy-completion.js.map +0 -1
  358. package/dist/strategy-engine.d.ts.map +0 -1
  359. package/dist/strategy-engine.js.map +0 -1
  360. package/dist/strategy-executor.d.ts +0 -55
  361. package/dist/strategy-executor.d.ts.map +0 -1
  362. package/dist/strategy-executor.js.map +0 -1
  363. package/dist/strategy-lifecycle.d.ts +0 -61
  364. package/dist/strategy-lifecycle.d.ts.map +0 -1
  365. package/dist/strategy-lifecycle.js.map +0 -1
  366. package/dist/strategy-merge.d.ts.map +0 -1
  367. package/dist/strategy-merge.js.map +0 -1
  368. package/dist/strategy-prompt-builder.d.ts +0 -24
  369. package/dist/strategy-prompt-builder.d.ts.map +0 -1
  370. package/dist/strategy-prompt-builder.js.map +0 -1
  371. package/dist/strategy-provisioning.d.ts +0 -16
  372. package/dist/strategy-provisioning.d.ts.map +0 -1
  373. package/dist/strategy-provisioning.js +0 -119
  374. package/dist/strategy-provisioning.js.map +0 -1
  375. package/dist/strategy-spawn-helpers.d.ts.map +0 -1
  376. package/dist/strategy-spawn-helpers.js.map +0 -1
  377. package/dist/strategy-team-lifecycle.d.ts.map +0 -1
  378. package/dist/strategy-team-lifecycle.js.map +0 -1
  379. package/dist/strategy-team-state.d.ts +0 -24
  380. package/dist/strategy-team-state.d.ts.map +0 -1
  381. package/dist/strategy-team-state.js.map +0 -1
  382. package/dist/strategy-teardown.d.ts +0 -24
  383. package/dist/strategy-teardown.d.ts.map +0 -1
  384. package/dist/strategy-teardown.js +0 -158
  385. package/dist/strategy-teardown.js.map +0 -1
  386. package/dist/strategy-worktree-state.d.ts +0 -47
  387. package/dist/strategy-worktree-state.d.ts.map +0 -1
  388. package/dist/strategy-worktree-state.js.map +0 -1
  389. package/dist/team-prompt-variants.d.ts +0 -17
  390. package/dist/team-prompt-variants.d.ts.map +0 -1
  391. package/dist/team-prompt-variants.js +0 -79
  392. package/dist/team-prompt-variants.js.map +0 -1
  393. package/dist/types/strategy.d.ts.map +0 -1
  394. package/dist/types/strategy.js +0 -5
  395. package/dist/types/strategy.js.map +0 -1
  396. package/dist/worktree-merge.d.ts +0 -23
  397. package/dist/worktree-merge.d.ts.map +0 -1
  398. package/dist/worktree-merge.js +0 -57
  399. package/dist/worktree-merge.js.map +0 -1
  400. package/dist/worktree-strategy.d.ts.map +0 -1
  401. package/dist/worktree-strategy.js.map +0 -1
@@ -5,47 +5,47 @@
5
5
  * and transitions verify deliveries back to iterating when new
6
6
  * open issues are found (e.g., from review agents).
7
7
  */
8
- import { getActiveStrategies, getStrategyDeliveries, getDeliveryIssues, updateDeliveryStatus, fetchEffectiveWorkflow, updateIssueStatus } from './supabase.js';
9
- import { getActiveTeams } from './strategy-executor.js';
10
- import { hasStrategyWorktree } from './strategy-worktree-state.js';
8
+ import { getActiveFocuses, getFocusDeliveries, getDeliveryIssues, updateDeliveryStatus, fetchEffectiveWorkflow, updateIssueStatus } from './supabase.js';
9
+ import { getActiveTeams } from './focus-executor.js';
10
+ import { hasFocusWorktree } from './focus-worktree-state.js';
11
11
  import { isStatusAgentActionable } from './stage-classifier.js';
12
12
  import { OPEN_ISSUE_STATUSES, ACTIVE_WORK_STATUSES, filterWorkIssues, filterContextGroups } from './constants.js';
13
13
  /**
14
14
  * Auto-advance deliveries to verify when all issues are Done.
15
15
  *
16
- * For each active team's strategy, checks deliveries in coding/queued status.
16
+ * For each active team's focus, checks deliveries in coding/queued status.
17
17
  * If ALL issues for such a delivery are Done (0 open), advances it to verify
18
18
  * via the workflow transition. This prevents keep-alive churn where the agent
19
19
  * is woken with "actionable" deliveries that have no remaining work.
20
20
  *
21
- * Also checks teamless strategies (after daemon restart) where deliveries
21
+ * Also checks teamless focuses (after daemon restart) where deliveries
22
22
  * may be stuck in coding with all issues Done.
23
23
  */
24
24
  export async function checkDeliveryAutoAdvance(config) {
25
- // Only auto-advance for teamless strategies (e.g., after daemon restart where
25
+ // Only auto-advance for teamless focuses (e.g., after daemon restart where
26
26
  // deliveries are stuck in coding with all issues Done and no team will ever
27
27
  // run advanceDeliveryStatuses). Active teams handle their own advancement
28
- // via strategy-completion.ts -- auto-advancing while a team is executing
28
+ // via focus-completion.ts -- auto-advancing while a team is executing
29
29
  // causes coding->verify->iterating churn.
30
30
  const activeTeams = getActiveTeams();
31
- const strategyIds = new Set();
31
+ const focusIds = new Set();
32
32
  try {
33
- const activeStrategies = await getActiveStrategies(config.organizationId, config.productId);
34
- for (const strategy of activeStrategies) {
35
- // Skip strategies with active teams -- they manage their own advancement
36
- if (activeTeams.has(strategy.strategy_id))
33
+ const activeFocuses = await getActiveFocuses(config.organizationId, config.productId);
34
+ for (const focus of activeFocuses) {
35
+ // Skip focuses with active teams -- they manage their own advancement
36
+ if (activeTeams.has(focus.focus_id))
37
37
  continue;
38
- if (hasStrategyWorktree(strategy.strategy_id)) {
39
- strategyIds.add(strategy.strategy_id);
38
+ if (hasFocusWorktree(focus.focus_id)) {
39
+ focusIds.add(focus.focus_id);
40
40
  }
41
41
  }
42
42
  }
43
43
  catch (err) {
44
- console.warn('[listener] Auto-advance: failed to fetch active strategies:', err.message);
44
+ console.warn('[listener] Auto-advance: failed to fetch active focuses:', err.message);
45
45
  }
46
- for (const strategyId of strategyIds) {
46
+ for (const focusId of focusIds) {
47
47
  try {
48
- const deliveries = await getStrategyDeliveries(strategyId);
48
+ const deliveries = await getFocusDeliveries(focusId);
49
49
  for (const delivery of deliveries) {
50
50
  if (!isStatusAgentActionable(delivery.executionStatus ?? ''))
51
51
  continue;
@@ -101,7 +101,7 @@ export async function checkDeliveryAutoAdvance(config) {
101
101
  }
102
102
  }
103
103
  catch (err) {
104
- console.warn(`[listener] Auto-advance: failed to fetch deliveries for strategy ${strategyId}:`, err.message);
104
+ console.warn(`[listener] Auto-advance: failed to fetch deliveries for focus ${focusId}:`, err.message);
105
105
  }
106
106
  }
107
107
  }
@@ -120,7 +120,7 @@ export async function checkVerifyDeliveriesForOpenIssues(config) {
120
120
  const activeTeams = getActiveTeams();
121
121
  if (activeTeams.size === 0)
122
122
  return;
123
- for (const [strategyId, team] of activeTeams) {
123
+ for (const [focusId, team] of activeTeams) {
124
124
  if (team.phase !== 'executing')
125
125
  continue;
126
126
  // Only operate on teams belonging to this product — without this guard,
@@ -128,7 +128,7 @@ export async function checkVerifyDeliveriesForOpenIssues(config) {
128
128
  if (team.productId !== config.productId)
129
129
  continue;
130
130
  try {
131
- const deliveries = await getStrategyDeliveries(strategyId);
131
+ const deliveries = await getFocusDeliveries(focusId);
132
132
  const verifyDeliveries = deliveries.filter(d => d.executionStatus === 'verify');
133
133
  for (const delivery of verifyDeliveries) {
134
134
  try {
@@ -172,7 +172,7 @@ export async function checkVerifyDeliveriesForOpenIssues(config) {
172
172
  }
173
173
  }
174
174
  catch (err) {
175
- console.warn(`[listener] Failed to check verify deliveries for "${team.strategyName}":`, err.message);
175
+ console.warn(`[listener] Failed to check verify deliveries for "${team.focusName}":`, err.message);
176
176
  }
177
177
  }
178
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../src/listener-auto-advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener-auto-advance.js","sourceRoot":"","sources":["../src/listener-auto-advance.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Polling-based listener for strategy assignments.
2
+ * Polling-based listener for focus assignments.
3
3
  *
4
4
  * Since we're using HTTP API instead of direct Supabase access,
5
- * we poll for ready strategies instead of using Realtime subscriptions.
6
- * Agent assignment is at the strategy level — the daemon spawns a
7
- * single Agent Team per strategy that manages all deliveries.
5
+ * we poll for ready focuses instead of using Realtime subscriptions.
6
+ * Agent assignment is at the focus level — the daemon spawns a
7
+ * single Agent Team per focus that manages all deliveries.
8
8
  */
9
9
  import type { DaemonConfig } from './types.js';
10
10
  /**
@@ -12,7 +12,7 @@ import type { DaemonConfig } from './types.js';
12
12
  */
13
13
  export declare function initListener(daemonConfig: DaemonConfig): Promise<void>;
14
14
  /**
15
- * Start polling for ready strategies.
15
+ * Start polling for ready focuses.
16
16
  */
17
17
  export declare function startDeliveryListener(): void;
18
18
  /**
@@ -21,14 +21,14 @@ export declare function startDeliveryListener(): void;
21
21
  */
22
22
  export declare function startSessionListener(): void;
23
23
  /**
24
- * Process any strategies ready for agent work.
24
+ * Process any focuses ready for agent work.
25
25
  *
26
- * For each ready strategy without an active team, spawns a single
27
- * Agent Team that manages all deliveries within that strategy.
28
- * Also detects strategies that have been deactivated and shuts down
26
+ * For each ready focus without an active team, spawns a single
27
+ * Agent Team that manages all deliveries within that focus.
28
+ * Also detects focuses that have been deactivated and shuts down
29
29
  * their teams.
30
30
  */
31
- export declare function processReadyStrategies(): Promise<void>;
31
+ export declare function processReadyFocuses(): Promise<void>;
32
32
  /**
33
33
  * Check that every session recorded as 'starting' or 'running' in the DB
34
34
  * has a corresponding active team in memory.
@@ -36,7 +36,7 @@ export declare function processReadyStrategies(): Promise<void>;
36
36
  * If a session has been in a live status for more than 2 minutes but no
37
37
  * active team claims it (e.g. the process was OOM-killed or the close
38
38
  * handler failed to update the DB), the session is marked as 'failed' so
39
- * subsequent poll cycles can respawn the strategy.
39
+ * subsequent poll cycles can respawn the focus.
40
40
  */
41
41
  export declare function checkSessionHealth(): Promise<void>;
42
42
  /**
@@ -48,7 +48,7 @@ export declare function stopListeners(): Promise<void>;
48
48
  */
49
49
  export declare function refreshRoles(): Promise<void>;
50
50
  /**
51
- * Trigger an immediate check for ready strategies.
51
+ * Trigger an immediate check for ready focuses.
52
52
  * Useful after a session completes to auto-advance to next delivery.
53
53
  * No-ops during daemon shutdown to prevent spawn attempts after the
54
54
  * resource governor has been shut down.
@@ -1 +1 @@
1
- {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAoD1D;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAmC5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqH5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoIxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
1
+ {"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,YAAY,CAAC;AAqD1D;;GAEG;AACH,wBAAsB,YAAY,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuC5C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAqHzD;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoIxD;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED;;GAEG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAUlD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAGnC"}
package/dist/listener.js CHANGED
@@ -1,15 +1,16 @@
1
1
  /**
2
- * Polling-based listener for strategy assignments.
2
+ * Polling-based listener for focus assignments.
3
3
  *
4
4
  * Since we're using HTTP API instead of direct Supabase access,
5
- * we poll for ready strategies instead of using Realtime subscriptions.
6
- * Agent assignment is at the strategy level — the daemon spawns a
7
- * single Agent Team per strategy that manages all deliveries.
5
+ * we poll for ready focuses instead of using Realtime subscriptions.
6
+ * Agent assignment is at the focus level — the daemon spawns a
7
+ * single Agent Team per focus that manages all deliveries.
8
8
  */
9
- import { getAgentRoles, getReadyStrategies } from './supabase.js';
9
+ import { getAgentRoles, getReadyFocuses } from './supabase.js';
10
10
  import { checkDeliveryAutoAdvance, checkVerifyDeliveriesForOpenIssues } from './listener-auto-advance.js';
11
- import { spawnStrategyTeam, hasActiveTeam, getActiveTeamCount, getActiveTeams, checkAndMergeCompletedDeliveries } from './strategy-executor.js';
12
- import { checkResolvedMergeConflicts } from './strategy-merge.js';
11
+ import { tickReviewDefectLoop } from './review-defect-detector.js';
12
+ import { spawnFocusTeam, hasActiveTeam, getActiveTeamCount, getActiveTeams, checkAndMergeCompletedDeliveries } from './focus-executor.js';
13
+ import { checkResolvedMergeConflicts } from './focus-merge.js';
13
14
  import { runCascadeChecks } from './state-cascade.js';
14
15
  import { recordActivity } from './heartbeat.js';
15
16
  import { safeInterval, withRetry } from '@telora/daemon-core';
@@ -17,17 +18,17 @@ import { checkQaRequests, checkProductQaRequests, checkSavePointQaRequests } fro
17
18
  import { checkSavePointRestoreRequests } from './save-point-restore.js';
18
19
  import { getActiveSessions, updateSession } from './queries/sessions.js';
19
20
  import { getRunningAgents } from './agent-state.js';
20
- import { ensureStrategyWorktrees, checkForDeactivatedStrategies } from './strategy-lifecycle.js';
21
+ import { ensureFocusWorktrees, checkForDeactivatedFocuses } from './focus-lifecycle.js';
21
22
  import { detectGitStates } from './git-state-detector.js';
22
- import { detectStrategyMerges } from './merge-detector.js';
23
+ import { detectFocusMerges } from './merge-detector.js';
23
24
  import { checkControlStateChanges } from './control-state.js';
24
25
  import { isDaemonShuttingDown } from './shutdown-state.js';
25
26
  import { configForProduct, findProduct } from './config.js';
26
27
  import { checkDirectives, seedLastProcessedStage } from './directive-executor.js';
27
- import { getActiveStrategies } from './queries/deliveries.js';
28
- // Track strategies that have been logged as idle (no actionable deliveries).
28
+ import { getActiveFocuses } from './queries/deliveries.js';
29
+ // Track focuses that have been logged as idle (no actionable deliveries).
29
30
  // Only log on state change: first skip after an active session or after startup.
30
- const idleLoggedStrategies = new Set();
31
+ const idleLoggedFocuses = new Set();
31
32
  let config = null;
32
33
  const roles = new Map();
33
34
  let pollInterval = null;
@@ -58,14 +59,14 @@ export async function initListener(daemonConfig) {
58
59
  console.log(`Loaded ${roles.size} agent roles`);
59
60
  // Seed directive executor with current stage IDs to prevent
60
61
  // re-firing directives for stages already processed before restart.
61
- // Review spawning is handled by processReviewStrategies (not directives).
62
+ // Review spawning is handled by processReviewFocuses (not directives).
62
63
  let seededCount = 0;
63
64
  for (const product of daemonConfig.products) {
64
65
  try {
65
- const strategies = await getActiveStrategies(daemonConfig.organizationId, product.id);
66
- for (const strategy of strategies) {
67
- if (strategy.current_workflow_stage_id) {
68
- seedLastProcessedStage(strategy.strategy_id, strategy.current_workflow_stage_id);
66
+ const focuses = await getActiveFocuses(daemonConfig.organizationId, product.id);
67
+ for (const focus of focuses) {
68
+ if (focus.current_workflow_stage_id) {
69
+ seedLastProcessedStage(focus.focus_id, focus.current_workflow_stage_id);
69
70
  seededCount++;
70
71
  }
71
72
  }
@@ -75,7 +76,7 @@ export async function initListener(daemonConfig) {
75
76
  }
76
77
  }
77
78
  if (seededCount > 0) {
78
- console.log(`[listener] Seeded directive stage tracking for ${seededCount} active strategies`);
79
+ console.log(`[listener] Seeded directive stage tracking for ${seededCount} active focuses`);
79
80
  }
80
81
  }
81
82
  catch (error) {
@@ -90,40 +91,44 @@ export async function initListener(daemonConfig) {
90
91
  }
91
92
  }
92
93
  /**
93
- * Start polling for ready strategies.
94
+ * Start polling for ready focuses.
94
95
  */
95
96
  export function startDeliveryListener() {
96
97
  if (!config) {
97
98
  throw new Error('Listener not initialized. Call initListener first.');
98
99
  }
99
100
  // Initial check
100
- processReadyStrategies();
101
+ processReadyFocuses();
101
102
  // Start polling with error boundary — check for work and main advancement
102
103
  // Per-product functions are called with product-scoped configs so that
103
104
  // config.productId and config.repoPath resolve to the correct product.
104
105
  pollInterval = safeInterval(async () => {
105
106
  for (const product of config.products) {
106
107
  const pc = configForProduct(config, product);
107
- await ensureStrategyWorktrees(pc, roles);
108
- await checkForDeactivatedStrategies(pc);
108
+ await ensureFocusWorktrees(pc, roles);
109
+ await checkForDeactivatedFocuses(pc);
109
110
  await checkControlStateChanges(pc);
110
111
  await checkDeliveryAutoAdvance(pc);
111
112
  await checkVerifyDeliveriesForOpenIssues(pc);
113
+ // Drive the review-defect re-engagement loop: move in_review -> building
114
+ // when review filed open defects, and building -> verify when all
115
+ // review-filed defects are Done.
116
+ await tickReviewDefectLoop(pc);
112
117
  }
113
- await processReadyStrategies();
118
+ await processReadyFocuses();
114
119
  await checkAndMergeCompletedDeliveries(config);
115
120
  await runCascadeChecks(config);
116
121
  await checkDirectives(config);
117
122
  await checkResolvedMergeConflicts(config);
118
123
  await detectGitStates(config);
119
- await detectStrategyMerges(config);
124
+ await detectFocusMerges(config);
120
125
  await checkQaRequests(config);
121
126
  await checkProductQaRequests(config);
122
127
  await checkSavePointQaRequests(config);
123
128
  await checkSavePointRestoreRequests(config);
124
129
  await checkSessionHealth();
125
- }, POLL_INTERVAL_MS, 'strategy-poll');
126
- console.log(`Started strategy polling (every ${POLL_INTERVAL_MS / 1000}s)`);
130
+ }, POLL_INTERVAL_MS, 'focus-poll');
131
+ console.log(`Started focus polling (every ${POLL_INTERVAL_MS / 1000}s)`);
127
132
  }
128
133
  /**
129
134
  * Start session listener (no-op for polling mode).
@@ -133,18 +138,18 @@ export function startSessionListener() {
133
138
  if (!config) {
134
139
  throw new Error('Listener not initialized. Call initListener first.');
135
140
  }
136
- // In polling mode, session changes are handled by checking ready strategies
137
- console.log('Session monitoring via polling (included in strategy polling)');
141
+ // In polling mode, session changes are handled by checking ready focuses
142
+ console.log('Session monitoring via polling (included in focus polling)');
138
143
  }
139
144
  /**
140
- * Process any strategies ready for agent work.
145
+ * Process any focuses ready for agent work.
141
146
  *
142
- * For each ready strategy without an active team, spawns a single
143
- * Agent Team that manages all deliveries within that strategy.
144
- * Also detects strategies that have been deactivated and shuts down
147
+ * For each ready focus without an active team, spawns a single
148
+ * Agent Team that manages all deliveries within that focus.
149
+ * Also detects focuses that have been deactivated and shuts down
145
150
  * their teams.
146
151
  */
147
- export async function processReadyStrategies() {
152
+ export async function processReadyFocuses() {
148
153
  if (!config)
149
154
  return;
150
155
  // Prevent concurrent processing, and skip cycles during health check backoff
@@ -172,51 +177,51 @@ export async function processReadyStrategies() {
172
177
  recordActivity();
173
178
  // Snapshot active teams before processing (for idle detection)
174
179
  const previouslyActiveIds = new Set(getActiveTeams().keys());
175
- // Deactivation detection is now handled by checkForDeactivatedStrategies()
176
- // in the poll loop (called before processReadyStrategies).
177
- // Get ready strategies across all configured products
178
- const readyStrategies = [];
180
+ // Deactivation detection is now handled by checkForDeactivatedFocuses()
181
+ // in the poll loop (called before processReadyFocuses).
182
+ // Get ready focuses across all configured products
183
+ const readyFocuses = [];
179
184
  for (const product of config.products) {
180
185
  try {
181
- const strategies = await getReadyStrategies(config.organizationId, product.id);
182
- readyStrategies.push(...strategies);
186
+ const focuses = await getReadyFocuses(config.organizationId, product.id);
187
+ readyFocuses.push(...focuses);
183
188
  }
184
189
  catch (err) {
185
- console.warn(`[listener] Failed to fetch ready strategies for product ${product.id}: ${err.message}`);
190
+ console.warn(`[listener] Failed to fetch ready focuses for product ${product.id}: ${err.message}`);
186
191
  }
187
192
  }
188
- // Track which strategies are ready this cycle (for idle logging)
189
- const readyStrategyIds = new Set(readyStrategies.map(s => s.strategy_id));
190
- // Idle queue logging: detect strategies that were previously active
193
+ // Track which focuses are ready this cycle (for idle logging)
194
+ const readyFocusIds = new Set(readyFocuses.map(s => s.focus_id));
195
+ // Idle queue logging: detect focuses that were previously active
191
196
  // but now have no ready deliveries. Only log on state change.
192
- for (const strategyId of previouslyActiveIds) {
193
- if (!readyStrategyIds.has(strategyId) && !hasActiveTeam(strategyId) && !idleLoggedStrategies.has(strategyId)) {
197
+ for (const focusId of previouslyActiveIds) {
198
+ if (!readyFocusIds.has(focusId) && !hasActiveTeam(focusId) && !idleLoggedFocuses.has(focusId)) {
194
199
  const nextPollSec = POLL_INTERVAL_MS / 1000;
195
- console.log(`[listener] Strategy queue idle: "${strategyId}" -- no actionable deliveries, next poll in ${nextPollSec}s`);
196
- idleLoggedStrategies.add(strategyId);
200
+ console.log(`[listener] Focus queue idle: "${focusId}" -- no actionable deliveries, next poll in ${nextPollSec}s`);
201
+ idleLoggedFocuses.add(focusId);
197
202
  }
198
203
  }
199
- if (readyStrategies.length === 0) {
204
+ if (readyFocuses.length === 0) {
200
205
  return;
201
206
  }
202
207
  const productLabel = config.products.length > 1
203
208
  ? ` across ${config.products.length} product(s)`
204
209
  : '';
205
- console.log(`Found ${readyStrategies.length} ready strategies${productLabel}`);
206
- for (const strategy of readyStrategies) {
207
- const role = roles.get(strategy.assigned_agent_role_id);
210
+ console.log(`Found ${readyFocuses.length} ready focuses${productLabel}`);
211
+ for (const focus of readyFocuses) {
212
+ const role = roles.get(focus.assigned_agent_role_id);
208
213
  if (!role) {
209
- console.error(`Unknown agent role: ${strategy.assigned_agent_role_id}`);
214
+ console.error(`Unknown agent role: ${focus.assigned_agent_role_id}`);
210
215
  continue;
211
216
  }
212
- // Check if we already have an active team for this strategy
213
- if (hasActiveTeam(strategy.strategy_id)) {
214
- // Strategy is active -- clear idle state so we re-log if it goes idle again
215
- idleLoggedStrategies.delete(strategy.strategy_id);
217
+ // Check if we already have an active team for this focus
218
+ if (hasActiveTeam(focus.focus_id)) {
219
+ // Focus is active -- clear idle state so we re-log if it goes idle again
220
+ idleLoggedFocuses.delete(focus.focus_id);
216
221
  continue;
217
222
  }
218
- // Check spawn cooldown: skip strategies that were recently torn down
219
- if (isInSpawnCooldown(strategy.strategy_id)) {
223
+ // Check spawn cooldown: skip focuses that were recently torn down
224
+ if (isInSpawnCooldown(focus.focus_id)) {
220
225
  continue;
221
226
  }
222
227
  // Check total capacity
@@ -225,25 +230,25 @@ export async function processReadyStrategies() {
225
230
  break;
226
231
  }
227
232
  // Clear idle state before spawn attempt -- if spawn succeeds,
228
- // the strategy is active. If it skips (no actionable deliveries),
229
- // spawnStrategyTeam logs the skip and we mark it idle here.
230
- const wasIdle = idleLoggedStrategies.has(strategy.strategy_id);
231
- idleLoggedStrategies.delete(strategy.strategy_id);
233
+ // the focus is active. If it skips (no actionable deliveries),
234
+ // spawnFocusTeam logs the skip and we mark it idle here.
235
+ const wasIdle = idleLoggedFocuses.has(focus.focus_id);
236
+ idleLoggedFocuses.delete(focus.focus_id);
232
237
  // Use product-scoped config so the team uses the correct repoPath
233
- const productEntry = strategy.product_id ? findProduct(config, strategy.product_id) : undefined;
238
+ const productEntry = focus.product_id ? findProduct(config, focus.product_id) : undefined;
234
239
  const spawnConfig = productEntry ? configForProduct(config, productEntry) : config;
235
- // Spawn a strategy team (one team per strategy)
236
- await spawnStrategyTeam({ config: spawnConfig, strategyId: strategy.strategy_id, strategyName: strategy.strategy_name, role, pipelineConfig: strategy.pipeline_config, readOnly: strategy.read_only, lastClaudeSessionId: strategy.last_claude_session_id });
240
+ // Spawn a focus team (one team per focus)
241
+ await spawnFocusTeam({ config: spawnConfig, focusId: focus.focus_id, focusName: focus.focus_name, role, pipelineConfig: focus.pipeline_config, readOnly: focus.read_only, lastClaudeSessionId: focus.last_claude_session_id });
237
242
  // If the spawn was skipped (no active team after spawn), mark as idle
238
- if (!hasActiveTeam(strategy.strategy_id) && !wasIdle) {
243
+ if (!hasActiveTeam(focus.focus_id) && !wasIdle) {
239
244
  const nextPollSec = POLL_INTERVAL_MS / 1000;
240
- console.log(`[listener] Strategy queue idle: "${strategy.strategy_name}" -- no actionable deliveries after pre-spawn check, next poll in ${nextPollSec}s`);
241
- idleLoggedStrategies.add(strategy.strategy_id);
245
+ console.log(`[listener] Focus queue idle: "${focus.focus_name}" -- no actionable deliveries after pre-spawn check, next poll in ${nextPollSec}s`);
246
+ idleLoggedFocuses.add(focus.focus_id);
242
247
  }
243
248
  }
244
249
  }
245
250
  catch (error) {
246
- console.error('Error processing ready strategies:', error);
251
+ console.error('Error processing ready focuses:', error);
247
252
  }
248
253
  finally {
249
254
  pollState = healthCheckConsecutiveFailures > 0 ? 'backing_off' : 'idle';
@@ -256,7 +261,7 @@ export async function processReadyStrategies() {
256
261
  * If a session has been in a live status for more than 2 minutes but no
257
262
  * active team claims it (e.g. the process was OOM-killed or the close
258
263
  * handler failed to update the DB), the session is marked as 'failed' so
259
- * subsequent poll cycles can respawn the strategy.
264
+ * subsequent poll cycles can respawn the focus.
260
265
  */
261
266
  export async function checkSessionHealth() {
262
267
  const GRACE_PERIOD_MS = 2 * 60 * 1000; // 2 minutes
@@ -326,7 +331,7 @@ export async function checkSessionHealth() {
326
331
  // in-memory tracking is stale but the process is genuinely running.
327
332
  //
328
333
  // Note: full re-registration into activeTeams is not attempted here because
329
- // StrategyTeamState requires stdin handles, execution config, pipeline config,
334
+ // FocusTeamState requires stdin handles, execution config, pipeline config,
330
335
  // and other fields that cannot be reconstructed from a DB session row alone.
331
336
  // The process will continue running; the next daemon restart will recover state.
332
337
  const pid = session.pid;
@@ -336,7 +341,7 @@ export async function checkSessionHealth() {
336
341
  const runningAgents = getRunningAgents();
337
342
  const inRunningAgents = runningAgents.has(session.id);
338
343
  console.warn(`[health] Session ${session.id} not tracked in-memory but PID ${pid} is alive — skipping orphan detection` +
339
- ` (strategy=${session.strategy_id ?? 'none'}, inRunningAgents=${inRunningAgents})`);
344
+ ` (focus=${session.focus_id ?? 'none'}, inRunningAgents=${inRunningAgents})`);
340
345
  continue;
341
346
  }
342
347
  catch {
@@ -346,7 +351,7 @@ export async function checkSessionHealth() {
346
351
  staleSessionIds.push(session.id);
347
352
  console.warn(`[health] Orphaned session detected: ${session.id} ` +
348
353
  `(status=${session.status}, age=${Math.round(sessionAgeMs / 1000)}s, ` +
349
- `strategy=${session.strategy_id ?? 'none'}, delivery=${session.delivery_id ?? 'none'})`);
354
+ `focus=${session.focus_id ?? 'none'}, delivery=${session.delivery_id ?? 'none'})`);
350
355
  }
351
356
  if (staleSessionIds.length === 0) {
352
357
  return;
@@ -392,7 +397,7 @@ export async function refreshRoles() {
392
397
  console.log(`Refreshed ${roles.size} agent roles`);
393
398
  }
394
399
  /**
395
- * Trigger an immediate check for ready strategies.
400
+ * Trigger an immediate check for ready focuses.
396
401
  * Useful after a session completes to auto-advance to next delivery.
397
402
  * No-ops during daemon shutdown to prevent spawn attempts after the
398
403
  * resource governor has been shut down.
@@ -400,7 +405,7 @@ export async function refreshRoles() {
400
405
  export function triggerCheck() {
401
406
  if (isDaemonShuttingDown())
402
407
  return;
403
- processReadyStrategies();
408
+ processReadyFocuses();
404
409
  }
405
410
  // Note: Detection of completed guard agents and re-evaluation of paused deliveries
406
411
  // is handled by the Human Routing UI. When a human makes a routing decision,
@@ -1 +1 @@
1
- {"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"listener.js","sourceRoot":"","sources":["../src/listener.ts"],"names":[],"mappings":"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"}