@telora/daemon 0.21.98 → 0.21.144

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 (416) hide show
  1. package/build-info.json +6 -3
  2. package/dist/audit/audit-hooks.d.ts +120 -5
  3. package/dist/audit/audit-hooks.d.ts.map +1 -1
  4. package/dist/audit/audit-hooks.js +205 -45
  5. package/dist/audit/audit-hooks.js.map +1 -1
  6. package/dist/ci/ci-escalation.js +1 -1
  7. package/dist/ci/ci-escalation.js.map +1 -1
  8. package/dist/ci/ci-sensor-loop.d.ts +30 -0
  9. package/dist/ci/ci-sensor-loop.d.ts.map +1 -1
  10. package/dist/ci/ci-sensor-loop.js +85 -12
  11. package/dist/ci/ci-sensor-loop.js.map +1 -1
  12. package/dist/cli/connect/config-write.d.ts +87 -0
  13. package/dist/cli/connect/config-write.d.ts.map +1 -0
  14. package/dist/cli/connect/config-write.js +255 -0
  15. package/dist/cli/connect/config-write.js.map +1 -0
  16. package/dist/cli/connect/registration.d.ts +76 -0
  17. package/dist/cli/connect/registration.d.ts.map +1 -0
  18. package/dist/cli/connect/registration.js +207 -0
  19. package/dist/cli/connect/registration.js.map +1 -0
  20. package/dist/cli/connect.d.ts +3 -141
  21. package/dist/cli/connect.d.ts.map +1 -1
  22. package/dist/cli/connect.js +9 -441
  23. package/dist/cli/connect.js.map +1 -1
  24. package/dist/completion/coverage-drift-state.d.ts +29 -2
  25. package/dist/completion/coverage-drift-state.d.ts.map +1 -1
  26. package/dist/completion/coverage-drift-state.js +42 -2
  27. package/dist/completion/coverage-drift-state.js.map +1 -1
  28. package/dist/completion/coverage-stabilized.d.ts +58 -0
  29. package/dist/completion/coverage-stabilized.d.ts.map +1 -0
  30. package/dist/completion/coverage-stabilized.js +84 -0
  31. package/dist/completion/coverage-stabilized.js.map +1 -0
  32. package/dist/completion/delivery-advancement-guard.d.ts +21 -0
  33. package/dist/completion/delivery-advancement-guard.d.ts.map +1 -1
  34. package/dist/completion/delivery-advancement-guard.js +31 -3
  35. package/dist/completion/delivery-advancement-guard.js.map +1 -1
  36. package/dist/completion/escalation-provenance.d.ts +2 -1
  37. package/dist/completion/escalation-provenance.d.ts.map +1 -1
  38. package/dist/completion/escalation-provenance.js +2 -1
  39. package/dist/completion/escalation-provenance.js.map +1 -1
  40. package/dist/completion/escalations.js +1 -1
  41. package/dist/completion/escalations.js.map +1 -1
  42. package/dist/completion/event-escalations.d.ts +16 -1
  43. package/dist/completion/event-escalations.d.ts.map +1 -1
  44. package/dist/completion/event-escalations.js +43 -5
  45. package/dist/completion/event-escalations.js.map +1 -1
  46. package/dist/completion/event-phases.d.ts.map +1 -1
  47. package/dist/completion/event-phases.js +5 -2
  48. package/dist/completion/event-phases.js.map +1 -1
  49. package/dist/completion/event.d.ts +1 -1
  50. package/dist/completion/event.d.ts.map +1 -1
  51. package/dist/completion/event.js +2 -2
  52. package/dist/completion/event.js.map +1 -1
  53. package/dist/completion/machine-remediable-demotion.d.ts +74 -0
  54. package/dist/completion/machine-remediable-demotion.d.ts.map +1 -0
  55. package/dist/completion/machine-remediable-demotion.js +148 -0
  56. package/dist/completion/machine-remediable-demotion.js.map +1 -0
  57. package/dist/completion/read-only-pristine.d.ts +1 -1
  58. package/dist/completion/read-only-pristine.d.ts.map +1 -1
  59. package/dist/completion/read-only-pristine.js +1 -1
  60. package/dist/completion/read-only-pristine.js.map +1 -1
  61. package/dist/completion/review-exit-escalations.d.ts +1 -1
  62. package/dist/completion/review-exit-escalations.d.ts.map +1 -1
  63. package/dist/completion/review-exit-phase.d.ts +5 -2
  64. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  65. package/dist/completion/review-exit-phase.js +15 -8
  66. package/dist/completion/review-exit-phase.js.map +1 -1
  67. package/dist/completion/settle-injection-sweep.d.ts +55 -0
  68. package/dist/completion/settle-injection-sweep.d.ts.map +1 -0
  69. package/dist/completion/settle-injection-sweep.js +88 -0
  70. package/dist/completion/settle-injection-sweep.js.map +1 -0
  71. package/dist/completion/state-cascade.d.ts.map +1 -1
  72. package/dist/completion/state-cascade.js +42 -1
  73. package/dist/completion/state-cascade.js.map +1 -1
  74. package/dist/completion/status-advance-phase.d.ts.map +1 -1
  75. package/dist/completion/status-advance-phase.js +18 -0
  76. package/dist/completion/status-advance-phase.js.map +1 -1
  77. package/dist/completion/team-lifecycle.d.ts +42 -0
  78. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  79. package/dist/completion/team-lifecycle.js +73 -1
  80. package/dist/completion/team-lifecycle.js.map +1 -1
  81. package/dist/delivery/delivery-advance-block.d.ts +1 -1
  82. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  83. package/dist/delivery/delivery-advance-block.js +1 -1
  84. package/dist/delivery/delivery-advance-block.js.map +1 -1
  85. package/dist/delivery/delivery-lifecycle.d.ts +19 -33
  86. package/dist/delivery/delivery-lifecycle.d.ts.map +1 -1
  87. package/dist/delivery/delivery-lifecycle.js +20 -148
  88. package/dist/delivery/delivery-lifecycle.js.map +1 -1
  89. package/dist/delivery/delivery-merge-ops.d.ts +46 -0
  90. package/dist/delivery/delivery-merge-ops.d.ts.map +1 -0
  91. package/dist/delivery/delivery-merge-ops.js +154 -0
  92. package/dist/delivery/delivery-merge-ops.js.map +1 -0
  93. package/dist/delivery/delivery-reconciler-apply.d.ts +28 -0
  94. package/dist/delivery/delivery-reconciler-apply.d.ts.map +1 -1
  95. package/dist/delivery/delivery-reconciler-apply.js +30 -0
  96. package/dist/delivery/delivery-reconciler-apply.js.map +1 -1
  97. package/dist/delivery/delivery-reconciler-shadow.d.ts +1 -1
  98. package/dist/delivery/delivery-reconciler-shadow.d.ts.map +1 -1
  99. package/dist/delivery/delivery-reconciler-shadow.js +1 -1
  100. package/dist/delivery/delivery-reconciler-shadow.js.map +1 -1
  101. package/dist/delivery/delivery-reconciler.d.ts +7 -2
  102. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  103. package/dist/delivery/delivery-reconciler.js +34 -5
  104. package/dist/delivery/delivery-reconciler.js.map +1 -1
  105. package/dist/delivery/external-hold-surface.d.ts +32 -0
  106. package/dist/delivery/external-hold-surface.d.ts.map +1 -0
  107. package/dist/delivery/external-hold-surface.js +67 -0
  108. package/dist/delivery/external-hold-surface.js.map +1 -0
  109. package/dist/delivery/external-hold.d.ts +21 -0
  110. package/dist/delivery/external-hold.d.ts.map +1 -1
  111. package/dist/delivery/external-hold.js +40 -5
  112. package/dist/delivery/external-hold.js.map +1 -1
  113. package/dist/delivery/operator-hold.d.ts +1 -1
  114. package/dist/delivery/operator-hold.d.ts.map +1 -1
  115. package/dist/delivery/paused-revival.d.ts +140 -0
  116. package/dist/delivery/paused-revival.d.ts.map +1 -0
  117. package/dist/delivery/paused-revival.js +230 -0
  118. package/dist/delivery/paused-revival.js.map +1 -0
  119. package/dist/delivery/wait-reachability.d.ts.map +1 -1
  120. package/dist/delivery/wait-reachability.js +11 -0
  121. package/dist/delivery/wait-reachability.js.map +1 -1
  122. package/dist/directive/close-loop-dispatcher.d.ts +16 -263
  123. package/dist/directive/close-loop-dispatcher.d.ts.map +1 -1
  124. package/dist/directive/close-loop-dispatcher.js +21 -259
  125. package/dist/directive/close-loop-dispatcher.js.map +1 -1
  126. package/dist/directive/directive-dispatch.d.ts +20 -1
  127. package/dist/directive/directive-dispatch.d.ts.map +1 -1
  128. package/dist/directive/directive-dispatch.js +19 -1
  129. package/dist/directive/directive-dispatch.js.map +1 -1
  130. package/dist/directive/directive-executor.d.ts +1 -3
  131. package/dist/directive/directive-executor.d.ts.map +1 -1
  132. package/dist/directive/directive-executor.js +24 -22
  133. package/dist/directive/directive-executor.js.map +1 -1
  134. package/dist/directive/phase-sync.d.ts +28 -15
  135. package/dist/directive/phase-sync.d.ts.map +1 -1
  136. package/dist/directive/phase-sync.js +28 -36
  137. package/dist/directive/phase-sync.js.map +1 -1
  138. package/dist/directive/resolver-dispatch.d.ts +19 -92
  139. package/dist/directive/resolver-dispatch.d.ts.map +1 -1
  140. package/dist/directive/resolver-dispatch.js +19 -65
  141. package/dist/directive/resolver-dispatch.js.map +1 -1
  142. package/dist/drift/staleness-sensor.js +1 -1
  143. package/dist/drift/staleness-sensor.js.map +1 -1
  144. package/dist/focus/focus-engine.d.ts.map +1 -1
  145. package/dist/focus/focus-engine.js +29 -2
  146. package/dist/focus/focus-engine.js.map +1 -1
  147. package/dist/focus/focus-executor.d.ts.map +1 -1
  148. package/dist/focus/focus-executor.js +290 -256
  149. package/dist/focus/focus-executor.js.map +1 -1
  150. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  151. package/dist/focus/focus-lifecycle.js +2 -1
  152. package/dist/focus/focus-lifecycle.js.map +1 -1
  153. package/dist/focus/focus-loop-registry.d.ts.map +1 -1
  154. package/dist/focus/focus-loop-registry.js +43 -1
  155. package/dist/focus/focus-loop-registry.js.map +1 -1
  156. package/dist/focus/focus-respawn-guard.d.ts +1 -1
  157. package/dist/focus/focus-respawn-guard.d.ts.map +1 -1
  158. package/dist/focus/focus-respawn-guard.js +12 -3
  159. package/dist/focus/focus-respawn-guard.js.map +1 -1
  160. package/dist/focus/focus-team-state.d.ts +11 -0
  161. package/dist/focus/focus-team-state.d.ts.map +1 -1
  162. package/dist/focus/focus-team-state.js +17 -0
  163. package/dist/focus/focus-team-state.js.map +1 -1
  164. package/dist/focus/listener-auto-advance.d.ts +17 -46
  165. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  166. package/dist/focus/listener-auto-advance.js +104 -256
  167. package/dist/focus/listener-auto-advance.js.map +1 -1
  168. package/dist/focus/listener-spawn.d.ts +62 -0
  169. package/dist/focus/listener-spawn.d.ts.map +1 -0
  170. package/dist/focus/listener-spawn.js +418 -0
  171. package/dist/focus/listener-spawn.js.map +1 -0
  172. package/dist/focus/listener-state.d.ts +57 -0
  173. package/dist/focus/listener-state.d.ts.map +1 -0
  174. package/dist/focus/listener-state.js +63 -0
  175. package/dist/focus/listener-state.js.map +1 -0
  176. package/dist/focus/listener.d.ts +0 -58
  177. package/dist/focus/listener.d.ts.map +1 -1
  178. package/dist/focus/listener.js +138 -516
  179. package/dist/focus/listener.js.map +1 -1
  180. package/dist/focus/tick-deadline.d.ts +55 -0
  181. package/dist/focus/tick-deadline.d.ts.map +1 -0
  182. package/dist/focus/tick-deadline.js +91 -0
  183. package/dist/focus/tick-deadline.js.map +1 -0
  184. package/dist/focus/verify-open-issues.d.ts +62 -0
  185. package/dist/focus/verify-open-issues.d.ts.map +1 -0
  186. package/dist/focus/verify-open-issues.js +265 -0
  187. package/dist/focus/verify-open-issues.js.map +1 -0
  188. package/dist/focus-stage-lifecycle/index.d.ts +19 -26
  189. package/dist/focus-stage-lifecycle/index.d.ts.map +1 -1
  190. package/dist/focus-stage-lifecycle/index.js +27 -39
  191. package/dist/focus-stage-lifecycle/index.js.map +1 -1
  192. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts +52 -0
  193. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.d.ts.map +1 -0
  194. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js +94 -0
  195. package/dist/focus-stage-lifecycle/wedge-cause-arbiter.js.map +1 -0
  196. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts +18 -1
  197. package/dist/focus-stage-lifecycle/wedge-watchdog.d.ts.map +1 -1
  198. package/dist/focus-stage-lifecycle/wedge-watchdog.js +57 -7
  199. package/dist/focus-stage-lifecycle/wedge-watchdog.js.map +1 -1
  200. package/dist/git/index.d.ts +2 -0
  201. package/dist/git/index.d.ts.map +1 -1
  202. package/dist/git/index.js +2 -0
  203. package/dist/git/index.js.map +1 -1
  204. package/dist/git/merge-strategies.d.ts +80 -0
  205. package/dist/git/merge-strategies.d.ts.map +1 -0
  206. package/dist/git/merge-strategies.js +218 -0
  207. package/dist/git/merge-strategies.js.map +1 -0
  208. package/dist/git/merge-to-main.d.ts +76 -0
  209. package/dist/git/merge-to-main.d.ts.map +1 -0
  210. package/dist/git/merge-to-main.js +256 -0
  211. package/dist/git/merge-to-main.js.map +1 -0
  212. package/dist/git/merge.d.ts +27 -81
  213. package/dist/git/merge.d.ts.map +1 -1
  214. package/dist/git/merge.js +4 -448
  215. package/dist/git/merge.js.map +1 -1
  216. package/dist/git/state-detector.js +1 -1
  217. package/dist/git/state-detector.js.map +1 -1
  218. package/dist/guard/condition-evaluators.d.ts +9 -0
  219. package/dist/guard/condition-evaluators.d.ts.map +1 -1
  220. package/dist/guard/condition-evaluators.js +15 -0
  221. package/dist/guard/condition-evaluators.js.map +1 -1
  222. package/dist/guard/guard-evaluator.d.ts +17 -1
  223. package/dist/guard/guard-evaluator.d.ts.map +1 -1
  224. package/dist/guard/guard-evaluator.js +61 -2
  225. package/dist/guard/guard-evaluator.js.map +1 -1
  226. package/dist/guard/trigger-executor.d.ts +30 -18
  227. package/dist/guard/trigger-executor.d.ts.map +1 -1
  228. package/dist/guard/trigger-executor.js +55 -31
  229. package/dist/guard/trigger-executor.js.map +1 -1
  230. package/dist/loops/engine.js +1 -1
  231. package/dist/loops/engine.js.map +1 -1
  232. package/dist/merge/focus-merge.d.ts +1 -1
  233. package/dist/merge/focus-merge.d.ts.map +1 -1
  234. package/dist/merge/focus-merge.js +1 -1
  235. package/dist/merge/focus-merge.js.map +1 -1
  236. package/dist/merge/merge-back-loop.d.ts +1 -1
  237. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  238. package/dist/merge/merge-back-loop.js +2 -2
  239. package/dist/merge/merge-back-loop.js.map +1 -1
  240. package/dist/merge/merge-detector.js +1 -1
  241. package/dist/merge/merge-detector.js.map +1 -1
  242. package/dist/nexus/return.js +1 -1
  243. package/dist/nexus/return.js.map +1 -1
  244. package/dist/prd/controller-shared.d.ts +223 -0
  245. package/dist/prd/controller-shared.d.ts.map +1 -0
  246. package/dist/prd/controller-shared.js +77 -0
  247. package/dist/prd/controller-shared.js.map +1 -0
  248. package/dist/prd/controller.d.ts +5 -256
  249. package/dist/prd/controller.d.ts.map +1 -1
  250. package/dist/prd/controller.js +9 -166
  251. package/dist/prd/controller.js.map +1 -1
  252. package/dist/prd/done-sweep.d.ts +55 -0
  253. package/dist/prd/done-sweep.d.ts.map +1 -0
  254. package/dist/prd/done-sweep.js +112 -0
  255. package/dist/prd/done-sweep.js.map +1 -0
  256. package/dist/prompt/team-prompt-base.d.ts +1 -1
  257. package/dist/prompt/team-prompt-base.d.ts.map +1 -1
  258. package/dist/prompt/team-prompt-base.js +1 -1
  259. package/dist/prompt/team-prompt-base.js.map +1 -1
  260. package/dist/prompt-sections/execution-sections.d.ts +1 -1
  261. package/dist/prompt-sections/execution-sections.d.ts.map +1 -1
  262. package/dist/prompt-sections/execution-sections.js +12 -2
  263. package/dist/prompt-sections/execution-sections.js.map +1 -1
  264. package/dist/prompt-sections/persona-sections.d.ts +0 -32
  265. package/dist/prompt-sections/persona-sections.d.ts.map +1 -1
  266. package/dist/prompt-sections/persona-sections.js +19 -88
  267. package/dist/prompt-sections/persona-sections.js.map +1 -1
  268. package/dist/prompt-sections/shared.d.ts +1 -1
  269. package/dist/prompt-sections/shared.d.ts.map +1 -1
  270. package/dist/queries/agent-resolvable-promotion.d.ts +1 -1
  271. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  272. package/dist/queries/agent-resolvable-promotion.js +2 -1
  273. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  274. package/dist/queries/deliveries.d.ts +0 -172
  275. package/dist/queries/deliveries.d.ts.map +1 -1
  276. package/dist/queries/deliveries.js +1 -77
  277. package/dist/queries/deliveries.js.map +1 -1
  278. package/dist/queries/escalation-consumption.d.ts +120 -0
  279. package/dist/queries/escalation-consumption.d.ts.map +1 -0
  280. package/dist/queries/escalation-consumption.js +143 -0
  281. package/dist/queries/escalation-consumption.js.map +1 -0
  282. package/dist/queries/escalation-dispositions.d.ts +19 -0
  283. package/dist/queries/escalation-dispositions.d.ts.map +1 -0
  284. package/dist/queries/escalation-dispositions.js +18 -0
  285. package/dist/queries/escalation-dispositions.js.map +1 -0
  286. package/dist/queries/escalation-suppression.d.ts +1 -1
  287. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  288. package/dist/queries/escalation-suppression.js +1 -1
  289. package/dist/queries/escalation-suppression.js.map +1 -1
  290. package/dist/queries/escalations.d.ts +343 -0
  291. package/dist/queries/escalations.d.ts.map +1 -0
  292. package/dist/queries/escalations.js +493 -0
  293. package/dist/queries/escalations.js.map +1 -0
  294. package/dist/queries/focus-discovery.d.ts +204 -0
  295. package/dist/queries/focus-discovery.d.ts.map +1 -0
  296. package/dist/queries/focus-discovery.js +92 -0
  297. package/dist/queries/focus-discovery.js.map +1 -0
  298. package/dist/queries/focuses.d.ts +36 -0
  299. package/dist/queries/focuses.d.ts.map +1 -1
  300. package/dist/queries/focuses.js +45 -0
  301. package/dist/queries/focuses.js.map +1 -1
  302. package/dist/queries/guards.d.ts +10 -0
  303. package/dist/queries/guards.d.ts.map +1 -1
  304. package/dist/queries/guards.js +14 -1
  305. package/dist/queries/guards.js.map +1 -1
  306. package/dist/queries/index.d.ts +4 -2
  307. package/dist/queries/index.d.ts.map +1 -1
  308. package/dist/queries/index.js +4 -2
  309. package/dist/queries/index.js.map +1 -1
  310. package/dist/queries/issues.d.ts +8 -372
  311. package/dist/queries/issues.d.ts.map +1 -1
  312. package/dist/queries/issues.js +7 -482
  313. package/dist/queries/issues.js.map +1 -1
  314. package/dist/queries/schemas.d.ts +51 -0
  315. package/dist/queries/schemas.d.ts.map +1 -1
  316. package/dist/queries/schemas.js +34 -0
  317. package/dist/queries/schemas.js.map +1 -1
  318. package/dist/queries/verification.d.ts +5 -6
  319. package/dist/queries/verification.d.ts.map +1 -1
  320. package/dist/queries/verification.js +5 -6
  321. package/dist/queries/verification.js.map +1 -1
  322. package/dist/resolvers/agent-escalations.d.ts +20 -0
  323. package/dist/resolvers/agent-escalations.d.ts.map +1 -1
  324. package/dist/resolvers/agent-escalations.js +40 -10
  325. package/dist/resolvers/agent-escalations.js.map +1 -1
  326. package/dist/resolvers/index.d.ts +2 -2
  327. package/dist/resolvers/index.d.ts.map +1 -1
  328. package/dist/resolvers/index.js +1 -1
  329. package/dist/resolvers/index.js.map +1 -1
  330. package/dist/resolvers/loop-persona.d.ts +1 -11
  331. package/dist/resolvers/loop-persona.d.ts.map +1 -1
  332. package/dist/resolvers/loop-persona.js +2 -16
  333. package/dist/resolvers/loop-persona.js.map +1 -1
  334. package/dist/resolvers/shared/git-diff.d.ts +99 -18
  335. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  336. package/dist/resolvers/shared/git-diff.js +98 -27
  337. package/dist/resolvers/shared/git-diff.js.map +1 -1
  338. package/dist/shell/control-state.d.ts +1 -1
  339. package/dist/shell/control-state.d.ts.map +1 -1
  340. package/dist/shell/control-state.js +1 -1
  341. package/dist/shell/control-state.js.map +1 -1
  342. package/dist/shell/crash-recovery.d.ts +1 -1
  343. package/dist/shell/crash-recovery.d.ts.map +1 -1
  344. package/dist/shell/crash-recovery.js +2 -2
  345. package/dist/shell/crash-recovery.js.map +1 -1
  346. package/dist/shell/install-probe-tick.d.ts +1 -1
  347. package/dist/shell/install-probe-tick.d.ts.map +1 -1
  348. package/dist/shell/install-probe-tick.js +1 -1
  349. package/dist/shell/install-probe-tick.js.map +1 -1
  350. package/dist/shell/unified-shell-provisioning.d.ts +40 -0
  351. package/dist/shell/unified-shell-provisioning.d.ts.map +1 -1
  352. package/dist/shell/unified-shell-provisioning.js +72 -0
  353. package/dist/shell/unified-shell-provisioning.js.map +1 -1
  354. package/dist/shell/unified-shell.d.ts.map +1 -1
  355. package/dist/shell/unified-shell.js +19 -2
  356. package/dist/shell/unified-shell.js.map +1 -1
  357. package/dist/spawn/helpers.d.ts.map +1 -1
  358. package/dist/spawn/helpers.js +6 -1
  359. package/dist/spawn/helpers.js.map +1 -1
  360. package/dist/spawn/model-routing.d.ts +1 -1
  361. package/dist/spawn/model-routing.d.ts.map +1 -1
  362. package/dist/spawn/model-routing.js +1 -1
  363. package/dist/spawn/model-routing.js.map +1 -1
  364. package/dist/spawn/process-spawn.d.ts.map +1 -1
  365. package/dist/spawn/process-spawn.js +7 -0
  366. package/dist/spawn/process-spawn.js.map +1 -1
  367. package/dist/spawn/prompt-assembly.d.ts +1 -1
  368. package/dist/spawn/prompt-assembly.d.ts.map +1 -1
  369. package/dist/spawn/prompt-assembly.js +1 -1
  370. package/dist/spawn/prompt-assembly.js.map +1 -1
  371. package/dist/spawn/spawn-cooldown.d.ts +41 -7
  372. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  373. package/dist/spawn/spawn-cooldown.js +47 -0
  374. package/dist/spawn/spawn-cooldown.js.map +1 -1
  375. package/dist/spawn/spawn-decision.d.ts.map +1 -1
  376. package/dist/spawn/spawn-decision.js +34 -2
  377. package/dist/spawn/spawn-decision.js.map +1 -1
  378. package/dist/spawn/worktree-session.d.ts +1 -1
  379. package/dist/spawn/worktree-session.d.ts.map +1 -1
  380. package/dist/spawn/worktree-session.js +1 -1
  381. package/dist/spawn/worktree-session.js.map +1 -1
  382. package/dist/templates/claude-md.d.ts +1 -1
  383. package/dist/templates/claude-md.d.ts.map +1 -1
  384. package/dist/templates/claude-md.js +12 -0
  385. package/dist/templates/claude-md.js.map +1 -1
  386. package/dist/verify/stall-detectors.d.ts +20 -8
  387. package/dist/verify/stall-detectors.d.ts.map +1 -1
  388. package/dist/verify/stall-detectors.js +27 -46
  389. package/dist/verify/stall-detectors.js.map +1 -1
  390. package/dist/verify/verification-default-on.d.ts +1 -1
  391. package/dist/verify/verification-default-on.d.ts.map +1 -1
  392. package/dist/verify/verification-deps.d.ts +1 -1
  393. package/dist/verify/verification-deps.d.ts.map +1 -1
  394. package/dist/verify/verification-engine.d.ts.map +1 -1
  395. package/dist/verify/verification-engine.js +20 -12
  396. package/dist/verify/verification-engine.js.map +1 -1
  397. package/dist/workflow/gate-failure-policy.d.ts +48 -0
  398. package/dist/workflow/gate-failure-policy.d.ts.map +1 -0
  399. package/dist/workflow/gate-failure-policy.js +57 -0
  400. package/dist/workflow/gate-failure-policy.js.map +1 -0
  401. package/dist/workflow/pipeline-config.d.ts +2 -2
  402. package/dist/workflow/pipeline-config.js +2 -2
  403. package/dist/worktree/provision.js +1 -1
  404. package/dist/worktree/provision.js.map +1 -1
  405. package/dist/worktree/scratch-guard.d.ts.map +1 -1
  406. package/dist/worktree/scratch-guard.js +23 -2
  407. package/dist/worktree/scratch-guard.js.map +1 -1
  408. package/package.json +1 -1
  409. package/dist/directive/close-loop-stage.d.ts +0 -50
  410. package/dist/directive/close-loop-stage.d.ts.map +0 -1
  411. package/dist/directive/close-loop-stage.js +0 -210
  412. package/dist/directive/close-loop-stage.js.map +0 -1
  413. package/dist/focus-stage-lifecycle/review-convergence.d.ts +0 -133
  414. package/dist/focus-stage-lifecycle/review-convergence.d.ts.map +0 -1
  415. package/dist/focus-stage-lifecycle/review-convergence.js +0 -237
  416. package/dist/focus-stage-lifecycle/review-convergence.js.map +0 -1
