@overdeck/desktop 0.45.7 → 0.45.10

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 (304) hide show
  1. package/package.json +10 -3
  2. package/server/{acceptance-criteria-DYffaKI9.js → acceptance-criteria-l0DSvFFS.js} +2 -2
  3. package/server/{activity-logger-DO27GsPa.js → activity-logger-DvYvFhwZ.js} +1 -1
  4. package/server/{activity-logger-Dm95Ua07.js → activity-logger-pcbf-e30.js} +3 -2
  5. package/server/{advancing-selfheal-n8tAeFwE.js → advancing-selfheal-CMlGznKv.js} +11 -66
  6. package/server/{agent-gc-CIFaa2vJ.js → agent-gc-BtAzj8QN.js} +3 -3
  7. package/server/{agent-state-service-BqVDA9b8.js → agent-state-service-5ge9xxhx.js} +5 -5
  8. package/server/{agent-state-service-CLifyinO.js → agent-state-service-C1iUF9Ft.js} +1 -1
  9. package/server/agent-state-xk_G8t90.js +3 -0
  10. package/server/{agents-KaEsWZ8D.js → agents-BIggLvi_.js} +1 -1
  11. package/server/{agents-D_x5BSZM.js → agents-DHvsjsuP.js} +129 -61
  12. package/server/{archive-planning-CFxmeFKh.js → archive-planning-B4Qi02bk.js} +1 -1
  13. package/server/{archive-planning-DVUXlRBs.js → archive-planning-zTvWWHG_.js} +4 -4
  14. package/server/{artifact-index-jobs-ChUgzZah.js → artifact-index-jobs-BrByqVkB.js} +2 -2
  15. package/server/{auto-commit-2KiBFh-K.js → auto-commit-DoIPFoEs.js} +1 -1
  16. package/server/{backlog-auto-trigger-DoTEMZMl.js → backlog-auto-trigger-COm_R96V.js} +3 -3
  17. package/server/{bd-mutex-CE6P_MlD.js → bd-mutex-BItGvLQ8.js} +2 -2
  18. package/server/{bd-process-lock-Ch3WNHS9.js → bd-process-lock-CJkoG7hW.js} +2 -2
  19. package/server/{beads-B43pgBIy.js → beads-AmCXEv_E.js} +1 -1
  20. package/server/{beads-BugPvtWp.js → beads-DlZm-vrG.js} +5 -5
  21. package/server/{beads-query-CtqWakL6.js → beads-query-BrVNWoSL.js} +2 -2
  22. package/server/{beads-restore-BqTMSQi-.js → beads-restore-CMbDSB5R.js} +1 -1
  23. package/server/{behavior-vk1sixby.js → behavior-By-2Wipv.js} +3 -3
  24. package/server/{briefing-freshness-B3YxHQ-L.js → briefing-freshness-CXhZdnB8.js} +4 -4
  25. package/server/{checkpoint-manager-CdrwLsQh.js → checkpoint-manager-CPw51H2n.js} +1 -1
  26. package/server/{checkpoint-manager-Dg6cWZz3.js → checkpoint-manager-CfNpHOp4.js} +11 -2
  27. package/server/checkpoint-worker.js +1 -1
  28. package/server/{checkpoints-DDd-0doa.js → checkpoints-BbfH1EIy.js} +2 -2
  29. package/server/{checkpoints-dBCJr0dC.js → checkpoints-BjlBWOA8.js} +1 -1
  30. package/server/{claude-permissions-BpwIcIR7.js → claude-permissions-DrRAs_0F.js} +3 -3
  31. package/server/{claude-settings-overlay-DnraWcz6.js → claude-settings-overlay-BSeS7Ki3.js} +2 -2
  32. package/server/{claude-settings-overlay-xD_Vu420.js → claude-settings-overlay-CEWlIFL-.js} +1 -1
  33. package/server/cli-CJDWXE_Y.js +3 -0
  34. package/server/{cli-BmzYZZKi.js → cli-CvK9xuSS.js} +9 -9
  35. package/server/{cliproxy-DYWdJKZ1.js → cliproxy-BOcmOK6l.js} +1 -1
  36. package/server/{cliproxy-CE2GDY7x.js → cliproxy-J-_1iIXe.js} +2 -2
  37. package/server/{close-issue-CpJd4SOL.js → close-issue-BnpErnD1.js} +5 -5
  38. package/server/{closed-issue-reaper-QpcvCDeE.js → closed-issue-reaper-BLCQwTpF.js} +1 -1
  39. package/server/{closed-issue-reaper-DubXY9Zg.js → closed-issue-reaper-DRqK5k39.js} +10 -10
  40. package/server/{codex-j8aVgRou.js → codex-BUZjrnqH.js} +1 -1
  41. package/server/{codex-B3J1TXo7.js → codex-DcInrhok.js} +5 -5
  42. package/server/{compact-beads-CqhLqG-k.js → compact-beads-RFwdZFPA.js} +4 -4
  43. package/server/{compact-beads-BeilHCdj.js → compact-beads-omhUgj5b.js} +1 -1
  44. package/server/{config-DHU0j_pS.js → config-CzcWQ24p.js} +1 -1
  45. package/server/{config-DkEhJM0h.js → config-oWoKf5jO.js} +4 -4
  46. package/server/{config-yaml-DbdN9Fuq.js → config-yaml-DPAieL_G.js} +3 -2
  47. package/server/{conflict-gate-CgOtMo8i.js → conflict-gate-BhKvrPxn.js} +4 -4
  48. package/server/{conflict-gate-D00zFjeu.js → conflict-gate-JdFuhKuF.js} +1 -1
  49. package/server/{context-layers-BHEjT8Cn.js → context-layers-CTjQwcEQ.js} +3 -3
  50. package/server/{context-layers-0Lgq-SE_.js → context-layers-DxKsseHI.js} +2 -2
  51. package/server/{control-settings-CYv732Gs.js → control-settings-BMqUkXmR.js} +4 -4
  52. package/server/{conversation-compaction-Dbw03b-X.js → conversation-compaction-Ba5aZdrb.js} +1 -1
  53. package/server/{conversation-compaction-DKXvmX50.js → conversation-compaction-C5o_eKEm.js} +8 -8
  54. package/server/{conversation-service-BwKUeEvn.js → conversation-service-DvG8vZSV.js} +5 -5
  55. package/server/{conversation-service-kYYeRp9B.js → conversation-service-WKl-sw58.js} +1 -1
  56. package/server/{conversations-Dwr1jHrO.js → conversations-DL_BAWVk.js} +4 -4
  57. package/server/{conversations-D-uOnA8T.js → conversations-Dcx6LeIh.js} +1 -1
  58. package/server/{cost-DiSDkYe7.js → cost-C2CuA66z.js} +2 -2
  59. package/server/{cost-DNIyZH1X.js → cost-DaOG8sUB.js} +3 -3
  60. package/server/{cost-sync-CfXu-3TF.js → cost-sync-8lkDeL9g.js} +3 -3
  61. package/server/{dag-DZBowTd2.js → dag-jH8ZkewR.js} +3 -3
  62. package/server/{dangerous-git-ops-Pongxg2d.js → dangerous-git-ops-Dcw7PbYo.js} +1 -1
  63. package/server/dashboard-db-worker.js +6 -6
  64. package/server/{deacon-DT0BsVyE.js → deacon-Cv2RMfHs.js} +3 -3
  65. package/server/{deacon-f0yvsG5S.js → deacon-j3qSZ7--.js} +222 -110
  66. package/server/{deacon-nudge-log-Cmcch2Av.js → deacon-nudge-log-CJGA6aSQ.js} +1 -1
  67. package/server/deacon-swarm-D1iAUX-P.js +2 -0
  68. package/server/{deacon-swarm-BBGnhvD2.js → deacon-swarm-DadWNi5J.js} +88 -43
  69. package/server/deacon.js +8 -8
  70. package/server/{devcontainer-renderer-Cpz7XBj0.js → devcontainer-renderer-DUJYYRQB.js} +3 -3
  71. package/server/{dist-DypOkJv9.js → dist-BIC8spJ0.js} +1 -1
  72. package/server/dist-BUplB3Od.js +3 -0
  73. package/server/{docker-DARVx0OZ.js → docker-Q4bphryk.js} +2 -2
  74. package/server/{ensure-devcontainer-Dmdw4BxF.js → ensure-devcontainer-BCB6fHp9.js} +1 -1
  75. package/server/{ensure-devcontainer-BJssuBG6.js → ensure-devcontainer-XLL0vtgV.js} +4 -4
  76. package/server/{esm-shims-Crmvo9Ln.js → esm-shims-DiV9jHa_.js} +1 -1
  77. package/server/{event-store-BeEE8pW5.js → event-store-DIk9wvnS.js} +1 -1
  78. package/server/{event-store-DrfTJZ1_.js → event-store-DTJXZjCl.js} +4 -4
  79. package/server/events-BlzVUyTx.js +3 -0
  80. package/server/{events-BbClwoM-.js → events-DGWZzye2.js} +4 -4
  81. package/server/{factory-DVv9cpG5.js → factory-rG4T40su.js} +4 -4
  82. package/server/{feature-registry-population-C6eVdq4J.js → feature-registry-population-Dwyj9gEM.js} +4 -4
  83. package/server/{feature-registry-storage-ByBosRId.js → feature-registry-storage-CnGyNgAq.js} +2 -2
  84. package/server/{features-EZfSwuqq.js → features-CYY2_Eeh.js} +2 -2
  85. package/server/{feedback-target-DENaINE6.js → feedback-target-C4DaDSZ8.js} +1 -1
  86. package/server/{feedback-target-Dv4VnbQl.js → feedback-target-oE4-Esxl.js} +48 -17
  87. package/server/{feedback-writer-Dxg8qM8i.js → feedback-writer-DMaO0XXa.js} +4 -4
  88. package/server/{feedback-writer-BvHE1I-3.js → feedback-writer-thrdxYpK.js} +1 -1
  89. package/server/{flywheel-Akbd9VNM.js → flywheel-BqDdGvrQ.js} +1 -1
  90. package/server/{flywheel-B4KN9BmW.js → flywheel-ClMjGW_u.js} +11 -11
  91. package/server/{flywheel-ByZyAv3P.js → flywheel-DefHRzY4.js} +13 -13
  92. package/server/{flywheel-merge-order-DPFZbt-w.js → flywheel-merge-order-B6YDSElh.js} +1 -1
  93. package/server/{flywheel-merge-order-BYUPxqgx.js → flywheel-merge-order-CuDcqTRJ.js} +7 -7
  94. package/server/forge-BfP7OJwK.js +2 -0
  95. package/server/{forge-BnTExkbK.js → forge-BixzckB0.js} +2 -2
  96. package/server/{from-B2i_NgIH.js → from-D4xmArTA.js} +1 -1
  97. package/server/{fts-db-dnCj-PD3.js → fts-db-DPtxOAjp.js} +2 -2
  98. package/server/{fts-operations-CAAofsTQ.js → fts-operations-VrGjsT0w.js} +2 -2
  99. package/server/{git-utils-CB3gDSM-.js → git-utils-D_cax3fD.js} +2 -2
  100. package/server/{git-utils-Bk7sJZru.js → git-utils-RAmTwjFB.js} +1 -1
  101. package/server/{github-app-CIhMNI4C.js → github-app-B5PDHMyn.js} +1 -1
  102. package/server/{github-app-BIU8a93o.js → github-app-FMXgo3vK.js} +2 -2
  103. package/server/{github-client-DmZgsnYP.js → github-client-VRiB6N-4.js} +1 -1
  104. package/server/{github-client-zREpj5HA.js → github-client-yjbXaqpR.js} +2 -2
  105. package/server/{github-pr-lookup-CPri6JR1.js → github-pr-lookup-t8X8R0c0.js} +2 -2
  106. package/server/{harness-resolve-TzYAiXzZ.js → harness-resolve-DKeSVsJL.js} +3 -3
  107. package/server/{health-events-CDWk8Oz4.js → health-events-CD6q47ub.js} +1 -1
  108. package/server/{health-events-Dd0FuKrE.js → health-events-DaLX4-0a.js} +2 -2
  109. package/server/{hooks-C6HBXlVm.js → hooks-CmHFSj_Z.js} +2 -2
  110. package/server/{hooks-DRLzoFof.js → hooks-D-cbMUzQ.js} +1 -1
  111. package/server/{hume-Bb91r_2I.js → hume-DkVOs1Qi.js} +2 -2
  112. package/server/hume-x9voULey.js +3 -0
  113. package/server/{idle-stack-reaper-BPHnItVj.js → idle-stack-reaper-DBKQ9SKu.js} +3 -3
  114. package/server/{idle-stack-reaper-D5bwmuwX.js → idle-stack-reaper-DdnERp3G.js} +1 -1
  115. package/server/{infra-CCTzpcuJ.js → infra-CpKlYZA9.js} +3 -3
  116. package/server/{injection-D6L7D_w0.js → injection-CszhePD2.js} +7 -7
  117. package/server/{injection-CBrN8UxB.js → injection-DKzL2Axk.js} +1 -1
  118. package/server/{inspect-agent-CSYyFWqP.js → inspect-agent-BKKc0XnB.js} +9 -9
  119. package/server/inspect-agent-vm88mLYr.js +2 -0
  120. package/server/{internal-token-DWhBqgIk.js → internal-token-CQUx9YLc.js} +2 -2
  121. package/server/{internal-token-DCrCAG_M.js → internal-token-DrGdpLFo.js} +1 -1
  122. package/server/{io-DtAQ_2hp.js → io-Wy8YpFeP.js} +2 -2
  123. package/server/{issue-closed-0Zx72zXf.js → issue-closed-BO84g03t.js} +4 -4
  124. package/server/{issue-lifecycle-ZTt6kP_K.js → issue-lifecycle-DnhQgddB.js} +22 -22
  125. package/server/{issue-lifecycle-CJ7-D4XX.js → issue-lifecycle-nY4esZn8.js} +1 -1
  126. package/server/{issue-service-singleton-DNh4RRI7.js → issue-service-singleton-Bnqv1uaa.js} +1 -1
  127. package/server/{issue-service-singleton-DRE7S-Zg.js → issue-service-singleton-_AquSBTl.js} +8 -8
  128. package/server/{issues-CGc8Aaxm.js → issues-ChNcfHta.js} +2 -2
  129. package/server/{label-cleanup-CNsPlXy6.js → label-cleanup-bVXCGWBM.js} +3 -3
  130. package/server/{layers-CO_VLcSv.js → layers-vdvlpFki.js} +2 -2
  131. package/server/{lifecycle-B_NFvTj9.js → lifecycle-CGKm7doE.js} +7 -7
  132. package/server/{lifecycle-io-D0FftBLy.js → lifecycle-io-CdqPkCyk.js} +1 -1
  133. package/server/{lifecycle-io-WDGwa1vV.js → lifecycle-io-DSrv9xGh.js} +4 -4
  134. package/server/{linear-client-MvjflCXs.js → linear-client-BxKvL6U8.js} +1 -1
  135. package/server/{linear-client-CSgH24Ym.js → linear-client-E0HdXtWs.js} +2 -2
  136. package/server/memory-fts-worker.js +1 -1
  137. package/server/{merge-DltB-RGV.js → merge-D3wEbmUJ.js} +1 -1
  138. package/server/{merge-Ce9DHBXM.js → merge-UlAwCk80.js} +4 -4
  139. package/server/{merge-agent-Rv0bNQNU.js → merge-agent-BcgAYStl.js} +27 -27
  140. package/server/{merge-agent-DRXwKxmb.js → merge-agent-Dh8Y9PDO.js} +1 -1
  141. package/server/{merge-batch-LLp_cXUR.js → merge-batch-BwhGdlh4.js} +1 -1
  142. package/server/{merge-blockers-BqYUtLBd.js → merge-blockers-DwdQNsYD.js} +2 -2
  143. package/server/merge-ops-QdBiQ8XB.js +2 -0
  144. package/server/{merge-rebase-AiSEs4QB.js → merge-rebase-CH12_ufi.js} +2 -2
  145. package/server/{merge-set-CUY9msG9.js → merge-set-TRxJwR-w.js} +3 -3
  146. package/server/{merge-set-CSJoIpKB.js → merge-set-rXK3ehnB.js} +1 -1
  147. package/server/{merge-sync-CAjbJeTp.js → merge-sync-BKLKu9kz.js} +1 -1
  148. package/server/{merge-sync-CuyWzzZK.js → merge-sync-CaLRt2cB.js} +2 -2
  149. package/server/{merge-train-DndZCAiv.js → merge-train-DmxlYbEo.js} +3 -3
  150. package/server/{merge-train-deps-Bsy90Q7t.js → merge-train-deps-DBHsOWt9.js} +4 -4
  151. package/server/{merge-verification-Kvh4WViS.js → merge-verification-DA9rvqsE.js} +4 -4
  152. package/server/{multipart-parser-BWnfyoyz.js → multipart-parser-DtIEUW2B.js} +2 -2
  153. package/server/{no-resume-mode-CKy2bwZL.js → no-resume-mode-yrPEQ_pC.js} +1 -1
  154. package/server/{orphan-proposed-reconciler-Cg5_uVy1.js → orphan-proposed-reconciler-Db8tUhce.js} +10 -10
  155. package/server/{orphan-proposed-reconciler-CjUuBs6J.js → orphan-proposed-reconciler-mXV--tcB.js} +1 -1
  156. package/server/{pan-dir-Cn3NUnxU.js → pan-dir-BgBeeZDX.js} +3 -3
  157. package/server/{paths-Bo-kA9ta.js → paths-TE1GOZDr.js} +2 -2
  158. package/server/{pickup-DRn-XNXS.js → pickup-KLRUhThD.js} +1 -1
  159. package/server/{pipeline-notifier-BbGQtvKM.js → pipeline-notifier-aX_5EqQO.js} +2 -2
  160. package/server/{pipeline-notifier-DQsOtdjZ.js → pipeline-notifier-lwMa--Gz.js} +1 -1
  161. package/server/{projects-CKTA6Klk.js → projects-BNmVxnNt.js} +1 -1
  162. package/server/{prompts-CVncQg4P.js → prompts-CelsUdrx.js} +2 -2
  163. package/server/{providers-uPI9uU7Q.js → providers-4-xOzHQu.js} +7 -7
  164. package/server/{providers-CapuDkKX.js → providers-BOnRq5XK.js} +1 -1
  165. package/server/public/assets/{chunk-BO2N2NFS-CaAvtgHW.js → chunk-BO2N2NFS-BjULspib.js} +4 -4
  166. package/server/public/assets/{diagram-OG6HWLK6-C4flU2X9.js → diagram-OG6HWLK6-4ER5ovy_.js} +1 -1
  167. package/server/public/assets/{dist-DygIHsen.js → dist-CBUe_1pC.js} +3 -3
  168. package/server/public/assets/{dist-DXAnG2e9.js → dist-DVM-OI65.js} +1 -1
  169. package/server/public/assets/{ganttDiagram-6RSMTGT7-BJY25etK.js → ganttDiagram-6RSMTGT7-DQ3nocJU.js} +1 -1
  170. package/server/public/assets/{highlighted-body-OFNGDK62-DIEQLSG_.js → highlighted-body-OFNGDK62-BcLOHe75.js} +1 -1
  171. package/server/public/assets/index-DdqPXf3T.js +796 -0
  172. package/server/public/assets/{linear-CRa2o9KP.js → linear-Acq5WFAt.js} +1 -1
  173. package/server/public/assets/mermaid-GHXKKRXX-BTHbMU88.js +1 -0
  174. package/server/public/assets/{pieDiagram-4H26LBE5-Cb6OrK_c.js → pieDiagram-4H26LBE5-BEmjmqLh.js} +1 -1
  175. package/server/public/assets/{prod-DWpuiL-y.js → prod-D-3YYika.js} +4 -4
  176. package/server/public/assets/{quadrantDiagram-W4KKPZXB-DhZzzcAO.js → quadrantDiagram-W4KKPZXB-DyeZ0jBC.js} +1 -1
  177. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CVe6lE5A.js → sankeyDiagram-5OEKKPKP-DSD--Pbl.js} +1 -1
  178. package/server/public/assets/{xychartDiagram-2RQKCTM6-zukUz5pI.js → xychartDiagram-2RQKCTM6-idS7x7Bb.js} +1 -1
  179. package/server/public/index.html +1 -1
  180. package/server/{pull-requests-C3csHJsc.js → pull-requests-CH4iBFLl.js} +3 -3
  181. package/server/{pull-requests-MeAgb3Ax.js → pull-requests-DL_4klIb.js} +1 -1
  182. package/server/{rally-nalS21zz.js → rally-D0mKv2t8.js} +3 -3
  183. package/server/rally-DffLLIdl.js +3 -0
  184. package/server/{rally-api-DzQryQi8.js → rally-api-CcCdecF-.js} +1 -1
  185. package/server/{rally-api-DdY4ebu3.js → rally-api-DgAt6FbN.js} +2 -2
  186. package/server/{rally-client-9duSds1_.js → rally-client-DYjtgTOu.js} +4 -4
  187. package/server/{rally-client-B16-bZk9.js → rally-client-X0bEEN2B.js} +1 -1
  188. package/server/reap-terminal-sessions-BwJb2DLJ.js +3 -0
  189. package/server/{reap-terminal-sessions-C6rD1pDT.js → reap-terminal-sessions-CAmURC2h.js} +12 -62
  190. package/server/{rebuild-stack-D9qBmVcM.js → rebuild-stack-BLG3rlWa.js} +6 -6
  191. package/server/{rebuild-stack-DrWMHxoY.js → rebuild-stack-ByFCMqTK.js} +1 -1
  192. package/server/{reconstruct-cache--H2QBooC.js → reconstruct-cache-_tDZ2D72.js} +6 -6
  193. package/server/{record-fn7uPjsl.js → record-DjPikotp.js} +1 -1
  194. package/server/{remote-BEkHf2HO.js → remote-B1Trmr0N.js} +3 -3
  195. package/server/{remote-Dl6Hn0zz.js → remote-TN0cV8k-.js} +3 -3
  196. package/server/{remote-agents-DNdP4sew.js → remote-agents-CmbIKw7E.js} +5 -5
  197. package/server/{remote-agents-OB4zwVHz.js → remote-agents-DNuaAgU6.js} +1 -1
  198. package/server/{remote-completion-BINc1Y8c.js → remote-completion-Bklh6loJ.js} +12 -12
  199. package/server/resume-DnIsmIgC.js +3 -0
  200. package/server/review-agent-DgySDb-G.js +3 -0
  201. package/server/{review-agent-C-A6IgXc.js → review-agent-phzqNqIs.js} +599 -197
  202. package/server/{review-artifacts-DTTdAYsU.js → review-artifacts-BGc69epg.js} +7 -7
  203. package/server/{review-context-De14xPtc.js → review-context-CCq56O_Y.js} +7 -7
  204. package/server/{review-monitor-BNV3kjLq.js → review-monitor-BKG2ubt5.js} +2 -2
  205. package/server/{review-status-DWAsTqfJ.js → review-status-BQjqQXZG.js} +160 -52
  206. package/server/{review-status-mo3tyc8L.js → review-status-bBkqUj5i.js} +1 -1
  207. package/server/{review-status-enrichment-C6sr9wOI.js → review-status-enrichment-CGlcApSn.js} +3 -3
  208. package/server/{review-status-sync-D-p7TQit.js → review-status-sync-BWHnrq-k.js} +3 -3
  209. package/server/{review-status-sync-MvYGQLDD.js → review-status-sync-BxHBVH8s.js} +1 -1
  210. package/server/{review-verdict-feedback-BbIfN5Vg.js → review-verdict-feedback-cZh9Wi9G.js} +1 -1
  211. package/server/{review-verdict-feedback-Cfc-THvz.js → review-verdict-feedback-wqnikhMK.js} +16 -36
  212. package/server/{rollup-DgWlrSBc.js → rollup-BJE-Vc7H.js} +8 -8
  213. package/server/{rollup-CxR6GMTe.js → rollup-DBNy1yFB.js} +1 -1
  214. package/server/{scanner-6OmIn5XE.js → scanner-CUGpdp4i.js} +7 -7
  215. package/server/{sequence-io-CxiPMMKM.js → sequence-io-B2GmilSI.js} +4 -4
  216. package/server/{sequencer-agent--xPlSfR2.js → sequencer-agent-D8pW2aU_.js} +5 -5
  217. package/server/server.js +166 -162
  218. package/server/{service-CXje28KS.js → service-CILd-uOt.js} +46 -45
  219. package/server/session-fork-DDSDVoIK.js +99 -0
  220. package/server/{settings-ChvoXExM.js → settings-CBrei_kx.js} +2 -2
  221. package/server/{settings-DZq_bi-B.js → settings-D2wt4nku.js} +3 -3
  222. package/server/settings-vLoKyghx.js +2 -0
  223. package/server/{shadow-engineering-BHeyD5bL.js → shadow-engineering-Ba1D0QUN.js} +2 -2
  224. package/server/{shadow-state-p3YTxrJ5.js → shadow-state-BOaq8BrD.js} +1 -1
  225. package/server/{shadow-state-3L0eHQNE.js → shadow-state-DTC7AMHc.js} +2 -2
  226. package/server/{ship-log-B2EEH__n.js → ship-log-CMWH3H5-.js} +1 -1
  227. package/server/{smart-compaction-DRXK5_io.js → smart-compaction-Bgp_gwcA.js} +1 -1
  228. package/server/{smart-compaction-DMB4hv07.js → smart-compaction-CrP90OFE.js} +7 -7
  229. package/server/{spawn-planning-session-BZfVvIi3.js → spawn-planning-session-BmJWHSCu.js} +15 -15
  230. package/server/{spawn-planning-session-BBUzeHJQ.js → spawn-planning-session-D15KbPOy.js} +1 -1
  231. package/server/{specialist-completion-BAZHHbmp.js → specialist-completion-BiEXUHfD.js} +1 -1
  232. package/server/{specialist-context-DgdhI7rm.js → specialist-context-CwKkcXL9.js} +5 -5
  233. package/server/{specialist-handoff-logger-CH1nC8fq.js → specialist-handoff-logger-B_2VsWli.js} +2 -2
  234. package/server/{specialist-logs-DynFhFXg.js → specialist-logs-CvDxquV_.js} +3 -3
  235. package/server/{specialists-LJ9MZMCz.js → specialists-BCjcG4uE.js} +1 -1
  236. package/server/{specialists-BUKBHtmQ.js → specialists-BYi0k8CZ.js} +18 -18
  237. package/server/{specialists-e0Jmecc1.js → specialists-D07ybnam.js} +78 -85
  238. package/server/{specialists-CF02f9p2.js → specialists-F2uMO4QS.js} +1 -1
  239. package/server/specs-DeS98l_p.js +3 -0
  240. package/server/{src-CNLON0co.js → src-BswtmojL.js} +6 -6
  241. package/server/{src-DhJeCV1p.js → src-Dp0WHgDZ.js} +3 -3
  242. package/server/{src-AXK4mjue.js → src-fgbU-jJ-.js} +6 -3
  243. package/server/{stack-health-8jZH0Lgk.js → stack-health-BJVh1TCg.js} +3 -3
  244. package/server/{stack-health-CXYHwv5D.js → stack-health-Deel1mSW.js} +1 -1
  245. package/server/{state-home-XkLSsJCD.js → state-home-Bgj7i-C7.js} +8 -7
  246. package/server/{summary-fork-shfA2XOf.js → summary-fork-DedqguZb.js} +2 -2
  247. package/server/{summary-fork-BWa0ECGL.js → summary-fork-EjvOkEPl.js} +12 -91
  248. package/server/{supervisor-owMkHcx8.js → supervisor-0oXvLwyC.js} +3 -3
  249. package/server/supervisor-D1-XwmZ7.js +2 -0
  250. package/server/{swarm-readiness-BACUsKOx.js → swarm-readiness-OBgamRql.js} +3 -3
  251. package/server/{teardown-workspace-CYt_PBaq.js → teardown-workspace-5LCVbjfq.js} +14 -14
  252. package/server/{test-agent-queue-C1s6mB8C.js → test-agent-queue-qfsq6uaC.js} +6 -6
  253. package/server/{test-verdict-CmxX3KEf.js → test-verdict-BkubHtti.js} +1 -1
  254. package/server/{test-verdict-njEv9ZY2.js → test-verdict-D3Il7cBK.js} +1 -1
  255. package/server/{tldr-daemon-CEUflKr2.js → tldr-daemon-CJW_P4On.js} +2 -2
  256. package/server/{tldr-daemon-HIo0dwDB.js → tldr-daemon-CJqGsDFh.js} +1 -1
  257. package/server/tmux-CeDD14p1.js +3 -0
  258. package/server/{tmux-CBYZ5lKF.js → tmux-ePNhMIMU.js} +2 -2
  259. package/server/{token-CiS3w6Ma.js → token-_qujO3JZ.js} +1 -1
  260. package/server/{tracker-config-CVCoeaaL.js → tracker-config-C3hiPVAM.js} +2 -2
  261. package/server/{tracker-config-Bx50plWp.js → tracker-config-Drt_tx4D.js} +1 -1
  262. package/server/{tracker-utils-C2Lg4RoB.js → tracker-utils-D6B8scEw.js} +1 -1
  263. package/server/{tracker-utils-mI4d-vh8.js → tracker-utils-bpWs7Xyx.js} +2 -2
  264. package/server/{traefik-connect-D21-YEyX.js → traefik-connect-5EP1WS_Z.js} +1 -1
  265. package/server/{tunnel-BK4PVyb0.js → tunnel-3Ve8BS4H.js} +3 -3
  266. package/server/{tunnel-CcHkuRIS.js → tunnel-AporWhoi.js} +1 -1
  267. package/server/{types-DoPMvws2.js → types-B5u3NxMl.js} +1 -1
  268. package/server/{uat-train-BLFPxqLx.js → uat-train-C3hWXtip.js} +1 -1
  269. package/server/{uat-train-CQ_E-2ei.js → uat-train-CtNGgXxj.js} +27 -27
  270. package/server/{validation-Dab3bnSN.js → validation-BmUB-26g.js} +4 -4
  271. package/server/{validation-1QnjDMc0.js → validation-CbqP_dze.js} +1 -1
  272. package/server/{verification-runner-BO8TgZWA.js → verification-runner-BPAhPWR7.js} +11 -11
  273. package/server/{verification-runner-UhAAqOio.js → verification-runner-DuZRHjPU.js} +1 -1
  274. package/server/{vtt-parser-D-q5-8il.js → vtt-parser-CKc-smWM.js} +1 -1
  275. package/server/{work-agent-prompt-D_7T1xw5.js → work-agent-prompt-DCdHsm-V.js} +11 -11
  276. package/server/workflows-Cz8OtiB4.js +2 -0
  277. package/server/{workflows-CB5SWd0B.js → workflows-H-COJ84X.js} +14 -14
  278. package/server/{workspace-C4Avf_Tp.js → workspace-4ZufqeMe.js} +3 -3
  279. package/server/{workspace--XWYPbn1.js → workspace-DYv9kBg6.js} +1 -1
  280. package/server/{workspace-config-BwJB-bLH.js → workspace-config-DA8U97k9.js} +1 -1
  281. package/server/{workspace-manager-_6zbrhNF.js → workspace-manager-B3PqQQSM.js} +1 -1
  282. package/server/{workspace-manager-BE3OznLY.js → workspace-manager-CEWK-OXd.js} +12 -12
  283. package/server/{workspace-metadata-BCgODi1j.js → workspace-metadata-1eu1RvAT.js} +2 -2
  284. package/server/{workspace-metadata-wKPgY8PN.js → workspace-metadata-C0I-nIDL.js} +1 -1
  285. package/server/{workspaces-DpMiZ9BP.js → workspaces-CRU9_vRn.js} +154 -106
  286. package/server/agent-state-DTZCqWx5.js +0 -3
  287. package/server/cli-wyiCmp7b.js +0 -3
  288. package/server/deacon-swarm-jDiQ0kKk.js +0 -2
  289. package/server/dist-CnkaBMG-.js +0 -3
  290. package/server/forge-D2QLGWK9.js +0 -2
  291. package/server/hume-sCsuupWb.js +0 -3
  292. package/server/inspect-agent-DnspoIls.js +0 -2
  293. package/server/merge-ops-B6xc_Irj.js +0 -2
  294. package/server/public/assets/index-BsKNi2y5.js +0 -796
  295. package/server/public/assets/mermaid-GHXKKRXX-uIkd-n0c.js +0 -1
  296. package/server/rally-BJiyvz3w.js +0 -3
  297. package/server/reap-terminal-sessions-mW7SPDtP.js +0 -2
  298. package/server/resume-Pur3Z2e8.js +0 -3
  299. package/server/review-agent-BRSSFv7e.js +0 -3
  300. package/server/settings-D0XXIUQ0.js +0 -2
  301. package/server/specs-COn3zZ2Q.js +0 -3
  302. package/server/supervisor-DwGIhpXk.js +0 -2
  303. package/server/tmux-DNmHGMEv.js +0 -3
  304. package/server/workflows-Plo_VxeO.js +0 -2
