@telora/daemon 0.20.4 → 0.20.9

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 (586) hide show
  1. package/build-info.json +7 -3
  2. package/dist/ai-inspection-context.d.ts.map +1 -1
  3. package/dist/ai-inspection-context.js +5 -3
  4. package/dist/ai-inspection-context.js.map +1 -1
  5. package/dist/assembly-engine.d.ts.map +1 -1
  6. package/dist/assembly-engine.js +4 -2
  7. package/dist/assembly-engine.js.map +1 -1
  8. package/dist/audit-hooks.d.ts.map +1 -1
  9. package/dist/audit-hooks.js +3 -1
  10. package/dist/audit-hooks.js.map +1 -1
  11. package/dist/auth-liveness.d.ts.map +1 -1
  12. package/dist/auth-liveness.js +4 -2
  13. package/dist/auth-liveness.js.map +1 -1
  14. package/dist/auto-update.d.ts.map +1 -1
  15. package/dist/auto-update.js +14 -12
  16. package/dist/auto-update.js.map +1 -1
  17. package/dist/backends/codex/codex-backend.d.ts.map +1 -1
  18. package/dist/backends/codex/codex-backend.js +4 -2
  19. package/dist/backends/codex/codex-backend.js.map +1 -1
  20. package/dist/backends/codex/codex-mcp-proxy.d.ts.map +1 -1
  21. package/dist/backends/codex/codex-mcp-proxy.js +3 -1
  22. package/dist/backends/codex/codex-mcp-proxy.js.map +1 -1
  23. package/dist/backends/lacuna/lifecycle.d.ts.map +1 -1
  24. package/dist/backends/lacuna/lifecycle.js +4 -2
  25. package/dist/backends/lacuna/lifecycle.js.map +1 -1
  26. package/dist/backends/resolve.d.ts.map +1 -1
  27. package/dist/backends/resolve.js +3 -1
  28. package/dist/backends/resolve.js.map +1 -1
  29. package/dist/cascade-restatement.d.ts.map +1 -1
  30. package/dist/cascade-restatement.js +15 -13
  31. package/dist/cascade-restatement.js.map +1 -1
  32. package/dist/ci-escalation.d.ts.map +1 -1
  33. package/dist/ci-escalation.js +4 -2
  34. package/dist/ci-escalation.js.map +1 -1
  35. package/dist/ci-sensor-loop.d.ts.map +1 -1
  36. package/dist/ci-sensor-loop.js +6 -4
  37. package/dist/ci-sensor-loop.js.map +1 -1
  38. package/dist/ci-status-git.d.ts +5 -6
  39. package/dist/ci-status-git.d.ts.map +1 -1
  40. package/dist/ci-status-git.js +7 -7
  41. package/dist/ci-status-git.js.map +1 -1
  42. package/dist/cli/connect.d.ts.map +1 -1
  43. package/dist/cli/connect.js +9 -2
  44. package/dist/cli/connect.js.map +1 -1
  45. package/dist/cli/open.d.ts.map +1 -1
  46. package/dist/cli/open.js +9 -2
  47. package/dist/cli/open.js.map +1 -1
  48. package/dist/cli/session-state.d.ts.map +1 -1
  49. package/dist/cli/session-state.js +2 -0
  50. package/dist/cli/session-state.js.map +1 -1
  51. package/dist/cli/verify-setup.d.ts.map +1 -1
  52. package/dist/cli/verify-setup.js +9 -4
  53. package/dist/cli/verify-setup.js.map +1 -1
  54. package/dist/close-loop-dispatcher.d.ts.map +1 -1
  55. package/dist/close-loop-dispatcher.js +6 -4
  56. package/dist/close-loop-dispatcher.js.map +1 -1
  57. package/dist/completion/advanceability.d.ts.map +1 -1
  58. package/dist/completion/advanceability.js +3 -1
  59. package/dist/completion/advanceability.js.map +1 -1
  60. package/dist/completion/agent-completion.d.ts.map +1 -1
  61. package/dist/completion/agent-completion.js +11 -9
  62. package/dist/completion/agent-completion.js.map +1 -1
  63. package/dist/completion/event-escalations.d.ts.map +1 -1
  64. package/dist/completion/event-escalations.js +10 -8
  65. package/dist/completion/event-escalations.js.map +1 -1
  66. package/dist/completion/event-phases.d.ts +104 -0
  67. package/dist/completion/event-phases.d.ts.map +1 -0
  68. package/dist/completion/event-phases.js +572 -0
  69. package/dist/completion/event-phases.js.map +1 -0
  70. package/dist/completion/event.d.ts +1 -1
  71. package/dist/completion/event.d.ts.map +1 -1
  72. package/dist/completion/event.js +36 -592
  73. package/dist/completion/event.js.map +1 -1
  74. package/dist/completion/merge-phase.d.ts.map +1 -1
  75. package/dist/completion/merge-phase.js +14 -12
  76. package/dist/completion/merge-phase.js.map +1 -1
  77. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  78. package/dist/completion/read-only-pristine.js +6 -4
  79. package/dist/completion/read-only-pristine.js.map +1 -1
  80. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  81. package/dist/completion/review-exit-phase.js +28 -26
  82. package/dist/completion/review-exit-phase.js.map +1 -1
  83. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  84. package/dist/completion/status-advance-phase.js +16 -14
  85. package/dist/completion/status-advance-phase.js.map +1 -1
  86. package/dist/completion/team-completion.d.ts.map +1 -1
  87. package/dist/completion/team-completion.js +16 -14
  88. package/dist/completion/team-completion.js.map +1 -1
  89. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  90. package/dist/completion/team-lifecycle.js +32 -33
  91. package/dist/completion/team-lifecycle.js.map +1 -1
  92. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  93. package/dist/completion/terminated-work-reconcile.js +11 -9
  94. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  95. package/dist/condition-evaluators.d.ts.map +1 -1
  96. package/dist/condition-evaluators.js +3 -1
  97. package/dist/condition-evaluators.js.map +1 -1
  98. package/dist/config-reconcile.d.ts.map +1 -1
  99. package/dist/config-reconcile.js +3 -1
  100. package/dist/config-reconcile.js.map +1 -1
  101. package/dist/config.d.ts +4 -4
  102. package/dist/config.d.ts.map +1 -1
  103. package/dist/config.js +39 -37
  104. package/dist/config.js.map +1 -1
  105. package/dist/control-state.d.ts.map +1 -1
  106. package/dist/control-state.js +26 -24
  107. package/dist/control-state.js.map +1 -1
  108. package/dist/crash-recovery.d.ts.map +1 -1
  109. package/dist/crash-recovery.js +43 -41
  110. package/dist/crash-recovery.js.map +1 -1
  111. package/dist/daemon-logs.d.ts.map +1 -1
  112. package/dist/daemon-logs.js +21 -3
  113. package/dist/daemon-logs.js.map +1 -1
  114. package/dist/daemon-process.d.ts +0 -1
  115. package/dist/daemon-process.d.ts.map +1 -1
  116. package/dist/daemon-process.js +15 -10
  117. package/dist/daemon-process.js.map +1 -1
  118. package/dist/delivery-advance-block.d.ts +4 -4
  119. package/dist/delivery-advance-block.d.ts.map +1 -1
  120. package/dist/delivery-advance-block.js +25 -18
  121. package/dist/delivery-advance-block.js.map +1 -1
  122. package/dist/delivery-guards.d.ts.map +1 -1
  123. package/dist/delivery-guards.js +11 -9
  124. package/dist/delivery-guards.js.map +1 -1
  125. package/dist/delivery-lifecycle.d.ts.map +1 -1
  126. package/dist/delivery-lifecycle.js +23 -21
  127. package/dist/delivery-lifecycle.js.map +1 -1
  128. package/dist/delivery-merge.d.ts.map +1 -1
  129. package/dist/delivery-merge.js +10 -8
  130. package/dist/delivery-merge.js.map +1 -1
  131. package/dist/delivery-reconciler-apply.d.ts.map +1 -1
  132. package/dist/delivery-reconciler-apply.js +5 -8
  133. package/dist/delivery-reconciler-apply.js.map +1 -1
  134. package/dist/delivery-reconciler-shadow.d.ts.map +1 -1
  135. package/dist/delivery-reconciler-shadow.js +5 -6
  136. package/dist/delivery-reconciler-shadow.js.map +1 -1
  137. package/dist/directive/close-loop-stage.d.ts.map +1 -1
  138. package/dist/directive/close-loop-stage.js +9 -7
  139. package/dist/directive/close-loop-stage.js.map +1 -1
  140. package/dist/directive/directive-assembly.d.ts.map +1 -1
  141. package/dist/directive/directive-assembly.js +3 -1
  142. package/dist/directive/directive-assembly.js.map +1 -1
  143. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  144. package/dist/directive/directive-dispatch.js +16 -14
  145. package/dist/directive/directive-dispatch.js.map +1 -1
  146. package/dist/directive/directive-queue.d.ts +27 -0
  147. package/dist/directive/directive-queue.d.ts.map +1 -1
  148. package/dist/directive/directive-queue.js +28 -0
  149. package/dist/directive/directive-queue.js.map +1 -1
  150. package/dist/directive/phase-sync.d.ts.map +1 -1
  151. package/dist/directive/phase-sync.js +8 -6
  152. package/dist/directive/phase-sync.js.map +1 -1
  153. package/dist/directive-executor.d.ts +1 -1
  154. package/dist/directive-executor.d.ts.map +1 -1
  155. package/dist/directive-executor.js +12 -10
  156. package/dist/directive-executor.js.map +1 -1
  157. package/dist/discovery-poll.d.ts.map +1 -1
  158. package/dist/discovery-poll.js +8 -6
  159. package/dist/discovery-poll.js.map +1 -1
  160. package/dist/drain-teardown.d.ts.map +1 -1
  161. package/dist/drain-teardown.js +6 -19
  162. package/dist/drain-teardown.js.map +1 -1
  163. package/dist/drift-eval-loop.d.ts.map +1 -1
  164. package/dist/drift-eval-loop.js +10 -8
  165. package/dist/drift-eval-loop.js.map +1 -1
  166. package/dist/escalation-provenance.d.ts.map +1 -1
  167. package/dist/escalation-provenance.js +8 -3
  168. package/dist/escalation-provenance.js.map +1 -1
  169. package/dist/focus-engine.d.ts.map +1 -1
  170. package/dist/focus-engine.js +36 -34
  171. package/dist/focus-engine.js.map +1 -1
  172. package/dist/focus-executor.d.ts +1 -0
  173. package/dist/focus-executor.d.ts.map +1 -1
  174. package/dist/focus-executor.js +16 -14
  175. package/dist/focus-executor.js.map +1 -1
  176. package/dist/focus-lifecycle.d.ts.map +1 -1
  177. package/dist/focus-lifecycle.js +56 -44
  178. package/dist/focus-lifecycle.js.map +1 -1
  179. package/dist/focus-loop-registry.d.ts.map +1 -1
  180. package/dist/focus-loop-registry.js +38 -36
  181. package/dist/focus-loop-registry.js.map +1 -1
  182. package/dist/focus-merge.d.ts.map +1 -1
  183. package/dist/focus-merge.js +40 -34
  184. package/dist/focus-merge.js.map +1 -1
  185. package/dist/focus-provisioning.d.ts.map +1 -1
  186. package/dist/focus-provisioning.js +15 -13
  187. package/dist/focus-provisioning.js.map +1 -1
  188. package/dist/focus-respawn-guard.d.ts.map +1 -1
  189. package/dist/focus-respawn-guard.js +4 -2
  190. package/dist/focus-respawn-guard.js.map +1 -1
  191. package/dist/focus-stage-lifecycle/planning-release.d.ts.map +1 -1
  192. package/dist/focus-stage-lifecycle/planning-release.js +10 -8
  193. package/dist/focus-stage-lifecycle/planning-release.js.map +1 -1
  194. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +1 -1
  195. package/dist/focus-stage-lifecycle/review-convergence.js +11 -9
  196. package/dist/focus-stage-lifecycle/review-convergence.js.map +1 -1
  197. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  198. package/dist/focus-stage-lifecycle/wedge-watchdog.js +7 -5
  199. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  200. package/dist/focus-stage-lifecycle.d.ts.map +1 -1
  201. package/dist/focus-stage-lifecycle.js +7 -5
  202. package/dist/focus-stage-lifecycle.js.map +1 -1
  203. package/dist/focus-team-state.d.ts +18 -9
  204. package/dist/focus-team-state.d.ts.map +1 -1
  205. package/dist/focus-team-state.js +37 -18
  206. package/dist/focus-team-state.js.map +1 -1
  207. package/dist/focus-worktree-state.d.ts.map +1 -1
  208. package/dist/focus-worktree-state.js +6 -4
  209. package/dist/focus-worktree-state.js.map +1 -1
  210. package/dist/git/branch.d.ts.map +1 -1
  211. package/dist/git/branch.js +7 -5
  212. package/dist/git/branch.js.map +1 -1
  213. package/dist/git/genesis.d.ts.map +1 -1
  214. package/dist/git/genesis.js +3 -1
  215. package/dist/git/genesis.js.map +1 -1
  216. package/dist/git/integration.d.ts.map +1 -1
  217. package/dist/git/integration.js +4 -2
  218. package/dist/git/integration.js.map +1 -1
  219. package/dist/git/merge-helpers.d.ts.map +1 -1
  220. package/dist/git/merge-helpers.js +6 -4
  221. package/dist/git/merge-helpers.js.map +1 -1
  222. package/dist/git/merge-lock.d.ts +0 -7
  223. package/dist/git/merge-lock.d.ts.map +1 -1
  224. package/dist/git/merge-lock.js +5 -3
  225. package/dist/git/merge-lock.js.map +1 -1
  226. package/dist/git/merge.d.ts.map +1 -1
  227. package/dist/git/merge.js +10 -8
  228. package/dist/git/merge.js.map +1 -1
  229. package/dist/git/state-detector.d.ts.map +1 -1
  230. package/dist/git/state-detector.js +9 -7
  231. package/dist/git/state-detector.js.map +1 -1
  232. package/dist/git/utils.d.ts.map +1 -1
  233. package/dist/git/utils.js +6 -4
  234. package/dist/git/utils.js.map +1 -1
  235. package/dist/git.d.ts.map +1 -1
  236. package/dist/git.js +16 -14
  237. package/dist/git.js.map +1 -1
  238. package/dist/guard-evaluator.d.ts.map +1 -1
  239. package/dist/guard-evaluator.js +3 -1
  240. package/dist/guard-evaluator.js.map +1 -1
  241. package/dist/heartbeat.d.ts.map +1 -1
  242. package/dist/heartbeat.js +14 -11
  243. package/dist/heartbeat.js.map +1 -1
  244. package/dist/host-control/catalog.d.ts.map +1 -1
  245. package/dist/host-control/catalog.js +4 -2
  246. package/dist/host-control/catalog.js.map +1 -1
  247. package/dist/host-control/client.d.ts.map +1 -1
  248. package/dist/host-control/client.js +3 -1
  249. package/dist/host-control/client.js.map +1 -1
  250. package/dist/host-control/sizing.d.ts.map +1 -1
  251. package/dist/host-control/sizing.js +4 -1
  252. package/dist/host-control/sizing.js.map +1 -1
  253. package/dist/index.js +110 -127
  254. package/dist/index.js.map +1 -1
  255. package/dist/install-probe-tick.d.ts.map +1 -1
  256. package/dist/install-probe-tick.js +6 -4
  257. package/dist/install-probe-tick.js.map +1 -1
  258. package/dist/intake-control.d.ts +0 -16
  259. package/dist/intake-control.d.ts.map +1 -1
  260. package/dist/intake-control.js +4 -2
  261. package/dist/intake-control.js.map +1 -1
  262. package/dist/listener-auto-advance.d.ts.map +1 -1
  263. package/dist/listener-auto-advance.js +26 -24
  264. package/dist/listener-auto-advance.js.map +1 -1
  265. package/dist/listener.d.ts.map +1 -1
  266. package/dist/listener.js +59 -39
  267. package/dist/listener.js.map +1 -1
  268. package/dist/log.d.ts +84 -0
  269. package/dist/log.d.ts.map +1 -0
  270. package/dist/log.js +182 -0
  271. package/dist/log.js.map +1 -0
  272. package/dist/loops/context-audit-pass.d.ts.map +1 -1
  273. package/dist/loops/context-audit-pass.js +8 -5
  274. package/dist/loops/context-audit-pass.js.map +1 -1
  275. package/dist/loops/engine.d.ts.map +1 -1
  276. package/dist/loops/engine.js +26 -24
  277. package/dist/loops/engine.js.map +1 -1
  278. package/dist/loops/llm-client.d.ts.map +1 -1
  279. package/dist/loops/llm-client.js +4 -2
  280. package/dist/loops/llm-client.js.map +1 -1
  281. package/dist/loops/llm-flag.d.ts +4 -28
  282. package/dist/loops/llm-flag.d.ts.map +1 -1
  283. package/dist/loops/llm-flag.js +11 -30
  284. package/dist/loops/llm-flag.js.map +1 -1
  285. package/dist/loops/prompt-builder.d.ts.map +1 -1
  286. package/dist/loops/prompt-builder.js +3 -1
  287. package/dist/loops/prompt-builder.js.map +1 -1
  288. package/dist/merge-back-loop.d.ts.map +1 -1
  289. package/dist/merge-back-loop.js +20 -18
  290. package/dist/merge-back-loop.js.map +1 -1
  291. package/dist/merge-detector.d.ts.map +1 -1
  292. package/dist/merge-detector.js +7 -5
  293. package/dist/merge-detector.js.map +1 -1
  294. package/dist/nexus/endpoint-clearance.d.ts.map +1 -1
  295. package/dist/nexus/endpoint-clearance.js +3 -1
  296. package/dist/nexus/endpoint-clearance.js.map +1 -1
  297. package/dist/nexus/escalation-bridge.d.ts.map +1 -1
  298. package/dist/nexus/escalation-bridge.js +3 -1
  299. package/dist/nexus/escalation-bridge.js.map +1 -1
  300. package/dist/nexus/incoming.d.ts.map +1 -1
  301. package/dist/nexus/incoming.js +3 -1
  302. package/dist/nexus/incoming.js.map +1 -1
  303. package/dist/nexus/intake-spawn.d.ts.map +1 -1
  304. package/dist/nexus/intake-spawn.js +6 -4
  305. package/dist/nexus/intake-spawn.js.map +1 -1
  306. package/dist/nexus/intake.d.ts.map +1 -1
  307. package/dist/nexus/intake.js +3 -1
  308. package/dist/nexus/intake.js.map +1 -1
  309. package/dist/nexus/return.d.ts.map +1 -1
  310. package/dist/nexus/return.js +3 -1
  311. package/dist/nexus/return.js.map +1 -1
  312. package/dist/non-interactive-init.d.ts.map +1 -1
  313. package/dist/non-interactive-init.js +0 -0
  314. package/dist/non-interactive-init.js.map +1 -1
  315. package/dist/otlp/port-manager.d.ts.map +1 -1
  316. package/dist/otlp/port-manager.js +7 -5
  317. package/dist/otlp/port-manager.js.map +1 -1
  318. package/dist/otlp/receiver.d.ts.map +1 -1
  319. package/dist/otlp/receiver.js +14 -12
  320. package/dist/otlp/receiver.js.map +1 -1
  321. package/dist/output-monitor.d.ts.map +1 -1
  322. package/dist/output-monitor.js +6 -4
  323. package/dist/output-monitor.js.map +1 -1
  324. package/dist/prd/controller.d.ts.map +1 -1
  325. package/dist/prd/controller.js +7 -5
  326. package/dist/prd/controller.js.map +1 -1
  327. package/dist/prd/focus-pushdown.d.ts.map +1 -1
  328. package/dist/prd/focus-pushdown.js +3 -1
  329. package/dist/prd/focus-pushdown.js.map +1 -1
  330. package/dist/product-scaffold.d.ts.map +1 -1
  331. package/dist/product-scaffold.js +8 -6
  332. package/dist/product-scaffold.js.map +1 -1
  333. package/dist/queries/context-assembly.d.ts.map +1 -1
  334. package/dist/queries/context-assembly.js +3 -1
  335. package/dist/queries/context-assembly.js.map +1 -1
  336. package/dist/queries/deliveries.d.ts.map +1 -1
  337. package/dist/queries/deliveries.js +7 -5
  338. package/dist/queries/deliveries.js.map +1 -1
  339. package/dist/queries/focuses.d.ts.map +1 -1
  340. package/dist/queries/focuses.js +3 -1
  341. package/dist/queries/focuses.js.map +1 -1
  342. package/dist/queries/guards.d.ts.map +1 -1
  343. package/dist/queries/guards.js +3 -1
  344. package/dist/queries/guards.js.map +1 -1
  345. package/dist/queries/issues.d.ts.map +1 -1
  346. package/dist/queries/issues.js +3 -1
  347. package/dist/queries/issues.js.map +1 -1
  348. package/dist/queries/system-session.d.ts.map +1 -1
  349. package/dist/queries/system-session.js +5 -3
  350. package/dist/queries/system-session.js.map +1 -1
  351. package/dist/queries/verification.d.ts.map +1 -1
  352. package/dist/queries/verification.js +6 -4
  353. package/dist/queries/verification.js.map +1 -1
  354. package/dist/reality-pole-capture.d.ts.map +1 -1
  355. package/dist/reality-pole-capture.js +7 -4
  356. package/dist/reality-pole-capture.js.map +1 -1
  357. package/dist/reality-pole.d.ts.map +1 -1
  358. package/dist/reality-pole.js +4 -2
  359. package/dist/reality-pole.js.map +1 -1
  360. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  361. package/dist/resolvers/agent-escalations.js +3 -1
  362. package/dist/resolvers/agent-escalations.js.map +1 -1
  363. package/dist/resolvers/agent-session-summaries.d.ts.map +1 -1
  364. package/dist/resolvers/agent-session-summaries.js +3 -1
  365. package/dist/resolvers/agent-session-summaries.js.map +1 -1
  366. package/dist/resolvers/deployment-profile.d.ts.map +1 -1
  367. package/dist/resolvers/deployment-profile.js +3 -1
  368. package/dist/resolvers/deployment-profile.js.map +1 -1
  369. package/dist/resolvers/escalation-answers.d.ts.map +1 -1
  370. package/dist/resolvers/escalation-answers.js +4 -2
  371. package/dist/resolvers/escalation-answers.js.map +1 -1
  372. package/dist/resolvers/focus-anchoring-injections.d.ts.map +1 -1
  373. package/dist/resolvers/focus-anchoring-injections.js +3 -1
  374. package/dist/resolvers/focus-anchoring-injections.js.map +1 -1
  375. package/dist/resolvers/focus-injections.d.ts.map +1 -1
  376. package/dist/resolvers/focus-injections.js +3 -1
  377. package/dist/resolvers/focus-injections.js.map +1 -1
  378. package/dist/resolvers/focus-last-review-report.d.ts.map +1 -1
  379. package/dist/resolvers/focus-last-review-report.js +3 -1
  380. package/dist/resolvers/focus-last-review-report.js.map +1 -1
  381. package/dist/resolvers/focus-reality-tree.d.ts.map +1 -1
  382. package/dist/resolvers/focus-reality-tree.js +3 -1
  383. package/dist/resolvers/focus-reality-tree.js.map +1 -1
  384. package/dist/resolvers/git-diff-against-base.d.ts.map +1 -1
  385. package/dist/resolvers/git-diff-against-base.js +3 -1
  386. package/dist/resolvers/git-diff-against-base.js.map +1 -1
  387. package/dist/resolvers/guards-evaluation-results.d.ts.map +1 -1
  388. package/dist/resolvers/guards-evaluation-results.js +3 -1
  389. package/dist/resolvers/guards-evaluation-results.js.map +1 -1
  390. package/dist/resolvers/loop-context.d.ts.map +1 -1
  391. package/dist/resolvers/loop-context.js +6 -2
  392. package/dist/resolvers/loop-context.js.map +1 -1
  393. package/dist/resolvers/loop-delivery-index.d.ts.map +1 -1
  394. package/dist/resolvers/loop-delivery-index.js +3 -1
  395. package/dist/resolvers/loop-delivery-index.js.map +1 -1
  396. package/dist/resolvers/loop-documents.d.ts.map +1 -1
  397. package/dist/resolvers/loop-documents.js +3 -1
  398. package/dist/resolvers/loop-documents.js.map +1 -1
  399. package/dist/resolvers/loop-expected-effects.d.ts.map +1 -1
  400. package/dist/resolvers/loop-expected-effects.js +3 -1
  401. package/dist/resolvers/loop-expected-effects.js.map +1 -1
  402. package/dist/resolvers/loop-frt-statement.d.ts.map +1 -1
  403. package/dist/resolvers/loop-frt-statement.js +3 -1
  404. package/dist/resolvers/loop-frt-statement.js.map +1 -1
  405. package/dist/resolvers/loop-injection.d.ts.map +1 -1
  406. package/dist/resolvers/loop-injection.js +3 -1
  407. package/dist/resolvers/loop-injection.js.map +1 -1
  408. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  409. package/dist/resolvers/loop-persona.js +3 -1
  410. package/dist/resolvers/loop-persona.js.map +1 -1
  411. package/dist/resolvers/loop-questions.d.ts.map +1 -1
  412. package/dist/resolvers/loop-questions.js +3 -1
  413. package/dist/resolvers/loop-questions.js.map +1 -1
  414. package/dist/resolvers/loop-upstream-udes.d.ts.map +1 -1
  415. package/dist/resolvers/loop-upstream-udes.js +3 -1
  416. package/dist/resolvers/loop-upstream-udes.js.map +1 -1
  417. package/dist/resolvers/prd-context.d.ts.map +1 -1
  418. package/dist/resolvers/prd-context.js +3 -1
  419. package/dist/resolvers/prd-context.js.map +1 -1
  420. package/dist/resolvers/reality-metrics.d.ts.map +1 -1
  421. package/dist/resolvers/reality-metrics.js +3 -1
  422. package/dist/resolvers/reality-metrics.js.map +1 -1
  423. package/dist/resolvers/reality-projections.d.ts.map +1 -1
  424. package/dist/resolvers/reality-projections.js +3 -1
  425. package/dist/resolvers/reality-projections.js.map +1 -1
  426. package/dist/resolvers/reality-tree-snapshot.d.ts.map +1 -1
  427. package/dist/resolvers/reality-tree-snapshot.js +3 -1
  428. package/dist/resolvers/reality-tree-snapshot.js.map +1 -1
  429. package/dist/resolvers/retired-injections.d.ts.map +1 -1
  430. package/dist/resolvers/retired-injections.js +3 -1
  431. package/dist/resolvers/retired-injections.js.map +1 -1
  432. package/dist/resolvers/review-outcomes.d.ts.map +1 -1
  433. package/dist/resolvers/review-outcomes.js +3 -1
  434. package/dist/resolvers/review-outcomes.js.map +1 -1
  435. package/dist/resolvers/security-advisory.d.ts.map +1 -1
  436. package/dist/resolvers/security-advisory.js +3 -1
  437. package/dist/resolvers/security-advisory.js.map +1 -1
  438. package/dist/resolvers/shared/wiki.d.ts.map +1 -1
  439. package/dist/resolvers/shared/wiki.js +5 -3
  440. package/dist/resolvers/shared/wiki.js.map +1 -1
  441. package/dist/resolvers/wiki-topic.d.ts.map +1 -1
  442. package/dist/resolvers/wiki-topic.js +3 -1
  443. package/dist/resolvers/wiki-topic.js.map +1 -1
  444. package/dist/resolvers/workflow-stages.d.ts.map +1 -1
  445. package/dist/resolvers/workflow-stages.js +3 -1
  446. package/dist/resolvers/workflow-stages.js.map +1 -1
  447. package/dist/schema-version-gate.d.ts.map +1 -1
  448. package/dist/schema-version-gate.js +16 -18
  449. package/dist/schema-version-gate.js.map +1 -1
  450. package/dist/security-finding-gate.d.ts.map +1 -1
  451. package/dist/security-finding-gate.js +3 -1
  452. package/dist/security-finding-gate.js.map +1 -1
  453. package/dist/security-rescan-resolution.d.ts.map +1 -1
  454. package/dist/security-rescan-resolution.js +4 -2
  455. package/dist/security-rescan-resolution.js.map +1 -1
  456. package/dist/security-scan-engine.d.ts.map +1 -1
  457. package/dist/security-scan-engine.js +9 -6
  458. package/dist/security-scan-engine.js.map +1 -1
  459. package/dist/self-update.d.ts.map +1 -1
  460. package/dist/self-update.js +48 -39
  461. package/dist/self-update.js.map +1 -1
  462. package/dist/sensor-sweep.d.ts.map +1 -1
  463. package/dist/sensor-sweep.js +5 -2
  464. package/dist/sensor-sweep.js.map +1 -1
  465. package/dist/session-stamp.d.ts.map +1 -1
  466. package/dist/session-stamp.js +4 -2
  467. package/dist/session-stamp.js.map +1 -1
  468. package/dist/spawn/model-routing.d.ts.map +1 -1
  469. package/dist/spawn/model-routing.js +19 -16
  470. package/dist/spawn/model-routing.js.map +1 -1
  471. package/dist/spawn/process-spawn.d.ts.map +1 -1
  472. package/dist/spawn/process-spawn.js +29 -22
  473. package/dist/spawn/process-spawn.js.map +1 -1
  474. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  475. package/dist/spawn/prompt-assembly.js +6 -4
  476. package/dist/spawn/prompt-assembly.js.map +1 -1
  477. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  478. package/dist/spawn/spawn-decision.js +16 -14
  479. package/dist/spawn/spawn-decision.js.map +1 -1
  480. package/dist/spawn/worktree-session.d.ts.map +1 -1
  481. package/dist/spawn/worktree-session.js +13 -11
  482. package/dist/spawn/worktree-session.js.map +1 -1
  483. package/dist/spawn-cooldown.d.ts +0 -7
  484. package/dist/spawn-cooldown.d.ts.map +1 -1
  485. package/dist/spawn-cooldown.js +3 -1
  486. package/dist/spawn-cooldown.js.map +1 -1
  487. package/dist/spawn-environment.d.ts.map +1 -1
  488. package/dist/spawn-environment.js +4 -1
  489. package/dist/spawn-environment.js.map +1 -1
  490. package/dist/spawner/helpers.d.ts.map +1 -1
  491. package/dist/spawner/helpers.js +19 -17
  492. package/dist/spawner/helpers.js.map +1 -1
  493. package/dist/spawner/lifecycle.d.ts.map +1 -1
  494. package/dist/spawner/lifecycle.js +17 -13
  495. package/dist/spawner/lifecycle.js.map +1 -1
  496. package/dist/spawner/liveness.d.ts.map +1 -1
  497. package/dist/spawner/liveness.js +7 -5
  498. package/dist/spawner/liveness.js.map +1 -1
  499. package/dist/spawner/resolution.d.ts.map +1 -1
  500. package/dist/spawner/resolution.js +7 -5
  501. package/dist/spawner/resolution.js.map +1 -1
  502. package/dist/spawner/stream-handlers.d.ts +6 -55
  503. package/dist/spawner/stream-handlers.d.ts.map +1 -1
  504. package/dist/spawner/stream-handlers.js +10 -172
  505. package/dist/spawner/stream-handlers.js.map +1 -1
  506. package/dist/spawner/timeout.d.ts.map +1 -1
  507. package/dist/spawner/timeout.js +11 -9
  508. package/dist/spawner/timeout.js.map +1 -1
  509. package/dist/staleness.d.ts.map +1 -1
  510. package/dist/staleness.js +4 -1
  511. package/dist/staleness.js.map +1 -1
  512. package/dist/stall-detector-config.d.ts +6 -17
  513. package/dist/stall-detector-config.d.ts.map +1 -1
  514. package/dist/stall-detector-config.js +10 -36
  515. package/dist/stall-detector-config.js.map +1 -1
  516. package/dist/stall-detectors.d.ts.map +1 -1
  517. package/dist/stall-detectors.js +6 -4
  518. package/dist/stall-detectors.js.map +1 -1
  519. package/dist/state-cascade.d.ts.map +1 -1
  520. package/dist/state-cascade.js +9 -7
  521. package/dist/state-cascade.js.map +1 -1
  522. package/dist/stop-request.d.ts.map +1 -1
  523. package/dist/stop-request.js +6 -2
  524. package/dist/stop-request.js.map +1 -1
  525. package/dist/supabase.d.ts.map +1 -1
  526. package/dist/supabase.js +3 -1
  527. package/dist/supabase.js.map +1 -1
  528. package/dist/telemetry-writer.d.ts.map +1 -1
  529. package/dist/telemetry-writer.js +11 -9
  530. package/dist/telemetry-writer.js.map +1 -1
  531. package/dist/trigger-executor.d.ts.map +1 -1
  532. package/dist/trigger-executor.js +28 -26
  533. package/dist/trigger-executor.js.map +1 -1
  534. package/dist/unified-engine-lifecycle.d.ts +19 -11
  535. package/dist/unified-engine-lifecycle.d.ts.map +1 -1
  536. package/dist/unified-engine-lifecycle.js +71 -70
  537. package/dist/unified-engine-lifecycle.js.map +1 -1
  538. package/dist/unified-init.d.ts.map +1 -1
  539. package/dist/unified-init.js +41 -36
  540. package/dist/unified-init.js.map +1 -1
  541. package/dist/unified-shell-config.d.ts +8 -1
  542. package/dist/unified-shell-config.d.ts.map +1 -1
  543. package/dist/unified-shell-config.js +57 -34
  544. package/dist/unified-shell-config.js.map +1 -1
  545. package/dist/unified-shell-status.d.ts.map +1 -1
  546. package/dist/unified-shell-status.js +39 -37
  547. package/dist/unified-shell-status.js.map +1 -1
  548. package/dist/unified-shell.d.ts.map +1 -1
  549. package/dist/unified-shell.js +37 -41
  550. package/dist/unified-shell.js.map +1 -1
  551. package/dist/verification-baseline.d.ts.map +1 -1
  552. package/dist/verification-baseline.js +7 -4
  553. package/dist/verification-baseline.js.map +1 -1
  554. package/dist/verification-config.d.ts +3 -3
  555. package/dist/verification-config.d.ts.map +1 -1
  556. package/dist/verification-config.js +8 -19
  557. package/dist/verification-config.js.map +1 -1
  558. package/dist/verification-default-on.d.ts +6 -6
  559. package/dist/verification-default-on.d.ts.map +1 -1
  560. package/dist/verification-default-on.js +9 -7
  561. package/dist/verification-default-on.js.map +1 -1
  562. package/dist/verification-deterministic.d.ts.map +1 -1
  563. package/dist/verification-deterministic.js +6 -3
  564. package/dist/verification-deterministic.js.map +1 -1
  565. package/dist/verification-engine.d.ts.map +1 -1
  566. package/dist/verification-engine.js +20 -16
  567. package/dist/verification-engine.js.map +1 -1
  568. package/dist/verification-feedback.d.ts.map +1 -1
  569. package/dist/verification-feedback.js +4 -2
  570. package/dist/verification-feedback.js.map +1 -1
  571. package/dist/version-check.d.ts.map +1 -1
  572. package/dist/version-check.js +5 -3
  573. package/dist/version-check.js.map +1 -1
  574. package/dist/worker-pidfile.d.ts.map +1 -1
  575. package/dist/worker-pidfile.js +8 -3
  576. package/dist/worker-pidfile.js.map +1 -1
  577. package/dist/worktree/focus.d.ts.map +1 -1
  578. package/dist/worktree/focus.js +15 -13
  579. package/dist/worktree/focus.js.map +1 -1
  580. package/dist/worktree/safety.d.ts.map +1 -1
  581. package/dist/worktree/safety.js +13 -11
  582. package/dist/worktree/safety.js.map +1 -1
  583. package/dist/worktree.d.ts.map +1 -1
  584. package/dist/worktree.js +41 -39
  585. package/dist/worktree.js.map +1 -1
  586. package/package.json +3 -3