@@ -1,36 +1,33 @@
1
1
  /**
2
2
  * Focus workflow lifecycle stage transitions (D2).
3
3
  *
4
- * The "Focus Workflow Lifecycle and Tree Closure" focus introduces a new
5
- * authoritative lifecycle on `product_focuses.stage`:
6
- *
7
- * planning -> queued -> in_progress -> verify -> review -> close_loop -> done
8
- *
9
- * The daemon advances `stage` along this axis based on deterministic checks:
10
- *
11
- * verify -> review unless pipeline_config.review.enabled is explicitly
12
- * false (default-on; Issue 4: auto-enter review on
13
- * verify-stage entry)
14
- *
15
- * review -> close_loop when there are no in-flight remediation deliveries
16
- * (Issue 2: state-based convergence) AND we have not
17
- * exceeded the N-iteration cap.
18
- *
19
- * review -> (escalate) when iteration count exceeds the cap
20
- * (Issue 3: review_nonconvergent escalation, focus
21
- * stays at review until a human intervenes).
4
+ * Historically the daemon advanced a `product_focuses.stage` column along
5
+ * `planning -> queued -> in_progress -> verify -> review -> close_loop -> done`.
6
+ * That machine-driven stage axis is being retired in favour of a single derived
7
+ * lifecycle (`deriveFocusPhase`): review ENTRY is owned by
8
+ * state-cascade.checkAutoReview (`review_requested_at`), and both the machine
9
+ * verify->review advance (TEL-6) and the review->close_loop advance (TEL-4) have
10
+ * been removed. Review completion is derived (`winding_down`), never a
11
+ * stage='close_loop' write; a non-convergent review is bounded by the
12
+ * review-cycle churn meter + review_window_stalled detector, not a permanent
13
+ * stage hold awaiting a human.
22
14
  *
23
15
  * This module owns the poll-loop dispatcher `runStageLifecycleTransitions` and
24
- * re-exports the decomposed transition logic, which lives in three cohesive
16
+ * re-exports the decomposed transition logic, which lives in two cohesive
25
17
  * submodules:
26
18
  *
27
- * - `focus-stage-lifecycle/review-convergence` -- the verify->review and
28
- * review->close_loop transitions plus their pure convergence helpers.
29
19
  * - `focus-stage-lifecycle/planning-release` -- the ratify-to-execute and
30
20
  * writable-focus planning->queued delivery releases.
31
21
  * - `focus-stage-lifecycle/wedge-watchdog` -- the planning-wedge watchdog +
32
22
  * zero-actionable log.
33
23
  *
24
+ * The former `review-convergence` submodule (the machine-driven
25
+ * verify->review and review->close_loop stage advances) was removed: review
26
+ * ENTRY is owned by state-cascade.checkAutoReview (review_requested_at), and
27
+ * review COMPLETION is derived (`winding_down`) rather than written as
28
+ * stage='close_loop'. A non-convergent review is bounded by the review-cycle
29
+ * churn meter + review_window_stalled detector, not a permanent stage hold.
30
+ *
34
31
  * It does not advance `current_workflow_stage_id` directly -- the existing
35
32
  * `syncFocusPhase` does that on the next poll, after the daemon's `stage` write
36
33
  * lands.
@@ -38,12 +35,10 @@
38
35
  * @module focus-stage-lifecycle
39
36
  */