@@ -1,38 +1,39 @@
1
1
  import { n as __esmMin, o as __toESM } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-DbdN9Fuq.js";
2
+ import { $ as getModelCapabilitySync, Br as getOverdeckHome, C as resolveTieredExecutionEnabled, Dn as getProjectSync, En as getProjectSwarmHotspots, Ft as resolveProjectForIssue, Gn as resolveProjectFromIssueSync, Gr as sessionFilePath, H as ensureOpenAICompatibleProxyRunning, I as getProviderEnvSync, L as getProviderForModelSync, Lr as encodeClaudeProjectDir, Lt as writeAgentHarnessModelSync, Mt as readIssueRecordForWorkspaceSync, N as clearCredentialFileAuthSync, Nn as init_projects, Nt as readIssueRecordSync, Or as OVERDECK_HOME, Ot as init_record, P as getBuiltInDefaultHarness, R as init_providers, S as init_tier_table, U as init_openai_compatible_proxy, Ur as packageRoot, V as setupCredentialFileAuthSync, Vr as init_paths, Wr as resolveOhmypiExtensionPath, X as resolveModel, Y as init_roles, at as fmix32, b as TIERED_EXECUTION_DIFFICULTIES, bn as findProjectByPathSync, cr as FsError, er as init_issue_id, f as loadConfigSync, fn as init_state_read_home, ir as require_dist, it as resolveModelIdSync, l as isClaudeCodeChannelsMcpEnabled, mn as shouldCommitLegacyWorkspaceArtifacts, nt as init_model_capabilities, or as ClaudeCredentialParseError, ot as fnv1a32, rr as resolveBareNumericIdSync, sr as ConfigError, st as init_percent, t as init_config_yaml, tt as hasModelCapabilitySync, u as isTldrEnabledSync, vr as init_errors, w as resolveTieredExecutionEnabledForIssue, wn as getIssuePrefix, y as DEFAULT_TIERED_EXECUTION_CONFIG, yr as AGENTS_DIR } from "./config-yaml-DPAieL_G.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
- import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-Dm95Ua07.js";
5
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CCTzpcuJ.js";
6
- import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-CBYZ5lKF.js";
7
- import { a as init_event_store, i as initEventStore } from "./event-store-DrfTJZ1_.js";
8
- import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-AXK4mjue.js";
9
- import { D as init_agent_state_sync, E as getOverdeckAgentStateSync, O as listOverdeckAgentStatesSync, c as init_review_status, k as saveOverdeckAgentStateSync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-DWAsTqfJ.js";
10
- import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-B3YxHQ-L.js";
11
- import { o as getPricingSync, s as init_cost } from "./cost-DiSDkYe7.js";
12
- import { t as init_behavior } from "./behavior-vk1sixby.js";
13
- import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-CfXu-3TF.js";
4
+ import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
5
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CpKlYZA9.js";
6
+ import { A as listSessionsSync, C as isPaneDead, E as listPaneValues, I as sendRawKeystroke, L as sessionExists, N as sendEscapeKeyAsync, P as sendKeys, R as sessionExistsSync, T as killSessionSync, W as BLANKED_PROVIDER_ENV, a as capturePaneSync, d as exactPaneTarget, i as capturePane, k as listSessions, o as createSession, q as init_child_env, s as createSessionSync, w as killSession, x as init_tmux, z as setOption } from "./tmux-ePNhMIMU.js";
7
+ import { a as init_event_store, i as initEventStore } from "./event-store-DTJXZjCl.js";
8
+ import { a as getHarnessBehavior, i as OHMYPI_BEHAVIOR } from "./src-fgbU-jJ-.js";
9
+ import { A as listOverdeckAgentStatesSync, E as readReviewStatusMap, O as getOverdeckAgentStateSync, T as init_review_status_source, c as init_review_status, j as saveOverdeckAgentStateSync, k as init_agent_state_sync, m as resetPipelineVerdictsForWorkStartSync } from "./review-status-BQjqQXZG.js";
10
+ import { d as init_agents$1, l as countAgentsByStatus, n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-CXhZdnB8.js";
11
+ import { o as getPricingSync, s as init_cost } from "./cost-C2CuA66z.js";
12
+ import { t as init_behavior } from "./behavior-By-2Wipv.js";
13
+ import { _ as init_tier_metrics, g as estimateFeedDeliveryTokens, v as recordTierFeedDelivery } from "./cost-sync-8lkDeL9g.js";
14
14
  import { n as init_agent_runtime_mirror, r as isAgentStateServiceInProcess, t as getRuntimeSnapshot } from "./agent-runtime-mirror-DrWxopNA.js";
15
- import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DWhBqgIk.js";
16
- import { m as readWorkspacePlanSync, o as init_io } from "./io-DtAQ_2hp.js";
17
- import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-CE2GDY7x.js";
18
- import { f as init_config$1, m as loadConfigSync$1 } from "./config-DkEhJM0h.js";
19
- import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-Dwr1jHrO.js";
20
- import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-C6eVdq4J.js";
21
- import { a as readCavemanVariant, n as init_workspace } from "./workspace-C4Avf_Tp.js";
22
- import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-XkLSsJCD.js";
23
- import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-BpwIcIR7.js";
24
- import { h as workspaceContextFile, o as init_layers } from "./layers-CO_VLcSv.js";
25
- import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-B3J1TXo7.js";
26
- import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-CYv732Gs.js";
27
- import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-DVv9cpG5.js";
28
- import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-8jZH0Lgk.js";
29
- import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-DZBowTd2.js";
30
- import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-Ch3WNHS9.js";
31
- import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-CtqWakL6.js";
32
- import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-C6HBXlVm.js";
33
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-TzYAiXzZ.js";
34
- import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-WDGwa1vV.js";
35
- import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-BACUsKOx.js";
15
+ import { i as ensureInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CQUx9YLc.js";
16
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-Wy8YpFeP.js";
17
+ import { c as bridgeGeminiAuthToCliproxy, p as getCliproxyClientEnv, s as bridgeCodexAuthToCliproxySync, v as init_cliproxy } from "./cliproxy-J-_1iIXe.js";
18
+ import { f as init_config$1, m as loadConfigSync$1 } from "./config-oWoKf5jO.js";
19
+ import { L as normalizeHarness, R as reactivateConversationForSpawn, S as getConversationByName, k as init_conversations, y as createConversation } from "./conversations-DL_BAWVk.js";
20
+ import { n as recordFeatureRegistryLifecycle, t as init_feature_registry_population } from "./feature-registry-population-Dwyj9gEM.js";
21
+ import { a as readCavemanVariant, n as init_workspace } from "./workspace-4ZufqeMe.js";
22
+ import { a as init_launcher_generator, c as requireModelOverrideSync, i as generateLauncherScriptSync, l as shellQuoteModelIdSync, n as init_state_home, o as init_model_validation, r as isStateMigrated, s as normalizeModelOverrideSync } from "./state-home-Bgj7i-C7.js";
23
+ import { a as init_claude_permissions, r as getClaudePermissionFlagsStringSync } from "./claude-permissions-DrRAs_0F.js";
24
+ import { h as workspaceContextFile, o as init_layers } from "./layers-vdvlpFki.js";
25
+ import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, o as findLatestRollout } from "./codex-DcInrhok.js";
26
+ import { a as getFlywheelActiveRunIdSync, s as init_control_settings } from "./control-settings-BMqUkXmR.js";
27
+ import { n as createTrackerFromConfig, r as init_factory, t as createTracker } from "./factory-rG4T40su.js";
28
+ import { a as init_stack_health, i as getWorkspaceStackHealth } from "./stack-health-BJVh1TCg.js";
29
+ import { a as createActiveSlice, c as groupItemsByWave, s as getDispatchableItems, u as init_dag } from "./dag-jH8ZkewR.js";
30
+ import { n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
31
+ import { n as assertIssueHasBeads, r as init_beads_query, t as BeadsMissingError } from "./beads-query-BrVNWoSL.js";
32
+ import { c as generateFixedPointPromptSync, f as initHookSync, n as checkHookSync, p as init_hooks } from "./hooks-CmHFSj_Z.js";
33
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-DKeSVsJL.js";
34
+ import { r as isRoleTerminal, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CAmURC2h.js";
35
+ import { a as init_lifecycle_io, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DSrv9xGh.js";
36
+ import { r as init_swarm_readiness, t as analyzeSwarmReadiness } from "./swarm-readiness-OBgamRql.js";
36
37
  import { Data, Duration, Effect, FileSystem } from "effect";
37
38
  import { appendFileSync, existsSync, mkdirSync, readFileSync, statSync, statfsSync, unlinkSync, writeFileSync } from "fs";
38
39
  import { basename, dirname, join, resolve } from "path";
@@ -938,6 +939,12 @@ function cleanAgentState(raw) {
938
939
  reviewDeadlineAt: raw.reviewDeadlineAt,
939
940
  reviewMonitorSignaled: raw.reviewMonitorSignaled,
940
941
  reviewRetryAttempt: raw.reviewRetryAttempt,
942
+ reviewDiscoveryPending: raw.reviewDiscoveryPending,
943
+ reviewContextManifestPath: raw.reviewContextManifestPath,
944
+ reviewDiscoveryReadyAt: raw.reviewDiscoveryReadyAt,
945
+ reviewConvoyForkedAt: raw.reviewConvoyForkedAt,
946
+ reviewForkCacheChecked: raw.reviewForkCacheChecked,
947
+ reviewForkedFromParent: raw.reviewForkedFromParent,
941
948
  hostOverride: raw.hostOverride,
942
949
  inspectSubRole: raw.inspectSubRole,
943
950
  slotIndex: raw.slotIndex,
@@ -2327,12 +2334,12 @@ async function claudeSystemPromptFiles(workspace, harness) {
2327
2334
  files.push(await ensureSessionContextBriefingFile());
2328
2335
  const behavior = getHarnessBehavior(harness);
2329
2336
  if (behavior.contextLayerKind === "pi") {
2330
- const { piGlobalContextFile } = await import("./context-layers-0Lgq-SE_.js");
2337
+ const { piGlobalContextFile } = await import("./context-layers-DxKsseHI.js");
2331
2338
  const globalFile = piGlobalContextFile();
2332
2339
  if (existsSync(globalFile)) files.unshift(globalFile);
2333
2340
  }
2334
2341
  if (behavior.contextLayerKind === "codex") {
2335
- const { codexGlobalContextFile } = await import("./context-layers-0Lgq-SE_.js");
2342
+ const { codexGlobalContextFile } = await import("./context-layers-DxKsseHI.js");
2336
2343
  const globalFile = codexGlobalContextFile();
2337
2344
  if (existsSync(globalFile)) files.unshift(globalFile);
2338
2345
  }
@@ -2485,7 +2492,7 @@ async function injectPiPromptTimeMemory(agentId, prompt) {
2485
2492
  agentRole: agentState.role ?? "work",
2486
2493
  agentHarness: agentState.harness ?? "claude-code"
2487
2494
  };
2488
- const { injectPromptTimeMemory } = await import("./injection-CBrN8UxB.js");
2495
+ const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
2489
2496
  const result = await injectPromptTimeMemory({
2490
2497
  prompt,
2491
2498
  identity,
@@ -2519,7 +2526,7 @@ async function injectPiConversationMemory(opts, prompt) {
2519
2526
  agentRole: "work",
2520
2527
  agentHarness: "ohmypi"
2521
2528
  };
2522
- const { injectPromptTimeMemory } = await import("./injection-CBrN8UxB.js");
2529
+ const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
2523
2530
  const result = await injectPromptTimeMemory({
2524
2531
  prompt,
2525
2532
  identity,
@@ -3023,7 +3030,7 @@ async function transitionIssueToInReview(issueId, workspacePath) {
3023
3030
  async function buildAgentLaunchConfig(opts) {
3024
3031
  const model = requireModelOverrideSync(opts.model);
3025
3032
  try {
3026
- const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-xD_Vu420.js");
3033
+ const { injectOverdeckInfraDeny } = await import("./claude-settings-overlay-CEWlIFL-.js");
3027
3034
  await Effect.runPromise(injectOverdeckInfraDeny(opts.workspace));
3028
3035
  } catch (err) {
3029
3036
  console.warn(`[agents] injectOverdeckInfraDeny failed for ${opts.agentId} (non-fatal): ${err instanceof Error ? err.message : err}`);
@@ -3104,7 +3111,7 @@ async function retrieveSpawnTimeMemoryContext(input) {
3104
3111
  agentRole: input.role,
3105
3112
  agentHarness: input.harness
3106
3113
  };
3107
- const { injectPromptTimeMemory } = await import("./injection-CBrN8UxB.js");
3114
+ const { injectPromptTimeMemory } = await import("./injection-DKzL2Axk.js");
3108
3115
  return (await injectPromptTimeMemory({
3109
3116
  prompt: input.prompt,
3110
3117
  identity,
@@ -3195,7 +3202,7 @@ async function assertWorkspaceStackHealthyForSpawn(issueId, role, allowHost = fa
3195
3202
  record.attempts += 1;
3196
3203
  spawnStackRebuildState.set(normalizedIssue, record);
3197
3204
  console.log(`[agents] Workspace stack for ${normalizedIssue} unhealthy (${details}) — rebuilding before spawn (attempt ${record.attempts}/${SPAWN_STACK_REBUILD_MAX_ATTEMPTS})`);
3198
- const { rebuildWorkspaceStack } = await import("./rebuild-stack-DrWMHxoY.js");
3205
+ const { rebuildWorkspaceStack } = await import("./rebuild-stack-ByFCMqTK.js");
3199
3206
  const result = await Effect.runPromise(rebuildWorkspaceStack(issueId, { onProgress: (m) => console.log(`[agents] ${normalizedIssue} stack rebuild: ${m}`) })).catch((err) => ({
3200
3207
  success: false,
3201
3208
  error: err instanceof Error ? err.message : String(err)
@@ -3642,6 +3649,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
3642
3649
  resolvedMethod ??= "auto";
3643
3650
  }
3644
3651
  if (resolvedMethod === "tmux") {
3652
+ await assertTmuxTargetCanReceive(normalizedId, caller);
3645
3653
  await Effect.runPromise(sendKeys(normalizedId, message));
3646
3654
  return {
3647
3655
  ok: true,
@@ -3706,6 +3714,7 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
3706
3714
  ...supervisorFailure ? { "pty-supervisor": supervisorFailure } : {},
3707
3715
  ...channelFailure ? { channels: channelFailure } : {}
3708
3716
  });
3717
+ await assertTmuxTargetCanReceive(normalizedId, caller);
3709
3718
  await Effect.runPromise(sendKeys(normalizedId, message));
3710
3719
  return {
3711
3720
  ok: true,
@@ -3713,12 +3722,27 @@ async function deliverAgentMessage(agentId, message, caller = "unknown", deliver
3713
3722
  failure: channelFailure ?? supervisorFailure
3714
3723
  };
3715
3724
  }
3725
+ await assertTmuxTargetCanReceive(normalizedId, caller);
3716
3726
  await Effect.runPromise(sendKeys(normalizedId, message));
3717
3727
  return {
3718
3728
  ok: true,
3719
3729
  path: "tmux"
3720
3730
  };
3721
3731
  }
3732
+ /**
3733
+ * PAN-2228: loud failure semantics for the tmux tier. `tmux send-keys` into a
3734
+ * session whose pane process has EXITED (a remain-on-exit corpse) succeeds at the
3735
+ * tmux level while the message lands nowhere — the zombie-kickoff failure mode
3736
+ * (PAN-2179): callers saw ok:true, treated feedback as delivered, and the issue
3737
+ * silently stalled. Verify a live pane BEFORE pasting, and throw the same
3738
+ * MessageDeliveryFailed shape the strict socket methods use so every caller's
3739
+ * existing failure path fires instead of a false success. (A fully MISSING
3740
+ * session needs no check here — tmux send-keys itself errors loudly on it.)
3741
+ */
3742
+ async function assertTmuxTargetCanReceive(normalizedId, caller) {
3743
+ if (!await Effect.runPromise(sessionExists(normalizedId))) return;
3744
+ if (await Effect.runPromise(isPaneDead(normalizedId))) throw new Error(`MessageDeliveryFailed: tmux delivery failed for ${normalizedId} (${caller}): pane-dead (session alive but the harness process has exited)`);
3745
+ }
3722
3746
  async function waitForTranscriptUserRecordLanding(workspace, sessionId, before, snapshot, timeoutMs = RESUME_TRANSCRIPT_CONFIRM_TIMEOUT_MS, intervalMs = RESUME_TRANSCRIPT_CONFIRM_INTERVAL_MS) {
3723
3747
  const deadline = Date.now() + timeoutMs;
3724
3748
  const fromByteOffset = before.readOffset ?? before.fileSize;
@@ -4206,8 +4230,9 @@ function describeRunningAgents() {
4206
4230
  const swarm = alive.filter((a) => a.role === "work" && SWARM_SLOT_ID.test(a.id)).map((a) => a.id);
4207
4231
  const work = alive.filter((a) => a.role === "work" && !SWARM_SLOT_ID.test(a.id)).map((a) => a.id);
4208
4232
  const advancing = alive.filter((a) => a.role && ADVANCING_ROLES.has(a.role)).map((a) => a.id);
4233
+ const warmIdle = countWarmIdleAdvancingAgents(alive);
4209
4234
  const { totalCeiling } = getConcurrencyLimits();
4210
- return `counts: work=${work.length} advancing=${advancing.length} swarm=${swarm.length} total=${work.length + advancing.length}/${totalCeiling} | advancing=[${advancing.join(", ")}] work=[${work.join(", ")}] swarm=[${swarm.join(", ")}]`;
4235
+ return `counts: work=${work.length} advancing=${advancing.length} (warm-idle=${warmIdle}, excluded) swarm=${swarm.length} total=${work.length + Math.max(0, advancing.length - warmIdle)}/${totalCeiling} | advancing=[${advancing.join(", ")}] work=[${work.join(", ")}] swarm=[${swarm.join(", ")}]`;
4211
4236
  }
4212
4237
  /** Count currently-running agents by role class.
4213
4238
  *
@@ -4228,13 +4253,37 @@ function countRunningSwarmSlotsForIssue(issueId, agents = listRunningAgentsSync(
4228
4253
  const prefix = `agent-${issueId.toLowerCase()}-slot-`;
4229
4254
  return agents.filter((a) => a.tmuxActive && a.role === "work" && SWARM_SLOT_ID.test(a.id) && a.id.startsWith(prefix)).length;
4230
4255
  }
4256
+ /**
4257
+ * PAN-2579: count running advancing-role agents whose issue's phase verdict is
4258
+ * already terminal — "warm-idle" sessions kept alive for fast re-review under
4259
+ * the warm-by-default lifecycle. They are free capacity, not load: excluding
4260
+ * them from the ceiling is what lets warm sessions persist without recreating
4261
+ * the PAN-1716 livelock (completed reviewers starving every new dispatch).
4262
+ * Best-effort: if the review-status source is unregistered or unreadable,
4263
+ * count nothing as warm-idle (the ceiling stays conservative). The status map
4264
+ * is read through the cycle-free review-status-source leaf, registered by
4265
+ * review-status.ts at module load.
4266
+ */
4267
+ function countWarmIdleAdvancingAgents(agents = listRunningAgentsSync()) {
4268
+ const advancingRows = agents.filter((a) => a.role && ADVANCING_ROLES.has(a.role) && a.issueId);
4269
+ if (advancingRows.length === 0) return 0;
4270
+ const statuses = readReviewStatusMap();
4271
+ if (!statuses) return 0;
4272
+ let warmIdle = 0;
4273
+ for (const row of advancingRows) {
4274
+ const status = statuses[row.issueId.toUpperCase()];
4275
+ if (status && isRoleTerminal(row.role, status)) warmIdle++;
4276
+ }
4277
+ return warmIdle;
4278
+ }
4231
4279
  function countRunningAgents() {
4232
4280
  const counts = countAgentsByStatus("running");
4233
4281
  const workTotal = counts["work"] ?? 0;
4234
- let advancing = 0;
4235
- for (const role of ADVANCING_ROLES) advancing += counts[role] ?? 0;
4282
+ let advancingTotal = 0;
4283
+ for (const role of ADVANCING_ROLES) advancingTotal += counts[role] ?? 0;
4236
4284
  const swarm = countRunningSwarmSlots();
4237
4285
  const work = Math.max(0, workTotal - swarm);
4286
+ const advancing = Math.max(0, advancingTotal - countWarmIdleAdvancingAgents());
4238
4287
  return {
4239
4288
  work,
4240
4289
  advancing,
@@ -4363,6 +4412,8 @@ var init_concurrency = __esmMin((() => {
4363
4412
  init_agents();
4364
4413
  init_agents$1();
4365
4414
  init_memory_verdict_cache();
4415
+ init_reap_terminal_sessions();
4416
+ init_review_status_source();
4366
4417
  DEFAULT_MAX_WORK_AGENTS = 6;
4367
4418
  DEFAULT_RESERVED_ADVANCING_SLOTS = 3;
4368
4419
  DEFAULT_RESERVED_SWARM_SLOTS = 3;
@@ -4733,7 +4784,24 @@ async function spawnRun(issueId, role, options = {}) {
4733
4784
  }
4734
4785
  const flywheelEnv = resolveFlywheelSpawnEnv(role, options.flywheelRunId);
4735
4786
  const agentId = options.agentId ?? runAgentId(issueId, role, options.subRole);
4736
- if (await Effect.runPromise(sessionExists(agentId))) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
4787
+ if (await Effect.runPromise(sessionExists(agentId))) {
4788
+ let reapWarmIdle = false;
4789
+ const advancing = role === "review" || role === "test" || role === "ship";
4790
+ try {
4791
+ const { isPaneDead } = await import("./tmux-CeDD14p1.js");
4792
+ if (await Effect.runPromise(isPaneDead(agentId))) reapWarmIdle = true;
4793
+ else if (advancing) {
4794
+ const { getReviewStatusSync } = await import("./review-status-bBkqUj5i.js");
4795
+ const { isRoleTerminal } = await import("./reap-terminal-sessions-BwJb2DLJ.js");
4796
+ const status = getReviewStatusSync(issueId);
4797
+ reapWarmIdle = !!status && isRoleTerminal(role, status);
4798
+ }
4799
+ } catch {}
4800
+ if (!reapWarmIdle) throw new Error(`Role run ${agentId} already running. Use 'pan tell' to message it.`);
4801
+ console.log(`[spawn] ${agentId} is warm-idle from the previous cycle — reaping it for the new ${role} dispatch (PAN-2579)`);
4802
+ const { killSession } = await import("./tmux-CeDD14p1.js");
4803
+ await Effect.runPromise(killSession(agentId)).catch(() => {});
4804
+ }
4737
4805
  await assertWorkspaceStackHealthyForSpawn(issueId, role, options.allowHost, workspace);
4738
4806
  initHookSync(agentId);
4739
4807
  const resolvedHarness = await resolveHarness({
@@ -4742,7 +4810,7 @@ async function spawnRun(issueId, role, options = {}) {
4742
4810
  model: selectedModel
4743
4811
  });
4744
4812
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
4745
- const { isCliproxyRunning } = await import("./cliproxy-DYWdJKZ1.js");
4813
+ const { isCliproxyRunning } = await import("./cliproxy-BOcmOK6l.js");
4746
4814
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription role runs route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT role run.");
4747
4815
  }
4748
4816
  const state = {
@@ -4851,7 +4919,7 @@ async function spawnRun(issueId, role, options = {}) {
4851
4919
  const claudeCmd = `bash ${launcherScript}`;
4852
4920
  console.log(`[claude-invoke] purpose=role-run | role=${role} | model=${state.model} | source=agents.ts:spawnRun | session=${agentId} | command="${claudeCmd}"`);
4853
4921
  try {
4854
- const { preTrustDirectory } = await import("./workspace-manager-_6zbrhNF.js");
4922
+ const { preTrustDirectory } = await import("./workspace-manager-B3PqQQSM.js");
4855
4923
  preTrustDirectory(workspace);
4856
4924
  } catch {}
4857
4925
  clearReadySignal(agentId);
@@ -4939,7 +5007,7 @@ async function spawnAgent(options) {
4939
5007
  });
4940
5008
  console.log(`[DEBUG] Selected model: ${selectedModel}`);
4941
5009
  if (getProviderForModelSync(selectedModel).name === "openai" && await getProviderAuthMode(selectedModel) === "subscription") {
4942
- const { isCliproxyRunning } = await import("./cliproxy-DYWdJKZ1.js");
5010
+ const { isCliproxyRunning } = await import("./cliproxy-BOcmOK6l.js");
4943
5011
  if (!await Effect.runPromise(isCliproxyRunning())) throw new Error("CLIProxyAPI sidecar is not running. GPT subscription agents route through a local cliproxy process managed by `pan up`. Run `pan up` (or restart the dashboard) before spawning a GPT agent.");
4944
5012
  }
4945
5013
  const resolvedHarness = await resolveHarness({
@@ -4965,7 +5033,7 @@ async function spawnAgent(options) {
4965
5033
  if (role === "work") {
4966
5034
  try {
4967
5035
  if (resetPipelineVerdictsForWorkStartSync(options.issueId)) {
4968
- const { resetPostMergeState } = await import("./merge-agent-DRXwKxmb.js");
5036
+ const { resetPostMergeState } = await import("./merge-agent-Dh8Y9PDO.js");
4969
5037
  resetPostMergeState(options.issueId);
4970
5038
  }
4971
5039
  } catch (err) {
@@ -4976,7 +5044,7 @@ async function spawnAgent(options) {
4976
5044
  });
4977
5045
  }
4978
5046
  if (role === "work") try {
4979
- const { writeStoryFeatureContext } = await import("./work-agent-prompt-D_7T1xw5.js");
5047
+ const { writeStoryFeatureContext } = await import("./work-agent-prompt-DCdHsm-V.js");
4980
5048
  await writeStoryFeatureContext(options.workspace, options.issueId);
4981
5049
  } catch (ctxErr) {
4982
5050
  console.warn(`[agents] Could not write story feature context for ${options.issueId}: ${ctxErr.message}`);
@@ -5026,7 +5094,7 @@ async function spawnAgent(options) {
5026
5094
  try {
5027
5095
  const venvPath = join(options.workspace, ".venv");
5028
5096
  if (isTldrEnabledSync() && existsSync(venvPath)) {
5029
- const { getTldrDaemonServiceSync } = await import("./tldr-daemon-HIo0dwDB.js");
5097
+ const { getTldrDaemonServiceSync } = await import("./tldr-daemon-CJqGsDFh.js");
5030
5098
  const tldrService = getTldrDaemonServiceSync(options.workspace, venvPath);
5031
5099
  if (!(await tldrService.getStatus()).running) {
5032
5100
  await tldrService.start(true);
@@ -5064,13 +5132,13 @@ async function spawnAgent(options) {
5064
5132
  const claudeCmd = `bash ${launcherScript}`;
5065
5133
  console.log(`[claude-invoke] purpose=work-agent | model=${state.model} | source=agents.ts:spawnAgent | session=${agentId} | command="${claudeCmd}"`);
5066
5134
  try {
5067
- const { preTrustDirectory } = await import("./workspace-manager-_6zbrhNF.js");
5135
+ const { preTrustDirectory } = await import("./workspace-manager-B3PqQQSM.js");
5068
5136
  preTrustDirectory(options.workspace);
5069
5137
  } catch {}
5070
5138
  try {
5071
- const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-CIhMNI4C.js");
5139
+ const { isGitHubAppConfigured, generateInstallationToken, configureWorkspaceForBot } = await import("./github-app-B5PDHMyn.js");
5072
5140
  if (isGitHubAppConfigured()) {
5073
- const { findProjectByPathSync } = await import("./projects-CKTA6Klk.js");
5141
+ const { findProjectByPathSync } = await import("./projects-BNmVxnNt.js");
5074
5142
  const ghRepo = findProjectByPathSync(resolve(options.workspace, "..", ".."))?.github_repo;
5075
5143
  if (ghRepo) {
5076
5144
  const [owner, repo] = ghRepo.split("/");
@@ -5138,7 +5206,7 @@ async function spawnAgent(options) {
5138
5206
  const codexHomeForAgent = join(homedir(), ".overdeck", "agents", agentId, "codex-home");
5139
5207
  (async () => {
5140
5208
  try {
5141
- const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-j8aVgRou.js");
5209
+ const { waitForCodexRollout, extractThreadIdFromRollout, writeThreadId } = await import("./codex-BUZjrnqH.js");
5142
5210
  const rollout = await waitForCodexRollout(codexHomeForAgent, 12e4);
5143
5211
  if (rollout) {
5144
5212
  const threadId = extractThreadIdFromRollout(rollout);
@@ -5915,7 +5983,7 @@ async function messageAgent(agentId, message, caller = "internal") {
5915
5983
  return;
5916
5984
  }
5917
5985
  console.log(`[agents] Auto-resuming suspended agent ${normalizedId} to deliver message`);
5918
- const { resumeAgent } = await import("./agents-KaEsWZ8D.js");
5986
+ const { resumeAgent } = await import("./agents-BIggLvi_.js");
5919
5987
  const result = await resumeAgent(normalizedId, message);
5920
5988
  if (!result.success) throw new Error(`Failed to auto-resume agent: ${result.error}`);
5921
5989
  if (result.messageDelivered === false) throw new Error(`Agent resumed but ready signal did not fire — message not delivered. Feedback is in the mail queue.`);
@@ -5931,7 +5999,7 @@ async function messageAgent(agentId, message, caller = "internal") {
5931
5999
  return;
5932
6000
  }
5933
6001
  console.log(`[agents] Auto-resuming stopped agent ${normalizedId} to deliver feedback (session exists: ${await Effect.runPromise(sessionExists(normalizedId))})`);
5934
- const { resumeAgent } = await import("./agents-KaEsWZ8D.js");
6002
+ const { resumeAgent } = await import("./agents-BIggLvi_.js");
5935
6003
  const resumeResult = await resumeAgent(normalizedId, message);
5936
6004
  queueAgentMail(normalizedId, message);
5937
6005
  if (resumeResult.success && resumeResult.messageDelivered !== false) {
@@ -5967,7 +6035,7 @@ async function messageAgent(agentId, message, caller = "internal") {
5967
6035
  const resumeRole = agentState.role ?? "work";
5968
6036
  const resumeModel = agentState.model || "claude-sonnet-4-6";
5969
6037
  const fallbackHarness = agentState.harness ?? "claude-code";
5970
- const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-KaEsWZ8D.js");
6038
+ const { assertWorkspaceStackHealthyForSpawn } = await import("./agents-BIggLvi_.js");
5971
6039
  await assertWorkspaceStackHealthyForSpawn(agentState.issueId || normalizedId.replace(/^agent-/, "").toUpperCase(), resumeRole, agentState.hostOverride === true, agentState.workspace);
5972
6040
  const fallbackPiFields = fallbackHarness === "ohmypi" ? await getOhmypiLauncherFields(normalizedId, resumeModel) : {};
5973
6041
  const fallbackCodexFields = fallbackHarness === "codex" ? getCodexLauncherFields(normalizedId, resumeModel, agentState.workspace) : {};
@@ -6030,7 +6098,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6030
6098
  } else console.warn(`[agents] Fallback-restarted ${normalizedId} but ready signal not detected — feedback in mail queue`);
6031
6099
  return;
6032
6100
  }
6033
- const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-OB4zwVHz.js");
6101
+ const { loadRemoteAgentState, sendToRemoteAgent } = await import("./remote-agents-DNuaAgU6.js");
6034
6102
  const remoteState = loadRemoteAgentState(normalizedId);
6035
6103
  if (remoteState && remoteState.vmName) {
6036
6104
  console.log(`[agents] Sending message to remote agent ${normalizedId} on ${remoteState.vmName}`);
@@ -6044,7 +6112,7 @@ async function messageAgent(agentId, message, caller = "internal") {
6044
6112
  const expectedHarness = agentState?.harness ?? "claude-code";
6045
6113
  if (panePids.length > 0 && !await hasAgentRuntimeInSubtree(panePids[0], expectedHarness)) {
6046
6114
  console.warn(`[agents] ${normalizedId} tmux session is a zombie (no ${expectedHarness} runtime) — attempting resume`);
6047
- const { resumeAgent } = await import("./agents-KaEsWZ8D.js");
6115
+ const { resumeAgent } = await import("./agents-BIggLvi_.js");
6048
6116
  const resumeResult = await resumeAgent(normalizedId, message);
6049
6117
  if (resumeResult.success) {
6050
6118
  if (resumeResult.messageDelivered !== false) await appendTellInterventionForUserSource(normalizedId, caller);
@@ -6156,7 +6224,7 @@ async function buildCompactRecoverySeed(agentId) {
6156
6224
  if (agentState?.workspace && sessionId) {
6157
6225
  const sessionFile = sessionFilePath(agentState.workspace, sessionId);
6158
6226
  try {
6159
- const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-Dbw03b-X.js"), import("./smart-compaction-DRXK5_io.js")]);
6227
+ const [{ getConversationCompactionSettings }, { generateSmartSummary }] = await Promise.all([import("./conversation-compaction-Ba5aZdrb.js"), import("./smart-compaction-Bgp_gwcA.js")]);
6160
6228
  const settings = getConversationCompactionSettings();
6161
6229
  summary = (await Effect.runPromise(generateSmartSummary({
6162
6230
  jsonlPath: sessionFile,
@@ -6167,7 +6235,7 @@ async function buildCompactRecoverySeed(agentId) {
6167
6235
  } catch (err) {
6168
6236
  logAgentLifecycleSync(normalizedId, `compact-recovery smart summary failed (${err instanceof Error ? err.message : String(err)}); trying heuristic fallback`);
6169
6237
  try {
6170
- const { generateFallbackSummary } = await import("./summary-fork-shfA2XOf.js");
6238
+ const { generateFallbackSummary } = await import("./summary-fork-DedqguZb.js");
6171
6239
  summary = await Effect.runPromise(generateFallbackSummary(sessionFile));
6172
6240
  } catch (fallbackErr) {
6173
6241
  logAgentLifecycleSync(normalizedId, `compact-recovery fallback summary failed (${fallbackErr instanceof Error ? fallbackErr.message : String(fallbackErr)}); seeding with reseed instructions only`);
@@ -7711,4 +7779,4 @@ var init_agents = __esmMin((() => {
7711
7779
  //#endregion
7712
7780
  export { warnOnBareNumericIssueIds as $, writeAgentStateJsonSync as $n, waitForPromptReady as $t, init_messaging as A, getAgentDir as An, init_bridge_token as At, createOhmypiRuntimeSync as B, markAgentRunningState as Bn, resolveStaffing as Bt, restartAgent as C, __testInternals as Cn, deliverAgentPermissionDecision as Ct, init_context_overflow as D, clearAgentTroubledSync as Dn, captureTranscriptUserRecordSnapshot as Dt, resumeAgent as E, clearAgentTroubled as En, setAgentDeliveryMethod as Et, getActivity as F, init_agent_state as Fn, init_spawn_prep as Ft, init_termination as G, recordStartupSessionExit as Gn, getAgentRuntimeBaseCommand as Gt, init_spawn as H, markAgentTroubled as Hn, resolveTier as Ht, getLatestSessionId as I, isAgentPaused as In, retrieveSpawnTimeMemoryContext as It, dropLegacyAgentStatesMissingRoleAsync as J, saveAgentStateSync as Jn, getProviderAuthMode as Jt, stopAgent as K, resetAgentFailureCount as Kn, getCodexLauncherFields as Kt, getLatestSessionIdSync as L, isAgentTroubled as Ln, transitionIssueToInProgress as Lt, init_operator_interventions as M, getAgentState as Mn, assertWorkspaceStackHealthyForSpawn as Mt, operatorInterventionEvent as N, getAgentStateFilePath as Nn, buildAgentLaunchConfig as Nt, isContextOverflowError as O, clearYieldForResumeSync as On, init_transcript_landing as Ot, appendActivity as P, getAgentStateSync as Pn, defaultRunWorkspace as Pt, listRunningAgentsSync as Q, wipeAgentStateDirs as Qn, roleAgentDefinitionPath as Qt, getSessionId as R, isRole as Rn, transitionIssueToInReview as Rt, recoverAgent as S, SESSION_EXITED_BEFORE_KICKOFF as Sn, deliverAgentMessage as St, init_resume as T, clearAgentPausedSync as Tn, deliverResumeMessageWithTranscriptConfirmation as Tt, spawnAgent as U, recordAgentFailure as Un, OHMYPI_AGENT_READY_TIMEOUT_SECONDS as Ut, init_ohmypi as V, markAgentStoppedState as Vn, init_resolve_tier as Vt, spawnRun as W, recordAgentFailureSync as Wn, describeOhmypiSpawnFailure as Wt, listAgentStates as X, setAgentPausedSync as Xn, init_runtime_command as Xt, init_queries as Y, setAgentPaused as Yn, getRoleRuntimeBaseCommand as Yt, listRunningAgents as Z, setAgentYieldedSync as Zn, injectPiConversationMemory as Zt, init_slot_reconcile as _, decideChannelsForWorkAgent as _n, getAgentRuntimeSnapshot as _r, init_config as _t, replayStandingAgent as a, init_claude_auth as an, init_pty_token as ar, init_concurrency as at, autoRecoverAgents as b, writeChannelsBridgeMcpConfig as bn, parseOhmypiSessionCostResultSync as br, saveCloisterConfigSync as bt, init_tier_supervisor as c, determineModel as cn, isQualifiedAgentId as cr, resetPatrolDispatchBudget as ct, spawnTierSupervisor as d, getProviderTmuxFlags as dn, waitForAgentIdle as dr, workResumeSlotsAvailable as dt, init_pi_fifo as en, init_persistent_logger as er, countRunningAgents as et, supervisorAgentId as f, init_provider_health as fn, waitForReadySignal as fr, getCachedMemoryVerdict as ft, init_tier_escalation as g, buildDefaultResumeContinueMessage as gn, saveAgentRuntimeState as gr, getHealthThresholdsMs as gt, decideEscalation as h, init_openai_auth as hn, init_runtime_state as hr, DEFAULT_CLOISTER_CONFIG as ht, replayCrashedStandingAgent as i, getClaudeAuthStatus as in, readAgentHarnessModelRecordSync as ir, getConcurrencyLimits as it, messageAgent as j, getAgentResumeGateBlockReason as jn, writeBridgeTokenSync as jt, isContextOverflowTail as k, decideResumeGate as kn, probeTranscriptSince as kt, loadPrdDraft as l, getProviderEnvForModel as ln, normalizeAgentId as lr, tryReserveAdvancingSlot as lt, init_tier_feed as m, getOpenAIAuthStatus as mn, getAgentRuntimeStateSync as mr, setCachedMemoryVerdict as mt, compactAtTierRunBoundary as n, init_ohmypi_fifo as nn, logDeaconEventSync as nr, describeRunningAgents as nt, shouldReplayCompactAtTierRunBoundary as o, buildCavemanExports as on, writePtyToken as or, releaseAdvancingSlot as ot, broadcastCommit as p, validateProviderHealth as pn, getAgentRuntimeState as pr, init_memory_verdict_cache as pt, stopAgentSync as q, saveAgentState as qn, getOhmypiLauncherFields as qt, contextWindowForModel as r, ohmypiFifoPaths as rn, init_agent_record_sync as rr, emergencyBrake as rt, deliverCommitForReview as s, buildSpawnEnvForModel as sn, clearReadySignal as sr, releaseSwarmSlot as st, init_agents as t, piFifoPaths as tn, logAgentLifecycleSync as tr, countRunningSwarmSlotsForIssue as tt, shouldSupervise as u, getProviderExportsForModel as un, resolveAgentTargetSync as ur, tryReserveSwarmSlot as ut, listSlotAssignments as v, decideSupervisorForWorkAgent as vn, init_agent_runtime as vr, loadCloisterConfig as vt, buildCompactRecoverySeed as w, clearAgentPaused as wn, deliverInitialPromptWithRetry as wt, detectCrashedAgents as x, GOVERNOR_SLOT_PAUSE_REASON_PREFIX as xn, shouldAutoStart as xt, reconcileSlotState as y, dismissDevChannelsDialog as yn, init_ohmypi_parser as yr, loadCloisterConfigSync as yt, saveSessionId as z, markAgentRunning as zn, init_staffing as zt };
7713
7781
 
7714
- //# sourceMappingURL=agents-D_x5BSZM.js.map
7782
+ //# sourceMappingURL=agents-DHvsjsuP.js.map
@@ -1,3 +1,3 @@
1
- import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-DVUXlRBs.js";
1
+ import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-zTvWWHG_.js";
2
2
  init_archive_planning();
3
3
  export { findWorkspacePath };
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ar as PROJECT_PRDS_ACTIVE_SUBDIR, Mr as PROJECT_PRDS_PLANNED_SUBDIR, Nr as PROJECT_PRDS_SUBDIR, Vr as init_paths, br as ARCHIVES_DIR, jr as PROJECT_PRDS_COMPLETED_SUBDIR, kr as PROJECT_DOCS_SUBDIR } from "./config-yaml-DbdN9Fuq.js";
2
+ import { Ar as PROJECT_PRDS_ACTIVE_SUBDIR, Mr as PROJECT_PRDS_PLANNED_SUBDIR, Nr as PROJECT_PRDS_SUBDIR, Vr as init_paths, br as ARCHIVES_DIR, jr as PROJECT_PRDS_COMPLETED_SUBDIR, kr as PROJECT_DOCS_SUBDIR } from "./config-yaml-DPAieL_G.js";
3
3
  import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-CE1m_daD.js";
4
- import { t as init_pan_dir } from "./pan-dir-Cn3NUnxU.js";
5
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-DoPMvws2.js";
4
+ import { t as init_pan_dir } from "./pan-dir-BgBeeZDX.js";
5
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-B5u3NxMl.js";
6
6
  import { Effect } from "effect";
7
7
  import { existsSync, readdirSync } from "fs";
8
8
  import { dirname, join } from "path";
@@ -271,4 +271,4 @@ var init_archive_planning = __esmMin((() => {
271
271
  //#endregion
272
272
  export { inferBranchFromWorkspace as a, findPrdAtStatusSync as c, findWorkspacePath as i, init_prd_locations as l, archiveWorkspaceArtifacts as n, init_archive_planning as o, findAllWorkspacePaths as r, movePrd as s, archivePlanning as t };
273
273
 
274
- //# sourceMappingURL=archive-planning-DVUXlRBs.js.map
274
+ //# sourceMappingURL=archive-planning-zTvWWHG_.js.map
@@ -1,4 +1,4 @@
1
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DbdN9Fuq.js";
1
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
2
2
  import { n as openDatabase, t as init_driver } from "./driver-D-HBOQa_.js";
3
3
  import { mkdirSync } from "node:fs";
4
4
  import { dirname, join } from "node:path";
@@ -208,4 +208,4 @@ function unshareArtifactBySlugJob(slug) {
208
208
  //#endregion
209
209
  export { getArtifactBySlugJob, listArtifactsForWorkspaceOrIssueJob, unshareArtifactBySlugJob };
210
210
 
211
- //# sourceMappingURL=artifact-index-jobs-ChUgzZah.js.map
211
+ //# sourceMappingURL=artifact-index-jobs-BrByqVkB.js.map
@@ -1,3 +1,3 @@
1
- import { an as queueBeadsAutoCommit, nn as flushAutoCommits, rn as init_auto_commit } from "./config-yaml-DbdN9Fuq.js";
1
+ import { an as queueBeadsAutoCommit, nn as flushAutoCommits, rn as init_auto_commit } from "./config-yaml-DPAieL_G.js";
2
2
  init_auto_commit();
3
3
  export { flushAutoCommits, queueBeadsAutoCommit };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-CKy2bwZL.js";
3
- import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent--xPlSfR2.js";
2
+ import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-yrPEQ_pC.js";
3
+ import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-D8pW2aU_.js";
4
4
  //#region ../../lib/backlog/backlog-auto-trigger.ts
5
5
  /**
6
6
  * PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
@@ -37,4 +37,4 @@ __esmMin((() => {
37
37
  }))();
38
38
  export { triggerDebouncedIncrementalPass };
39
39
 
40
- //# sourceMappingURL=backlog-auto-trigger-DoTEMZMl.js.map
40
+ //# sourceMappingURL=backlog-auto-trigger-COm_R96V.js.map
@@ -1,4 +1,4 @@
1
- import { t as init_beads_restore } from "./beads-restore-BqTMSQi-.js";
1
+ import { t as init_beads_restore } from "./beads-restore-CMbDSB5R.js";
2
2
  import { Effect } from "effect";
3
3
  //#region ../../lib/bd-mutex.ts
4
4
  /**
@@ -32,4 +32,4 @@ const withBdMutex = (fn) => Effect.tryPromise({
32
32
  //#endregion
33
33
  export { withBdMutexPromise as n, withBdMutex as t };
34
34
 
35
- //# sourceMappingURL=bd-mutex-CE6P_MlD.js.map
35
+ //# sourceMappingURL=bd-mutex-BItGvLQ8.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DbdN9Fuq.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
3
3
  import { Data } from "effect";
4
4
  import { dirname, isAbsolute, join, resolve } from "node:path";
5
5
  import { mkdir, open, readFile, realpath, unlink } from "node:fs/promises";
@@ -366,4 +366,4 @@ var init_bd_process_lock = __esmMin((() => {
366
366
  //#endregion
367
367
  export { withBdProcessLock as a, runBdWithRetry as i, init_bd_process_lock as n, readBdProcessLockHolder as r, BdTransientFailure as t };
368
368
 
369
- //# sourceMappingURL=bd-process-lock-Ch3WNHS9.js.map
369
+ //# sourceMappingURL=bd-process-lock-CJkoG7hW.js.map
@@ -1,2 +1,2 @@
1
- import { a as getVBriefACStatusSync, c as syncBeadStatusToVBrief, i as getVBriefACStatus, n as clearBeadsForIssue, o as resolveBdTimeout, r as createBeadsFromVBrief, s as retryBd, t as BeadsOperationError } from "./beads-BugPvtWp.js";
1
+ import { a as getVBriefACStatusSync, c as syncBeadStatusToVBrief, i as getVBriefACStatus, n as clearBeadsForIssue, o as resolveBdTimeout, r as createBeadsFromVBrief, s as retryBd, t as BeadsOperationError } from "./beads-DlZm-vrG.js";
2
2
  export { BeadsOperationError, clearBeadsForIssue, createBeadsFromVBrief, getVBriefACStatus, getVBriefACStatusSync, resolveBdTimeout, retryBd, syncBeadStatusToVBrief };
@@ -1,7 +1,7 @@
1
- import { _ as updateItemStatus, b as init_types, d as readPlanSync, m as readWorkspacePlanSync, o as init_io, v as updateSubItemStatus, x as subItemsOf } from "./io-DtAQ_2hp.js";
2
- import { a as withBdProcessLock, i as runBdWithRetry, n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-Ch3WNHS9.js";
3
- import { n as withBdMutexPromise } from "./bd-mutex-CE6P_MlD.js";
4
- import { n as init_acceptance_criteria, t as extractACFromDocument } from "./acceptance-criteria-DYffaKI9.js";
1
+ import { _ as updateItemStatus, b as init_types, d as readPlanSync, m as readWorkspacePlanSync, o as init_io, v as updateSubItemStatus, x as subItemsOf } from "./io-Wy8YpFeP.js";
2
+ import { a as withBdProcessLock, i as runBdWithRetry, n as init_bd_process_lock, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
3
+ import { n as withBdMutexPromise } from "./bd-mutex-BItGvLQ8.js";
4
+ import { n as init_acceptance_criteria, t as extractACFromDocument } from "./acceptance-criteria-l0DSvFFS.js";
5
5
  import { Data, Effect } from "effect";
6
6
  import { chmodSync, existsSync, mkdirSync, writeFileSync } from "fs";
7
7
  import { basename, join, resolve } from "path";
@@ -746,4 +746,4 @@ const getVBriefACStatus = (workspacePath) => Effect.try({
746
746
  //#endregion
747
747
  export { getVBriefACStatusSync as a, syncBeadStatusToVBrief as c, getVBriefACStatus as i, clearBeadsForIssue as n, resolveBdTimeout as o, createBeadsFromVBrief as r, retryBd as s, BeadsOperationError as t };
748
748
 
749
- //# sourceMappingURL=beads-BugPvtWp.js.map
749
+ //# sourceMappingURL=beads-DlZm-vrG.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { i as runBdWithRetry, n as init_bd_process_lock, r as readBdProcessLockHolder, t as BdTransientFailure } from "./bd-process-lock-Ch3WNHS9.js";
2
+ import { i as runBdWithRetry, n as init_bd_process_lock, r as readBdProcessLockHolder, t as BdTransientFailure } from "./bd-process-lock-CJkoG7hW.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync } from "fs";
5
5
  import { basename, dirname, join } from "path";
@@ -167,4 +167,4 @@ var init_beads_query = __esmMin((() => {
167
167
  //#endregion
168
168
  export { queryBeadsForIssue as a, queryBeadById as i, assertIssueHasBeads as n, queryReadyBeadsByIssueLabels as o, init_beads_query as r, resolveBeadsQueryRoot as s, BeadsMissingError as t };
169
169
 
170
- //# sourceMappingURL=beads-query-CtqWakL6.js.map
170
+ //# sourceMappingURL=beads-query-BrVNWoSL.js.map
@@ -57,4 +57,4 @@ var init_beads_restore = __esmMin((() => {
57
57
  //#endregion
58
58
  export { restoreTrackedBeadsExport as n, init_beads_restore as t };
59
59
 
60
- //# sourceMappingURL=beads-restore-BqTMSQi-.js.map
60
+ //# sourceMappingURL=beads-restore-CMbDSB5R.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_src } from "./src-AXK4mjue.js";
3
- import { o as getPricingSync, s as init_cost } from "./cost-DiSDkYe7.js";
2
+ import { t as init_src } from "./src-fgbU-jJ-.js";
3
+ import { o as getPricingSync, s as init_cost } from "./cost-C2CuA66z.js";
4
4
  import { existsSync, readFileSync } from "node:fs";
5
5
  //#region ../../lib/cost-parsers/codex-parser.ts
6
6
  /**
@@ -250,4 +250,4 @@ var init_behavior = __esmMin((() => {
250
250
  //#endregion
251
251
  export { parseCodexSessionSync as i, init_codex_parser as n, parseCodexSessionCostEventsSync as r, init_behavior as t };
252
252
 
253
- //# sourceMappingURL=behavior-vk1sixby.js.map
253
+ //# sourceMappingURL=behavior-By-2Wipv.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DbdN9Fuq.js";
3
- import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CCTzpcuJ.js";
4
- import { n as init_issues, t as IssueId } from "./issues-CGc8Aaxm.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DPAieL_G.js";
3
+ import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CpKlYZA9.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-ChNcfHta.js";
5
5
  import { Context, Effect, Layer, Schema } from "effect";
6
6
  import { dirname, join } from "path";
7
7
  import { readFileSync, readdirSync, rmSync, statSync } from "node:fs";
@@ -1086,4 +1086,4 @@ var init_briefing_freshness = __esmMin((() => {
1086
1086
  //#endregion
1087
1087
  export { resolveSessionContextBriefingPath as a, backfillAgentsSync as c, init_agents as d, listAgentIdsByPrefixSync as f, isTerminalIssueStage as g, getIssueStageSync as h, recordBriefingSessionStart as i, countAgentsByStatus as l, removeAgentSync as m, ensureSessionContextBriefingFile as n, AgentsResolver as o, listAllAgentsSync as p, init_briefing_freshness as r, AgentsResolverLive as s, appendFreshBriefingUpdate as t, countAgentsByStatusRole as u };
1088
1088
 
1089
- //# sourceMappingURL=briefing-freshness-B3YxHQ-L.js.map
1089
+ //# sourceMappingURL=briefing-freshness-CXhZdnB8.js.map
@@ -1,3 +1,3 @@
1
- import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-Dg6cWZz3.js";
1
+ import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-CfNpHOp4.js";
2
2
  init_checkpoint_manager();
3
3
  export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };