@overdeck/desktop 0.45.22 → 0.45.24

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 (429) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +2 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-BH7ac_1G.js → acceptance-criteria-DDCnXF58.js} +5 -5
  4. package/server/{advancing-selfheal-cSvXNZLZ.js → advancing-selfheal-BVwW4qRn.js} +6 -6
  5. package/server/{agent-gc-Dj2gncak.js → agent-gc-CHcnvonI.js} +4 -4
  6. package/server/agent-state-Bc3tzUC8.js +3 -0
  7. package/server/{agent-state-service-DistflNn.js → agent-state-service-BsgWxZuB.js} +5 -5
  8. package/server/{agent-state-service-CsQ07Pxe.js → agent-state-service-D5UGKIJL.js} +1 -1
  9. package/server/{agents-DXdHmRTC.js → agents-EbI0zCJl.js} +4 -4
  10. package/server/agents-wi9NWzs2.js +3 -0
  11. package/server/{archive-planning-Cp_DC1j-.js → archive-planning-BZDgzoEj.js} +1 -1
  12. package/server/{archive-planning-BvDuWNMo.js → archive-planning-Du25Jtst.js} +30 -6
  13. package/server/{artifact-index-jobs-CDBFL4OU.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
  14. package/server/assemble-J2ZZ2C15.js +339 -0
  15. package/server/{backlog-auto-trigger-DmA1IbYf.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
  16. package/server/{behavior-CGj16clS.js → behavior-B3exJ42O.js} +2 -2
  17. package/server/{briefing-freshness-C12WgkaB.js → briefing-freshness-D1wzUIWv.js} +2 -2
  18. package/server/{build-info-BRpqQvNd.js → build-info-CZk_TITh.js} +1 -1
  19. package/server/{build-info-NU3KbXYw.js → build-info-Ie_D0_BT.js} +3 -3
  20. package/server/{checkpoint-manager-CTPjAmtH.js → checkpoint-manager-BI1Wxoku.js} +2 -2
  21. package/server/{checkpoint-manager-rOgT98WY.js → checkpoint-manager-DwbQoqrC.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-B5jFNi2G.js → checkpoints-BJIs5QIA.js} +1 -1
  24. package/server/{checkpoints-BJum14fs.js → checkpoints-CQB1h765.js} +2 -2
  25. package/server/{claude-hooks-provision-BhwWK-TQ.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
  26. package/server/{claude-hooks-provision-D7p5WcKZ.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
  27. package/server/{claude-permissions-nSFKH78M.js → claude-permissions-DNWEVV6z.js} +2 -2
  28. package/server/{claude-settings-overlay-BI_UIke0.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
  29. package/server/{claude-settings-overlay-DHBwjS1X.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
  30. package/server/cli-B86rejVV.js +3 -0
  31. package/server/{cli-CbKNkFE5.js → cli-RoOx5DUf.js} +9 -9
  32. package/server/{cliproxy-Brf_5MuG.js → cliproxy-C8a1vtTU.js} +2 -2
  33. package/server/{cliproxy-bONZDBbC.js → cliproxy-fHfIeiGd.js} +1 -1
  34. package/server/{close-issue-CxReRxIc.js → close-issue-DoOifFIK.js} +5 -5
  35. package/server/{closed-issue-reaper-CQ3kqha7.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
  36. package/server/{closed-issue-reaper-DXP2Xyv3.js → closed-issue-reaper-CktPXo8m.js} +1 -1
  37. package/server/{codex-CbmztVcc.js → codex-BZXGhUVB.js} +27 -8
  38. package/server/codex-GcHuUF-k.js +3 -0
  39. package/server/{codex-parser-jl8AeAmB.js → codex-parser-CFZ1_1Jl.js} +2 -2
  40. package/server/{config-q4Gvd8dq.js → config-BZ0sHTju.js} +2 -2
  41. package/server/{config-DeTsoZdR.js → config-CKxYiCmX.js} +2 -2
  42. package/server/{config-BJKocXKd.js → config-DzV30TOm.js} +1 -1
  43. package/server/{config-yaml-ig8Nwtiw.js → config-yaml-DySPNmKN.js} +77 -194
  44. package/server/{conflict-gate-CFqPVxEg.js → conflict-gate-BaCVrH-N.js} +3 -3
  45. package/server/{conflict-gate-CHU9K1vU.js → conflict-gate-BhAY7TUd.js} +1 -1
  46. package/server/context-layers-BrPmE__h.js +4 -0
  47. package/server/context-layers-igZ4FI4_.js +37 -0
  48. package/server/{control-settings-D_odMIaC.js → control-settings-BQp7_4uD.js} +4 -4
  49. package/server/{conversation-compaction-B6YSRLda.js → conversation-compaction-CgrR8YYp.js} +8 -8
  50. package/server/{conversation-compaction-CN4-5YYt.js → conversation-compaction-eQB5CkOe.js} +1 -1
  51. package/server/{conversation-service-Dq33SYEj.js → conversation-service-BLd3MYsG.js} +1 -1
  52. package/server/{conversation-service-C3avRVEr.js → conversation-service-DPJ71F33.js} +329 -19
  53. package/server/{conversations-bYpM9-kZ.js → conversations-6AfUfbwc.js} +5 -5
  54. package/server/{conversations-H9if0bCQ.js → conversations-CAsJF9kh.js} +1 -1
  55. package/server/{cost-Codk1pc2.js → cost-B2ddP6wq.js} +18 -2
  56. package/server/{cost-wH46-WsJ.js → cost-R-m6Yi-W.js} +3 -3
  57. package/server/{cost-sync-D_cre6WM.js → cost-sync-BsN6ER0n.js} +3 -3
  58. package/server/{dag-CJpgf9A3.js → dag-B1ucnjDU.js} +9 -9
  59. package/server/{dangerous-git-ops-D6AF-Hg_.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
  60. package/server/dashboard-db-worker.js +7 -7
  61. package/server/{deacon-CkT_kznS.js → deacon-CU_cAYSR.js} +406 -607
  62. package/server/{deacon-B8HbQdqU.js → deacon-kiQrb4ZT.js} +3 -3
  63. package/server/{deacon-nudge-log-D6K9K-rE.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
  64. package/server/{deacon-swarm-BryRr6AO.js → deacon-swarm-BXZZ1Z2-.js} +17 -17
  65. package/server/deacon-swarm-C-GwfjJy.js +2 -0
  66. package/server/deacon.js +8 -8
  67. package/server/{deploy-patrol-1IrZxicY.js → deploy-patrol-AiFoP8dw.js} +136 -19
  68. package/server/{deploy-window-wDf4UgHt.js → deploy-window-C3F-tihF.js} +77 -10
  69. package/server/{deploy-window-7ZYHh7Zp.js → deploy-window-DkZraDyj.js} +1 -1
  70. package/server/{dev-supervisor-C7p9kEpc.js → dev-supervisor-bcOWqdQE.js} +2 -2
  71. package/server/{devcontainer-renderer-CNmQy0pL.js → devcontainer-renderer-_d6XhyND.js} +3 -3
  72. package/server/dist-Bzy0y69j.js +3 -0
  73. package/server/{dist-D-Ed5yVw.js → dist-Cb_0uvpS.js} +1 -1
  74. package/server/{docker-BCZ89M9X.js → docker-DcMTFTUC.js} +2 -2
  75. package/server/{dod-DbJLYcHv.js → dod-C6n9RV3G.js} +1 -1
  76. package/server/{ensure-devcontainer-Cs6W9Yzj.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
  77. package/server/{ensure-devcontainer-V5JWaAva.js → ensure-devcontainer-DNi-ono3.js} +4 -4
  78. package/server/{esm-shims-dTeNdq7X.js → esm-shims-OSHAYaS1.js} +1 -1
  79. package/server/{event-store-TnWdydfB.js → event-store-CQL6NeqB.js} +3 -3
  80. package/server/{event-store-CpBGsO6_.js → event-store-EV2cMiXj.js} +1 -1
  81. package/server/{events-Dsuv6qyB.js → events-BTdrdEq8.js} +1 -1
  82. package/server/{events-DSUdR-04.js → events-DTfAe4My.js} +3 -3
  83. package/server/{factory-BMrK4TrE.js → factory-CFibJuaw.js} +50 -13
  84. package/server/{feature-registry-population-B-CI9hgE.js → feature-registry-population-DKZFMbFt.js} +4 -4
  85. package/server/{feature-registry-storage-B972ph_A.js → feature-registry-storage-BdPuLcBX.js} +2 -2
  86. package/server/{features-Bc-Bmiye.js → features-ez2271oH.js} +2 -2
  87. package/server/{feedback-target-DZ-iAnAa.js → feedback-target-7mqqwrX6.js} +7 -7
  88. package/server/{feedback-target-DS6NUuSs.js → feedback-target-CoFDHiM8.js} +1 -1
  89. package/server/{feedback-writer-BXP6g75N.js → feedback-writer-CY5L1lB7.js} +6 -5
  90. package/server/{feedback-writer-Bx5z11mF.js → feedback-writer-D3a22RCd.js} +1 -1
  91. package/server/flywheel-DHrgCphM.js +1084 -0
  92. package/server/flywheel-DzGtWnJ1.js +477 -0
  93. package/server/flywheel-SVF02Jpq.js +2 -0
  94. package/server/{flywheel-merge-order-CTgHeg-W.js → flywheel-merge-order-UU0tiUld.js} +10 -9
  95. package/server/{flywheel-merge-order-CNKAY489.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
  96. package/server/{forge-B1S_KZv4.js → forge-CNFnyqps.js} +2 -2
  97. package/server/forge-DXnS_YFH.js +2 -0
  98. package/server/{from-DpwQ-sc3.js → from-kNxT0bZC.js} +1 -1
  99. package/server/{fts-db-DmAcuCkV.js → fts-db-CE46vDkZ.js} +2 -2
  100. package/server/{fts-operations-7d_RkmWp.js → fts-operations-CqY6zl-i.js} +2 -2
  101. package/server/{git-utils-Cc3FHDKd.js → git-utils-CRw2zLPC.js} +68 -3
  102. package/server/git-utils-D0_yhCgF.js +3 -0
  103. package/server/{github-app-CDPtGF7J.js → github-app-C3QrAUd0.js} +27 -8
  104. package/server/{github-app-CU14oYzP.js → github-app-ClZ2lk8D.js} +1 -1
  105. package/server/{github-client-XjTJbBm7.js → github-client-BnIsSrEN.js} +2 -2
  106. package/server/{github-client-CwBZZ3t7.js → github-client-DfQYVUaw.js} +1 -1
  107. package/server/{github-pr-lookup-CFGeVhqv.js → github-pr-lookup-D16NGsSO.js} +2 -2
  108. package/server/{harness-binary-B2CTcD84.js → harness-binary-DPUi-Pv8.js} +32 -6
  109. package/server/{harness-resolve-D5FVQTmy.js → harness-resolve-3lNZkyT4.js} +18 -9
  110. package/server/{health-events-DREeevle.js → health-events-BBcTYQKU.js} +2 -2
  111. package/server/{health-events-C1whmd58.js → health-events-BDOHby5Q.js} +1 -1
  112. package/server/{hooks-yxRsjk-z.js → hooks-CKZgXlJb.js} +2 -2
  113. package/server/{hooks-B-HItBiS.js → hooks-DPVX1rwQ.js} +1 -1
  114. package/server/{hume-Dz_OymXE.js → hume-Cz8igP9E.js} +2 -2
  115. package/server/hume-ccTf4wTX.js +3 -0
  116. package/server/{idle-stack-reaper-DrCv0OAG.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
  117. package/server/{idle-stack-reaper-Yf34xXxY.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
  118. package/server/{in-flight-guard-BoWm66Kh.js → in-flight-guard-CAAkqPLu.js} +2 -2
  119. package/server/{infra-D4iNWMA5.js → infra-BEqFxlJc.js} +14 -4
  120. package/server/{injection-D7T75Pye.js → injection-C8aiVJrF.js} +191 -183
  121. package/server/{injection-BVNa4MQW.js → injection-CPUIqNhI.js} +1 -1
  122. package/server/{inspect-agent-BXCgNeZ4.js → inspect-agent-BLuJ1AkT.js} +137 -81
  123. package/server/inspect-agent-Brtz0URj.js +2 -0
  124. package/server/{internal-token-C9DdEOKY.js → internal-token-BrcU6qfe.js} +1 -1
  125. package/server/{internal-token-CXsfxslp.js → internal-token-s0-oKybJ.js} +2 -2
  126. package/server/{io-DQR9PMgS.js → io-C9kF1wtJ.js} +160 -184
  127. package/server/{issue-closed-DtmJM0D0.js → issue-closed-CDJk4pIp.js} +7 -7
  128. package/server/{issue-lifecycle-8PSS9Anq.js → issue-lifecycle-B8sZHVHh.js} +1 -1
  129. package/server/{issue-lifecycle-CeyW_HoD.js → issue-lifecycle-ojZAzDBP.js} +22 -22
  130. package/server/{issue-service-singleton-DBZabEl7.js → issue-service-singleton-BvJ09SaR.js} +1 -1
  131. package/server/{issue-service-singleton-D_RVYBuL.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
  132. package/server/{issues-pDW9VUNz.js → issues-BMmP_77e.js} +2 -2
  133. package/server/{jsonl-parser-C3HVNR5d.js → jsonl-parser-BXSlHwEh.js} +3 -3
  134. package/server/{label-cleanup-DPwiZlWo.js → label-cleanup-B0UJwnv5.js} +3 -3
  135. package/server/{label-reconciler-Df1ZduPH.js → label-reconciler-B4iOAjlC.js} +4 -4
  136. package/server/{launcher-generator-COgR2By1.js → launcher-generator-BBWG_SiS.js} +105 -10
  137. package/server/{lifecycle-io-taIb0PoH.js → lifecycle-io-BREGpnLk.js} +37 -37
  138. package/server/lifecycle-io-DPo7x11I.js +3 -0
  139. package/server/{lifecycle-CtPDcZ9u.js → lifecycle-xmBfK2GJ.js} +6 -6
  140. package/server/lifecycle-yPd___5E.js +121 -0
  141. package/server/{linear-client-DsFkIxee.js → linear-client-BsuUvkdA.js} +2 -2
  142. package/server/{linear-client-YwZMDIwQ.js → linear-client-CTskEeT_.js} +1 -1
  143. package/server/memory-fts-worker.js +1 -1
  144. package/server/{merge-BwsyNRJV.js → merge-B1DiziGU.js} +1 -1
  145. package/server/{merge-C1t-bspg.js → merge-CefQNAnq.js} +3 -3
  146. package/server/{merge-agent-DDiIjzk-.js → merge-agent-4WOWlSYA.js} +28 -28
  147. package/server/{merge-agent-B-SnXOoc.js → merge-agent-CKkgIBPB.js} +1 -1
  148. package/server/{merge-batch-Byt-QnEl.js → merge-batch-ClFn2T-y.js} +1 -1
  149. package/server/merge-ops-CR44oU9-.js +2 -0
  150. package/server/{merge-rebase-Cm6fXaZN.js → merge-rebase-BfaTyXsw.js} +2 -2
  151. package/server/merge-set-DJ8-UErs.js +83 -0
  152. package/server/{merge-set-6LEglm6o.js → merge-set-bUqbm3yc.js} +1 -1
  153. package/server/{merge-sync-B95_4in_.js → merge-sync-BJYeOODr.js} +1 -1
  154. package/server/{merge-sync-Do8_q32h.js → merge-sync-VPV28g0g.js} +2 -2
  155. package/server/{merge-train-CKana8EH.js → merge-train-CHopycP0.js} +3 -3
  156. package/server/{merge-train-deps-BgmqwIfA.js → merge-train-deps-D1cOZzy2.js} +4 -4
  157. package/server/{merge-verification-CqnUzGEK.js → merge-verification-BkaOqPsw.js} +4 -4
  158. package/server/{multipart-parser-tdOQDJ3o.js → multipart-parser-duPAfSBw.js} +2 -2
  159. package/server/{no-resume-mode-BWOSZjWd.js → no-resume-mode-Nw29vaFb.js} +11 -8
  160. package/server/node_modules/.package-lock.json +8 -8
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  162. package/server/node_modules/undici/README.md +5 -0
  163. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  164. package/server/node_modules/undici/docs/docs/api/Dispatcher.md +6 -0
  165. package/server/node_modules/undici/docs/docs/api/Interceptors.md +59 -0
  166. package/server/node_modules/undici/docs/docs/api/MockAgent.md +27 -0
  167. package/server/node_modules/undici/docs/docs/api/MockPool.md +28 -1
  168. package/server/node_modules/undici/docs/docs/index.md +5 -0
  169. package/server/node_modules/undici/lib/core/request.js +1 -1
  170. package/server/node_modules/undici/lib/core/util.js +6 -1
  171. package/server/node_modules/undici/lib/dispatcher/agent.js +3 -3
  172. package/server/node_modules/undici/lib/dispatcher/client-h1.js +31 -6
  173. package/server/node_modules/undici/lib/dispatcher/client-h2.js +34 -43
  174. package/server/node_modules/undici/lib/handler/cache-handler.js +93 -5
  175. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +10 -0
  176. package/server/node_modules/undici/lib/handler/redirect-handler.js +5 -2
  177. package/server/node_modules/undici/lib/handler/retry-handler.js +6 -4
  178. package/server/node_modules/undici/lib/interceptor/cache.js +21 -4
  179. package/server/node_modules/undici/lib/interceptor/decompress.js +4 -0
  180. package/server/node_modules/undici/lib/mock/mock-interceptor.js +25 -7
  181. package/server/node_modules/undici/lib/mock/mock-utils.js +39 -10
  182. package/server/node_modules/undici/lib/util/cache.js +49 -7
  183. package/server/node_modules/undici/lib/web/fetch/body.js +2 -1
  184. package/server/node_modules/undici/lib/web/fetch/response.js +1 -3
  185. package/server/node_modules/undici/package.json +2 -2
  186. package/server/node_modules/undici/types/client.d.ts +2 -2
  187. package/server/node_modules/undici/types/dispatcher.d.ts +3 -3
  188. package/server/node_modules/undici/types/mock-interceptor.d.ts +5 -1
  189. package/server/{orphan-proposed-reconciler-xklgvNA7.js → orphan-proposed-reconciler-BvKkWMJQ.js} +15 -13
  190. package/server/{orphan-proposed-reconciler-DSvsJ5M7.js → orphan-proposed-reconciler-CTSGcK8p.js} +1 -1
  191. package/server/package-lock.json +9 -9
  192. package/server/package.json +1 -1
  193. package/server/{pan-dir-DOcf6ug3.js → pan-dir-B0c3w0Ya.js} +78 -58
  194. package/server/{paths-DooHpt9p.js → paths-D-xWGHdh.js} +2 -2
  195. package/server/{pickup-CaskQ7j6.js → pickup-DUCLWrJY.js} +17 -16
  196. package/server/{pipeline-membership-1LGRjo-k.js → pipeline-membership-mY3GprlK.js} +186 -67
  197. package/server/{pipeline-notifier-CZsrU_nj.js → pipeline-notifier-BJr8gQX6.js} +1 -1
  198. package/server/{pipeline-notifier-B6FVsYF9.js → pipeline-notifier-BXkJzDC4.js} +2 -2
  199. package/server/{project-pipelines-CtNG_rvs.js → project-pipelines-C0MWUeCU.js} +2 -2
  200. package/server/project-repos-B6GycDh9.js +94 -0
  201. package/server/project-repos-DXKQsc_m.js +3 -0
  202. package/server/projects-vjjcmiN8.js +3 -0
  203. package/server/{prompts-EvhMeeHG.js → prompts-DxzFXuLl.js} +2 -2
  204. package/server/{providers-BDDPULlp.js → providers-qQAwGQDW.js} +7 -7
  205. package/server/{providers-DNSQqy2V.js → providers-u4Ga0jOr.js} +1 -1
  206. package/server/public/assets/{chunk-BO2N2NFS-sym_ufXe.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-CQJPBNBu.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
  208. package/server/public/assets/{dist-DukGS2YZ.js → dist-ByIuzMQW.js} +3 -3
  209. package/server/public/assets/{dist-Bio7THQU.js → dist-D7zYSEA6.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-D4lWwte3.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-CaLboCt5.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
  212. package/server/public/assets/{index-Bwejq-5s.js → index-CWeMerGO.js} +147 -144
  213. package/server/public/assets/index-CenuJ3Cw.css +1 -0
  214. package/server/public/assets/{linear-qUWmMZ-c.js → linear-BBbArIcK.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-C4zYulEm.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
  217. package/server/public/assets/{prod-C8VtLuWC.js → prod-B8vYiu52.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-qP04zyZC.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eMPTX_cG.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-Dme1PIt6.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests-By_BteaL.js → pull-requests-7N8WKseP.js} +1 -1
  223. package/server/{pull-requests-8z2N1UOV.js → pull-requests-_lHueOHW.js} +13 -11
  224. package/server/{queries-ZABd5aXP.js → queries-CjNIf-Ub.js} +1200 -201
  225. package/server/{rally-i_goYmiA.js → rally-CyWT_lNO.js} +3 -3
  226. package/server/{rally-api-DqKqIMNR.js → rally-api-C8e_1JRi.js} +2 -2
  227. package/server/{rally-api-xHazRk0d.js → rally-api-ClOSd-Tt.js} +1 -1
  228. package/server/{rally-client-COYz1vYR.js → rally-client-lc-nokqr.js} +4 -4
  229. package/server/{rally-client-CGWEHaPd.js → rally-client-sgtVqzNU.js} +1 -1
  230. package/server/rally-zhhtXuDP.js +3 -0
  231. package/server/{reap-terminal-sessions-CaMkFOIH.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
  232. package/server/{reap-terminal-sessions-DG9eiMVz.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
  233. package/server/rebuild-stack-CFvcBHsS.js +4 -0
  234. package/server/{rebuild-stack-JUm0jqYP.js → rebuild-stack-lwtsW0GO.js} +26 -35
  235. package/server/{reconstruct-cache-wU79aCee.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
  236. package/server/record-CN0pj4_5.js +3 -0
  237. package/server/{record-update-D3N6WMFR.js → record-update-bLJxAXH4.js} +1 -1
  238. package/server/record-update-dE1Aw83j.js +310 -0
  239. package/server/{recovery-trip-DkzJSej9.js → recovery-trip-BvRWfUXM.js} +2 -2
  240. package/server/{release-engine-DMINVN8S.js → release-engine-Cx48W7z8.js} +5 -5
  241. package/server/{release-set-DeUSOEHy.js → release-set-CQfuN9-v.js} +3 -3
  242. package/server/{remote-b-c5bOce.js → remote-C_2hasl7.js} +3 -3
  243. package/server/{remote-Dr5kGYSZ.js → remote-ChgimyYa.js} +3 -3
  244. package/server/{remote-agents-Ct_WOyke.js → remote-agents-By1ige5O.js} +6 -6
  245. package/server/{remote-agents-D6O_zETW.js → remote-agents-CA3Ihlxj.js} +1 -1
  246. package/server/{remote-completion-Dca3hAaa.js → remote-completion-fVe9e_3u.js} +12 -12
  247. package/server/resume-BFv1PGpA.js +3 -0
  248. package/server/{review-agent-CThvgK2r.js → review-agent-CIGOQYBD.js} +29 -25
  249. package/server/{review-agent-CCum8sGe.js → review-agent-DNboMyW4.js} +1 -1
  250. package/server/{review-artifacts-CXywD0F2.js → review-artifacts-nRDPuMxd.js} +5 -5
  251. package/server/{review-context-OYfKUprb.js → review-context-2uj-YQ8J.js} +70 -26
  252. package/server/review-status-btEYlaxA.js +3 -0
  253. package/server/{review-status-enrichment-crNAtIpL.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
  254. package/server/{review-status-DFRjDFef.js → review-status-kZj_KyCk.js} +77 -28
  255. package/server/{review-status-sync-DpAMD_WO.js → review-status-sync-BTOpxtTC.js} +10 -5
  256. package/server/{review-status-sync-D60PJWNL.js → review-status-sync-DSDK3OMy.js} +1 -1
  257. package/server/{review-verdict-feedback-CpUZl5aE.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
  258. package/server/{review-verdict-feedback-JImjut0z.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
  259. package/server/{rollup-CZ02qgxk.js → rollup-BKQC7jp4.js} +1 -1
  260. package/server/{rollup-SyuF09e4.js → rollup-FGsKki9R.js} +8 -8
  261. package/server/{scanner-Br0Z5S6R.js → scanner-CnqEZeDy.js} +45 -14
  262. package/server/{sequence-io-fxU0DlwW.js → sequence-io-D909zgeH.js} +4 -4
  263. package/server/{sequencer-agent-B5YC5XVP.js → sequencer-agent-CzkcK6P5.js} +5 -5
  264. package/server/server.js +2961 -919
  265. package/server/{service-Bagb90KZ.js → service-CLeAoU6G.js} +55 -54
  266. package/server/{session-fork-BqQxd-V6.js → session-fork-CHI1XvL9.js} +2 -2
  267. package/server/{session-history-XdS0JKp3.js → session-history-BT3IvqhC.js} +4 -4
  268. package/server/settings-66A6uvIA.js +2 -0
  269. package/server/{settings-BNbocWOg.js → settings-BTMvpNFU.js} +3 -3
  270. package/server/{settings-uLc6DEYI.js → settings-C0zgxOGf.js} +2 -2
  271. package/server/{shadow-engineering-D4X_s3fA.js → shadow-engineering-BJfgm-hX.js} +2 -2
  272. package/server/{shadow-state-C_NkP-sa.js → shadow-state-7a-524T8.js} +2 -2
  273. package/server/{shadow-state-CbvsN3qG.js → shadow-state-DnDyjujH.js} +1 -1
  274. package/server/{shadow-utils-CYMRPeRT.js → shadow-utils-Db3oroFG.js} +2 -2
  275. package/server/{ship-log-__QtAFXG.js → ship-log-D9MlVzYU.js} +1 -1
  276. package/server/{smart-compaction-jdMkG1vo.js → smart-compaction-CV2ukKND.js} +1 -1
  277. package/server/{smart-compaction-CLZOWin1.js → smart-compaction-KCYScAU1.js} +7 -7
  278. package/server/{spawn-planning-session-D5OXo8pT.js → spawn-planning-session-DKpdFyOC.js} +35 -27
  279. package/server/{spawn-planning-session-8D6mE033.js → spawn-planning-session-qUC2VWu3.js} +1 -1
  280. package/server/{specialist-completion-CqmduO92.js → specialist-completion-Ky9wCDpb.js} +1 -1
  281. package/server/{specialist-context-CJ-QjFR-.js → specialist-context-Bn3dCGS2.js} +5 -5
  282. package/server/{specialist-handoff-logger-Dnjlwt7g.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
  283. package/server/{specialist-logs-CQnKzuZs.js → specialist-logs-C5p8G7tx.js} +3 -3
  284. package/server/{specialists-Bg9v4z3F.js → specialists-CC4r-c2s.js} +1015 -460
  285. package/server/{specialists-D0gGXMZx.js → specialists-CShuVGWT.js} +1 -1
  286. package/server/specialists-DM6bWjsi.js +3 -0
  287. package/server/{specialists-CwZHb5cb.js → specialists-jiuuyVkp.js} +66 -74
  288. package/server/specs-C8Wsn2XO.js +3 -0
  289. package/server/{src-BMMoA_ba.js → src-CXmtj0im.js} +6 -6
  290. package/server/{src-Bqdtd6po.js → src-CdmnTM2m.js} +5 -5
  291. package/server/{src-k039WVYY.js → src-DtcUOZCq.js} +112 -18
  292. package/server/stack-health-Bn3o8FBX.js +3 -0
  293. package/server/{stack-health-C-ifC7b0.js → stack-health-DxSdG9cW.js} +63 -9
  294. package/server/{stale-task-claims-L7pJkQFL.js → stale-task-claims-KJKxxiiQ.js} +4 -4
  295. package/server/{staleness-_Tr-GwdA.js → staleness-CT34nwr9.js} +1 -1
  296. package/server/{staleness-BID1BKdr.js → staleness-DPm7ClwA.js} +15 -3
  297. package/server/{state-home-CONQvZR0.js → state-home-Cn_Qu8IX.js} +96 -44
  298. package/server/{state-migrate-BeBW0KXA.js → state-migrate-BGg2ZaOt.js} +12 -3
  299. package/server/{stuck-remediation-CKnIryGT.js → stuck-remediation-DYuPRYYw.js} +307 -26
  300. package/server/{stuck-remediation-CsGD5Ksb.js → stuck-remediation-s9_2qfi6.js} +1 -1
  301. package/server/{substrate-bug-weights-service-CpIZILj9.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
  302. package/server/{summary-fork-bX6ax6X7.js → summary-fork-D1RAk9rJ.js} +78 -12
  303. package/server/{summary-fork-agEMsPSo.js → summary-fork-DpcxN9tf.js} +2 -2
  304. package/server/supervisor/{injection-budget-C1iPirFS.js → injection-budget-Csw5tqfJ.js} +2 -41
  305. package/server/supervisor/pty-supervisor.js +2 -1
  306. package/server/supervisor/pty-token-x-ea28Us.js +43 -0
  307. package/server/supervisor-FTJAIsAK.js +2 -0
  308. package/server/{supervisor-Ctt4eRYz.js → supervisor-wM4ooB5O.js} +3 -3
  309. package/server/{swarm-readiness-DdmJVX7y.js → swarm-readiness-DlP_UjHq.js} +4 -4
  310. package/server/{system-prerequisites-DSXBvffY.js → system-prerequisites-DUDj1YHf.js} +56 -29
  311. package/server/{teardown-workspace-DDCf5n-a.js → teardown-workspace-DeTTImn-.js} +15 -15
  312. package/server/{test-agent-queue-BJZ9Nfcc.js → test-agent-queue-MbxX5vqq.js} +7 -7
  313. package/server/{test-verdict-Cp5tljlJ.js → test-verdict-bWYBtqBg.js} +1 -1
  314. package/server/{test-verdict-D_-sXIz_.js → test-verdict-gscuksPv.js} +1 -1
  315. package/server/{tldr-daemon-B8_oT5gx.js → tldr-daemon-BYFkts95.js} +1 -1
  316. package/server/{tldr-daemon-BQFmmFp0.js → tldr-daemon-C-69c3OI.js} +2 -2
  317. package/server/tmux-B6z7h_vZ.js +3 -0
  318. package/server/{tmux-L5LgvGLp.js → tmux-R7N7y-Mh.js} +76 -44
  319. package/server/{token-BkQLy4yS.js → token-BK6t8BIT.js} +2 -2
  320. package/server/token-util-DuPuNriz.js +3 -0
  321. package/server/{token-util-DI8sGlmF.js → token-util-DxXu-vd1.js} +1 -1
  322. package/server/{tracker-config-DdT-nUAM.js → tracker-config-G6latr8C.js} +2 -2
  323. package/server/{tracker-utils-DV3h1FYG.js → tracker-utils-B4ylXZQK.js} +1 -1
  324. package/server/{tracker-utils-CawsPSS2.js → tracker-utils-DHv5pSDT.js} +2 -2
  325. package/server/{traefik-connect-C6mJckNs.js → traefik-connect-Df2uXPsQ.js} +1 -1
  326. package/server/{tunnel-IdK1iTHx.js → tunnel-CDVKJpRv.js} +3 -3
  327. package/server/{tunnel-BIFl98rc.js → tunnel-DGdUkGoZ.js} +1 -1
  328. package/server/{types-7-GnJn0t.js → types-5M0lupud.js} +1 -1
  329. package/server/{uat-train-0Ujk8GCv.js → uat-train-B05BWkp-.js} +1 -1
  330. package/server/{uat-train-j0cPeMSj.js → uat-train-DDSrSoV1.js} +28 -28
  331. package/server/validate-IfDGkaVR.js +177 -0
  332. package/server/{validation-DcAgXTQp.js → validation-CC9OPqJZ.js} +1 -1
  333. package/server/{validation-CabEISJT.js → validation-Dw1pzDzr.js} +259 -9
  334. package/server/{verification-artifact-Ck1tefmz.js → verification-artifact-B3itKTxu.js} +1 -1
  335. package/server/{verification-artifact-BuTA1QbL.js → verification-artifact-TVFSz_q1.js} +1 -1
  336. package/server/{verification-runner-DlJezzef.js → verification-runner-BW4HOKAz.js} +1 -1
  337. package/server/{verification-runner-FiuAZ-H2.js → verification-runner-CkgX6EtI.js} +174 -124
  338. package/server/{vtt-parser-BnRsYzcz.js → vtt-parser-DYPbKcIJ.js} +1 -1
  339. package/server/{work-agent-prompt-DLthEPAq.js → work-agent-prompt-Du8Vh2aJ.js} +13 -13
  340. package/server/workflows-BQu4RFQ-.js +2 -0
  341. package/server/{workflows-BZNNYkGC.js → workflows-mbQzh6mQ.js} +39 -77
  342. package/server/{workspace-3IC-UkAi.js → workspace--8tnhDI0.js} +1 -1
  343. package/server/{workspace-D9ppycdg.js → workspace-BPUws1-_.js} +3 -3
  344. package/server/{workspace-config-Bigl_-Lk.js → workspace-config-CIVWZOQr.js} +1 -1
  345. package/server/{workspace-manager-ClkCIWTe.js → workspace-manager-CBhNdzE4.js} +76 -18
  346. package/server/workspace-manager-CWT55qeI.js +3 -0
  347. package/server/{workspace-metadata-BE0efUv_.js → workspace-metadata-BzHnwwX4.js} +1 -1
  348. package/server/{workspace-metadata-tiSRIWJP.js → workspace-metadata-_WygnyoX.js} +2 -2
  349. package/server/{workspaces-CFPcL0vl.js → workspaces-Do_9J0LQ.js} +309 -124
  350. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  351. package/sync-sources/agents/pan-merge-agent.md +1 -1
  352. package/sync-sources/agents/pan-planning-agent.md +4 -4
  353. package/sync-sources/agents/pan-work-agent.md +1 -1
  354. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  355. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  356. package/sync-sources/hooks/record-cost-event.js +369 -75
  357. package/sync-sources/hooks/session-start-hook +7 -0
  358. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  359. package/sync-sources/rules/per-bead-durability.md +1 -1
  360. package/sync-sources/rules/prd-authoring.md +1 -1
  361. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  362. package/sync-sources/skills/okf/README.md +11 -3
  363. package/sync-sources/skills/okf/SKILL.md +12 -1
  364. package/sync-sources/skills/okf/docs/USAGE.md +15 -0
  365. package/sync-sources/skills/okf/references/overdeck.md +28 -0
  366. package/sync-sources/skills/pan/SKILL.md +2 -2
  367. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  368. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  369. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  370. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  371. package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
  372. package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
  373. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  374. package/sync-sources/skills/pan-orders/SKILL.md +33 -0
  375. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  376. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  377. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  378. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  379. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  380. package/sync-sources/skills/pan-start/SKILL.md +7 -3
  381. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  382. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  383. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  384. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  385. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  386. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  387. package/sync-sources/skills/plan/SKILL.md +11 -11
  388. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  389. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  390. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  391. package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
  392. package/server/agent-state-Co5Sy2Fw.js +0 -3
  393. package/server/agents-DyHKlq1I.js +0 -3
  394. package/server/cli-BRORS9qY.js +0 -3
  395. package/server/codex-DNyiQDKW.js +0 -3
  396. package/server/context-layers-15gDOk20.js +0 -165
  397. package/server/context-layers-DlQKkHH2.js +0 -4
  398. package/server/deacon-swarm-CV54eNmU.js +0 -2
  399. package/server/dist-j64RzSrQ.js +0 -3
  400. package/server/flywheel-6WHU4O7A.js +0 -207
  401. package/server/flywheel-COR0mbRI.js +0 -522
  402. package/server/flywheel-Ctr5uuvo.js +0 -2
  403. package/server/forge-B0_opi-V.js +0 -2
  404. package/server/git-utils-CsKGnzFA.js +0 -3
  405. package/server/hume-BmhvfVbV.js +0 -3
  406. package/server/inspect-agent-Dq0z1k3H.js +0 -2
  407. package/server/layers-Cp1To4L8.js +0 -93
  408. package/server/lifecycle-io-DmY2qwCn.js +0 -3
  409. package/server/merge-blockers-BYjeXrVN.js +0 -41
  410. package/server/merge-ops-DwWCkSgo.js +0 -2
  411. package/server/merge-set-DiISXcC-.js +0 -139
  412. package/server/projects-BKkwpH6q.js +0 -3
  413. package/server/public/assets/index-Bdc4V9ba.css +0 -1
  414. package/server/public/assets/mermaid-GHXKKRXX-B5v_r7cI.js +0 -1
  415. package/server/rally-OSJXdiHK.js +0 -3
  416. package/server/rebuild-stack-CKjJAI8L.js +0 -3
  417. package/server/record-rwK-nKv_.js +0 -3
  418. package/server/record-update-Crz74r-6.js +0 -168
  419. package/server/resume-wZZsWtzz.js +0 -3
  420. package/server/review-status-Bnh-rdkY.js +0 -3
  421. package/server/settings-BlUsVaUc.js +0 -2
  422. package/server/specialists-Dqe6_HE5.js +0 -3
  423. package/server/specs-BhOKBzqk.js +0 -3
  424. package/server/stack-health-Bd06frFn.js +0 -3
  425. package/server/supervisor-COVHrBTg.js +0 -2
  426. package/server/tmux-BAvtac_u.js +0 -3
  427. package/server/token-util-BArZLN6w.js +0 -3
  428. package/server/workflows-C4mR0Reb.js +0 -2
  429. package/server/workspace-manager-B1WOfKvB.js +0 -3
@@ -1,31 +1,31 @@
1
1
  import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as derefWorkhorse, Bt as resolveProjectForIssue, Hn as init_projects, Mr as AGENTS_DIR, Mt as getProjectConfigFromWorkspacePath, Nt as init_record, Vr as OVERDECK_HOME, f as loadConfigSync, ii as init_paths, jr as init_errors, nr as resolveProjectFromIssueSync, ri as getOverdeckHome, t as init_config_yaml, zt as readRecordContinueViewSync } from "./config-yaml-ig8Nwtiw.js";
2
+ import { $ as derefWorkhorse, Br as getOverdeckHome, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ot as init_record, Pt as readRecordContinueViewSync, Tn as init_projects, Vr as init_paths, f as loadConfigSync, hr as AGENTS_DIR, mr as init_errors, t as init_config_yaml, wr as OVERDECK_HOME, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
4
- import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-D4iNWMA5.js";
5
- import { D as killSession, H as sessionExistsSync, V as sessionExists, m as exactPaneTarget, w as init_tmux } from "./tmux-L5LgvGLp.js";
6
- import { c as init_review_status, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-DFRjDFef.js";
7
- import { n as init_issues, t as IssueId } from "./issues-pDW9VUNz.js";
8
- import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-Codk1pc2.js";
9
- import { Dn as getAgentDir, F as isContextOverflowTail, Gn as saveAgentStateSync, N as init_context_overflow, X as spawnAgent, a as listRunningAgentsSync, br as parseOhmypiSessionCostResultSync, et as stopAgentSync, fr as saveAgentRuntimeState, jn as getAgentStateSync, kn as getAgentState, s as init_agents, ur as getAgentRuntimeStateSync, yr as init_ohmypi_parser } from "./queries-ZABd5aXP.js";
10
- import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-jl8AeAmB.js";
11
- import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-D_cre6WM.js";
12
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-D_RVYBuL.js";
4
+ import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-BEqFxlJc.js";
5
+ import { D as killSession, H as sessionExists, U as sessionExistsSync, m as exactPaneTarget, w as init_tmux } from "./tmux-R7N7y-Mh.js";
6
+ import { b as setReviewStatusSync, d as loadReviewStatuses, l as init_review_status } from "./review-status-kZj_KyCk.js";
7
+ import { n as init_issues, t as IssueId } from "./issues-BMmP_77e.js";
8
+ import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-B2ddP6wq.js";
9
+ import { Ar as saveAgentRuntimeState, Gn as getAgentDir, J as isContextOverflowTail, K as init_context_overflow, Lr as init_ohmypi_parser, Or as getAgentRuntimeStateSync, Rr as parseOhmypiSessionCostResultSync, Yn as getAgentStateSync, a as listRunningAgentsSync, b as init_agents, lr as saveAgentStateSync, lt as spawnAgent, pt as stopAgentSync, qn as getAgentState } from "./queries-CjNIf-Ub.js";
10
+ import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-CFZ1_1Jl.js";
11
+ import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-BsN6ER0n.js";
12
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-Yx5DdmVJ.js";
13
13
  import { r as isRoleTerminal } from "./review-status-source-CxuEjLGg.js";
14
- import { m as readWorkspacePlanSync, o as init_io } from "./io-DQR9PMgS.js";
15
- import { a as requireModelOverrideSync, r as init_model_validation } from "./launcher-generator-COgR2By1.js";
16
- import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-D_odMIaC.js";
17
- import { n as checkHookSync, p as init_hooks } from "./hooks-yxRsjk-z.js";
18
- import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-DeTsoZdR.js";
19
- import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-DG9eiMVz.js";
20
- import { o as getRuntimeForAgent } from "./stuck-remediation-CKnIryGT.js";
21
- import "./flywheel-COR0mbRI.js";
22
- import { B as recordDeadEndNeedsYou, C as getLastPatrolResult, D as isDeaconRunning, N as runPatrol, R as startDeacon, S as getDeaconStatus, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-CkT_kznS.js";
23
- import { n as renderPrompt, t as init_prompts } from "./prompts-EvhMeeHG.js";
24
- import { H as getTmuxSessionName, t as init_specialists } from "./specialists-CwZHb5cb.js";
25
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-DtmJM0D0.js";
26
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-CqnUzGEK.js";
27
- import { m as init_pickup, n as LEGACY_PARKED_LABELS } from "./pickup-CaskQ7j6.js";
28
- import { r as writeHealthEvent } from "./health-events-DREeevle.js";
14
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-C9kF1wtJ.js";
15
+ import { i as init_model_validation, o as requireModelOverrideSync } from "./launcher-generator-BBWG_SiS.js";
16
+ import { _ as setDeaconGloballyPaused, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, g as setCloisterSpawnsPausedSync, s as init_control_settings, x as setFlywheelGloballyPaused } from "./control-settings-BQp7_4uD.js";
17
+ import { n as checkHookSync, p as init_hooks } from "./hooks-CKZgXlJb.js";
18
+ import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-CKxYiCmX.js";
19
+ import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-BtHPo6Xc.js";
20
+ import { o as getRuntimeForAgent } from "./stuck-remediation-DYuPRYYw.js";
21
+ import { m as init_pickup, n as LEGACY_PARKED_LABELS } from "./pickup-DUCLWrJY.js";
22
+ import "./flywheel-DHrgCphM.js";
23
+ import { B as recordDeadEndNeedsYou, C as getLastPatrolResult, D as isDeaconRunning, N as runPatrol, R as startDeacon, S as getDeaconStatus, St as deliverOrchestratedCompact, n as assessDeaconPatrolFreshness, x as getDeaconLogs, z as stopDeacon } from "./deacon-CU_cAYSR.js";
24
+ import { n as renderPrompt, t as init_prompts } from "./prompts-DxzFXuLl.js";
25
+ import { U as getTmuxSessionName, t as init_specialists } from "./specialists-jiuuyVkp.js";
26
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-CDJk4pIp.js";
27
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BkaOqPsw.js";
28
+ import { r as writeHealthEvent } from "./health-events-BBcTYQKU.js";
29
29
  import { join } from "node:path";
30
30
  import { Context, Data, Effect, Layer, Schema } from "effect";
31
31
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
@@ -695,6 +695,7 @@ HttpApiGroup.make("costs").add(HttpApiEndpoint.get("summary", "/costs/summary",
695
695
  "claude",
696
696
  "ohmypi",
697
697
  "codex",
698
+ "acp",
698
699
  "wal"
699
700
  ])),
700
701
  dryRun: Schema.optional(Schema.Boolean),
@@ -738,6 +739,7 @@ init_review_status();
738
739
  init_io();
739
740
  init_control_settings();
740
741
  init_hooks();
742
+ init_pickup();
741
743
  init_agents();
742
744
  init_config();
743
745
  /**
@@ -907,7 +909,7 @@ async function captureGitState(context, workspace) {
907
909
  }
908
910
  }
909
911
  /**
910
- * Capture merged vBRIEF task state.
912
+ * Capture merged xBRIEF task state.
911
913
  */
912
914
  function captureTasks(context, workspace) {
913
915
  try {
@@ -981,7 +983,7 @@ function serializeHandoffContext(context) {
981
983
  lines.push("");
982
984
  }
983
985
  if (context.continueState) {
984
- lines.push("## Current State (continue.vbrief.json)");
986
+ lines.push("## Current State (.overdeck/continue.json)");
985
987
  lines.push("");
986
988
  lines.push("```json");
987
989
  lines.push(JSON.stringify(context.continueState, null, 2));
@@ -1380,7 +1382,6 @@ function getCostSummary() {
1380
1382
  //#endregion
1381
1383
  //#region ../../lib/cloister/autonomous-plan-dispatch.ts
1382
1384
  init_agents();
1383
- init_pickup();
1384
1385
  async function gatherAutonomousPlanDispatchInput(issueId) {
1385
1386
  const normalizedIssueId = issueId.trim().toUpperCase();
1386
1387
  const issueLower = normalizedIssueId.toLowerCase();
@@ -1595,7 +1596,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1595
1596
  });
1596
1597
  return;
1597
1598
  }
1598
- const { getReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
1599
+ const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
1599
1600
  if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
1600
1601
  const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
1601
1602
  console.log(`[cloister] ${message}`);
@@ -1662,7 +1663,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1662
1663
  return;
1663
1664
  }
1664
1665
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1665
- const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
1666
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
1666
1667
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1667
1668
  issueId: normalizedIssueId,
1668
1669
  workspace,
@@ -1680,7 +1681,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1680
1681
  }
1681
1682
  if (role === "test") {
1682
1683
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1683
- const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-BJZ9Nfcc.js");
1684
+ const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-MbxX5vqq.js");
1684
1685
  await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
1685
1686
  const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
1686
1687
  console.log(`[cloister] ${message}`);
@@ -1692,7 +1693,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1692
1693
  });
1693
1694
  return;
1694
1695
  }
1695
- const { spawnRun } = await import("./agents-DyHKlq1I.js");
1696
+ const { spawnRun } = await import("./agents-wi9NWzs2.js");
1696
1697
  if (role === "plan") {
1697
1698
  const decision = decideAutonomousPlanDispatch(await gatherAutonomousPlanDispatchInput(normalizedIssueId));
1698
1699
  if (!decision.allow) {
@@ -1797,27 +1798,27 @@ async function handleCloisterDomainEventPromise(event) {
1797
1798
  if (event.type === "agent.stopped") {
1798
1799
  const agentId = event.payload?.agentId;
1799
1800
  if (agentId) {
1800
- const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-B8HbQdqU.js");
1801
- const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-DrCv0OAG.js");
1801
+ const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-kiQrb4ZT.js");
1802
+ const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-CuLF0j2H.js");
1802
1803
  handleAgentLifecycleEventForIdleStack(agentId);
1803
1804
  const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
1804
1805
  await Promise.all([
1805
1806
  handleAgentStoppedEvent(agentId),
1806
1807
  handleAgentStoppedForOrphanReviewerSessions(agentId),
1807
- slotMatch ? (await import("./deacon-swarm-CV54eNmU.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1808
+ slotMatch ? (await import("./deacon-swarm-C-GwfjJy.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1808
1809
  ]);
1809
1810
  }
1810
1811
  return;
1811
1812
  }
1812
1813
  if (event.type === "agent.started") {
1813
1814
  const agentId = event.payload?.agentId;
1814
- if (agentId) (await import("./idle-stack-reaper-DrCv0OAG.js")).handleAgentLifecycleEventForIdleStack(agentId);
1815
+ if (agentId) (await import("./idle-stack-reaper-CuLF0j2H.js")).handleAgentLifecycleEventForIdleStack(agentId);
1815
1816
  return;
1816
1817
  }
1817
1818
  if (event.type === "agent.heartbeat_dead") {
1818
1819
  const agentId = event.payload?.agentId;
1819
1820
  if (agentId) {
1820
- const { handleAgentHeartbeatDeadEvent } = await import("./deacon-B8HbQdqU.js");
1821
+ const { handleAgentHeartbeatDeadEvent } = await import("./deacon-kiQrb4ZT.js");
1821
1822
  await handleAgentHeartbeatDeadEvent(agentId, "event");
1822
1823
  }
1823
1824
  return;
@@ -1826,7 +1827,7 @@ async function handleCloisterDomainEventPromise(event) {
1826
1827
  const payload = event.payload;
1827
1828
  const issueId = payload?.issueId;
1828
1829
  if (issueId) {
1829
- const { handleReviewCoordinatorDied } = await import("./deacon-B8HbQdqU.js");
1830
+ const { handleReviewCoordinatorDied } = await import("./deacon-kiQrb4ZT.js");
1830
1831
  await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
1831
1832
  }
1832
1833
  return;
@@ -1834,7 +1835,7 @@ async function handleCloisterDomainEventPromise(event) {
1834
1835
  if (event.type === "work.completed") {
1835
1836
  const issueId = event.payload?.issueId;
1836
1837
  if (issueId) {
1837
- const { handleWorkCompleted } = await import("./deacon-B8HbQdqU.js");
1838
+ const { handleWorkCompleted } = await import("./deacon-kiQrb4ZT.js");
1838
1839
  await handleWorkCompleted(issueId);
1839
1840
  }
1840
1841
  }
@@ -1845,12 +1846,12 @@ async function handleCloisterDomainEventPromise(event) {
1845
1846
  const status = payload?.status?.toLowerCase();
1846
1847
  if (issueId) {
1847
1848
  if (canonicalStatus === "closed" || status === "closed") {
1848
- const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-DXP2Xyv3.js");
1849
+ const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-CktPXo8m.js");
1849
1850
  await handleIssueStatusChangedClosed(issueId);
1850
1851
  return;
1851
1852
  }
1852
1853
  if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
1853
- const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-DSvsJ5M7.js");
1854
+ const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-CTSGcK8p.js");
1854
1855
  await handleOrphanProposedSpec(issueId);
1855
1856
  }
1856
1857
  }
@@ -2548,7 +2549,7 @@ async function performHealthCheck(host) {
2548
2549
  for (const health of needsAttention) {
2549
2550
  const idleAgentState = getAgentStateSync(health.agentId);
2550
2551
  if (idleAgentState?.role === "sequencer") continue;
2551
- const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-CsGD5Ksb.js");
2552
+ const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-s9_2qfi6.js");
2552
2553
  if (shouldSkipIdlePokeForAgent(idleAgentState)) {
2553
2554
  host.pokeProgress.delete(health.agentId);
2554
2555
  continue;
@@ -2795,7 +2796,7 @@ async function checkCompletionMarkers(host) {
2795
2796
  if (retryCount === Infinity) host.processedCompletions.delete(dir.name);
2796
2797
  else if (retryCount >= 3) continue;
2797
2798
  const issueId = dir.name.replace("agent-", "").toUpperCase();
2798
- const { getReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
2799
+ const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
2799
2800
  const existingReview = getReviewStatusSync(issueId);
2800
2801
  if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
2801
2802
  console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
@@ -2950,7 +2951,7 @@ async function pokeAgentWithEscalation(host, agentId) {
2950
2951
  ineffective
2951
2952
  });
2952
2953
  if (ineffective >= 4) {
2953
- const { setAgentPausedSync } = await import("./agent-state-Co5Sy2Fw.js");
2954
+ const { setAgentPausedSync } = await import("./agent-state-Bc3tzUC8.js");
2954
2955
  try {
2955
2956
  setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
2956
2957
  host.emit({
@@ -2983,9 +2984,9 @@ async function pokeAgentWithEscalation(host, agentId) {
2983
2984
  if (isContextOverflowTail(tail)) {
2984
2985
  pokeMessage = "/compact";
2985
2986
  console.log(`🔔 ${agentId}: overflow tail detected — delivering /compact instead of a poke`);
2986
- } else pokeMessage = "You appear active but have made no observable progress (no new commits, unchanged output) across multiple checks. Do exactly one of: (1) work is done — commit, push, and run pan done; (2) blocked — state the blocker in one sentence and commit what you have as WIP; (3) lost context — re-read your vBRIEF item (`pan task show`), your latest .pan/feedback/ file, and git status, then resume. Act now.";
2987
+ } else pokeMessage = "You appear active but have made no observable progress (no new commits, unchanged output) across multiple checks. Do exactly one of: (1) work is done — commit, push, and run pan done; (2) blocked — state the blocker in one sentence and commit what you have as WIP; (3) lost context — re-read your xBRIEF item (`pan task show`), your latest .pan/feedback/ file, and git status, then resume. Act now.";
2987
2988
  }
2988
- await Promise.resolve(runtime.sendMessage(agentId, pokeMessage)).catch((sendErr) => {
2989
+ await (pokeMessage === "/compact" ? deliverOrchestratedCompact(agentId, () => Promise.resolve(runtime.sendMessage(agentId, pokeMessage))) : Promise.resolve(runtime.sendMessage(agentId, pokeMessage))).catch((sendErr) => {
2989
2990
  console.error(`Failed to send poke to ${agentId}:`, sendErr);
2990
2991
  });
2991
2992
  host.emit({
@@ -3041,7 +3042,7 @@ async function handleAgentCrash(host, agentId) {
3041
3042
  if (skipReason) {
3042
3043
  let recoverUnfinishedOneShot = false;
3043
3044
  if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
3044
- const { getReviewStatusSync } = await import("./review-status-Bnh-rdkY.js");
3045
+ const { getReviewStatusSync } = await import("./review-status-btEYlaxA.js");
3045
3046
  const status = getReviewStatusSync(agentState.issueId);
3046
3047
  recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
3047
3048
  reviewStatus: status.reviewStatus,
@@ -3477,7 +3478,7 @@ var CloisterService = class {
3477
3478
  let clearedSpecialistCount = 0;
3478
3479
  try {
3479
3480
  if (existsSync(AGENTS_DIR)) {
3480
- const { isRunning: isSpecialistRunning } = await import("./specialists-Dqe6_HE5.js");
3481
+ const { isRunning: isSpecialistRunning } = await import("./specialists-DM6bWjsi.js");
3481
3482
  const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
3482
3483
  for (const entry of entries) {
3483
3484
  if (!entry.isDirectory()) continue;
@@ -3512,8 +3513,8 @@ var CloisterService = class {
3512
3513
  }
3513
3514
  try {
3514
3515
  const reviewStatuses = loadReviewStatuses();
3515
- const { resolveProjectFromIssueSync } = await import("./projects-BKkwpH6q.js");
3516
- const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-Dqe6_HE5.js");
3516
+ const { resolveProjectFromIssueSync } = await import("./projects-vjjcmiN8.js");
3517
+ const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-DM6bWjsi.js");
3517
3518
  const activeReviewIssues = /* @__PURE__ */ new Set();
3518
3519
  try {
3519
3520
  const projSpecs = await getAllProjectSpecialistStatuses();
@@ -3524,7 +3525,7 @@ var CloisterService = class {
3524
3525
  }
3525
3526
  const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
3526
3527
  if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
3527
- const { listRunningAgents } = await import("./agents-DyHKlq1I.js");
3528
+ const { listRunningAgents } = await import("./agents-wi9NWzs2.js");
3528
3529
  const agents = await Effect.runPromise(listRunningAgents());
3529
3530
  for (const agent of agents) {
3530
3531
  if (agent.status === "stopped" || agent.status === "error") continue;
@@ -3567,7 +3568,7 @@ var CloisterService = class {
3567
3568
  continue;
3568
3569
  }
3569
3570
  const branch = `feature/${issueId.toLowerCase()}`;
3570
- const { spawnReviewRoleForIssue } = await import("./review-agent-CCum8sGe.js");
3571
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DNboMyW4.js");
3571
3572
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
3572
3573
  issueId,
3573
3574
  workspace,
@@ -3655,7 +3656,7 @@ var CloisterService = class {
3655
3656
  console.log(" ✓ Cloister event store provider installed");
3656
3657
  return;
3657
3658
  }
3658
- const { initEventStore } = await import("./event-store-CpBGsO6_.js");
3659
+ const { initEventStore } = await import("./event-store-EV2cMiXj.js");
3659
3660
  const store = await initEventStore();
3660
3661
  this.eventStore = store;
3661
3662
  this.domainEventUnsubscribe = store.subscribe((event) => {
@@ -4005,4 +4006,4 @@ function getCloisterService() {
4005
4006
  //#endregion
4006
4007
  export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
4007
4008
 
4008
- //# sourceMappingURL=service-Bagb90KZ.js.map
4009
+ //# sourceMappingURL=service-CLeAoU6G.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Xr as encodeClaudeProjectDir, ii as init_paths } from "./config-yaml-ig8Nwtiw.js";
2
+ import { Nr as encodeClaudeProjectDir, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
3
3
  import { join } from "node:path";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
5
  import { randomUUID } from "node:crypto";
@@ -96,4 +96,4 @@ __esmMin((() => {
96
96
  }))();
97
97
  export { copySessionForFork, reserveForkSession };
98
98
 
99
- //# sourceMappingURL=session-fork-BqQxd-V6.js.map
99
+ //# sourceMappingURL=session-fork-CHI1XvL9.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ii as init_paths, ri as getOverdeckHome } from "./config-yaml-ig8Nwtiw.js";
3
- import { o as getHarnessBehavior } from "./src-k039WVYY.js";
4
- import { t as init_behavior } from "./behavior-CGj16clS.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
3
+ import { o as getHarnessBehavior } from "./src-DtcUOZCq.js";
4
+ import { t as init_behavior } from "./behavior-B3exJ42O.js";
5
5
  import { Effect } from "effect";
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
7
  import { join } from "path";
@@ -165,4 +165,4 @@ var init_session_history = __esmMin((() => {
165
165
  //#endregion
166
166
  export { persistCurrentSessionId as a, logDeaconEventSync as c, isAgentStateServiceInProcess as d, markAgentStateServiceInProcess as f, logLauncherSessionPinned as i, getRuntimeSnapshot as l, createFreshSessionIdentity as n, init_persistent_logger as o, setAgentRuntimeMirror as p, init_session_history as r, logAgentLifecycleSync as s, appendSessionIdToHistory as t, init_agent_runtime_mirror as u };
167
167
 
168
- //# sourceMappingURL=session-history-XdS0JKp3.js.map
168
+ //# sourceMappingURL=session-history-BT3IvqhC.js.map
@@ -0,0 +1,2 @@
1
+ import { t as getAgentCommandSync } from "./settings-C0zgxOGf.js";
2
+ export { getAgentCommandSync };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-ig8Nwtiw.js";
3
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Bc-Bmiye.js";
2
+ import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
3
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-ez2271oH.js";
4
4
  import { readFile } from "fs/promises";
5
5
  //#region ../../lib/memory/settings.ts
6
6
  async function loadMemorySettings(configPath = getGlobalConfigPath()) {
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
101
101
  //#endregion
102
102
  export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
103
103
 
104
- //# sourceMappingURL=settings-BNbocWOg.js.map
104
+ //# sourceMappingURL=settings-BTMvpNFU.js.map
@@ -1,4 +1,4 @@
1
- import { ii as init_paths, jr as init_errors } from "./config-yaml-ig8Nwtiw.js";
1
+ import { Vr as init_paths, mr as init_errors } from "./config-yaml-DySPNmKN.js";
2
2
  import "effect";
3
3
  import "fs";
4
4
  //#region ../../lib/settings.ts
@@ -45,4 +45,4 @@ function getAgentCommandSync(modelId) {
45
45
  //#endregion
46
46
  export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
47
47
 
48
- //# sourceMappingURL=settings-uLc6DEYI.js.map
48
+ //# sourceMappingURL=settings-C0zgxOGf.js.map
@@ -1,5 +1,5 @@
1
1
  import { a as PAN_DIRNAME } from "./types-hraoaQIp.js";
2
- import { t as init_pan_dir } from "./pan-dir-DOcf6ug3.js";
2
+ import { t as init_pan_dir } from "./pan-dir-B0c3w0Ya.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ init_pan_dir();
221
221
  //#endregion
222
222
  export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
223
223
 
224
- //# sourceMappingURL=shadow-engineering-D4X_s3fA.js.map
224
+ //# sourceMappingURL=shadow-engineering-BJfgm-hX.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ii as init_paths, ri as getOverdeckHome } from "./config-yaml-ig8Nwtiw.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
287
287
  //#endregion
288
288
  export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
289
289
 
290
- //# sourceMappingURL=shadow-state-C_NkP-sa.js.map
290
+ //# sourceMappingURL=shadow-state-7a-524T8.js.map
@@ -1,3 +1,3 @@
1
- import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-C_NkP-sa.js";
1
+ import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-7a-524T8.js";
2
2
  init_shadow_state();
3
3
  export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
@@ -1,5 +1,5 @@
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-DySPNmKN.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -36,4 +36,4 @@ var init_shadow_utils = __esmMin((() => {
36
36
  //#endregion
37
37
  export { init_shadow_utils as n, getLinearApiKey as t };
38
38
 
39
- //# sourceMappingURL=shadow-utils-CYMRPeRT.js.map
39
+ //# sourceMappingURL=shadow-utils-Db3oroFG.js.map
@@ -36,4 +36,4 @@ function getShipLog(issueId) {
36
36
  //#endregion
37
37
  export { appendShipLog, beginShipLog, getShipLog };
38
38
 
39
- //# sourceMappingURL=ship-log-__QtAFXG.js.map
39
+ //# sourceMappingURL=ship-log-D9MlVzYU.js.map
@@ -1,3 +1,3 @@
1
- import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-CLZOWin1.js";
1
+ import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-KCYScAU1.js";
2
2
  init_smart_compaction();
3
3
  export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as ProcessSpawnError, jr as init_errors, xr as FsError } from "./config-yaml-ig8Nwtiw.js";
3
- import { o as getHarnessBehavior } from "./src-k039WVYY.js";
4
- import { N as init_context_overflow, P as isContextOverflowError, in as buildSpawnEnvForModel, on as getProviderEnvForModel, s as init_agents } from "./queries-ZABd5aXP.js";
5
- import { t as init_behavior } from "./behavior-CGj16clS.js";
6
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-nSFKH78M.js";
7
- import { n as recordBackgroundAiCost, t as init_cost } from "./cost-wH46-WsJ.js";
2
+ import { ir as FsError, mr as init_errors, ur as ProcessSpawnError } from "./config-yaml-DySPNmKN.js";
3
+ import { o as getHarnessBehavior } from "./src-DtcUOZCq.js";
4
+ import { Cn as getProviderEnvForModel, K as init_context_overflow, b as init_agents, q as isContextOverflowError, xn as buildSpawnEnvForModel } from "./queries-CjNIf-Ub.js";
5
+ import { t as init_behavior } from "./behavior-B3exJ42O.js";
6
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-DNWEVV6z.js";
7
+ import { n as recordBackgroundAiCost, t as init_cost } from "./cost-R-m6Yi-W.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { tmpdir } from "node:os";
@@ -850,4 +850,4 @@ Be thorough. Preserve exact file paths, function names, error messages, and code
850
850
  //#endregion
851
851
  export { runModelSummary as a, truncateHeadTail as c, parseEntries as i, generateSummaryFromPrompt as n, serializeConversation as o, init_smart_compaction as r, summarizeSerializedText as s, generateSmartSummary as t };
852
852
 
853
- //# sourceMappingURL=smart-compaction-CLZOWin1.js.map
853
+ //# sourceMappingURL=smart-compaction-KCYScAU1.js.map
@@ -1,16 +1,17 @@
1
- import { Bt as resolveProjectForIssue, Dn as extractTeamPrefix, Hn as init_projects, Mt as getProjectConfigFromWorkspacePath, Nt as init_record, f as loadConfigSync, jn as findProjectByTeamSync, kn as findProjectByPathSync, kt as getIssueRecordPath, t as init_config_yaml, tt as resolveModel, xt as appendSessionEntrySync } from "./config-yaml-ig8Nwtiw.js";
2
- import { D as killSession, J as BLANKED_PROVIDER_ENV, U as setOption, V as sessionExists, Z as init_child_env, m as exactPaneTarget, r as buildTmuxCommandString, s as createSession, w as init_tmux } from "./tmux-L5LgvGLp.js";
3
- import { o as getHarnessBehavior } from "./src-k039WVYY.js";
4
- import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-C12WgkaB.js";
5
- import { Gn as saveAgentStateSync, Ht as getAgentRuntimeBaseCommand, Ut as getCodexLauncherFields, Wt as getOhmypiLauncherFields, Yt as roleAgentDefinitionPath, jn as getAgentStateSync, jt as retrieveSpawnTimeMemoryContext, qt as init_runtime_command, s as init_agents, sn as getProviderExportsForModel, vt as deliverInitialPromptWithRetry } from "./queries-ZABd5aXP.js";
6
- import { t as init_behavior } from "./behavior-CGj16clS.js";
7
- import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-COgR2By1.js";
8
- import { h as workspaceContextFile, o as init_layers } from "./layers-Cp1To4L8.js";
9
- import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-B2CTcD84.js";
10
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-D5FVQTmy.js";
11
- import { c as ensureWorkspacePanDir, r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-DOcf6ug3.js";
12
- import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-ClkCIWTe.js";
13
- import { n as renderPrompt, t as init_prompts } from "./prompts-EvhMeeHG.js";
1
+ import { Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ot as init_record, Tn as init_projects, f as loadConfigSync, fn as findProjectByPathSync, mn as findProjectByTeamSync, t as init_config_yaml, tt as resolveModel, un as extractTeamPrefix, wt as getIssueRecordPath, yt as appendSessionEntrySync } from "./config-yaml-DySPNmKN.js";
2
+ import { $ as init_child_env, D as killSession, H as sessionExists, W as setOption, X as BLANKED_PROVIDER_ENV, m as exactPaneTarget, r as buildTmuxCommandString, s as createSession, w as init_tmux } from "./tmux-R7N7y-Mh.js";
3
+ import { o as getHarnessBehavior } from "./src-DtcUOZCq.js";
4
+ import { n as ensureSessionContextBriefingFile, r as init_briefing_freshness } from "./briefing-freshness-D1wzUIWv.js";
5
+ import { Wt as retrieveSpawnTimeMemoryContext, Yn as getAgentStateSync, b as init_agents, in as getOhmypiLauncherFields, jt as deliverInitialPromptWithRetry, ln as roleAgentDefinitionPath, lr as saveAgentStateSync, nn as getAgentRuntimeBaseCommand, rn as getCodexLauncherFields, sn as init_runtime_command, tn as getAcpLauncherFields, wn as getProviderExportsForModel } from "./queries-CjNIf-Ub.js";
6
+ import { t as init_behavior } from "./behavior-B3exJ42O.js";
7
+ import { N as ensureWorkspacePanDir } from "./io-C9kF1wtJ.js";
8
+ import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-BBWG_SiS.js";
9
+ import { E as init_layers, I as workspaceContextFile } from "./assemble-J2ZZ2C15.js";
10
+ import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-DPUi-Pv8.js";
11
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-3lNZkyT4.js";
12
+ import { r as writeWorkspaceContext, t as init_pan_dir } from "./pan-dir-B0c3w0Ya.js";
13
+ import { r as init_workspace_manager, t as createWorkspace } from "./workspace-manager-CBhNdzE4.js";
14
+ import { n as renderPrompt, t as init_prompts } from "./prompts-DxzFXuLl.js";
14
15
  import { join, resolve } from "node:path";
15
16
  import { Effect } from "effect";
16
17
  import { homedir } from "node:os";
@@ -207,7 +208,7 @@ ${repos.map((r) => `| \`${r.name}/\` | Git worktree for ${r.path} |`).join("\n")
207
208
  let childStoriesSection = "";
208
209
  if (issue.childStories && issue.childStories.length > 0) {
209
210
  const storyLines = issue.childStories.map((s) => `- **${s.ref}**: ${s.title} (status: ${s.status})\n ${s.description || ""}`.trim());
210
- childStoriesSection = `\n## Child Stories\n\n**This Rally Feature has ${issue.childStories.length} child story(ies).** Reference these existing stories during planning — do NOT create new ones.\n\n${storyLines.join("\n\n")}\n\n**Cross-story dependencies:** If any child story must be completed before another, encode this as a \\\`blocks\\\` edge in the vBRIEF plan between the corresponding beads. Use \\\`informs\\\` for softer ordering hints.\n`;
211
+ childStoriesSection = `\n## Child Stories\n\n**This Rally Feature has ${issue.childStories.length} child story(ies).** Reference these existing stories during planning — do NOT create new ones.\n\n${storyLines.join("\n\n")}\n\n**Cross-story dependencies:** If any child story must be completed before another, encode this as a \\\`blocks\\\` edge in the xBRIEF plan between the corresponding beads. Use \\\`informs\\\` for softer ordering hints.\n`;
211
212
  }
212
213
  const effortSection = effort && effort !== "medium" ? `
213
214
  ## Planning Effort: ${effort === "high" ? "High (Deep Analysis)" : "Low (Quick Planning)"}
@@ -234,12 +235,12 @@ The user invoked \`pan plan --auto\`. Complete planning end-to-end without askin
234
235
  - When normal planning would ask a question, choose the most defensible default and record it in \`plan.autoDecisions[]\` as \`{ "summary": "...", "rationale": "..." }\`.
235
236
  - If the issue body, PRD, or comments list options and name a recommended/default/smallest acceptable option, choose that option and record it in \`plan.autoDecisions[]\`; do not ask the operator to choose among already-documented options.
236
237
  - Halt only for a genuine contradiction between authoritative inputs, such as the issue body requiring one behavior while a linked PRD requires the opposite. If that happens, write the contradiction into continue.json hazards and stop with a clear escalation message so the dashboard surfaces it.
237
- - Still produce the same complete vBRIEF and beads via \`pan plan finalize\` when no contradiction exists.
238
+ - Still produce the same complete xBRIEF and beads via \`pan plan finalize\` when no contradiction exists.
238
239
  ` : "";
239
240
  const probeSection = probe || effort === "high" ? `
240
241
  ## Probe Pass (required before finalize)
241
242
 
242
- After drafting the vBRIEF and BEFORE running \`pan plan finalize\`, attack your own plan:
243
+ After drafting the xBRIEF and BEFORE running \`pan plan finalize\`, attack your own plan:
243
244
  - For each item: what hidden assumption would make this item wrong? Name it or clear it.
244
245
  - Which item could produce two very different diffs that both look "done"? Tighten its
245
246
  ACs or set requiresInspection: true.
@@ -288,12 +289,12 @@ async function claudePlanningSystemPromptFiles(workspacePath, harness) {
288
289
  files.push(await ensureSessionContextBriefingFile());
289
290
  const behavior = getHarnessBehavior(harness);
290
291
  if (behavior.contextLayerKind === "pi") {
291
- const { piGlobalContextFile } = await import("./context-layers-DlQKkHH2.js");
292
+ const { piGlobalContextFile } = await import("./context-layers-BrPmE__h.js");
292
293
  const globalFile = piGlobalContextFile();
293
294
  if (existsSync(globalFile)) files.unshift(globalFile);
294
295
  }
295
296
  if (behavior.contextLayerKind === "codex") {
296
- const { codexGlobalContextFile } = await import("./context-layers-DlQKkHH2.js");
297
+ const { codexGlobalContextFile } = await import("./context-layers-BrPmE__h.js");
297
298
  const globalFile = codexGlobalContextFile();
298
299
  if (existsSync(globalFile)) files.unshift(globalFile);
299
300
  }
@@ -387,7 +388,7 @@ async function spawnPlanningSession(opts) {
387
388
  };
388
389
  }
389
390
  progress(1, "Creating workspace", workspaceCreated ? "Workspace ready" : "Already exists", "complete");
390
- progress(2, "Preparing planning environment", ".pan/ workspace artifacts");
391
+ progress(2, "Preparing planning environment", ".overdeck/ workspace artifacts");
391
392
  await Effect.runPromise(killSession(sessionName)).catch(() => {});
392
393
  const workspacePanPaths = await Effect.runPromise(ensureWorkspacePanDir(workspacePath));
393
394
  await Promise.all([
@@ -396,7 +397,7 @@ async function spawnPlanningSession(opts) {
396
397
  "notes"
397
398
  ].map((subdir) => mkdir(join(workspacePanPaths.panDir, subdir), { recursive: true })));
398
399
  if (existsSync(workspacePanPaths.continuePath)) {
399
- console.log("[start-planning] Clearing stale .pan/continue.json");
400
+ console.log("[start-planning] Clearing stale .overdeck/continue.json");
400
401
  await rm(workspacePanPaths.continuePath, { force: true });
401
402
  }
402
403
  if (shadowMode) {
@@ -456,7 +457,8 @@ async function spawnPlanningSession(opts) {
456
457
  const behavior = getHarnessBehavior(effectiveHarness);
457
458
  const piLauncherFields = behavior.usesRpcFifo ? await getOhmypiLauncherFields(sessionName, planningModel) : {};
458
459
  const codexLauncherFields = behavior.usesCodexHome ? getCodexLauncherFields(sessionName, planningModel, workspacePath, "plan") : {};
459
- const providerExports = await getProviderExportsForModel(planningModel);
460
+ const acpLauncherFields = behavior.launchCommandKind === "acp-host" ? getAcpLauncherFields(sessionName, planningModel, workspacePath, harnessLaunch.binaryPath, "plan") : {};
461
+ const providerExports = behavior.launchCommandKind === "acp-host" ? void 0 : await getProviderExportsForModel(planningModel);
460
462
  const initMessage = `Please read the \`content\` field of the \`planning\` sessionHistory entry in ${getIssueRecordPath(recordProject, issue.identifier)} and begin the planning session for ${issue.identifier}: ${issue.title}`;
461
463
  const promptFile = join(agentStateDir, "init-prompt.txt");
462
464
  const launcherScript = join(agentStateDir, "launcher.sh");
@@ -473,14 +475,15 @@ async function spawnPlanningSession(opts) {
473
475
  },
474
476
  providerExports,
475
477
  extraEnvExports: [harnessLaunch.pathExport],
476
- promptFile,
478
+ promptFile: behavior.launchCommandKind === "acp-host" ? void 0 : promptFile,
477
479
  baseCommand: cmdWithArgs,
478
480
  appendSystemPromptFiles: await claudePlanningSystemPromptFiles(workspacePath, effectiveHarness),
479
481
  trapHup: true,
480
482
  debugLog: "/tmp/pan-launcher-debug.log",
481
483
  keepAlive: true,
482
484
  ...piLauncherFields,
483
- ...codexLauncherFields
485
+ ...codexLauncherFields,
486
+ ...acpLauncherFields
484
487
  }), { mode: 493 });
485
488
  progress(4, "Configuring agent", `${planningModel} — prompt & launcher ready`, "complete");
486
489
  progress(5, "Launching planning session", sessionName);
@@ -500,16 +503,16 @@ async function spawnPlanningSession(opts) {
500
503
  startedAt: (/* @__PURE__ */ new Date()).toISOString()
501
504
  },
502
505
  model: planningModel,
503
- status: "running",
506
+ status: "starting",
504
507
  role: "plan",
505
508
  harness: effectiveHarness,
506
509
  auto: auto === true
507
510
  });
508
511
  if (autoSpawnOnFinalize) await writeFile(join(agentStateDir, "auto-spawn-on-finalize.json"), JSON.stringify({ autoSpawnOnFinalize: true }));
509
- if (behavior.usesCodexHome) {
512
+ if (behavior.usesCodexHome || behavior.launchCommandKind === "acp-host") {
510
513
  const delivery = await deliverInitialPromptWithRetry(sessionName, initMessage, "spawnPlanningSession:initial-prompt");
511
514
  if (!delivery.ok) {
512
- const errorMsg = `Codex planning kickoff prompt delivery failed: ${delivery.failure ?? "unknown error"}`;
515
+ const errorMsg = `${behavior.displayName} planning kickoff prompt delivery failed: ${delivery.failure ?? "unknown error"}`;
513
516
  console.error(`[start-planning] ${errorMsg}`);
514
517
  await Effect.runPromise(killSession(sessionName)).catch(() => {});
515
518
  const existingErrState = getAgentStateSync(sessionName);
@@ -524,6 +527,11 @@ async function spawnPlanningSession(opts) {
524
527
  };
525
528
  }
526
529
  }
530
+ const runningState = getAgentStateSync(sessionName);
531
+ if (runningState) saveAgentStateSync({
532
+ ...runningState,
533
+ status: "running"
534
+ });
527
535
  progress(5, "Launching planning session", "Agent running", "complete");
528
536
  console.log(`[start-planning] Started local planning agent ${sessionName}`);
529
537
  return { success: true };
@@ -545,4 +553,4 @@ async function spawnPlanningSession(opts) {
545
553
  //#endregion
546
554
  export { resolvePlanningSessionHarness as a, resolveAutoSpawnOnFinalize as i, buildPlanningPrompt as n, spawnPlanningSession as o, readAutoSpawnOnFinalizeFlag as r, writeFeatureContext as s, autoSpawnOnFinalizeFlagPath as t };
547
555
 
548
- //# sourceMappingURL=spawn-planning-session-D5OXo8pT.js.map
556
+ //# sourceMappingURL=spawn-planning-session-DKpdFyOC.js.map