40
37
  import type { DaemonConfig, FocusDeliveryInfo } from '../types/index.js';
41
- import { getActiveFocuses as defaultGetActiveFocuses } from '../queries/deliveries.js';
38
+ import { getActiveFocuses as defaultGetActiveFocuses } from '../queries/focus-discovery.js';
42
39
  import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
43
- import { advanceVerifyToReviewIfEnabled, advanceReviewToCloseLoopIfConverged, type ReviewTransitionOutcome } from './review-convergence.js';
44
40
  import { releaseRatifiedReadOnlyFocus, releaseWritableFocusPlanningDeliveries } from './planning-release.js';
45
41
  import { evaluateFocusWedge, type WedgeOutcome } from './wedge-watchdog.js';
46
- export * from './review-convergence.js';
47
42
  export * from './planning-release.js';
48
43
  export * from './wedge-watchdog.js';
49
44
  /**
@@ -53,8 +48,6 @@ export * from './wedge-watchdog.js';
53
48
  export declare function runStageLifecycleTransitions(config: DaemonConfig, deps?: {
54
49
  getActiveFocuses: typeof defaultGetActiveFocuses;
55
50
  getFocusDeliveries: typeof defaultGetFocusDeliveries;
56
- advanceVerifyToReview: (focus: Parameters<typeof advanceVerifyToReviewIfEnabled>[0]) => Promise<boolean>;
57
- advanceReviewToCloseLoop: (focus: Parameters<typeof advanceReviewToCloseLoopIfConverged>[0]) => Promise<ReviewTransitionOutcome>;
58
51
  releaseRatifiedReadOnly: (focus: Parameters<typeof releaseRatifiedReadOnlyFocus>[0]) => Promise<number>;
59
52
  releaseWritablePlanning: (focus: Parameters<typeof releaseWritableFocusPlanningDeliveries>[0]) => Promise<number>;
60
53
  evaluateWedge: (focus: Parameters<typeof evaluateFocusWedge>[0]) => Promise<WedgeOutcome>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAExF,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,EACnC,KAAK,uBAAuB,EAC7B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAQ7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAIpC;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE;IACJ,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,qBAAqB,EAAE,CACrB,KAAK,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC,CAAC,KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,wBAAwB,EAAE,CACxB,KAAK,EAAE,UAAU,CAAC,OAAO,mCAAmC,CAAC,CAAC,CAAC,CAAC,KAC7D,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,KACtD,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;CAS5B,GACA,OAAO,CAAC,IAAI,CAAC,CA2Hf;AAGD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,4BAA4B,EAC5B,sCAAsC,EACvC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAElB,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAQ7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAIpC;;;GAGG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,YAAY,EACpB,IAAI,GAAE;IACJ,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,KACtD,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,uBAAuB,EAAE,CACvB,KAAK,EAAE,UAAU,CAAC,OAAO,sCAAsC,CAAC,CAAC,CAAC,CAAC,KAChE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,KAC5C,OAAO,CAAC,YAAY,CAAC,CAAC;CAO5B,GACA,OAAO,CAAC,IAAI,CAAC,CAuHf;AAGD,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,36 +1,33 @@
1
1
  /**
2
2
  * Focus workflow lifecycle stage transitions (D2).
3
3
  *
4
- * The "Focus Workflow Lifecycle and Tree Closure" focus introduces a new
5
- * authoritative lifecycle on `product_focuses.stage`:
6
- *
7
- * planning -> queued -> in_progress -> verify -> review -> close_loop -> done
8
- *
9
- * The daemon advances `stage` along this axis based on deterministic checks:
10
- *
11
- * verify -> review unless pipeline_config.review.enabled is explicitly
12
- * false (default-on; Issue 4: auto-enter review on
13
- * verify-stage entry)
14
- *
15
- * review -> close_loop when there are no in-flight remediation deliveries
16
- * (Issue 2: state-based convergence) AND we have not
17
- * exceeded the N-iteration cap.
18
- *
19
- * review -> (escalate) when iteration count exceeds the cap
20
- * (Issue 3: review_nonconvergent escalation, focus
21
- * stays at review until a human intervenes).
4
+ * Historically the daemon advanced a `product_focuses.stage` column along
5
+ * `planning -> queued -> in_progress -> verify -> review -> close_loop -> done`.
6
+ * That machine-driven stage axis is being retired in favour of a single derived
7
+ * lifecycle (`deriveFocusPhase`): review ENTRY is owned by
8
+ * state-cascade.checkAutoReview (`review_requested_at`), and both the machine
9
+ * verify->review advance (TEL-6) and the review->close_loop advance (TEL-4) have
10
+ * been removed. Review completion is derived (`winding_down`), never a
11
+ * stage='close_loop' write; a non-convergent review is bounded by the
12
+ * review-cycle churn meter + review_window_stalled detector, not a permanent
13
+ * stage hold awaiting a human.
22
14
  *
23
15
  * This module owns the poll-loop dispatcher `runStageLifecycleTransitions` and
24
- * re-exports the decomposed transition logic, which lives in three cohesive
16
+ * re-exports the decomposed transition logic, which lives in two cohesive
25
17
  * submodules:
26
18
  *
27
- * - `focus-stage-lifecycle/review-convergence` -- the verify->review and
28
- * review->close_loop transitions plus their pure convergence helpers.
29
19
  * - `focus-stage-lifecycle/planning-release` -- the ratify-to-execute and
30
20
  * writable-focus planning->queued delivery releases.
31
21
  * - `focus-stage-lifecycle/wedge-watchdog` -- the planning-wedge watchdog +
32
22
  * zero-actionable log.
33
23
  *
24
+ * The former `review-convergence` submodule (the machine-driven
25
+ * verify->review and review->close_loop stage advances) was removed: review
26
+ * ENTRY is owned by state-cascade.checkAutoReview (review_requested_at), and
27
+ * review COMPLETION is derived (`winding_down`) rather than written as
28
+ * stage='close_loop'. A non-convergent review is bounded by the review-cycle
29
+ * churn meter + review_window_stalled detector, not a permanent stage hold.
30
+ *
34
31
  * It does not advance `current_workflow_stage_id` directly -- the existing
35
32
  * `syncFocusPhase` does that on the next poll, after the daemon's `stage` write
36
33
  * lands.
@@ -38,17 +35,14 @@
38
35
  * @module focus-stage-lifecycle
39
36
  */
