@telora/daemon 0.22.132 → 0.22.136

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 (549) hide show
  1. package/build-info.json +6 -3
  2. package/dist/audit/audit-hooks.d.ts +6 -2
  3. package/dist/audit/audit-hooks.d.ts.map +1 -1
  4. package/dist/audit/audit-hooks.js +12 -5
  5. package/dist/audit/audit-hooks.js.map +1 -1
  6. package/dist/audit/audit-phase.js +1 -1
  7. package/dist/audit/audit-phase.js.map +1 -1
  8. package/dist/backends/index.d.ts.map +1 -1
  9. package/dist/backends/index.js +1 -0
  10. package/dist/backends/index.js.map +1 -1
  11. package/dist/completion/completion-phase-registry.d.ts +4 -0
  12. package/dist/completion/completion-phase-registry.d.ts.map +1 -1
  13. package/dist/completion/completion-phase-registry.js +63 -18
  14. package/dist/completion/completion-phase-registry.js.map +1 -1
  15. package/dist/completion/exit-classification.d.ts.map +1 -1
  16. package/dist/completion/exit-classification.js +1 -0
  17. package/dist/completion/exit-classification.js.map +1 -1
  18. package/dist/completion/review-approved-head-gate.d.ts +53 -0
  19. package/dist/completion/review-approved-head-gate.d.ts.map +1 -0
  20. package/dist/completion/review-approved-head-gate.js +124 -0
  21. package/dist/completion/review-approved-head-gate.js.map +1 -0
  22. package/dist/completion/review-census-record.d.ts +52 -0
  23. package/dist/completion/review-census-record.d.ts.map +1 -0
  24. package/dist/completion/review-census-record.js +145 -0
  25. package/dist/completion/review-census-record.js.map +1 -0
  26. package/dist/completion/review-exit-deps.d.ts +5 -1
  27. package/dist/completion/review-exit-deps.d.ts.map +1 -1
  28. package/dist/completion/review-exit-deps.js +7 -2
  29. package/dist/completion/review-exit-deps.js.map +1 -1
  30. package/dist/completion/review-exit-phase.d.ts.map +1 -1
  31. package/dist/completion/review-exit-phase.js +29 -16
  32. package/dist/completion/review-exit-phase.js.map +1 -1
  33. package/dist/completion/review-exit-progress.d.ts +8 -0
  34. package/dist/completion/review-exit-progress.d.ts.map +1 -1
  35. package/dist/completion/review-exit-progress.js +14 -0
  36. package/dist/completion/review-exit-progress.js.map +1 -1
  37. package/dist/completion/review-exit-shortfall-park.d.ts +14 -0
  38. package/dist/completion/review-exit-shortfall-park.d.ts.map +1 -0
  39. package/dist/completion/review-exit-shortfall-park.js +52 -0
  40. package/dist/completion/review-exit-shortfall-park.js.map +1 -0
  41. package/dist/completion/review-exit-shortfall.js +1 -1
  42. package/dist/completion/review-exit-shortfall.js.map +1 -1
  43. package/dist/completion/review-exit-verdict-gate.d.ts +58 -0
  44. package/dist/completion/review-exit-verdict-gate.d.ts.map +1 -1
  45. package/dist/completion/review-exit-verdict-gate.js +68 -8
  46. package/dist/completion/review-exit-verdict-gate.js.map +1 -1
  47. package/dist/completion/review-next-step.d.ts +15 -3
  48. package/dist/completion/review-next-step.d.ts.map +1 -1
  49. package/dist/completion/review-next-step.js +7 -2
  50. package/dist/completion/review-next-step.js.map +1 -1
  51. package/dist/completion/standing-approval-convergence.d.ts +68 -0
  52. package/dist/completion/standing-approval-convergence.d.ts.map +1 -0
  53. package/dist/completion/standing-approval-convergence.js +230 -0
  54. package/dist/completion/standing-approval-convergence.js.map +1 -0
  55. package/dist/completion/standing-approval-deps.d.ts +5 -0
  56. package/dist/completion/standing-approval-deps.d.ts.map +1 -0
  57. package/dist/completion/standing-approval-deps.js +37 -0
  58. package/dist/completion/standing-approval-deps.js.map +1 -0
  59. package/dist/completion/state-cascade.d.ts +11 -0
  60. package/dist/completion/state-cascade.d.ts.map +1 -1
  61. package/dist/completion/state-cascade.js +40 -1
  62. package/dist/completion/state-cascade.js.map +1 -1
  63. package/dist/completion/team-lifecycle.d.ts +14 -2
  64. package/dist/completion/team-lifecycle.d.ts.map +1 -1
  65. package/dist/completion/team-lifecycle.js +36 -36
  66. package/dist/completion/team-lifecycle.js.map +1 -1
  67. package/dist/completion/terminated-work-reconcile.d.ts +3 -1
  68. package/dist/completion/terminated-work-reconcile.d.ts.map +1 -1
  69. package/dist/completion/terminated-work-reconcile.js +24 -11
  70. package/dist/completion/terminated-work-reconcile.js.map +1 -1
  71. package/dist/delivery/delivery-advance-block.d.ts +6 -0
  72. package/dist/delivery/delivery-advance-block.d.ts.map +1 -1
  73. package/dist/delivery/delivery-advance-block.js +29 -3
  74. package/dist/delivery/delivery-advance-block.js.map +1 -1
  75. package/dist/delivery/delivery-reconciler.d.ts.map +1 -1
  76. package/dist/delivery/delivery-reconciler.js +4 -1
  77. package/dist/delivery/delivery-reconciler.js.map +1 -1
  78. package/dist/delivery/operator-hold.d.ts.map +1 -1
  79. package/dist/delivery/operator-hold.js +3 -1
  80. package/dist/delivery/operator-hold.js.map +1 -1
  81. package/dist/directive/directive-executor.d.ts.map +1 -1
  82. package/dist/directive/directive-executor.js +6 -0
  83. package/dist/directive/directive-executor.js.map +1 -1
  84. package/dist/directive/directive-queue.d.ts +8 -0
  85. package/dist/directive/directive-queue.d.ts.map +1 -1
  86. package/dist/directive/directive-queue.js +20 -0
  87. package/dist/directive/directive-queue.js.map +1 -1
  88. package/dist/directive/phase-sync.d.ts +5 -0
  89. package/dist/directive/phase-sync.d.ts.map +1 -1
  90. package/dist/directive/phase-sync.js +11 -1
  91. package/dist/directive/phase-sync.js.map +1 -1
  92. package/dist/directive/stranded-review-reroute.d.ts +37 -0
  93. package/dist/directive/stranded-review-reroute.d.ts.map +1 -0
  94. package/dist/directive/stranded-review-reroute.js +150 -0
  95. package/dist/directive/stranded-review-reroute.js.map +1 -0
  96. package/dist/focus/focus-engine.d.ts.map +1 -1
  97. package/dist/focus/focus-engine.js +15 -3
  98. package/dist/focus/focus-engine.js.map +1 -1
  99. package/dist/focus/focus-executor.d.ts.map +1 -1
  100. package/dist/focus/focus-executor.js +9 -65
  101. package/dist/focus/focus-executor.js.map +1 -1
  102. package/dist/focus/focus-lifecycle.d.ts +12 -0
  103. package/dist/focus/focus-lifecycle.d.ts.map +1 -1
  104. package/dist/focus/focus-lifecycle.js +66 -37
  105. package/dist/focus/focus-lifecycle.js.map +1 -1
  106. package/dist/focus/focus-phase.d.ts.map +1 -1
  107. package/dist/focus/focus-phase.js +6 -0
  108. package/dist/focus/focus-phase.js.map +1 -1
  109. package/dist/focus/focus-spawn-decision.d.ts.map +1 -1
  110. package/dist/focus/focus-spawn-decision.js +1 -0
  111. package/dist/focus/focus-spawn-decision.js.map +1 -1
  112. package/dist/focus/focus-team-state.d.ts +10 -0
  113. package/dist/focus/focus-team-state.d.ts.map +1 -1
  114. package/dist/focus/focus-team-state.js +19 -1
  115. package/dist/focus/focus-team-state.js.map +1 -1
  116. package/dist/focus/listener-auto-advance.d.ts.map +1 -1
  117. package/dist/focus/listener-auto-advance.js +1 -0
  118. package/dist/focus/listener-auto-advance.js.map +1 -1
  119. package/dist/focus/listener-spawn.d.ts +10 -0
  120. package/dist/focus/listener-spawn.d.ts.map +1 -1
  121. package/dist/focus/listener-spawn.js +46 -4
  122. package/dist/focus/listener-spawn.js.map +1 -1
  123. package/dist/focus/listener-state.d.ts.map +1 -1
  124. package/dist/focus/listener-state.js +11 -1
  125. package/dist/focus/listener-state.js.map +1 -1
  126. package/dist/focus/listener.d.ts +42 -0
  127. package/dist/focus/listener.d.ts.map +1 -1
  128. package/dist/focus/listener.js +62 -33
  129. package/dist/focus/listener.js.map +1 -1
  130. package/dist/focus/pending-review-approved-head.d.ts +41 -0
  131. package/dist/focus/pending-review-approved-head.d.ts.map +1 -0
  132. package/dist/focus/pending-review-approved-head.js +198 -0
  133. package/dist/focus/pending-review-approved-head.js.map +1 -0
  134. package/dist/focus/pending-spawn-pass-deps.d.ts +5 -0
  135. package/dist/focus/pending-spawn-pass-deps.d.ts.map +1 -1
  136. package/dist/focus/pending-spawn-pass-deps.js +2 -1
  137. package/dist/focus/pending-spawn-pass-deps.js.map +1 -1
  138. package/dist/focus/pending-spawn-review-next-step.d.ts.map +1 -1
  139. package/dist/focus/pending-spawn-review-next-step.js +26 -4
  140. package/dist/focus/pending-spawn-review-next-step.js.map +1 -1
  141. package/dist/focus/review-spawn-coverage.d.ts +87 -0
  142. package/dist/focus/review-spawn-coverage.d.ts.map +1 -0
  143. package/dist/focus/review-spawn-coverage.js +104 -0
  144. package/dist/focus/review-spawn-coverage.js.map +1 -0
  145. package/dist/focus/session-health.d.ts +5 -2
  146. package/dist/focus/session-health.d.ts.map +1 -1
  147. package/dist/focus/session-health.js +2 -1
  148. package/dist/focus/session-health.js.map +1 -1
  149. package/dist/focus/session-process-reap.d.ts +50 -0
  150. package/dist/focus/session-process-reap.d.ts.map +1 -0
  151. package/dist/focus/session-process-reap.js +77 -0
  152. package/dist/focus/session-process-reap.js.map +1 -0
  153. package/dist/focus/unchanged-reviewed-head.d.ts +40 -0
  154. package/dist/focus/unchanged-reviewed-head.d.ts.map +1 -0
  155. package/dist/focus/unchanged-reviewed-head.js +84 -0
  156. package/dist/focus/unchanged-reviewed-head.js.map +1 -0
  157. package/dist/focus/verify-open-issues.d.ts +4 -19
  158. package/dist/focus/verify-open-issues.d.ts.map +1 -1
  159. package/dist/focus/verify-open-issues.js +83 -41
  160. package/dist/focus/verify-open-issues.js.map +1 -1
  161. package/dist/git/focus-integration-sync.d.ts +61 -0
  162. package/dist/git/focus-integration-sync.d.ts.map +1 -0
  163. package/dist/git/focus-integration-sync.js +73 -0
  164. package/dist/git/focus-integration-sync.js.map +1 -0
  165. package/dist/git/focus-own-delta.d.ts +38 -0
  166. package/dist/git/focus-own-delta.d.ts.map +1 -0
  167. package/dist/git/focus-own-delta.js +193 -0
  168. package/dist/git/focus-own-delta.js.map +1 -0
  169. package/dist/git/index.d.ts +2 -0
  170. package/dist/git/index.d.ts.map +1 -1
  171. package/dist/git/index.js +4 -0
  172. package/dist/git/index.js.map +1 -1
  173. package/dist/git/merge.d.ts.map +1 -1
  174. package/dist/git/merge.js +11 -1
  175. package/dist/git/merge.js.map +1 -1
  176. package/dist/git/resolution-restore.d.ts +66 -0
  177. package/dist/git/resolution-restore.d.ts.map +1 -0
  178. package/dist/git/resolution-restore.js +331 -0
  179. package/dist/git/resolution-restore.js.map +1 -0
  180. package/dist/loops/engine.d.ts.map +1 -1
  181. package/dist/loops/engine.js.map +1 -1
  182. package/dist/merge/abandoned-merge-recovery.d.ts +72 -0
  183. package/dist/merge/abandoned-merge-recovery.d.ts.map +1 -0
  184. package/dist/merge/abandoned-merge-recovery.js +117 -0
  185. package/dist/merge/abandoned-merge-recovery.js.map +1 -0
  186. package/dist/merge/focus-merge.d.ts +19 -0
  187. package/dist/merge/focus-merge.d.ts.map +1 -1
  188. package/dist/merge/focus-merge.js +136 -99
  189. package/dist/merge/focus-merge.js.map +1 -1
  190. package/dist/merge/merge-back-activity.d.ts +11 -0
  191. package/dist/merge/merge-back-activity.d.ts.map +1 -0
  192. package/dist/merge/merge-back-activity.js +57 -0
  193. package/dist/merge/merge-back-activity.js.map +1 -0
  194. package/dist/merge/merge-back-conflict.d.ts +119 -0
  195. package/dist/merge/merge-back-conflict.d.ts.map +1 -0
  196. package/dist/merge/merge-back-conflict.js +178 -0
  197. package/dist/merge/merge-back-conflict.js.map +1 -0
  198. package/dist/merge/merge-back-followup.d.ts +109 -0
  199. package/dist/merge/merge-back-followup.d.ts.map +1 -0
  200. package/dist/merge/merge-back-followup.js +316 -0
  201. package/dist/merge/merge-back-followup.js.map +1 -0
  202. package/dist/merge/merge-back-loop.d.ts +2 -0
  203. package/dist/merge/merge-back-loop.d.ts.map +1 -1
  204. package/dist/merge/merge-back-loop.js +14 -15
  205. package/dist/merge/merge-back-loop.js.map +1 -1
  206. package/dist/merge/merge-conflict-escalation.d.ts +12 -0
  207. package/dist/merge/merge-conflict-escalation.d.ts.map +1 -1
  208. package/dist/merge/merge-conflict-escalation.js +37 -2
  209. package/dist/merge/merge-conflict-escalation.js.map +1 -1
  210. package/dist/merge/merge-gate-coverage.d.ts.map +1 -1
  211. package/dist/merge/merge-gate-coverage.js +1 -0
  212. package/dist/merge/merge-gate-coverage.js.map +1 -1
  213. package/dist/prompt/prompt-listing.d.ts +5 -0
  214. package/dist/prompt/prompt-listing.d.ts.map +1 -1
  215. package/dist/prompt/prompt-listing.js +35 -0
  216. package/dist/prompt/prompt-listing.js.map +1 -1
  217. package/dist/prompt-sections/routing-decider-sections.d.ts.map +1 -1
  218. package/dist/prompt-sections/routing-decider-sections.js +2 -0
  219. package/dist/prompt-sections/routing-decider-sections.js.map +1 -1
  220. package/dist/prompt-sections/shortfall-park-section.d.ts +43 -0
  221. package/dist/prompt-sections/shortfall-park-section.d.ts.map +1 -0
  222. package/dist/prompt-sections/shortfall-park-section.js +36 -0
  223. package/dist/prompt-sections/shortfall-park-section.js.map +1 -0
  224. package/dist/queries/agent-resolvable-promotion.d.ts +16 -2
  225. package/dist/queries/agent-resolvable-promotion.d.ts.map +1 -1
  226. package/dist/queries/agent-resolvable-promotion.js +30 -3
  227. package/dist/queries/agent-resolvable-promotion.js.map +1 -1
  228. package/dist/queries/cause-key.d.ts +17 -22
  229. package/dist/queries/cause-key.d.ts.map +1 -1
  230. package/dist/queries/cause-key.js +50 -1
  231. package/dist/queries/cause-key.js.map +1 -1
  232. package/dist/queries/commit-attributions.d.ts +18 -0
  233. package/dist/queries/commit-attributions.d.ts.map +1 -0
  234. package/dist/queries/commit-attributions.js +39 -0
  235. package/dist/queries/commit-attributions.js.map +1 -0
  236. package/dist/queries/deliveries.d.ts.map +1 -1
  237. package/dist/queries/deliveries.js +3 -1
  238. package/dist/queries/deliveries.js.map +1 -1
  239. package/dist/queries/delivery-gate-state.d.ts +21 -5
  240. package/dist/queries/delivery-gate-state.d.ts.map +1 -1
  241. package/dist/queries/delivery-gate-state.js +35 -9
  242. package/dist/queries/delivery-gate-state.js.map +1 -1
  243. package/dist/queries/escalation-consumption.d.ts.map +1 -1
  244. package/dist/queries/escalation-consumption.js +2 -1
  245. package/dist/queries/escalation-consumption.js.map +1 -1
  246. package/dist/queries/escalation-field-bounds.d.ts +48 -0
  247. package/dist/queries/escalation-field-bounds.d.ts.map +1 -0
  248. package/dist/queries/escalation-field-bounds.js +83 -0
  249. package/dist/queries/escalation-field-bounds.js.map +1 -0
  250. package/dist/queries/escalation-refusal.d.ts +88 -0
  251. package/dist/queries/escalation-refusal.d.ts.map +1 -0
  252. package/dist/queries/escalation-refusal.js +217 -0
  253. package/dist/queries/escalation-refusal.js.map +1 -0
  254. package/dist/queries/escalation-suppression.d.ts +6 -0
  255. package/dist/queries/escalation-suppression.d.ts.map +1 -1
  256. package/dist/queries/escalation-suppression.js +4 -13
  257. package/dist/queries/escalation-suppression.js.map +1 -1
  258. package/dist/queries/escalations.d.ts +5 -13
  259. package/dist/queries/escalations.d.ts.map +1 -1
  260. package/dist/queries/escalations.js +25 -30
  261. package/dist/queries/escalations.js.map +1 -1
  262. package/dist/queries/filing-observation.d.ts.map +1 -1
  263. package/dist/queries/filing-observation.js +3 -1
  264. package/dist/queries/filing-observation.js.map +1 -1
  265. package/dist/queries/focus-review-approval.d.ts +2 -0
  266. package/dist/queries/focus-review-approval.d.ts.map +1 -1
  267. package/dist/queries/focus-review-approval.js +7 -2
  268. package/dist/queries/focus-review-approval.js.map +1 -1
  269. package/dist/queries/focuses.d.ts.map +1 -1
  270. package/dist/queries/focuses.js +2 -1
  271. package/dist/queries/focuses.js.map +1 -1
  272. package/dist/queries/incident-correlation.d.ts.map +1 -1
  273. package/dist/queries/incident-correlation.js +4 -1
  274. package/dist/queries/incident-correlation.js.map +1 -1
  275. package/dist/queries/misattributed-commits-record.d.ts +26 -0
  276. package/dist/queries/misattributed-commits-record.d.ts.map +1 -0
  277. package/dist/queries/misattributed-commits-record.js +5 -0
  278. package/dist/queries/misattributed-commits-record.js.map +1 -0
  279. package/dist/queries/reality-tree.d.ts.map +1 -1
  280. package/dist/queries/reality-tree.js +2 -1
  281. package/dist/queries/reality-tree.js.map +1 -1
  282. package/dist/queries/schemas.d.ts +3 -0
  283. package/dist/queries/schemas.d.ts.map +1 -1
  284. package/dist/queries/schemas.js +1 -0
  285. package/dist/queries/schemas.js.map +1 -1
  286. package/dist/queries/shared.js +1 -1
  287. package/dist/queries/shortfall-park-record.d.ts +48 -0
  288. package/dist/queries/shortfall-park-record.d.ts.map +1 -0
  289. package/dist/queries/shortfall-park-record.js +31 -0
  290. package/dist/queries/shortfall-park-record.js.map +1 -0
  291. package/dist/queries/shortfall-rulings.d.ts +71 -0
  292. package/dist/queries/shortfall-rulings.d.ts.map +1 -0
  293. package/dist/queries/shortfall-rulings.js +53 -0
  294. package/dist/queries/shortfall-rulings.js.map +1 -0
  295. package/dist/queries/verification.d.ts +20 -1
  296. package/dist/queries/verification.d.ts.map +1 -1
  297. package/dist/queries/verification.js +48 -8
  298. package/dist/queries/verification.js.map +1 -1
  299. package/dist/resolvers/index.d.ts +2 -2
  300. package/dist/resolvers/index.d.ts.map +1 -1
  301. package/dist/resolvers/index.js +1 -1
  302. package/dist/resolvers/index.js.map +1 -1
  303. package/dist/resolvers/shared/delivery-trailer.d.ts +99 -0
  304. package/dist/resolvers/shared/delivery-trailer.d.ts.map +1 -0
  305. package/dist/resolvers/shared/delivery-trailer.js +103 -0
  306. package/dist/resolvers/shared/delivery-trailer.js.map +1 -0
  307. package/dist/resolvers/shared/git-diff.d.ts +11 -84
  308. package/dist/resolvers/shared/git-diff.d.ts.map +1 -1
  309. package/dist/resolvers/shared/git-diff.js +17 -84
  310. package/dist/resolvers/shared/git-diff.js.map +1 -1
  311. package/dist/resolvers/shared/review-window-commits.d.ts.map +1 -1
  312. package/dist/resolvers/shared/review-window-commits.js +1 -0
  313. package/dist/resolvers/shared/review-window-commits.js.map +1 -1
  314. package/dist/session/session-lineage.d.ts.map +1 -1
  315. package/dist/session/session-lineage.js +1 -0
  316. package/dist/session/session-lineage.js.map +1 -1
  317. package/dist/shell/config.d.ts +2 -1
  318. package/dist/shell/config.d.ts.map +1 -1
  319. package/dist/shell/config.js +21 -4
  320. package/dist/shell/config.js.map +1 -1
  321. package/dist/shell/crash-recovery.d.ts +3 -7
  322. package/dist/shell/crash-recovery.d.ts.map +1 -1
  323. package/dist/shell/crash-recovery.js +28 -31
  324. package/dist/shell/crash-recovery.js.map +1 -1
  325. package/dist/shell/orphan-capture.d.ts +42 -0
  326. package/dist/shell/orphan-capture.d.ts.map +1 -0
  327. package/dist/shell/orphan-capture.js +53 -0
  328. package/dist/shell/orphan-capture.js.map +1 -0
  329. package/dist/shell/worker-pidfile.d.ts +22 -4
  330. package/dist/shell/worker-pidfile.d.ts.map +1 -1
  331. package/dist/shell/worker-pidfile.js +51 -13
  332. package/dist/shell/worker-pidfile.js.map +1 -1
  333. package/dist/spawn/helpers.d.ts +3 -0
  334. package/dist/spawn/helpers.d.ts.map +1 -1
  335. package/dist/spawn/helpers.js +28 -9
  336. package/dist/spawn/helpers.js.map +1 -1
  337. package/dist/spawn/lead-launch.d.ts +34 -0
  338. package/dist/spawn/lead-launch.d.ts.map +1 -0
  339. package/dist/spawn/lead-launch.js +34 -0
  340. package/dist/spawn/lead-launch.js.map +1 -0
  341. package/dist/spawn/lead-process-ownership.d.ts +91 -0
  342. package/dist/spawn/lead-process-ownership.d.ts.map +1 -0
  343. package/dist/spawn/lead-process-ownership.js +120 -0
  344. package/dist/spawn/lead-process-ownership.js.map +1 -0
  345. package/dist/spawn/lifecycle.d.ts +43 -3
  346. package/dist/spawn/lifecycle.d.ts.map +1 -1
  347. package/dist/spawn/lifecycle.js +75 -44
  348. package/dist/spawn/lifecycle.js.map +1 -1
  349. package/dist/spawn/liveness.d.ts.map +1 -1
  350. package/dist/spawn/liveness.js +5 -1
  351. package/dist/spawn/liveness.js.map +1 -1
  352. package/dist/spawn/one-shot-process-ownership.d.ts +48 -0
  353. package/dist/spawn/one-shot-process-ownership.d.ts.map +1 -0
  354. package/dist/spawn/one-shot-process-ownership.js +44 -0
  355. package/dist/spawn/one-shot-process-ownership.js.map +1 -0
  356. package/dist/spawn/process-group-kill.d.ts +79 -0
  357. package/dist/spawn/process-group-kill.d.ts.map +1 -0
  358. package/dist/spawn/process-group-kill.js +210 -0
  359. package/dist/spawn/process-group-kill.js.map +1 -0
  360. package/dist/spawn/process-spawn.d.ts +18 -1
  361. package/dist/spawn/process-spawn.d.ts.map +1 -1
  362. package/dist/spawn/process-spawn.js +51 -20
  363. package/dist/spawn/process-spawn.js.map +1 -1
  364. package/dist/spawn/resolution-budget.d.ts +38 -0
  365. package/dist/spawn/resolution-budget.d.ts.map +1 -0
  366. package/dist/spawn/resolution-budget.js +87 -0
  367. package/dist/spawn/resolution-budget.js.map +1 -0
  368. package/dist/spawn/review-hold-park.d.ts.map +1 -1
  369. package/dist/spawn/review-hold-park.js +37 -5
  370. package/dist/spawn/review-hold-park.js.map +1 -1
  371. package/dist/spawn/spawn-cooldown.d.ts.map +1 -1
  372. package/dist/spawn/spawn-cooldown.js +9 -0
  373. package/dist/spawn/spawn-cooldown.js.map +1 -1
  374. package/dist/spawn/untracked-lead-sweep.d.ts +29 -0
  375. package/dist/spawn/untracked-lead-sweep.d.ts.map +1 -0
  376. package/dist/spawn/untracked-lead-sweep.js +100 -0
  377. package/dist/spawn/untracked-lead-sweep.js.map +1 -0
  378. package/dist/spawn/worker-registry.d.ts.map +1 -1
  379. package/dist/spawn/worker-registry.js +4 -1
  380. package/dist/spawn/worker-registry.js.map +1 -1
  381. package/dist/spawn/worktree-session.d.ts.map +1 -1
  382. package/dist/spawn/worktree-session.js +8 -6
  383. package/dist/spawn/worktree-session.js.map +1 -1
  384. package/dist/testing/fixtures/exit-capture-verify.d.ts +41 -0
  385. package/dist/testing/fixtures/exit-capture-verify.d.ts.map +1 -0
  386. package/dist/testing/fixtures/exit-capture-verify.js +152 -0
  387. package/dist/testing/fixtures/exit-capture-verify.js.map +1 -0
  388. package/dist/testing/fixtures/index.js +1 -1
  389. package/dist/testing/fixtures/pending-spawn-world.d.ts +7 -0
  390. package/dist/testing/fixtures/pending-spawn-world.d.ts.map +1 -1
  391. package/dist/testing/fixtures/pending-spawn-world.js +21 -1
  392. package/dist/testing/fixtures/pending-spawn-world.js.map +1 -1
  393. package/dist/testing/fixtures/stubborn-lead-process.d.ts +22 -0
  394. package/dist/testing/fixtures/stubborn-lead-process.d.ts.map +1 -0
  395. package/dist/testing/fixtures/stubborn-lead-process.js +68 -0
  396. package/dist/testing/fixtures/stubborn-lead-process.js.map +1 -0
  397. package/dist/types/config.d.ts +13 -0
  398. package/dist/types/config.d.ts.map +1 -1
  399. package/dist/types/focus.d.ts +7 -0
  400. package/dist/types/focus.d.ts.map +1 -1
  401. package/dist/types/index.js +1 -1
  402. package/dist/verify/commit-verdict-record.d.ts +13 -3
  403. package/dist/verify/commit-verdict-record.d.ts.map +1 -1
  404. package/dist/verify/commit-verdict-record.js +45 -25
  405. package/dist/verify/commit-verdict-record.js.map +1 -1
  406. package/dist/verify/credit-rearm.d.ts +18 -0
  407. package/dist/verify/credit-rearm.d.ts.map +1 -0
  408. package/dist/verify/credit-rearm.js +69 -0
  409. package/dist/verify/credit-rearm.js.map +1 -0
  410. package/dist/verify/delivery-commit-set.d.ts +10 -0
  411. package/dist/verify/delivery-commit-set.d.ts.map +1 -0
  412. package/dist/verify/delivery-commit-set.js +82 -0
  413. package/dist/verify/delivery-commit-set.js.map +1 -0
  414. package/dist/verify/explicit-rearm.d.ts.map +1 -1
  415. package/dist/verify/explicit-rearm.js +2 -0
  416. package/dist/verify/explicit-rearm.js.map +1 -1
  417. package/dist/verify/failure-signature.d.ts.map +1 -1
  418. package/dist/verify/failure-signature.js +1 -0
  419. package/dist/verify/failure-signature.js.map +1 -1
  420. package/dist/verify/gate-run-registry.d.ts.map +1 -1
  421. package/dist/verify/gate-run-registry.js +3 -0
  422. package/dist/verify/gate-run-registry.js.map +1 -1
  423. package/dist/verify/injection-stamp.d.ts +29 -0
  424. package/dist/verify/injection-stamp.d.ts.map +1 -0
  425. package/dist/verify/injection-stamp.js +139 -0
  426. package/dist/verify/injection-stamp.js.map +1 -0
  427. package/dist/verify/misattributed-commits-read.d.ts +31 -0
  428. package/dist/verify/misattributed-commits-read.d.ts.map +1 -0
  429. package/dist/verify/misattributed-commits-read.js +47 -0
  430. package/dist/verify/misattributed-commits-read.js.map +1 -0
  431. package/dist/verify/misattributed-commits.d.ts +52 -0
  432. package/dist/verify/misattributed-commits.d.ts.map +1 -0
  433. package/dist/verify/misattributed-commits.js +148 -0
  434. package/dist/verify/misattributed-commits.js.map +1 -0
  435. package/dist/verify/no-own-delta-verdict.d.ts +47 -0
  436. package/dist/verify/no-own-delta-verdict.d.ts.map +1 -0
  437. package/dist/verify/no-own-delta-verdict.js +74 -0
  438. package/dist/verify/no-own-delta-verdict.js.map +1 -0
  439. package/dist/verify/shortfall-park-escalation.d.ts +41 -0
  440. package/dist/verify/shortfall-park-escalation.d.ts.map +1 -0
  441. package/dist/verify/shortfall-park-escalation.js +177 -0
  442. package/dist/verify/shortfall-park-escalation.js.map +1 -0
  443. package/dist/verify/shortfall-park.d.ts +109 -0
  444. package/dist/verify/shortfall-park.d.ts.map +1 -0
  445. package/dist/verify/shortfall-park.js +208 -0
  446. package/dist/verify/shortfall-park.js.map +1 -0
  447. package/dist/verify/shortfall-repeat.d.ts +47 -16
  448. package/dist/verify/shortfall-repeat.d.ts.map +1 -1
  449. package/dist/verify/shortfall-repeat.js +77 -23
  450. package/dist/verify/shortfall-repeat.js.map +1 -1
  451. package/dist/verify/shortfall-rulings.d.ts +106 -0
  452. package/dist/verify/shortfall-rulings.d.ts.map +1 -0
  453. package/dist/verify/shortfall-rulings.js +118 -0
  454. package/dist/verify/shortfall-rulings.js.map +1 -0
  455. package/dist/verify/stall-detectors.d.ts.map +1 -1
  456. package/dist/verify/stall-detectors.js +10 -4
  457. package/dist/verify/stall-detectors.js.map +1 -1
  458. package/dist/verify/verification-attribution-base.d.ts +26 -0
  459. package/dist/verify/verification-attribution-base.d.ts.map +1 -0
  460. package/dist/verify/verification-attribution-base.js +127 -0
  461. package/dist/verify/verification-attribution-base.js.map +1 -0
  462. package/dist/verify/verification-attribution-deps.d.ts +32 -0
  463. package/dist/verify/verification-attribution-deps.d.ts.map +1 -0
  464. package/dist/verify/verification-attribution-deps.js +209 -0
  465. package/dist/verify/verification-attribution-deps.js.map +1 -0
  466. package/dist/verify/verification-baseline.d.ts +6 -0
  467. package/dist/verify/verification-baseline.d.ts.map +1 -1
  468. package/dist/verify/verification-baseline.js +27 -11
  469. package/dist/verify/verification-baseline.js.map +1 -1
  470. package/dist/verify/verification-commit-sharing.d.ts.map +1 -1
  471. package/dist/verify/verification-commit-sharing.js +30 -8
  472. package/dist/verify/verification-commit-sharing.js.map +1 -1
  473. package/dist/verify/verification-config.d.ts.map +1 -1
  474. package/dist/verify/verification-config.js +2 -0
  475. package/dist/verify/verification-config.js.map +1 -1
  476. package/dist/verify/verification-default-on.d.ts +3 -0
  477. package/dist/verify/verification-default-on.d.ts.map +1 -1
  478. package/dist/verify/verification-default-on.js +5 -1
  479. package/dist/verify/verification-default-on.js.map +1 -1
  480. package/dist/verify/verification-deps-default.d.ts.map +1 -1
  481. package/dist/verify/verification-deps-default.js +61 -120
  482. package/dist/verify/verification-deps-default.js.map +1 -1
  483. package/dist/verify/verification-deps.d.ts +26 -4
  484. package/dist/verify/verification-deps.d.ts.map +1 -1
  485. package/dist/verify/verification-deterministic.d.ts +15 -0
  486. package/dist/verify/verification-deterministic.d.ts.map +1 -1
  487. package/dist/verify/verification-deterministic.js +1 -12
  488. package/dist/verify/verification-deterministic.js.map +1 -1
  489. package/dist/verify/verification-engine.d.ts +9 -6
  490. package/dist/verify/verification-engine.d.ts.map +1 -1
  491. package/dist/verify/verification-engine.js +43 -62
  492. package/dist/verify/verification-engine.js.map +1 -1
  493. package/dist/verify/verification-evidence-unavailable-feedback.d.ts +2 -1
  494. package/dist/verify/verification-evidence-unavailable-feedback.d.ts.map +1 -1
  495. package/dist/verify/verification-evidence-unavailable-feedback.js +19 -1
  496. package/dist/verify/verification-evidence-unavailable-feedback.js.map +1 -1
  497. package/dist/verify/verification-failure-parser.d.ts +57 -1
  498. package/dist/verify/verification-failure-parser.d.ts.map +1 -1
  499. package/dist/verify/verification-failure-parser.js +116 -10
  500. package/dist/verify/verification-failure-parser.js.map +1 -1
  501. package/dist/verify/verification-feedback.d.ts +60 -43
  502. package/dist/verify/verification-feedback.d.ts.map +1 -1
  503. package/dist/verify/verification-feedback.js +115 -120
  504. package/dist/verify/verification-feedback.js.map +1 -1
  505. package/dist/verify/verification-history-reset.d.ts +2 -1
  506. package/dist/verify/verification-history-reset.d.ts.map +1 -1
  507. package/dist/verify/verification-history-reset.js +4 -2
  508. package/dist/verify/verification-history-reset.js.map +1 -1
  509. package/dist/verify/verification-rework-issue.d.ts +87 -0
  510. package/dist/verify/verification-rework-issue.d.ts.map +1 -0
  511. package/dist/verify/verification-rework-issue.js +212 -0
  512. package/dist/verify/verification-rework-issue.js.map +1 -0
  513. package/dist/verify/verification-rework-messages.d.ts.map +1 -1
  514. package/dist/verify/verification-rework-messages.js +10 -0
  515. package/dist/verify/verification-rework-messages.js.map +1 -1
  516. package/dist/verify/verify-gate-stall.d.ts +2 -0
  517. package/dist/verify/verify-gate-stall.d.ts.map +1 -1
  518. package/dist/verify/verify-gate-stall.js +35 -9
  519. package/dist/verify/verify-gate-stall.js.map +1 -1
  520. package/dist/verify/verify-restatement.d.ts.map +1 -1
  521. package/dist/verify/verify-restatement.js +9 -2
  522. package/dist/verify/verify-restatement.js.map +1 -1
  523. package/dist/worktree/capture-attribution-read.d.ts +47 -0
  524. package/dist/worktree/capture-attribution-read.d.ts.map +1 -0
  525. package/dist/worktree/capture-attribution-read.js +98 -0
  526. package/dist/worktree/capture-attribution-read.js.map +1 -0
  527. package/dist/worktree/capture-attribution.d.ts +26 -0
  528. package/dist/worktree/capture-attribution.d.ts.map +1 -0
  529. package/dist/worktree/capture-attribution.js +111 -0
  530. package/dist/worktree/capture-attribution.js.map +1 -0
  531. package/dist/worktree/index.d.ts.map +1 -1
  532. package/dist/worktree/index.js +2 -1
  533. package/dist/worktree/index.js.map +1 -1
  534. package/dist/worktree/provision.d.ts.map +1 -1
  535. package/dist/worktree/provision.js +23 -6
  536. package/dist/worktree/provision.js.map +1 -1
  537. package/dist/worktree/safety.d.ts +14 -4
  538. package/dist/worktree/safety.d.ts.map +1 -1
  539. package/dist/worktree/safety.js +37 -7
  540. package/dist/worktree/safety.js.map +1 -1
  541. package/dist/worktree/scratch-guard.d.ts +53 -2
  542. package/dist/worktree/scratch-guard.d.ts.map +1 -1
  543. package/dist/worktree/scratch-guard.js +115 -30
  544. package/dist/worktree/scratch-guard.js.map +1 -1
  545. package/dist/worktree/unmerged-capture-escalation.d.ts +52 -0
  546. package/dist/worktree/unmerged-capture-escalation.d.ts.map +1 -0
  547. package/dist/worktree/unmerged-capture-escalation.js +64 -0
  548. package/dist/worktree/unmerged-capture-escalation.js.map +1 -0
  549. package/package.json +2 -2
