@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
@@ -1,31 +1,32 @@
1
1
  /**
2
2
  * Directive Executor.
3
3
  *
4
- * Detects strategy workflow stage changes and executes the stage's
4
+ * Detects focus workflow stage changes and executes the stage's
5
5
  * agent_directive. For inject mode: writes /compact + prompt via stdin.
6
6
  * For spawn mode: terminates current session, assembles directive content,
7
7
  * and stores it for the next spawn cycle to deliver.
8
8
  */
9
- import { getActiveTeams } from './strategy-team-state.js';
9
+ import { getActiveTeams } from './focus-team-state.js';
10
10
  import { resolveAssemblyRecipe } from './assembly-engine.js';
11
11
  // Import resolvers to ensure they're registered
12
12
  import './assembly-resolvers.js';
13
- import { fetchStrategyWorkflow, fetchStrategyWorkflowWithTransitions, getStrategyDeliveries } from './queries/strategies.js';
13
+ import { fetchFocusWorkflow, fetchFocusWorkflowWithTransitions, getFocusDeliveries, updateFocusWorkflowStage, } from './queries/focuses.js';
14
+ import { deriveFocusPhase } from './focus-phase.js';
14
15
  import { sendMessage } from '@telora/daemon-core';
15
- import { terminateTeam, waitForTeamExit } from './strategy-executor.js';
16
- import { getActiveStrategies } from './supabase.js';
16
+ import { terminateTeam, waitForTeamExit } from './focus-executor.js';
17
+ import { getActiveFocuses } from './supabase.js';
17
18
  import { configForProduct } from './config.js';
18
19
  import { fetchTransitionGuards } from './queries/guards.js';
19
20
  import { executeAdvanceLinkedInjections } from './trigger-executor.js';
20
21
  // ── Stage tracking ───────────────────────────────────────────────
21
22
  /**
22
- * Track the last-processed stage ID per strategy to prevent
23
+ * Track the last-processed stage ID per focus to prevent
23
24
  * double-injection on daemon restart or rapid poll cycles.
24
25
  */
25
26
  const lastProcessedStages = new Map();