40
37
  import { configForProduct } from '../shell/config.js';
41
- import { getActiveFocuses as defaultGetActiveFocuses } from '../queries/deliveries.js';
38
+ import { getActiveFocuses as defaultGetActiveFocuses } from '../queries/focus-discovery.js';
42
39
  import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
43
- import { FOCUS_STAGE } from '@telora/daemon-core';
44
- import { advanceVerifyToReviewIfEnabled, advanceReviewToCloseLoopIfConverged, } from './review-convergence.js';
45
40
  import { releaseRatifiedReadOnlyFocus, releaseWritableFocusPlanningDeliveries, } from './planning-release.js';
46
41
  import { evaluateFocusWedge, pruneWedgeWatchdogState, } from './wedge-watchdog.js';
47
42
  import { createLogger } from '../shell/log.js';
48
43
  const log = createLogger({ module: 'focus-stage-lifecycle' });
49
44
  // Re-export the decomposed surface so every importer + test keeps resolving
50
45
  // these names from './index.js' unchanged.
51
- export * from './review-convergence.js';
52
46
  export * from './planning-release.js';
53
47
  export * from './wedge-watchdog.js';
54
48
  // ── Poll-loop entry point ─────────────────────────────────────────
@@ -59,8 +53,6 @@ export * from './wedge-watchdog.js';
59
53
  export async function runStageLifecycleTransitions(config, deps = {
60
54
  getActiveFocuses: defaultGetActiveFocuses,
61
55
  getFocusDeliveries: defaultGetFocusDeliveries,
62
- advanceVerifyToReview: (f) => advanceVerifyToReviewIfEnabled(f),
63
- advanceReviewToCloseLoop: (f) => advanceReviewToCloseLoopIfConverged(f),
64
56
  releaseRatifiedReadOnly: (f) => releaseRatifiedReadOnlyFocus(f),
65
57
  releaseWritablePlanning: (f) => releaseWritableFocusPlanningDeliveries(f),
66
58
  evaluateWedge: (f) => evaluateFocusWedge(f),
@@ -158,18 +150,14 @@ export async function runStageLifecycleTransitions(config, deps = {
158
150
  log.warn(`[focus-stage-lifecycle] Wedge watchdog tick failed for ` +
159
151
  `"${focus.focus_name}": ${err.message}`);
160
152
  }
161
- try {
162
- if (baseArgs.stage === FOCUS_STAGE.VERIFY) {
163
- await deps.advanceVerifyToReview(baseArgs);
164
- }
165
- else if (baseArgs.stage === FOCUS_STAGE.REVIEW) {
166
- await deps.advanceReviewToCloseLoop(baseArgs);
167
- }
168
- }
169
- catch (err) {
170
- log.warn(`[focus-stage-lifecycle] Tick failed for "${focus.focus_name}": ` +
171
- `${err.message}`);
172
- }
153
+ // Review ENTRY is owned solely by state-cascade.checkAutoReview (which
154
+ // writes review_requested_at, the axis the derived 'reviewing' phase and
155
+ // the review team actually key on). The former verify->review auto-advance
156
+ // (advanceVerifyToReviewIfEnabled, TEL-6) and review->close_loop machine
157
+ // advance (advanceReviewToCloseLoopIfConverged, TEL-4) are both removed:
158
+ // review completion is derived (`winding_down`), never a stage='close_loop'
159
+ // write, and a non-convergent review is bounded by the review-cycle churn
160
+ // meter + review_window_stalled detector rather than a permanent hold.
173
161
  }
174
162
  }
175
163
  // Evict wedge watchdog state for focuses no longer active anywhere, so the
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * The single wedge-cause ARBITER (TEL-3 of "One decision path, one wedge
3
+ * arbiter").
4
+ *
5
+ * A wedged focus can trip up to ~ten independent cap detectors, each of which
6
+ * files its own escalation kind (its "evidence"): team_failure, daemon_gate_stuck,
7
+ * wedged_focus, review_window_stalled, verify_gate_unclearable,
8
+ * respawn_cycle_exhausted, stuck_focus_branch, review_coverage_incomplete,
9
+ * review_cycle_cap_exceeded, review_handoff_exhausted. Before this, the cause a
10
+ * wedge REPORTED was whichever detector's bound crossed FIRST -- so the same
11
+ * underlying wedge got a different label depending on poll timing.
12
+ *
13
+ * This arbiter removes the timing dependence: given the SET of causes whose
14
+ * detectors have fired for a focus (their open escalations), it returns ONE
15
+ * authoritative cause by a STATED PRECEDENCE, independent of the order the bounds
16
+ * crossed. The precedence puts the ROOT blocker above the SYMPTOM: a specific
17
+ * blocker (an unclearable verify gate, a stuck branch, a review that cannot
18
+ * converge) outranks the generic "the team keeps failing" / "respawns halted"
19
+ * symptoms those blockers ultimately produce. So an operator (or a downstream
20
+ * reader) is pointed at the cause to fix, not the loudest or earliest alarm.
21
+ */
22
+ /**
23
+ * Wedge causes highest-precedence (ROOT) first. A cause earlier in this list
24
+ * outranks every cause after it when both are present. Every wedge/stall
25
+ * escalation kind the daemon files appears exactly once; a kind not listed here
26
+ * is not a wedge cause and is ignored by the arbiter.
27
+ */
28
+ export declare const WEDGE_CAUSE_PRECEDENCE: readonly string[];
29
+ /** True when `kind` is a wedge cause the arbiter ranks. */
30
+ export declare function isWedgeCause(kind: string): boolean;
31
+ /**
32
+ * Decide the ONE authoritative wedge cause from the set of causes whose
33
+ * detectors have fired. Deterministic and order-independent: the result depends
34
+ * only on WHICH causes are present, never on the order they were observed or
35
+ * passed in. Non-wedge kinds are ignored. Returns null when no wedge cause is
36
+ * present (an empty or all-non-wedge input).
37
+ */
38
+ export declare function arbitrateWedgeCause(crossedKinds: Iterable<string>): string | null;
39
+ /** IO seam for getFocusWedgeCause (default reaches the real query; tests stub it). */
40
+ export interface WedgeCauseReaderDeps {
41
+ listOpenFocusEscalationKinds: (focusId: string) => Promise<string[]>;
42
+ }
43
+ /**
44
+ * Report the ONE authoritative wedge cause for a focus, arbitrated from the
45
+ * evidence its detectors have filed (its open escalations). Deterministic: the
46
+ * result depends only on WHICH detectors have fired, never on the order they
47
+ * crossed. Returns null when the focus has no open wedge-cause escalation.
48
+ * Best-effort: on a read failure it returns null (the caller degrades to its own
49
+ * local cause) rather than throwing.
50
+ */
51
+ export declare function getFocusWedgeCause(focusId: string, deps: WedgeCauseReaderDeps): Promise<string | null>;
52
+ //# sourceMappingURL=wedge-cause-arbiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wedge-cause-arbiter.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-cause-arbiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAqBnD,CAAC;AAMF,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAYjF;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,4BAA4B,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtE;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQxB"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * The single wedge-cause ARBITER (TEL-3 of "One decision path, one wedge
3
+ * arbiter").
4
+ *
5
+ * A wedged focus can trip up to ~ten independent cap detectors, each of which
6
+ * files its own escalation kind (its "evidence"): team_failure, daemon_gate_stuck,
7
+ * wedged_focus, review_window_stalled, verify_gate_unclearable,
8
+ * respawn_cycle_exhausted, stuck_focus_branch, review_coverage_incomplete,
9
+ * review_cycle_cap_exceeded, review_handoff_exhausted. Before this, the cause a
10
+ * wedge REPORTED was whichever detector's bound crossed FIRST -- so the same
11
+ * underlying wedge got a different label depending on poll timing.
12
+ *
13
+ * This arbiter removes the timing dependence: given the SET of causes whose
14
+ * detectors have fired for a focus (their open escalations), it returns ONE
15
+ * authoritative cause by a STATED PRECEDENCE, independent of the order the bounds
16
+ * crossed. The precedence puts the ROOT blocker above the SYMPTOM: a specific
17
+ * blocker (an unclearable verify gate, a stuck branch, a review that cannot
18
+ * converge) outranks the generic "the team keeps failing" / "respawns halted"
19
+ * symptoms those blockers ultimately produce. So an operator (or a downstream
20
+ * reader) is pointed at the cause to fix, not the loudest or earliest alarm.
21
+ */
22
+ /**
23
+ * Wedge causes highest-precedence (ROOT) first. A cause earlier in this list
24
+ * outranks every cause after it when both are present. Every wedge/stall
25
+ * escalation kind the daemon files appears exactly once; a kind not listed here
26
+ * is not a wedge cause and is ignored by the arbiter.
27
+ */
28
+ export const WEDGE_CAUSE_PRECEDENCE = [
29
+ // Infra / merge root: nothing in the focus can advance until the branch is
30
+ // un-stuck, so it outranks every downstream symptom.
31
+ 'stuck_focus_branch',
32
+ // Delivery-level root: the verify gate cannot be cleared by re-work.
33
+ 'verify_gate_unclearable',
34
+ // Review roots: the review itself cannot converge / cover / hand off.
35
+ 'review_coverage_incomplete',
36
+ 'review_cycle_cap_exceeded',
37
+ 'review_handoff_exhausted',
38
+ // Review timing: the review window went stale.
39
+ 'review_window_stalled',
40
+ // A generic guard is stuck (operator triages from gate_state).
41
+ 'daemon_gate_stuck',
42
+ // A planning-stage rank-0 block wedges the ready selector.
43
+ 'wedged_focus',
44
+ // Symptoms of a repeatedly-failing focus (lowest precedence): the machine
45
+ // halted respawns / the team keeps giving up. These are what the roots above
46
+ // ultimately CAUSE, so a root, when present, always wins over them.
47
+ 'respawn_cycle_exhausted',
48
+ 'team_failure',
49
+ ];
50
+ const PRECEDENCE_RANK = new Map(WEDGE_CAUSE_PRECEDENCE.map((kind, i) => [kind, i]));
51
+ /** True when `kind` is a wedge cause the arbiter ranks. */
52
+ export function isWedgeCause(kind) {
53
+ return PRECEDENCE_RANK.has(kind);
54
+ }
55
+ /**
56
+ * Decide the ONE authoritative wedge cause from the set of causes whose
57
+ * detectors have fired. Deterministic and order-independent: the result depends
58
+ * only on WHICH causes are present, never on the order they were observed or
59
+ * passed in. Non-wedge kinds are ignored. Returns null when no wedge cause is
60
+ * present (an empty or all-non-wedge input).
61
+ */
62
+ export function arbitrateWedgeCause(crossedKinds) {
63
+ let best = null;
64
+ let bestRank = Number.POSITIVE_INFINITY;
65
+ for (const kind of crossedKinds) {
66
+ const rank = PRECEDENCE_RANK.get(kind);
67
+ if (rank === undefined)
68
+ continue; // not a wedge cause
69
+ if (rank < bestRank) {
70
+ bestRank = rank;
71
+ best = kind;
72
+ }
73
+ }
74
+ return best;
75
+ }
76
+ /**
77
+ * Report the ONE authoritative wedge cause for a focus, arbitrated from the
78
+ * evidence its detectors have filed (its open escalations). Deterministic: the
79
+ * result depends only on WHICH detectors have fired, never on the order they
80
+ * crossed. Returns null when the focus has no open wedge-cause escalation.
81
+ * Best-effort: on a read failure it returns null (the caller degrades to its own
82
+ * local cause) rather than throwing.
83
+ */
84
+ export async function getFocusWedgeCause(focusId, deps) {
85
+ let kinds;
86
+ try {
87
+ kinds = await deps.listOpenFocusEscalationKinds(focusId);
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ return arbitrateWedgeCause(kinds);
93
+ }
94
+ //# sourceMappingURL=wedge-cause-arbiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wedge-cause-arbiter.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-cause-arbiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,2EAA2E;IAC3E,qDAAqD;IACrD,oBAAoB;IACpB,qEAAqE;IACrE,yBAAyB;IACzB,sEAAsE;IACtE,4BAA4B;IAC5B,2BAA2B;IAC3B,0BAA0B;IAC1B,+CAA+C;IAC/C,uBAAuB;IACvB,+DAA+D;IAC/D,mBAAmB;IACnB,2DAA2D;IAC3D,cAAc;IACd,0EAA0E;IAC1E,6EAA6E;IAC7E,oEAAoE;IACpE,yBAAyB;IACzB,cAAc;CACf,CAAC;AAEF,MAAM,eAAe,GAAgC,IAAI,GAAG,CAC1D,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CACnD,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAA8B;IAChE,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS,CAAC,oBAAoB;QACtD,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC;YACpB,QAAQ,GAAG,IAAI,CAAC;YAChB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,IAA0B;IAE1B,IAAI,KAAe,CAAC;IACpB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC"}
@@ -10,7 +10,7 @@
10
10
  * @module focus-stage-lifecycle/wedge-watchdog
11
11
  */
12
12
  import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
13
- import { createEscalation as defaultCreateEscalation, hasOpenWedgedFocusEscalation as defaultHasOpenWedgedFocusEscalation } from '../queries/issues.js';
13
+ import { createEscalation as defaultCreateEscalation, hasOpenWedgedFocusEscalation as defaultHasOpenWedgedFocusEscalation, listOpenFocusEscalationKinds as defaultListOpenFocusEscalationKinds } from '../queries/escalations.js';
14
14
  /** A delivery as seen by the actionability classifier (rank-ascending walk). */
15
15
  export interface WedgeBlockingDelivery {
16
16
  id: string;
@@ -23,6 +23,12 @@ export interface WedgeBlockingDelivery {
23
23
  * daemon restart cannot reset the wedge clock (review finding, delivery 66c7d4d8).
24
24
  */
25
25
  updatedAt: string | null;
26
+ /**
27
+ * True iff this held delivery carries a HUMAN/EXTERNAL provenance hold
28
+ * (gate_state.operatorHold / externalHold), which exempts it from the wedge
29
+ * escalation. A machine pause (guard block, no hold) is false -> a wedge.
30
+ */
31
+ humanHold: boolean;
26
32
  }
27
33
  /** Pure classification of a focus's deliveries against the ready-focus walk. */
28
34
  export interface FocusActionability {
@@ -54,6 +60,15 @@ export declare function classifyFocusActionability(deliveries: ReadonlyArray<{
54
60
  executionStatus: string | null;
55
61
  priorityRank: number;
56
62
  updatedAt?: string | null;
63
+ /**
64
+ * The delivery's gate_state. Its operatorHold / externalHold fields are the
65
+ * HUMAN/EXTERNAL provenance markers (an operator-blocked escalation, or an
66
+ * irreducibly-external dependency). A pause with neither is machine-produced
67
+ * (a guard block writes `blocking`, not a hold) -- and a machine pause that
68
+ * stays stuck IS a wedge, per TEL-2. Typed `unknown` (the query surfaces the
69
+ * gate_state JSONB untyped); narrowed in hasHumanProvenanceHold.
70
+ */
71
+ gateState?: unknown;
57
72
  }>): FocusActionability;
58
73
  /**
59
74
  * Evict watchdog state for any focus NOT in `liveFocusIds`. A focus that goes
@@ -73,6 +88,8 @@ export declare function __resetWedgeWatchdogState(): void;
73
88
  export interface WedgeWatchdogDeps {
74
89
  getFocusDeliveries: typeof defaultGetFocusDeliveries;
75
90
  hasOpenWedgedFocusEscalation: typeof defaultHasOpenWedgedFocusEscalation;
91
+ /** Evidence for the wedge-cause arbiter (TEL-3): every open escalation kind naming the focus. */
92
+ listOpenFocusEscalationKinds: typeof defaultListOpenFocusEscalationKinds;
76
93
  createEscalation: typeof defaultCreateEscalation;
77
94
  /** Kickoff-window discriminator: a running scoping team means "not a wedge". */
78
95
  hasActiveTeam: (focusId: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"wedge-watchdog.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,gBAAgB,IAAI,uBAAuB,EAC3C,4BAA4B,IAAI,mCAAmC,EAEpE,MAAM,sBAAsB,CAAC;AA8D9B,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iHAAiH;IACjH,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sGAAsG;IACtG,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,yFAAyF;IACzF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC,GACD,kBAAkB,CAwBpB;AAsED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/E;AAED,yDAAyD;AACzD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAeD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,4BAA4B,EAAE,OAAO,mCAAmC,CAAC;IACzE,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,gFAAgF;IAChF,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAaD,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,EACD,IAAI,GAAE,iBAA8C,GACnD,OAAO,CAAC,YAAY,CAAC,CA+JvB"}
1
+ {"version":3,"file":"wedge-watchdog.d.ts","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,4BAA4B,IAAI,mCAAmC,EAAE,4BAA4B,IAAI,mCAAmC,EAAgC,MAAM,2BAA2B,CAAC;AAkFhQ,gFAAgF;AAChF,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,iHAAiH;IACjH,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sGAAsG;IACtG,gBAAgB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC/C,yFAAyF;IACzF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,aAAa,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,GACD,kBAAkB,CAyBpB;AAsED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAE/E;AAED,yDAAyD;AACzD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAeD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,yBAAyB,CAAC;IACrD,4BAA4B,EAAE,OAAO,mCAAmC,CAAC;IACzE,iGAAiG;IACjG,4BAA4B,EAAE,OAAO,mCAAmC,CAAC;IACzE,gBAAgB,EAAE,OAAO,uBAAuB,CAAC;IACjD,gFAAgF;IAChF,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAcD,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,EACD,IAAI,GAAE,iBAA8C,GACnD,OAAO,CAAC,YAAY,CAAC,CA+LvB"}
@@ -10,7 +10,8 @@
10
10
  * @module focus-stage-lifecycle/wedge-watchdog
11
11
  */
12
12
  import { getFocusDeliveries as defaultGetFocusDeliveries } from '../queries/focuses.js';
13
- import { createEscalation as defaultCreateEscalation, hasOpenWedgedFocusEscalation as defaultHasOpenWedgedFocusEscalation, WEDGED_FOCUS_ESCALATION_KIND, } from '../queries/issues.js';
13
+ import { createEscalation as defaultCreateEscalation, hasOpenWedgedFocusEscalation as defaultHasOpenWedgedFocusEscalation, listOpenFocusEscalationKinds as defaultListOpenFocusEscalationKinds, WEDGED_FOCUS_ESCALATION_KIND } from '../queries/escalations.js';
14
+ import { arbitrateWedgeCause } from './wedge-cause-arbiter.js';
14
15
  import { ESCALATION_REASONS, ESCALATION_DISPOSITIONS, DELIVERY_STATUS, loadEnvConfig, } from '@telora/daemon-core';
15
16
  import { hasActiveTeam as defaultHasActiveTeam } from '../focus/focus-team-state.js';
16
17
  import { createLogger } from '../shell/log.js';
@@ -54,14 +55,33 @@ const WEDGE_ACTIONABLE_STATUSES = new Set([
54
55
  ]);
55
56
  /**
56
57
  * Held statuses that constitute a WEDGE worth escalating: work that should be
57
- * advancing but is stuck. Deliberately EXCLUDES 'paused' -- a pause is an
58
- * intentional human hold, not a wedge (AC: the watchdog must not fire for a
59
- * focus paused by a human).
58
+ * advancing but is stuck. INCLUDES 'paused' (TEL-2): a pause is NOT automatically
59
+ * a human hold. Every pause the daemon writes today is machine-produced -- a
60
+ * guard block (delivery-reconciler) writes `gate_state.blocking` and sets
61
+ * `paused` -- and a machine pause that stays stuck withholds winding_down
62
+ * indefinitely, exactly the wedge this watchdog exists to surface. Only a pause
63
+ * with HUMAN/EXTERNAL provenance (gate_state.operatorHold / externalHold) is
64
+ * exempt, decided per-delivery via `humanHold` below -- not by blanket-excluding
65
+ * the status.
60
66
  */
61
67
  const WEDGE_HELD_STATUSES = new Set([
62
68
  DELIVERY_STATUS.PLANNING,
63
69
  DELIVERY_STATUS.DRAFT,
70
+ DELIVERY_STATUS.PAUSED,
64
71
  ]);
72
+ /**
73
+ * A held delivery has HUMAN/EXTERNAL provenance iff its gate_state carries an
74
+ * operatorHold (an open operator-blocked escalation) or an externalHold (an
75
+ * irreducibly-external dependency). Either names a specific act/reality outside
76
+ * the daemon's reach, so it is exempt from the wedge escalation. A machine pause
77
+ * (guard block) carries neither and is NOT exempt.
78
+ */
79
+ function hasHumanProvenanceHold(gateState) {
80
+ if (gateState == null || typeof gateState !== 'object')
81
+ return false;
82
+ const gs = gateState;
83
+ return gs.operatorHold != null || gs.externalHold != null;
84
+ }
65
85
  /**
66
86
  * Replicate the server-side ready-focus rank-walk to decide whether a focus
67
87
  * surfaces actionable work, and if not, which delivery blocks it.
@@ -95,6 +115,7 @@ export function classifyFocusActionability(deliveries) {
95
115
  status,
96
116
  priorityRank: d.priorityRank,
97
117
  updatedAt: d.updatedAt ?? null,
118
+ humanHold: hasHumanProvenanceHold(d.gateState),
98
119
  },
99
120
  allTerminal: false,
100
121
  };
@@ -195,6 +216,7 @@ function defaultWedgeWatchdogDeps() {
195
216
  return {
196
217
  getFocusDeliveries: defaultGetFocusDeliveries,
197
218
  hasOpenWedgedFocusEscalation: defaultHasOpenWedgedFocusEscalation,
219
+ listOpenFocusEscalationKinds: defaultListOpenFocusEscalationKinds,
198
220
  createEscalation: defaultCreateEscalation,
199
221
  hasActiveTeam: defaultHasActiveTeam,
200
222
  now: () => Date.now(),
@@ -256,7 +278,11 @@ export async function evaluateFocusWedge(focus, deps = defaultWedgeWatchdogDeps(
256
278
  : { kind: 'skipped', reason: 'all_terminal_or_empty' };
257
279
  }
258
280
  const block = actionability.blockingDelivery;
259
- const isWedgeHeld = WEDGE_HELD_STATUSES.has(block.status); // planning/draft vs paused
281
+ // A held status is a wedge UNLESS the delivery carries a human/external
282
+ // provenance hold (operatorHold / externalHold). planning/draft never carry a
283
+ // hold, so they stay wedge-held; a machine pause (guard block) has no hold and
284
+ // is now a wedge; only a named human/external hold is exempt (TEL-2).
285
+ const isWedgeHeld = WEDGE_HELD_STATUSES.has(block.status) && !block.humanHold;
260
286
  const teamActive = deps.hasActiveTeam(focus.focusId);
261
287
  // ── D3: daemon-side zero-actionable log (dampened to state change) ──
262
288
  // Characterization distinguishes THREE states (review finding, delivery
@@ -265,7 +291,7 @@ export async function evaluateFocusWedge(focus, deps = defaultWedgeWatchdogDeps(
265
291
  // running). The old two-way split mislabeled a legitimate kickoff focus as
266
292
  // "wedged"; the active-team signal separates them.
267
293
  const characterization = !isWedgeHeld
268
- ? 'idle (delivery paused by a human)'
294
+ ? 'idle (delivery held by a named human/external hold)'
269
295
  : teamActive
270
296
  ? 'scoping in progress (team active, deliveries being shaped -- not a wedge)'
271
297
  : 'wedged (work held, no team running)';
@@ -325,6 +351,22 @@ export async function evaluateFocusWedge(focus, deps = defaultWedgeWatchdogDeps(
325
351
  return { kind: 'zero_actionable', escalated: false, wedged: true, blockingStatus: block.status };
326
352
  }
327
353
  const wedgedMinutes = Math.round((now - firstSeen) / 60_000);
354
+ // TEL-3 arbiter: the cause this wedge REPORTS is decided deterministically from
355
+ // ALL the detectors' evidence (the focus's open wedge escalations) plus this
356
+ // watchdog's own wedged_focus cause -- by stated precedence, not by which bound
357
+ // crossed first. A higher-precedence ROOT already open (e.g. verify_gate_
358
+ // unclearable, stuck_focus_branch, a non-converging review) outranks wedged_focus,
359
+ // so the operator is pointed at the root, not the loudest alarm. Best-effort: a
360
+ // read failure falls back to this watchdog's own cause.
361
+ let openKinds = [];
362
+ try {
363
+ openKinds = await deps.listOpenFocusEscalationKinds(focus.focusId);
364
+ }
365
+ catch (err) {
366
+ log.warn(`[focus-stage-lifecycle] Wedge eval: open-escalation read failed for ` +
367
+ `"${focus.focusName}" (arbitrated cause falls back to wedged_focus): ${err.message}`);
368
+ }
369
+ const arbitratedRootCause = arbitrateWedgeCause([...openKinds, WEDGED_FOCUS_ESCALATION_KIND]) ?? WEDGED_FOCUS_ESCALATION_KIND;
328
370
  try {
329
371
  await deps.createEscalation({
330
372
  organizationId: focus.organizationId,
@@ -348,7 +390,11 @@ export async function evaluateFocusWedge(focus, deps = defaultWedgeWatchdogDeps(
348
390
  `spawns. It has been wedged for ~${wedgedMinutes} minute(s). The ` +
349
391
  `writable planning->queued release should normally clear a 'planning' ` +
350
392
  `block; investigate why the delivery is not being released ` +
351
- `(a 'draft' block is not swept by that release and needs attention).`,
393
+ `(a 'draft' block is not swept by that release and needs attention).` +
394
+ (arbitratedRootCause !== WEDGED_FOCUS_ESCALATION_KIND
395
+ ? `\n\n**Arbitrated root cause:** ${arbitratedRootCause} -- a higher-precedence ` +
396
+ `blocker is already open for this focus; fix that first (this wedge is downstream of it).`
397
+ : ''),
352
398
  // Local string const (mirrors ESCALATION_KINDS.WEDGED_FOCUS in
353
399
  // daemon-core, the SSOT) so the write works against the currently-
354
400
  // installed daemon-core before it is republished with the new enum value.
@@ -359,6 +405,10 @@ export async function evaluateFocusWedge(focus, deps = defaultWedgeWatchdogDeps(
359
405
  blockingDeliveryId: block.id,
360
406
  blockingDeliveryStatus: block.status,
361
407
  wedgedMinutes,
408
+ // The deterministic, precedence-arbitrated root cause across all of the
409
+ // focus's open wedge detectors (TEL-3). Equals wedged_focus when this is
410
+ // the highest-precedence cause open.
411
+ arbitratedRootCause,
362
412
  },
363
413
  });
364
414
  log.warn(`[focus-stage-lifecycle] wedged_focus escalation filed for ` +
@@ -1 +1 @@
1
- {"version":3,"file":"wedge-watchdog.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACxF,OAAO,EACL,gBAAgB,IAAI,uBAAuB,EAC3C,4BAA4B,IAAI,mCAAmC,EACnE,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,GAAG,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC,CAAC;AAG9D,qEAAqE;AAErE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,2BAA2B,GAAwB,IAAI,GAAG,CAAS;IACvE,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,SAAS;IACzB,eAAe,CAAC,MAAM;CACvB,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAS;IACrE,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,MAAM;IACtB,eAAe,CAAC,aAAa;CAC9B,CAAC,CAAC;AACH;;;;;GAKG;AACH,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAS;IAC/D,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,KAAK;CACtB,CAAC,CAAC;AA2BH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,0BAA0B,CACxC,UAME;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;QACvC,IAAI,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,SAAS;QACtD,IAAI,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAC9F,CAAC;QACD,sEAAsE;QACtE,OAAO;YACL,UAAU;YACV,kBAAkB,EAAE,KAAK;YACzB,gBAAgB,EAAE;gBAChB,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM;gBACN,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,IAAI;aAC/B;YACD,WAAW,EAAE,KAAK;SACnB,CAAC;IACJ,CAAC;IACD,qEAAqE;IACrE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB;IACL,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEpD,2CAA2C;IAC3C,YAAY,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,YAAY,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IACD,YAAY,CAAC,OAAe,EAAE,EAAU;QACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,8CAA8C;IAC9C,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IACD,SAAS,CAAC,OAAe,EAAE,GAAW;QACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,YAAiC;QACrC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED,kEAAkE;AAClE,MAAM,UAAU,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAE5C,oFAAoF;AACpF,SAAS,oBAAoB,CAAC,OAAe;IAC3C,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAiC;IACvE,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AACjC,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,yBAAyB;IACvC,UAAU,CAAC,KAAK,EAAE,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,uBAAuB;IAC9B,OAAO,aAAa,EAAE,CAAC,iCAAiC,GAAG,MAAM,CAAC;AACpE,CAAC;AAgBD,SAAS,wBAAwB;IAC/B,OAAO;QACL,kBAAkB,EAAE,yBAAyB;QAC7C,4BAA4B,EAAE,mCAAmC;QACjE,gBAAgB,EAAE,uBAAuB;QACzC,aAAa,EAAE,oBAAoB;QACnC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,WAAW,EAAE,uBAAuB,EAAE;KACvC,CAAC;AACJ,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KASC,EACD,OAA0B,wBAAwB,EAAE;IAEpD,qEAAqE;IACrE,sEAAsE;IACtE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC5D,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IACjE,CAAC;IAED,IAAI,UAAiE,CAAC;IACtE,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,qEAAqE;YACrE,IAAI,KAAK,CAAC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAClD,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,aAAa,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAE7D,6EAA6E;IAC7E,8EAA8E;IAC9E,IAAI,aAAa,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACxE,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,aAAa,CAAC,kBAAkB;YACrC,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE;YACjC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,gBAAgB,CAAC;IAC7C,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B;IACtF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAErD,uEAAuE;IACvE,wEAAwE;IACxE,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,CAAC,WAAW;QACnC,CAAC,CAAC,mCAAmC;QACrC,CAAC,CAAC,UAAU;YACV,CAAC,CAAC,2EAA2E;YAC7E,CAAC,CAAC,qCAAqC,CAAC;IAC5C,+EAA+E;IAC/E,mFAAmF;IACnF,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/E,IAAI,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;QACnD,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,IAAI,CACN,kCAAkC,KAAK,CAAC,SAAS,YAAY,KAAK,CAAC,KAAK,IAAI,SAAS,IAAI;YACzF,6CAA6C,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,OAAO;YACrF,IAAI,KAAK,CAAC,MAAM,cAAc,gBAAgB,GAAG,CAClD,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,+EAA+E;IAC/E,gFAAgF;IAChF,uDAAuD;IACvD,MAAM,kBAAkB,GACtB,KAAK,CAAC,QAAQ,KAAK,KAAK;QACxB,WAAW;QACX,CAAC,UAAU,CAAC;IAEd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,6EAA6E;QAC7E,0EAA0E;QAC1E,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACpG,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,gFAAgF;IAChF,0EAA0E;IAC1E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACxE,IAAI,SAAiB,CAAC;IACtB,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACjC,SAAS,GAAG,WAAW,CAAC;QACxB,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC;IACtF,CAAC;SAAM,CAAC;QACN,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IACD,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACnG,CAAC;IAED,gFAAgF;IAChF,IAAI,CAAC;QACH,IAAI,MAAM,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QACnG,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,6DAA6D;YAC7D,IAAI,KAAK,CAAC,SAAS,sCAAuC,GAAa,CAAC,OAAO,EAAE,CAClF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACnG,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,gBAAgB,CAAC;YAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,kBAAkB,CAAC,mBAAmB;YAClD,oEAAoE;YACpE,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,0EAA0E;YAC1E,6EAA6E;YAC7E,0EAA0E;YAC1E,WAAW,EAAE,uBAAuB,CAAC,cAAc;YACnD,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE;YAClC,WAAW,EACT,UAAU,KAAK,CAAC,SAAS,4CAA4C;gBACrE,2EAA2E;gBAC3E,YAAY,KAAK,CAAC,YAAY,cAAc,KAAK,CAAC,IAAI,gBAAgB;gBACtE,IAAI,KAAK,CAAC,MAAM,oDAAoD;gBACpE,mCAAmC,aAAa,kBAAkB;gBAClE,uEAAuE;gBACvE,4DAA4D;gBAC5D,qEAAqE;YACvE,+DAA+D;YAC/D,mEAAmE;YACnE,0EAA0E;YAC1E,cAAc,EAAE,4BAA4B;YAC5C,QAAQ,EAAE;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,4BAA4B;gBAClC,kBAAkB,EAAE,KAAK,CAAC,EAAE;gBAC5B,sBAAsB,EAAE,KAAK,CAAC,MAAM;gBACpC,aAAa;aACd;SACF,CAAC,CAAC;QACH,GAAG,CAAC,IAAI,CACN,4DAA4D;YAC5D,IAAI,KAAK,CAAC,SAAS,WAAW,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,OAAO;YACtE,IAAI,KAAK,CAAC,MAAM,cAAc,aAAa,KAAK,CACjD,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IAClG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CACN,qEAAqE;YACrE,IAAI,KAAK,CAAC,SAAS,MAAO,GAAa,CAAC,OAAO,EAAE,CAClD,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;IACnG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wedge-watchdog.js","sourceRoot":"","sources":["../../src/focus-stage-lifecycle/wedge-watchdog.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,8 @@ export * from './types.js';
22
22
  export * from './merge-lock.js';
23
23
  export * from './branch.js';
24
24
  export * from './merge.js';
25
+ export * from './merge-strategies.js';
26
+ export * from './merge-to-main.js';
25
27
  export * from './integration.js';
26
28
  export * from './state-detector.js';
27
29
  export * from './activity.js';