@telora/daemon 0.17.33 → 0.17.40

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 (344) hide show
  1. package/build-info.json +5 -3
  2. package/dist/assembly-engine.d.ts +6 -0
  3. package/dist/assembly-engine.d.ts.map +1 -1
  4. package/dist/assembly-engine.js +19 -0
  5. package/dist/assembly-engine.js.map +1 -1
  6. package/dist/assembly-resolvers.d.ts +17 -8
  7. package/dist/assembly-resolvers.d.ts.map +1 -1
  8. package/dist/assembly-resolvers.js +19 -8
  9. package/dist/assembly-resolvers.js.map +1 -1
  10. package/dist/cli/connect.d.ts.map +1 -1
  11. package/dist/cli/connect.js +4 -0
  12. package/dist/cli/connect.js.map +1 -1
  13. package/dist/cli/session-state.d.ts +10 -0
  14. package/dist/cli/session-state.d.ts.map +1 -1
  15. package/dist/cli/session-state.js +31 -0
  16. package/dist/cli/session-state.js.map +1 -1
  17. package/dist/completion/completion-decision.d.ts +83 -0
  18. package/dist/completion/completion-decision.d.ts.map +1 -0
  19. package/dist/completion/completion-decision.js +48 -0
  20. package/dist/completion/completion-decision.js.map +1 -0
  21. package/dist/completion/event-escalations.d.ts +97 -0
  22. package/dist/completion/event-escalations.d.ts.map +1 -0
  23. package/dist/completion/event-escalations.js +213 -0
  24. package/dist/completion/event-escalations.js.map +1 -0
  25. package/dist/completion/event.d.ts +1 -72
  26. package/dist/completion/event.d.ts.map +1 -1
  27. package/dist/completion/event.js +149 -329
  28. package/dist/completion/event.js.map +1 -1
  29. package/dist/completion/exit-classification.d.ts +82 -0
  30. package/dist/completion/exit-classification.d.ts.map +1 -0
  31. package/dist/completion/exit-classification.js +61 -0
  32. package/dist/completion/exit-classification.js.map +1 -0
  33. package/dist/completion/index.d.ts +14 -5
  34. package/dist/completion/index.d.ts.map +1 -1
  35. package/dist/completion/index.js +14 -5
  36. package/dist/completion/index.js.map +1 -1
  37. package/dist/completion/merge-phase.d.ts +114 -0
  38. package/dist/completion/merge-phase.d.ts.map +1 -0
  39. package/dist/completion/merge-phase.js +198 -0
  40. package/dist/completion/merge-phase.js.map +1 -0
  41. package/dist/completion/review-exit-phase.d.ts +82 -0
  42. package/dist/completion/review-exit-phase.d.ts.map +1 -0
  43. package/dist/completion/review-exit-phase.js +228 -0
  44. package/dist/completion/review-exit-phase.js.map +1 -0
  45. package/dist/completion/status-advance-phase.d.ts +61 -0
  46. package/dist/completion/status-advance-phase.d.ts.map +1 -0
  47. package/dist/completion/status-advance-phase.js +182 -0
  48. package/dist/completion/status-advance-phase.js.map +1 -0
  49. package/dist/completion/team-completion.d.ts +28 -269
  50. package/dist/completion/team-completion.d.ts.map +1 -1
  51. package/dist/completion/team-completion.js +145 -676
  52. package/dist/completion/team-completion.js.map +1 -1
  53. package/dist/config.d.ts.map +1 -1
  54. package/dist/config.js +70 -41
  55. package/dist/config.js.map +1 -1
  56. package/dist/daemon-process.d.ts +18 -2
  57. package/dist/daemon-process.d.ts.map +1 -1
  58. package/dist/daemon-process.js +15 -2
  59. package/dist/daemon-process.js.map +1 -1
  60. package/dist/directive/close-loop-stage.d.ts +50 -0
  61. package/dist/directive/close-loop-stage.d.ts.map +1 -0
  62. package/dist/directive/close-loop-stage.js +196 -0
  63. package/dist/directive/close-loop-stage.js.map +1 -0
  64. package/dist/directive/directive-assembly.d.ts +33 -0
  65. package/dist/directive/directive-assembly.d.ts.map +1 -0
  66. package/dist/directive/directive-assembly.js +77 -0
  67. package/dist/directive/directive-assembly.js.map +1 -0
  68. package/dist/directive/directive-dispatch.d.ts +103 -0
  69. package/dist/directive/directive-dispatch.d.ts.map +1 -0
  70. package/dist/directive/directive-dispatch.js +279 -0
  71. package/dist/directive/directive-dispatch.js.map +1 -0
  72. package/dist/directive/phase-sync.d.ts +89 -0
  73. package/dist/directive/phase-sync.d.ts.map +1 -0
  74. package/dist/directive/phase-sync.js +173 -0
  75. package/dist/directive/phase-sync.js.map +1 -0
  76. package/dist/directive-executor.d.ts +21 -223
  77. package/dist/directive-executor.d.ts.map +1 -1
  78. package/dist/directive-executor.js +28 -687
  79. package/dist/directive-executor.js.map +1 -1
  80. package/dist/focus-engine.d.ts.map +1 -1
  81. package/dist/focus-engine.js +16 -10
  82. package/dist/focus-engine.js.map +1 -1
  83. package/dist/focus-executor.d.ts +29 -8
  84. package/dist/focus-executor.d.ts.map +1 -1
  85. package/dist/focus-executor.js +29 -10
  86. package/dist/focus-executor.js.map +1 -1
  87. package/dist/focus-stage-lifecycle.d.ts +7 -5
  88. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  89. package/dist/focus-stage-lifecycle.js +11 -6
  90. package/dist/focus-stage-lifecycle.js.map +1 -1
  91. package/dist/index.js +8 -0
  92. package/dist/index.js.map +1 -1
  93. package/dist/merge-back-loop.d.ts.map +1 -1
  94. package/dist/merge-back-loop.js +4 -10
  95. package/dist/merge-back-loop.js.map +1 -1
  96. package/dist/pipeline-config.d.ts +13 -0
  97. package/dist/pipeline-config.d.ts.map +1 -1
  98. package/dist/pipeline-config.js +15 -0
  99. package/dist/pipeline-config.js.map +1 -1
  100. package/dist/resolvers/agent-escalations.d.ts +8 -1
  101. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  102. package/dist/resolvers/agent-escalations.js +25 -22
  103. package/dist/resolvers/agent-escalations.js.map +1 -1
  104. package/dist/resolvers/agent-session-summaries.d.ts +8 -1
  105. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  106. package/dist/resolvers/agent-session-summaries.js +21 -18
  107. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  108. package/dist/resolvers/delivery-acceptance-criteria.d.ts +7 -1
  109. package/dist/resolvers/delivery-acceptance-criteria.d.ts.map +1 -1
  110. package/dist/resolvers/delivery-acceptance-criteria.js +14 -11
  111. package/dist/resolvers/delivery-acceptance-criteria.js.map +1 -1
  112. package/dist/resolvers/delivery-description.d.ts +7 -1
  113. package/dist/resolvers/delivery-description.d.ts.map +1 -1
  114. package/dist/resolvers/delivery-description.js +14 -11
  115. package/dist/resolvers/delivery-description.js.map +1 -1
  116. package/dist/resolvers/delivery-issues.d.ts +8 -1
  117. package/dist/resolvers/delivery-issues.d.ts.map +1 -1
  118. package/dist/resolvers/delivery-issues.js +51 -48
  119. package/dist/resolvers/delivery-issues.js.map +1 -1
  120. package/dist/resolvers/delivery-listing.d.ts +16 -1
  121. package/dist/resolvers/delivery-listing.d.ts.map +1 -1
  122. package/dist/resolvers/delivery-listing.js +36 -33
  123. package/dist/resolvers/delivery-listing.js.map +1 -1
  124. package/dist/resolvers/delivery-tech-context.d.ts +7 -1
  125. package/dist/resolvers/delivery-tech-context.d.ts.map +1 -1
  126. package/dist/resolvers/delivery-tech-context.js +14 -11
  127. package/dist/resolvers/delivery-tech-context.js.map +1 -1
  128. package/dist/resolvers/deployment-profile.d.ts +8 -1
  129. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  130. package/dist/resolvers/deployment-profile.js +20 -17
  131. package/dist/resolvers/deployment-profile.js.map +1 -1
  132. package/dist/resolvers/focus-anchoring-injections.d.ts +26 -1
  133. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  134. package/dist/resolvers/focus-anchoring-injections.js +91 -88
  135. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  136. package/dist/resolvers/focus-context.d.ts +9 -1
  137. package/dist/resolvers/focus-context.d.ts.map +1 -1
  138. package/dist/resolvers/focus-context.js +38 -35
  139. package/dist/resolvers/focus-context.js.map +1 -1
  140. package/dist/resolvers/focus-injections.d.ts +13 -1
  141. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  142. package/dist/resolvers/focus-injections.js +60 -57
  143. package/dist/resolvers/focus-injections.js.map +1 -1
  144. package/dist/resolvers/focus-last-review-report.d.ts +2 -1
  145. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  146. package/dist/resolvers/focus-last-review-report.js +33 -30
  147. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  148. package/dist/resolvers/focus-reality-tree.d.ts +15 -1
  149. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  150. package/dist/resolvers/focus-reality-tree.js +35 -32
  151. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  152. package/dist/resolvers/git-diff-against-base.d.ts +8 -1
  153. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  154. package/dist/resolvers/git-diff-against-base.js +33 -30
  155. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  156. package/dist/resolvers/guards-evaluation-results.d.ts +7 -1
  157. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  158. package/dist/resolvers/guards-evaluation-results.js +25 -22
  159. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  160. package/dist/resolvers/index.d.ts +22 -40
  161. package/dist/resolvers/index.d.ts.map +1 -1
  162. package/dist/resolvers/index.js +112 -41
  163. package/dist/resolvers/index.js.map +1 -1
  164. package/dist/resolvers/loop-context.d.ts +18 -1
  165. package/dist/resolvers/loop-context.d.ts.map +1 -1
  166. package/dist/resolvers/loop-context.js +21 -18
  167. package/dist/resolvers/loop-context.js.map +1 -1
  168. package/dist/resolvers/loop-delivery-index.d.ts +17 -1
  169. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  170. package/dist/resolvers/loop-delivery-index.js +51 -48
  171. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  172. package/dist/resolvers/loop-documents.d.ts +9 -1
  173. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  174. package/dist/resolvers/loop-documents.js +22 -19
  175. package/dist/resolvers/loop-documents.js.map +1 -1
  176. package/dist/resolvers/loop-expected-effects.d.ts +11 -1
  177. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  178. package/dist/resolvers/loop-expected-effects.js +53 -50
  179. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  180. package/dist/resolvers/loop-frt-statement.d.ts +11 -1
  181. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  182. package/dist/resolvers/loop-frt-statement.js +28 -25
  183. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  184. package/dist/resolvers/loop-injection.d.ts +10 -1
  185. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  186. package/dist/resolvers/loop-injection.js +38 -35
  187. package/dist/resolvers/loop-injection.js.map +1 -1
  188. package/dist/resolvers/loop-persona.d.ts +20 -1
  189. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  190. package/dist/resolvers/loop-persona.js +20 -17
  191. package/dist/resolvers/loop-persona.js.map +1 -1
  192. package/dist/resolvers/loop-questions.d.ts +8 -1
  193. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  194. package/dist/resolvers/loop-questions.js +39 -36
  195. package/dist/resolvers/loop-questions.js.map +1 -1
  196. package/dist/resolvers/loop-upstream-udes.d.ts +11 -1
  197. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  198. package/dist/resolvers/loop-upstream-udes.js +74 -71
  199. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  200. package/dist/resolvers/prd-context.d.ts +2 -0
  201. package/dist/resolvers/prd-context.d.ts.map +1 -1
  202. package/dist/resolvers/prd-context.js +16 -13
  203. package/dist/resolvers/prd-context.js.map +1 -1
  204. package/dist/resolvers/prd-persona.d.ts +2 -0
  205. package/dist/resolvers/prd-persona.d.ts.map +1 -1
  206. package/dist/resolvers/prd-persona.js +6 -3
  207. package/dist/resolvers/prd-persona.js.map +1 -1
  208. package/dist/resolvers/reality-metrics.d.ts +8 -1
  209. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  210. package/dist/resolvers/reality-metrics.js +73 -70
  211. package/dist/resolvers/reality-metrics.js.map +1 -1
  212. package/dist/resolvers/reality-projections.d.ts +7 -1
  213. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  214. package/dist/resolvers/reality-projections.js +35 -32
  215. package/dist/resolvers/reality-projections.js.map +1 -1
  216. package/dist/resolvers/reality-tree-snapshot.d.ts +10 -1
  217. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  218. package/dist/resolvers/reality-tree-snapshot.js +34 -31
  219. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  220. package/dist/resolvers/retired-injections.d.ts +10 -1
  221. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  222. package/dist/resolvers/retired-injections.js +68 -65
  223. package/dist/resolvers/retired-injections.js.map +1 -1
  224. package/dist/resolvers/review-outcomes.d.ts +11 -1
  225. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  226. package/dist/resolvers/review-outcomes.js +27 -24
  227. package/dist/resolvers/review-outcomes.js.map +1 -1
  228. package/dist/resolvers/security-advisory.d.ts +2 -1
  229. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  230. package/dist/resolvers/security-advisory.js +47 -44
  231. package/dist/resolvers/security-advisory.js.map +1 -1
  232. package/dist/resolvers/wiki-search.d.ts +8 -1
  233. package/dist/resolvers/wiki-search.d.ts.map +1 -1
  234. package/dist/resolvers/wiki-search.js +17 -14
  235. package/dist/resolvers/wiki-search.js.map +1 -1
  236. package/dist/resolvers/wiki-topic.d.ts +9 -1
  237. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  238. package/dist/resolvers/wiki-topic.js +21 -18
  239. package/dist/resolvers/wiki-topic.js.map +1 -1
  240. package/dist/resolvers/workflow-stages.d.ts +7 -1
  241. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  242. package/dist/resolvers/workflow-stages.js +20 -17
  243. package/dist/resolvers/workflow-stages.js.map +1 -1
  244. package/dist/review-defect-detector.d.ts +4 -1
  245. package/dist/review-defect-detector.d.ts.map +1 -1
  246. package/dist/review-defect-detector.js +6 -8
  247. package/dist/review-defect-detector.js.map +1 -1
  248. package/dist/self-update.d.ts +6 -0
  249. package/dist/self-update.d.ts.map +1 -1
  250. package/dist/self-update.js +6 -1
  251. package/dist/self-update.js.map +1 -1
  252. package/dist/spawner/index.d.ts +2 -1
  253. package/dist/spawner/index.d.ts.map +1 -1
  254. package/dist/spawner/index.js +2 -1
  255. package/dist/spawner/index.js.map +1 -1
  256. package/dist/spawner/spawn-team.d.ts +14 -52
  257. package/dist/spawner/spawn-team.d.ts.map +1 -1
  258. package/dist/spawner/spawn-team.js +14 -469
  259. package/dist/spawner/spawn-team.js.map +1 -1
  260. package/dist/staleness.d.ts +124 -0
  261. package/dist/staleness.d.ts.map +1 -0
  262. package/dist/staleness.js +215 -0
  263. package/dist/staleness.js.map +1 -0
  264. package/dist/state-cascade.d.ts +3 -2
  265. package/dist/state-cascade.d.ts.map +1 -1
  266. package/dist/state-cascade.js +7 -3
  267. package/dist/state-cascade.js.map +1 -1
  268. package/dist/types/focus.d.ts +5 -4
  269. package/dist/types/focus.d.ts.map +1 -1
  270. package/dist/types/index.d.ts +0 -1
  271. package/dist/types/index.d.ts.map +1 -1
  272. package/dist/types/index.js +0 -1
  273. package/dist/types/index.js.map +1 -1
  274. package/dist/types/session.d.ts +2 -3
  275. package/dist/types/session.d.ts.map +1 -1
  276. package/dist/unified-engine-lifecycle.d.ts.map +1 -1
  277. package/dist/unified-engine-lifecycle.js +2 -23
  278. package/dist/unified-engine-lifecycle.js.map +1 -1
  279. package/dist/unified-shell-config.d.ts +2 -7
  280. package/dist/unified-shell-config.d.ts.map +1 -1
  281. package/dist/unified-shell-config.js +2 -23
  282. package/dist/unified-shell-config.js.map +1 -1
  283. package/dist/unified-shell-status.d.ts.map +1 -1
  284. package/dist/unified-shell-status.js +2 -4
  285. package/dist/unified-shell-status.js.map +1 -1
  286. package/dist/unified-shell.d.ts.map +1 -1
  287. package/dist/unified-shell.js +21 -24
  288. package/dist/unified-shell.js.map +1 -1
  289. package/dist/version-check.d.ts.map +1 -1
  290. package/dist/version-check.js +6 -4
  291. package/dist/version-check.js.map +1 -1
  292. package/package.json +3 -3
  293. package/dist/pm/adaptive-poller.d.ts +0 -26
  294. package/dist/pm/adaptive-poller.d.ts.map +0 -1
  295. package/dist/pm/adaptive-poller.js +0 -53
  296. package/dist/pm/adaptive-poller.js.map +0 -1
  297. package/dist/pm/cascade-evaluator.d.ts +0 -29
  298. package/dist/pm/cascade-evaluator.d.ts.map +0 -1
  299. package/dist/pm/cascade-evaluator.js +0 -135
  300. package/dist/pm/cascade-evaluator.js.map +0 -1
  301. package/dist/pm/channel-email.d.ts +0 -42
  302. package/dist/pm/channel-email.d.ts.map +0 -1
  303. package/dist/pm/channel-email.js +0 -47
  304. package/dist/pm/channel-email.js.map +0 -1
  305. package/dist/pm/channel-slack.d.ts +0 -40
  306. package/dist/pm/channel-slack.d.ts.map +0 -1
  307. package/dist/pm/channel-slack.js +0 -46
  308. package/dist/pm/channel-slack.js.map +0 -1
  309. package/dist/pm/communication-drafter.d.ts +0 -44
  310. package/dist/pm/communication-drafter.d.ts.map +0 -1
  311. package/dist/pm/communication-drafter.js +0 -84
  312. package/dist/pm/communication-drafter.js.map +0 -1
  313. package/dist/pm/dialog-handler.d.ts +0 -32
  314. package/dist/pm/dialog-handler.d.ts.map +0 -1
  315. package/dist/pm/dialog-handler.js +0 -107
  316. package/dist/pm/dialog-handler.js.map +0 -1
  317. package/dist/pm/mitigation-correlator.d.ts +0 -29
  318. package/dist/pm/mitigation-correlator.d.ts.map +0 -1
  319. package/dist/pm/mitigation-correlator.js +0 -147
  320. package/dist/pm/mitigation-correlator.js.map +0 -1
  321. package/dist/pm/risk-scanner.d.ts +0 -28
  322. package/dist/pm/risk-scanner.d.ts.map +0 -1
  323. package/dist/pm/risk-scanner.js +0 -112
  324. package/dist/pm/risk-scanner.js.map +0 -1
  325. package/dist/pm-engine.d.ts +0 -96
  326. package/dist/pm-engine.d.ts.map +0 -1
  327. package/dist/pm-engine.js +0 -540
  328. package/dist/pm-engine.js.map +0 -1
  329. package/dist/pm-process.d.ts +0 -45
  330. package/dist/pm-process.d.ts.map +0 -1
  331. package/dist/pm-process.js +0 -195
  332. package/dist/pm-process.js.map +0 -1
  333. package/dist/pm-prompt-builder.d.ts +0 -23
  334. package/dist/pm-prompt-builder.d.ts.map +0 -1
  335. package/dist/pm-prompt-builder.js +0 -64
  336. package/dist/pm-prompt-builder.js.map +0 -1
  337. package/dist/session-lifecycle.d.ts +0 -78
  338. package/dist/session-lifecycle.d.ts.map +0 -1
  339. package/dist/session-lifecycle.js +0 -382
  340. package/dist/session-lifecycle.js.map +0 -1
  341. package/dist/types/pm.d.ts +0 -53
  342. package/dist/types/pm.d.ts.map +0 -1
  343. package/dist/types/pm.js +0 -10
  344. package/dist/types/pm.js.map +0 -1
