@overdeck/desktop 0.45.18 → 0.45.19

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 (268) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-aQFKQf-J.js → acceptance-criteria-DQqRIuQ-.js} +2 -2
  3. package/server/{advancing-selfheal-DgwQgm4D.js → advancing-selfheal-BYidNkmp.js} +5 -5
  4. package/server/{agent-gc-kpzxqT7P.js → agent-gc-ClNQLl_V.js} +3 -3
  5. package/server/{agent-state-C_6TG-Ad.js → agent-state-BMrpX7kU.js} +1 -1
  6. package/server/{agent-state-service-nUD3qfob.js → agent-state-service-BpAKmodj.js} +4 -4
  7. package/server/{agent-state-service-BUfovFfB.js → agent-state-service-CC9NMIWn.js} +1 -1
  8. package/server/{agents-BHBxr8c9.js → agents--ljN-wVY.js} +4 -4
  9. package/server/{agents-BA15AQqo.js → agents-DAUyr_Z1.js} +1 -1
  10. package/server/{archive-planning-D-QsBufn.js → archive-planning-2w8WQaeJ.js} +1 -1
  11. package/server/{archive-planning-CzCW9Ifl.js → archive-planning-BW3te5Vw.js} +3 -3
  12. package/server/{artifact-index-jobs-qqa51B2Z.js → artifact-index-jobs-DFO3eceF.js} +2 -2
  13. package/server/{backlog-auto-trigger-B7Bi0bvY.js → backlog-auto-trigger-DECBMxLq.js} +2 -2
  14. package/server/{briefing-freshness-DuxIE1yr.js → briefing-freshness-B1delh4l.js} +2 -2
  15. package/server/{checkpoint-manager-DixkLus7.js → checkpoint-manager-CjLY6A4r.js} +1 -1
  16. package/server/{checkpoint-manager-DF6hb9Jw.js → checkpoint-manager-D6_71Rpb.js} +2 -2
  17. package/server/checkpoint-worker.js +1 -1
  18. package/server/{checkpoints-BiviJqei.js → checkpoints-BYrLxVle.js} +2 -2
  19. package/server/{checkpoints-B1Z42tJE.js → checkpoints-xSuv4v4I.js} +1 -1
  20. package/server/{claude-hooks-provision-BeMGi4ty.js → claude-hooks-provision-DL6yfJB_.js} +1 -1
  21. package/server/{claude-hooks-provision-Du_PkMsp.js → claude-hooks-provision-DvfVZbbT.js} +2 -2
  22. package/server/{claude-permissions-BB6agcOZ.js → claude-permissions-CcncrTNF.js} +2 -2
  23. package/server/{claude-settings-overlay-CAq2oFSK.js → claude-settings-overlay-1IfYetv2.js} +2 -2
  24. package/server/{claude-settings-overlay-DUWWLd6M.js → claude-settings-overlay-Ca3LXjAC.js} +1 -1
  25. package/server/cli-BxZHwgRK.js +3 -0
  26. package/server/{cli-C33xPZNm.js → cli-DGZWYXio.js} +9 -9
  27. package/server/{cliproxy-CGBA1GzA.js → cliproxy-Dw42Xy3t.js} +2 -2
  28. package/server/{cliproxy-BQX1TL6N.js → cliproxy-DziJLbfo.js} +1 -1
  29. package/server/{close-issue-DNv8npc1.js → close-issue-DEGjxifn.js} +4 -4
  30. package/server/{closed-issue-reaper-LoMnnjtJ.js → closed-issue-reaper-BsJ3JqQy.js} +9 -9
  31. package/server/{closed-issue-reaper-DrqgBJlr.js → closed-issue-reaper-CNr7X4MB.js} +1 -1
  32. package/server/{codex-DxLivxri.js → codex-C8OlW-dN.js} +1 -1
  33. package/server/{codex-sgWVCGUd.js → codex-D5RyWzNL.js} +4 -4
  34. package/server/{codex-parser-DboQnEXN.js → codex-parser-BRxvUkk8.js} +2 -2
  35. package/server/{config-6MCHOZ2N.js → config-CQ2u44iP.js} +1 -1
  36. package/server/{config-DfaUXr6r.js → config-Cntj_tFu.js} +2 -2
  37. package/server/{config-yaml-CqaAyn8y.js → config-yaml-BQs6GbD_.js} +2 -1
  38. package/server/{conflict-gate-BubJprtD.js → conflict-gate-BE6JdfkO.js} +1 -1
  39. package/server/{conflict-gate-BF_zhcmb.js → conflict-gate-DdfwKgy0.js} +3 -3
  40. package/server/{context-layers-BFrxfl0l.js → context-layers-DFucrVVG.js} +3 -3
  41. package/server/{context-layers-DWL_8HhY.js → context-layers-DO0Eyq2E.js} +2 -2
  42. package/server/{control-settings-BguNQ1F_.js → control-settings-bxOCLsuE.js} +4 -4
  43. package/server/{conversation-compaction-DxSXl0pT.js → conversation-compaction-Dq6MfZdL.js} +8 -8
  44. package/server/{conversation-compaction-CRKAf2qP.js → conversation-compaction-lSlUb-cU.js} +1 -1
  45. package/server/{conversation-service-DzuY9qoH.js → conversation-service-BVt4MQ1_.js} +1 -1
  46. package/server/{conversation-service-mFVFdDQK.js → conversation-service-TZsQjkjT.js} +4 -4
  47. package/server/{conversations-BX5aD-6F.js → conversations-CxOWHNzv.js} +4 -4
  48. package/server/{conversations-BajHQ60c.js → conversations-DaF6elGK.js} +1 -1
  49. package/server/{cost-DuZ5vlv-.js → cost-Dlh0IEiv.js} +3 -3
  50. package/server/{cost-BoqD1Pxz.js → cost-oinpUqvE.js} +2 -2
  51. package/server/{cost-sync-BYnmnMkY.js → cost-sync-CVIAsrhB.js} +3 -3
  52. package/server/{dag-C6kYyF17.js → dag-ClFr7Bah.js} +2 -2
  53. package/server/dashboard-db-worker.js +6 -6
  54. package/server/{deacon-CwCiNuEZ.js → deacon-B8ygB3e8.js} +3 -3
  55. package/server/{deacon-Dru5onpk.js → deacon-D2-xTesT.js} +98 -98
  56. package/server/deacon-swarm-1vPLuj_l.js +2 -0
  57. package/server/{deacon-swarm-BPmBmSoU.js → deacon-swarm-yWKQhxiX.js} +12 -12
  58. package/server/deacon.js +8 -8
  59. package/server/{devcontainer-renderer-BqGNCzvN.js → devcontainer-renderer-xPhZHCrx.js} +2 -2
  60. package/server/{docker-CNjXS72x.js → docker-DPEglAwA.js} +2 -2
  61. package/server/{ensure-devcontainer-5e9xOve4.js → ensure-devcontainer-SzSvEdKq.js} +3 -3
  62. package/server/{ensure-devcontainer-C6gyUQdE.js → ensure-devcontainer-wU3ym1b5.js} +1 -1
  63. package/server/{event-store-D9UhQyMS.js → event-store-BZoXexYS.js} +1 -1
  64. package/server/{event-store-KZnWUKWh.js → event-store-D4s6eQ6o.js} +3 -3
  65. package/server/{events-BYbvqZky.js → events-Bn-wdUBF.js} +1 -1
  66. package/server/{events-2eFUPdqz.js → events-D1hMLl2a.js} +3 -3
  67. package/server/{factory-BtaRsHFC.js → factory-ltWnu0V_.js} +4 -4
  68. package/server/{feature-registry-population-Ca2UaV0U.js → feature-registry-population-xj-J1Wm7.js} +4 -4
  69. package/server/{feature-registry-storage-DaP-bQxO.js → feature-registry-storage-CQZukiLm.js} +2 -2
  70. package/server/{features-DqvaoQoa.js → features-Dyqi6N8f.js} +2 -2
  71. package/server/{feedback-target-BblmMe9P.js → feedback-target-Ba0zhSYI.js} +1 -1
  72. package/server/{feedback-target-BXWdOiYI.js → feedback-target-Chd5dm-Q.js} +7 -7
  73. package/server/{feedback-writer-CULeOOY4.js → feedback-writer-BtaoJGl2.js} +1 -1
  74. package/server/{feedback-writer-Dn8o9ZyE.js → feedback-writer-BujzReaQ.js} +4 -4
  75. package/server/{flywheel-CqkO3cDj.js → flywheel-FTInS73X.js} +10 -10
  76. package/server/{flywheel-BUWdcfhq.js → flywheel-bTImiVrk.js} +1 -1
  77. package/server/{flywheel-merge-order-VtjUweEb.js → flywheel-merge-order-DuenRJLZ.js} +6 -6
  78. package/server/{flywheel-merge-order-LDzQDwSg.js → flywheel-merge-order-O5Zu8iPw.js} +1 -1
  79. package/server/{flywheel-D9r1mw2U.js → flywheel-rmYbW-lh.js} +12 -12
  80. package/server/{forge-wEollMCi.js → forge-OWm99lie.js} +2 -2
  81. package/server/forge-x5lszTd0.js +2 -0
  82. package/server/{fts-db-Bgzn2RO7.js → fts-db-BRfS5ukG.js} +2 -2
  83. package/server/{fts-operations-Bj8yutnR.js → fts-operations-L5sNLoHl.js} +2 -2
  84. package/server/{git-utils-q8jNoBts.js → git-utils-BIEzv2Zp.js} +1 -1
  85. package/server/{git-utils-GxlL0tmt.js → git-utils-CP-bg-aM.js} +2 -2
  86. package/server/{github-app-tUbb8Ldr.js → github-app-CRUIvHuM.js} +2 -2
  87. package/server/{github-app-BrYwK_Gb.js → github-app-Dtn4ib6M.js} +1 -1
  88. package/server/{github-client-BwBU41jK.js → github-client-CWEFlCqL.js} +2 -2
  89. package/server/{github-client-D6CNsftm.js → github-client-DSVv6wX8.js} +1 -1
  90. package/server/{github-pr-lookup-BS5PqkJb.js → github-pr-lookup-D6CS9vtG.js} +2 -2
  91. package/server/{harness-resolve-Dx8hUsvC.js → harness-resolve-ScD6rV47.js} +3 -3
  92. package/server/{health-events-B0mj6Iae.js → health-events-DbcJmYmd.js} +1 -1
  93. package/server/{health-events-2DLp-5Xp.js → health-events-Dm1Vcvqe.js} +2 -2
  94. package/server/{hooks-BDcQJDUe.js → hooks-B6gaI6Kg.js} +1 -1
  95. package/server/{hooks-BS_JrvYP.js → hooks-VXuCnzCv.js} +2 -2
  96. package/server/{idle-stack-reaper-C1ymihno.js → idle-stack-reaper-Gv32ZCrQ.js} +1 -1
  97. package/server/{idle-stack-reaper-BCITXNW5.js → idle-stack-reaper-po700Lfg.js} +2 -2
  98. package/server/{infra-_Kx1m9pm.js → infra-DYwIXlK5.js} +4 -4
  99. package/server/{injection-Bvhyg_MV.js → injection-CTfFnpsG.js} +1 -1
  100. package/server/{injection-CCaYkofq.js → injection-DPsUoCJp.js} +7 -7
  101. package/server/inspect-agent-B25IP-0O.js +2 -0
  102. package/server/{inspect-agent-BqyZ4pCo.js → inspect-agent-CLkwfLRx.js} +9 -9
  103. package/server/{internal-token-Cl-1IxaE.js → internal-token--50JhWP7.js} +2 -2
  104. package/server/{internal-token-D-t28de5.js → internal-token-BOgxXMGy.js} +1 -1
  105. package/server/{io-DkC4sFSy.js → io-Cv9xQTks.js} +2 -2
  106. package/server/{issue-closed-Cpl4VDUM.js → issue-closed-CyqtoFUj.js} +7 -7
  107. package/server/{issue-lifecycle-YNTy3OT3.js → issue-lifecycle-Cm7ydBGK.js} +1 -1
  108. package/server/{issue-lifecycle-CFR8TJ22.js → issue-lifecycle-DR6n40bh.js} +20 -20
  109. package/server/{issue-service-singleton-D81mCts_.js → issue-service-singleton--LQ5c2zT.js} +1 -1
  110. package/server/{issue-service-singleton-ldvUUXi3.js → issue-service-singleton-DKKPneH4.js} +8 -8
  111. package/server/{issues-DIEHt9sq.js → issues-Cr-BLFLO.js} +2 -2
  112. package/server/{jsonl-parser-Cd5jIqh7.js → jsonl-parser-Bp_xCkX4.js} +3 -3
  113. package/server/{label-cleanup-Btny6Gyo.js → label-cleanup-BbLy2FZe.js} +2 -2
  114. package/server/{launcher-generator-BXLM9f4b.js → launcher-generator-C-FU4PNT.js} +4 -4
  115. package/server/{layers-gCJlK62m.js → layers-C-6lBDUE.js} +2 -2
  116. package/server/{lifecycle-D7aQUnTO.js → lifecycle-Bmw8yU_A.js} +5 -5
  117. package/server/{lifecycle-io-DQBF-GHO.js → lifecycle-io-B150XprC.js} +1 -1
  118. package/server/{lifecycle-io-FfPUtz-y.js → lifecycle-io-Dcu-_ktz.js} +4 -4
  119. package/server/{linear-client-CDH2D6Qy.js → linear-client-BHjs0luk.js} +2 -2
  120. package/server/{linear-client-WrYrUIAH.js → linear-client-s65LNmlG.js} +1 -1
  121. package/server/memory-fts-worker.js +1 -1
  122. package/server/{merge-Dervs4BF.js → merge-CM8swd2V.js} +1 -1
  123. package/server/{merge-BsDgUxFz.js → merge-CS0b-E3u.js} +3 -3
  124. package/server/{merge-agent-D6DNhe9j.js → merge-agent-Bu1hw9cz.js} +26 -26
  125. package/server/{merge-agent-DMQTJMP0.js → merge-agent-D6LRIW63.js} +1 -1
  126. package/server/{merge-blockers-WWWi6Ur2.js → merge-blockers-Dt43hJiW.js} +2 -2
  127. package/server/merge-ops-DwYi3U_x.js +2 -0
  128. package/server/{merge-rebase-Czth9ggm.js → merge-rebase-B3vQcTq1.js} +2 -2
  129. package/server/{merge-set-vuE3MEVt.js → merge-set-BMEGEKQg.js} +1 -1
  130. package/server/{merge-set-DNc4zBqd.js → merge-set-Pe3spe8k.js} +3 -3
  131. package/server/{merge-sync-B9nHdUGx.js → merge-sync-CpxFRIQ7.js} +1 -1
  132. package/server/{merge-sync-B2KSk54U.js → merge-sync-STpg1hk3.js} +2 -2
  133. package/server/{merge-train-DJgr81tF.js → merge-train-DLw2hDk0.js} +3 -3
  134. package/server/{merge-train-deps-B2OWS0k9.js → merge-train-deps-BlCGLqwy.js} +4 -4
  135. package/server/{merge-verification-BBIXUEqa.js → merge-verification-C4WMP40D.js} +4 -4
  136. package/server/node_modules/.package-lock.json +1 -1
  137. package/server/{orphan-proposed-reconciler-DbTmT7qy.js → orphan-proposed-reconciler-eetUXmmt.js} +1 -1
  138. package/server/{orphan-proposed-reconciler-B8H41C4a.js → orphan-proposed-reconciler-k9eydM1E.js} +9 -9
  139. package/server/package-lock.json +2 -2
  140. package/server/package.json +1 -1
  141. package/server/{pan-dir-BTw4MdSe.js → pan-dir-D3vABXMs.js} +3 -3
  142. package/server/{paths-Btkc8mzp.js → paths-DIoslfsu.js} +2 -2
  143. package/server/{pipeline-notifier-3frIvSi3.js → pipeline-notifier-Bgidcelx.js} +1 -1
  144. package/server/{pipeline-notifier-DTd19f18.js → pipeline-notifier-CuBONomU.js} +2 -2
  145. package/server/{project-pipelines-B95fcAek.js → project-pipelines-B9b_JVTS.js} +2 -2
  146. package/server/{projects-Dc9aoVoG.js → projects-DxMUi2eI.js} +1 -1
  147. package/server/{prompts-CIVmjHxn.js → prompts-CY1xnHS-.js} +2 -2
  148. package/server/{providers-BLLk5IIb.js → providers-B7BNcK_j.js} +1 -1
  149. package/server/{providers-C-yWibCk.js → providers-CAlK2If5.js} +7 -7
  150. package/server/{pull-requests-D7AL5woD.js → pull-requests-Cs4VLxiY.js} +1 -1
  151. package/server/{pull-requests-NDDNtqNq.js → pull-requests-CxfrQiWX.js} +3 -3
  152. package/server/{queries-C0LCGG21.js → queries-srgusoi8.js} +59 -59
  153. package/server/{rally-4oKvnxLG.js → rally-AKkjuGdi.js} +3 -3
  154. package/server/rally-BOza5j3_.js +3 -0
  155. package/server/{rally-api-41tT6ikZ.js → rally-api-BGxATnyr.js} +2 -2
  156. package/server/{rally-api-BsaQ8Vnz.js → rally-api-Dbqw1YW9.js} +1 -1
  157. package/server/{rally-client-b5PT1x5L.js → rally-client-B1U5ewpO.js} +1 -1
  158. package/server/{rally-client-Bo4hNcCZ.js → rally-client-D8h73ei_.js} +4 -4
  159. package/server/{rebuild-stack-Ddv6W017.js → rebuild-stack-BYdtwS6f.js} +5 -5
  160. package/server/{rebuild-stack-C7JPUom6.js → rebuild-stack-Dsm9WjKv.js} +1 -1
  161. package/server/{reconstruct-cache-Gqhm---K.js → reconstruct-cache-D7oM1lNv.js} +6 -6
  162. package/server/{record-DLOqfbkI.js → record-BeXdn9Ue.js} +1 -1
  163. package/server/{record-update-BltEmPge.js → record-update-Cb_pPM-F.js} +2 -2
  164. package/server/{record-update-CDp7aTaT.js → record-update-KFiISAmu.js} +1 -1
  165. package/server/{recovery-trip-Cn7KJVkS.js → recovery-trip-DwbsONZf.js} +2 -2
  166. package/server/{release-engine-BYzmIBf9.js → release-engine-CAai5W0V.js} +5 -5
  167. package/server/{release-set-7pnxFOWR.js → release-set-vNEAfyDH.js} +3 -3
  168. package/server/{remote-Cvu4CSDk.js → remote-8HlOfuF1.js} +3 -3
  169. package/server/{remote-rN0ecjHE.js → remote-RQMKOL_R.js} +3 -3
  170. package/server/{remote-agents-C2C6z9tj.js → remote-agents-C4a4DdTj.js} +6 -6
  171. package/server/{remote-agents-DYY5fFpd.js → remote-agents-_Z1SAaSK.js} +1 -1
  172. package/server/{remote-completion-2Kb4IDg_.js → remote-completion-CH3igKY8.js} +12 -12
  173. package/server/resume-Cr34JAXO.js +3 -0
  174. package/server/{review-agent-BZvk0N5G.js → review-agent-CQ7oRh_G.js} +22 -22
  175. package/server/{review-agent-CpSHLzed.js → review-agent-CUVj54v0.js} +1 -1
  176. package/server/{review-artifacts-PCo53YMn.js → review-artifacts-CC3yGv7o.js} +5 -5
  177. package/server/{review-context-M7QtJlJq.js → review-context-BuxaAgAd.js} +7 -7
  178. package/server/{review-monitor-BLC5mTTg.js → review-monitor-uogOppaW.js} +2 -2
  179. package/server/{review-status-77N3PoZr.js → review-status-BoJdyvUQ.js} +1 -1
  180. package/server/{review-status-DANr0t-v.js → review-status-By86XA6Z.js} +23 -21
  181. package/server/{review-status-enrichment-DwOg4UfL.js → review-status-enrichment-CRQAO27G.js} +3 -3
  182. package/server/{review-status-sync-Bd08OOFA.js → review-status-sync-BI4WhUkF.js} +1 -1
  183. package/server/{review-status-sync-BjTUJ5fx.js → review-status-sync-DUQmrLkK.js} +2 -2
  184. package/server/{review-verdict-feedback-CBf-J_wS.js → review-verdict-feedback-BNcGkBRD.js} +6 -6
  185. package/server/{review-verdict-feedback-BsFLjN_6.js → review-verdict-feedback-CWz9_9Kp.js} +1 -1
  186. package/server/{rollup-DTCCdEy4.js → rollup-B-K6PCbm.js} +1 -1
  187. package/server/{rollup-Bu0f2EyN.js → rollup-CqiFgtBp.js} +7 -7
  188. package/server/{scanner-BlZ2vB7j.js → scanner-BZmDUjyD.js} +7 -7
  189. package/server/{sequence-io-ylyDtz2J.js → sequence-io-BuUx1ZAY.js} +4 -4
  190. package/server/{sequencer-agent-DsWQ-87H.js → sequencer-agent-2uWOA_BC.js} +5 -5
  191. package/server/server.js +155 -153
  192. package/server/{service-CLVBC_1Y.js → service-COB19Uhm.js} +45 -45
  193. package/server/{session-fork-DlEIAhRy.js → session-fork-D18TscUZ.js} +2 -2
  194. package/server/{session-history-bnOFKMwf.js → session-history-DbWnzfo-.js} +2 -2
  195. package/server/settings-C3w2std9.js +2 -0
  196. package/server/{settings-Cqa-8nyj.js → settings-CFEdfovT.js} +2 -2
  197. package/server/{settings-gJrdLZy2.js → settings-DNPAf2X_.js} +3 -3
  198. package/server/{shadow-engineering-fq1YEKV3.js → shadow-engineering-D8xTtraU.js} +2 -2
  199. package/server/{shadow-state-RptE9Cau.js → shadow-state-CTgub0ME.js} +2 -2
  200. package/server/{shadow-state-BqeFAygK.js → shadow-state-fRDYhcyx.js} +1 -1
  201. package/server/{shadow-utils-BMWr5tRT.js → shadow-utils-DqMLnRgQ.js} +2 -2
  202. package/server/{smart-compaction-DldUel4B.js → smart-compaction-CL6yaFpc.js} +1 -1
  203. package/server/{smart-compaction-CmoXpjeU.js → smart-compaction-CsJDKM-N.js} +5 -5
  204. package/server/{spawn-planning-session-DT2tSMxo.js → spawn-planning-session-C_wIQ-Zg.js} +1 -1
  205. package/server/{spawn-planning-session-CoS6LTc6.js → spawn-planning-session-D0-NlNK1.js} +13 -13
  206. package/server/{specialist-context-CspI4Eog.js → specialist-context-DXj5Itg8.js} +5 -5
  207. package/server/{specialist-handoff-logger-Duz9RGvk.js → specialist-handoff-logger-BFH-IB0n.js} +2 -2
  208. package/server/{specialist-logs-DtSkPJZK.js → specialist-logs-B-rldhNg.js} +3 -3
  209. package/server/{specialists-Dax7tqXC.js → specialists-C6-b3YZb.js} +81 -81
  210. package/server/{specialists-CywEMwxk.js → specialists-CI_eqHAz.js} +1 -1
  211. package/server/{specialists-GF42OOqd.js → specialists-Dp8ABxVh.js} +18 -18
  212. package/server/{specialists-D9-dMUtI.js → specialists-Hq3EojmD.js} +1 -1
  213. package/server/specs-DPGNVh51.js +3 -0
  214. package/server/{stack-health-BsEVrJZ6.js → stack-health-Bxt-oGE6.js} +1 -1
  215. package/server/{stack-health-C-SnpRHh.js → stack-health-FtNYSTCS.js} +2 -2
  216. package/server/{stale-task-claims-vTxmRzLi.js → stale-task-claims-DnCHCATD.js} +4 -4
  217. package/server/{state-home-Bur1y4oH.js → state-home-BzzKVh_C.js} +2 -2
  218. package/server/{state-migrate-D3VveYfO.js → state-migrate-BS4IybIS.js} +3 -3
  219. package/server/{stuck-remediation-CaFYYTQW.js → stuck-remediation-CTNT4LUC.js} +1 -1
  220. package/server/{stuck-remediation-B699-p8v.js → stuck-remediation-DbwhGg3g.js} +15 -15
  221. package/server/{summary-fork-BxnF8Xh0.js → summary-fork-CloCB8dV.js} +2 -2
  222. package/server/{summary-fork-COqYpVa3.js → summary-fork-DaCs0tCq.js} +8 -8
  223. package/server/supervisor/{paths-Bk6hJRH9.js → paths-C1yU0jq4.js} +2 -1
  224. package/server/supervisor/pty-supervisor.js +2 -2
  225. package/server/supervisor/{pty-token-BZS5GYdG.js → pty-token-CSryb8Mb.js} +2 -2
  226. package/server/{supervisor-liMgIPDF.js → supervisor-CRED6PD6.js} +2 -2
  227. package/server/supervisor-DHwuClN_.js +2 -0
  228. package/server/{swarm-readiness-sXB1vhzo.js → swarm-readiness-CEOrP9rE.js} +3 -3
  229. package/server/{teardown-workspace-DvzqnmUF.js → teardown-workspace-Ckn7HGhp.js} +12 -12
  230. package/server/{test-agent-queue-hAU1Ah08.js → test-agent-queue-C8lE8r2j.js} +5 -5
  231. package/server/{tldr-daemon-DhGwd88s.js → tldr-daemon-BE5rqR90.js} +1 -1
  232. package/server/{tldr-daemon-Bam7Xhoo.js → tldr-daemon-CGwDr28O.js} +2 -2
  233. package/server/{tmux-U55cNGFG.js → tmux-C3X2XmV0.js} +2 -2
  234. package/server/{tmux-C-rgxRDA.js → tmux-DNaD06Gc.js} +1 -1
  235. package/server/{tracker-config-OkdbaUCm.js → tracker-config-5Cabf1MU.js} +2 -2
  236. package/server/{tracker-utils-CghXMF3q.js → tracker-utils-Cl-Eaqrv.js} +2 -2
  237. package/server/{tracker-utils-DdzUiPNU.js → tracker-utils-FexeJhyf.js} +1 -1
  238. package/server/{tunnel-DjlzgTl3.js → tunnel-D4px7sKc.js} +1 -1
  239. package/server/{tunnel-D1YxesBL.js → tunnel-KId6Z59z.js} +2 -2
  240. package/server/{uat-train-CqN34zFx.js → uat-train-B16skN7L.js} +23 -23
  241. package/server/{uat-train-CaaWs9Rp.js → uat-train-BBMrnecu.js} +1 -1
  242. package/server/{validation-DpTNakM6.js → validation-Zc4kAmqa.js} +1 -1
  243. package/server/{validation-4-z2Cw4z.js → validation-xAD7y5vW.js} +3 -3
  244. package/server/{verification-runner-BjHN80pJ.js → verification-runner-32y8NRfL.js} +13 -13
  245. package/server/{verification-runner-ShYu5Ph3.js → verification-runner-DAat1p1u.js} +1 -1
  246. package/server/{work-agent-prompt-BiJ43Der.js → work-agent-prompt-S3Fe1kpV.js} +9 -9
  247. package/server/{workflows-DkTotz_m.js → workflows-BNvk5gbE.js} +12 -12
  248. package/server/workflows-Cw2-a_hn.js +2 -0
  249. package/server/{workspace-CuN0ev4Z.js → workspace-BhUnCpcq.js} +3 -3
  250. package/server/{workspace-DQ4vVivd.js → workspace-C-gP6JAz.js} +1 -1
  251. package/server/{workspace-manager-Beeo2aKF.js → workspace-manager-BKiMmb0c.js} +10 -10
  252. package/server/{workspace-manager-B1mYn0lN.js → workspace-manager-DD6PDqV8.js} +1 -1
  253. package/server/{workspace-metadata-BZC5BmoP.js → workspace-metadata-Cnq0snrf.js} +2 -2
  254. package/server/{workspace-metadata-Cy7_ZACL.js → workspace-metadata-D5gNR61G.js} +1 -1
  255. package/server/{workspaces-CGuzW1Ia.js → workspaces-DiAwBsb9.js} +91 -91
  256. package/sync-sources/hooks/record-cost-event.js +1 -1
  257. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  258. package/server/cli-BFgrSWKV.js +0 -3
  259. package/server/deacon-swarm-CKyGJng1.js +0 -2
  260. package/server/forge-DJy3Zx4s.js +0 -2
  261. package/server/inspect-agent-DCJQm9Wu.js +0 -2
  262. package/server/merge-ops-h9OCnIVz.js +0 -2
  263. package/server/rally-DF5a3ioP.js +0 -3
  264. package/server/resume-BFLl-yLn.js +0 -3
  265. package/server/settings-CP3GGon2.js +0 -2
  266. package/server/specs-VwcFtEDi.js +0 -3
  267. package/server/supervisor-eWAAmXKu.js +0 -2
  268. package/server/workflows-B4C3lY9E.js +0 -2
@@ -1,40 +1,40 @@
1
1
  import { i as __require, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $r as sessionFilePath, Cr as AGENTS_DIR, En as getIssuePrefix, Fn as init_projects, Mr as OVERDECK_HOME, Nt as readIssueRecordForWorkspaceSync, Pt as readIssueRecordSync, Sr as init_errors, Yr as init_paths, cn as init_state_plane, f as loadConfigSync, in as reconcileStatePlaneDrift, kn as getProjectSync, kt as init_record, nn as init_auto_commit, on as STATE_PLANE_PATHS, qn as resolveProjectFromIssueSync, s as init_load, sn as getMainDivergence, un as isStatePlanePath, zn as listProjectsSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { $r as sessionFilePath, Cr as AGENTS_DIR, En as getIssuePrefix, Fn as init_projects, Mr as OVERDECK_HOME, Nt as readIssueRecordForWorkspaceSync, Pt as readIssueRecordSync, Sr as init_errors, Yr as init_paths, cn as init_state_plane, f as loadConfigSync, in as reconcileStatePlaneDrift, kn as getProjectSync, kt as init_record, nn as init_auto_commit, on as STATE_PLANE_PATHS, qn as resolveProjectFromIssueSync, s as init_load, sn as getMainDivergence, un as isStatePlanePath, zn as listProjectsSync } from "./config-yaml-BQs6GbD_.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
4
- import { n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
5
- import { A as listSessions, D as listPaneValues, F as sendKeys, I as sendKeysAsync, R as sessionExists, S as init_tmux, T as killSession, i as capturePane, k as listSessionNames, w as isPaneDead, z as sessionExistsSync } from "./tmux-U55cNGFG.js";
6
- import { a as init_event_store, i as initEventStore } from "./event-store-KZnWUKWh.js";
7
- import { S as needsReviewDispatch, c as init_review_status, h as reviewGatesPassedSync, s as getReviewStatusSync, u as loadReviewStatuses, x as init_review_dispatch_decision, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
8
- import { c as listAllAgentsSync, d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents-BHBxr8c9.js";
9
- import { Dt as captureTranscriptUserRecordSnapshot, F as isContextOverflowTail, Fn as getAgentStateSync, In as init_agent_state, Jn as saveAgentState, M as resumeAgent, N as init_context_overflow, Nn as getAgentState, On as clearAgentTroubledSync, Ot as init_transcript_landing, Q as stopAgent, Qn as setAgentYieldedSync, Sr as paneShowsCodexAuthBurn, Vn as markAgentRunningState, Wn as recordAgentFailure, Yn as saveAgentStateSync, Z as init_termination, Zn as setAgentPausedSync, _n as buildDefaultResumeContinueMessage, _t as init_config, a as listRunningAgentsSync, at as init_concurrency, ct as resetPatrolDispatchBudget, dt as workResumeSlotsAvailable, et as countRunningAgents, gr as saveAgentRuntimeState, hr as init_runtime_state, i as listRunningAgents, it as getConcurrencyLimits, jn as getAgentDir, kn as clearYieldForResumeSync, lt as tryReserveAdvancingSlot, mr as getAgentRuntimeStateSync, mt as setCachedMemoryVerdict, n as init_queries, nt as describeRunningAgents, ot as releaseAdvancingSlot, pr as getAgentRuntimeState, pt as init_memory_verdict_cache, qn as resetAgentFailureCount, r as listAgentStates, s as init_agents$1, vt as loadCloisterConfig, wt as deliverInitialPromptWithRetry, xr as init_codex_auth, yr as applyCodexAuthBurnFlag, yt as loadCloisterConfigSync } from "./queries-C0LCGG21.js";
10
- import { c as logDeaconEventSync, o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-bnOFKMwf.js";
11
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-CghXMF3q.js";
4
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-Cb_pPM-F.js";
5
+ import { A as listSessions, D as listPaneValues, F as sendKeys, I as sendKeysAsync, R as sessionExists, S as init_tmux, T as killSession, i as capturePane, k as listSessionNames, w as isPaneDead, z as sessionExistsSync } from "./tmux-C3X2XmV0.js";
6
+ import { a as init_event_store, i as initEventStore } from "./event-store-D4s6eQ6o.js";
7
+ import { S as needsReviewDispatch, c as init_review_status, h as reviewGatesPassedSync, s as getReviewStatusSync, u as loadReviewStatuses, x as init_review_dispatch_decision, y as setReviewStatusSync } from "./review-status-By86XA6Z.js";
8
+ import { c as listAllAgentsSync, d as isTerminalIssueStage, o as init_agents, u as getIssueStageSync } from "./agents--ljN-wVY.js";
9
+ import { Dt as captureTranscriptUserRecordSnapshot, F as isContextOverflowTail, Fn as getAgentStateSync, In as init_agent_state, Jn as saveAgentState, M as resumeAgent, N as init_context_overflow, Nn as getAgentState, On as clearAgentTroubledSync, Ot as init_transcript_landing, Q as stopAgent, Qn as setAgentYieldedSync, Sr as paneShowsCodexAuthBurn, Vn as markAgentRunningState, Wn as recordAgentFailure, Yn as saveAgentStateSync, Z as init_termination, Zn as setAgentPausedSync, _n as buildDefaultResumeContinueMessage, _t as init_config, a as listRunningAgentsSync, at as init_concurrency, ct as resetPatrolDispatchBudget, dt as workResumeSlotsAvailable, et as countRunningAgents, gr as saveAgentRuntimeState, hr as init_runtime_state, i as listRunningAgents, it as getConcurrencyLimits, jn as getAgentDir, kn as clearYieldForResumeSync, lt as tryReserveAdvancingSlot, mr as getAgentRuntimeStateSync, mt as setCachedMemoryVerdict, n as init_queries, nt as describeRunningAgents, ot as releaseAdvancingSlot, pr as getAgentRuntimeState, pt as init_memory_verdict_cache, qn as resetAgentFailureCount, r as listAgentStates, s as init_agents$1, vt as loadCloisterConfig, wt as deliverInitialPromptWithRetry, xr as init_codex_auth, yr as applyCodexAuthBurnFlag, yt as loadCloisterConfigSync } from "./queries-srgusoi8.js";
10
+ import { c as logDeaconEventSync, o as init_persistent_logger, s as logAgentLifecycleSync } from "./session-history-DbWnzfo-.js";
11
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-Cl-Eaqrv.js";
12
12
  import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-Ci0pkac4.js";
13
- import { c as init_review_status_sync, l as markWorkspaceStuck } from "./review-status-sync-BjTUJ5fx.js";
14
- import { m as readWorkspacePlanSync, o as init_io } from "./io-DkC4sFSy.js";
15
- import { f as init_config$1, m as loadConfigSync$1, p as loadConfig$1 } from "./config-DfaUXr6r.js";
16
- import { T as stampBootReconciliation, h as setBootReconciliationDecision, l as isDeaconGloballyPaused, r as getBootReconciliationState, s as init_control_settings } from "./control-settings-BguNQ1F_.js";
17
- import { c as init_docker_stats, s as DockerStatsCollector } from "./stack-health-C-SnpRHh.js";
18
- import { l as init_dag, o as getDispatchableItems } from "./dag-C6kYyF17.js";
19
- import { a as findRecreatedLegacyStatePaths, o as init_state_home } from "./state-home-Bur1y4oH.js";
20
- import { a as isAgentIdleForNudge, t as checkStuckAgentRemediation } from "./stuck-remediation-B699-p8v.js";
13
+ import { c as init_review_status_sync, l as markWorkspaceStuck } from "./review-status-sync-DUQmrLkK.js";
14
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-Cv9xQTks.js";
15
+ import { f as init_config$1, m as loadConfigSync$1, p as loadConfig$1 } from "./config-Cntj_tFu.js";
16
+ import { T as stampBootReconciliation, h as setBootReconciliationDecision, l as isDeaconGloballyPaused, r as getBootReconciliationState, s as init_control_settings } from "./control-settings-bxOCLsuE.js";
17
+ import { c as init_docker_stats, s as DockerStatsCollector } from "./stack-health-FtNYSTCS.js";
18
+ import { l as init_dag, o as getDispatchableItems } from "./dag-ClFr7Bah.js";
19
+ import { a as findRecreatedLegacyStatePaths, o as init_state_home } from "./state-home-BzzKVh_C.js";
20
+ import { a as isAgentIdleForNudge, t as checkStuckAgentRemediation } from "./stuck-remediation-DbwhGg3g.js";
21
21
  import { n as __filename, r as init_esm_shims } from "./esm-shims-Cso7IGBC.js";
22
22
  import { t as recordDeaconNudge } from "./deacon-nudge-log-ilDfxrhK.js";
23
- import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-BLC5mTTg.js";
24
- import { O as init_specialists, R as parseReviewerSessionName, T as getTmuxSessionName, d as getAllProjectSpecialistStatuses } from "./specialists-GF42OOqd.js";
25
- import { a as inferBranchFromWorkspace, i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-CzCW9Ifl.js";
26
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Cpl4VDUM.js";
27
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BBIXUEqa.js";
28
- import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CBf-J_wS.js";
23
+ import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-uogOppaW.js";
24
+ import { O as init_specialists, R as parseReviewerSessionName, T as getTmuxSessionName, d as getAllProjectSpecialistStatuses } from "./specialists-Dp8ABxVh.js";
25
+ import { a as inferBranchFromWorkspace, i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-BW3te5Vw.js";
26
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-CyqtoFUj.js";
27
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-C4WMP40D.js";
28
+ import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-BNcGkBRD.js";
29
29
  import { n as reconcileTraefikNetworks, t as init_traefik_connect } from "./traefik-connect-CZYB3dlm.js";
30
- import { g as decideAgentAutonomousRedrive, r as coordinateSwarmSlots, y as listFeatureWorkspaces } from "./deacon-swarm-BPmBmSoU.js";
31
- import { t as recordRecoveryFailure } from "./recovery-trip-Cn7KJVkS.js";
30
+ import { g as decideAgentAutonomousRedrive, r as coordinateSwarmSlots, y as listFeatureWorkspaces } from "./deacon-swarm-yWKQhxiX.js";
31
+ import { t as recordRecoveryFailure } from "./recovery-trip-DwbsONZf.js";
32
32
  import { n as isExplicitNoResumeRequest, t as init_no_resume_mode } from "./no-resume-mode-Gh5R_YLF.js";
33
- import { n as reconcileClosedIssueAgents } from "./closed-issue-reaper-LoMnnjtJ.js";
33
+ import { n as reconcileClosedIssueAgents } from "./closed-issue-reaper-BsJ3JqQy.js";
34
34
  import { a as RELEASED_LABEL, i as READY_LABEL, n as OBJECTION_LABEL, o as VETOED_LABEL, r as PARKED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-BtvRBbvI.js";
35
- import { n as pruneTerminalStoppedAgents } from "./agent-gc-kpzxqT7P.js";
36
- import { a as spawnWorkAgentThroughAgentsEndpoint, i as reconcileOrphanProposedSpecs, o as triggerRebuildAndStart } from "./orphan-proposed-reconciler-B8H41C4a.js";
37
- import { n as reconcileIdleWorkspaceStacks } from "./idle-stack-reaper-BCITXNW5.js";
35
+ import { n as pruneTerminalStoppedAgents } from "./agent-gc-ClNQLl_V.js";
36
+ import { a as spawnWorkAgentThroughAgentsEndpoint, i as reconcileOrphanProposedSpecs, o as triggerRebuildAndStart } from "./orphan-proposed-reconciler-k9eydM1E.js";
37
+ import { n as reconcileIdleWorkspaceStacks } from "./idle-stack-reaper-po700Lfg.js";
38
38
  import { i as readTestVerdictArtifact, n as decideUnsignaledTestAction, r as init_test_verdict } from "./test-verdict-CXMLATGc.js";
39
39
  import { createRequire } from "node:module";
40
40
  import { join } from "node:path";
@@ -22541,7 +22541,7 @@ async function checkInspectAgentTimeouts(now = /* @__PURE__ */ new Date()) {
22541
22541
  console.warn(`[deacon] Failed to kill inspect session ${sessionName}: ${msg}`);
22542
22542
  });
22543
22543
  try {
22544
- const { messageAgent } = await import("./agents-BA15AQqo.js");
22544
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
22545
22545
  await messageAgent(`agent-${issueId.toLowerCase()}`, verdict, "deacon:inspect-watchdog");
22546
22546
  } catch (err) {
22547
22547
  const msg = err instanceof Error ? err.message : String(err);
@@ -22693,7 +22693,7 @@ async function maybeProactivelyCompactContext(sessionName, now) {
22693
22693
  if (!agentState?.workspace || !sessionId || !agentState.model) return null;
22694
22694
  let usage = null;
22695
22695
  try {
22696
- const { computeContextUsage } = await import("./conversation-service-DzuY9qoH.js");
22696
+ const { computeContextUsage } = await import("./conversation-service-BVt4MQ1_.js");
22697
22697
  usage = await computeContextUsage(sessionFilePath(agentState.workspace, sessionId), agentState.model);
22698
22698
  } catch {
22699
22699
  return null;
@@ -22803,13 +22803,13 @@ async function checkApiErrorAgents() {
22803
22803
  const st = getAgentStateSync(sessionName);
22804
22804
  const sid = st?.sessionId ?? runtimeState?.claudeSessionId;
22805
22805
  if (st?.workspace && sid && st.model) {
22806
- const { computeContextUsage } = await import("./conversation-service-DzuY9qoH.js");
22806
+ const { computeContextUsage } = await import("./conversation-service-BVt4MQ1_.js");
22807
22807
  const usage = await computeContextUsage(sessionFilePath(st.workspace, sid), st.model);
22808
22808
  if (usage && usage.percentUsed < 85) recoveredPct = usage.percentUsed;
22809
22809
  }
22810
22810
  } catch {}
22811
22811
  if (recoveredPct !== null) {
22812
- const { clearWorkspaceStuck } = await import("./review-status-sync-Bd08OOFA.js");
22812
+ const { clearWorkspaceStuck } = await import("./review-status-sync-BI4WhUkF.js");
22813
22813
  clearWorkspaceStuck(issueId);
22814
22814
  stuckOverflowNativeRecoveryState.delete(sessionName);
22815
22815
  actions.push(`Context overflow recovery: cleared stuck flag for ${sessionName} (context back to ${Math.round(recoveredPct)}%)`);
@@ -22825,7 +22825,7 @@ async function checkApiErrorAgents() {
22825
22825
  rec.attempts += 1;
22826
22826
  rec.lastAttempt = now;
22827
22827
  stuckOverflowNativeRecoveryState.set(sessionName, rec);
22828
- const { resumeAgent } = await import("./agents-BA15AQqo.js");
22828
+ const { resumeAgent } = await import("./agents-DAUyr_Z1.js");
22829
22829
  const recovered = await resumeAgent(sessionName, void 0, { compact: true });
22830
22830
  if (recovered.success) {
22831
22831
  stuckOverflowNativeRecoveryState.delete(sessionName);
@@ -22873,7 +22873,7 @@ async function checkApiErrorAgents() {
22873
22873
  }
22874
22874
  const compactAttempts = (ov?.compactAttempts ?? 0) + 1;
22875
22875
  if (issueId !== null) {
22876
- const { resumeAgent } = await import("./agents-BA15AQqo.js");
22876
+ const { resumeAgent } = await import("./agents-DAUyr_Z1.js");
22877
22877
  const resumeResult = await resumeAgent(sessionName, void 0, { compact: true });
22878
22878
  contextOverflowRecoveryState.set(sessionName, {
22879
22879
  lastAttempt: now,
@@ -23240,7 +23240,7 @@ function reviewConvoyLiveness(issueId) {
23240
23240
  */
23241
23241
  async function recoverUnhealthyTestStack(issueId, workspacePath) {
23242
23242
  const key = issueId.toUpperCase();
23243
- const { getWorkspaceStackHealth } = await import("./stack-health-BsEVrJZ6.js");
23243
+ const { getWorkspaceStackHealth } = await import("./stack-health-Bxt-oGE6.js");
23244
23244
  const health = await Effect.runPromise(getWorkspaceStackHealth(issueId, { workspacePath }));
23245
23245
  if (health.healthy) {
23246
23246
  testStackRebuildState.delete(key);
@@ -23272,7 +23272,7 @@ async function recoverUnhealthyTestStack(issueId, workspacePath) {
23272
23272
  record.attempts += 1;
23273
23273
  testStackRebuildState.set(key, record);
23274
23274
  console.log(`[deacon] Test stack for ${key} unhealthy (${health.reasons.join("; ")}) — rebuilding (attempt ${record.attempts}/${TEST_STACK_REBUILD_MAX_ATTEMPTS})`);
23275
- const { rebuildWorkspaceStack } = await import("./rebuild-stack-C7JPUom6.js");
23275
+ const { rebuildWorkspaceStack } = await import("./rebuild-stack-Dsm9WjKv.js");
23276
23276
  const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[deacon] ${key} stack rebuild: ${m}`) }));
23277
23277
  if (!result.success) {
23278
23278
  console.warn(`[deacon] Test stack rebuild failed for ${key}: ${result.error}`);
@@ -23437,7 +23437,7 @@ async function handleReviewCoordinatorDied(issueId, _sessionName, _reason) {
23437
23437
  return actions;
23438
23438
  }
23439
23439
  try {
23440
- const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
23440
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
23441
23441
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
23442
23442
  issueId,
23443
23443
  workspace,
@@ -23567,7 +23567,7 @@ async function reconcileReviewStatusOrphan(issueId, rawStatus) {
23567
23567
  const workspace = agentState?.workspace || (resolved ? findWorkspacePath(resolved.projectPath, issueLower) : null);
23568
23568
  if (workspace && resolved && !tryReserveAdvancingSlot() && !await tryYieldForAdvancingDispatch("review", issueId)) actions.push(`Deferred review re-dispatch for ${issueId} — advancing-role concurrency ceiling reached`);
23569
23569
  else if (workspace && resolved) try {
23570
- const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
23570
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
23571
23571
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
23572
23572
  issueId,
23573
23573
  workspace,
@@ -23592,8 +23592,8 @@ async function reconcileReviewStatusOrphan(issueId, rawStatus) {
23592
23592
  const workspace = agentState?.workspace || (resolved ? findWorkspacePath(resolved.projectPath, issueLower) : null);
23593
23593
  if (workspace && resolved) {
23594
23594
  const branch = `feature/${issueLower}`;
23595
- const { spawnRun } = await import("./agents-BA15AQqo.js");
23596
- const { buildTestRolePrompt } = await import("./test-agent-queue-hAU1Ah08.js");
23595
+ const { spawnRun } = await import("./agents-DAUyr_Z1.js");
23596
+ const { buildTestRolePrompt } = await import("./test-agent-queue-C8lE8r2j.js");
23597
23597
  const stackRecovery = await recoverUnhealthyTestStack(issueId, workspace);
23598
23598
  if (stackRecovery === "cooldown" || stackRecovery === "exhausted") {
23599
23599
  setReviewStatusSync(issueId, { testStatus: "dispatch_failed" });
@@ -23731,7 +23731,7 @@ async function recoverStalledReviewConvoys(getCanonicalState = getAutoCloseOutCa
23731
23731
  record.lastAttempt = now;
23732
23732
  record.attempts += 1;
23733
23733
  stalledReviewConvoyRecoveryState.set(key, record);
23734
- const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
23734
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
23735
23735
  try {
23736
23736
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
23737
23737
  issueId,
@@ -23802,7 +23802,7 @@ async function checkMissingReviewStatuses() {
23802
23802
  continue;
23803
23803
  }
23804
23804
  try {
23805
- const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
23805
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
23806
23806
  await Effect.runPromise(spawnReviewRoleForIssue({
23807
23807
  issueId,
23808
23808
  workspace,
@@ -23853,7 +23853,7 @@ async function checkStuckReviewing() {
23853
23853
  const actions = [];
23854
23854
  const REVIEW_STUCK_THRESHOLD_MS = 1800 * 1e3;
23855
23855
  try {
23856
- const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-77N3PoZr.js");
23856
+ const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
23857
23857
  const statuses = loadReviewStatuses();
23858
23858
  const now = Date.now();
23859
23859
  const activeReviewIssues = /* @__PURE__ */ new Set();
@@ -23869,7 +23869,7 @@ async function checkStuckReviewing() {
23869
23869
  if (rState?.state === "active" && rState.currentIssue) activeReviewIssues.add(rState.currentIssue.toUpperCase());
23870
23870
  }
23871
23871
  try {
23872
- const { listRunningAgents } = await import("./agents-BA15AQqo.js");
23872
+ const { listRunningAgents } = await import("./agents-DAUyr_Z1.js");
23873
23873
  const agents = await Effect.runPromise(listRunningAgents());
23874
23874
  for (const agent of agents) {
23875
23875
  if (agent.status === "stopped" || agent.status === "error") continue;
@@ -24002,7 +24002,7 @@ async function checkCompletedButUnsignaledReviews() {
24002
24002
  }
24003
24003
  const nudge = `Your review synthesis is already written and saved. Your ONLY remaining task is to execute this Bash command immediately — do not analyze, do not summarize, do not ask questions, just run it:\n\n${`pan admin specialists done review ${issueId} --status ${verdict}${verdict === "blocked" || verdict === "failed" ? ` --notes "${topBlocker || "See synthesis.md"}"` : ""}`}\n\nRun this command NOW. Do not write any other response before executing it.`;
24004
24004
  try {
24005
- const { messageAgent } = await import("./agents-BA15AQqo.js");
24005
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
24006
24006
  await messageAgent(reviewSession, nudge);
24007
24007
  unsignaledReviewNudges.set(latestDir, now);
24008
24008
  actions.push(`Nudged ${reviewSession} to signal ${verdict} (synthesis written ${Math.round((now - latestMtime) / 6e4)}min ago)`);
@@ -24124,7 +24124,7 @@ async function respawnIdleReviewer(state, agentId) {
24124
24124
  return false;
24125
24125
  }
24126
24126
  try {
24127
- const { spawnReviewSubRoleForIssue } = await import("./review-agent-CpSHLzed.js");
24127
+ const { spawnReviewSubRoleForIssue } = await import("./review-agent-CUVj54v0.js");
24128
24128
  const contextManifestPath = join$1(dirname$1(outputPath), "context.json");
24129
24129
  const result = await Effect.runPromise(spawnReviewSubRoleForIssue({
24130
24130
  issueId: state.issueId,
@@ -24253,7 +24253,7 @@ async function nudgeSynthesisForCompleteReviewerReports(states) {
24253
24253
  "Read the four reports, write synthesis.md, then signal review status exactly as roles/review.md instructs."
24254
24254
  ].join("\n");
24255
24255
  try {
24256
- const { messageAgent } = await import("./agents-BA15AQqo.js");
24256
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
24257
24257
  await messageAgent(state.id, message);
24258
24258
  reviewReportsPresentNudges.set(nudgeKey, now);
24259
24259
  const action = `Nudged ${state.id} to synthesize from ${REVIEW_SUB_ROLES.length} reviewer reports`;
@@ -24339,7 +24339,7 @@ async function monitorReviewConvoySignals() {
24339
24339
  if (!signal) continue;
24340
24340
  const message = signal === "ready" ? `REVIEWER_READY ${state.reviewSubRole} ${outputPath}` : signal === "timeout" ? `REVIEWER_TIMEOUT ${state.reviewSubRole} ${reason}` : `REVIEWER_FAILED ${state.reviewSubRole} ${reason}`;
24341
24341
  try {
24342
- const { messageAgent } = await import("./agents-BA15AQqo.js");
24342
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
24343
24343
  await messageAgent(state.reviewSynthesisAgentId, message);
24344
24344
  state.reviewMonitorSignaled = signal;
24345
24345
  saveAgentStateSync(state);
@@ -24347,7 +24347,7 @@ async function monitorReviewConvoySignals() {
24347
24347
  actions.push(action);
24348
24348
  logDeaconEventSync(`monitorReviewConvoySignals: ${action}`);
24349
24349
  if (signal === "ready") try {
24350
- const { notifyPipelineSync } = await import("./pipeline-notifier-3frIvSi3.js");
24350
+ const { notifyPipelineSync } = await import("./pipeline-notifier-Bgidcelx.js");
24351
24351
  notifyPipelineSync({
24352
24352
  type: "reviewer_completed",
24353
24353
  issueId: state.issueId,
@@ -24355,7 +24355,7 @@ async function monitorReviewConvoySignals() {
24355
24355
  });
24356
24356
  } catch {}
24357
24357
  else if (signal === "timeout") try {
24358
- const { notifyPipelineSync } = await import("./pipeline-notifier-3frIvSi3.js");
24358
+ const { notifyPipelineSync } = await import("./pipeline-notifier-Bgidcelx.js");
24359
24359
  notifyPipelineSync({
24360
24360
  type: "reviewer_timed_out",
24361
24361
  issueId: state.issueId,
@@ -24455,7 +24455,7 @@ const FORK_CACHE_CHECK_DELAY_MS = 180 * 1e3;
24455
24455
  async function checkStalledReviewDiscovery() {
24456
24456
  const actions = [];
24457
24457
  try {
24458
- const { listAgentStates } = await import("./agents-BA15AQqo.js");
24458
+ const { listAgentStates } = await import("./agents-DAUyr_Z1.js");
24459
24459
  const states = listAgentStates();
24460
24460
  const now = Date.now();
24461
24461
  for (const state of states) {
@@ -24464,7 +24464,7 @@ async function checkStalledReviewDiscovery() {
24464
24464
  const aged = Number.isFinite(startedMs) && now - startedMs > 48e4;
24465
24465
  const dead = !await Effect.runPromise(sessionExists(state.id)).catch(() => false) || await Effect.runPromise(isPaneDead(state.id)).catch(() => true);
24466
24466
  if (!aged && !dead) continue;
24467
- const { handleReviewDiscoveryReady } = await import("./review-agent-CpSHLzed.js");
24467
+ const { handleReviewDiscoveryReady } = await import("./review-agent-CUVj54v0.js");
24468
24468
  const result = await handleReviewDiscoveryReady(state.issueId, { source: dead ? "deacon-backstop (parent dead)" : "deacon-backstop (discovery timeout)" });
24469
24469
  actions.push(result.message);
24470
24470
  logDeaconEventSync(`checkStalledReviewDiscovery: ${result.message}`);
@@ -24487,8 +24487,8 @@ async function checkStalledReviewDiscovery() {
24487
24487
  async function checkStalledReviewParents() {
24488
24488
  const actions = [];
24489
24489
  try {
24490
- const { listAgentStates, markAgentStoppedState } = await import("./agents-BA15AQqo.js");
24491
- const { PARENT_REVIEW_TIMEOUT_MS } = await import("./review-agent-CpSHLzed.js");
24490
+ const { listAgentStates, markAgentStoppedState } = await import("./agents-DAUyr_Z1.js");
24491
+ const { PARENT_REVIEW_TIMEOUT_MS } = await import("./review-agent-CUVj54v0.js");
24492
24492
  const states = listAgentStates();
24493
24493
  const now = Date.now();
24494
24494
  for (const state of states) {
@@ -24537,8 +24537,8 @@ async function checkStalledReviewParents() {
24537
24537
  async function checkReviewForkCacheMisses() {
24538
24538
  const actions = [];
24539
24539
  try {
24540
- const { listAgentStates, saveAgentState } = await import("./agents-BA15AQqo.js");
24541
- const { readEventsSync } = await import("./events-BYbvqZky.js");
24540
+ const { listAgentStates, saveAgentState } = await import("./agents-DAUyr_Z1.js");
24541
+ const { readEventsSync } = await import("./events-Bn-wdUBF.js");
24542
24542
  const { emitActivityEntrySync } = await import("./activity-logger-DvYvFhwZ.js");
24543
24543
  const states = listAgentStates();
24544
24544
  const now = Date.now();
@@ -24685,7 +24685,7 @@ async function reconcileStaleMergeStatus() {
24685
24685
  if (!project) continue;
24686
24686
  let specStatus;
24687
24687
  try {
24688
- const { findSpecByIssue } = await import("./specs-VwcFtEDi.js");
24688
+ const { findSpecByIssue } = await import("./specs-DPGNVh51.js");
24689
24689
  const spec = await Effect.runPromise(findSpecByIssue(project.projectPath, issueId));
24690
24690
  specStatus = spec?.status;
24691
24691
  if (spec && (spec.status === "completed" || spec.status === "cancelled")) {
@@ -24700,7 +24700,7 @@ async function reconcileStaleMergeStatus() {
24700
24700
  if (branchTip.stdout.trim() === mainTip.stdout.trim()) console.log(`[deacon] ${issueId}: branch ${branch} points at main; not treating zero-commit branch as merged`);
24701
24701
  } catch {}
24702
24702
  if (!isMerged) {
24703
- const { resolveGitHubIssueSync: _resolveGitHubIssue } = await import("./tracker-utils-DdzUiPNU.js");
24703
+ const { resolveGitHubIssueSync: _resolveGitHubIssue } = await import("./tracker-utils-FexeJhyf.js");
24704
24704
  const ghResolved = _resolveGitHubIssue(issueId);
24705
24705
  if (ghResolved.isGitHub) try {
24706
24706
  const { stdout } = await execFileAsync$4("gh", [
@@ -24737,7 +24737,7 @@ async function reconcileStaleMergeStatus() {
24737
24737
  actions.push(msg);
24738
24738
  console.log(`[deacon] ${msg}`);
24739
24739
  try {
24740
- const { postMergeLifecycle } = await import("./merge-agent-DMQTJMP0.js");
24740
+ const { postMergeLifecycle } = await import("./merge-agent-D6LRIW63.js");
24741
24741
  postMergeLifecycle(issueId, project.projectPath, branch, { skipDeploy: true }).catch((err) => console.warn(`[deacon] postMergeLifecycle (reconcile) failed for ${issueId}: ${err}`));
24742
24742
  } catch (err) {
24743
24743
  console.warn(`[deacon] Could not import postMergeLifecycle: ${err}`);
@@ -24762,7 +24762,7 @@ const falseMergedReset = /* @__PURE__ */ new Set();
24762
24762
  async function reconcileFalseMerged() {
24763
24763
  const actions = [];
24764
24764
  try {
24765
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-BrYwK_Gb.js");
24765
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Dtn4ib6M.js");
24766
24766
  if (!isGitHubAppConfigured()) return actions;
24767
24767
  const statuses = loadReviewStatuses();
24768
24768
  for (const [issueId, status] of Object.entries(statuses)) {
@@ -24807,7 +24807,7 @@ const CLOSED_PR_RECONCILE_COOLDOWN_MS = 600 * 1e3;
24807
24807
  async function reconcileClosedPrReadyForMerge() {
24808
24808
  const actions = [];
24809
24809
  try {
24810
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-BrYwK_Gb.js");
24810
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Dtn4ib6M.js");
24811
24811
  if (!isGitHubAppConfigured()) return actions;
24812
24812
  const statuses = loadReviewStatuses();
24813
24813
  const now = Date.now();
@@ -24879,7 +24879,7 @@ const STALE_MERGE_BLOCKER_COOLDOWN_MS = 120 * 1e3;
24879
24879
  async function reconcileStaleMergeBlockers() {
24880
24880
  const actions = [];
24881
24881
  try {
24882
- const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-BubJprtD.js");
24882
+ const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-BE6JdfkO.js");
24883
24883
  const statuses = loadReviewStatuses();
24884
24884
  const now = Date.now();
24885
24885
  const deps = buildRealConflictGateDeps();
@@ -25022,7 +25022,7 @@ async function checkFailedMergeRetry() {
25022
25022
  if (ciEntry.count === 5) {
25023
25023
  console.log(`[deacon] CI check failure for ${issueId} — retries exhausted, notifying work agent`);
25024
25024
  const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
25025
- const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
25025
+ const { writeFeedbackFile } = await import("./feedback-writer-BtaoJGl2.js");
25026
25026
  const ciFileResult = await Effect.runPromise(writeFeedbackFile({
25027
25027
  issueId,
25028
25028
  specialist: "merge-agent",
@@ -25054,7 +25054,7 @@ async function checkFailedMergeRetry() {
25054
25054
  ciRetryMap.set(issueId, ciEntry);
25055
25055
  console.log(`[deacon] CI check failure for ${issueId} — notifying agent to re-submit (attempt ${ciEntry.count}/5)`);
25056
25056
  const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
25057
- const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
25057
+ const { writeFeedbackFile } = await import("./feedback-writer-BtaoJGl2.js");
25058
25058
  const ciFileResult2 = await Effect.runPromise(writeFeedbackFile({
25059
25059
  issueId,
25060
25060
  specialist: "merge-agent",
@@ -25082,7 +25082,7 @@ async function checkFailedMergeRetry() {
25082
25082
  const lastNudge = timeoutNudgeCooldowns.get(issueIdForFb);
25083
25083
  if (!lastNudge || now - lastNudge >= TIMEOUT_NUDGE_COOLDOWN_MS) {
25084
25084
  const timeoutNotes = status.mergeNotes;
25085
- const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
25085
+ const { writeFeedbackFile } = await import("./feedback-writer-BtaoJGl2.js");
25086
25086
  await Effect.runPromise(writeFeedbackFile({
25087
25087
  issueId: issueIdForFb,
25088
25088
  specialist: "merge-agent",
@@ -25187,7 +25187,7 @@ async function autoCloseOut(now = /* @__PURE__ */ new Date()) {
25187
25187
  } } : {}
25188
25188
  };
25189
25189
  try {
25190
- const { closeOut } = await import("./workflows-B4C3lY9E.js");
25190
+ const { closeOut } = await import("./workflows-Cw2-a_hn.js");
25191
25191
  const result = await Effect.runPromise(closeOut(ctx));
25192
25192
  if (!result.success) {
25193
25193
  const failed = result.steps.find((step) => !step.success && !step.skipped);
@@ -25752,7 +25752,7 @@ async function nudgeStalledResumeWorkAgents() {
25752
25752
  const message = buildStalledResumePrompt(state);
25753
25753
  if (!message) continue;
25754
25754
  try {
25755
- const { messageAgent } = await import("./agents-BA15AQqo.js");
25755
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
25756
25756
  await messageAgent(agentId, message);
25757
25757
  recordCooldown(agentId, ".last-stalled-resume-nudge");
25758
25758
  const action = `Re-sent stalled resume prompt to ${agentId} (${state.issueId})`;
@@ -25866,7 +25866,7 @@ async function nudgeIdleWorkAgentsWithOpenBeads() {
25866
25866
  "Continue the per-item workflow without asking — claim it (`pan task claim <item-id>`), implement, commit, push, then complete it through `pan task done <item-id>`. Inspection is conditional on metadata.requiresInspection (default false; check the plan item before deciding to call `pan inspect`). Do NOT end your turn with a multi-paragraph summary; just advance to the next bead."
25867
25867
  ].join("\n");
25868
25868
  try {
25869
- const { messageAgent } = await import("./agents-BA15AQqo.js");
25869
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
25870
25870
  await messageAgent(agentId, message);
25871
25871
  writeFileSync(join$1(getAgentDir(agentId), ".last-bead-nudge"), String(Date.now()), "utf-8");
25872
25872
  const action = `Nudged idle ${agentId} (${state.issueId}) — ${openTasks.length} ready task(s)`;
@@ -27257,8 +27257,8 @@ async function cleanupStaleAgentState() {
27257
27257
  */
27258
27258
  async function cleanupAbandonedFeedback() {
27259
27259
  const actions = [];
27260
- const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
27261
- const { clearFeedbackFiles } = await import("./feedback-writer-CULeOOY4.js");
27260
+ const { getReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
27261
+ const { clearFeedbackFiles } = await import("./feedback-writer-BtaoJGl2.js");
27262
27262
  for (const { issueId, workspacePath } of listFeatureWorkspaces()) {
27263
27263
  const panFeedbackDir = join$1(workspacePath, ".pan", "feedback");
27264
27264
  if (!existsSync(panFeedbackDir)) continue;
@@ -27329,7 +27329,7 @@ async function handleOrphanReviewerSession(sessionName, sessions, creationTimes,
27329
27329
  if (!issueId) return null;
27330
27330
  const agentSession = `agent-${issueId.toLowerCase()}`;
27331
27331
  if (sessions.includes(agentSession)) return null;
27332
- const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
27332
+ const { getReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
27333
27333
  try {
27334
27334
  if (getReviewStatusSync(issueId)?.reviewStatus === "reviewing") return null;
27335
27335
  } catch {}
@@ -27451,7 +27451,7 @@ async function checkOrphanedCompletions() {
27451
27451
  async function checkPendingTestDispatch() {
27452
27452
  const actions = [];
27453
27453
  try {
27454
- const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-77N3PoZr.js");
27454
+ const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
27455
27455
  const statuses = loadReviewStatuses();
27456
27456
  const now = Date.now();
27457
27457
  for (const [issueId, status] of Object.entries(statuses)) {
@@ -27484,7 +27484,7 @@ async function checkPendingTestDispatch() {
27484
27484
  console.log(`[deacon] ${issueId}: skipping test re-dispatch — issue is closed`);
27485
27485
  continue;
27486
27486
  }
27487
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
27487
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
27488
27488
  const resolved = resolveProjectFromIssueSync(issueId);
27489
27489
  if (!resolved) continue;
27490
27490
  const issueLower = issueId.toLowerCase();
@@ -27499,8 +27499,8 @@ async function checkPendingTestDispatch() {
27499
27499
  logDeaconEventSync(`checkPendingTestDispatch: deferred test for ${issueId} — advancing ceiling reached (PAN-1665) — ${describeRunningAgents()}`);
27500
27500
  continue;
27501
27501
  }
27502
- const { spawnRun } = await import("./agents-BA15AQqo.js");
27503
- const { buildTestRolePrompt } = await import("./test-agent-queue-hAU1Ah08.js");
27502
+ const { spawnRun } = await import("./agents-DAUyr_Z1.js");
27503
+ const { buildTestRolePrompt } = await import("./test-agent-queue-C8lE8r2j.js");
27504
27504
  try {
27505
27505
  const run = await spawnRun(issueId, "test", {
27506
27506
  workspace,
@@ -27623,7 +27623,7 @@ async function checkCompletedButUnsignaledTests() {
27623
27623
  const cmd = `pan admin specialists done test ${issueId} --status ${decision.status}${noteArg}`;
27624
27624
  const nudge = `Your test verdict (${decision.status}) is already written to .pan/test/result.json. Your ONLY remaining task is to execute this Bash command immediately — do not analyze, do not summarize, do not ask questions, just run it:\n\n${cmd}\n\nRun this command NOW. Do not write any other response before executing it.`;
27625
27625
  try {
27626
- const { messageAgent } = await import("./agents-BA15AQqo.js");
27626
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
27627
27627
  await messageAgent(testSession, nudge);
27628
27628
  unsignaledTestNudges.set(testSession, now);
27629
27629
  const msg = `Nudged ${testSession} to signal ${decision.status} (verdict artifact present)`;
@@ -27637,7 +27637,7 @@ async function checkCompletedButUnsignaledTests() {
27637
27637
  case "nudge-write": {
27638
27638
  const nudge = `Your test run for ${issueId} looks finished but no verdict was recorded. Decide the verdict from the gates/UAT you ran, then do BOTH of these now: (1) write the workspace file .pan/test/result.json as {"status":"passed"|"failed","notes":"<evidence>"}, and (2) run: pan admin specialists done test ${issueId} --status passed|failed. Do this immediately — do not summarize or ask questions, just write the file and run the command.`;
27639
27639
  try {
27640
- const { messageAgent } = await import("./agents-BA15AQqo.js");
27640
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
27641
27641
  await messageAgent(testSession, nudge);
27642
27642
  unsignaledTestNudges.set(testSession, now);
27643
27643
  const msg = `Nudged ${testSession} to write+signal a test verdict (no artifact yet)`;
@@ -27660,8 +27660,8 @@ async function checkCompletedButUnsignaledTests() {
27660
27660
  async function checkVerificationReviewContradiction() {
27661
27661
  const actions = [];
27662
27662
  try {
27663
- const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-77N3PoZr.js");
27664
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
27663
+ const { loadReviewStatuses, setReviewStatusSync } = await import("./review-status-BoJdyvUQ.js");
27664
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
27665
27665
  const statuses = loadReviewStatuses();
27666
27666
  for (const [issueId, status] of Object.entries(statuses)) if (status.verificationStatus === "passed" && status.reviewStatus === "reviewing" && status.stuckReason === "review_infrastructure_failure") {
27667
27667
  let reviewedAtCommit;
@@ -27710,7 +27710,7 @@ async function checkPostReviewCommits() {
27710
27710
  const actions = [];
27711
27711
  try {
27712
27712
  const statuses = loadReviewStatuses();
27713
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
27713
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
27714
27714
  for (const [issueId, status] of Object.entries(statuses)) {
27715
27715
  if (status.mergeStatus === "merged") continue;
27716
27716
  if (!status.reviewedAtCommit) continue;
@@ -27765,7 +27765,7 @@ async function checkPostReviewCommits() {
27765
27765
  actions.push(`Deferred post-review re-dispatch for ${issueId} — advancing-role concurrency ceiling reached`);
27766
27766
  logDeaconEventSync(`checkPostReviewCommits: deferred review for ${issueId} — advancing ceiling reached (PAN-1665) — ${describeRunningAgents()}`);
27767
27767
  } else if (freshStatus?.reviewStatus === "pending") {
27768
- const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
27768
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
27769
27769
  const branch = `feature/${issueId.toLowerCase()}`;
27770
27770
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
27771
27771
  issueId,
@@ -27865,7 +27865,7 @@ async function checkReadyForMergeStuck() {
27865
27865
  const testStatusGreenCiReconcileCooldowns = /* @__PURE__ */ new Map();
27866
27866
  const TEST_STATUS_GREEN_CI_RECONCILE_COOLDOWN_MS = 300 * 1e3;
27867
27867
  async function reconcileTestStatusFromGreenCi() {
27868
- const { getCiCheckRunsState, getPullRequestHeadState, isGitHubAppConfigured } = await import("./github-app-BrYwK_Gb.js");
27868
+ const { getCiCheckRunsState, getPullRequestHeadState, isGitHubAppConfigured } = await import("./github-app-Dtn4ib6M.js");
27869
27869
  return reconcileTestStatusFromGreenCiWithDeps({
27870
27870
  isGitHubAppConfigured,
27871
27871
  loadReviewStatuses,
@@ -27886,7 +27886,7 @@ async function reconcileTestStatusFromGreenCi() {
27886
27886
  */
27887
27887
  async function clearStaleCiFeedback(issueId) {
27888
27888
  const { readdir, rm } = await import("fs/promises");
27889
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
27889
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
27890
27890
  const projectConfig = resolveProjectFromIssueSync(issueId);
27891
27891
  if (!projectConfig) return;
27892
27892
  const repoDir = projectConfig.projectPath;
@@ -28186,7 +28186,7 @@ async function checkWorkspaceContainerHealth(sharedState) {
28186
28186
  }
28187
28187
  }
28188
28188
  try {
28189
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
28189
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
28190
28190
  const resolved = resolveProjectFromIssueSync(issueLower.toUpperCase());
28191
28191
  if (resolved) await killOrphanedWorkspaceProcesses(`${resolved.projectPath}/workspaces/feature-${issueLower}`);
28192
28192
  } catch {}
@@ -28236,7 +28236,7 @@ async function checkMergedWorkSessions() {
28236
28236
  const actions = [];
28237
28237
  try {
28238
28238
  const { selectMergedWorkSessions } = await import("./reap-terminal-sessions-BR39qflC.js");
28239
- const { setAgentPaused } = await import("./agents-BA15AQqo.js");
28239
+ const { setAgentPaused } = await import("./agents-DAUyr_Z1.js");
28240
28240
  const toKill = selectMergedWorkSessions(loadReviewStatuses(), [...await Effect.runPromise(listSessionNames())]);
28241
28241
  for (const session of toKill) try {
28242
28242
  await Effect.runPromise(setAgentPaused(session, "merged — awaiting close-out (verify on main)", true));
@@ -28329,14 +28329,14 @@ async function runPatrol() {
28329
28329
  hasLoggedGlobalPauseSkip = false;
28330
28330
  addLog("info", `Patrol cycle ${state.patrolCycle} — checking per-project specialists`, state.patrolCycle);
28331
28331
  console.log(`[deacon] Patrol cycle ${state.patrolCycle} - checking per-project specialists`);
28332
- for (const a of await (await import("./stale-task-claims-vTxmRzLi.js")).patrolStaleTaskClaims()) {
28332
+ for (const a of await (await import("./stale-task-claims-DnCHCATD.js")).patrolStaleTaskClaims()) {
28333
28333
  actions.push(a);
28334
28334
  addLog("action", a, state.patrolCycle);
28335
28335
  }
28336
28336
  const stuckRemediationActions = await checkStuckAgentRemediation();
28337
28337
  actions.push(...stuckRemediationActions);
28338
28338
  for (const a of stuckRemediationActions) addLog("action", a, state.patrolCycle);
28339
- const { reconcileInFlightJournals } = await import("./advancing-selfheal-DgwQgm4D.js");
28339
+ const { reconcileInFlightJournals } = await import("./advancing-selfheal-BYidNkmp.js");
28340
28340
  const reconciledJournalActions = await reconcileInFlightJournals();
28341
28341
  actions.push(...reconciledJournalActions);
28342
28342
  for (const a of reconciledJournalActions) addLog("action", a, state.patrolCycle);
@@ -28348,7 +28348,7 @@ async function runPatrol() {
28348
28348
  const age = Date.now() - (pending.timestamp ?? 0);
28349
28349
  if (age < 3600 * 1e3) {
28350
28350
  console.log(`[deacon] Processing pending post-merge lifecycle for ${pending.issueId} (age: ${Math.round(age / 1e3)}s)`);
28351
- const { postMergeLifecycle } = await import("./merge-agent-DMQTJMP0.js");
28351
+ const { postMergeLifecycle } = await import("./merge-agent-D6LRIW63.js");
28352
28352
  const { unlinkSync } = await import("fs");
28353
28353
  unlinkSync(pendingFile);
28354
28354
  await postMergeLifecycle(pending.issueId, pending.projectPath, pending.sourceBranch, { skipDeploy: true });
@@ -28393,7 +28393,7 @@ async function runPatrol() {
28393
28393
  actions.push(...suspendActions);
28394
28394
  for (const a of suspendActions) addLog("action", a, state.patrolCycle);
28395
28395
  try {
28396
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
28396
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
28397
28397
  const allStatuses = loadReviewStatuses();
28398
28398
  for (const [issueId, status] of Object.entries(allStatuses)) {
28399
28399
  if (!status.readyForMerge || status.mergeStatus === "merged") continue;
@@ -28413,7 +28413,7 @@ async function runPatrol() {
28413
28413
  } catch (err) {
28414
28414
  console.warn(`[deacon] Failed to check workspace existence: ${err.message}`);
28415
28415
  }
28416
- const { checkMergedAdvancingSessions } = await import("./advancing-selfheal-DgwQgm4D.js");
28416
+ const { checkMergedAdvancingSessions } = await import("./advancing-selfheal-BYidNkmp.js");
28417
28417
  const reapedWorkActions = await checkMergedWorkSessions();
28418
28418
  actions.push(...reapedWorkActions);
28419
28419
  for (const a of reapedWorkActions) addLog("action", a, state.patrolCycle);
@@ -28421,7 +28421,7 @@ async function runPatrol() {
28421
28421
  actions.push(...reapedMergedAdvancingActions);
28422
28422
  for (const a of reapedMergedAdvancingActions) addLog("action", a, state.patrolCycle);
28423
28423
  try {
28424
- const { refreshClaudeCredentialsForActiveRemoteAgents } = await import("./remote-completion-2Kb4IDg_.js");
28424
+ const { refreshClaudeCredentialsForActiveRemoteAgents } = await import("./remote-completion-CH3igKY8.js");
28425
28425
  const remoteCredentialActions = await refreshClaudeCredentialsForActiveRemoteAgents();
28426
28426
  actions.push(...remoteCredentialActions);
28427
28427
  for (const a of remoteCredentialActions) addLog(a.includes("failed") ? "warn" : "action", a, state.patrolCycle);
@@ -28429,7 +28429,7 @@ async function runPatrol() {
28429
28429
  addLog("warn", `Remote credential refresh patrol failed: ${err.message}`, state.patrolCycle);
28430
28430
  }
28431
28431
  try {
28432
- const { refreshHostHeartbeatForEphemeralVms } = await import("./remote-agents-DYY5fFpd.js");
28432
+ const { refreshHostHeartbeatForEphemeralVms } = await import("./remote-agents-_Z1SAaSK.js");
28433
28433
  const heartbeatActions = await refreshHostHeartbeatForEphemeralVms();
28434
28434
  actions.push(...heartbeatActions);
28435
28435
  for (const a of heartbeatActions) addLog(a.includes("failed") ? "warn" : "action", a, state.patrolCycle);
@@ -28437,7 +28437,7 @@ async function runPatrol() {
28437
28437
  addLog("warn", `Remote heartbeat refresh patrol failed: ${err.message}`, state.patrolCycle);
28438
28438
  }
28439
28439
  try {
28440
- const { reapCompletedRemoteAgents } = await import("./remote-completion-2Kb4IDg_.js");
28440
+ const { reapCompletedRemoteAgents } = await import("./remote-completion-CH3igKY8.js");
28441
28441
  const remoteReap = await reapCompletedRemoteAgents();
28442
28442
  for (const r of remoteReap) if (r.status === "handed-off" || r.status === "error") {
28443
28443
  const msg = `Remote reap ${r.issueId}: ${r.status} (${r.details.join("; ")})`;
@@ -28618,7 +28618,7 @@ async function runPatrol() {
28618
28618
  const issueId = runtimeState.currentIssue;
28619
28619
  try {
28620
28620
  if (getReviewStatusSync(issueId)?.mergeStatus === "merging") {
28621
- const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
28621
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
28622
28622
  const resolved = resolveProjectFromIssueSync(issueId);
28623
28623
  if (resolved) {
28624
28624
  const branch = `feature/${issueId.toLowerCase()}`;
@@ -28632,7 +28632,7 @@ async function runPatrol() {
28632
28632
  mergeStatus: "merged",
28633
28633
  readyForMerge: false
28634
28634
  });
28635
- const { postMergeLifecycle } = await import("./merge-agent-DMQTJMP0.js");
28635
+ const { postMergeLifecycle } = await import("./merge-agent-D6LRIW63.js");
28636
28636
  postMergeLifecycle(issueId, resolved.projectPath).catch((err) => console.warn(`[deacon] postMergeLifecycle failed for ${issueId}: ${err}`));
28637
28637
  actions.push(`Auto-completed stale merge for ${issueId}`);
28638
28638
  } else {
@@ -28812,7 +28812,7 @@ function startDeacon() {
28812
28812
  logDeaconEventSync(`startDeacon: health monitor starting (patrol every ${config.patrolIntervalMs / 1e3}s)`);
28813
28813
  (async () => {
28814
28814
  await reconcileAgentLiveness();
28815
- const { runBootAdvancingSelfHeal } = await import("./advancing-selfheal-DgwQgm4D.js");
28815
+ const { runBootAdvancingSelfHeal } = await import("./advancing-selfheal-BYidNkmp.js");
28816
28816
  await runBootAdvancingSelfHeal();
28817
28817
  runScheduledPatrol("startup");
28818
28818
  })().catch((err) => {
@@ -28884,4 +28884,4 @@ function assessDeaconPatrolFreshness(params) {
28884
28884
  //#endregion
28885
28885
  export { isPreKickoffLaunchDeath as $, reconcileAgentLiveness as A, stalledReviewConvoyRecoveryState as At, applyIssueBlocksMainLabel as B, formatUptime as Bt, getLastPatrolResult as C, isSynthesisForActiveReviewRun as Ct, isDeaconRunning as D, handleWorkCompleted as Dt, handleAgentStoppedForOrphanReviewerSessions as E, handleReviewCoordinatorDied as Et, setAgentStatusChangedNotifier as F, paneShowsClaudeBootBlockingScreen as Ft, applyIssueVetoedLabel as G, isSmeeConfiguredSync as Gt, applyIssueParkedLabel as H, getCurrentDockerStats as Ht, setAgentStoppedNotifier as I, INSPECT_TIMEOUT_MS as It, removeIssueParkedLabel as J, removeIssueBlocksMainLabel as K, startSmeeProcessSync as Kt, setMergeReadyNotifier as L, checkInspectAgentTimeouts as Lt, resetPatrolHeartbeatForStartup as M, contextOverflowRecoveryState as Mt, runPatrol as N, contextProactiveCompactState as Nt, loadConfig as O, recoverStalledReviewConvoys as Ot, saveState as P, stuckOverflowNativeRecoveryState as Pt, createInFlightGuard as Q, startDeacon as R, classifyMemoryPressure as Rt, getDeaconStatus as S, checkStuckReviewing as St, handleAgentStoppedEvent as T, checkOrphanedReviewStatuses as Tt, applyIssueReadyLabel as U, getResourceConfig as Ut, applyIssueObjectionLabel as V, getContainerHistory as Vt, applyIssueReleasedLabel as W, getSystemHealthSnapshot as Wt, removeIssueReleasedLabel as X, removeIssueReadyLabel as Y, removeIssueVetoedLabel as Z, cleanupOrphanReviewerSessions as _, withConcurrencyLimit as _t, checkCompletedButUnsignaledTests as a, listBootReconciliationCandidates as at, containerRestartBackoffMs as b, synthesizeReviewFromReports as bt, checkMergedWorkSessions as c, checkFailedMergeRetry as ct, checkPostReviewCommits as d, reconcileClosedPrReadyForMerge as dt, isRapidPostResumeDeath as et, checkReadyForMergeStuck as f, reconcileFalseMerged as ft, cleanupAbandonedFeedback as g, reconcileStuckReadyForMerge as gt, checkWorkspaceContainerHealth as h, reconcileStaleMergeStatus as ht, checkAwaitingTestWorkSessions as i, isBootReconciliationCandidate as it, reconcileTestStatusFromGreenCi as j, checkApiErrorAgents as jt, loadState as k, reviewConvoyLiveness as kt, checkOrphanedCompletions as l, checkFirstCompletionAgents as lt, checkVerificationReviewContradiction as m, reconcileStaleMergeBlockers as mt, assessDeaconPatrolFreshness as n, nudgeStalledResumeWorkAgents as nt, checkDeadEndAgents as o, startBootReconciliation as ot, checkStuckWorkAgents as p, reconcileMergedButReviewing as pt, removeIssueObjectionLabel as q, checkAndSuspendIdleAgents as r, redeliverUndeliveredKickoffs as rt, checkMassDeath as s, autoCloseOut as st, applyBootReconciliationDecision as t, nudgeIdleWorkAgentsWithOpenBeads as tt, checkPendingTestDispatch as u, ciRetryMap as ut, cleanupOrphanedPlanningSessions as v, cleanupOrphanedReviewSessions as vt, handleAgentHeartbeatDeadEvent as w, checkMissingReviewStatuses as wt, getDeaconLogs as x, checkCompletedButUnsignaledReviews as xt, cleanupStaleAgentState as y, monitorReviewConvoySignals as yt, stopDeacon as z, getResourceStacks as zt };
28886
28886
 
28887
- //# sourceMappingURL=deacon-Dru5onpk.js.map
28887
+ //# sourceMappingURL=deacon-D2-xTesT.js.map