@@ -0,0 +1,331 @@
1
+ // PINNED-BY-BEGIN (generated by gen:pinned-by -- do not hand-edit; checked by lint:pinned-by)
2
+ // Pinned by: packages/daemon/src/git/resolution-restore.test.ts,
3
+ // packages/daemon/src/merge/merge-back-conflict.test.ts
4
+ // PINNED-BY-END
5
+ /**
6
+ * Contain a failed merge-conflict resolution in a FOCUS worktree.
7
+ *
8
+ * mergeBackFromIntegration deliberately leaves a conflicting merge in progress
9
+ * so an agent can resolve it in place. When that agent cannot finish (the
10
+ * fallback resolver timed out, crashed, or exited with conflicts remaining; a
11
+ * team lead died mid-resolution), the worktree is left half-merged: MERGE_HEAD,
12
+ * unmerged paths, staged and unstaged partial edits. Every automatic merge path
13
+ * refuses a dirty focus worktree, so that residue parks the focus until an
14
+ * operator resets it by hand (Nexus request 8679bae1, 2026-09-17: 15 UU paths,
15
+ * 67 staged additions, 14 unstaged resolver edits incl. a staged rename).
16
+ *
17
+ * This module does the two things a failed resolution needs, in order:
18
+ * 1. PRESERVE -- snapshot index + worktree + untracked (non-ignored) files into
19
+ * a commit object parented on the committed focus HEAD (and MERGE_HEAD when
20
+ * present), point a named ref at it
21
+ * (refs/telora/resolver-partial/<branch-slug>/<utc-stamp>) and write a
22
+ * binary patch against the committed HEAD under the repo's common git dir.
23
+ * Refs live in the common repo, so the snapshot survives worktree removal.
24
+ * Ref and patch are written independently, and each has a fallback chain
25
+ * so one broken location does not leave the tree uncontainable:
26
+ * - ref: the primary name, then ONE retry under a collision-safe unique
27
+ * name (<ref>-<pid>-<random hex>); confirmed by rev-parse.
28
+ * - patch: <git-common-dir>/telora/resolver-partial, then
29
+ * <git-dir>/telora-resolver-partial (the per-worktree git dir, not
30
+ * under <common>/telora), then <os.tmpdir()>/telora-resolver-partial;
31
+ * confirmed non-empty on disk.
32
+ * Whichever artifacts are confirmed are reported; every failure along the
33
+ * way is recorded in preserveError. Only when ALL of them fail is step 2
34
+ * skipped and the tree left as the resolver left it, because destroying
35
+ * unpreserved work is worse than a dirty tree.
36
+ * 2. RESTORE -- abort the merge, hard-reset to the committed focus HEAD, clean
37
+ * untracked non-ignored files (never -x: node_modules and other ignored
38
+ * state survive), then RE-READ the tree and report whether it is actually
39
+ * clean. Clean is never claimed without the re-read.
40
+ *
41
+ * Callers must only invoke this when no live resolver still owns the worktree.
42
+ * It moves the checked-out branch back to `preMergeHead` if a resolver committed
43
+ * partway; that commit is inside the preserved snapshot.
44
+ */
45
+ import { copyFileSync, existsSync, mkdirSync, renameSync, rmSync, statSync } from 'node:fs';
46
+ import { randomBytes } from 'node:crypto';
47
+ import { tmpdir } from 'node:os';
48
+ import { isAbsolute, join } from 'node:path';
49
+ import { runGitSync } from './types.js';
50
+ import { createLogger } from '../shell/log.js';
51
+ const log = createLogger({ module: 'resolution-restore' });
52
+ /** Ref namespace every preserved partial resolution lives under. */
53
+ export const RESOLVER_PARTIAL_REF_PREFIX = 'refs/telora/resolver-partial';
54
+ /** Pure: a ref-safe slug of a branch name (agent/dev/foo-123 -> agent-dev-foo-123). */
55
+ export function slugBranchForRef(branchName) {
56
+ const slug = branchName.replace(/[^A-Za-z0-9._-]+/g, '-').replace(/^[-.]+|[-.]+$/g, '').replace(/\.{2,}/g, '.');
57
+ return slug.length > 0 ? slug : 'branch';
58
+ }
59
+ /** Pure: a ref/filename-safe UTC stamp (2026-09-17T10-30-35Z). */
60
+ export function refStamp(now) {
61
+ return now.toISOString().replace(/\.\d{3}Z$/, 'Z').replace(/:/g, '-');
62
+ }
63
+ function mergeHeadSha(worktreePath) {
64
+ const r = runGitSync(['rev-parse', '-q', '--verify', 'MERGE_HEAD'], worktreePath);
65
+ return r.success && r.output.length > 0 ? r.output : null;
66
+ }
67
+ /**
68
+ * Read the worktree's resolution state. `clean` is the confirmed verdict the
69
+ * containment contract names; `residue` describes whatever breaks it.
70
+ */
71
+ export function readWorktreeResolutionState(worktreePath, expectedHead) {
72
+ const problems = [];
73
+ if (mergeHeadSha(worktreePath) !== null)
74
+ problems.push('MERGE_HEAD present');
75
+ const unmerged = runGitSync(['ls-files', '-u'], worktreePath);
76
+ if (!unmerged.success)
77
+ problems.push(`git ls-files -u failed: ${unmerged.error}`);
78
+ else if (unmerged.output.length > 0)
79
+ problems.push(`unmerged paths:\n${unmerged.output}`);
80
+ const status = runGitSync(['status', '--porcelain'], worktreePath);
81
+ if (!status.success)
82
+ problems.push(`git status failed: ${status.error}`);
83
+ else if (status.output.length > 0)
84
+ problems.push(`uncommitted changes:\n${status.output}`);
85
+ const head = runGitSync(['rev-parse', 'HEAD'], worktreePath);
86
+ if (!head.success)
87
+ problems.push(`git rev-parse HEAD failed: ${head.error}`);
88
+ else if (head.output !== expectedHead)
89
+ problems.push(`HEAD is ${head.output}, expected ${expectedHead}`);
90
+ return problems.length === 0 ? { clean: true } : { clean: false, residue: problems.join('\n') };
91
+ }
92
+ /**
93
+ * Whether a resolver left a FINISHED merge: no unmerged paths, no MERGE_HEAD (the
94
+ * merge was committed), and nothing uncommitted. A resolver killed after staging
95
+ * every file but before committing has no unmerged paths yet is not done -- the
96
+ * old "no unmerged files" check read that as success and let a half-merged tree
97
+ * proceed. Returns the reason when it is not finished.
98
+ */
99
+ export function readResolutionCompletion(worktreePath) {
100
+ const unmerged = runGitSync(['diff', '--name-only', '--diff-filter=U'], worktreePath);
101
+ if (!unmerged.success)
102
+ return { finished: false, reason: `could not read unmerged paths: ${unmerged.error}` };
103
+ const files = unmerged.output.split('\n').filter(Boolean);
104
+ if (files.length > 0)
105
+ return { finished: false, reason: `Conflicts remain in: ${files.join(', ')}` };
106
+ if (mergeHeadSha(worktreePath) !== null)
107
+ return { finished: false, reason: 'merge conflicts staged but the merge was never committed (MERGE_HEAD present)' };
108
+ const status = runGitSync(['status', '--porcelain'], worktreePath);
109
+ if (!status.success)
110
+ return { finished: false, reason: `could not read worktree status: ${status.error}` };
111
+ if (status.output.length > 0)
112
+ return { finished: false, reason: `merge conflict resolution left uncommitted changes: ${status.output.split('\n').length} path(s)` };
113
+ return { finished: true };
114
+ }
115
+ function absoluteGitPath(worktreePath, gitPath) {
116
+ return isAbsolute(gitPath) ? gitPath : join(worktreePath, gitPath);
117
+ }
118
+ /**
119
+ * Point `ref` at `commit` and confirm it reads back. When the primary name
120
+ * cannot be written (a stale .lock, a concurrent writer), retry ONCE under a
121
+ * collision-safe unique name. Returns the confirmed ref, or null; every failure
122
+ * is appended to `errors`.
123
+ */
124
+ function writeConfirmedRef(worktreePath, ref, commit, errors) {
125
+ const candidates = [ref, `${ref}-${process.pid}-${randomBytes(4).toString('hex')}`];
126
+ for (const candidate of candidates) {
127
+ const update = runGitSync(['update-ref', candidate, commit], worktreePath);
128
+ if (update.success && runGitSync(['rev-parse', '-q', '--verify', candidate], worktreePath).output === commit)
129
+ return candidate;
130
+ errors.push(`git update-ref ${candidate} failed: ${update.success ? 'ref not readable after update' : update.error}`);
131
+ }
132
+ return null;
133
+ }
134
+ /** Fallback patch directories, none of them under <git-common-dir>/telora: the per-worktree git dir, then the OS tmpdir. */
135
+ function defaultPatchFallbackDirs(worktreePath, errors) {
136
+ const dirs = [];
137
+ const gitDir = runGitSync(['rev-parse', '--git-dir'], worktreePath);
138
+ if (gitDir.success)
139
+ dirs.push(join(absoluteGitPath(worktreePath, gitDir.output), 'telora-resolver-partial'));
140
+ else
141
+ errors.push(`git rev-parse --git-dir failed: ${gitDir.error}`);
142
+ dirs.push(join(tmpdir(), 'telora-resolver-partial'));
143
+ return dirs;
144
+ }
145
+ /** Write the binary patch into `dir` and confirm it is non-empty on disk. Returns the path, or null (failure appended to `errors`). */
146
+ function writePatchInto(worktreePath, dir, fileName, from, to, errors) {
147
+ const path = join(dir, fileName);
148
+ try {
149
+ mkdirSync(dir, { recursive: true });
150
+ const patch = runGitSync(['diff', '--binary', `--output=${path}`, from, to], worktreePath);
151
+ if (!patch.success)
152
+ errors.push(`git diff --output=${path} failed: ${patch.error}`);
153
+ else if (statSync(path).size > 0)
154
+ return path;
155
+ else
156
+ errors.push(`patch ${path} is empty`);
157
+ }
158
+ catch (err) {
159
+ errors.push(`writing patch ${path} failed: ${err.message}`);
160
+ }
161
+ return null;
162
+ }
163
+ /**
164
+ * Write the patch to the primary location (<git-common-dir>/telora/resolver-partial),
165
+ * falling back through `fallbackDirs` in order. The first confirmed path wins.
166
+ */
167
+ function writeConfirmedPatch(p) {
168
+ const { worktreePath, preMergeHead, snapshot, fileName, errors } = p;
169
+ const commonDir = runGitSync(['rev-parse', '--git-common-dir'], worktreePath);
170
+ if (!commonDir.success) {
171
+ errors.push(`git rev-parse --git-common-dir failed: ${commonDir.error}`);
172
+ }
173
+ else {
174
+ const primaryDir = join(absoluteGitPath(worktreePath, commonDir.output), 'telora', 'resolver-partial');
175
+ const primary = writePatchInto(worktreePath, primaryDir, fileName, preMergeHead, snapshot, errors);
176
+ if (primary !== null)
177
+ return primary;
178
+ }
179
+ for (const dir of p.fallbackDirs()) {
180
+ const path = writePatchInto(worktreePath, dir, fileName, preMergeHead, snapshot, errors);
181
+ if (path !== null) {
182
+ log.warn(`[resolution-restore] Primary patch location unavailable; partial resolution patch written to fallback ${path}`);
183
+ return path;
184
+ }
185
+ }
186
+ return null;
187
+ }
188
+ /**
189
+ * Snapshot everything the resolver left (index, worktree, untracked non-ignored
190
+ * files) into a named ref AND a patch. The two artifacts are produced
191
+ * independently, so one failing does not lose the other, each falls back
192
+ * (unique ref name; fallback patch dirs) before giving up, and each is confirmed
193
+ * on disk before it is reported. Stages into the real index; the caller either
194
+ * restores the tree or puts the saved index back.
195
+ */
196
+ function preservePartialResolution(p) {
197
+ const { worktreePath, preMergeHead, branchName, now } = p;
198
+ const mergeHead = mergeHeadSha(worktreePath);
199
+ const failed = (error) => ({ preservedRef: null, patchPath: null, nothingToPreserve: false, error });
200
+ const add = runGitSync(['add', '-A'], worktreePath);
201
+ if (!add.success)
202
+ return failed(`git add -A failed: ${add.error}`);
203
+ const tree = runGitSync(['write-tree'], worktreePath);
204
+ if (!tree.success)
205
+ return failed(`git write-tree failed: ${tree.error}`);
206
+ // Nothing differs from the committed HEAD -> nothing worth preserving.
207
+ if (runGitSync(['diff', '--quiet', preMergeHead, tree.output], worktreePath).success) {
208
+ return { preservedRef: null, patchPath: null, nothingToPreserve: true };
209
+ }
210
+ const errors = [];
211
+ const stamp = refStamp(now);
212
+ const slug = slugBranchForRef(branchName);
213
+ let snapshot = tree.output;
214
+ let preservedRef = null;
215
+ const parents = ['-p', preMergeHead, ...(mergeHead ? ['-p', mergeHead] : [])];
216
+ const message = `telora: partial merge-conflict resolution on ${branchName} (preserved before restoring ${preMergeHead})`;
217
+ const commit = runGitSync(['commit-tree', tree.output, ...parents, '-m', message], worktreePath);
218
+ if (!commit.success) {
219
+ errors.push(`git commit-tree failed: ${commit.error}`);
220
+ }
221
+ else {
222
+ snapshot = commit.output;
223
+ preservedRef = writeConfirmedRef(worktreePath, `${RESOLVER_PARTIAL_REF_PREFIX}/${slug}/${stamp}`, commit.output, errors);
224
+ }
225
+ // The patch is written even when the ref failed: from the commit when there is one, else straight from the tree.
226
+ const patchPath = writeConfirmedPatch({
227
+ worktreePath,
228
+ preMergeHead,
229
+ snapshot,
230
+ fileName: `${slug}-${stamp}.patch`,
231
+ fallbackDirs: () => p.patchFallbackDirs ?? defaultPatchFallbackDirs(worktreePath, errors),
232
+ errors,
233
+ });
234
+ return {
235
+ preservedRef,
236
+ patchPath,
237
+ nothingToPreserve: false,
238
+ ...(errors.length > 0 ? { error: errors.join('; ') } : {}),
239
+ };
240
+ }
241
+ /**
242
+ * Preserve a failed resolution's partial work, then restore the focus worktree
243
+ * to `preMergeHead` and confirm it is clean. Idempotent: a worktree already
244
+ * clean at `preMergeHead` is left untouched and nothing is preserved.
245
+ *
246
+ * Failure-atomic: the destructive restore runs only once at least one recovery
247
+ * artifact (ref or patch, primary or fallback) is confirmed, or there was
248
+ * nothing to lose. Only when EVERY ref and patch location failed, the worktree is left exactly as the resolver left it
249
+ * (the pre-snapshot index is put back) and the result says it is not clean.
250
+ */
251
+ export function preserveAndRestoreFocusWorktree(params) {
252
+ const { worktreePath, preMergeHead, branchName } = params;
253
+ const now = params.now ?? new Date();
254
+ if (readWorktreeResolutionState(worktreePath, preMergeHead).clean) {
255
+ return { clean: true, preservedRef: null, patchPath: null };
256
+ }
257
+ let preserved = { preservedRef: null, patchPath: null, nothingToPreserve: true };
258
+ if (params.preserve !== false) {
259
+ const savedIndex = saveIndex(worktreePath);
260
+ preserved = preservePartialResolution({
261
+ worktreePath,
262
+ preMergeHead,
263
+ branchName,
264
+ now,
265
+ ...(params.patchFallbackDirs !== undefined ? { patchFallbackDirs: params.patchFallbackDirs } : {}),
266
+ });
267
+ if (preserved.error) {
268
+ log.warn(`[resolution-restore] Could not fully preserve the partial resolution on ${branchName}: ${preserved.error}`);
269
+ }
270
+ const recoverable = preserved.nothingToPreserve || preserved.preservedRef !== null || preserved.patchPath !== null;
271
+ if (!recoverable) {
272
+ const putBack = putBackIndex(savedIndex);
273
+ const state = readWorktreeResolutionState(worktreePath, preMergeHead);
274
+ const residue = `restore NOT run: the partial resolution could not be preserved (${preserved.error ?? 'unknown'}), so the ` +
275
+ `worktree was left as the resolver left it${putBack ? '' : ' (its pre-snapshot index could not be put back; conflicted paths now read as staged)'}` +
276
+ `${state.residue ? `\n${state.residue}` : ''}`;
277
+ log.error(`[resolution-restore] Worktree for ${branchName} left unrestored to protect unpreserved partial work: ${residue}`);
278
+ return { clean: false, residue, preservedRef: null, patchPath: null, preserveError: preserved.error ?? 'unknown' };
279
+ }
280
+ if (savedIndex)
281
+ rmSync(savedIndex.copy, { force: true });
282
+ }
283
+ if (mergeHeadSha(worktreePath) !== null)
284
+ runGitSync(['merge', '--abort'], worktreePath);
285
+ runGitSync(['reset', '--hard', preMergeHead], worktreePath);
286
+ runGitSync(['clean', '-fd'], worktreePath);
287
+ const state = readWorktreeResolutionState(worktreePath, preMergeHead);
288
+ const where = preserved.preservedRef || preserved.patchPath
289
+ ? `partial resolution preserved at ${preserved.preservedRef ?? '(no ref)'}${preserved.patchPath ? ` (patch: ${preserved.patchPath})` : ''}`
290
+ : 'no partial resolution preserved';
291
+ if (state.clean) {
292
+ log.info(`[resolution-restore] Restored ${branchName} worktree to ${preMergeHead}; ${where}`);
293
+ }
294
+ else {
295
+ log.error(`[resolution-restore] Worktree for ${branchName} is NOT clean after restore to ${preMergeHead}; ${where}. Residue:\n${state.residue ?? ''}`);
296
+ }
297
+ return {
298
+ clean: state.clean,
299
+ ...(state.residue !== undefined ? { residue: state.residue } : {}),
300
+ preservedRef: preserved.preservedRef,
301
+ patchPath: preserved.patchPath,
302
+ ...(preserved.error !== undefined ? { preserveError: preserved.error } : {}),
303
+ };
304
+ }
305
+ /** Copy the real index aside, so a snapshot that stages everything can be undone. Null when it cannot be saved. */
306
+ function saveIndex(worktreePath) {
307
+ const r = runGitSync(['rev-parse', '--git-path', 'index'], worktreePath);
308
+ if (!r.success)
309
+ return null;
310
+ const index = absoluteGitPath(worktreePath, r.output);
311
+ const copy = `${index}.telora-preserve`;
312
+ try {
313
+ copyFileSync(index, copy);
314
+ return { index, copy };
315
+ }
316
+ catch {
317
+ return null;
318
+ }
319
+ }
320
+ function putBackIndex(saved) {
321
+ if (!saved || !existsSync(saved.copy))
322
+ return false;
323
+ try {
324
+ renameSync(saved.copy, saved.index);
325
+ return true;
326
+ }
327
+ catch {
328
+ return false;
329
+ }
330
+ }
331
+ //# sourceMappingURL=resolution-restore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolution-restore.js","sourceRoot":"","sources":["../../src/git/resolution-restore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/loops/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Recover a focus worktree left mid-merge by a merge-back nothing is finishing.
3
+ *
4
+ * The observed failure (daemon log 2026-09-17, focus "Team teardown and session
5
+ * reaping leave the agent process running"): a merge-back of integration stopped
6
+ * at 14:21 UTC with 4 unmerged paths and 44 staged files, and nothing owned it
7
+ * afterwards. Every automatic path refuses a dirty focus worktree -- the
8
+ * merge-back loop skipped it as dirty_worktree, and the resolved-conflict retry
9
+ * logged "Spawning fallback resolution agent" 310 times without spawning one,
10
+ * because merging integration back into a tree already mid-merge cannot produce
11
+ * a fresh conflict. The merge_conflict hold on its delivery never cleared, so
12
+ * every review exited held until an operator ran `git merge --abort` by hand.
13
+ *
14
+ * Containment of a failed resolution (git/resolution-restore.ts) only covers a
15
+ * merge-back whose resolver this process is still running. This module covers the
16
+ * rest: a tree whose merge no team, agent session, fallback resolver or in-flight
17
+ * merge-back owns -- residue from a daemon restart mid-resolution, a killed team
18
+ * lead, or an older daemon version. The residue is PRESERVED (named ref + patch,
19
+ * same as a failed resolver run) and the worktree restored to its committed HEAD,
20
+ * so the normal paths (the merge-back follow-up and the gated merge) run again.
21
+ *
22
+ * A tree is recovered only when EVERY owner check says nobody holds it:
23
+ * 1. MERGE_HEAD is present (an unfinished merge -- other dirt is not ours);
24
+ * 2. no writer: the worktree write signal is quiescent except for the dirt
25
+ * itself (no active team, no active session, no recent commit);
26
+ * 3. no merge-back in flight in this process, and none started within
27
+ * ABANDONED_MERGE_GRACE_MS (merge/merge-back-activity.ts);
28
+ * 4. no live fallback resolver process for the branch (spawn/worker-registry.ts).
29
+ */
30
+ import { preserveAndRestoreFocusWorktree, type PreserveAndRestoreResult } from '../git/index.js';
31
+ import { type WorktreeWriteSignal } from '../worktree/index.js';
32
+ /** How long after this process starts a merge-back its tree is treated as owned even with no resolver yet. */
33
+ export declare const ABANDONED_MERGE_GRACE_MS: number;
34
+ export type AbandonedMergeRecovery = {
35
+ kind: 'recovered';
36
+ restore: PreserveAndRestoreResult;
37
+ } | {
38
+ kind: 'not_abandoned';
39
+ } | {
40
+ kind: 'owned';
41
+ reason: string;
42
+ } | {
43
+ kind: 'restore_failed';
44
+ reason: string;
45
+ };
46
+ export interface AbandonedMergeRecoveryDeps {
47
+ getFocusWorktree: (focusId: string) => {
48
+ worktreePath: string;
49
+ branchName: string;
50
+ } | undefined;
51
+ isWorktreeBeingWritten: (focusId: string) => Promise<WorktreeWriteSignal>;
52
+ hasMergeHead: (worktreePath: string) => boolean;
53
+ readHead: (worktreePath: string) => string | null;
54
+ isMergeBackInFlight: (worktreePath: string) => boolean;
55
+ msSinceMergeBackStarted: (worktreePath: string) => number | null;
56
+ hasLiveResolver: (branchName: string) => boolean;
57
+ preserveAndRestore: typeof preserveAndRestoreFocusWorktree;
58
+ }
59
+ export declare function defaultAbandonedMergeRecoveryDeps(): AbandonedMergeRecoveryDeps;
60
+ /**
61
+ * Preserve and undo an unfinished merge in the focus worktree when nothing owns it
62
+ * (see the module header). `signal` is the write signal the caller already read,
63
+ * if any, so the tick does not read it twice.
64
+ */
65
+ export declare function recoverAbandonedMergeBack(focusId: string, deps?: AbandonedMergeRecoveryDeps, signal?: WorktreeWriteSignal): Promise<AbandonedMergeRecovery>;
66
+ /**
67
+ * The merge-back loop's write signal: when the only thing holding the worktree is
68
+ * its dirt and that dirt is an abandoned merge, recover it and read the signal
69
+ * again, so the tick proceeds on the restored tree instead of skipping it forever.
70
+ */
71
+ export declare function isWorktreeBeingWrittenAfterMergeRecovery(focusId: string, deps?: AbandonedMergeRecoveryDeps): Promise<WorktreeWriteSignal>;
72
+ //# sourceMappingURL=abandoned-merge-recovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abandoned-merge-recovery.d.ts","sourceRoot":"","sources":["../../src/merge/abandoned-merge-recovery.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,+BAA+B,EAAc,KAAK,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAG7G,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAMxF,8GAA8G;AAC9G,eAAO,MAAM,wBAAwB,QAAa,CAAC;AAEnD,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,wBAAwB,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C,MAAM,WAAW,0BAA0B;IACzC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAChG,sBAAsB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,eAAe,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IACjD,kBAAkB,EAAE,OAAO,+BAA+B,CAAC;CAC5D;AAED,wBAAgB,iCAAiC,IAAI,0BAA0B,CAoB9E;AAgBD;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,0BAAgE,EACtE,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CAwBjC;AAED;;;;GAIG;AACH,wBAAsB,wCAAwC,CAC5D,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,0BAAgE,GACrE,OAAO,CAAC,mBAAmB,CAAC,CAK9B"}