@@ -1,153 +1,27 @@
1
1
  /**
2
- * Focus team completion handling.
2
+ * Team completion -- explicit phase sequencer.
3
3
  *
4
- * Manages the post-execution lifecycle: advancing delivery statuses
5
- * based on issue completion, merging the focus branch, cleaning up
6
- * worktrees, and updating session records.
7
- */
8
- import type { DaemonConfig, FocusTeamState, FocusDeliveryInfo, FocusTeamPhase, Workflow, PolicyFailureMode, ExitCategory } from '../types.js';
9
- import { getDeliveryIssues, fetchEffectiveWorkflow, updateDeliveryStatus, markDeliveryAutoApproved, getActiveFocuses } from '../supabase.js';
10
- import { hasPendingSpawnDirective } from '../directive-executor.js';
11
- import type { StageAdvanceResult } from '../delivery-lifecycle.js';
12
- import { mergeFocusBranch } from '../focus-merge.js';
13
- import { emitLoopTrigger } from '../loop-event-bus.js';
14
- import { branchHasUnmergedCommits } from '../git.js';
15
- import { getFocusDeliveries, getFocusIssues, clearReviewRequestedAt, getFocusReviewReportForSession } from '../queries/focuses.js';
16
- import { createEscalation } from '../queries/issues.js';
17
- export { isStatusTerminal, isStatusAgentActionable } from '../stage-classifier.js';
18
- /**
19
- * Decide whether to attempt mergeFocusBranch on team exit.
20
- *
21
- * The gate asks "does the branch have clean committed work?" rather than
22
- * "did the team session exit cleanly?" -- so a team that exits via review-
23
- * cycle SIGTERM, role-clear, daemon crash, or manual termination still gets
24
- * its committed work propagated to integration.
25
- *
26
- * Skip merge when:
27
- * - The team is still in its planning phase (cancellation mid-planning --
28
- * nothing scoped, nothing to merge), OR
29
- * - The team is a read-only audit session (read-only violation; commits, if
30
- * any, are surfaced separately by the existing readOnly guard), OR
31
- * - The branch has no committed work ahead of integration (clean exit with
32
- * no commits, e.g. audit team or planning-only team).
33
- *
34
- * Exported for unit testing the gate logic in isolation.
35
- */
36
- export declare function shouldAttemptMerge(teamState: Pick<FocusTeamState, 'planningPhase' | 'readOnly'>, branchHasCommits: boolean): boolean;
37
- /**
38
- * Statuses for deliveries whose git state should be reported on team
39
- * completion. Includes 'done' so a focus whose deliveries all reached done
40
- * before the branch was merged (review SIGTERM, role-clear, deferred merge,
41
- * etc.) still attempts the merge instead of being short-circuited as
42
- * "no worked deliveries". Excludes 'queued'/'planning'/'paused'/'cancelled'
43
- * — those represent work that never started or was abandoned.
4
+ * "What happens when a team exits" reads from handleTeamCompletion below:
5
+ * an ordered sequence of named phases. The phase implementations live in
6
+ * focused modules, re-exported here so existing importers are unaffected:
44
7
  *
45
- * Exported for unit testing.
46
- */
47
- export declare const REPORTABLE_DELIVERY_STATUSES: ReadonlySet<string>;
48
- /**
49
- * Filter delivery list to those whose git state should be reported on team
50
- * completion. Excludes already-merged deliveries so we don't re-report them.
8
+ * - exit-classification.ts classify exit (success / controlled stop / crash)
9
+ * - merge-phase.ts merge gate + focus->integration merge +
10
+ * merge-failure escalation + CI integration->main
11
+ * - status-advance-phase.ts delivery status advancement from issue completion
12
+ * - review-exit-phase.ts verify-delivery routing on review exit
51
13
  *
52
- * Exported for unit testing the filter logic without invoking handleTeamCompletion.
14
+ * Phase order on team exit:
15
+ * classify -> report git state -> read-only guard -> WIP preserve ->
16
+ * status advance -> merge -> CI merge-to-main -> session finalize ->
17
+ * review exit (escalate/handoff) -> terminate (cleanup + re-poll)
53
18
  */
