@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
@@ -7564,9 +7564,11 @@ function stateMigrationLockPath(projectKey) {
7564
7564
  return join(getOverdeckHome(), "locks", "state-migration", `${projectKey}.lock`);
7565
7565
  }
7566
7566
  function isStateMigrationLocked(projectKey) {
7567
+ const path = stateMigrationLockPath(projectKey);
7568
+ mkdirSync$1(dirname(path), { recursive: true });
7567
7569
  try {
7568
- closeSync$1(openSync$1(stateMigrationLockPath(projectKey), "wx"));
7569
- rmSync$1(stateMigrationLockPath(projectKey));
7570
+ closeSync$1(openSync$1(path, "wx"));
7571
+ rmSync$1(path);
7570
7572
  return false;
7571
7573
  } catch {
7572
7574
  return true;
@@ -8406,7 +8408,7 @@ function preserveCorruptRecordSync(path) {
8406
8408
  * renamed file parses as JSON. A mid-write crash can no longer truncate the
8407
8409
  * record in place (rename is atomic); a write that somehow produces unparseable
8408
8410
  * bytes throws instead of leaving a corrupt record for readers to silently
8409
- * fabricate over. Modeled on writePlanFileAtomic (src/lib/vbrief/dag-cli.ts:101).
8411
+ * fabricate over. Modeled on writePlanFileAtomic (src/lib/xbrief/dag-cli.ts:101).
8410
8412
  */
8411
8413
  function writeRecordFileAtomicSync(path, record) {
8412
8414
  preserveCorruptRecordSync(path);
@@ -8441,27 +8443,6 @@ function writeIssueRecordSync(project, issueId, record) {
8441
8443
  });
8442
8444
  return path;
8443
8445
  }
8444
- /**
8445
- * Workspace-scoped synchronous whole-record writer. Keep this call atomic: async
8446
- * read-modify-write flows must take `withIssueRecordLock` before reading and
8447
- * must not split this write behind an await.
8448
- */
8449
- function writeIssueRecordForWorkspaceSync(workspacePath, issueId, record) {
8450
- const resolvedProject = resolveProjectForIssue(issueId);
8451
- const path = getIssueRecordPathForWorkspace(workspacePath, issueId);
8452
- const dir = dirname(path);
8453
- if (!existsSync$1(dir)) mkdirSync$1(dir, { recursive: true });
8454
- const now = (/* @__PURE__ */ new Date()).toISOString();
8455
- writeRecordFileAtomicSync(path, {
8456
- ...preserveCloseOutSync(path, record),
8457
- issueId: issueId.toUpperCase(),
8458
- schemaVersion: 2,
8459
- created: record.created || now,
8460
- updated: now
8461
- });
8462
- if (resolvedProject) queueIssueRecordCommit(resolvedProject, issueId, path);
8463
- return path;
8464
- }
8465
8446
  async function readIssueRecord(project, issueId) {
8466
8447
  const path = getIssueRecordPath(project, issueId);
8467
8448
  try {
@@ -8499,48 +8480,6 @@ function queueIssueRecordCommit(project, issueId, recordPath) {
8499
8480
  });
8500
8481
  return basePath;
8501
8482
  }
8502
- /** Build this node's owner URI: pan://host[:port]. */
8503
- function buildOwnUri() {
8504
- const port = process.env.OVERDECK_PORT ? `:${process.env.OVERDECK_PORT}` : "";
8505
- return `pan://${hostname()}${port}`;
8506
- }
8507
- async function claimIssueOwner(project, issueId, ownUri = buildOwnUri()) {
8508
- const record = await readIssueRecord(project, issueId) ?? {
8509
- issueId,
8510
- schemaVersion: 2,
8511
- pipeline: {
8512
- issueId,
8513
- reviewStatus: "pending",
8514
- testStatus: "pending",
8515
- readyForMerge: false,
8516
- updatedAt: (/* @__PURE__ */ new Date()).toISOString()
8517
- },
8518
- closeOut: {
8519
- usage: {
8520
- byStage: {},
8521
- totals: {}
8522
- },
8523
- merges: [],
8524
- ranOn: hostname()
8525
- }
8526
- };
8527
- if (record.owner && record.owner !== ownUri) return {
8528
- ok: false,
8529
- owner: record.owner
8530
- };
8531
- record.owner = ownUri;
8532
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8533
- return {
8534
- ok: true,
8535
- owner: ownUri
8536
- };
8537
- }
8538
- async function clearIssueOwner(project, issueId) {
8539
- const record = await readIssueRecord(project, issueId);
8540
- if (!record) return;
8541
- delete record.owner;
8542
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8543
- }
8544
8483
  /** Ensure a base record exists for an issue. */
8545
8484
  async function ensureIssueRecord(project, issueId) {
8546
8485
  const existing = await readIssueRecord(project, issueId);
@@ -8568,43 +8507,6 @@ async function ensureIssueRecord(project, issueId) {
8568
8507
  }
8569
8508
  };
8570
8509
  }
8571
- /** Write a single status override into the per-issue record. */
8572
- async function writeStatusOverride(project, issueId, key, status, opts = {}) {
8573
- const existing = await readIssueRecord(project, issueId);
8574
- if (existing?.statusOverrides?.[key] === status) return;
8575
- const record = existing ?? await ensureIssueRecord(project, issueId);
8576
- record.statusOverrides = {
8577
- ...record.statusOverrides ?? {},
8578
- [key]: status
8579
- };
8580
- const recordPath = writeIssueRecordSync(project, issueId, record);
8581
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8582
- }
8583
- /** Synchronous variant for legacy CLI call sites. */
8584
- function writeStatusOverrideSync(project, issueId, key, status, opts = {}) {
8585
- const existing = readIssueRecordSync(project, issueId);
8586
- if (existing?.statusOverrides?.[key] === status) return;
8587
- const record = existing ?? ensureIssueRecordSync(project, issueId);
8588
- record.statusOverrides = {
8589
- ...record.statusOverrides ?? {},
8590
- [key]: status
8591
- };
8592
- const recordPath = writeIssueRecordSync(project, issueId, record);
8593
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8594
- }
8595
- /** Synchronous variant that writes many overrides at once. */
8596
- function writeStatusOverridesSync(project, issueId, overrides, opts = {}) {
8597
- const existing = readIssueRecordSync(project, issueId);
8598
- const nextOverrides = {
8599
- ...existing?.statusOverrides ?? {},
8600
- ...overrides
8601
- };
8602
- if (existing && JSON.stringify(existing.statusOverrides) === JSON.stringify(nextOverrides)) return;
8603
- const record = existing ?? ensureIssueRecordSync(project, issueId);
8604
- record.statusOverrides = nextOverrides;
8605
- const recordPath = writeIssueRecordSync(project, issueId, record);
8606
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8607
- }
8608
8510
  /** Synchronous variant of ensureIssueRecord. */
8609
8511
  function ensureIssueRecordSync(project, issueId) {
8610
8512
  const path = getIssueRecordPath(project, issueId);
@@ -8643,23 +8545,6 @@ async function appendSessionEntry(project, issueId, entry, opts = {}) {
8643
8545
  const recordPath = writeIssueRecordSync(project, issueId, record);
8644
8546
  if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8645
8547
  }
8646
- /** Append a feedback entry to the per-issue record. */
8647
- async function appendFeedbackEntry(project, issueId, entry, opts = {}) {
8648
- const record = await ensureIssueRecord(project, issueId);
8649
- record.feedback = [...record.feedback ?? [], entry];
8650
- const recordPath = writeIssueRecordSync(project, issueId, record);
8651
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8652
- }
8653
- /** Store harness + model in the per-issue record. */
8654
- async function writeAgentHarnessModel(project, issueId, harness, model, opts = {}) {
8655
- const existing = await readIssueRecord(project, issueId);
8656
- if (existing?.harness === harness && existing?.model === model) return;
8657
- const record = existing ?? await ensureIssueRecord(project, issueId);
8658
- record.harness = harness;
8659
- record.model = model;
8660
- const recordPath = writeIssueRecordSync(project, issueId, record);
8661
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8662
- }
8663
8548
  /** Synchronous variant for legacy CLI spawn paths. */
8664
8549
  function writeAgentHarnessModelSync(project, issueId, harness, model, opts = {}) {
8665
8550
  const existing = readIssueRecordSync(project, issueId);
@@ -8700,19 +8585,6 @@ function clearRecordFeedbackSync(project, issueId) {
8700
8585
  record.feedback = [];
8701
8586
  queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8702
8587
  }
8703
- /** Record advisory scope prediction drift in the per-issue record (sync). */
8704
- function writeRecordScopeDriftSync(project, issueId, scopeDrift) {
8705
- const record = ensureIssueRecordSync(project, issueId);
8706
- record.scopeDrift = scopeDrift;
8707
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8708
- }
8709
- /** Write tiered execution override into the per-issue record (sync). Passing null clears the override. */
8710
- function writeRecordTieredExecutionOverrideSync(project, issueId, override) {
8711
- const record = ensureIssueRecordSync(project, issueId);
8712
- if (override === null) delete record.tieredExecutionOverride;
8713
- else record.tieredExecutionOverride = override;
8714
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8715
- }
8716
8588
  /** Write tiered execution override into the per-issue record (async). Passing null clears the override. */
8717
8589
  async function writeRecordTieredExecutionOverride(project, issueId, override) {
8718
8590
  const record = await ensureIssueRecord(project, issueId);
@@ -8732,12 +8604,6 @@ function markRecordPipelineClosedOutSync(project, issueId) {
8732
8604
  record.pipeline.updatedAt = now;
8733
8605
  queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8734
8606
  }
8735
- /** Persist the completed Definition-of-Done gate through the issue record write door. */
8736
- function writeCloseOutDodGateSync(project, issueId, dodGate) {
8737
- const record = ensureIssueRecordSync(project, issueId);
8738
- record.closeOut.dodGate = dodGate;
8739
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
8740
- }
8741
8607
  async function writeCloseOutDodGate(project, issueId, dodGate) {
8742
8608
  const recordPath = getIssueRecordPath(project, issueId);
8743
8609
  const record = await readIssueRecord(project, issueId);
@@ -8763,48 +8629,6 @@ async function writeCloseOutDodGate(project, issueId, dodGate) {
8763
8629
  JSON.parse(await promises$1.readFile(recordPath, "utf-8"));
8764
8630
  queueIssueRecordCommit(project, issueId, recordPath);
8765
8631
  }
8766
- /** Write decisions into the per-issue record (sync). */
8767
- function writeRecordDecisionsSync(project, issueId, decisions, opts = {}) {
8768
- const record = ensureIssueRecordSync(project, issueId);
8769
- record.decisions = decisions;
8770
- const recordPath = writeIssueRecordSync(project, issueId, record);
8771
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8772
- }
8773
- /** Write decisions into the per-issue record (async). */
8774
- async function writeRecordDecisions(project, issueId, decisions, opts = {}) {
8775
- const record = await ensureIssueRecord(project, issueId);
8776
- record.decisions = decisions;
8777
- const recordPath = writeIssueRecordSync(project, issueId, record);
8778
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8779
- }
8780
- /** Write hazards into the per-issue record (sync). */
8781
- function writeRecordHazardsSync(project, issueId, hazards, opts = {}) {
8782
- const record = ensureIssueRecordSync(project, issueId);
8783
- record.hazards = hazards;
8784
- const recordPath = writeIssueRecordSync(project, issueId, record);
8785
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8786
- }
8787
- /** Write hazards into the per-issue record (async). */
8788
- async function writeRecordHazards(project, issueId, hazards, opts = {}) {
8789
- const record = await ensureIssueRecord(project, issueId);
8790
- record.hazards = hazards;
8791
- const recordPath = writeIssueRecordSync(project, issueId, record);
8792
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8793
- }
8794
- /** Write resumePoint into the per-issue record (sync). */
8795
- function writeRecordResumePointSync(project, issueId, resumePoint, opts = {}) {
8796
- const record = ensureIssueRecordSync(project, issueId);
8797
- record.resumePoint = resumePoint;
8798
- const recordPath = writeIssueRecordSync(project, issueId, record);
8799
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8800
- }
8801
- /** Write resumePoint into the per-issue record (async). */
8802
- async function writeRecordResumePoint(project, issueId, resumePoint, opts = {}) {
8803
- const record = await ensureIssueRecord(project, issueId);
8804
- record.resumePoint = resumePoint;
8805
- const recordPath = writeIssueRecordSync(project, issueId, record);
8806
- if (opts.autoCommit !== false) queueIssueRecordCommit(project, issueId, recordPath);
8807
- }
8808
8632
  /** Infer a minimal ProjectConfig from a workspace path (tests / fallback).
8809
8633
  *
8810
8634
  * Returns a config whose `path` is the workspace directory itself so that
@@ -8822,12 +8646,11 @@ function resolveProjectForIssue(issueId) {
8822
8646
  if (!resolved) return null;
8823
8647
  return getProjectSync(resolved.projectKey);
8824
8648
  }
8825
- var RECORD_SCHEMA_VERSION, RECORD_DIRNAME;
8649
+ var RECORD_DIRNAME;
8826
8650
  var init_record = __esmMin((() => {
8827
8651
  init_auto_commit();
8828
8652
  init_state_read_home();
8829
8653
  init_projects();
8830
- RECORD_SCHEMA_VERSION = 2;
8831
8654
  RECORD_DIRNAME = "records";
8832
8655
  }));
8833
8656
  //#endregion
@@ -9688,6 +9511,48 @@ var init_model_capabilities = __esmMin((() => {
9688
9511
  "context-length": 100
9689
9512
  }
9690
9513
  },
9514
+ "k3": {
9515
+ model: "k3",
9516
+ provider: "kimi",
9517
+ displayName: "Kimi K3",
9518
+ costPer1MTokens: 9,
9519
+ contextWindow: 262144,
9520
+ skills: {
9521
+ "code-generation": 95,
9522
+ "code-review": 93,
9523
+ debugging: 93,
9524
+ planning: 90,
9525
+ documentation: 90,
9526
+ testing: 90,
9527
+ security: 85,
9528
+ performance: 88,
9529
+ synthesis: 94,
9530
+ speed: 70,
9531
+ "context-length": 98
9532
+ },
9533
+ notes: "Kimi K3 coding endpoint alias. 2.8T MoE, always-thinking, 256K context. Source: https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html"
9534
+ },
9535
+ "k3[1m]": {
9536
+ model: "k3[1m]",
9537
+ provider: "kimi",
9538
+ displayName: "Kimi K3 (1M)",
9539
+ costPer1MTokens: 9,
9540
+ contextWindow: 1048576,
9541
+ skills: {
9542
+ "code-generation": 95,
9543
+ "code-review": 93,
9544
+ debugging: 93,
9545
+ planning: 90,
9546
+ documentation: 90,
9547
+ testing: 90,
9548
+ security: 85,
9549
+ performance: 88,
9550
+ synthesis: 94,
9551
+ speed: 70,
9552
+ "context-length": 100
9553
+ },
9554
+ notes: "Kimi K3 coding endpoint 1M alias. 2.8T MoE, always-thinking, 1,048,576-token context. Source: https://www.kimi.com/code/docs/en/third-party-tools/other-coding-agents.html"
9555
+ },
9691
9556
  "kimi-k2.7-code": {
9692
9557
  model: "kimi-k2.7-code",
9693
9558
  provider: "kimi",
@@ -10223,7 +10088,7 @@ function validateRoleFields(role, roleConfig) {
10223
10088
  }
10224
10089
  }
10225
10090
  if (roleConfig.autonomousModel !== void 0 && typeof roleConfig.autonomousModel !== "string") throw new Error(`config.yaml: roles.${role}.autonomousModel must be a scalar model reference`);
10226
- if (roleConfig.harness !== void 0 && roleConfig.harness !== "claude-code" && roleConfig.harness !== "ohmypi" && roleConfig.harness !== "codex") throw new Error(`config.yaml: roles.${role}.harness must be claude-code, ohmypi, or codex`);
10091
+ if (roleConfig.harness !== void 0 && roleConfig.harness !== "claude-code" && roleConfig.harness !== "ohmypi" && roleConfig.harness !== "codex" && roleConfig.harness !== "acp") throw new Error(`config.yaml: roles.${role}.harness must be claude-code, ohmypi, codex, or acp`);
10227
10092
  if (roleConfig.effort !== void 0 && !ROLE_EFFORTS.includes(roleConfig.effort)) throw new Error(`config.yaml: roles.${role}.effort must be one of ${ROLE_EFFORTS.join(", ")}`);
10228
10093
  if (roleConfig.mode !== void 0 && roleConfig.mode !== "quick" && roleConfig.mode !== "full" && roleConfig.mode !== "none") throw new Error(`config.yaml: roles.${role}.mode must be quick, full, or none`);
10229
10094
  if (roleConfig.reReviewScope !== void 0 && roleConfig.reReviewScope !== "all" && roleConfig.reReviewScope !== "changed" && roleConfig.reReviewScope !== "blockers") throw new Error(`config.yaml: roles.${role}.reReviewScope must be all, changed, or blockers`);
@@ -10803,6 +10668,8 @@ function getProviderForModelSync(modelId) {
10803
10668
  "MiniMax-M3"
10804
10669
  ].includes(modelId)) return PROVIDERS.minimax;
10805
10670
  if ([
10671
+ "k3",
10672
+ "k3[1m]",
10806
10673
  "kimi-k2.7-code",
10807
10674
  "kimi-k2.6",
10808
10675
  "kimi-k2.5",
@@ -10973,6 +10840,8 @@ var init_providers = __esmMin((() => {
10973
10840
  compatibility: "direct",
10974
10841
  defaultHarness: "claude-code",
10975
10842
  models: [
10843
+ "k3",
10844
+ "k3[1m]",
10976
10845
  "kimi-k2.7-code",
10977
10846
  "kimi-k2.6",
10978
10847
  "kimi-k2.5",
@@ -11239,13 +11108,14 @@ function canUseHarnessSync(harness, model, authMode) {
11239
11108
  if (!modelAuth.allowed) return modelAuth;
11240
11109
  if (harness === "claude-code") return ALLOWED;
11241
11110
  if (harness === "codex") return ALLOWED;
11111
+ if (harness === "acp") return getProviderForModelSync(model).name === "kimi" ? ALLOWED : ACP_KIMI_ONLY_BLOCK;
11242
11112
  if (harness === "ohmypi") {
11243
11113
  if (getProviderForModelSync(model).name === "anthropic" && authMode === "subscription") return OHMYPI_ANTHROPIC_SUBSCRIPTION_BLOCK;
11244
11114
  return ALLOWED;
11245
11115
  }
11246
11116
  return ALLOWED;
11247
11117
  }
11248
- var ALLOWED, OHMYPI_ANTHROPIC_SUBSCRIPTION_BLOCK, SUBSCRIPTION_ONLY_MODEL_BLOCK, SUBSCRIPTION_ONLY_OPENAI_MODELS;
11118
+ var ALLOWED, OHMYPI_ANTHROPIC_SUBSCRIPTION_BLOCK, ACP_KIMI_ONLY_BLOCK, SUBSCRIPTION_ONLY_MODEL_BLOCK, SUBSCRIPTION_ONLY_OPENAI_MODELS;
11249
11119
  var init_harness_policy = __esmMin((() => {
11250
11120
  init_providers();
11251
11121
  ALLOWED = { allowed: true };
@@ -11254,6 +11124,11 @@ var init_harness_policy = __esmMin((() => {
11254
11124
  reason: "Claude Code subscription Terms of Service restrict Anthropic models to the Claude Code harness — ohmypi cannot run Anthropic models under subscription auth. To proceed, switch the Anthropic provider to API-key auth, or pick a non-Anthropic model for ohmypi."
11255
11125
  };
11256
11126
  OHMYPI_ANTHROPIC_SUBSCRIPTION_BLOCK.reason;
11127
+ ACP_KIMI_ONLY_BLOCK = {
11128
+ allowed: false,
11129
+ reason: "ACP currently supports the Kimi provider only. Pick a Kimi model or use the provider's supported harness."
11130
+ };
11131
+ ACP_KIMI_ONLY_BLOCK.reason;
11257
11132
  SUBSCRIPTION_ONLY_MODEL_BLOCK = {
11258
11133
  allowed: false,
11259
11134
  reason: "This OpenAI model needs a ChatGPT/Codex subscription sign-in — it is not served by the plain OpenAI API key. Run `codex login` on the host (workspace containers inherit the host sign-in), or pick a different model."
@@ -11290,7 +11165,7 @@ function resolveTieredExecutionBlock(config, planMetadata, recordOverride) {
11290
11165
  * Per-issue tiered_execution opt-in/out (PAN-1791 FR-9, PAN-2383 FR-1). Resolves with precedence:
11291
11166
  * record override > plan.metadata.tiered_execution > config.enabled.
11292
11167
  *
11293
- * An issue's vBRIEF may set `tiered_execution: 'on' | 'off'` in plan.metadata; a record
11168
+ * An issue's xBRIEF may set `tiered_execution: 'on' | 'off'` in plan.metadata; a record
11294
11169
  * override takes precedence; an explicit value wins over the global `tiered_execution.enabled`
11295
11170
  * flag, and an unset value inherits it — zero behavior change when no overrides exist.
11296
11171
  * Any invalid value is a config error (fail-loud, no silent inherit on typos).
@@ -11318,7 +11193,7 @@ function resolveTieredExecutionEnabledForIssue(config, issueId, planMetadata) {
11318
11193
  return resolveTieredExecutionEnabled(config, planMetadata, recordOverride);
11319
11194
  }
11320
11195
  function isRuntimeName(value) {
11321
- return value === "claude-code" || value === "ohmypi" || value === "codex";
11196
+ return value === "claude-code" || value === "ohmypi" || value === "codex" || value === "acp";
11322
11197
  }
11323
11198
  function isDifficulty(value) {
11324
11199
  return TIERED_EXECUTION_DIFFICULTIES.includes(value);
@@ -11341,7 +11216,7 @@ function knownModelIds() {
11341
11216
  return ids;
11342
11217
  }
11343
11218
  function validateHarness(harness, path) {
11344
- if (!isRuntimeName(harness)) throw new TieredExecutionConfigError(`${path}.harness '${harness}' is unknown; expected claude-code, ohmypi, or codex`);
11219
+ if (!isRuntimeName(harness)) throw new TieredExecutionConfigError(`${path}.harness '${harness}' is unknown; expected claude-code, ohmypi, codex, or acp`);
11345
11220
  }
11346
11221
  function validateModel(model, path) {
11347
11222
  const resolved = resolveModelIdSync(model);
@@ -11584,6 +11459,7 @@ function computeGovernorReserveDefaultsGb() {
11584
11459
  var GOVERNOR_RESERVE_DEFAULTS_GB, DEFAULT_DOCS_TRIGGER_REGEXES, DEFAULT_CONFIG, GLOBAL_CONFIG_PATH;
11585
11460
  var init_defaults = __esmMin((() => {
11586
11461
  init_registry();
11462
+ init_paths();
11587
11463
  init_tier_table();
11588
11464
  init_roles();
11589
11465
  GOVERNOR_RESERVE_DEFAULTS_GB = computeGovernorReserveDefaultsGb();
@@ -11767,9 +11643,10 @@ var init_defaults = __esmMin((() => {
11767
11643
  codex: {
11768
11644
  permissionMode: "auto-review",
11769
11645
  transport: "app-server"
11770
- }
11646
+ },
11647
+ acp: { permissionMode: "auto" }
11771
11648
  };
11772
- GLOBAL_CONFIG_PATH = join$1(homedir(), ".overdeck", "config.yaml");
11649
+ GLOBAL_CONFIG_PATH = join$1(OVERDECK_HOME, "config.yaml");
11773
11650
  }));
11774
11651
  //#endregion
11775
11652
  //#region ../../lib/config-yaml/domain-mergers.ts
@@ -11973,7 +11850,7 @@ function normalizeProviderConfig(providerConfig, fallbackKey) {
11973
11850
  };
11974
11851
  }
11975
11852
  function validateProviderHarness(provider, harness) {
11976
- if (harness !== void 0 && harness !== "claude-code" && harness !== "ohmypi" && harness !== "codex") throw new Error(`config.yaml: models.providers.${provider}.harness must be claude-code, ohmypi, or codex`);
11853
+ if (harness !== void 0 && harness !== "claude-code" && harness !== "ohmypi" && harness !== "codex" && harness !== "acp") throw new Error(`config.yaml: models.providers.${provider}.harness must be claude-code, ohmypi, codex, or acp`);
11977
11854
  }
11978
11855
  function applyProviderHarness(result, provider, harness) {
11979
11856
  validateProviderHarness(provider, harness);
@@ -12089,7 +11966,8 @@ function mergeConfigs(...configs) {
12089
11966
  codex: {
12090
11967
  permissionMode: DEFAULT_CONFIG.codex.permissionMode,
12091
11968
  transport: DEFAULT_CONFIG.codex.transport
12092
- }
11969
+ },
11970
+ acp: { permissionMode: DEFAULT_CONFIG.acp.permissionMode }
12093
11971
  };
12094
11972
  const explicitlyDisabled = /* @__PURE__ */ new Set();
12095
11973
  const validConfigs = configs.filter((c) => c !== null);
@@ -12328,6 +12206,11 @@ function mergeConfigs(...configs) {
12328
12206
  if (config.claude && (config.claude.permissionMode === "auto" || config.claude.permissionMode === "bypass")) result.claude.permissionMode = config.claude.permissionMode;
12329
12207
  if (config.codex && (config.codex.permissionMode === "read-only" || config.codex.permissionMode === "workspace" || config.codex.permissionMode === "auto-review" || config.codex.permissionMode === "full-access")) result.codex.permissionMode = config.codex.permissionMode;
12330
12208
  if (config.codex && (config.codex.transport === "app-server" || config.codex.transport === "tui")) result.codex.transport = config.codex.transport;
12209
+ if (config.acp?.permissionMode === "auto") result.acp.permissionMode = config.acp.permissionMode;
12210
+ if (config.acp?.kimi?.binaryPath !== void 0) result.acp.kimi = {
12211
+ ...result.acp.kimi,
12212
+ binaryPath: config.acp.kimi.binaryPath
12213
+ };
12331
12214
  mergeRemoteConfig(result, config);
12332
12215
  if (config.conversationSearch) {
12333
12216
  const cs = config.conversationSearch;
@@ -14830,6 +14713,6 @@ var init_config_yaml = __esmMin((() => {
14830
14713
  init_load();
14831
14714
  }));
14832
14715
  //#endregion
14833
- export { derefWorkhorse as $, renameProjectSync as $n, getDocsIndexPath as $r, writeRecordScopeDriftSync as $t, canUseHarnessSync as A, findProjectByTeam as An, VcsError as Ar, getIssueRecordPathForWorkspace as At, getProviderEnvSync as B, hasProjects as Bn, LOGS_DIR as Br, resolveProjectForIssue as Bt, TIERED_EXECUTION_DIFFICULTIES as C, projectKey as Cn, GitHubApiError as Cr, claimIssueOwner as Ct, resolveTieredExecutionEnabled as D, extractTeamPrefix as Dn, ProcessSpawnError as Dr, ensureIssueRecordSync as Dt, resolveTieredExecutionBlock as E, createDefaultProjectsConfig as En, MergeConflictError as Er, ensureIssueRecord as Et, PROVIDERS as F, getProjectSwarmHotspots as Fn, CACHE_AGENTS_DIR as Fr, queueIssueRecordCommit as Ft, setupCredentialFileAuthSync as G, listProjects as Gn, PROJECT_PRDS_PLANNED_SUBDIR as Gr, writeIssueRecordForWorkspaceSync as Gt, init_providers as H, init_projects as Hn, PROJECT_DOCS_SUBDIR as Hr, writeAgentHarnessModelSync as Ht, UnknownModelError as I, getProjectSync as In, CACHE_RULES_DIR as Ir, readIssueRecord as It, defaultBackgroundAiFeatures as J, loadProjectsConfigSync as Jn, SYNC_SOURCES as Jr, writeRecordDecisionsSync as Jt, ensureOpenAICompatibleProxyRunning as K, listProjectsSync as Kn, PROJECT_PRDS_SUBDIR as Kr, writeIssueRecordSync as Kt, clearCredentialFileAuthSync as L, getSpecialistConfig as Ln, CLAUDE_DIR as Lr, readIssueRecordForWorkspaceSync as Lt, init_harness_policy as M, findProjectsByRallyProject as Mn, AGENTS_DIR as Mr, getProjectConfigFromWorkspacePath as Mt, KIMI_CODING_BASE_URL as N, getIssuePrefix as Nn, ARCHIVES_DIR as Nr, init_record as Nt, resolveTieredExecutionEnabledForIssue as O, findProjectByPath as On, TmuxError as Or, getIssueRecordBasePath as Ot, KIMI_PLATFORM_BASE_URL as P, getProject as Pn, BIN_DIR as Pr, markRecordPipelineClosedOutSync as Pt, computeModelOrigin as Q, renameProject as Qn, getDocsDisableStatePath as Qr, writeRecordResumePointSync as Qt, getBuiltInDefaultHarness as R, getSpecialistPromptOverride as Rn, CONFIG_FILE as Rr, readIssueRecordSync as Rt, DEFAULT_TIERED_EXECUTION_CONFIG as S, init_project_key as Sn, GitError as Sr, buildOwnUri as St, init_tier_table as T, ProjectRenameError as Tn, LinearApiError as Tr, clearRecordFeedbackSync as Tt, piProviderForModel as U, initializeProjectsConfig as Un, PROJECT_PRDS_ACTIVE_SUBDIR as Ur, writeCloseOutDodGate as Ut, getProviderForModelSync as V, hasProjectsSync as Vn, OVERDECK_HOME as Vr, writeAgentHarnessModel as Vt, qualifyPiModel as W, initializeProjectsConfigSync as Wn, PROJECT_PRDS_COMPLETED_SUBDIR as Wr, writeCloseOutDodGateSync as Wt, DEFAULT_ROLES as X, registerProject as Xn, encodeClaudeProjectDir as Xr, writeRecordHazardsSync as Xt, init_registry as Y, projects_exports as Yn, TRAEFIK_DIR as Yr, writeRecordHazards as Yt, DEFAULT_WORKHORSES as Z, registerProjectSync as Zn, getDocsBudgetStatePath as Zr, writeRecordResumePoint as Zt, getDefaultDocsConfig as _, acquireStateMigrationLock as _n, require_dist as _r, RECORD_SCHEMA_VERSION as _t, getConversationsConfigSync as a, isDevMode as ai, deriveProjectRoot as an, saveProjectsConfigSync as ar, getModelEffortLevelsSync as at, DEFAULT_CONFIG as b, resolveStateReadHomeSync as bn, ConfigError as br, appendSessionEntry as bt, isClaudeCodeChannelsEnabled as c, sessionFilePath as ci, init_auto_commit as cn, unregisterProject as cr, modelSupportsImagesSync as ct, loadConfigNoMigration as d, STATE_BRANCH_PATHS as dn, extractPrefixSync as dr, fnv1a32 as dt, getDocsTelemetryPath as ei, writeRecordTieredExecutionOverride as en, resolveInfraRepo as er, init_roles as et, loadConfigSync as f, STATE_PLANE_PATHS as fn, init_issue_id as fr, init_percent as ft, mergeConfigs as g, isStatePlanePath as gn, resolveIssueIdSync as gr, RECORD_DIRNAME as gt, jsYaml as h, isStatePlaneOnlyStatus as hn, resolveBareNumericIdSync as hr, ROLE_EFFORTS as ht, getConversationsConfig as i, init_paths as ii, writeStatusOverridesSync as in, saveProjectsConfig as ir, getModelCapabilitySync as it, canUseModelWithAuthSync as j, findProjectByTeamSync as jn, init_errors as jr, getIssueWorkspacePath as jt, validateTieredExecutionConfig as k, findProjectByPathSync as kn, TrackerError as kr, getIssueRecordPath as kt, isClaudeCodeChannelsMcpEnabled as l, queueAutoCommit as ln, unregisterProjectSync as lr, resolveModelIdSync as lt, init_js_yaml as m, init_state_plane as mn, parseIssueIdSync as mr, PARENT_MODEL_REF as mt, clearConfigCache as n, getLegacyHome as ni, writeStatusOverride as nn, resolveProjectFromIssueSync as nr, MODEL_CAPABILITIES as nt, getGlobalConfigPath as o, packageRoot as oi, flushAllPendingAutoCommits as on, setProjectAutoMergeDefaultSync as or, hasModelCapabilitySync as ot, updateConversationsConfig as p, getMainDivergence as pn, normalizeIssueIdSync as pr, COMPLIANCE_MODES as pt, init_openai_compatible_proxy as q, loadProjectsConfig as qn, SKILLS_DIR as qr, writeRecordDecisions as qt, getConversationSearchConfigSync as r, getOverdeckHome as ri, writeStatusOverrideSync as rn, resolveProjectPath as rr, MODEL_DEPRECATIONS as rt, init_load as s, resolveOhmypiExtensionPath as si, flushAutoCommits as sn, setProjectSwarmPolicySync as sr, init_model_capabilities as st, init_config_yaml as t, getHandoffsDir as ti, writeRecordTieredExecutionOverrideSync as tn, resolveProjectFromIssue as tr, resolveModel as tt, isTldrEnabledSync as u, reconcileStatePlaneDrift as un, extractNumberSync as ur, fmix32 as ut, getDefaultTtsDaemonConfig as v, init_state_migration_lock as vn, CheckpointError as vr, appendFeedbackEntry as vt, TieredExecutionConfigError as w, PROJECTS_CONFIG_FILE as wn, InvalidAgentIdError as wr, clearIssueOwner as wt, init_defaults as x, shouldCommitLegacyWorkspaceArtifacts as xn, FsError as xr, appendSessionEntrySync as xt, mergeTtsDaemonConfigs as y, init_state_read_home as yn, ClaudeCredentialParseError as yr, appendFeedbackEntrySync as yt, getKimiAnthropicBaseUrl as z, getSpecialistRetention as zn, COSTS_DIR as zr, readRecordContinueViewSync as zt };
14716
+ export { derefWorkhorse as $, resolveIssueIdSync as $n, acquireStateMigrationLock as $t, canUseHarnessSync as A, loadProjectsConfig as An, SKILLS_DIR as Ar, queueIssueRecordCommit as At, getProviderEnvSync as B, resolveProjectPath as Bn, getOverdeckHome as Br, deriveProjectRoot as Bt, TIERED_EXECUTION_DIFFICULTIES as C, hasProjects as Cn, LOGS_DIR as Cr, getIssueRecordBasePath as Ct, resolveTieredExecutionEnabled as D, initializeProjectsConfigSync as Dn, PROJECT_PRDS_COMPLETED_SUBDIR as Dr, getProjectConfigFromWorkspacePath as Dt, resolveTieredExecutionBlock as E, initializeProjectsConfig as En, PROJECT_PRDS_ACTIVE_SUBDIR as Er, getIssueWorkspacePath as Et, PROVIDERS as F, renameProject as Fn, getDocsDisableStatePath as Fr, resolveProjectForIssue as Ft, setupCredentialFileAuthSync as G, unregisterProject as Gn, sessionFilePath as Gr, reconcileStatePlaneDrift as Gt, init_providers as H, saveProjectsConfigSync as Hn, isDevMode as Hr, flushAutoCommits as Ht, UnknownModelError as I, renameProjectSync as In, getDocsIndexPath as Ir, writeAgentHarnessModelSync as It, defaultBackgroundAiFeatures as J, extractPrefixSync as Jn, getMainDivergence as Jt, ensureOpenAICompatibleProxyRunning as K, unregisterProjectSync as Kn, STATE_BRANCH_PATHS as Kt, clearCredentialFileAuthSync as L, resolveInfraRepo as Ln, getDocsTelemetryPath as Lr, writeCloseOutDodGate as Lt, init_harness_policy as M, projects_exports as Mn, TRAEFIK_DIR as Mr, readIssueRecordForWorkspaceSync as Mt, KIMI_CODING_BASE_URL as N, registerProject as Nn, encodeClaudeProjectDir as Nr, readIssueRecordSync as Nt, resolveTieredExecutionEnabledForIssue as O, listProjects as On, PROJECT_PRDS_PLANNED_SUBDIR as Or, init_record as Ot, KIMI_PLATFORM_BASE_URL as P, registerProjectSync as Pn, getDocsBudgetStatePath as Pr, readRecordContinueViewSync as Pt, computeModelOrigin as Q, resolveBareNumericIdSync as Qn, parsePorcelainStatusPaths as Qt, getBuiltInDefaultHarness as R, resolveProjectFromIssue as Rn, getHandoffsDir as Rr, writeIssueRecordSync as Rt, DEFAULT_TIERED_EXECUTION_CONFIG as S, getSpecialistRetention as Sn, COSTS_DIR as Sr, ensureIssueRecordSync as St, init_tier_table as T, init_projects as Tn, PROJECT_DOCS_SUBDIR as Tr, getIssueRecordPathForWorkspace as Tt, piProviderForModel as U, setProjectAutoMergeDefaultSync as Un, packageRoot as Ur, init_auto_commit as Ut, getProviderForModelSync as V, saveProjectsConfig as Vn, init_paths as Vr, flushAllPendingAutoCommits as Vt, qualifyPiModel as W, setProjectSwarmPolicySync as Wn, resolveOhmypiExtensionPath as Wr, queueAutoCommit as Wt, DEFAULT_ROLES as X, normalizeIssueIdSync as Xn, isStatePlaneOnlyStatus as Xt, init_registry as Y, init_issue_id as Yn, init_state_plane as Yt, DEFAULT_WORKHORSES as Z, parseIssueIdSync as Zn, isStatePlanePath as Zt, getDefaultDocsConfig as _, getProject as _n, BIN_DIR as _r, appendFeedbackEntrySync as _t, getConversationsConfigSync as a, init_project_key as an, GitError as ar, getModelEffortLevelsSync as at, DEFAULT_CONFIG as b, getSpecialistConfig as bn, CLAUDE_DIR as br, clearRecordFeedbackSync as bt, isClaudeCodeChannelsEnabled as c, ProjectRenameError as cn, LinearApiError as cr, modelSupportsImagesSync as ct, loadConfigNoMigration as d, findProjectByPath as dn, TmuxError as dr, fnv1a32 as dt, init_state_migration_lock as en, require_dist as er, init_roles as et, loadConfigSync as f, findProjectByPathSync as fn, TrackerError as fr, init_percent as ft, mergeConfigs as g, getIssuePrefix as gn, ARCHIVES_DIR as gr, RECORD_DIRNAME as gt, jsYaml as h, findProjectsByRallyProject as hn, AGENTS_DIR as hr, ROLE_EFFORTS as ht, getConversationsConfig as i, shouldCommitLegacyWorkspaceArtifacts as in, FsError as ir, getModelCapabilitySync as it, canUseModelWithAuthSync as j, loadProjectsConfigSync as jn, SYNC_SOURCES as jr, readIssueRecord as jt, validateTieredExecutionConfig as k, listProjectsSync as kn, PROJECT_PRDS_SUBDIR as kr, markRecordPipelineClosedOutSync as kt, isClaudeCodeChannelsMcpEnabled as l, createDefaultProjectsConfig as ln, MergeConflictError as lr, resolveModelIdSync as lt, init_js_yaml as m, findProjectByTeamSync as mn, init_errors as mr, PARENT_MODEL_REF as mt, clearConfigCache as n, init_state_read_home as nn, ClaudeCredentialParseError as nr, MODEL_CAPABILITIES as nt, getGlobalConfigPath as o, projectKey as on, GitHubApiError as or, hasModelCapabilitySync as ot, updateConversationsConfig as p, findProjectByTeam as pn, VcsError as pr, COMPLIANCE_MODES as pt, init_openai_compatible_proxy as q, extractNumberSync as qn, STATE_PLANE_PATHS as qt, getConversationSearchConfigSync as r, resolveStateReadHomeSync as rn, ConfigError as rr, MODEL_DEPRECATIONS as rt, init_load as s, PROJECTS_CONFIG_FILE as sn, InvalidAgentIdError as sr, init_model_capabilities as st, init_config_yaml as t, STATE_BRANCH as tn, CheckpointError as tr, resolveModel as tt, isTldrEnabledSync as u, extractTeamPrefix as un, ProcessSpawnError as ur, fmix32 as ut, getDefaultTtsDaemonConfig as v, getProjectSwarmHotspots as vn, CACHE_AGENTS_DIR as vr, appendSessionEntry as vt, TieredExecutionConfigError as w, hasProjectsSync as wn, OVERDECK_HOME as wr, getIssueRecordPath as wt, init_defaults as x, getSpecialistPromptOverride as xn, CONFIG_FILE as xr, ensureIssueRecord as xt, mergeTtsDaemonConfigs as y, getProjectSync as yn, CACHE_RULES_DIR as yr, appendSessionEntrySync as yt, getKimiAnthropicBaseUrl as z, resolveProjectFromIssueSync as zn, getLegacyHome as zr, writeRecordTieredExecutionOverride as zt };
14834
14717
 
14835
- //# sourceMappingURL=config-yaml-ig8Nwtiw.js.map
14718
+ //# sourceMappingURL=config-yaml-DySPNmKN.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
3
- import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-DFRjDFef.js";
4
- import { L as messageAgent, Z as spawnRun, s as init_agents } from "./queries-ZABd5aXP.js";
3
+ import { b as setReviewStatusSync, c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
4
+ import { X as messageAgent, b as init_agents, ut as spawnRun } from "./queries-CjNIf-Ub.js";
5
5
  import { exec } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  //#region ../../lib/cloister/conflict-gate.ts
@@ -230,4 +230,4 @@ var init_conflict_gate = __esmMin((() => {
230
230
  //#endregion
231
231
  export { resolveConflictGate as a, init_conflict_gate as i, checkBranchMergeability as n, getCachedConflictGateMergeability as r, buildRealConflictGateDeps as t };
232
232
 
233
- //# sourceMappingURL=conflict-gate-CFqPVxEg.js.map
233
+ //# sourceMappingURL=conflict-gate-BaCVrH-N.js.map
@@ -1,3 +1,3 @@
1
- import { a as resolveConflictGate, i as init_conflict_gate, t as buildRealConflictGateDeps } from "./conflict-gate-CFqPVxEg.js";
1
+ import { a as resolveConflictGate, i as init_conflict_gate, t as buildRealConflictGateDeps } from "./conflict-gate-BaCVrH-N.js";
2
2
  init_conflict_gate();
3
3
  export { buildRealConflictGateDeps, resolveConflictGate };
@@ -0,0 +1,4 @@
1
+ import { S as codexGlobalContextFile, k as piGlobalContextFile } from "./assemble-J2ZZ2C15.js";
2
+ import { t as init_context_layers } from "./context-layers-igZ4FI4_.js";
3
+ init_context_layers();
4
+ export { codexGlobalContextFile, piGlobalContextFile };
@@ -0,0 +1,37 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ import { Vr as init_paths, mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
+ import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-J2ZZ2C15.js";
4
+ import "effect";
5
+ import "fs";
6
+ import "path";
7
+ import "os";
8
+ //#region ../../lib/backup.ts
9
+ var init_backup = __esmMin((() => {
10
+ init_paths();
11
+ init_errors();
12
+ }));
13
+ //#endregion
14
+ //#region ../../lib/context-layers/legacy-beads-cleanup.ts
15
+ var init_legacy_beads_cleanup = __esmMin((() => {
16
+ init_backup();
17
+ init_render();
18
+ }));
19
+ //#endregion
20
+ //#region ../../lib/context-layers/migrate.ts
21
+ var init_migrate = __esmMin((() => {
22
+ init_layers();
23
+ }));
24
+ //#endregion
25
+ //#region ../../lib/context-layers/index.ts
26
+ var init_context_layers = __esmMin((() => {
27
+ init_layers();
28
+ init_rules();
29
+ init_render();
30
+ init_assemble();
31
+ init_legacy_beads_cleanup();
32
+ init_migrate();
33
+ }));
34
+ //#endregion
35
+ export { init_context_layers as t };
36
+
37
+ //# sourceMappingURL=context-layers-igZ4FI4_.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Hn as init_projects, In as getProjectSync, Jn as loadProjectsConfigSync } from "./config-yaml-ig8Nwtiw.js";
3
- import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-D4iNWMA5.js";
4
- import { n as init_issues, t as IssueId } from "./issues-pDW9VUNz.js";
2
+ import { Tn as init_projects, jn as loadProjectsConfigSync, yn as getProjectSync } from "./config-yaml-DySPNmKN.js";
3
+ import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-BEqFxlJc.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-BMmP_77e.js";
5
5
  import { Context, Effect, Layer, Schema } from "effect";
6
6
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
7
7
  //#region ../../lib/overdeck/control-settings.ts
@@ -403,4 +403,4 @@ var init_control_settings = __esmMin((() => {
403
403
  //#endregion
404
404
  export { setMergeTrainEnabled as C, setFlywheelRequireUatBeforeMerge as S, stampBootReconciliation as T, setDeaconGloballyPaused as _, getFlywheelActiveRunIdSync as a, setFlywheelAutoPickupBacklog as b, isCloisterSpawnsPausedSync as c, isFlywheelAutoPickupBacklog as d, isFlywheelGloballyPaused as f, setCloisterSpawnsPausedSync as g, setBootReconciliationDecision as h, getFlywheelActiveRunId as i, isDeaconGloballyPaused as l, isMergeTrainEnabled as m, FLYWHEEL_GLOBAL_PAUSE_KEY as n, getSetting as o, isFlywheelRequireUatBeforeMerge as p, getBootReconciliationState as r, init_control_settings as s, FLYWHEEL_ACTIVE_RUN_ID_KEY as t, isDeaconGloballyPausedSync as u, setDeaconGloballyPausedSync as v, setSetting as w, setFlywheelGloballyPaused as x, setFlywheelActiveRunId as y };
405
405
 
406
- //# sourceMappingURL=control-settings-D_odMIaC.js.map
406
+ //# sourceMappingURL=control-settings-BQp7_4uD.js.map
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-ig8Nwtiw.js";
3
- import { a as init_event_store, n as getEventStore } from "./event-store-TnWdydfB.js";
4
- import { Ht as getAgentRuntimeBaseCommand, s as init_agents, sn as getProviderExportsForModel } from "./queries-ZABd5aXP.js";
5
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Bc-Bmiye.js";
6
- import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-C3avRVEr.js";
7
- import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-CLZOWin1.js";
8
- import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-bX6ax6X7.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
3
+ import { a as init_event_store, n as getEventStore } from "./event-store-CQL6NeqB.js";
4
+ import { b as init_agents, nn as getAgentRuntimeBaseCommand, wn as getProviderExportsForModel } from "./queries-CjNIf-Ub.js";
5
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-ez2271oH.js";
6
+ import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-DPJ71F33.js";
7
+ import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-KCYScAU1.js";
8
+ import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-D1RAk9rJ.js";
9
9
  import { dirname, join } from "node:path";
10
10
  import { Effect } from "effect";
11
11
  import { existsSync } from "node:fs";
@@ -179,4 +179,4 @@ var init_conversation_compaction = __esmMin((() => {
179
179
  //#endregion
180
180
  export { init_conversation_compaction as a, shouldInterceptManualCompact as c, getConversationCompactionSettings as i, compactConversationNative as n, isCompacting as o, estimateContextTokens as r, maybeCompactBeforeRespawn as s, buildCompactionRuntimeInfo as t };
181
181
 
182
- //# sourceMappingURL=conversation-compaction-B6YSRLda.js.map
182
+ //# sourceMappingURL=conversation-compaction-CgrR8YYp.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-B6YSRLda.js";
1
+ import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-CgrR8YYp.js";
2
2
  init_conversation_compaction();
3
3
  export { buildCompactionRuntimeInfo, compactConversationNative, estimateContextTokens, getConversationCompactionSettings, isCompacting, maybeCompactBeforeRespawn, shouldInterceptManualCompact };
@@ -1,3 +1,3 @@
1
- import { i as computeContextUsage, t as init_conversation_service } from "./conversation-service-C3avRVEr.js";
1
+ import { i as computeContextUsage, t as init_conversation_service } from "./conversation-service-DPJ71F33.js";
2
2
  init_conversation_service();
3
3
  export { computeContextUsage };