@overdeck/desktop 0.45.22 → 0.45.23

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 (375) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-BH7ac_1G.js → acceptance-criteria-DOA0KgXx.js} +5 -5
  3. package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BBu6DSNm.js} +6 -6
  4. package/server/{agent-gc-Dj2gncak.js → agent-gc-BV1q_2EV.js} +4 -4
  5. package/server/agent-state-Bg0lhqwj.js +3 -0
  6. package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-CnzFKSAQ.js} +1 -1
  7. package/server/{agent-state-service-DistflNn.js → agent-state-service-HoK8U4jW.js} +5 -5
  8. package/server/{agents-DXdHmRTC.js → agents-B4Bjbkfv.js} +4 -4
  9. package/server/agents-FlIgQ3ql.js +3 -0
  10. package/server/{archive-planning-BvDuWNMo.js → archive-planning-DYrYojxl.js} +30 -6
  11. package/server/{archive-planning-Cp_DC1j-.js → archive-planning-zkJb3BeM.js} +1 -1
  12. package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
  13. package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
  14. package/server/{behavior-CGj16clS.js → behavior-B_-4EKF3.js} +2 -2
  15. package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-DWdW7vUm.js} +2 -2
  16. package/server/{build-info-NU3KbXYw.js → build-info-BT096lEl.js} +3 -3
  17. package/server/{build-info-BRpqQvNd.js → build-info-DgTqZkL5.js} +1 -1
  18. package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-B7Bt29J0.js} +1 -1
  19. package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-DDqcGyu8.js} +2 -2
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-BJum14fs.js → checkpoints-C-AXLfYT.js} +2 -2
  22. package/server/{checkpoints-B5jFNi2G.js → checkpoints-CpgCjAlN.js} +1 -1
  23. package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
  24. package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-but-_qGY.js} +2 -2
  25. package/server/{claude-permissions-nSFKH78M.js → claude-permissions-H_5wHQZQ.js} +2 -2
  26. package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-BTENVmYf.js} +1 -1
  27. package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
  28. package/server/cli-BsVIHwzC.js +3 -0
  29. package/server/{cli-CbKNkFE5.js → cli-vBeXbPrq.js} +9 -9
  30. package/server/{cliproxy-Brf_5MuG.js → cliproxy-Bgb2XCqi.js} +2 -2
  31. package/server/{cliproxy-bONZDBbC.js → cliproxy-DW0V86F8.js} +1 -1
  32. package/server/{close-issue-CxReRxIc.js → close-issue-Dn_4c4G8.js} +5 -5
  33. package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
  34. package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-hANY_ehE.js} +9 -9
  35. package/server/codex-Dg7Is5yb.js +3 -0
  36. package/server/{codex-CbmztVcc.js → codex-TmSi-yTv.js} +27 -8
  37. package/server/{codex-parser-jl8AeAmB.js → codex-parser-C4gSH-IR.js} +2 -2
  38. package/server/{config-q4Gvd8dq.js → config-CCvjQf27.js} +2 -2
  39. package/server/{config-BJKocXKd.js → config-DUIhMN_T.js} +1 -1
  40. package/server/{config-DeTsoZdR.js → config-DjLOdbgT.js} +2 -2
  41. package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DvyMuOle.js} +55 -186
  42. package/server/{conflict-gate-CHU9K1vU.js → conflict-gate-BSJkNTdp.js} +1 -1
  43. package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-CmrYpa47.js} +3 -3
  44. package/server/{context-layers-DlQKkHH2.js → context-layers-B3Nt58jl.js} +2 -2
  45. package/server/{context-layers-15gDOk20.js → context-layers-ZYFcWiyc.js} +3 -3
  46. package/server/{control-settings-D_odMIaC.js → control-settings-aP1ANIlI.js} +4 -4
  47. package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CNbTLB86.js} +8 -8
  48. package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-DiG5zWQq.js} +1 -1
  49. package/server/{conversation-service-C3avRVEr.js → conversation-service-Du-MTNpJ.js} +6 -6
  50. package/server/{conversation-service-Dq33SYEj.js → conversation-service-Up7FEzIC.js} +1 -1
  51. package/server/{conversations-H9if0bCQ.js → conversations-6mPANqvL.js} +1 -1
  52. package/server/{conversations-bYpM9-kZ.js → conversations-DbOs1e9Q.js} +4 -4
  53. package/server/{cost-wH46-WsJ.js → cost-CW4WSe72.js} +3 -3
  54. package/server/{cost-Codk1pc2.js → cost-Ca0YTWDw.js} +18 -2
  55. package/server/{cost-sync-D_cre6WM.js → cost-sync-C0VdGme1.js} +3 -3
  56. package/server/{dag-CJpgf9A3.js → dag-CdOjJVDT.js} +9 -9
  57. package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-CT-IypG3.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-B8HbQdqU.js → deacon-DYSEJb48.js} +3 -3
  60. package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
  61. package/server/{deacon-CkT_kznS.js → deacon-pRnyD5w9.js} +266 -577
  62. package/server/deacon-swarm-9jRLS5Ke.js +2 -0
  63. package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-DftYRDo8.js} +17 -17
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-Bjsho_ha.js} +136 -19
  66. package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-CM6W1-c6.js} +1 -1
  67. package/server/{deploy-window-wDf4UgHt.js → deploy-window-DeP_OIRk.js} +77 -10
  68. package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-BpMoHlkR.js} +2 -2
  69. package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
  70. package/server/dist-Bd3vn0Hw.js +3 -0
  71. package/server/{dist-D-Ed5yVw.js → dist-DyRx4cI7.js} +1 -1
  72. package/server/{docker-BCZ89M9X.js → docker-BK7HIcBj.js} +2 -2
  73. package/server/{dod-DbJLYcHv.js → dod-BrSfUHm0.js} +1 -1
  74. package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
  75. package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DseivYEy.js} +4 -4
  76. package/server/{esm-shims-dTeNdq7X.js → esm-shims-CbI3BVkl.js} +1 -1
  77. package/server/{event-store-CpBGsO6_.js → event-store-Cr5PQwFC.js} +1 -1
  78. package/server/{event-store-TnWdydfB.js → event-store-tdiY5eDZ.js} +3 -3
  79. package/server/{events-DSUdR-04.js → events-CC1dgUpx.js} +3 -3
  80. package/server/{events-Dsuv6qyB.js → events-CvvGK6LT.js} +1 -1
  81. package/server/{factory-BMrK4TrE.js → factory-CynerjXO.js} +50 -13
  82. package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-B0pmAz0a.js} +4 -4
  83. package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-_wUBRD3J.js} +2 -2
  84. package/server/{features-Bc-Bmiye.js → features-Dhxz-wLc.js} +2 -2
  85. package/server/{feedback-target-DZ-iAnAa.js → feedback-target-CPS15Vte.js} +7 -7
  86. package/server/{feedback-target-DS6NUuSs.js → feedback-target-iygZwmMc.js} +1 -1
  87. package/server/{feedback-writer-BXP6g75N.js → feedback-writer-C9b6ccN1.js} +6 -5
  88. package/server/{feedback-writer-Bx5z11mF.js → feedback-writer-qmiMbqTZ.js} +1 -1
  89. package/server/{flywheel-Ctr5uuvo.js → flywheel-DMCUzDWg.js} +1 -1
  90. package/server/{flywheel-COR0mbRI.js → flywheel-DSSpWmqF.js} +13 -13
  91. package/server/{flywheel-6WHU4O7A.js → flywheel-DcBkQvgE.js} +14 -14
  92. package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
  93. package/server/{flywheel-merge-order-CTgHeg-W.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
  94. package/server/forge-B-ZWyTRm.js +2 -0
  95. package/server/{forge-B1S_KZv4.js → forge-Ch9gCFod.js} +2 -2
  96. package/server/{from-DpwQ-sc3.js → from-CJ_aH5jD.js} +1 -1
  97. package/server/{fts-db-DmAcuCkV.js → fts-db-CKgg0VKg.js} +2 -2
  98. package/server/{fts-operations-7d_RkmWp.js → fts-operations-BrL_VTRr.js} +2 -2
  99. package/server/{git-utils-Cc3FHDKd.js → git-utils-BVa07a4a.js} +2 -2
  100. package/server/{git-utils-CsKGnzFA.js → git-utils-Dry_Ka_D.js} +1 -1
  101. package/server/{github-app-CDPtGF7J.js → github-app-CMBdIFBQ.js} +11 -3
  102. package/server/{github-app-CU14oYzP.js → github-app-CPfoFAdV.js} +1 -1
  103. package/server/{github-client-XjTJbBm7.js → github-client--XVlDpwM.js} +2 -2
  104. package/server/{github-client-CwBZZ3t7.js → github-client-B4QsdE-X.js} +1 -1
  105. package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-BRbDW-qk.js} +2 -2
  106. package/server/{harness-binary-B2CTcD84.js → harness-binary-CVio2m-u.js} +1 -1
  107. package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-qHJBhy3Z.js} +4 -4
  108. package/server/{health-events-DREeevle.js → health-events-C9B8y1Hm.js} +2 -2
  109. package/server/{health-events-C1whmd58.js → health-events-CpfvuVmm.js} +1 -1
  110. package/server/{hooks-yxRsjk-z.js → hooks-DUXw8A0-.js} +2 -2
  111. package/server/{hooks-B-HItBiS.js → hooks-ltecuFqZ.js} +1 -1
  112. package/server/{hume-Dz_OymXE.js → hume-BEq0bUDg.js} +2 -2
  113. package/server/hume-B_DbflNM.js +3 -0
  114. package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
  115. package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
  116. package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-aQ1IxeI3.js} +2 -2
  117. package/server/{infra-D4iNWMA5.js → infra-CzaSOgul.js} +4 -4
  118. package/server/{injection-D7T75Pye.js → injection-DZ0PfYa4.js} +7 -7
  119. package/server/{injection-BVNa4MQW.js → injection-oNZeoDhL.js} +1 -1
  120. package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-DJKLWcVT.js} +12 -12
  121. package/server/inspect-agent-ch-F-5Ci.js +2 -0
  122. package/server/{internal-token-CXsfxslp.js → internal-token-Bb4XeV2x.js} +2 -2
  123. package/server/{internal-token-C9DdEOKY.js → internal-token-DXdfprGr.js} +1 -1
  124. package/server/{io-DQR9PMgS.js → io-B3_AHDfr.js} +160 -184
  125. package/server/{issue-closed-DtmJM0D0.js → issue-closed-zhdvQicO.js} +7 -7
  126. package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-CreaCkjW.js} +22 -22
  127. package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
  128. package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-B5ushCvE.js} +8 -8
  129. package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-DabvBWUp.js} +1 -1
  130. package/server/{issues-pDW9VUNz.js → issues-B6ToV6x1.js} +2 -2
  131. package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-Dhflo1SH.js} +3 -3
  132. package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-BKPJm4Hv.js} +3 -3
  133. package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-DdWbHEBu.js} +4 -4
  134. package/server/{launcher-generator-COgR2By1.js → launcher-generator-CHVm7bGT.js} +10 -9
  135. package/server/{layers-Cp1To4L8.js → layers-DzxSTGNA.js} +2 -2
  136. package/server/lifecycle-DfeyBDwA.js +121 -0
  137. package/server/lifecycle-io-Bsnr2K4F.js +3 -0
  138. package/server/{lifecycle-io-taIb0PoH.js → lifecycle-io-D8iNBcux.js} +37 -37
  139. package/server/{lifecycle-CtPDcZ9u.js → lifecycle-sycO16hj.js} +6 -6
  140. package/server/{linear-client-DsFkIxee.js → linear-client-D4zqMnX7.js} +2 -2
  141. package/server/{linear-client-YwZMDIwQ.js → linear-client-DqhDQO9k.js} +1 -1
  142. package/server/memory-fts-worker.js +1 -1
  143. package/server/{merge-C1t-bspg.js → merge-C_ZEhbqI.js} +3 -3
  144. package/server/{merge-BwsyNRJV.js → merge-DK23JEdS.js} +1 -1
  145. package/server/{merge-agent-B-SnXOoc.js → merge-agent-BQM3a8z5.js} +1 -1
  146. package/server/{merge-agent-DDiIjzk-.js → merge-agent-XrB80vfT.js} +28 -28
  147. package/server/{merge-batch-Byt-QnEl.js → merge-batch-Bwoyr8Je.js} +1 -1
  148. package/server/{merge-blockers-BYjeXrVN.js → merge-blockers-BsFjGrQ8.js} +2 -2
  149. package/server/merge-ops-DlB1IM0Y.js +2 -0
  150. package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-C1KIVr0s.js} +2 -2
  151. package/server/{merge-set-DiISXcC-.js → merge-set-DLz0MkGT.js} +3 -3
  152. package/server/{merge-set-6LEglm6o.js → merge-set-DnSYdBEp.js} +1 -1
  153. package/server/{merge-sync-Do8_q32h.js → merge-sync-DZ9dojJn.js} +2 -2
  154. package/server/{merge-sync-B95_4in_.js → merge-sync-SSv3E-pl.js} +1 -1
  155. package/server/{merge-train-CKana8EH.js → merge-train-DxDfBTjr.js} +3 -3
  156. package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-CyYQUksx.js} +4 -4
  157. package/server/{merge-verification-CqnUzGEK.js → merge-verification-CSizH3HY.js} +4 -4
  158. package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-Dt8YPN5S.js} +2 -2
  159. package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Cx3K0hHi.js} +11 -8
  160. package/server/node_modules/.package-lock.json +1 -1
  161. package/server/{orphan-proposed-reconciler-DSvsJ5M7.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
  162. package/server/{orphan-proposed-reconciler-xklgvNA7.js → orphan-proposed-reconciler-neK8dHQk.js} +15 -13
  163. package/server/package-lock.json +2 -2
  164. package/server/package.json +1 -1
  165. package/server/{pan-dir-DOcf6ug3.js → pan-dir-DeVUgwA7.js} +78 -58
  166. package/server/{paths-DooHpt9p.js → paths-_zEts6wc.js} +2 -2
  167. package/server/{pickup-CaskQ7j6.js → pickup-Dd0Znxxy.js} +1 -1
  168. package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-0HaEGDlH.js} +186 -67
  169. package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-6iCJplFZ.js} +1 -1
  170. package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-D0ykk59O.js} +2 -2
  171. package/server/{project-pipelines-CtNG_rvs.js → project-pipelines-2sK1apsO.js} +2 -2
  172. package/server/projects-9SkRpES9.js +3 -0
  173. package/server/{prompts-EvhMeeHG.js → prompts-Dp4Tpk39.js} +2 -2
  174. package/server/{providers-DNSQqy2V.js → providers-DKkBXhxU.js} +1 -1
  175. package/server/{providers-BDDPULlp.js → providers-DV7ec8l7.js} +7 -7
  176. package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
  177. package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
  178. package/server/public/assets/{dist-Bio7THQU.js → dist-BWR4qFiV.js} +1 -1
  179. package/server/public/assets/{dist-DukGS2YZ.js → dist-DEmlBBNQ.js} +3 -3
  180. package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
  181. package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
  182. package/server/public/assets/index-CUr1xv8w.css +1 -0
  183. package/server/public/assets/{index-Bwejq-5s.js → index-CsSuZQBI.js} +145 -144
  184. package/server/public/assets/{linear-qUWmMZ-c.js → linear-C9zFQpkX.js} +1 -1
  185. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
  186. package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
  187. package/server/public/assets/{prod-C8VtLuWC.js → prod-B1jCQihw.js} +4 -4
  188. package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
  189. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
  190. package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
  191. package/server/public/index.html +2 -2
  192. package/server/{pull-requests-By_BteaL.js → pull-requests--Ib2jTgy.js} +1 -1
  193. package/server/{pull-requests-8z2N1UOV.js → pull-requests-CXIhdCYD.js} +13 -11
  194. package/server/{queries-ZABd5aXP.js → queries-6d7Cdtm7.js} +693 -104
  195. package/server/{rally-i_goYmiA.js → rally-B708-nZn.js} +3 -3
  196. package/server/{rally-api-DqKqIMNR.js → rally-api-nY0ZANw3.js} +2 -2
  197. package/server/{rally-api-xHazRk0d.js → rally-api-yjQ0TfHd.js} +1 -1
  198. package/server/{rally-client-COYz1vYR.js → rally-client-B1EJhfV0.js} +4 -4
  199. package/server/{rally-client-CGWEHaPd.js → rally-client-CULK2XAY.js} +1 -1
  200. package/server/rally-njs_mJrt.js +3 -0
  201. package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-MWnqdLCJ.js} +1 -1
  202. package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-N3BTkmX_.js} +1 -1
  203. package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-Dp4eLkt4.js} +6 -6
  204. package/server/{rebuild-stack-CKjJAI8L.js → rebuild-stack-kA7XngID.js} +1 -1
  205. package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-uWbZfjms.js} +6 -6
  206. package/server/record-t6V-3Dcj.js +3 -0
  207. package/server/{record-update-D3N6WMFR.js → record-update-DACtKh6_.js} +1 -1
  208. package/server/record-update-Dq0t2uBG.js +310 -0
  209. package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BJtIQuag.js} +2 -2
  210. package/server/{release-engine-DMINVN8S.js → release-engine-DZpmGGzb.js} +5 -5
  211. package/server/{release-set-DeUSOEHy.js → release-set-hnXd_kga.js} +3 -3
  212. package/server/{remote-Dr5kGYSZ.js → remote-4tiENDaI.js} +3 -3
  213. package/server/{remote-b-c5bOce.js → remote-Br-ZWVIP.js} +3 -3
  214. package/server/{remote-agents-D6O_zETW.js → remote-agents-CRCg1L4H.js} +1 -1
  215. package/server/{remote-agents-Ct_WOyke.js → remote-agents-nmty1mLu.js} +6 -6
  216. package/server/{remote-completion-Dca3hAaa.js → remote-completion-BbWNd10K.js} +12 -12
  217. package/server/resume-CcKqnTvE.js +3 -0
  218. package/server/{review-agent-CCum8sGe.js → review-agent-DJRO8EG8.js} +1 -1
  219. package/server/{review-agent-CThvgK2r.js → review-agent-sKkE1FEL.js} +22 -22
  220. package/server/{review-artifacts-CXywD0F2.js → review-artifacts-BLbSC4ke.js} +5 -5
  221. package/server/{review-context-OYfKUprb.js → review-context-BgX3lcCx.js} +8 -8
  222. package/server/{review-status-DFRjDFef.js → review-status-A7quS5KJ.js} +54 -21
  223. package/server/review-status-C6n6-9f_.js +3 -0
  224. package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-tbOn_A_u.js} +3 -3
  225. package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BhSQ0d0l.js} +2 -2
  226. package/server/{review-status-sync-D60PJWNL.js → review-status-sync-To3-iS-N.js} +1 -1
  227. package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
  228. package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CTRNtzXO.js} +6 -6
  229. package/server/{rollup-CZ02qgxk.js → rollup-B53Y81xK.js} +1 -1
  230. package/server/{rollup-SyuF09e4.js → rollup-WA0VD-Rr.js} +8 -8
  231. package/server/{scanner-Br0Z5S6R.js → scanner-D2743cp8.js} +11 -7
  232. package/server/{sequence-io-fxU0DlwW.js → sequence-io-Cg0zYj_E.js} +4 -4
  233. package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-BGY8gjg-.js} +5 -5
  234. package/server/server.js +941 -752
  235. package/server/{service-Bagb90KZ.js → service-DCpB_SGd.js} +53 -53
  236. package/server/{session-fork-BqQxd-V6.js → session-fork-BQ8_6H32.js} +2 -2
  237. package/server/{session-history-XdS0JKp3.js → session-history-CVZDpS3c.js} +4 -4
  238. package/server/{settings-BNbocWOg.js → settings-BZ5m1UCl.js} +3 -3
  239. package/server/settings-D0OSwos5.js +2 -0
  240. package/server/{settings-uLc6DEYI.js → settings-ylxwqwQG.js} +2 -2
  241. package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BlxG6Xye.js} +2 -2
  242. package/server/{shadow-state-CbvsN3qG.js → shadow-state-C2_epgx2.js} +1 -1
  243. package/server/{shadow-state-C_NkP-sa.js → shadow-state-Dh-HzF2J.js} +2 -2
  244. package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-4bvjn9b3.js} +2 -2
  245. package/server/{ship-log-__QtAFXG.js → ship-log-ClSMIzZX.js} +1 -1
  246. package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CHIxLr_d.js} +1 -1
  247. package/server/{smart-compaction-CLZOWin1.js → smart-compaction-r4pHQBIr.js} +7 -7
  248. package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DWAorh2B.js} +22 -21
  249. package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-KC_UduxD.js} +1 -1
  250. package/server/{specialist-completion-CqmduO92.js → specialist-completion-BXhav38U.js} +1 -1
  251. package/server/{specialist-context-CJ-QjFR-.js → specialist-context-DtrYvGJ-.js} +5 -5
  252. package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
  253. package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-DJ3RzKxW.js} +3 -3
  254. package/server/{specialists-D0gGXMZx.js → specialists-D5fRZXmN.js} +1 -1
  255. package/server/specialists-DVj0hvaL.js +3 -0
  256. package/server/{specialists-CwZHb5cb.js → specialists-DyFeedjn.js} +66 -76
  257. package/server/{specialists-Bg9v4z3F.js → specialists-JVO00bs7.js} +340 -214
  258. package/server/specs-nN45DG2X.js +3 -0
  259. package/server/{src-BMMoA_ba.js → src-CG9mCkP6.js} +6 -6
  260. package/server/{src-Bqdtd6po.js → src-CMTQGyCK.js} +3 -3
  261. package/server/{src-k039WVYY.js → src-U7_kTPEE.js} +2 -1
  262. package/server/{stack-health-Bd06frFn.js → stack-health-Df0YEZKa.js} +1 -1
  263. package/server/{stack-health-C-ifC7b0.js → stack-health-puygdaMd.js} +2 -2
  264. package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-BbFwCTb0.js} +4 -4
  265. package/server/{staleness-BID1BKdr.js → staleness-Bpy41ngS.js} +15 -3
  266. package/server/{staleness-_Tr-GwdA.js → staleness-Cbl_w4Bw.js} +1 -1
  267. package/server/{state-home-CONQvZR0.js → state-home-CIGjwNfJ.js} +96 -44
  268. package/server/{state-migrate-BeBW0KXA.js → state-migrate-Dkzaxvny.js} +12 -3
  269. package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-CzEov_fq.js} +26 -22
  270. package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-sY_MHHgQ.js} +1 -1
  271. package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
  272. package/server/{summary-fork-agEMsPSo.js → summary-fork-D8bXjCr7.js} +2 -2
  273. package/server/{summary-fork-bX6ax6X7.js → summary-fork-DHhJIsAL.js} +8 -8
  274. package/server/{supervisor-Ctt4eRYz.js → supervisor-BO-Zk_h-.js} +3 -3
  275. package/server/supervisor-BPy-o1A8.js +2 -0
  276. package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-CQ_fwUWF.js} +4 -4
  277. package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-Bza0ffAh.js} +2 -2
  278. package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-CEgauF4U.js} +15 -15
  279. package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-DXDt0Xa-.js} +7 -7
  280. package/server/{test-verdict-Cp5tljlJ.js → test-verdict-CmUBK5cT.js} +1 -1
  281. package/server/{test-verdict-D_-sXIz_.js → test-verdict-DFjjIHR5.js} +1 -1
  282. package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-BDtLOIlO.js} +2 -2
  283. package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-DL566HbH.js} +1 -1
  284. package/server/tmux-DoThH6aj.js +3 -0
  285. package/server/{tmux-L5LgvGLp.js → tmux-ftABRAmc.js} +76 -44
  286. package/server/{token-BkQLy4yS.js → token-CsOhvw42.js} +2 -2
  287. package/server/{token-util-DI8sGlmF.js → token-util-CTmczIfW.js} +1 -1
  288. package/server/token-util-DrHg8abn.js +3 -0
  289. package/server/{tracker-config-DdT-nUAM.js → tracker-config-B4itFzDo.js} +2 -2
  290. package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-BePq_oj-.js} +1 -1
  291. package/server/{tracker-utils-CawsPSS2.js → tracker-utils-tnxxqROg.js} +2 -2
  292. package/server/{traefik-connect-C6mJckNs.js → traefik-connect-m73vGebA.js} +1 -1
  293. package/server/{tunnel-IdK1iTHx.js → tunnel-B2vxjx_b.js} +3 -3
  294. package/server/{tunnel-BIFl98rc.js → tunnel-Cgj-IGIl.js} +1 -1
  295. package/server/{types-7-GnJn0t.js → types-BBNjPcqU.js} +1 -1
  296. package/server/{uat-train-j0cPeMSj.js → uat-train-CuEn0t9M.js} +28 -28
  297. package/server/{uat-train-0Ujk8GCv.js → uat-train-cKfM-_WW.js} +1 -1
  298. package/server/{validation-CabEISJT.js → validation-B5JxoPUS.js} +259 -9
  299. package/server/{validation-DcAgXTQp.js → validation-CIi6pnI2.js} +1 -1
  300. package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-BcnIbigL.js} +1 -1
  301. package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-C-lIHfUa.js} +1 -1
  302. package/server/{verification-runner-FiuAZ-H2.js → verification-runner-Br0S_Ous.js} +102 -37
  303. package/server/{verification-runner-DlJezzef.js → verification-runner-CDj4lD4t.js} +1 -1
  304. package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DKpNNW5i.js} +1 -1
  305. package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Yb2bd3Fq.js} +13 -13
  306. package/server/{workflows-BZNNYkGC.js → workflows-C9WmILql.js} +39 -77
  307. package/server/workflows-D90rMOya.js +2 -0
  308. package/server/{workspace-D9ppycdg.js → workspace-BVl4rihN.js} +3 -3
  309. package/server/{workspace-3IC-UkAi.js → workspace-DuUdndHe.js} +1 -1
  310. package/server/{workspace-config-Bigl_-Lk.js → workspace-config-cEGcO6UT.js} +1 -1
  311. package/server/{workspace-manager-B1WOfKvB.js → workspace-manager-ZTdJAy9M.js} +1 -1
  312. package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-hLUv3ADC.js} +22 -15
  313. package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-CskwzzhL.js} +2 -2
  314. package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-DNpMixRq.js} +1 -1
  315. package/server/{workspaces-CFPcL0vl.js → workspaces-hWvy9eKs.js} +275 -109
  316. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  317. package/sync-sources/agents/pan-merge-agent.md +1 -1
  318. package/sync-sources/agents/pan-planning-agent.md +4 -4
  319. package/sync-sources/agents/pan-work-agent.md +1 -1
  320. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  321. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  322. package/sync-sources/hooks/record-cost-event.js +363 -71
  323. package/sync-sources/hooks/session-start-hook +7 -0
  324. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  325. package/sync-sources/rules/per-bead-durability.md +1 -1
  326. package/sync-sources/rules/prd-authoring.md +1 -1
  327. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  328. package/sync-sources/skills/pan/SKILL.md +2 -2
  329. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  330. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  331. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  332. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  333. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  334. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  335. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  336. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  337. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  338. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  339. package/sync-sources/skills/pan-start/SKILL.md +3 -3
  340. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  341. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  342. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  343. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  344. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  345. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  346. package/sync-sources/skills/plan/SKILL.md +11 -11
  347. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  348. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  349. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  350. package/server/agent-state-Co5Sy2Fw.js +0 -3
  351. package/server/agents-DyHKlq1I.js +0 -3
  352. package/server/cli-BRORS9qY.js +0 -3
  353. package/server/codex-DNyiQDKW.js +0 -3
  354. package/server/deacon-swarm-CV54eNmU.js +0 -2
  355. package/server/dist-j64RzSrQ.js +0 -3
  356. package/server/forge-B0_opi-V.js +0 -2
  357. package/server/hume-BmhvfVbV.js +0 -3
  358. package/server/inspect-agent-Dq0z1k3H.js +0 -2
  359. package/server/lifecycle-io-DmY2qwCn.js +0 -3
  360. package/server/merge-ops-DwWCkSgo.js +0 -2
  361. package/server/projects-BKkwpH6q.js +0 -3
  362. package/server/public/assets/index-Bdc4V9ba.css +0 -1
  363. package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
  364. package/server/rally-OSJXdiHK.js +0 -3
  365. package/server/record-rwK-nKv_.js +0 -3
  366. package/server/record-update-Crz74r-6.js +0 -168
  367. package/server/resume-wZZsWtzz.js +0 -3
  368. package/server/review-status-Bnh-rdkY.js +0 -3
  369. package/server/settings-BlUsVaUc.js +0 -2
  370. package/server/specialists-Dqe6_HE5.js +0 -3
  371. package/server/specs-BhOKBzqk.js +0 -3
  372. package/server/supervisor-COVHrBTg.js +0 -2
  373. package/server/tmux-BAvtac_u.js +0 -3
  374. package/server/token-util-BArZLN6w.js +0 -3
  375. package/server/workflows-C4mR0Reb.js +0 -2