@@ -0,0 +1,572 @@
1
+ /**
2
+ * Named phases of the completion-event pipeline.
3
+ *
4
+ * Extracted VERBATIM from the former ~690-line handleCompletionEvent body
5
+ * (completion/event.ts) so each sub-decision is independently testable
6
+ * without constructing the whole completion world:
7
+ *
8
+ * 1. applyPlanningRefresh planning-team delivery discovery / failure
9
+ * 2. routeReviewWindowCompletion review routing (review pass vs coding pass)
10
+ * 3. runWakeCycleSelfHeal pre-guard advanceDeliveryStatuses self-heal
11
+ * 4. computeCompletionFacts the post-advance factual picture
12
+ * 5. checkDeliveryAdvancementStall cross-respawn advancement watchdog
13
+ * 6. executeCompletionAction side effects of the chosen action
14
+ *
15
+ * The decision itself stays pure in completion-decision.ts. Behavior is
16
+ * preserved exactly: same reads, same order, same log lines, same early
17
+ * returns; delivery execution_status transition semantics are untouched
18
+ * (single-writer reconciler).
19
+ */
20
+ import { sendMessage, DELIVERY_STATUS } from '@telora/daemon-core';
21
+ import { isStatusCascadable, isStatusAgentActionable } from '../stage-classifier.js';
22
+ import { buildWakeMessage, buildReEngagementMessage } from '../focus-prompt-builder.js';
23
+ import { OPEN_ISSUE_STATUSES } from '../constants.js';
24
+ import { isAuditPhaseFocus } from '../audit-shape.js';
25
+ import { shouldCheckNonAdvanceable } from './completion-decision.js';
26
+ import { takeProgressSnapshot, snapshotsEqual } from './progress-snapshot.js';
27
+ import { isInReviewWindow, findNonAdvanceableDelivery } from './advanceability.js';
28
+ import { getFocusWorktree as defaultGetFocusWorktree } from '../focus-worktree-state.js';
29
+ import { worktreeHasUncommittedChanges as defaultWorktreeHasUncommittedChanges } from '../worktree/index.js';
30
+ import { readWorktreeHeadSha as defaultReadWorktreeHeadSha } from '../git/index.js';
31
+ import { resolveAutoRemediationBudget } from '../delivery-advance-block.js';
32
+ import { escalatePlanningFailure, escalateNoProgress, escalateNonAdvanceable, escalateDeliveryAdvancementStalled, } from './event-escalations.js';
33
+ import { recordDeliveryAdvancementCycle } from './delivery-advancement-guard.js';
34
+ import { reconcileTerminatedTeamWork as defaultReconcileTerminatedTeamWork, } from './terminated-work-reconcile.js';
35
+ import { createLogger } from '../log.js';
36
+ const log = createLogger({ module: 'focus-executor' });
37
+ // ── Phase 1: planning refresh ───────────────────────────────────────────
38
+ /**
39
+ * Wake-cycle refresh (Option A): planning teams spawn with knownDeliveryIds
40
+ * empty. The MCP-driven planning turn writes deliveries to the DB, so we
41
+ * re-snapshot them here before any downstream merge/completion logic looks
42
+ * at the set. WHY Option A: keeps the refresh on the existing wake path
43
+ * instead of polling, so it runs exactly when new deliveries become visible.
44
+ *
45
+ * Returns true when the team was terminated (planning produced nothing).
46
+ */
47
+ export async function applyPlanningRefresh(ctx, deps, currentDeliveries) {
48
+ const { focusId, focusName, teamState } = ctx;
49
+ if (!teamState.planningPhase)
50
+ return false;
51
+ if (currentDeliveries.length === 0) {
52
+ log.warn(`Planning team for "${focusName}" produced no deliveries ` +
53
+ `-- escalating and terminating`);
54
+ await escalatePlanningFailure({
55
+ organizationId: teamState.organizationId,
56
+ sessionId: teamState.leadSessionId ?? '',
57
+ focusId,
58
+ focusName,
59
+ agentRoleId: teamState.roleId,
60
+ }, deps);
61
+ teamState.shutdownReason = 'work_complete';
62
+ deps.terminateTeam(focusId);
63
+ return true;
64
+ }
65
+ for (const d of currentDeliveries) {
66
+ teamState.knownDeliveryIds.add(d.id);
67
+ teamState.deliveryStageIds.set(d.id, d.currentWorkflowStageId);
68
+ }
69
+ teamState.planningPhase = false;
70
+ log.info(`Planning refresh for "${focusName}": ` +
71
+ `${currentDeliveries.length} delivery(ies) discovered`);
72
+ return false;
73
+ }
74
+ /**
75
+ * Review-window handling. Resolves review_requested_at FRESH because it can
76
+ * be set/cleared between spawn and this event.
77
+ *
78
+ * - A completing REVIEW pass routes verify deliveries deterministically
79
+ * (runReviewExitHandler) and terminates -> 'terminated'.
80
+ * - A completing CODING pass during a review window is left alive so the
81
+ * review's own completion closes the focus -> 'leave_running'.
82
+ * - Otherwise -> 'not_in_review' and the pipeline continues.
83
+ */
84
+ export async function routeReviewWindowCompletion(ctx, deps, currentDeliveries) {
85
+ const { focusId, focusName, teamState } = ctx;
86
+ let reviewRequestedAt = null;
87
+ if (deps.getReviewRequestedAt) {
88
+ try {
89
+ reviewRequestedAt = await deps.getReviewRequestedAt(ctx.config, focusId);
90
+ }
91
+ catch (err) {
92
+ log.warn(`getReviewRequestedAt failed for "${focusName}": ${err.message}`);
93
+ // Fail open: a read failure must not block the existing teardown logic.
94
+ }
95
+ }
96
+ if (!isInReviewWindow(reviewRequestedAt, currentDeliveries))
97
+ return 'not_in_review';
98
+ const verifyCount = currentDeliveries.filter(d => d.executionStatus === DELIVERY_STATUS.VERIFY).length;
99
+ if (teamState.sessionType === 'review') {
100
+ // A REVIEW pass just completed -- it emitted its result, which IS the
101
+ // "a review cycle ran" signal. Close the focus DETERMINISTICALLY now,
102
+ // keyed on THIS completion event rather than on process exit. A review
103
+ // resumes its prior session to preserve context (INJ-D) and runs as an
104
+ // interactive stream-json process that emits a result but never exits;
105
+ // the old exit-keyed close therefore waited forever (the review-resume
106
+ // deadlock). runReviewExitHandler routes verify deliveries by the
107
+ // deterministic signal -- a pass that filed zero new issues and has no
108
+ // open work closes verify->done; open work routes verify->verify_failed
109
+ // to re-iterate -- and clears review_requested_at. The review team is then
110
+ // torn down: closure has ALREADY happened, so it no longer matters whether
111
+ // the process exits cleanly or is SIGTERM'd, and the next review cycle
112
+ // resumes the same session id to review only the new delta.
113
+ //
114
+ // succeeded is the ACTUAL result of the review turn (!isError), NOT a
115
+ // hardcoded true. A review that erred (e.g. the CLI failed to start, or a
116
+ // model/engine mismatch) emits a result event with isError=true and files
117
+ // no defects -- the old `succeeded: true` made that indistinguishable from
118
+ // a genuinely clean review, so an errored/no-op review auto-approved
119
+ // verify->done WITHOUT a real review. With the real flag, an errored
120
+ // review leaves the delivery in verify; the next auto-review poll
121
+ // re-triggers, and a persistently failing review is bounded by the
122
+ // review_window_stalled escalation.
123
+ const reviewSucceeded = !ctx.completionInfo.result.isError;
124
+ log.info(`Review pass completed for "${focusName}" (${verifyCount} ` +
125
+ `delivery(ies) in verify, succeeded=${reviewSucceeded}) -- routing deterministically ` +
126
+ `by filed issues, then terminating.`);
127
+ // Coverage evidence: spawn-tip (what the review saw, carried on the team
128
+ // state) is stamped as the watermark; exit-tip (HEAD now) is compared to
129
+ // it to detect mid-review drift. Exit-tip is best-effort via injected git
130
+ // deps; null makes coverage unconfirmable (auto-approve withheld).
131
+ const reviewSpawnTip = teamState.reviewSpawnTip;
132
+ let currentBranchTip = null;
133
+ try {
134
+ const wt = deps.getFocusWorktree?.(focusId);
135
+ if (wt?.worktreePath) {
136
+ currentBranchTip = deps.readWorktreeHeadSha?.(wt.worktreePath) ?? null;
137
+ }
138
+ }
139
+ catch (err) {
140
+ log.warn(`Could not resolve exit-tip for "${focusName}" coverage gate: ${err.message}`);
141
+ }
142
+ try {
143
+ await deps.runReviewExitHandler({
144
+ focusId,
145
+ focusName,
146
+ organizationId: teamState.organizationId,
147
+ productId: teamState.productId,
148
+ sessionId: teamState.leadSessionId ?? '',
149
+ sessionType: 'review',
150
+ succeeded: reviewSucceeded,
151
+ reviewSpawnTip,
152
+ currentBranchTip,
153
+ });
154
+ }
155
+ catch (err) {
156
+ log.warn(`Deterministic review routing failed for "${focusName}": ${err.message}`);
157
+ }
158
+ teamState.shutdownReason = 'work_complete';
159
+ deps.terminateTeam(focusId);
160
+ return 'terminated';
161
+ }
162
+ // A non-review (coding) team completed a cycle while a review is in flight.
163
+ // Do NOT tear it down on the all-terminal / no-actionable-work branches
164
+ // below: `verify` is cascadable, so they would SIGTERM the team mid-review.
165
+ // Leave it running; the review team's own completion closes the focus.
166
+ log.info(`"${focusName}" is in a review window (review_requested_at set, ` +
167
+ `${verifyCount} delivery(ies) in verify) and the completing session is a ` +
168
+ `${teamState.sessionType} pass -- not tearing down; the review pass completion routes ` +
169
+ `the verify deliveries.`);
170
+ return 'leave_running';
171
+ }
172
+ // ── Phase 3: wake-cycle self-heal advance ───────────────────────────────
173
+ /**
174
+ * Self-heal BEFORE the no-progress guard. When actionable deliveries exist
175
+ * but none carry open issues, the team has nothing left to code. The common
176
+ * cause is a review that bounced a delivery to verify_failed while all its
177
+ * issues are already Done. The daemon's transparent
178
+ * verify_failed -> coding -> verify stepping (advanceDeliveryStatuses) clears
179
+ * that. Running it here -- before snapshotting -- means a benign "no work to
180
+ * do" cycle either terminates the team cleanly (all deliveries now terminal)
181
+ * or shows up as real progress (the delivery status moved), instead of being
182
+ * counted as coder no-progress. Either way it can no longer accrue toward a
183
+ * spurious team_failure escalation. (Previously this advance ran only AFTER
184
+ * the guard, so the counter could reach the limit and escalate first.)
185
+ */
186
+ export async function runWakeCycleSelfHeal(ctx, deps, currentDeliveries, currentIssues) {
187
+ const { focusId, focusName, teamState } = ctx;
188
+ const actionableDeliveryIds = new Set(currentDeliveries
189
+ .filter(d => isStatusAgentActionable(d.executionStatus ?? ''))
190
+ .map(d => d.id));
191
+ const hasActionableWithOpenIssues = currentIssues.some(i => actionableDeliveryIds.has(i.deliveryId) && OPEN_ISSUE_STATUSES.has(i.status));
192
+ let effectiveDeliveries = currentDeliveries;
193
+ if (actionableDeliveryIds.size > 0 && !hasActionableWithOpenIssues) {
194
+ try {
195
+ await deps.advanceDeliveryStatuses(ctx.config, teamState, teamState.leadSessionId ?? '');
196
+ }
197
+ catch (err) {
198
+ log.warn(`Wake-cycle advanceDeliveryStatuses failed for "${focusName}": ${err.message}`);
199
+ }
200
+ // Re-fetch and re-check termination after the advance -- if every delivery
201
+ // is now terminal-for-the-team, exit cleanly and hand off to review
202
+ // routing / verification instead of sending a stale re-engagement.
203
+ try {
204
+ effectiveDeliveries = await deps.getFocusDeliveries(focusId);
205
+ const stillNonTerminal = effectiveDeliveries.filter(d => !isStatusCascadable(d.executionStatus ?? ''));
206
+ if (stillNonTerminal.length === 0) {
207
+ log.info(`All deliveries terminal after wake-cycle advance for "${focusName}" -- terminating team`);
208
+ teamState.shutdownReason = 'work_complete';
209
+ deps.terminateTeam(focusId);
210
+ return { terminated: true, effectiveDeliveries };
211
+ }
212
+ }
213
+ catch (err) {
214
+ log.warn(`Failed to re-fetch deliveries after wake-cycle advance for "${focusName}": ${err.message}`);
215
+ }
216
+ }
217
+ return { terminated: false, effectiveDeliveries };
218
+ }
219
+ /**
220
+ * Recompute the picture on the post-advance state. The team owns exactly two
221
+ * kinds of non-terminal work: planning deliveries (it scopes them) and
222
+ * agent-actionable deliveries that still carry open issues (it codes them).
223
+ * See the inline notes for the audit-phase, verify_failed-pending-requeue,
224
+ * and advancedThisCycle subtleties -- each guards a specific production
225
+ * failure mode and is preserved exactly.
226
+ */
227
+ export async function computeCompletionFacts(ctx, deps, currentDeliveries, effectiveDeliveries, currentIssues) {
228
+ const { focusId, focusName, teamState } = ctx;
229
+ const postNonTerminal = effectiveDeliveries.filter(d => !isStatusCascadable(d.executionStatus ?? ''));
230
+ const postActionableIds = new Set(effectiveDeliveries
231
+ .filter(d => isStatusAgentActionable(d.executionStatus ?? ''))
232
+ .map(d => d.id));
233
+ const postHasActionableOpen = currentIssues.some(i => postActionableIds.has(i.deliveryId) && OPEN_ISSUE_STATUSES.has(i.status));
234
+ // A read_only focus is awaiting the human ratify gate (audit intake): its
235
+ // `planning` deliveries are held, not team work the team is failing to
236
+ // advance. Counting them as actionable made a not-yet-ratified audit focus
237
+ // accrue no-progress cycles it could never clear -> a spurious no-progress
238
+ // team_failure (escalation aa58d9c3, focus "Test Quality Audit"). Resolve the
239
+ // audit-phase state FRESH: an explicit read_only=true, OR the second
240
+ // structural signal (audit-origin AND not-yet-ratified). The second signal
241
+ // makes a flag-absent audit focus (read_only silently null) still count as
242
+ // audit-phase here, so its held `planning` deliveries are NOT treated as
243
+ // team-actionable -- degrading gracefully instead of the spurious no-progress
244
+ // team_failure (injection #7; escalation aa58d9c3 does not reproduce). Fail
245
+ // open to NOT-audit-phase so a lookup failure preserves the prior
246
+ // (escalate-eligible) behavior rather than silently muting the guard.
247
+ let focusAuditPhase = false;
248
+ if (deps.getFocusRatificationState) {
249
+ try {
250
+ const st = await deps.getFocusRatificationState(ctx.config, focusId);
251
+ focusAuditPhase = isAuditPhaseFocus({
252
+ readOnly: st.readOnly,
253
+ auditOrigin: st.auditOrigin ?? false,
254
+ ratified: st.ratifiedAt != null,
255
+ });
256
+ }
257
+ catch (err) {
258
+ log.warn(`getFocusRatificationState failed for "${focusName}", ` +
259
+ `treating as not-audit-phase: ${err.message}`);
260
+ }
261
+ }
262
+ // Planning deliveries count as team-actionable ONLY on a non-audit-phase focus
263
+ // (where the team is expected to scope them). On an audit-phase focus they await
264
+ // ratification, so they do not keep the team on the no-progress path. A
265
+ // genuinely stuck planning delivery on a NORMAL focus still escalates
266
+ // (true-positive preserved). Queued deliveries with zero open issues already
267
+ // contribute nothing here -- postHasActionableOpen requires an open issue on an
268
+ // agent-actionable delivery -- so a freshly-scoped, not-yet-started queued
269
+ // delivery does not, on its own, accrue no-progress cycles.
270
+ const hasPlanning = !focusAuditPhase && effectiveDeliveries.some(d => (d.executionStatus ?? '') === 'planning');
271
+ const teamHasActionableWork = hasPlanning || postHasActionableOpen;
272
+ // Resolve the focus worktree once for BOTH the git-activity snapshot
273
+ // dimension and the dirty re-wake guard. A team that wrote AND committed
274
+ // code this cycle moved the focus branch HEAD even when no DB state moved;
275
+ // feeding that sha into the snapshot makes the commit reset the no-progress
276
+ // counter through the EXISTING madeProgress/snapshotsEqual machinery. null
277
+ // when no worktree is registered or git could not be read.
278
+ const resolveWorktree = deps.getFocusWorktree ?? defaultGetFocusWorktree;
279
+ const readHeadSha = deps.readWorktreeHeadSha ?? defaultReadWorktreeHeadSha;
280
+ const focusWorktreePath = resolveWorktree(focusId)?.worktreePath ?? null;
281
+ const focusHeadSha = focusWorktreePath !== null ? readHeadSha(focusWorktreePath) : null;
282
+ // Capture the (post-advance) snapshot for progress detection. Treat both null
283
+ // and undefined as "no prior snapshot" -- legacy test fixtures may not set
284
+ // the field, and a fresh team has lastProgressSnapshot=null.
285
+ const snapshot = takeProgressSnapshot(effectiveDeliveries, currentIssues, focusHeadSha);
286
+ const priorSnapshot = teamState.lastProgressSnapshot ?? null;
287
+ // verify_failed-pending-requeue is daemon-owned advancement: a delivery left
288
+ // in verify_failed is waiting on the daemon's transparent requeue
289
+ // (listener-auto-advance); the TEAM cannot move it. It resets the no-progress
290
+ // counter (madeProgress) but is deliberately NOT folded into
291
+ // advancedThisCycle -- a NULL-stage verify_failed is wedged, not pending, and
292
+ // must remain eligible for the non-advanceable dead-end escalation.
293
+ const verifyFailedPendingRequeue = effectiveDeliveries.some(d => (d.executionStatus ?? '') === 'verify_failed');
294
+ const madeProgress = verifyFailedPendingRequeue || priorSnapshot === null
295
+ ? true
296
+ : !snapshotsEqual(priorSnapshot, snapshot);
297
+ // Did the team *positively advance* state this cycle? Distinct from
298
+ // madeProgress: a null prior snapshot (a FRESH or RESPAWNED team) is NOT
299
+ // evidence of advancement. The daemon respawns a wedged focus's team every
300
+ // poll, so the handler always sees priorSnapshot === null there -- gating the
301
+ // dead-end guard on !madeProgress made it unreachable and the focus churned
302
+ // forever; !advancedThisCycle keeps it reachable.
303
+ const advancedThisCycle = priorSnapshot !== null && !snapshotsEqual(priorSnapshot, snapshot);
304
+ // Non-advanceability lookup, gated by shouldCheckNonAdvanceable: scoped to
305
+ // agent-actionable deliveries (queued / coding / verify_failed) -- the states
306
+ // the team is *expected* to move. Daemon/review-managed states (in_review,
307
+ // paused) are deliberately excluded: another subsystem owns advancing them.
308
+ let stuck = null;
309
+ if (shouldCheckNonAdvanceable({ teamHasActionableWork, advancedThisCycle })) {
310
+ const candidates = postNonTerminal.filter(d => isStatusAgentActionable(d.executionStatus ?? ''));
311
+ stuck = await findNonAdvanceableDelivery(candidates, deps.fetchEffectiveWorkflow);
312
+ }
313
+ // The no-progress counter value AFTER this cycle's reset-or-increment.
314
+ // Only committed to teamState on the actionable-work paths in
315
+ // executeCompletionAction -- the no-actionable-work terminations deliberately
316
+ // do not touch the counter.
317
+ const updatedNoProgressCycles = madeProgress ? 0 : (teamState.noProgressCycles ?? 0) + 1;
318
+ // Measurable progress this cycle means the prior dirty episode -- if any --
319
+ // is no longer stalled, so the commit-nudge budget resets alongside the
320
+ // no-progress counter.
321
+ if (madeProgress) {
322
+ teamState.commitNudgeAttempts = 0;
323
+ }
324
+ return {
325
+ currentDeliveries,
326
+ effectiveDeliveries,
327
+ currentIssues,
328
+ postNonTerminal,
329
+ postHasActionableOpen,
330
+ teamHasActionableWork,
331
+ focusWorktreePath,
332
+ focusHeadSha,
333
+ snapshot,
334
+ priorSnapshot,
335
+ madeProgress,
336
+ advancedThisCycle,
337
+ stuck,
338
+ updatedNoProgressCycles,
339
+ };
340
+ }
341
+ // ── Phase 5: cross-respawn delivery-advancement watchdog ────────────────
342
+ /**
343
+ * Records this cycle on the persistent delivery-advancement guard and, when
344
+ * the threshold is reached, files ONE delivery-advancement-stalled escalation
345
+ * (idempotent against an open team_failure) and terminates.
346
+ *
347
+ * Returns true when the team was terminated.
348
+ */
349
+ export async function checkDeliveryAdvancementStall(ctx, deps, facts, action, noProgressLimit) {
350
+ const { focusId, focusName, teamState } = ctx;
351
+ const shouldRecord = facts.teamHasActionableWork &&
352
+ action.kind !== 'escalate_no_progress_and_terminate' &&
353
+ (facts.priorSnapshot === null || !facts.madeProgress);
354
+ const deliveryAdvancement = shouldRecord
355
+ ? recordDeliveryAdvancementCycle(focusId, facts.effectiveDeliveries,
356
+ // Reuse the SAME issue + head-sha values computeCompletionFacts already
357
+ // derived for the madeProgress snapshot -- passed through, never
358
+ // re-derived -- so the guard's cross-respawn progress axes stay
359
+ // consistent with madeProgress without a second issue fetch or git read.
360
+ facts.currentIssues, facts.focusHeadSha, noProgressLimit)
361
+ : null;
362
+ if (!deliveryAdvancement?.thresholdReached)
363
+ return false;
364
+ let alreadyEscalated = false;
365
+ try {
366
+ alreadyEscalated = await deps.hasOpenTeamFailureEscalation(focusId);
367
+ }
368
+ catch (err) {
369
+ log.warn(`Open-escalation check failed for "${focusName}", proceeding to escalate delivery-advancement stall: ${err.message}`);
370
+ }
371
+ if (!alreadyEscalated) {
372
+ await escalateDeliveryAdvancementStalled({
373
+ organizationId: teamState.organizationId,
374
+ sessionId: teamState.leadSessionId ?? '',
375
+ focusId,
376
+ focusName,
377
+ agentRoleId: teamState.roleId,
378
+ cycles: deliveryAdvancement.noAdvancementCycles,
379
+ deliveries: facts.effectiveDeliveries,
380
+ }, deps);
381
+ }
382
+ else {
383
+ log.info(`Delivery-advancement stall for "${focusName}" but an open ` +
384
+ `team_failure escalation already exists -- terminating without filing a duplicate`);
385
+ }
386
+ teamState.shutdownReason = 'work_complete';
387
+ deps.terminateTeam(focusId);
388
+ return true;
389
+ }
390
+ // ── Phase 6: action side effects ────────────────────────────────────────
391
+ /**
392
+ * Execute the chosen action's side effects. The decision (completion-decision)
393
+ * is pure; every mutation of team state and every escalation lives here, with
394
+ * the branch semantics preserved exactly -- including the commit-nudge re-wake
395
+ * and terminated-work reconciliation on the no-progress path.
396
+ */
397
+ export async function executeCompletionAction(ctx, deps, facts, action, noProgressLimit) {
398
+ const { focusId, focusName, teamState, completionDetector, proc } = ctx;
399
+ const { currentDeliveries, effectiveDeliveries, currentIssues, postNonTerminal, snapshot, focusWorktreePath, stuck, updatedNoProgressCycles, } = facts;
400
+ switch (action.kind) {
401
+ case 'escalate_non_advanceable_and_terminate': {
402
+ // No team-actionable work AND the team did not advance state this cycle
403
+ // AND at least one remaining non-terminal delivery is *non-advanceable*
404
+ // (NULL stage, or no automatic transition out of its current stage):
405
+ // nothing -- not the team, not the daemon -- will ever move it.
406
+ // Terminating cleanly would just feed the spawn -> idle-exit -> respawn
407
+ // thrash loop. Per the asymmetry principle the daemon must escalate,
408
+ // never silently churn. File EXACTLY ONE escalation (idempotent: skip if
409
+ // one is already open) and terminate.
410
+ let alreadyEscalated = false;
411
+ try {
412
+ alreadyEscalated = await deps.hasOpenTeamFailureEscalation(focusId);
413
+ }
414
+ catch (err) {
415
+ log.warn(`Open-escalation check failed for "${focusName}", proceeding to escalate: ${err.message}`);
416
+ }
417
+ if (!alreadyEscalated) {
418
+ log.warn(`Non-advanceable delivery for "${focusName}" -- ` +
419
+ `"${stuck.name}" [${stuck.executionStatus ?? 'draft'}] cannot be advanced ` +
420
+ `(stage=${stuck.currentWorkflowStageId ?? 'NULL'}); escalating and terminating ` +
421
+ `instead of respawning`);
422
+ await escalateNonAdvanceable({
423
+ organizationId: teamState.organizationId,
424
+ sessionId: teamState.leadSessionId ?? '',
425
+ focusId,
426
+ focusName,
427
+ agentRoleId: teamState.roleId,
428
+ stuck: stuck,
429
+ remaining: postNonTerminal,
430
+ }, deps);
431
+ }
432
+ else {
433
+ log.info(`Non-advanceable delivery for "${focusName}" but an open ` +
434
+ `escalation already exists -- terminating without filing a duplicate`);
435
+ }
436
+ teamState.lastProgressSnapshot = snapshot;
437
+ teamState.shutdownReason = 'work_complete';
438
+ deps.terminateTeam(focusId);
439
+ return;
440
+ }
441
+ case 'terminate_no_actionable_work': {
442
+ // Every remaining non-terminal delivery is in a daemon/review-managed
443
+ // state the coding team cannot advance (in_review, paused, or a
444
+ // verify_failed the self-heal could not yet clear). The team is NOT
445
+ // stuck on work it can do -- it has nothing to do. Terminate cleanly
446
+ // and let the daemon (on-exit advance), the listener auto-advance, and
447
+ // the review routing move these deliveries.
448
+ log.info(`No team-actionable work remains for "${focusName}" -- ` +
449
+ `${postNonTerminal.length} non-terminal delivery(ies) in daemon-managed states ` +
450
+ `(in_review / paused / verify-pending); terminating cleanly without escalation`);
451
+ teamState.shutdownReason = 'work_complete';
452
+ deps.terminateTeam(focusId);
453
+ return;
454
+ }
455
+ case 'escalate_no_progress_and_terminate': {
456
+ // ── Git-aware re-wake-before-terminate ────────────────────────────────
457
+ // This is the path that was KILLING PRODUCERS: a coding team that wrote
458
+ // all its code but did not commit it sees no delivery/issue STATE move, so
459
+ // it crosses the no-progress threshold and -- without this guard -- is
460
+ // escalated + terminated. Once it is dead the commit-gate has no live team
461
+ // to re-wake, so the uncommitted work is stranded until a human commits.
462
+ //
463
+ // Before escalating, check whether the team actually PRODUCED work: a
464
+ // dirty focus worktree (uncommitted changes) means there is real work to
465
+ // preserve. If so AND a live lead is still reachable AND the commit-nudge
466
+ // budget is not exhausted, nudge the lead to commit instead of killing it.
467
+ const worktreeIsDirty = focusWorktreePath !== null &&
468
+ (deps.worktreeHasUncommittedChanges ?? defaultWorktreeHasUncommittedChanges)(focusWorktreePath);
469
+ const liveLead = teamState.leadStdin;
470
+ // Budget mirrors the advance-block auto-remediation budget so the two
471
+ // re-wake paths bound retries the same way.
472
+ const commitNudgeBudget = resolveAutoRemediationBudget();
473
+ const nudgesSpent = teamState.commitNudgeAttempts ?? 0;
474
+ if (worktreeIsDirty && liveLead && nudgesSpent < commitNudgeBudget) {
475
+ teamState.commitNudgeAttempts = nudgesSpent + 1;
476
+ teamState.lastProgressSnapshot = snapshot;
477
+ log.warn(`No-progress threshold reached for "${focusName}", but the ` +
478
+ `focus worktree has uncommitted changes and a live lead is reachable -- ` +
479
+ `re-waking the team to commit instead of terminating ` +
480
+ `(commit-nudge attempt ${teamState.commitNudgeAttempts}/${commitNudgeBudget}).`);
481
+ sendMessage(liveLead, `Your focus worktree has uncommitted changes, so the daemon cannot advance ` +
482
+ `the delivery and will not terminate the team yet. Please commit your work in ` +
483
+ `${focusWorktreePath}, and move every finished issue to In Review (its delivery ` +
484
+ `advances out of coding once its work issues are Done/Verified/In Review). The ` +
485
+ `daemon advances automatically once the worktree is clean. (commit-nudge attempt ` +
486
+ `${teamState.commitNudgeAttempts}/${commitNudgeBudget})`);
487
+ completionDetector.reset();
488
+ return;
489
+ }
490
+ // ── Reconcile captured work into the verify gate ──────────────────────
491
+ // The commit-nudge re-wake did not fire (clean tree, OR no live lead, OR
492
+ // budget exhausted). Before escalating, rescue any committed work; the
493
+ // no-progress team_failure escalation fires ONLY when nothing was
494
+ // reconciled -- i.e. genuinely nothing was produced.
495
+ const reconcile = deps.reconcileTerminatedTeamWork ?? defaultReconcileTerminatedTeamWork;
496
+ let reconciled = { reconciledCount: 0, workCaptured: false };
497
+ try {
498
+ reconciled = await reconcile({
499
+ config: ctx.config,
500
+ teamState,
501
+ deliveries: effectiveDeliveries,
502
+ issues: currentIssues,
503
+ worktreePath: focusWorktreePath,
504
+ sessionId: teamState.leadSessionId ?? '',
505
+ });
506
+ }
507
+ catch (err) {
508
+ log.warn(`Terminated-work reconciliation failed for "${focusName}": ${err.message}`);
509
+ }
510
+ if (reconciled.reconciledCount > 0) {
511
+ // Committed work re-entered the gate -- terminate cleanly, NO team_failure.
512
+ teamState.commitNudgeAttempts = 0;
513
+ teamState.noProgressCycles = updatedNoProgressCycles;
514
+ teamState.lastProgressSnapshot = snapshot;
515
+ log.info(`Terminated team for "${focusName}" had committed work -- ` +
516
+ `reconciled ${reconciled.reconciledCount} coding delivery(ies) into verify; ` +
517
+ `terminating WITHOUT a team_failure escalation.`);
518
+ teamState.shutdownReason = 'work_complete';
519
+ deps.terminateTeam(focusId);
520
+ return;
521
+ }
522
+ // Crossed the no-progress threshold: escalate and shut the team down so
523
+ // a human can intervene. Reached only when the team HAS actionable work
524
+ // it owns yet has not moved it for N consecutive cycles.
525
+ teamState.commitNudgeAttempts = 0;
526
+ teamState.noProgressCycles = updatedNoProgressCycles;
527
+ teamState.lastProgressSnapshot = snapshot;
528
+ log.warn(`Scope-coverage guard tripped for "${focusName}" -- ` +
529
+ `${teamState.noProgressCycles} consecutive cycles with no progress on ${postNonTerminal.length} ` +
530
+ `non-terminal delivery(ies); escalating and terminating`);
531
+ await escalateNoProgress({
532
+ organizationId: teamState.organizationId,
533
+ sessionId: teamState.leadSessionId ?? '',
534
+ focusId,
535
+ focusName,
536
+ agentRoleId: teamState.roleId,
537
+ cycles: teamState.noProgressCycles,
538
+ remaining: postNonTerminal,
539
+ }, deps);
540
+ teamState.shutdownReason = 'work_complete';
541
+ deps.terminateTeam(focusId);
542
+ return;
543
+ }
544
+ case 'handoff_new_work':
545
+ case 'reengage': {
546
+ teamState.noProgressCycles = updatedNoProgressCycles;
547
+ teamState.lastProgressSnapshot = snapshot;
548
+ // Actionable deliveries with open issues -> wake message with the new
549
+ // work. Otherwise (planning deliveries remain) -> re-engagement nudge to
550
+ // scope them.
551
+ let message;
552
+ if (action.kind === 'handoff_new_work') {
553
+ log.info(`Mid-focus handoff for "${focusName}" -- sending new work`);
554
+ message = buildWakeMessage(effectiveDeliveries, currentIssues, teamState.knownDeliveryIds);
555
+ }
556
+ else {
557
+ log.info(`Re-engaging "${focusName}" -- ${postNonTerminal.length} non-terminal ` +
558
+ `delivery(ies) remain (cycle ${teamState.noProgressCycles}/${noProgressLimit})`);
559
+ message = buildReEngagementMessage(postNonTerminal, currentIssues);
560
+ }
561
+ // Update tracking state
562
+ for (const d of currentDeliveries) {
563
+ teamState.knownDeliveryIds.add(d.id);
564
+ teamState.deliveryStageIds.set(d.id, d.currentWorkflowStageId);
565
+ }
566
+ completionDetector.reset();
567
+ sendMessage(proc.stdin, message);
568
+ return;
569
+ }
570
+ }
571
+ }
572
+ //# sourceMappingURL=event-phases.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-phases.js","sourceRoot":"","sources":["../../src/completion/event-phases.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import { type ReconcileTerminatedWorkParams, type ReconcileTerminatedWorkResult
21
21
  * relax or tighten the bound without a code change.
22
22
  */
23
23
  export declare const SCOPE_COVERAGE_NO_PROGRESS_LIMIT: number;
24
- export declare function resolveDeliveryAdvancementNoProgressLimit(envConfig?: ReturnType<typeof loadEnvConfig>, env?: NodeJS.ProcessEnv): number;
24
+ export declare function resolveDeliveryAdvancementNoProgressLimit(envConfig?: ReturnType<typeof loadEnvConfig>): number;
25
25
  export declare const DELIVERY_ADVANCEMENT_NO_PROGRESS_LIMIT: number;
26
26
  export interface CompletionEventContext {
27
27
  config: DaemonConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/completion/event.ts"],"names":[],"mappings":"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"}