26
- /** Seed the last-processed stage for a strategy (used on daemon startup). */
27
- export function seedLastProcessedStage(strategyId, stageId) {
28
- lastProcessedStages.set(strategyId, stageId);
27
+ /** Seed the last-processed stage for a focus (used on daemon startup). */
28
+ export function seedLastProcessedStage(focusId, stageId) {
29
+ lastProcessedStages.set(focusId, stageId);
29
30
  }
30
31
  /** Get the last-processed stages map (for persistence). */
31
32
  export function getLastProcessedStages() {
@@ -33,38 +34,38 @@ export function getLastProcessedStages() {
33
34
  }
34
35
  const pendingSpawnDirectives = new Map();
35
36
  /**
36
- * Consume a pending spawn directive for a strategy.
37
+ * Consume a pending spawn directive for a focus.
37
38
  * Returns the directive content and removes it from the map.
38
- * Called by spawnStrategyTeam after spawning to send the directive.
39
+ * Called by spawnFocusTeam after spawning to send the directive.
39
40
  */
40
- export function consumePendingSpawnDirective(strategyId) {
41
- const directive = pendingSpawnDirectives.get(strategyId);
41
+ export function consumePendingSpawnDirective(focusId) {
42
+ const directive = pendingSpawnDirectives.get(focusId);
42
43
  if (directive) {
43
- pendingSpawnDirectives.delete(strategyId);
44
+ pendingSpawnDirectives.delete(focusId);
44
45
  }
45
46
  return directive;
46
47
  }
47
48
  /**
48
- * Check if a strategy has a pending spawn directive.
49
+ * Check if a focus has a pending spawn directive.
49
50
  * Used by the spawn guard to skip actionable-delivery checks.
50
51
  */
51
- export function hasPendingSpawnDirective(strategyId) {
52
- return pendingSpawnDirectives.has(strategyId);
52
+ export function hasPendingSpawnDirective(focusId) {
53
+ return pendingSpawnDirectives.has(focusId);
53
54
  }
54
55
  // ── Context assembly helper ──────────────────────────────────────
55
56
  /**
56
57
  * Assemble directive content from a StageDirective's recipe and prompt.
57
- * Shared by both inject and spawn modes, and by strategy-executor for
58
+ * Shared by both inject and spawn modes, and by focus-executor for
58
59
  * initial spawn with a stage directive.
59
60
  */
60
- export async function assembleDirectiveContent(config, strategyId, directive, worktreePath) {
61
+ export async function assembleDirectiveContent(config, focusId, directive, worktreePath) {
61
62
  const recipe = [...directive.assembly];
62
63
  let assembledContext = '';
63
64
  if (recipe.length > 0) {
64
65
  try {
65
- const deliveries = await getStrategyDeliveries(strategyId);
66
+ const deliveries = await getFocusDeliveries(focusId);
66
67
  const assemblyContext = {
67
- strategyId,
68
+ focusId,
68
69
  deliveryIds: deliveries.map(d => d.id),
69
70
  worktreePath,
70
71
  config,
@@ -74,7 +75,7 @@ export async function assembleDirectiveContent(config, strategyId, directive, wo
74
75
  assembledContext = await resolveAssemblyRecipe(recipe, assemblyContext);
75
76
  }
76
77
  catch (err) {
77
- console.warn(`[directive-executor] Assembly resolution failed for strategy ${strategyId.slice(0, 8)}: ${err.message}`);
78
+ console.warn(`[directive-executor] Assembly resolution failed for focus ${focusId.slice(0, 8)}: ${err.message}`);
78
79
  }
79
80
  }
80
81
  const parts = [];
@@ -102,40 +103,40 @@ export async function assembleDirectiveContent(config, strategyId, directive, wo
102
103
  }
103
104
  // ── Core execution ───────────────────────────────────────────────
104
105
  /**
105
- * Execute a stage directive for a strategy.
106
+ * Execute a stage directive for a focus.
106
107
  *
107
108
  * inject mode: sends /compact + assembled context + prompt to the active team's stdin.
108
109
  * spawn mode: terminates the current team, assembles directive content, stores for respawn.
109
110
  */
110
- async function executeDirective(config, strategyId, directive, strategyWorkflowStageId, stageName) {
111
- console.log(`[directive-executor] Executing ${directive.execution} directive for strategy ${strategyId.slice(0, 8)} ` +
112
- `(stage ${strategyWorkflowStageId.slice(0, 8)})`);
111
+ async function executeDirective(config, focusId, directive, focusWorkflowStageId, stageName) {
112
+ console.log(`[directive-executor] Executing ${directive.execution} directive for focus ${focusId.slice(0, 8)} ` +
113
+ `(stage ${focusWorkflowStageId.slice(0, 8)})`);
113
114
  const sessionType = stageName === 'in_review' ? 'review' : 'coding';
114
115
  if (directive.execution === 'inject') {
115
- await executeInjectDirective(config, strategyId, directive, sessionType);
116
+ await executeInjectDirective(config, focusId, directive, sessionType);
116
117
  }
117
118
  else if (directive.execution === 'spawn') {
118
- await executeSpawnDirective(config, strategyId, directive, sessionType);
119
+ await executeSpawnDirective(config, focusId, directive, sessionType);
119
120
  }
120
121
  else {
121
- console.warn(`[directive-executor] Unknown execution mode "${directive.execution}" for strategy ${strategyId.slice(0, 8)}`);
122
+ console.warn(`[directive-executor] Unknown execution mode "${directive.execution}" for focus ${focusId.slice(0, 8)}`);
122
123
  }
123
124
  }
124
125
  /**
125
126
  * Inject mode: send /compact + assembled context + prompt to the active team's stdin.
126
127
  */
127
- async function executeInjectDirective(config, strategyId, directive, sessionType = 'coding') {
128
+ async function executeInjectDirective(config, focusId, directive, sessionType = 'coding') {
128
129
  const activeTeams = getActiveTeams();
129
- const team = activeTeams.get(strategyId);
130
+ const team = activeTeams.get(focusId);
130
131
  if (!team || !team.leadStdin) {
131
132
  // No active team -- fall back to spawn mode so the directive is
132
133
  // delivered when the next team spawns (e.g., review triggered while
133
134
  // pipeline was stopped; the pipeline gets activated but the team
134
135
  // hasn't spawned yet by the time the directive executor runs).
135
- console.log(`[directive-executor] No active team for strategy ${strategyId.slice(0, 8)} -- ` +
136
+ console.log(`[directive-executor] No active team for focus ${focusId.slice(0, 8)} -- ` +
136
137
  `falling back to spawn directive for delivery on next spawn`);
137
- const message = await assembleDirectiveContent(config, strategyId, directive, null);
138
- pendingSpawnDirectives.set(strategyId, {
138
+ const message = await assembleDirectiveContent(config, focusId, directive, null);
139
+ pendingSpawnDirectives.set(focusId, {
139
140
  message,
140
141
  model: directive.model ?? null,
141
142
  sessionType,
@@ -145,13 +146,13 @@ async function executeInjectDirective(config, strategyId, directive, sessionType
145
146
  // Step 1: Send /compact command if recipe is specified
146
147
  if (directive.compact) {
147
148
  const compactMessage = `/compact Preserve: ${directive.compact.preserve}. Shed: ${directive.compact.shed}.`;
148
- console.log(`[directive-executor] Sending /compact for strategy ${strategyId.slice(0, 8)}`);
149
+ console.log(`[directive-executor] Sending /compact for focus ${focusId.slice(0, 8)}`);
149
150
  sendMessage(team.leadStdin, compactMessage);
150
151
  }
151
152
  // Step 2: Assemble and send context + prompt
152
- const fullMessage = await assembleDirectiveContent(config, strategyId, directive, team.worktreePath);
153
+ const fullMessage = await assembleDirectiveContent(config, focusId, directive, team.worktreePath);
153
154
  if (fullMessage.trim()) {
154
- console.log(`[directive-executor] Sending directive message to strategy ${strategyId.slice(0, 8)} ` +
155
+ console.log(`[directive-executor] Sending directive message to focus ${focusId.slice(0, 8)} ` +
155
156
  `(${fullMessage.length} chars)`);
156
157
  sendMessage(team.leadStdin, fullMessage);
157
158
  }
@@ -160,15 +161,15 @@ async function executeInjectDirective(config, strategyId, directive, sessionType
160
161
  * Spawn mode: terminate the current team, assemble directive content,
161
162
  * and store it for the next spawn cycle to deliver.
162
163
  */
163
- async function executeSpawnDirective(config, strategyId, directive, sessionType = 'coding') {
164
+ async function executeSpawnDirective(config, focusId, directive, sessionType = 'coding') {
164
165
  const activeTeams = getActiveTeams();
165
- const team = activeTeams.get(strategyId);
166
+ const team = activeTeams.get(focusId);
166
167
  const worktreePath = team?.worktreePath ?? null;
167
168
  // Assemble the directive content before terminating the team
168
169
  // (the team's worktree path is needed for git diff resolution)
169
- const message = await assembleDirectiveContent(config, strategyId, directive, worktreePath);
170
+ const message = await assembleDirectiveContent(config, focusId, directive, worktreePath);
170
171
  // Store the assembled content for the next spawn to pick up
171
- pendingSpawnDirectives.set(strategyId, {
172
+ pendingSpawnDirectives.set(focusId, {
172
173
  message,
173
174
  model: directive.model ?? null,
174
175
  sessionType,
@@ -177,37 +178,37 @@ async function executeSpawnDirective(config, strategyId, directive, sessionType
177
178
  // received this directive via the pending spawn directive mechanism.
178
179
  // Don't terminate and respawn — that causes a wasteful kill/restart cycle.
179
180
  if (team && team.startedAt && (Date.now() - team.startedAt.getTime()) < 60000) {
180
- console.log(`[directive-executor] Team for strategy ${strategyId.slice(0, 8)} was recently spawned ` +
181
+ console.log(`[directive-executor] Team for focus ${focusId.slice(0, 8)} was recently spawned ` +
181
182
  `(${Math.round((Date.now() - team.startedAt.getTime()) / 1000)}s ago) -- skipping spawn directive`);
182
183
  return;
183
184
  }
184
185
  // Terminate existing team if one exists
185
186
  if (team) {
186
- console.log(`[directive-executor] Terminating existing team for strategy ${strategyId.slice(0, 8)} before spawn`);
187
- terminateTeam(strategyId);
188
- const exited = await waitForTeamExit(strategyId, 30000);
187
+ console.log(`[directive-executor] Terminating existing team for focus ${focusId.slice(0, 8)} before spawn`);
188
+ terminateTeam(focusId);
189
+ const exited = await waitForTeamExit(focusId, 30000);
189
190
  if (!exited) {
190
- console.warn(`[directive-executor] Team for strategy ${strategyId.slice(0, 8)} did not exit cleanly`);
191
+ console.warn(`[directive-executor] Team for focus ${focusId.slice(0, 8)} did not exit cleanly`);
191
192
  }
192
193
  }
193
- console.log(`[directive-executor] Spawn directive stored for strategy ${strategyId.slice(0, 8)} ` +
194
+ console.log(`[directive-executor] Spawn directive stored for focus ${focusId.slice(0, 8)} ` +
194
195
  `(${message.length} chars, model: ${directive.model ?? 'default'}) -- team will respawn on next poll cycle`);
195
196
  }
196
- // ── Strategy transition trigger execution ────────────────────────
197
+ // ── Focus transition trigger execution ────────────────────────
197
198
  /**
198
- * Fire on_enter triggers for a strategy stage transition.
199
+ * Fire on_enter triggers for a focus stage transition.
199
200
  *
200
201
  * Looks up the workflow transition from lastStageId to currentStageId,
201
202
  * fetches triggers on that transition, and executes on_enter triggers.
202
203
  * Currently supports advance_linked_injections; other action types
203
204
  * are logged and skipped.
204
205
  */
205
- async function fireStrategyTransitionTriggers(strategyId, lastStageId, currentStageId) {
206
+ async function fireFocusTransitionTriggers(focusId, lastStageId, currentStageId) {
206
207
  if (!lastStageId)
207
- return; // First time seeing this strategy, no transition to fire
208
+ return; // First time seeing this focus, no transition to fire
208
209
  try {
209
210
  // Find the transition between the two stages
210
- const workflow = await fetchStrategyWorkflowWithTransitions(strategyId);
211
+ const workflow = await fetchFocusWorkflowWithTransitions(focusId);
211
212
  const transition = workflow.transitions?.find(t => t.from_stage_id === lastStageId && t.to_stage_id === currentStageId);
212
213
  if (!transition)
213
214
  return; // No transition found (possible for non-standard stage jumps)
@@ -219,73 +220,113 @@ async function fireStrategyTransitionTriggers(strategyId, lastStageId, currentSt
219
220
  for (const trigger of onEnterTriggers) {
220
221
  try {
221
222
  if (trigger.action_type === 'advance_linked_injections') {
222
- await executeAdvanceLinkedInjections(strategyId, trigger.action_config);
223
+ await executeAdvanceLinkedInjections(focusId, trigger.action_config);
223
224
  }
224
225
  else {
225
- console.log(`[directive-executor] Strategy trigger "${trigger.name}" (${trigger.action_type}) ` +
226
- `skipped -- not supported in strategy context`);
226
+ console.log(`[directive-executor] Focus trigger "${trigger.name}" (${trigger.action_type}) ` +
227
+ `skipped -- not supported in focus context`);
227
228
  }
228
229
  }
229
230
  catch (err) {
230
- console.warn(`[directive-executor] Failed to execute strategy trigger "${trigger.name}":`, err.message);
231
+ console.warn(`[directive-executor] Failed to execute focus trigger "${trigger.name}":`, err.message);
231
232
  }
232
233
  }
233
234
  }
234
235
  catch (err) {
235
- console.warn(`[directive-executor] Failed to fire strategy transition triggers for ${strategyId.slice(0, 8)}:`, err.message);
236
+ console.warn(`[directive-executor] Failed to fire focus transition triggers for ${focusId.slice(0, 8)}:`, err.message);
237
+ }
238
+ }
239
+ // ── Phase sync ───────────────────────────────────────────────────
240
+ /**
241
+ * Derive the focus's execution phase from its delivery aggregate and
242
+ * update product_focuses.current_workflow_stage_id if the derived phase
243
+ * differs from what's recorded.
244
+ *
245
+ * Returns the stage ID the focus should be in (post-sync). Falls back to
246
+ * the recorded stage id on error so callers don't have to handle a third
247
+ * "unknown" state.
248
+ */
249
+ export async function syncFocusPhase(focus) {
250
+ try {
251
+ const deliveries = await getFocusDeliveries(focus.focus_id);
252
+ const phase = deriveFocusPhase({
253
+ deliveries: deliveries.map((d) => ({ executionStatus: d.executionStatus })),
254
+ reviewRequestedAt: focus.review_requested_at,
255
+ });
256
+ const workflow = await fetchFocusWorkflow(focus.focus_id);
257
+ const stage = workflow.stages.find((s) => s.name === phase);
258
+ if (!stage) {
259
+ console.warn(`[directive-executor] No "${phase}" stage in workflow for focus ` +
260
+ `${focus.focus_id.slice(0, 8)}; phase sync skipped.`);
261
+ return focus.current_workflow_stage_id;
262
+ }
263
+ if (stage.id !== focus.current_workflow_stage_id) {
264
+ await updateFocusWorkflowStage(focus.focus_id, stage.id);
265
+ console.log(`[directive-executor] Focus ${focus.focus_id.slice(0, 8)} phase -> ${phase}`);
266
+ }
267
+ return stage.id;
268
+ }
269
+ catch (err) {
270
+ console.warn(`[directive-executor] Phase sync failed for focus ${focus.focus_id.slice(0, 8)}:`, err.message);
271
+ return focus.current_workflow_stage_id;
236
272
  }
237
273
  }
238
274
  // ── Poll loop integration ────────────────────────────────────────
239
275
  /**
240
- * Check all active strategies for stage changes with directives.
276
+ * Check all active focuses for stage changes with directives.
241
277
  *
242
- * Called from the daemon poll loop. For each active strategy:
243
- * 1. Get the strategy's current_workflow_stage_id
244
- * 2. If unchanged since last check, skip
245
- * 3. If the stage has an agent_directive, execute it
278
+ * Called from the daemon poll loop. For each active focus:
279
+ * 1. Sync the focus's execution phase from its delivery aggregate
280
+ * 2. Get the focus's current_workflow_stage_id
281
+ * 3. If unchanged since last check, skip
282
+ * 4. If the stage has an agent_directive, execute it
246
283
  */
247
284
  export async function checkDirectives(config) {
248
285
  for (const product of config.products) {
249
286
  const pc = configForProduct(config, product);
250
287
  try {
251
- const strategies = await getActiveStrategies(pc.organizationId, product.id);
252
- for (const strategy of strategies) {
253
- const currentStageId = strategy.current_workflow_stage_id;
254
- // Skip strategies without a workflow stage
288
+ const focuses = await getActiveFocuses(pc.organizationId, product.id);
289
+ for (const focus of focuses) {
290
+ // Derive the focus's execution phase from its delivery aggregate
291
+ // and update current_workflow_stage_id in the DB if it changed.
292
+ // The mutated value is used for the rest of this iteration.
293
+ focus.current_workflow_stage_id = await syncFocusPhase(focus);
294
+ const currentStageId = focus.current_workflow_stage_id;
295
+ // Skip focuses without a workflow stage
255
296
  if (!currentStageId)
256
297
  continue;
257
- // Skip if we already processed this stage for this strategy
258
- const lastStageId = lastProcessedStages.get(strategy.strategy_id);
298
+ // Skip if we already processed this stage for this focus
299
+ const lastStageId = lastProcessedStages.get(focus.focus_id);
259
300
  if (lastStageId === currentStageId)
260
301
  continue;
261
302
  // Stage has changed -- look up the stage's directive
262
303
  try {
263
- const workflow = await fetchStrategyWorkflow(strategy.strategy_id);
304
+ const workflow = await fetchFocusWorkflow(focus.focus_id);
264
305
  const stage = workflow.stages.find((s) => s.id === currentStageId);
265
306
  // Update tracking regardless of whether there's a directive
266
- lastProcessedStages.set(strategy.strategy_id, currentStageId);
307
+ lastProcessedStages.set(focus.focus_id, currentStageId);
267
308
  if (!stage) {
268
309
  console.warn(`[directive-executor] Stage ${currentStageId.slice(0, 8)} not found in workflow ` +
269
- `for strategy "${strategy.strategy_name}"`);
310
+ `for focus "${focus.focus_name}"`);
270
311
  continue;
271
312
  }
272
313
  if (!stage.agentDirective) {
273
314
  // No directive on this stage -- silent entry
274
- console.log(`[directive-executor] Strategy "${strategy.strategy_name}" entered stage "${stage.name}" (no directive)`);
315
+ console.log(`[directive-executor] Focus "${focus.focus_name}" entered stage "${stage.name}" (no directive)`);
275
316
  // Still fire on_enter triggers even without a directive
276
- await fireStrategyTransitionTriggers(strategy.strategy_id, lastStageId, currentStageId);
317
+ await fireFocusTransitionTriggers(focus.focus_id, lastStageId, currentStageId);
277
318
  continue;
278
319
  }
279
- console.log(`[directive-executor] Strategy "${strategy.strategy_name}" entered stage "${stage.name}" -- ` +
320
+ console.log(`[directive-executor] Focus "${focus.focus_name}" entered stage "${stage.name}" -- ` +
280
321
  `executing ${stage.agentDirective.execution} directive`);
281
- await executeDirective(pc, strategy.strategy_id, stage.agentDirective, currentStageId, stage.name);
322
+ await executeDirective(pc, focus.focus_id, stage.agentDirective, currentStageId, stage.name);
282
323
  // Fire on_enter triggers for this stage transition (e.g. advance_linked_injections)
283
- await fireStrategyTransitionTriggers(strategy.strategy_id, lastStageId, currentStageId);
324
+ await fireFocusTransitionTriggers(focus.focus_id, lastStageId, currentStageId);
284
325
  }
285
326
  catch (err) {
286
327
  // Update tracking even on error to avoid retry loops
287
- lastProcessedStages.set(strategy.strategy_id, currentStageId);
288
- console.warn(`[directive-executor] Failed to process directive for strategy "${strategy.strategy_name}":`, err.message);
328
+ lastProcessedStages.set(focus.focus_id, currentStageId);
329
+ console.warn(`[directive-executor] Failed to process directive for focus "${focus.focus_name}":`, err.message);
289
330
  }
290
331
  }
291
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../src/directive-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directive-executor.js","sourceRoot":"","sources":["../src/directive-executor.ts"],"names":[],"mappings":"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"}
@@ -35,12 +35,12 @@ export declare function buildFactoryEvaluationContext(params: {
35
35
  status: string;
36
36
  }>;
37
37
  gateResults: Array<{
38
- strategyId: string;
38
+ focusId: string;
39
39
  gateType: string;
40
40
  iteration: number;
41
41
  passed: boolean;
42
42
  }>;
43
- strategyId?: string;
43
+ focusId?: string;
44
44
  }): EvaluationContext;
45
45
  /**
46
46
  * Build evaluation context by querying current delivery state.
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,iBAAiB,CAqDpB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
1
+ {"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM7D;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,CAAC;IACF,SAAS,EAAE;QACT,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,iBAAiB,CAqDpB;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,iBAAiB,CAAC,CA4B5B"}
@@ -22,7 +22,7 @@ import { getDeliveryIssues, getDeliverySessionCount, } from './supabase.js';
22
22
  * gate results from its own queries).
23
23
  */
24
24
  export function buildFactoryEvaluationContext(params) {
25
- const { instanceState, blueprint, workUnits, gateResults, strategyId } = params;
25
+ const { instanceState, blueprint, workUnits, gateResults, focusId } = params;
26
26
  // Count work units by status
27
27
  const workUnitsByStatus = {};
28
28
  for (const wu of workUnits) {
@@ -37,9 +37,9 @@ export function buildFactoryEvaluationContext(params) {
37
37
  const wallClockLimitSeconds = blueprint.maxWallClockHours != null
38
38
  ? blueprint.maxWallClockHours * 3600
39
39
  : null;
40
- // Filter gate results by strategy if scoped
41
- const scopedGateResults = strategyId
42
- ? gateResults.filter(r => r.strategyId === strategyId)
40
+ // Filter gate results by focus if scoped
41
+ const scopedGateResults = focusId
42
+ ? gateResults.filter(r => r.focusId === focusId)
43
43
  : gateResults;
44
44
  // Build configValues for dynamic guard thresholds
45
45
  const configValues = {};
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Focus completion event handler - reacts to CompletionDetector events.
3
+ *
4
+ * Extracted from focus-executor.ts. Handles the decision logic when a
5
+ * team lead completes a work cycle: terminate if done, send more work, or
6
+ * (for planning teams) refresh from MCP-written deliveries / escalate.
7
+ */
8
+ import type { ChildProcess } from 'node:child_process';
9
+ import type { FocusTeamState, FocusDeliveryInfo, FocusIssueInfo, ProgressSnapshot } from './types.js';
10
+ import { CompletionDetector, type CompletionInfo } from './completion-detector.js';
11
+ /** Reason string emitted when a planning team produces no deliveries. */
12
+ export declare const PLANNING_NO_DELIVERIES_REASON = "planning produced no deliveries";
13
+ /** Reason string emitted when re-engagement is bounded by no-progress limit. */
14
+ export declare const NO_PROGRESS_ESCALATION_REASON = "team unable to make progress on remaining deliveries";
15
+ /**
16
+ * Maximum consecutive re-engagement cycles with no measurable progress before
17
+ * the scope-coverage guard escalates. Configurable via env so operators can
18
+ * relax or tighten the bound without a code change.
19
+ */
20
+ export declare const SCOPE_COVERAGE_NO_PROGRESS_LIMIT: number;
21
+ export interface CompletionEventContext {
22
+ focusId: string;
23
+ focusName: string;
24
+ teamState: FocusTeamState;
25
+ completionDetector: CompletionDetector;
26
+ proc: ChildProcess;
27
+ completionInfo: CompletionInfo;
28
+ }
29
+ /**
30
+ * Injectable dependencies. Defaults to the real implementations; tests can
31
+ * override them to assert behavior without spinning up Supabase/MCP.
32
+ */
33
+ export interface CompletionEventDeps {
34
+ getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
35
+ getFocusIssues: (focusId: string) => Promise<FocusIssueInfo[]>;
36
+ createEscalation: (params: {
37
+ organizationId: string;
38
+ sessionId: string;
39
+ issueId: string | null;
40
+ reasonType: string;
41
+ description: string;
42
+ whatWasTried?: string;
43
+ helpNeeded?: string;
44
+ }) => Promise<void>;
45
+ terminateTeam: (focusId: string) => boolean;
46
+ }
47
+ /**
48
+ * Escalate when a planning team finishes its initial turn without writing
49
+ * any deliveries via MCP. The team is then terminated -- no respawn.
50
+ *
51
+ * Exported so tests and sister deliveries can verify the contract.
52
+ */
53
+ export declare function escalatePlanningFailure(params: {
54
+ organizationId: string;
55
+ sessionId: string;
56
+ focusId: string;
57
+ focusName: string;
58
+ agentRoleId: string;
59
+ }, deps?: Pick<CompletionEventDeps, 'createEscalation'>): Promise<void>;
60
+ /**
61
+ * Handle a 'complete' event from the CompletionDetector.
62
+ *
63
+ * Queries current delivery and issue state to decide whether to:
64
+ * - Terminate the team (all deliveries terminal or no open issues remain), or
65
+ * - Send a mid-focus handoff message with remaining work.
66
+ *
67
+ * Extracted from the inline event callback in spawnFocusTeam to eliminate
68
+ * deep nesting inside an async Promise chain inside an event listener.
69
+ */
70
+ export declare function handleCompletionEvent(ctx: CompletionEventContext, deps?: CompletionEventDeps): Promise<void>;
71
+ /**
72
+ * Build a progress snapshot from the current focus state.
73
+ *
74
+ * Captures the two values that must change for the team to be making
75
+ * progress: each delivery's execution_status and the total issue count.
76
+ */
77
+ export declare function takeProgressSnapshot(deliveries: Pick<FocusDeliveryInfo, 'id' | 'executionStatus'>[], issues: {
78
+ id: string;
79
+ }[]): ProgressSnapshot;
80
+ /** True when two snapshots have identical delivery statuses and issue count. */
81
+ export declare function snapshotsEqual(a: ProgressSnapshot, b: ProgressSnapshot): boolean;
82
+ /**
83
+ * Escalate when the team has been re-engaged repeatedly without making
84
+ * any measurable progress on the remaining non-terminal deliveries.
85
+ *
86
+ * Exported so tests can verify the contract.
87
+ */
88
+ export declare function escalateNoProgress(params: {
89
+ organizationId: string;
90
+ sessionId: string;
91
+ focusId: string;
92
+ focusName: string;
93
+ agentRoleId: string;
94
+ cycles: number;
95
+ remaining: FocusDeliveryInfo[];
96
+ }, deps?: Pick<CompletionEventDeps, 'createEscalation'>): Promise<void>;
97
+ //# sourceMappingURL=focus-completion-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-completion-event.d.ts","sourceRoot":"","sources":["../src/focus-completion-event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtG,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAQnF,yEAAyE;AACzE,eAAO,MAAM,6BAA6B,oCAAoC,CAAC;AAE/E,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,yDACc,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,MAK3C,CAAC;AAIL,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,cAAc,CAAC;IAC1B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAC/D,gBAAgB,EAAE,CAAC,MAAM,EAAE;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AASD;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB,EACD,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAe,GAChE,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAID;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,GAAG,EAAE,sBAAsB,EAC3B,IAAI,GAAE,mBAAiC,GACtC,OAAO,CAAC,IAAI,CAAC,CAqIf;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,EAAE,EAC/D,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,GACvB,gBAAgB,CASlB;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAShF;AAID;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE;IACN,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC,EACD,IAAI,GAAE,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAe,GAChE,OAAO,CAAC,IAAI,CAAC,CAyCf"}