54
- export declare function selectWorkedDeliveryIds(deliveries: readonly {
55
- id: string;
56
- executionStatus: string | null;
57
- }[], alreadyMerged: ReadonlySet<string>): string[];
58
- export interface FocusMergeAttemptDeps {
59
- branchHasUnmergedCommits: typeof branchHasUnmergedCommits;
60
- mergeFocusBranch: typeof mergeFocusBranch;
61
- }
62
- export interface FocusMergeAttemptResult {
63
- attempted: boolean;
64
- mergeSucceeded: boolean;
65
- exitReason: string | null;
66
- }
67
- /**
68
- * Decide whether to merge the focus branch and, if so, run the merge.
69
- *
70
- * This is the integration of three separate concerns that the merge gate
71
- * conflated before:
72
- * 1. Branch state: does the focus branch actually have committed work?
73
- * 2. Team gate: planningPhase + readOnly safety nets in shouldAttemptMerge.
74
- * 3. Per-delivery telemetry: workedDeliveryIds is passed through for
75
- * git-state reporting inside mergeFocusBranch.
76
- *
77
- * Returns attempted=false when the gate skips the merge (clean exit with
78
- * nothing to merge, planning-phase, or read-only). Returns attempted=true
79
- * with the merge result otherwise.
80
- *
81
- * Exported so tests can verify the threading from done-only deliveries +
82
- * branch-with-commits to a real mergeFocusBranch invocation, without having
83
- * to mock all of handleTeamCompletion's other side effects.
84
- */
85
- export declare function attemptFocusMerge(config: DaemonConfig, teamState: FocusTeamState, sessionId: string, workedDeliveryIds: string[], deps?: FocusMergeAttemptDeps): Promise<FocusMergeAttemptResult>;
86
- /**
87
- * Dependencies for runReviewExitHandler. Defaults to real implementations;
88
- * overridable in tests via the optional `deps` argument.
89
- */
90
- export interface ReviewExitDeps {
91
- getActiveFocuses: typeof getActiveFocuses;
92
- getFocusDeliveries: typeof getFocusDeliveries;
93
- getFocusIssues: typeof getFocusIssues;
94
- getDeliveryIssues: typeof getDeliveryIssues;
95
- fetchEffectiveWorkflow: typeof fetchEffectiveWorkflow;
96
- updateDeliveryStatus: typeof updateDeliveryStatus;
97
- markDeliveryAutoApproved: typeof markDeliveryAutoApproved;
98
- clearReviewRequestedAt: typeof clearReviewRequestedAt;
99
- hasPendingSpawnDirective: typeof hasPendingSpawnDirective;
100
- emitLoopTrigger: typeof emitLoopTrigger;
101
- getFocusReviewReportForSession: typeof getFocusReviewReportForSession;
102
- createEscalation: typeof createEscalation;
103
- }
104
- export interface ReviewExitParams {
105
- focusId: string;
106
- focusName: string;
107
- organizationId: string;
108
- productId: string;
109
- sessionId: string;
110
- sessionType: 'coding' | 'review';
111
- succeeded: boolean;
112
- }
113
- /**
114
- * Handle a team exit when the focus has review_requested_at set.
115
- *
116
- * Routing is asymmetric in the downward direction (toward intent) -- open
117
- * work on a verify delivery means the work isn't done, so it routes to
118
- * verify_failed unconditionally. Closing a verify delivery to `done` is
119
- * the other direction; it now happens via two paths: an explicit
120
- * focus_reviews approval, OR a clean review session exit (auto-approve,
121
- * reversible via the later unapprove affordance).
122
- *
123
- * Routing rules:
124
- * 1. No review_requested_at -> nothing to do.
125
- * 2. A spawn directive is pending -> defer to the incoming team.
126
- * 3. For each verify delivery:
127
- * - open work issues -> verify_failed (always, no evidence gate)
128
- * - no open work + reportExists -> done (explicit approval)
129
- * - no open work + no report + review session succeeded ->
130
- * done (auto-approve; tagged with auto_approved_at /
131
- * auto_approved_by_session for surfacing + unapprove)
132
- * - no open work + non-review session (or failed review) ->
133
- * leave in verify (next auto-review poll re-triggers)
134
- * 4. If anything routed -> clear review_requested_at + emit
135
- * review_completed event so phase re-derives on the next poll.
136
- * 5. If routed via issue evidence (no report present), file a soft
137
- * review_missing_report notice -- the loop continues regardless.
138
- * 6. If nothing routed AND no evidence at all -> warn-and-leave. The
139
- * strict gate no longer escalates: an idle focus with no work and no
140
- * report is ambiguous, not failed; humans clear it via the MCP
141
- * clear-review-request path.
142
- *
143
- * The independent "evidence" signals (focus_reviews row + review-filed
144
- * issues) still feed into the issue-evidence notice and the warn-and-leave
145
- * messaging, but they no longer gate routing -- open work on a delivery
146
- * is its own evidence that the work isn't done.
147
- *
148
- * Exported with injectable deps for unit testing.
149
- */
150
- export declare function runReviewExitHandler(params: ReviewExitParams, deps?: ReviewExitDeps): Promise<void>;
19
+ import type { DaemonConfig, FocusTeamState } from '../types.js';
20
+ export { isStatusTerminal, isStatusAgentActionable } from '../stage-classifier.js';
21
+ export { type TeamExitClassification, classifyTeamExit, deriveExitCategory, } from './exit-classification.js';
22
+ export { shouldAttemptMerge, REPORTABLE_DELIVERY_STATUSES, selectWorkedDeliveryIds, type FocusMergeAttemptDeps, type FocusMergeAttemptResult, attemptFocusMerge, escalateFailedMergeDeliveries, runCiMergeToMain, } from './merge-phase.js';
23
+ export { type AdvanceDeliveryDeps, advanceDeliveryStatuses, } from './status-advance-phase.js';
24
+ export { type ReviewExitDeps, type ReviewExitParams, runReviewExitHandler, } from './review-exit-phase.js';
151
25
  export interface TeamCompletionParams {
152
26
  config: DaemonConfig;
153
27
  teamState: FocusTeamState;
@@ -155,135 +29,20 @@ export interface TeamCompletionParams {
155
29
  code: number | null;
156
30
  signal: string | null;
157
31
  }
158
- /** Result of classifying how a team lead process exited. */
159
- export interface TeamExitClassification {
160
- /** Normalized exit code (null -> 1). */
161
- exitCode: number;
162
- /** Node reports a SIGTERM as either signal='SIGTERM' or code=143 (128+15). */
163
- wasSigterm: boolean;
164
- /**
165
- * True when the daemon itself terminated the team because its work was done
166
- * (shutdownReason='work_complete') -- a lifecycle teardown, NOT a crash.
167
- */
168
- proactivelyTerminated: boolean;
169
- /**
170
- * True when the exit should be treated as a SUCCESSFUL completion: a clean
171
- * code-0 exit, or a proactive lifecycle termination. This is the signal the
172
- * review-exit handler keys off to auto-approve a clean review's verify
173
- * delivery -- so a review team that the daemon SIGTERMs as part of normal
174
- * teardown is NOT mistaken for a failed review.
175
- *
176
- * IMPORTANT: `succeeded` is NARROW on purpose -- it stays false for a benign
177
- * daemon-initiated SIGTERM whose reason is NOT work_complete (deactivated /
178
- * handoff / teardown / user_stopped). The review auto-approve path depends on
179
- * that. To label such a controlled stop as a non-error terminal status, use
180
- * `controlledStop` / `disposition` instead of widening `succeeded`.
181
- */
182
- succeeded: boolean;
183
- /**
184
- * True when the daemon itself drove this exit: the team was in the
185
- * 'shutting_down' phase and the process exited via SIGTERM -- for ANY
186
- * shutdownReason (work_complete, deactivated, handoff, teardown,
187
- * user_stopped, or none). Distinguishes a deliberate daemon stop from a
188
- * genuine crash, WITHOUT widening `succeeded`.
189
- */
190
- controlledStop: boolean;
191
- /**
192
- * Terminal disposition for the session status label:
193
- * - 'completed' -- a successful exit (`succeeded`).
194
- * - 'stopped' -- a controlled daemon stop that was not a success
195
- * (`controlledStop && !succeeded`).
196
- * - 'failed' -- a genuine crash / unexpected exit.
197
- * Maps 1:1 to the agent_sessions status the daemon writes.
198
- */
199
- disposition: 'completed' | 'stopped' | 'failed';
200
- }
201
- /**
202
- * Classify how a team lead process exited.
203
- *
204
- * Pure and side-effect free so the "lifecycle SIGTERM is not a review failure"
205
- * invariant is unit-testable in isolation. The crux: when the daemon proactively
206
- * terminates a team because its work is complete, it sets phase='shutting_down'
207
- * and shutdownReason='work_complete' BEFORE sending SIGTERM. We detect that
208
- * teardown and classify it as succeeded -- otherwise a clean review team
209
- * (which commits nothing of its own, then gets SIGTERMed once all deliveries
210
- * are terminal) would look like a failed exit and its verify delivery would be
211
- * stranded in `verify` instead of auto-approved to `done`.
212
- */
213
- export declare function classifyTeamExit(params: {
214
- code: number | null;
215
- signal: string | null;
216
- teamPhase: FocusTeamPhase;
217
- shutdownReason: FocusTeamState['shutdownReason'];
218
- }): TeamExitClassification;
219
- /**
220
- * Derive the `exit_category` to record alongside the session status, given the
221
- * classifier disposition and the team's shutdown reason.
222
- *
223
- * - 'completed' -> 'work_complete' when the daemon stopped the team because its
224
- * work was done; otherwise null (a plain clean self-exit has no category).
225
- * - 'stopped' -> the specific controlled-stop reason; any unknown/null reason
226
- * falls back to 'handoff' (a benign daemon-initiated respawn).
227
- * - 'failed' -> 'error' (genuine crash / unexpected exit).
228
- */
229
- export declare function deriveExitCategory(disposition: TeamExitClassification['disposition'], shutdownReason: FocusTeamState['shutdownReason']): ExitCategory | null;
230
32
  /**
231
33
  * Handle the team lead process exiting.
232
34
  *
233
- * Responsibilities:
35
+ * Responsibilities (in phase order):
36
+ * - Classify the exit (lifecycle teardown vs crash -- see classifyTeamExit)
234
37
  * - Report git state for all known deliveries
38
+ * - Read-only audit guard (revert / block merge on violation)
39
+ * - Preserve WIP commits on unclean exits
235
40
  * - Advance delivery statuses based on issue completion
236
- * - Merge focus branch to integration (if successful)
237
- * - Clean up worktree
238
- * - Update session record
239
- * - Record heartbeat counters
240
- * - Trigger re-poll for next work
41
+ * - Merge focus branch to integration + escalate per-delivery merge failures
42
+ * - CI: merge integration -> main (CD optionally pushes)
43
+ * - Finalize the session record (status, exit reason, diff stats)
44
+ * - Review exit routing (escalate / handoff -- see runReviewExitHandler)
45
+ * - Terminate: heartbeat, team-state cleanup, re-poll trigger
241
46
  */
242
47
  export declare function handleTeamCompletion(params: TeamCompletionParams): Promise<void>;
243
- /**
244
- * External dependencies for advanceDeliveryStatuses.
245
- * Defaults to real implementations; overridable in tests.
246
- */
247
- export interface AdvanceDeliveryDeps {
248
- getFocusDeliveries: (focusId: string) => Promise<FocusDeliveryInfo[]>;
249
- getDeliveryIssues: (deliveryId: string) => Promise<Array<{
250
- id: string;
251
- title: string;
252
- status: string;
253
- issueType: string;
254
- }>>;
255
- getDeliverySessionCount: (deliveryId: string) => Promise<number>;
256
- updateIssueStatus: (issueId: string, status: string) => Promise<void>;
257
- fetchEffectiveWorkflow: (deliveryId: string) => Promise<Workflow>;
258
- updateDeliveryStatus: typeof updateDeliveryStatus;
259
- advanceDeliveryStage: (params: {
260
- deliveryId: string;
261
- deliveryName: string;
262
- organizationId: string;
263
- workflow: Workflow;
264
- currentStageId: string;
265
- fromStatus?: string | null;
266
- exitCode: number;
267
- openIssueCount: number;
268
- sessionCount: number;
269
- policyFailureMode: PolicyFailureMode;
270
- sessionId: string | null;
271
- focusId?: string;
272
- config?: DaemonConfig;
273
- }) => Promise<StageAdvanceResult>;
274
- }
275
- /**
276
- * Advance delivery statuses after team completion.
277
- *
278
- * Re-queries all deliveries for the focus from the database rather
279
- * than relying on the spawn-time snapshot in teamState.knownDeliveryIds.
280
- * This ensures deliveries added mid-flight (after the team was spawned)
281
- * are discovered and advanced, and that stale deliveryStageIds don't
282
- * cause deliveries to be skipped.
283
- *
284
- * For each delivery in 'coding' status:
285
- * - All issues Done (or no issues): advance via workflow (coding -> verify -> done)
286
- * - Open issues remain: re-queue to 'queued' so the next team session picks it up
287
- */
288
- export declare function advanceDeliveryStatuses(config: DaemonConfig, teamState: FocusTeamState, sessionId: string, deps?: AdvanceDeliveryDeps): Promise<void>;
289
48
  //# sourceMappingURL=team-completion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-completion.d.ts","sourceRoot":"","sources":["../../src/completion/team-completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-completion.d.ts","sourceRoot":"","sources":["../../src/completion/team-completion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAqB,MAAM,aAAa,CAAC;AAsBnF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACL,KAAK,sBAAsB,EAC3B,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,iBAAiB,EACjB,6BAA6B,EAC7B,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AA8GD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsKtF"}