@@ -1,3 +1,3 @@
1
- import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-CThvgK2r.js";
1
+ import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-sKkE1FEL.js";
2
2
  init_review_agent();
3
3
  export { PARENT_REVIEW_TIMEOUT_MS, buildConvoyPrompt, handleReviewDiscoveryReady, isExtendedReviewEnabled, isReviewSessionForIssue, isReviewStaleSync, killAllReviewSessions, killAllReviewerSessions, purgeReviewAgentsForIssue, resolveReReviewScope, resolveReviewMode, reviewResumeDecision, spawnReviewRoleForIssue, spawnReviewSubRoleForIssue };
@@ -1,15 +1,15 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bt as resolveProjectForIssue, Mr as AGENTS_DIR, Nt as init_record, Rt as readIssueRecordSync, ci as sessionFilePath, f as loadConfigSync, ii as init_paths, oi as packageRoot, t as init_config_yaml, tt as resolveModel } from "./config-yaml-ig8Nwtiw.js";
2
+ import { Ft as resolveProjectForIssue, Gr as sessionFilePath, Nt as readIssueRecordSync, Ot as init_record, Ur as packageRoot, Vr as init_paths, f as loadConfigSync, hr as AGENTS_DIR, t as init_config_yaml, tt as resolveModel } from "./config-yaml-DvyMuOle.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
4
- import { D as killSession, E as isPaneDead, j as listSessionNames, w as init_tmux } from "./tmux-L5LgvGLp.js";
5
- import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-DFRjDFef.js";
6
- import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-DXdHmRTC.js";
7
- import { Ft as providerDefaultHarnessSync, Mn as init_agent_state, Pt as init_staffing, jn as getAgentStateSync, s as init_agents$1 } from "./queries-ZABd5aXP.js";
4
+ import { D as killSession, E as isPaneDead, M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
5
+ import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
6
+ import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-B4Bjbkfv.js";
7
+ import { Gn as init_agent_state, Jt as providerDefaultHarnessSync, Wn as getAgentStateSync, b as init_agents$1, qt as init_staffing } from "./queries-6d7Cdtm7.js";
8
8
  import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
9
- import { a as init_review_convoy_liveness, c as init_review_monitor, i as evaluateReviewConvoyLiveness, n as createPromiseCoalescer, r as init_in_flight_guard, s as REVIEW_SUB_ROLES } from "./in-flight-guard-BoWm66Kh.js";
10
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-CqnUzGEK.js";
11
- import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-OYfKUprb.js";
12
- import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-CFqPVxEg.js";
9
+ import { a as init_review_convoy_liveness, c as init_review_monitor, i as evaluateReviewConvoyLiveness, n as createPromiseCoalescer, r as init_in_flight_guard, s as REVIEW_SUB_ROLES } from "./in-flight-guard-aQ1IxeI3.js";
10
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-CSizH3HY.js";
11
+ import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-BgX3lcCx.js";
12
+ import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-CmrYpa47.js";
13
13
  import { Effect } from "effect";
14
14
  import { existsSync } from "fs";
15
15
  import { dirname, join } from "path";
@@ -151,7 +151,7 @@ async function buildConvoyPromptPromise(opts) {
151
151
  }
152
152
  async function spawnReviewSubRoleForIssuePromise(opts) {
153
153
  try {
154
- const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-DyHKlq1I.js");
154
+ const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent, stopAgent } = await import("./agents-FlIgQ3ql.js");
155
155
  const cfg = loadConfigSync().config;
156
156
  const outputPath = opts.outputPath ?? reviewerAgentOutputPath(opts.workspace, opts.runId, opts.subRole);
157
157
  const synthesisAgentId = opts.synthesisAgentId ?? `agent-${opts.issueId.toLowerCase()}-review`;
@@ -239,7 +239,7 @@ async function spawnReviewSubRoleForIssuePromise(opts) {
239
239
  if (opts.forkedSessionId) run.reviewForkedFromParent = true;
240
240
  await Effect.runPromise(saveAgentState(run));
241
241
  try {
242
- const { notifyPipelineSync } = await import("./pipeline-notifier-CZsrU_nj.js");
242
+ const { notifyPipelineSync } = await import("./pipeline-notifier-6iCJplFZ.js");
243
243
  notifyPipelineSync({
244
244
  type: "reviewer_started",
245
245
  issueId: opts.issueId,
@@ -270,7 +270,7 @@ async function computeConvoyScope(issueId, workspace) {
270
270
  let carried = [];
271
271
  let scope = "changed";
272
272
  try {
273
- const { getReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
273
+ const { getReviewStatusSync } = await import("./review-status-C6n6-9f_.js");
274
274
  scope = resolveReReviewScope(issueId);
275
275
  const priorVerdicts = getReviewStatusSync(issueId)?.reviewerVerdicts;
276
276
  let changedFiles;
@@ -313,13 +313,13 @@ async function computeConvoyScope(issueId, workspace) {
313
313
  */
314
314
  async function forkParentSessionForReviewer(parentAgentId, workspace) {
315
315
  try {
316
- const { getLatestSessionIdSync } = await import("./agents-DyHKlq1I.js");
316
+ const { getLatestSessionIdSync } = await import("./agents-FlIgQ3ql.js");
317
317
  const parentSessionId = getLatestSessionIdSync(parentAgentId);
318
318
  if (!parentSessionId) return null;
319
319
  const src = sessionFilePath(workspace, parentSessionId);
320
320
  const { existsSync } = await import("fs");
321
321
  if (!existsSync(src)) return null;
322
- const { reserveForkSession, copySessionForFork } = await import("./session-fork-BqQxd-V6.js");
322
+ const { reserveForkSession, copySessionForFork } = await import("./session-fork-BQ8_6H32.js");
323
323
  const reserved = await reserveForkSession(workspace);
324
324
  await copySessionForFork(src, reserved.sessionFile, { fullHistory: true });
325
325
  return reserved.sessionId;
@@ -357,13 +357,13 @@ async function launchConvoyReviewersPromise(params) {
357
357
  }
358
358
  }
359
359
  const cfg = loadConfigSync().config;
360
- const { getAgentStateSync } = await import("./agents-DyHKlq1I.js");
360
+ const { getAgentStateSync } = await import("./agents-FlIgQ3ql.js");
361
361
  const parentState = getAgentStateSync(params.synthesisAgentId);
362
362
  const reviewerResults = await Promise.all(params.inScope.map(async (subRole) => {
363
363
  const outputPath = reviewerAgentOutputPath(params.workspace, params.runId, subRole);
364
364
  let forkedSessionId;
365
365
  if (params.forkFromParent && parentState?.harness === "claude-code" && !params.harness) try {
366
- const { getLatestSessionIdSync } = await import("./agents-DyHKlq1I.js");
366
+ const { getLatestSessionIdSync } = await import("./agents-FlIgQ3ql.js");
367
367
  const reviewerModel = params.model ?? resolveModel("review", subRole, cfg);
368
368
  if (!!!getLatestSessionIdSync(reviewerAgentId(params.issueId, subRole)) && reviewerModel === parentState.model) {
369
369
  forkedSessionId = await forkParentSessionForReviewer(params.synthesisAgentId, params.workspace) ?? void 0;
@@ -384,7 +384,7 @@ async function launchConvoyReviewersPromise(params) {
384
384
  allowHost: params.allowHost ?? false
385
385
  }));
386
386
  if (!result.success) try {
387
- const { messageAgent } = await import("./agents-DyHKlq1I.js");
387
+ const { messageAgent } = await import("./agents-FlIgQ3ql.js");
388
388
  await messageAgent(params.synthesisAgentId, `REVIEWER_FAILED ${subRole} ${result.error ?? result.message}`);
389
389
  } catch (signalErr) {
390
390
  console.warn(`[review-agent] Failed to signal ${subRole} spawn failure to ${params.synthesisAgentId}:`, signalErr);
@@ -411,7 +411,7 @@ async function launchConvoyReviewersPromise(params) {
411
411
  async function handleReviewDiscoveryReady(issueId, opts = {}) {
412
412
  const normalized = issueId.toUpperCase();
413
413
  const parentId = `agent-${normalized.toLowerCase()}-review`;
414
- const { saveAgentState, getAgentStateSync } = await import("./agents-DyHKlq1I.js");
414
+ const { saveAgentState, getAgentStateSync } = await import("./agents-FlIgQ3ql.js");
415
415
  const parent = getAgentStateSync(parentId);
416
416
  if (!parent) return {
417
417
  success: false,
@@ -826,7 +826,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
826
826
  };
827
827
  }
828
828
  try {
829
- const { archiveFeedbackFiles } = await import("./feedback-writer-Bx5z11mF.js");
829
+ const { archiveFeedbackFiles } = await import("./feedback-writer-qmiMbqTZ.js");
830
830
  await Effect.runPromise(archiveFeedbackFiles(opts.workspace));
831
831
  } catch {}
832
832
  try {
@@ -843,7 +843,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
843
843
  };
844
844
  }
845
845
  try {
846
- const { notifyPipelineSync } = await import("./pipeline-notifier-CZsrU_nj.js");
846
+ const { notifyPipelineSync } = await import("./pipeline-notifier-6iCJplFZ.js");
847
847
  notifyPipelineSync({
848
848
  type: "task_queued",
849
849
  specialist: "review-agent",
@@ -851,7 +851,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
851
851
  });
852
852
  } catch {}
853
853
  try {
854
- const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-DyHKlq1I.js");
854
+ const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-FlIgQ3ql.js");
855
855
  const workAgentState = await Effect.runPromise(getAgentState(`agent-${opts.issueId.toLowerCase()}`));
856
856
  const allowHost = opts.allowHost === true || workAgentState?.hostOverride === true;
857
857
  let headSha = "unknown";
@@ -1225,4 +1225,4 @@ var init_review_agent = __esmMin((() => {
1225
1225
  //#endregion
1226
1226
  export { isReviewStaleSync as a, purgeReviewAgentsForIssue as c, buildConvoyPrompt as d, handleReviewDiscoveryReady as f, reviewResumeDecision as h, isReviewSessionForIssue as i, resolveReviewMode as l, spawnReviewSubRoleForIssue as m, init_review_agent as n, killAllReviewSessions as o, resolveReReviewScope as p, isExtendedReviewEnabled as r, killAllReviewerSessions as s, PARENT_REVIEW_TIMEOUT_MS as t, spawnReviewRoleForIssue as u };
1227
1227
 
1228
- //# sourceMappingURL=review-agent-CThvgK2r.js.map
1228
+ //# sourceMappingURL=review-agent-sKkE1FEL.js.map
@@ -1,8 +1,8 @@
1
- import { fr as init_issue_id, ur as extractNumberSync } from "./config-yaml-ig8Nwtiw.js";
1
+ import { Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
3
- import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-DiISXcC-.js";
4
- import { i as findPlanSync, o as init_io } from "./io-DQR9PMgS.js";
5
- import { n as getForgeAdapter } from "./forge-B1S_KZv4.js";
3
+ import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-DLz0MkGT.js";
4
+ import { i as findPlanSync, o as init_io } from "./io-B3_AHDfr.js";
5
+ import { n as getForgeAdapter } from "./forge-Ch9gCFod.js";
6
6
  import { join } from "node:path";
7
7
  import { Data, Effect } from "effect";
8
8
  import { existsSync } from "node:fs";
@@ -153,4 +153,4 @@ const createReviewArtifactsForIssue = (issueId, workspacePath) => Effect.tryProm
153
153
  //#endregion
154
154
  export { createReviewArtifactsForIssue };
155
155
 
156
- //# sourceMappingURL=review-artifacts-CXywD0F2.js.map
156
+ //# sourceMappingURL=review-artifacts-BLbSC4ke.js.map
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { jr as init_errors, xr as FsError } from "./config-yaml-ig8Nwtiw.js";
2
+ import { ir as FsError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
3
  import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
4
- import { i as findPlanSync, o as init_io, u as readPlan } from "./io-DQR9PMgS.js";
5
- import { d as getDevrootPathSync, f as init_config } from "./config-q4Gvd8dq.js";
6
- import { a as init_lifecycle_io, i as findVBriefByIssueSync } from "./lifecycle-io-taIb0PoH.js";
7
- import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CpUZl5aE.js";
8
- import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-CFGeVhqv.js";
4
+ import { i as findPlanSync, o as init_io, u as readPlan } from "./io-B3_AHDfr.js";
5
+ import { d as getDevrootPathSync, f as init_config } from "./config-CCvjQf27.js";
6
+ import { a as init_lifecycle_io, i as findXBriefByIssueSync } from "./lifecycle-io-D8iNBcux.js";
7
+ import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CTRNtzXO.js";
8
+ import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-BRbDW-qk.js";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync } from "fs";
11
11
  import { join } from "path";
@@ -444,7 +444,7 @@ async function extractPlanReviewRequirements(workspace, issueId) {
444
444
  nonGoals: [],
445
445
  traces: []
446
446
  };
447
- const found = findVBriefByIssueSync(projectRoot, issueId);
447
+ const found = findXBriefByIssueSync(projectRoot, issueId);
448
448
  if (found) return {
449
449
  acceptanceCriteria: flattenAC(found.document),
450
450
  nonGoals: flattenNonGoals(found.document),
@@ -700,4 +700,4 @@ var init_review_context = __esmMin((() => {
700
700
  //#endregion
701
701
  export { getDiffStat as a, getDiffBase as i, formatTier1Summary as n, init_review_context as o, getChangedFiles as r, buildReviewContext as t };
702
702
 
703
- //# sourceMappingURL=review-context-OYfKUprb.js.map
703
+ //# sourceMappingURL=review-context-BgX3lcCx.js.map
@@ -1,14 +1,15 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Hn as init_projects, In as getProjectSync, It as readIssueRecord, Nt as init_record, Rt as readIssueRecordSync, jt as getIssueWorkspacePath, nr as resolveProjectFromIssueSync } from "./config-yaml-ig8Nwtiw.js";
2
+ import { Et as getIssueWorkspacePath, Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, fn as findProjectByPathSync, jt as readIssueRecord, nn as init_state_read_home, rn as resolveStateReadHomeSync, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-DDlOIAML.js";
4
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
5
- import { n as updateIssueRecord, t as init_record_update } from "./record-update-Crz74r-6.js";
6
- import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-D_cre6WM.js";
7
- import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-B6FVsYF9.js";
8
- import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, u as upsertReviewStatusSync } from "./review-status-sync-DpAMD_WO.js";
4
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
5
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-Dq0t2uBG.js";
6
+ import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-C0VdGme1.js";
7
+ import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-D0ykk59O.js";
8
+ import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, t as clearWorkspaceStuck$1, u as upsertReviewStatusSync } from "./review-status-sync-BhSQ0d0l.js";
9
9
  import { a as registerReviewStatusMapReader, n as init_review_status_source } from "./review-status-source-CxuEjLGg.js";
10
10
  import { a as PAN_DIRNAME, p as init_types, r as PAN_CONTINUES_DIRNAME } from "./types-hraoaQIp.js";
11
- import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DiISXcC-.js";
11
+ import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DLz0MkGT.js";
12
+ import { o as init_lifecycle, r as XBRIEF_FILENAME_SUFFIX, t as LEGACY_VBRIEF_FILENAME_SUFFIX } from "./lifecycle-DfeyBDwA.js";
12
13
  import { dirname, join } from "node:path";
13
14
  import { Data, Effect } from "effect";
14
15
  import { join as join$1 } from "path";
@@ -289,10 +290,21 @@ function projectMerges(issueId) {
289
290
  if (!mergeSet) return [];
290
291
  return mergeSet.repos.map((r) => r.artifactUrl).filter((url) => typeof url === "string" && url.length > 0);
291
292
  }
293
+ function resolveContinuePath(projectRoot, issueId) {
294
+ const stateHome = resolveStateReadHomeSync(findProjectByPathSync(projectRoot) ?? {
295
+ name: projectRoot,
296
+ path: projectRoot
297
+ });
298
+ const basePath = join(stateHome.migrated ? join(stateHome.root, PAN_CONTINUES_DIRNAME) : join(stateHome.root, PAN_DIRNAME, PAN_CONTINUES_DIRNAME), issueId.toLowerCase());
299
+ const canonicalPath = `${basePath}${XBRIEF_FILENAME_SUFFIX}`;
300
+ const legacyPath = `${basePath}${LEGACY_VBRIEF_FILENAME_SUFFIX}`;
301
+ if (existsSync(canonicalPath)) return canonicalPath;
302
+ if (existsSync(legacyPath)) return legacyPath;
303
+ return canonicalPath;
304
+ }
292
305
  async function readLegacyContinueText(projectRoot, issueId) {
293
- const path = join(projectRoot, PAN_DIRNAME, PAN_CONTINUES_DIRNAME, `${issueId.toLowerCase()}.vbrief.json`);
294
306
  try {
295
- return await promises.readFile(path, "utf-8");
307
+ return await promises.readFile(resolveContinuePath(projectRoot, issueId), "utf-8");
296
308
  } catch {
297
309
  return null;
298
310
  }
@@ -407,6 +419,8 @@ var init_records = __esmMin((() => {
407
419
  init_cost_sync();
408
420
  init_merge_set();
409
421
  init_projects();
422
+ init_state_read_home();
423
+ init_lifecycle();
410
424
  init_agent_state_sync();
411
425
  init_record();
412
426
  init_record_update();
@@ -788,7 +802,7 @@ function setReviewStatusSync(issueId, update, existing) {
788
802
  });
789
803
  if (readyForMerge && !status.readyForMerge && updated.prUrl) (async () => {
790
804
  try {
791
- const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-CU14oYzP.js");
805
+ const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-CPfoFAdV.js");
792
806
  if (!isGitHubAppConfigured()) return;
793
807
  const prMatch = updated.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull/);
794
808
  if (!prMatch) return;
@@ -1071,7 +1085,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId, options = {}) {
1071
1085
  */
1072
1086
  async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
1073
1087
  try {
1074
- const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-JImjut0z.js");
1088
+ const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-C1Kg8n7t.js");
1075
1089
  if ((await Effect.runPromise(deliverReviewVerdictFeedback({
1076
1090
  issueId,
1077
1091
  verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
@@ -1104,7 +1118,7 @@ function maybeAutoDispatchReviewHostSide(issueId, status) {
1104
1118
  }
1105
1119
  async function dispatchReviewHostSide(issueId, prUrl) {
1106
1120
  try {
1107
- const { resolveProjectFromIssueSync } = await import("./projects-BKkwpH6q.js");
1121
+ const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
1108
1122
  const resolved = resolveProjectFromIssueSync(issueId);
1109
1123
  if (!resolved) return;
1110
1124
  const { existsSync } = await import("fs");
@@ -1120,7 +1134,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
1120
1134
  });
1121
1135
  branch = stdout.trim() || branch;
1122
1136
  } catch {}
1123
- const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
1137
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DJRO8EG8.js");
1124
1138
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1125
1139
  issueId,
1126
1140
  workspace,
@@ -1144,13 +1158,13 @@ function maybeRecoverTestVerdictHostSide(issueId, status) {
1144
1158
  }
1145
1159
  async function recoverTestVerdictHostSide(issueId) {
1146
1160
  try {
1147
- const { resolveProjectFromIssueSync } = await import("./projects-BKkwpH6q.js");
1161
+ const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
1148
1162
  const resolved = resolveProjectFromIssueSync(issueId);
1149
1163
  if (!resolved) return;
1150
1164
  const { existsSync } = await import("fs");
1151
1165
  const workspace = join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
1152
1166
  if (!existsSync(workspace)) return;
1153
- const { readTestVerdictArtifact } = await import("./test-verdict-D_-sXIz_.js");
1167
+ const { readTestVerdictArtifact } = await import("./test-verdict-DFjjIHR5.js");
1154
1168
  const artifact = readTestVerdictArtifact(workspace);
1155
1169
  if (!artifact) return;
1156
1170
  setReviewStatusSync(issueId, {
@@ -1164,13 +1178,13 @@ async function recoverTestVerdictHostSide(issueId) {
1164
1178
  }
1165
1179
  async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1166
1180
  try {
1167
- const { resolveProjectFromIssueSync } = await import("./projects-BKkwpH6q.js");
1181
+ const { resolveProjectFromIssueSync } = await import("./projects-9SkRpES9.js");
1168
1182
  const resolved = resolveProjectFromIssueSync(issueId);
1169
1183
  const workspace = resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : void 0;
1170
1184
  const notes = status.testNotes;
1171
1185
  let feedbackPath;
1172
1186
  try {
1173
- const { writeFeedbackFile } = await import("./feedback-writer-Bx5z11mF.js");
1187
+ const { writeFeedbackFile } = await import("./feedback-writer-qmiMbqTZ.js");
1174
1188
  const r = await Effect.runPromise(writeFeedbackFile({
1175
1189
  issueId,
1176
1190
  workspacePath: workspace,
@@ -1182,10 +1196,10 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1182
1196
  if (r.success) feedbackPath = r.filePath;
1183
1197
  } catch {}
1184
1198
  const message = `SPECIALIST FEEDBACK: test-agent reported FAILED for ${issueId}.\n\n${feedbackPath ? `MUST READ: ${feedbackPath}\n\n` : ""}${notes ? `${notes.slice(0, 400)}\n\n` : ""}Fix the failing tests, commit and push, then re-run pan done ${issueId}. Do NOT stop at the prompt.`;
1185
- const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-DS6NUuSs.js");
1199
+ const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-iygZwmMc.js");
1186
1200
  const target = await resolveIssueFeedbackTarget(issueId);
1187
1201
  if ("agentId" in target) {
1188
- const { messageAgent } = await import("./agents-DyHKlq1I.js");
1202
+ const { messageAgent } = await import("./agents-FlIgQ3ql.js");
1189
1203
  await messageAgent(target.agentId, message, "internal", { owesRework: true });
1190
1204
  console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
1191
1205
  } else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
@@ -1343,6 +1357,25 @@ function markWorkspaceStuck(issueId, reason, details) {
1343
1357
  }
1344
1358
  }
1345
1359
  /**
1360
+ * Clear the stuck flag for a workspace.
1361
+ * Called when the human clicks "Unstick" in the dashboard.
1362
+ * Re-enables Deacon patrol for this workspace.
1363
+ */
1364
+ function clearWorkspaceStuck(issueId) {
1365
+ try {
1366
+ clearWorkspaceStuck$1(issueId);
1367
+ console.log(`[review-status] Cleared stuck state for ${issueId}`);
1368
+ const updated = getReviewStatusSync(issueId);
1369
+ if (updated) notifyPipelineSync({
1370
+ type: "status_changed",
1371
+ issueId,
1372
+ status: updated
1373
+ });
1374
+ } catch (err) {
1375
+ console.error(`[review-status] Failed to clear stuck state for ${issueId}:`, err);
1376
+ }
1377
+ }
1378
+ /**
1346
1379
  * Set or clear the operator-requested deacon-ignore flag. When set, Deacon
1347
1380
  * patrol skips the issue entirely on every cycle. Distinct from `stuck`, which
1348
1381
  * is a system-set failure marker that also suppresses patrol.
@@ -1416,6 +1449,6 @@ var init_review_status = __esmMin((() => {
1416
1449
  });
1417
1450
  }));
1418
1451
  //#endregion
1419
- export { AGENT_COLUMNS_FOR_DB as C, saveOverdeckAgentStateSync as D, listOverdeckAgentStatesSync as E, stateToOverdeckParamsForDb as O, needsReviewDispatch as S, init_agent_state_sync as T, setDeaconIgnored as _, fixStuckReadyForMerge as a, verificationSatisfied as b, init_review_status as c, loadReviewStatusesForIssues as d, markWorkspaceStuck as f, setAutoMerge as g, reviewGatesPassedSync as h, fixStuckCommentedReviews as i, loadReadyForMergeFlags as l, resetPipelineVerdictsForWorkStartSync as m, clearReviewStatus as n, getReviewStatus as o, mergeGateEligibility as p, clearStuckMergeStatuses as r, getReviewStatusSync as s, ReviewStatusError as t, loadReviewStatuses as u, setReviewStatus as v, getOverdeckAgentStateSync as w, init_review_dispatch_decision as x, setReviewStatusSync as y };
1452
+ export { needsReviewDispatch as C, listOverdeckAgentStatesSync as D, init_agent_state_sync as E, saveOverdeckAgentStateSync as O, init_review_dispatch_decision as S, getOverdeckAgentStateSync as T, setAutoMerge as _, fixStuckCommentedReviews as a, setReviewStatusSync as b, getReviewStatusSync as c, loadReviewStatuses as d, loadReviewStatusesForIssues as f, reviewGatesPassedSync as g, resetPipelineVerdictsForWorkStartSync as h, clearWorkspaceStuck as i, stateToOverdeckParamsForDb as k, init_review_status as l, mergeGateEligibility as m, clearReviewStatus as n, fixStuckReadyForMerge as o, markWorkspaceStuck as p, clearStuckMergeStatuses as r, getReviewStatus as s, ReviewStatusError as t, loadReadyForMergeFlags as u, setDeaconIgnored as v, AGENT_COLUMNS_FOR_DB as w, verificationSatisfied as x, setReviewStatus as y };
1420
1453
 
1421
- //# sourceMappingURL=review-status-DFRjDFef.js.map
1454
+ //# sourceMappingURL=review-status-A7quS5KJ.js.map
@@ -0,0 +1,3 @@
1
+ import { b as setReviewStatusSync, c as getReviewStatusSync, d as loadReviewStatuses, l as init_review_status, m as mergeGateEligibility, n as clearReviewStatus, p as markWorkspaceStuck } from "./review-status-A7quS5KJ.js";
2
+ init_review_status();
3
+ export { clearReviewStatus, getReviewStatusSync, loadReviewStatuses, markWorkspaceStuck, mergeGateEligibility, setReviewStatusSync };
@@ -1,5 +1,5 @@
1
- import { Hn as init_projects, nr as resolveProjectFromIssueSync } from "./config-yaml-ig8Nwtiw.js";
2
- import { j as listSessionNames, w as init_tmux } from "./tmux-L5LgvGLp.js";
1
+ import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
2
+ import { M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync } from "fs";
5
5
  import { join } from "path";
@@ -124,4 +124,4 @@ const enrichReviewStatus = (issueId, status) => Effect.tryPromise({
124
124
  //#endregion
125
125
  export { enrichReviewStatusFromSessions as n, enrichReviewStatus as t };
126
126
 
127
- //# sourceMappingURL=review-status-enrichment-crNAtIpL.js.map
127
+ //# sourceMappingURL=review-status-enrichment-tbOn_A_u.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
3
3
  import { Effect } from "effect";
4
4
  //#region ../../lib/review-status-normalize.ts
5
5
  function normalizeReviewStatusSync(status) {
@@ -291,4 +291,4 @@ var init_review_status_sync = __esmMin((() => {
291
291
  //#endregion
292
292
  export { getMergeBlockerReconcileCandidatesSync as a, init_review_status_sync as c, init_review_status_normalize as d, normalizeReviewStatusSync as f, getMergeBlockerReconcileCandidates as i, markWorkspaceStuck as l, deleteReviewStatus as n, getReviewStatusFromDbSync as o, getAllReviewStatusesFromDb as r, getReviewStatusesFromDb as s, clearWorkspaceStuck as t, upsertReviewStatusSync as u };
293
293
 
294
- //# sourceMappingURL=review-status-sync-DpAMD_WO.js.map
294
+ //# sourceMappingURL=review-status-sync-BhSQ0d0l.js.map
@@ -1,3 +1,3 @@
1
- import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-DpAMD_WO.js";
1
+ import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-BhSQ0d0l.js";
2
2
  init_review_status_sync();
3
3
  export { clearWorkspaceStuck };
@@ -1,3 +1,3 @@
1
- import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CpUZl5aE.js";
1
+ import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CTRNtzXO.js";
2
2
  init_review_verdict_feedback();
3
3
  export { deliverReviewVerdictFeedback };
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Hn as init_projects, nr as resolveProjectFromIssueSync } from "./config-yaml-ig8Nwtiw.js";
3
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-DFRjDFef.js";
4
- import { L as messageAgent, s as init_agents } from "./queries-ZABd5aXP.js";
2
+ import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
+ import { c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
4
+ import { X as messageAgent, b as init_agents } from "./queries-6d7Cdtm7.js";
5
5
  import { a as PAN_DIRNAME, p as init_types } from "./types-hraoaQIp.js";
6
- import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-BXP6g75N.js";
7
- import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-DZ-iAnAa.js";
6
+ import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-C9b6ccN1.js";
7
+ import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-CPS15Vte.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync } from "node:fs";
@@ -144,4 +144,4 @@ var init_review_verdict_feedback = __esmMin((() => {
144
144
  //#endregion
145
145
  export { init_review_verdict_feedback as n, postPrComment as r, deliverReviewVerdictFeedback as t };
146
146
 
147
- //# sourceMappingURL=review-verdict-feedback-CpUZl5aE.js.map
147
+ //# sourceMappingURL=review-verdict-feedback-CTRNtzXO.js.map
@@ -1,3 +1,3 @@
1
- import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-SyuF09e4.js";
1
+ import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-WA0VD-Rr.js";
2
2
  init_rollup();
3
3
  export { commitStatusRollup, synthesizeStatusRollup };
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { T as MemoryStatus, t as init_src } from "./src-k039WVYY.js";
3
- import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-DooHpt9p.js";
4
- import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-BNbocWOg.js";
5
- import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-BDDPULlp.js";
2
+ import { T as MemoryStatus, t as init_src } from "./src-U7_kTPEE.js";
3
+ import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-_zEts6wc.js";
4
+ import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-BZ5m1UCl.js";
5
+ import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-DV7ec8l7.js";
6
6
  import { Result, Schema } from "effect";
7
7
  import { dirname } from "path";
8
8
  import { randomUUID } from "crypto";
@@ -98,8 +98,8 @@ async function enqueueStatusRollupEvent(job) {
98
98
  await configuredStatusRollupProcessor(job);
99
99
  return;
100
100
  }
101
- const { initEventStore } = await import("./event-store-CpBGsO6_.js");
102
- const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-CZ02qgxk.js");
101
+ const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
102
+ const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-B53Y81xK.js");
103
103
  await (await initEventStore()).appendAsync({
104
104
  type: "memory.rollup_triggered",
105
105
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -295,7 +295,7 @@ async function clearPendingTurns(projectId, issueId, pendingTurns) {
295
295
  return cleared;
296
296
  }
297
297
  async function emitStatusUpdatedEvent(event) {
298
- const { initEventStore } = await import("./event-store-CpBGsO6_.js");
298
+ const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
299
299
  await (await initEventStore()).appendAsync({
300
300
  type: "memory.status_updated",
301
301
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -446,4 +446,4 @@ var init_rollup = __esmMin((() => {
446
446
  //#endregion
447
447
  export { readCurrentStatus as a, init_pending as c, readArchivedStatuses as i, maybeTriggerStatusRollup as l, commitStatusRollup as n, readRecentObservations as o, init_rollup as r, synthesizeStatusRollup as s, buildStatusRollupPrompt as t, writePendingTurn as u };
448
448
 
449
- //# sourceMappingURL=rollup-SyuF09e4.js.map
449
+ //# sourceMappingURL=rollup-WA0VD-Rr.js.map
@@ -1,9 +1,9 @@
1
- import { B as getProviderEnvSync, H as init_providers, Hn as init_projects, Kn as listProjectsSync, V as getProviderForModelSync, Xr as encodeClaudeProjectDir, a as getConversationsConfigSync, br as ConfigError, ci as sessionFilePath, f as loadConfigSync, ii as init_paths, it as getModelCapabilitySync, jr as init_errors, lt as resolveModelIdSync, st as init_model_capabilities, t as init_config_yaml, xr as FsError } from "./config-yaml-ig8Nwtiw.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-D4iNWMA5.js";
3
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Codk1pc2.js";
4
- import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-bYpM9-kZ.js";
5
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Bc-Bmiye.js";
6
- import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-wH46-WsJ.js";
1
+ import { B as getProviderEnvSync, Gr as sessionFilePath, H as init_providers, Nr as encodeClaudeProjectDir, Tn as init_projects, V as getProviderForModelSync, Vr as init_paths, a as getConversationsConfigSync, f as loadConfigSync, ir as FsError, it as getModelCapabilitySync, kn as listProjectsSync, lt as resolveModelIdSync, mr as init_errors, rr as ConfigError, st as init_model_capabilities, t as init_config_yaml } from "./config-yaml-DvyMuOle.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
3
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Ca0YTWDw.js";
4
+ import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-DbOs1e9Q.js";
5
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Dhxz-wLc.js";
6
+ import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-CW4WSe72.js";
7
7
  import { Data, Duration, Effect, FileSystem } from "effect";
8
8
  import { createReadStream, promises } from "fs";
9
9
  import { basename, join, relative, resolve } from "path";
@@ -500,6 +500,8 @@ const MODEL_PROVIDERS = {
500
500
  "gemini-3-pro-preview": "google",
501
501
  "gemini-2.5-pro": "google",
502
502
  "gemini-2.5-flash": "google",
503
+ "k3": "kimi",
504
+ "k3[1m]": "kimi",
503
505
  "kimi-k2.7-code": "kimi",
504
506
  "kimi-k2.6": "kimi",
505
507
  "kimi-k2.5": "kimi",
@@ -555,6 +557,8 @@ const FALLBACK_MAP = {
555
557
  "gemini-3-pro-preview": "claude-sonnet-5",
556
558
  "gemini-2.5-pro": "claude-sonnet-5",
557
559
  "gemini-2.5-flash": "claude-haiku-4-5",
560
+ "k3": "claude-sonnet-5",
561
+ "k3[1m]": "claude-sonnet-5",
558
562
  "kimi-k2.7-code": "claude-sonnet-5",
559
563
  "kimi-k2.6": "claude-sonnet-5",
560
564
  "kimi-k2.5": "claude-sonnet-5",
@@ -2997,4 +3001,4 @@ function normalizeDir(dir) {
2997
3001
  //#endregion
2998
3002
  export { enrichSessions as a, searchSessions as c, CostThresholdError as i, embed as l, getSessionsFeedFacets as n, embedSessions as o, listSessionsFeed as r, parseRelativeTime as s, scan as t };
2999
3003
 
3000
- //# sourceMappingURL=scanner-Br0Z5S6R.js.map
3004
+ //# sourceMappingURL=scanner-D2743cp8.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { cn as init_auto_commit, ln as queueAutoCommit } from "./config-yaml-ig8Nwtiw.js";
3
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-DFRjDFef.js";
4
- import { C as init_specs, S as getProjectPanPaths } from "./io-DQR9PMgS.js";
2
+ import { Ut as init_auto_commit, Wt as queueAutoCommit } from "./config-yaml-DvyMuOle.js";
3
+ import { c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
4
+ import { C as init_specs, S as getProjectPanPaths } from "./io-B3_AHDfr.js";
5
5
  import { dirname, join } from "node:path";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
7
  //#region ../../lib/backlog/types.ts
@@ -275,4 +275,4 @@ var init_sequence_io = __esmMin((() => {
275
275
  //#endregion
276
276
  export { parseSequenceMd as n, writeSequenceMd as r, init_sequence_io as t };
277
277
 
278
- //# sourceMappingURL=sequence-io-fxU0DlwW.js.map
278
+ //# sourceMappingURL=sequence-io-Cg0zYj_E.js.map
@@ -1,8 +1,8 @@
1
1
  import { a as __toCommonJS, n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-DFRjDFef.js";
3
- import { $ as stopAgent, Z as spawnRun, a as listRunningAgentsSync, an as determineModel, jn as getAgentStateSync, s as init_agents, ur as getAgentRuntimeStateSync } from "./queries-ZABd5aXP.js";
4
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-D_RVYBuL.js";
5
- import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-fxU0DlwW.js";
2
+ import { c as getReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
3
+ import { Cr as getAgentRuntimeStateSync, Wn as getAgentStateSync, a as listRunningAgentsSync, b as init_agents, ft as stopAgent, ut as spawnRun, vn as determineModel } from "./queries-6d7Cdtm7.js";
4
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-B5ushCvE.js";
5
+ import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-Cg0zYj_E.js";
6
6
  import { dirname, join } from "node:path";
7
7
  import { Effect } from "effect";
8
8
  import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
@@ -324,4 +324,4 @@ var init_sequencer_agent = __esmMin((() => {
324
324
  //#endregion
325
325
  export { spawnSequencerAgent as a, init_sequencer_agent as i, clearFinishedSequencerRun as n, getSequencerRunStatus as r, SEQUENCER_AGENT_ID as t };
326
326
 
327
- //# sourceMappingURL=sequencer-agent-B5YC5XVP.js.map
327
+ //# sourceMappingURL=sequencer-agent-BGY8gjg-.js.map