@overdeck/desktop 0.45.23 → 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 (388) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +2 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DOA0KgXx.js → acceptance-criteria-DDCnXF58.js} +2 -2
  4. package/server/{advancing-selfheal-BBu6DSNm.js → advancing-selfheal-BVwW4qRn.js} +6 -6
  5. package/server/{agent-gc-BV1q_2EV.js → agent-gc-CHcnvonI.js} +4 -4
  6. package/server/agent-state-Bc3tzUC8.js +3 -0
  7. package/server/{agent-state-service-HoK8U4jW.js → agent-state-service-BsgWxZuB.js} +5 -5
  8. package/server/{agent-state-service-CnzFKSAQ.js → agent-state-service-D5UGKIJL.js} +1 -1
  9. package/server/{agents-B4Bjbkfv.js → agents-EbI0zCJl.js} +4 -4
  10. package/server/agents-wi9NWzs2.js +3 -0
  11. package/server/{archive-planning-zkJb3BeM.js → archive-planning-BZDgzoEj.js} +1 -1
  12. package/server/{archive-planning-DYrYojxl.js → archive-planning-Du25Jtst.js} +4 -4
  13. package/server/{artifact-index-jobs-C-xy7Z5v.js → artifact-index-jobs-CbEDfCDu.js} +2 -2
  14. package/server/assemble-J2ZZ2C15.js +339 -0
  15. package/server/{backlog-auto-trigger-GtG71X8H.js → backlog-auto-trigger-2R2jog7n.js} +3 -3
  16. package/server/{behavior-B_-4EKF3.js → behavior-B3exJ42O.js} +2 -2
  17. package/server/{briefing-freshness-DWdW7vUm.js → briefing-freshness-D1wzUIWv.js} +2 -2
  18. package/server/{build-info-DgTqZkL5.js → build-info-CZk_TITh.js} +1 -1
  19. package/server/{build-info-BT096lEl.js → build-info-Ie_D0_BT.js} +3 -3
  20. package/server/{checkpoint-manager-DDqcGyu8.js → checkpoint-manager-BI1Wxoku.js} +2 -2
  21. package/server/{checkpoint-manager-B7Bt29J0.js → checkpoint-manager-DwbQoqrC.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-CpgCjAlN.js → checkpoints-BJIs5QIA.js} +1 -1
  24. package/server/{checkpoints-C-AXLfYT.js → checkpoints-CQB1h765.js} +2 -2
  25. package/server/{claude-hooks-provision-C8wdRnN1.js → claude-hooks-provision-8Ngo8TpT.js} +1 -1
  26. package/server/{claude-hooks-provision-but-_qGY.js → claude-hooks-provision-D8GXF3_s.js} +2 -2
  27. package/server/{claude-permissions-H_5wHQZQ.js → claude-permissions-DNWEVV6z.js} +2 -2
  28. package/server/{claude-settings-overlay-CbSz0Dvb.js → claude-settings-overlay-CEdaqpWI.js} +2 -2
  29. package/server/{claude-settings-overlay-BTENVmYf.js → claude-settings-overlay-DWy-Bb4Y.js} +1 -1
  30. package/server/cli-B86rejVV.js +3 -0
  31. package/server/{cli-vBeXbPrq.js → cli-RoOx5DUf.js} +9 -9
  32. package/server/{cliproxy-Bgb2XCqi.js → cliproxy-C8a1vtTU.js} +2 -2
  33. package/server/{cliproxy-DW0V86F8.js → cliproxy-fHfIeiGd.js} +1 -1
  34. package/server/{close-issue-Dn_4c4G8.js → close-issue-DoOifFIK.js} +5 -5
  35. package/server/{closed-issue-reaper-hANY_ehE.js → closed-issue-reaper-Bk3SU4RC.js} +9 -9
  36. package/server/{closed-issue-reaper-CWpY2uBw.js → closed-issue-reaper-CktPXo8m.js} +1 -1
  37. package/server/{codex-TmSi-yTv.js → codex-BZXGhUVB.js} +7 -7
  38. package/server/{codex-Dg7Is5yb.js → codex-GcHuUF-k.js} +1 -1
  39. package/server/{codex-parser-C4gSH-IR.js → codex-parser-CFZ1_1Jl.js} +2 -2
  40. package/server/{config-CCvjQf27.js → config-BZ0sHTju.js} +2 -2
  41. package/server/{config-DjLOdbgT.js → config-CKxYiCmX.js} +2 -2
  42. package/server/{config-DUIhMN_T.js → config-DzV30TOm.js} +1 -1
  43. package/server/{config-yaml-DvyMuOle.js → config-yaml-DySPNmKN.js} +23 -9
  44. package/server/{conflict-gate-CmrYpa47.js → conflict-gate-BaCVrH-N.js} +3 -3
  45. package/server/{conflict-gate-BSJkNTdp.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-aP1ANIlI.js → control-settings-BQp7_4uD.js} +4 -4
  49. package/server/{conversation-compaction-CNbTLB86.js → conversation-compaction-CgrR8YYp.js} +8 -8
  50. package/server/{conversation-compaction-DiG5zWQq.js → conversation-compaction-eQB5CkOe.js} +1 -1
  51. package/server/{conversation-service-Up7FEzIC.js → conversation-service-BLd3MYsG.js} +1 -1
  52. package/server/{conversation-service-Du-MTNpJ.js → conversation-service-DPJ71F33.js} +329 -19
  53. package/server/{conversations-DbOs1e9Q.js → conversations-6AfUfbwc.js} +5 -5
  54. package/server/{conversations-6mPANqvL.js → conversations-CAsJF9kh.js} +1 -1
  55. package/server/{cost-Ca0YTWDw.js → cost-B2ddP6wq.js} +2 -2
  56. package/server/{cost-CW4WSe72.js → cost-R-m6Yi-W.js} +3 -3
  57. package/server/{cost-sync-C0VdGme1.js → cost-sync-BsN6ER0n.js} +3 -3
  58. package/server/{dag-CdOjJVDT.js → dag-B1ucnjDU.js} +2 -2
  59. package/server/{dangerous-git-ops-CT-IypG3.js → dangerous-git-ops-BXqeWVSf.js} +1 -1
  60. package/server/dashboard-db-worker.js +7 -7
  61. package/server/{deacon-pRnyD5w9.js → deacon-CU_cAYSR.js} +254 -144
  62. package/server/{deacon-DYSEJb48.js → deacon-kiQrb4ZT.js} +3 -3
  63. package/server/{deacon-nudge-log-Bjg8U4Y9.js → deacon-nudge-log-6wVqAaqz.js} +3 -3
  64. package/server/{deacon-swarm-DftYRDo8.js → deacon-swarm-BXZZ1Z2-.js} +13 -13
  65. package/server/deacon-swarm-C-GwfjJy.js +2 -0
  66. package/server/deacon.js +8 -8
  67. package/server/{deploy-patrol-Bjsho_ha.js → deploy-patrol-AiFoP8dw.js} +6 -6
  68. package/server/{deploy-window-DeP_OIRk.js → deploy-window-C3F-tihF.js} +6 -6
  69. package/server/{deploy-window-CM6W1-c6.js → deploy-window-DkZraDyj.js} +1 -1
  70. package/server/{dev-supervisor-BpMoHlkR.js → dev-supervisor-bcOWqdQE.js} +2 -2
  71. package/server/{devcontainer-renderer-CtUgrVKW.js → devcontainer-renderer-_d6XhyND.js} +3 -3
  72. package/server/dist-Bzy0y69j.js +3 -0
  73. package/server/{dist-DyRx4cI7.js → dist-Cb_0uvpS.js} +1 -1
  74. package/server/{docker-BK7HIcBj.js → docker-DcMTFTUC.js} +2 -2
  75. package/server/{dod-BrSfUHm0.js → dod-C6n9RV3G.js} +1 -1
  76. package/server/{ensure-devcontainer-DRqaAkBR.js → ensure-devcontainer-BZgOhRo7.js} +1 -1
  77. package/server/{ensure-devcontainer-DseivYEy.js → ensure-devcontainer-DNi-ono3.js} +4 -4
  78. package/server/{esm-shims-CbI3BVkl.js → esm-shims-OSHAYaS1.js} +1 -1
  79. package/server/{event-store-tdiY5eDZ.js → event-store-CQL6NeqB.js} +3 -3
  80. package/server/{event-store-Cr5PQwFC.js → event-store-EV2cMiXj.js} +1 -1
  81. package/server/{events-CvvGK6LT.js → events-BTdrdEq8.js} +1 -1
  82. package/server/{events-CC1dgUpx.js → events-DTfAe4My.js} +3 -3
  83. package/server/{factory-CynerjXO.js → factory-CFibJuaw.js} +4 -4
  84. package/server/{feature-registry-population-B0pmAz0a.js → feature-registry-population-DKZFMbFt.js} +4 -4
  85. package/server/{feature-registry-storage-_wUBRD3J.js → feature-registry-storage-BdPuLcBX.js} +2 -2
  86. package/server/{features-Dhxz-wLc.js → features-ez2271oH.js} +2 -2
  87. package/server/{feedback-target-CPS15Vte.js → feedback-target-7mqqwrX6.js} +7 -7
  88. package/server/{feedback-target-iygZwmMc.js → feedback-target-CoFDHiM8.js} +1 -1
  89. package/server/{feedback-writer-C9b6ccN1.js → feedback-writer-CY5L1lB7.js} +5 -5
  90. package/server/{feedback-writer-qmiMbqTZ.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-DxbQKE1d.js → flywheel-merge-order-UU0tiUld.js} +9 -8
  95. package/server/{flywheel-merge-order-C-6zRLvM.js → flywheel-merge-order-UUcsCDb6.js} +1 -1
  96. package/server/{forge-Ch9gCFod.js → forge-CNFnyqps.js} +2 -2
  97. package/server/forge-DXnS_YFH.js +2 -0
  98. package/server/{from-CJ_aH5jD.js → from-kNxT0bZC.js} +1 -1
  99. package/server/{fts-db-CKgg0VKg.js → fts-db-CE46vDkZ.js} +2 -2
  100. package/server/{fts-operations-BrL_VTRr.js → fts-operations-CqY6zl-i.js} +2 -2
  101. package/server/{git-utils-BVa07a4a.js → git-utils-CRw2zLPC.js} +68 -3
  102. package/server/git-utils-D0_yhCgF.js +3 -0
  103. package/server/{github-app-CMBdIFBQ.js → github-app-C3QrAUd0.js} +18 -7
  104. package/server/{github-app-CPfoFAdV.js → github-app-ClZ2lk8D.js} +1 -1
  105. package/server/{github-client--XVlDpwM.js → github-client-BnIsSrEN.js} +2 -2
  106. package/server/{github-client-B4QsdE-X.js → github-client-DfQYVUaw.js} +1 -1
  107. package/server/{github-pr-lookup-BRbDW-qk.js → github-pr-lookup-D16NGsSO.js} +2 -2
  108. package/server/{harness-binary-CVio2m-u.js → harness-binary-DPUi-Pv8.js} +32 -6
  109. package/server/{harness-resolve-qHJBhy3Z.js → harness-resolve-3lNZkyT4.js} +18 -9
  110. package/server/{health-events-C9B8y1Hm.js → health-events-BBcTYQKU.js} +2 -2
  111. package/server/{health-events-CpfvuVmm.js → health-events-BDOHby5Q.js} +1 -1
  112. package/server/{hooks-DUXw8A0-.js → hooks-CKZgXlJb.js} +2 -2
  113. package/server/{hooks-ltecuFqZ.js → hooks-DPVX1rwQ.js} +1 -1
  114. package/server/{hume-BEq0bUDg.js → hume-Cz8igP9E.js} +2 -2
  115. package/server/hume-ccTf4wTX.js +3 -0
  116. package/server/{idle-stack-reaper-D7w9t3fE.js → idle-stack-reaper-CuLF0j2H.js} +1 -1
  117. package/server/{idle-stack-reaper-w1ISSlhs.js → idle-stack-reaper-DDIRwxUY.js} +2 -2
  118. package/server/{in-flight-guard-aQ1IxeI3.js → in-flight-guard-CAAkqPLu.js} +2 -2
  119. package/server/{infra-CzaSOgul.js → infra-BEqFxlJc.js} +14 -4
  120. package/server/{injection-DZ0PfYa4.js → injection-C8aiVJrF.js} +191 -183
  121. package/server/{injection-oNZeoDhL.js → injection-CPUIqNhI.js} +1 -1
  122. package/server/{inspect-agent-DJKLWcVT.js → inspect-agent-BLuJ1AkT.js} +135 -79
  123. package/server/inspect-agent-Brtz0URj.js +2 -0
  124. package/server/{internal-token-DXdfprGr.js → internal-token-BrcU6qfe.js} +1 -1
  125. package/server/{internal-token-Bb4XeV2x.js → internal-token-s0-oKybJ.js} +2 -2
  126. package/server/{io-B3_AHDfr.js → io-C9kF1wtJ.js} +3 -3
  127. package/server/{issue-closed-zhdvQicO.js → issue-closed-CDJk4pIp.js} +7 -7
  128. package/server/{issue-lifecycle-Dy4vd0Oa.js → issue-lifecycle-B8sZHVHh.js} +1 -1
  129. package/server/{issue-lifecycle-CreaCkjW.js → issue-lifecycle-ojZAzDBP.js} +21 -21
  130. package/server/{issue-service-singleton-DabvBWUp.js → issue-service-singleton-BvJ09SaR.js} +1 -1
  131. package/server/{issue-service-singleton-B5ushCvE.js → issue-service-singleton-Yx5DdmVJ.js} +8 -8
  132. package/server/{issues-B6ToV6x1.js → issues-BMmP_77e.js} +2 -2
  133. package/server/{jsonl-parser-Dhflo1SH.js → jsonl-parser-BXSlHwEh.js} +3 -3
  134. package/server/{label-cleanup-BKPJm4Hv.js → label-cleanup-B0UJwnv5.js} +3 -3
  135. package/server/{label-reconciler-DdWbHEBu.js → label-reconciler-B4iOAjlC.js} +4 -4
  136. package/server/{launcher-generator-CHVm7bGT.js → launcher-generator-BBWG_SiS.js} +101 -7
  137. package/server/{lifecycle-io-D8iNBcux.js → lifecycle-io-BREGpnLk.js} +5 -5
  138. package/server/{lifecycle-io-Bsnr2K4F.js → lifecycle-io-DPo7x11I.js} +1 -1
  139. package/server/{lifecycle-sycO16hj.js → lifecycle-xmBfK2GJ.js} +6 -6
  140. package/server/{lifecycle-DfeyBDwA.js → lifecycle-yPd___5E.js} +2 -2
  141. package/server/{linear-client-D4zqMnX7.js → linear-client-BsuUvkdA.js} +2 -2
  142. package/server/{linear-client-DqhDQO9k.js → linear-client-CTskEeT_.js} +1 -1
  143. package/server/memory-fts-worker.js +1 -1
  144. package/server/{merge-DK23JEdS.js → merge-B1DiziGU.js} +1 -1
  145. package/server/{merge-C_ZEhbqI.js → merge-CefQNAnq.js} +3 -3
  146. package/server/{merge-agent-XrB80vfT.js → merge-agent-4WOWlSYA.js} +28 -28
  147. package/server/{merge-agent-BQM3a8z5.js → merge-agent-CKkgIBPB.js} +1 -1
  148. package/server/{merge-batch-Bwoyr8Je.js → merge-batch-ClFn2T-y.js} +1 -1
  149. package/server/merge-ops-CR44oU9-.js +2 -0
  150. package/server/{merge-rebase-C1KIVr0s.js → merge-rebase-BfaTyXsw.js} +2 -2
  151. package/server/merge-set-DJ8-UErs.js +83 -0
  152. package/server/{merge-set-DnSYdBEp.js → merge-set-bUqbm3yc.js} +1 -1
  153. package/server/{merge-sync-SSv3E-pl.js → merge-sync-BJYeOODr.js} +1 -1
  154. package/server/{merge-sync-DZ9dojJn.js → merge-sync-VPV28g0g.js} +2 -2
  155. package/server/{merge-train-DxDfBTjr.js → merge-train-CHopycP0.js} +3 -3
  156. package/server/{merge-train-deps-CyYQUksx.js → merge-train-deps-D1cOZzy2.js} +4 -4
  157. package/server/{merge-verification-CSizH3HY.js → merge-verification-BkaOqPsw.js} +4 -4
  158. package/server/{multipart-parser-Dt8YPN5S.js → multipart-parser-duPAfSBw.js} +2 -2
  159. package/server/{no-resume-mode-Cx3K0hHi.js → no-resume-mode-Nw29vaFb.js} +1 -1
  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-neK8dHQk.js → orphan-proposed-reconciler-BvKkWMJQ.js} +12 -12
  190. package/server/{orphan-proposed-reconciler-BTkDrl4R.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-DeVUgwA7.js → pan-dir-B0c3w0Ya.js} +3 -3
  194. package/server/{paths-_zEts6wc.js → paths-D-xWGHdh.js} +2 -2
  195. package/server/{pickup-Dd0Znxxy.js → pickup-DUCLWrJY.js} +17 -16
  196. package/server/{pipeline-membership-0HaEGDlH.js → pipeline-membership-mY3GprlK.js} +7 -7
  197. package/server/{pipeline-notifier-6iCJplFZ.js → pipeline-notifier-BJr8gQX6.js} +1 -1
  198. package/server/{pipeline-notifier-D0ykk59O.js → pipeline-notifier-BXkJzDC4.js} +2 -2
  199. package/server/{project-pipelines-2sK1apsO.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-9SkRpES9.js → projects-vjjcmiN8.js} +1 -1
  203. package/server/{prompts-Dp4Tpk39.js → prompts-DxzFXuLl.js} +2 -2
  204. package/server/{providers-DV7ec8l7.js → providers-qQAwGQDW.js} +7 -7
  205. package/server/{providers-DKkBXhxU.js → providers-u4Ga0jOr.js} +1 -1
  206. package/server/public/assets/{chunk-BO2N2NFS-CltymLRg.js → chunk-BO2N2NFS-BamJdinX.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-D2f6pjgA.js → diagram-OG6HWLK6-DfOB8-w4.js} +1 -1
  208. package/server/public/assets/{dist-DEmlBBNQ.js → dist-ByIuzMQW.js} +3 -3
  209. package/server/public/assets/{dist-BWR4qFiV.js → dist-D7zYSEA6.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-DnfiViPK.js → ganttDiagram-6RSMTGT7-EdmRyXL3.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-B8Wrmj9H.js → highlighted-body-OFNGDK62-MerOfTX8.js} +1 -1
  212. package/server/public/assets/{index-CsSuZQBI.js → index-CWeMerGO.js} +146 -144
  213. package/server/public/assets/{index-CUr1xv8w.css → index-CenuJ3Cw.css} +1 -1
  214. package/server/public/assets/{linear-C9zFQpkX.js → linear-BBbArIcK.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-lR8H7Yjd.js → pieDiagram-4H26LBE5-BKIddiJN.js} +1 -1
  217. package/server/public/assets/{prod-B1jCQihw.js → prod-B8vYiu52.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-CVQ2guem.js → quadrantDiagram-W4KKPZXB-D6RtoULk.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-eD1RB4gm.js → sankeyDiagram-5OEKKPKP-CLrCedZX.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-ChEC6dQn.js → xychartDiagram-2RQKCTM6-hznR8DYl.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests--Ib2jTgy.js → pull-requests-7N8WKseP.js} +1 -1
  223. package/server/{pull-requests-CXIhdCYD.js → pull-requests-_lHueOHW.js} +3 -3
  224. package/server/{queries-6d7Cdtm7.js → queries-CjNIf-Ub.js} +576 -166
  225. package/server/{rally-B708-nZn.js → rally-CyWT_lNO.js} +3 -3
  226. package/server/{rally-api-nY0ZANw3.js → rally-api-C8e_1JRi.js} +2 -2
  227. package/server/{rally-api-yjQ0TfHd.js → rally-api-ClOSd-Tt.js} +1 -1
  228. package/server/{rally-client-B1EJhfV0.js → rally-client-lc-nokqr.js} +4 -4
  229. package/server/{rally-client-CULK2XAY.js → rally-client-sgtVqzNU.js} +1 -1
  230. package/server/rally-zhhtXuDP.js +3 -0
  231. package/server/{reap-terminal-sessions-MWnqdLCJ.js → reap-terminal-sessions-7KeHv1R1.js} +1 -1
  232. package/server/{reap-terminal-sessions-N3BTkmX_.js → reap-terminal-sessions-BtHPo6Xc.js} +1 -1
  233. package/server/rebuild-stack-CFvcBHsS.js +4 -0
  234. package/server/{rebuild-stack-Dp4eLkt4.js → rebuild-stack-lwtsW0GO.js} +26 -35
  235. package/server/{reconstruct-cache-uWbZfjms.js → reconstruct-cache-C3Ui7ojV.js} +6 -6
  236. package/server/{record-t6V-3Dcj.js → record-CN0pj4_5.js} +1 -1
  237. package/server/{record-update-DACtKh6_.js → record-update-bLJxAXH4.js} +1 -1
  238. package/server/{record-update-Dq0t2uBG.js → record-update-dE1Aw83j.js} +2 -2
  239. package/server/{recovery-trip-BJtIQuag.js → recovery-trip-BvRWfUXM.js} +2 -2
  240. package/server/{release-engine-DZpmGGzb.js → release-engine-Cx48W7z8.js} +5 -5
  241. package/server/{release-set-hnXd_kga.js → release-set-CQfuN9-v.js} +3 -3
  242. package/server/{remote-Br-ZWVIP.js → remote-C_2hasl7.js} +3 -3
  243. package/server/{remote-4tiENDaI.js → remote-ChgimyYa.js} +3 -3
  244. package/server/{remote-agents-nmty1mLu.js → remote-agents-By1ige5O.js} +6 -6
  245. package/server/{remote-agents-CRCg1L4H.js → remote-agents-CA3Ihlxj.js} +1 -1
  246. package/server/{remote-completion-BbWNd10K.js → remote-completion-fVe9e_3u.js} +12 -12
  247. package/server/resume-BFv1PGpA.js +3 -0
  248. package/server/{review-agent-sKkE1FEL.js → review-agent-CIGOQYBD.js} +29 -25
  249. package/server/{review-agent-DJRO8EG8.js → review-agent-DNboMyW4.js} +1 -1
  250. package/server/{review-artifacts-BLbSC4ke.js → review-artifacts-nRDPuMxd.js} +5 -5
  251. package/server/{review-context-BgX3lcCx.js → review-context-2uj-YQ8J.js} +69 -25
  252. package/server/{review-status-C6n6-9f_.js → review-status-btEYlaxA.js} +1 -1
  253. package/server/{review-status-enrichment-tbOn_A_u.js → review-status-enrichment-Dci-ZwEt.js} +3 -3
  254. package/server/{review-status-A7quS5KJ.js → review-status-kZj_KyCk.js} +42 -26
  255. package/server/{review-status-sync-BhSQ0d0l.js → review-status-sync-BTOpxtTC.js} +10 -5
  256. package/server/{review-status-sync-To3-iS-N.js → review-status-sync-DSDK3OMy.js} +1 -1
  257. package/server/{review-verdict-feedback-CTRNtzXO.js → review-verdict-feedback-CCjVA7Uk.js} +6 -6
  258. package/server/{review-verdict-feedback-C1Kg8n7t.js → review-verdict-feedback-CTd4QMBu.js} +1 -1
  259. package/server/{rollup-B53Y81xK.js → rollup-BKQC7jp4.js} +1 -1
  260. package/server/{rollup-WA0VD-Rr.js → rollup-FGsKki9R.js} +8 -8
  261. package/server/{scanner-D2743cp8.js → scanner-CnqEZeDy.js} +41 -14
  262. package/server/{sequence-io-Cg0zYj_E.js → sequence-io-D909zgeH.js} +4 -4
  263. package/server/{sequencer-agent-BGY8gjg-.js → sequencer-agent-CzkcK6P5.js} +5 -5
  264. package/server/server.js +2194 -341
  265. package/server/{service-DCpB_SGd.js → service-CLeAoU6G.js} +51 -50
  266. package/server/{session-fork-BQ8_6H32.js → session-fork-CHI1XvL9.js} +2 -2
  267. package/server/{session-history-CVZDpS3c.js → session-history-BT3IvqhC.js} +4 -4
  268. package/server/settings-66A6uvIA.js +2 -0
  269. package/server/{settings-BZ5m1UCl.js → settings-BTMvpNFU.js} +3 -3
  270. package/server/{settings-ylxwqwQG.js → settings-C0zgxOGf.js} +2 -2
  271. package/server/{shadow-engineering-BlxG6Xye.js → shadow-engineering-BJfgm-hX.js} +2 -2
  272. package/server/{shadow-state-Dh-HzF2J.js → shadow-state-7a-524T8.js} +2 -2
  273. package/server/{shadow-state-C2_epgx2.js → shadow-state-DnDyjujH.js} +1 -1
  274. package/server/{shadow-utils-4bvjn9b3.js → shadow-utils-Db3oroFG.js} +2 -2
  275. package/server/{ship-log-ClSMIzZX.js → ship-log-D9MlVzYU.js} +1 -1
  276. package/server/{smart-compaction-CHIxLr_d.js → smart-compaction-CV2ukKND.js} +1 -1
  277. package/server/{smart-compaction-r4pHQBIr.js → smart-compaction-KCYScAU1.js} +7 -7
  278. package/server/{spawn-planning-session-DWAorh2B.js → spawn-planning-session-DKpdFyOC.js} +30 -23
  279. package/server/{spawn-planning-session-KC_UduxD.js → spawn-planning-session-qUC2VWu3.js} +1 -1
  280. package/server/{specialist-completion-BXhav38U.js → specialist-completion-Ky9wCDpb.js} +1 -1
  281. package/server/{specialist-context-DtrYvGJ-.js → specialist-context-Bn3dCGS2.js} +5 -5
  282. package/server/{specialist-handoff-logger-C45ouoZ6.js → specialist-handoff-logger-CMEwYxa2.js} +2 -2
  283. package/server/{specialist-logs-DJ3RzKxW.js → specialist-logs-C5p8G7tx.js} +3 -3
  284. package/server/{specialists-JVO00bs7.js → specialists-CC4r-c2s.js} +776 -347
  285. package/server/{specialists-D5fRZXmN.js → specialists-CShuVGWT.js} +1 -1
  286. package/server/{specialists-DVj0hvaL.js → specialists-DM6bWjsi.js} +1 -1
  287. package/server/{specialists-DyFeedjn.js → specialists-jiuuyVkp.js} +21 -19
  288. package/server/specs-C8Wsn2XO.js +3 -0
  289. package/server/{src-CG9mCkP6.js → src-CXmtj0im.js} +6 -6
  290. package/server/{src-CMTQGyCK.js → src-CdmnTM2m.js} +5 -5
  291. package/server/{src-U7_kTPEE.js → src-DtcUOZCq.js} +111 -18
  292. package/server/stack-health-Bn3o8FBX.js +3 -0
  293. package/server/{stack-health-puygdaMd.js → stack-health-DxSdG9cW.js} +63 -9
  294. package/server/{stale-task-claims-BbFwCTb0.js → stale-task-claims-KJKxxiiQ.js} +4 -4
  295. package/server/{staleness-Cbl_w4Bw.js → staleness-CT34nwr9.js} +1 -1
  296. package/server/{staleness-Bpy41ngS.js → staleness-DPm7ClwA.js} +1 -1
  297. package/server/{state-home-CIGjwNfJ.js → state-home-Cn_Qu8IX.js} +2 -2
  298. package/server/{state-migrate-Dkzaxvny.js → state-migrate-BGg2ZaOt.js} +4 -4
  299. package/server/{stuck-remediation-CzEov_fq.js → stuck-remediation-DYuPRYYw.js} +300 -23
  300. package/server/{stuck-remediation-sY_MHHgQ.js → stuck-remediation-s9_2qfi6.js} +1 -1
  301. package/server/{substrate-bug-weights-service-BH66lhm7.js → substrate-bug-weights-service-B-FwCs5V.js} +3 -3
  302. package/server/{summary-fork-DHhJIsAL.js → summary-fork-D1RAk9rJ.js} +78 -12
  303. package/server/{summary-fork-D8bXjCr7.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-BO-Zk_h-.js → supervisor-wM4ooB5O.js} +3 -3
  309. package/server/{swarm-readiness-CQ_fwUWF.js → swarm-readiness-DlP_UjHq.js} +3 -3
  310. package/server/{system-prerequisites-Bza0ffAh.js → system-prerequisites-DUDj1YHf.js} +56 -29
  311. package/server/{teardown-workspace-CEgauF4U.js → teardown-workspace-DeTTImn-.js} +15 -15
  312. package/server/{test-agent-queue-DXDt0Xa-.js → test-agent-queue-MbxX5vqq.js} +6 -6
  313. package/server/{test-verdict-CmUBK5cT.js → test-verdict-bWYBtqBg.js} +1 -1
  314. package/server/{test-verdict-DFjjIHR5.js → test-verdict-gscuksPv.js} +1 -1
  315. package/server/{tldr-daemon-DL566HbH.js → tldr-daemon-BYFkts95.js} +1 -1
  316. package/server/{tldr-daemon-BDtLOIlO.js → tldr-daemon-C-69c3OI.js} +2 -2
  317. package/server/{tmux-DoThH6aj.js → tmux-B6z7h_vZ.js} +1 -1
  318. package/server/{tmux-ftABRAmc.js → tmux-R7N7y-Mh.js} +2 -2
  319. package/server/{token-CsOhvw42.js → token-BK6t8BIT.js} +2 -2
  320. package/server/token-util-DuPuNriz.js +3 -0
  321. package/server/{token-util-CTmczIfW.js → token-util-DxXu-vd1.js} +1 -1
  322. package/server/{tracker-config-B4itFzDo.js → tracker-config-G6latr8C.js} +2 -2
  323. package/server/{tracker-utils-BePq_oj-.js → tracker-utils-B4ylXZQK.js} +1 -1
  324. package/server/{tracker-utils-tnxxqROg.js → tracker-utils-DHv5pSDT.js} +2 -2
  325. package/server/{traefik-connect-m73vGebA.js → traefik-connect-Df2uXPsQ.js} +1 -1
  326. package/server/{tunnel-B2vxjx_b.js → tunnel-CDVKJpRv.js} +3 -3
  327. package/server/{tunnel-Cgj-IGIl.js → tunnel-DGdUkGoZ.js} +1 -1
  328. package/server/{types-BBNjPcqU.js → types-5M0lupud.js} +1 -1
  329. package/server/{uat-train-cKfM-_WW.js → uat-train-B05BWkp-.js} +1 -1
  330. package/server/{uat-train-CuEn0t9M.js → uat-train-DDSrSoV1.js} +25 -25
  331. package/server/validate-IfDGkaVR.js +177 -0
  332. package/server/{validation-CIi6pnI2.js → validation-CC9OPqJZ.js} +1 -1
  333. package/server/{validation-B5JxoPUS.js → validation-Dw1pzDzr.js} +4 -4
  334. package/server/{verification-artifact-C-lIHfUa.js → verification-artifact-B3itKTxu.js} +1 -1
  335. package/server/{verification-artifact-BcnIbigL.js → verification-artifact-TVFSz_q1.js} +1 -1
  336. package/server/{verification-runner-CDj4lD4t.js → verification-runner-BW4HOKAz.js} +1 -1
  337. package/server/{verification-runner-Br0S_Ous.js → verification-runner-CkgX6EtI.js} +91 -106
  338. package/server/{vtt-parser-DKpNNW5i.js → vtt-parser-DYPbKcIJ.js} +1 -1
  339. package/server/{work-agent-prompt-Yb2bd3Fq.js → work-agent-prompt-Du8Vh2aJ.js} +9 -9
  340. package/server/workflows-BQu4RFQ-.js +2 -0
  341. package/server/{workflows-C9WmILql.js → workflows-mbQzh6mQ.js} +18 -18
  342. package/server/{workspace-DuUdndHe.js → workspace--8tnhDI0.js} +1 -1
  343. package/server/{workspace-BVl4rihN.js → workspace-BPUws1-_.js} +3 -3
  344. package/server/{workspace-config-cEGcO6UT.js → workspace-config-CIVWZOQr.js} +1 -1
  345. package/server/{workspace-manager-hLUv3ADC.js → workspace-manager-CBhNdzE4.js} +66 -15
  346. package/server/workspace-manager-CWT55qeI.js +3 -0
  347. package/server/{workspace-metadata-DNpMixRq.js → workspace-metadata-BzHnwwX4.js} +1 -1
  348. package/server/{workspace-metadata-CskwzzhL.js → workspace-metadata-_WygnyoX.js} +2 -2
  349. package/server/{workspaces-hWvy9eKs.js → workspaces-Do_9J0LQ.js} +130 -111
  350. package/sync-sources/hooks/record-cost-event.js +6 -4
  351. package/sync-sources/skills/okf/README.md +11 -3
  352. package/sync-sources/skills/okf/SKILL.md +12 -1
  353. package/sync-sources/skills/okf/docs/USAGE.md +15 -0
  354. package/sync-sources/skills/okf/references/overdeck.md +28 -0
  355. package/sync-sources/skills/pan-flywheel/SKILL.md +18 -1
  356. package/sync-sources/skills/pan-knowledge/SKILL.md +10 -0
  357. package/sync-sources/skills/pan-orders/SKILL.md +33 -0
  358. package/sync-sources/skills/pan-start/SKILL.md +4 -0
  359. package/sync-sources/templates/traefik/dynamic/overdeck.yml.template +10 -0
  360. package/server/agent-state-Bg0lhqwj.js +0 -3
  361. package/server/agents-FlIgQ3ql.js +0 -3
  362. package/server/cli-BsVIHwzC.js +0 -3
  363. package/server/context-layers-B3Nt58jl.js +0 -4
  364. package/server/context-layers-ZYFcWiyc.js +0 -165
  365. package/server/deacon-swarm-9jRLS5Ke.js +0 -2
  366. package/server/dist-Bd3vn0Hw.js +0 -3
  367. package/server/flywheel-DMCUzDWg.js +0 -2
  368. package/server/flywheel-DSSpWmqF.js +0 -522
  369. package/server/flywheel-DcBkQvgE.js +0 -207
  370. package/server/forge-B-ZWyTRm.js +0 -2
  371. package/server/git-utils-Dry_Ka_D.js +0 -3
  372. package/server/hume-B_DbflNM.js +0 -3
  373. package/server/inspect-agent-ch-F-5Ci.js +0 -2
  374. package/server/layers-DzxSTGNA.js +0 -93
  375. package/server/merge-blockers-BsFjGrQ8.js +0 -41
  376. package/server/merge-ops-DlB1IM0Y.js +0 -2
  377. package/server/merge-set-DLz0MkGT.js +0 -139
  378. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +0 -1
  379. package/server/rally-njs_mJrt.js +0 -3
  380. package/server/rebuild-stack-kA7XngID.js +0 -3
  381. package/server/resume-CcKqnTvE.js +0 -3
  382. package/server/settings-D0OSwos5.js +0 -2
  383. package/server/specs-nN45DG2X.js +0 -3
  384. package/server/stack-health-Df0YEZKa.js +0 -3
  385. package/server/supervisor-BPy-o1A8.js +0 -2
  386. package/server/token-util-DrHg8abn.js +0 -3
  387. package/server/workflows-D90rMOya.js +0 -2
  388. package/server/workspace-manager-ZTdJAy9M.js +0 -3
@@ -1,12 +1,14 @@
1
- import { D as resolveTieredExecutionEnabled, G as setupCredentialFileAuthSync, H as init_providers, L as clearCredentialFileAuthSync, T as init_tier_table, V as getProviderForModelSync, ar as GitError, f as loadConfigSync, mr as init_errors, t as init_config_yaml, tt as resolveModel, ur as ProcessSpawnError } from "./config-yaml-DvyMuOle.js";
2
- import { D as killSession, H as sessionExists, s as createSession, w as init_tmux } from "./tmux-ftABRAmc.js";
3
- import { b as setReviewStatusSync, l as init_review_status } from "./review-status-A7quS5KJ.js";
4
- import { A as spawnTierSupervisor, D as init_tier_supervisor, E as deliverCommitForReview, O as loadPrdDraft, Tr as saveAgentRuntimeState, b as init_agents, j as supervisorAgentId, rr as saveAgentState, yn as getProviderEnvForModel } from "./queries-6d7Cdtm7.js";
5
- import { m as readWorkspacePlanSync, o as init_io } from "./io-B3_AHDfr.js";
6
- import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-CHVm7bGT.js";
7
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-H_5wHQZQ.js";
8
- import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-CVio2m-u.js";
9
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-zhdvQicO.js";
1
+ import { D as resolveTieredExecutionEnabled, G as setupCredentialFileAuthSync, H as init_providers, L as clearCredentialFileAuthSync, T as init_tier_table, V as getProviderForModelSync, f as loadConfigSync, mr as init_errors, t as init_config_yaml, tt as resolveModel, ur as ProcessSpawnError } from "./config-yaml-DySPNmKN.js";
2
+ import { D as killSession, H as sessionExists, s as createSession, w as init_tmux } from "./tmux-R7N7y-Mh.js";
3
+ import { b as setReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
4
+ import { A as spawnTierSupervisor, Ar as saveAgentRuntimeState, Cn as getProviderEnvForModel, D as init_tier_supervisor, E as deliverCommitForReview, O as loadPrdDraft, b as init_agents, cr as saveAgentState, j as supervisorAgentId } from "./queries-CjNIf-Ub.js";
5
+ import { c as resolveWorkspaceRepoRootsSync, r as init_project_repos } from "./project-repos-B6GycDh9.js";
6
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-C9kF1wtJ.js";
7
+ import { n as init_launcher_generator, t as generateLauncherScriptSync } from "./launcher-generator-BBWG_SiS.js";
8
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-DNWEVV6z.js";
9
+ import { i as prepareHarnessLaunch, r as init_harness_binary } from "./harness-binary-DPUi-Pv8.js";
10
+ import { i as init_git_utils, s as snapshotWorkspaceHeadsPromise } from "./git-utils-CRw2zLPC.js";
11
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-CDJk4pIp.js";
10
12
  import { Effect } from "effect";
11
13
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
12
14
  import { dirname, join } from "path";
@@ -16,6 +18,7 @@ import { randomUUID } from "crypto";
16
18
  import { exec } from "child_process";
17
19
  import { promisify } from "util";
18
20
  //#region ../../lib/cloister/inspect-checkpoints.ts
21
+ init_errors();
19
22
  /**
20
23
  * PAN-382: Inspection checkpoint system.
21
24
  *
@@ -23,7 +26,8 @@ import { promisify } from "util";
23
26
  * scoped to the parent of HEAD because the work role contract is one bead per
24
27
  * commit; checkpoints remain the durable record after a pass.
25
28
  */
26
- init_errors();
29
+ init_project_repos();
30
+ init_git_utils();
27
31
  const execAsync = promisify(exec);
28
32
  const OVERDECK_HOME = join(homedir(), ".overdeck");
29
33
  /**
@@ -51,6 +55,14 @@ function loadCheckpoints(projectKey, issueId) {
51
55
  }
52
56
  }
53
57
  /**
58
+ * Get the last checkpoint for an issue, or null if none exist.
59
+ */
60
+ function getLastCheckpoint(projectKey, issueId) {
61
+ const data = loadCheckpoints(projectKey, issueId);
62
+ if (!data || data.checkpoints.length === 0) return null;
63
+ return data.checkpoints[data.checkpoints.length - 1];
64
+ }
65
+ /**
54
66
  * Save a new checkpoint after a successful inspection.
55
67
  */
56
68
  function saveCheckpoint(projectKey, issueId, itemId, commitSha) {
@@ -69,72 +81,118 @@ function saveCheckpoint(projectKey, issueId, itemId, commitSha) {
69
81
  writeFileSync(getCheckpointPath(projectKey, issueId), JSON.stringify(data, null, 2));
70
82
  return checkpoint;
71
83
  }
72
- /**
73
- * Effect-typed variant of {@link getDiffBase}. Always succeeds — falls back to
74
- * `'main'` if `git merge-base` fails, matching the Promise version's behavior.
75
- */
76
- function getDiffBase(_projectKey, _issueId, workspacePath) {
77
- return Effect.tryPromise({
78
- try: () => execAsync("git rev-parse HEAD^", {
79
- cwd: workspacePath,
80
- encoding: "utf-8"
81
- }),
82
- catch: (cause) => new GitError({
83
- command: [
84
- "git",
85
- "rev-parse",
86
- "HEAD^"
87
- ],
88
- stderr: String(cause),
89
- exitCode: -1,
90
- cause
91
- })
92
- }).pipe(Effect.map(({ stdout }) => stdout.trim()), Effect.orElseSucceed(() => "main"));
84
+ function shellQuote(value) {
85
+ return `'${value.replace(/'/g, `'"'"'`)}'`;
93
86
  }
94
- /**
95
- * Effect-typed variant of {@link getDiffStats}. Always succeeds — returns a
96
- * human-readable fallback string when the diff command fails.
97
- */
98
- function getDiffStats(workspacePath, diffBase) {
99
- return Effect.tryPromise({
100
- try: () => execAsync(`git diff --stat ${diffBase}...HEAD`, {
101
- cwd: workspacePath,
102
- encoding: "utf-8"
103
- }),
104
- catch: (cause) => new GitError({
105
- command: [
106
- "git",
107
- "diff",
108
- "--stat",
109
- `${diffBase}...HEAD`
110
- ],
111
- stderr: String(cause),
112
- exitCode: -1,
113
- cause
114
- })
115
- }).pipe(Effect.map(({ stdout }) => stdout.trim() || "No changes detected"), Effect.orElseSucceed(() => "Unable to compute diff stats"));
87
+ function parseCompositeSnapshot(snapshot) {
88
+ const heads = /* @__PURE__ */ new Map();
89
+ if (!snapshot) return heads;
90
+ for (const token of snapshot.split(/\s+/)) {
91
+ const separator = token.lastIndexOf("@");
92
+ if (separator <= 0 || separator === token.length - 1) continue;
93
+ heads.set(token.slice(0, separator), token.slice(separator + 1));
94
+ }
95
+ return heads;
96
+ }
97
+ async function readHead(root) {
98
+ try {
99
+ const { stdout } = await execAsync("git rev-parse HEAD", {
100
+ cwd: root.dir,
101
+ encoding: "utf-8",
102
+ timeout: 1e4
103
+ });
104
+ return stdout.trim() || null;
105
+ } catch {
106
+ return null;
107
+ }
108
+ }
109
+ async function resolveTargetBase(root) {
110
+ for (const target of [`origin/${root.targetBranch}`, root.targetBranch]) try {
111
+ const { stdout } = await execAsync(`git merge-base ${shellQuote(target)} HEAD`, {
112
+ cwd: root.dir,
113
+ encoding: "utf-8",
114
+ timeout: 1e4
115
+ });
116
+ const base = stdout.trim();
117
+ if (base) return base;
118
+ } catch {}
119
+ try {
120
+ const { stdout } = await execAsync("git rev-parse HEAD^", {
121
+ cwd: root.dir,
122
+ encoding: "utf-8",
123
+ timeout: 1e4
124
+ });
125
+ return stdout.trim();
126
+ } catch {
127
+ return root.targetBranch;
128
+ }
116
129
  }
117
130
  /**
118
- * Effect-typed variant of {@link getCurrentHead}. Always succeeds — returns
119
- * `'unknown'` on failure to preserve the Promise version's contract.
131
+ * Resolve the per-item inspection diff across the actual workspace repositories.
132
+ * Polyrepo checkpoints store composite `repo@sha` snapshots so unchanged repos
133
+ * are omitted instead of reviewing their previous, unrelated commit.
120
134
  */
121
- function getCurrentHead(workspacePath) {
122
- return Effect.tryPromise({
123
- try: () => execAsync("git rev-parse HEAD", {
124
- cwd: workspacePath,
125
- encoding: "utf-8"
126
- }),
127
- catch: (cause) => new GitError({
128
- command: [
129
- "git",
130
- "rev-parse",
131
- "HEAD"
132
- ],
133
- stderr: String(cause),
134
- exitCode: -1,
135
- cause
136
- })
137
- }).pipe(Effect.map(({ stdout }) => stdout.trim()), Effect.orElseSucceed(() => "unknown"));
135
+ async function getInspectDiffContextPromise(projectKey, issueId, workspacePath) {
136
+ const roots = resolveWorkspaceRepoRootsSync(issueId, workspacePath);
137
+ const isPolyrepo = roots.some((root) => root.isPolyrepo);
138
+ const previousHeads = isPolyrepo ? parseCompositeSnapshot(getLastCheckpoint(projectKey, issueId)?.commitSha) : /* @__PURE__ */ new Map();
139
+ const repos = [];
140
+ for (const root of roots) {
141
+ const headSha = await readHead(root);
142
+ if (!headSha) continue;
143
+ let diffBase;
144
+ if (isPolyrepo) {
145
+ const previousHead = previousHeads.get(root.repoKey);
146
+ if (previousHead === headSha) continue;
147
+ diffBase = previousHead ?? await resolveTargetBase(root);
148
+ if (diffBase === headSha) continue;
149
+ } else try {
150
+ const { stdout } = await execAsync("git rev-parse HEAD^", {
151
+ cwd: root.dir,
152
+ encoding: "utf-8",
153
+ timeout: 1e4
154
+ });
155
+ diffBase = stdout.trim();
156
+ } catch {
157
+ diffBase = root.targetBranch;
158
+ }
159
+ repos.push({
160
+ repoKey: root.repoKey,
161
+ dir: root.dir,
162
+ headSha,
163
+ diffBase
164
+ });
165
+ }
166
+ const statSections = [];
167
+ const commands = [];
168
+ for (const repo of repos) {
169
+ let stat = "Unable to compute diff stats";
170
+ try {
171
+ const { stdout } = await execAsync(`git diff --stat ${shellQuote(repo.diffBase)}...HEAD`, {
172
+ cwd: repo.dir,
173
+ encoding: "utf-8",
174
+ timeout: 15e3
175
+ });
176
+ stat = stdout.trim() || "No changes detected";
177
+ } catch {}
178
+ statSections.push(isPolyrepo ? `── ${repo.repoKey} ──\n${stat}` : stat);
179
+ commands.push(`${isPolyrepo ? `printf '\\n── ${repo.repoKey} ──\\n'\n` : ""}git -C ${shellQuote(repo.dir)} diff ${shellQuote(repo.diffBase)}...HEAD`);
180
+ }
181
+ const currentHead = await snapshotWorkspaceHeadsPromise(issueId, workspacePath) ?? "unknown";
182
+ return {
183
+ currentHead,
184
+ checkpoint: repos.length > 0 ? repos.map((repo) => isPolyrepo ? `${repo.repoKey}@${repo.diffBase.slice(0, 8)}` : repo.diffBase).join(" ") : currentHead,
185
+ diffStats: statSections.join("\n") || "No changes detected across workspace repositories",
186
+ diffCommand: commands.join("\n") || `printf '%s\\n' 'No changes detected across workspace repositories'`,
187
+ repos
188
+ };
189
+ }
190
+ function getInspectDiffContext(projectKey, issueId, workspacePath) {
191
+ return Effect.promise(() => getInspectDiffContextPromise(projectKey, issueId, workspacePath));
192
+ }
193
+ /** Resolve the code HEAD(s), never the polyrepo wrapper commit. */
194
+ function getCurrentHead(issueId, workspacePath) {
195
+ return Effect.promise(async () => await snapshotWorkspaceHeadsPromise(issueId, workspacePath) ?? "unknown");
138
196
  }
139
197
  //#endregion
140
198
  //#region ../../lib/cloister/inspect-agent.ts
@@ -145,7 +203,6 @@ function getCurrentHead(workspacePath) {
145
203
  * its specification and architectural constraints before the agent
146
204
  * proceeds to the next item.
147
205
  */
148
- init_errors();
149
206
  init_review_status();
150
207
  init_harness_binary();
151
208
  init_launcher_generator();
@@ -167,10 +224,9 @@ async function buildInspectPromptPromise(context) {
167
224
  const item = readWorkspacePlanSync(context.workspace)?.plan.items.find((candidate) => candidate.id === context.itemId);
168
225
  if (!item) throw new Error(`Item ${context.itemId} requires a readable xBRIEF entry in ${context.workspace}.`);
169
226
  const itemDescription = `**Title:** ${item.title}\n\n**Action:** ${item.narrative?.Action ?? "No narrative provided."}`;
170
- const diffBase = await Effect.runPromise(getDiffBase(context.projectKey, context.issueId, context.workspace));
171
- const diffStats = await Effect.runPromise(getDiffStats(context.workspace, diffBase));
227
+ const diffContext = await Effect.runPromise(getInspectDiffContext(context.projectKey, context.issueId, context.workspace));
172
228
  const apiUrl = process.env.OVERDECK_DASHBOARD_URL || process.env.DASHBOARD_URL || `http://localhost:${process.env.API_PORT || process.env.PORT || "3011"}`;
173
- return `<!-- overdeck:orchestration-context-start -->\n${template.replace(/\{\{apiUrl\}\}/g, apiUrl).replace(/\{\{projectPath\}\}/g, context.projectPath).replace(/\{\{issueId\}\}/g, context.issueId).replace(/\{\{itemId\}\}/g, context.itemId).replace(/\{\{workspacePath\}\}/g, context.workspace).replace(/\{\{checkpoint\}\}/g, diffBase.substring(0, 8)).replace(/\{\{diffBase\}\}/g, diffBase).replace(/\{\{diffStats\}\}/g, diffStats).replace(/\{\{itemDescription\}\}/g, itemDescription).replace(/\{\{resultStatus\}\}/g, "${RESULT_STATUS}").replace(/\{\{resultNotes\}\}/g, "${RESULT_NOTES}")}\n<!-- overdeck:orchestration-context-end -->`;
229
+ return `<!-- overdeck:orchestration-context-start -->\n${template.replace(/\{\{apiUrl\}\}/g, apiUrl).replace(/\{\{projectPath\}\}/g, context.projectPath).replace(/\{\{issueId\}\}/g, context.issueId).replace(/\{\{itemId\}\}/g, context.itemId).replace(/\{\{workspacePath\}\}/g, context.workspace).replace(/\{\{checkpoint\}\}/g, diffContext.checkpoint).replace(/\{\{diffCommand\}\}/g, diffContext.diffCommand).replace(/\{\{diffStats\}\}/g, diffContext.diffStats).replace(/\{\{itemDescription\}\}/g, itemDescription).replace(/\{\{resultStatus\}\}/g, "${RESULT_STATUS}").replace(/\{\{resultNotes\}\}/g, "${RESULT_NOTES}")}\n<!-- overdeck:orchestration-context-end -->`;
174
230
  }
175
231
  async function routeInspectToStandingSupervisorIfEnabled(context) {
176
232
  const { config } = loadConfigSync();
@@ -189,7 +245,7 @@ async function routeInspectToStandingSupervisorIfEnabled(context) {
189
245
  inspectBeadId: context.itemId,
190
246
  inspectOwnerSession: agentId
191
247
  });
192
- const sha = await Effect.runPromise(getCurrentHead(context.workspace));
248
+ const sha = await Effect.runPromise(getCurrentHead(context.issueId, context.workspace));
193
249
  const prdMarkdown = await loadPrdDraft(context.projectPath, context.issueId);
194
250
  await deliverCommitForReview({
195
251
  supervisorAgentId: agentId,
@@ -303,7 +359,7 @@ async function spawnInspectAgentPromise(context, opts = {}) {
303
359
  }
304
360
  async function onInspectCompletePromise(projectKey, issueId, itemId, status, workspacePath) {
305
361
  if (status === "passed") {
306
- const commitSha = await Effect.runPromise(getCurrentHead(workspacePath));
362
+ const commitSha = await Effect.runPromise(getCurrentHead(issueId, workspacePath));
307
363
  saveCheckpoint(projectKey, issueId, itemId, commitSha);
308
364
  console.log(`[inspect] Checkpoint saved for ${issueId} item ${itemId} at ${commitSha.substring(0, 8)}`);
309
365
  } else console.log(`[inspect] Item ${itemId} blocked for ${issueId} — no checkpoint saved`);
@@ -341,4 +397,4 @@ function onInspectComplete(projectKey, issueId, itemId, status, workspacePath) {
341
397
  //#endregion
342
398
  export { onInspectComplete as n, spawnInspectAgent as r, buildInspectPrompt as t };
343
399
 
344
- //# sourceMappingURL=inspect-agent-DJKLWcVT.js.map
400
+ //# sourceMappingURL=inspect-agent-BLuJ1AkT.js.map
@@ -0,0 +1,2 @@
1
+ import { n as onInspectComplete } from "./inspect-agent-BLuJ1AkT.js";
2
+ export { onInspectComplete };
@@ -1,3 +1,3 @@
1
- import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-Bb4XeV2x.js";
1
+ import { a as getInternalToken, i as ensureInternalTokenSync, n as _resetInternalTokenCacheForTests, o as getInternalTokenSync, r as ensureInternalToken, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-s0-oKybJ.js";
2
2
  init_internal_token();
3
3
  export { INTERNAL_TOKEN_HEADER, _resetInternalTokenCacheForTests, ensureInternalToken, ensureInternalTokenSync, getInternalToken, getInternalTokenSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths, ir as FsError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths, ir as FsError, mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
3
  import { join } from "node:path";
4
4
  import { Effect } from "effect";
5
5
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
@@ -101,4 +101,4 @@ var init_internal_token = __esmMin((() => {
101
101
  //#endregion
102
102
  export { getInternalToken as a, ensureInternalTokenSync as i, _resetInternalTokenCacheForTests as n, getInternalTokenSync as o, ensureInternalToken as r, init_internal_token as s, INTERNAL_TOKEN_HEADER as t };
103
103
 
104
- //# sourceMappingURL=internal-token-Bb4XeV2x.js.map
104
+ //# sourceMappingURL=internal-token-s0-oKybJ.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bt as deriveProjectRoot, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ht as flushAutoCommits, Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, Ut as init_auto_commit, Wt as queueAutoCommit, fn as findProjectByPathSync, ir as FsError, jt as readIssueRecord, mr as init_errors, nn as init_state_read_home, rn as resolveStateReadHomeSync } from "./config-yaml-DvyMuOle.js";
2
+ import { Bt as deriveProjectRoot, Dt as getProjectConfigFromWorkspacePath, Ft as resolveProjectForIssue, Ht as flushAutoCommits, Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, Ut as init_auto_commit, Wt as queueAutoCommit, fn as findProjectByPathSync, ir as FsError, jt as readIssueRecord, mr as init_errors, nn as init_state_read_home, rn as resolveStateReadHomeSync } from "./config-yaml-DySPNmKN.js";
3
3
  import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, d as WORKSPACE_RUNTIME_DIRNAME, f as asPanSpecDocument, i as PAN_CONTINUE_FILENAME, l as PAN_SPECS_DIRNAME, m as isPanSpecStatus, n as PAN_CONTEXT_FILENAME, o as PAN_DRAFTS_DIRNAME, p as init_types$1, r as PAN_CONTINUES_DIRNAME, s as PAN_FEEDBACK_DIRNAME, t as LEGACY_WORKSPACE_RUNTIME_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-hraoaQIp.js";
4
- import { a as generateXBriefFilename, c as parseXBriefFilename, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-DfeyBDwA.js";
4
+ import { a as generateXBriefFilename, c as parseXBriefFilename, l as resolveXBriefDir, n as LEGACY_VBRIEF_LIFECYCLE_DIRS, o as init_lifecycle, u as slugify } from "./lifecycle-yPd___5E.js";
5
5
  import { Data, Effect, FileSystem } from "effect";
6
6
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
7
7
  import { basename, join, resolve } from "path";
@@ -829,4 +829,4 @@ var init_io = __esmMin((() => {
829
829
  //#endregion
830
830
  export { init_xbrief_index as A, init_specs as C, writeSpecDocument as D, writeSpec as E, getReadableWorkspacePanPaths as F, getWorkspacePanPaths as I, init_continue as L, readXBriefDocument as M, ensureWorkspacePanDir as N, writeSpecForIssue as O, getLegacyWorkspacePanPaths as P, getProjectPanPaths as S, readSpec as T, XBRIEF_INSPECTION_POLICIES as _, findWorkspaceDraftPlan as a, ensurePanDirs as b, mergeRecordStatusOverrides as c, readPlanSync as d, readTierOverrides as f, serializeXBriefDocument as g, recordTierPromotion as h, findPlanSync as i, invalidateXBriefIndex as j, findXBriefByIssue as k, normalizeXBriefEnvelope as l, readWorkspacePlanSync as m, applyStatusOverrides as n, init_io as o, readWorkspacePlan as p, findPlan as r, isPlanningComplete as s, XBriefMergeConflictError as t, readPlan as u, init_types as v, listSpecs as w, findSpecByIssue as x, subItemsOf as y };
831
831
 
832
- //# sourceMappingURL=io-B3_AHDfr.js.map
832
+ //# sourceMappingURL=io-C9kF1wtJ.js.map
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
3
- import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
4
- import { a as init_linear, i as LinearTracker, r as init_factory, t as createTracker } from "./factory-CynerjXO.js";
5
- import { f as init_github_app, p as isGitHubAppConfigured, s as getIssueState } from "./github-app-CMBdIFBQ.js";
6
- import { a as getShadowState, s as init_shadow_state } from "./shadow-state-Dh-HzF2J.js";
7
- import { n as init_shadow_utils, t as getLinearApiKey } from "./shadow-utils-4bvjn9b3.js";
2
+ import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
+ import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
4
+ import { a as init_linear, i as LinearTracker, r as init_factory, t as createTracker } from "./factory-CFibJuaw.js";
5
+ import { f as init_github_app, p as isGitHubAppConfigured, s as getIssueState } from "./github-app-C3QrAUd0.js";
6
+ import { a as getShadowState, s as init_shadow_state } from "./shadow-state-7a-524T8.js";
7
+ import { n as init_shadow_utils, t as getLinearApiKey } from "./shadow-utils-Db3oroFG.js";
8
8
  import { Effect } from "effect";
9
9
  import { execFile } from "child_process";
10
10
  import { promisify } from "util";
@@ -112,4 +112,4 @@ var init_issue_closed = __esmMin((() => {
112
112
  //#endregion
113
113
  export { init_issue_closed as n, isIssueClosed as r, clearIssueClosedCache as t };
114
114
 
115
- //# sourceMappingURL=issue-closed-zhdvQicO.js.map
115
+ //# sourceMappingURL=issue-closed-CDJk4pIp.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-CreaCkjW.js";
1
+ import { i as init_issue_lifecycle, n as IssueLifecycleLive, r as IssueLifecycleWithClientLive, t as IssueLifecycle } from "./issue-lifecycle-ojZAzDBP.js";
2
2
  init_issue_lifecycle();
3
3
  export { IssueLifecycle, IssueLifecycleLive, IssueLifecycleWithClientLive };
@@ -1,18 +1,18 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  import { a as init_activity_logger, t as emitActivityDetailedSync } from "./activity-logger-DDlOIAML.js";
3
- import { a as init_event_store, i as initEventStore } from "./event-store-tdiY5eDZ.js";
4
- import { d as applyEvent, f as getMaxTurnDiffSummariesPerAgent, m as trimTurnDiffSummaries, p as isTerminalTurnDiffSummaryStatus, t as init_src, u as INITIAL_READ_MODEL_STATE } from "./src-U7_kTPEE.js";
5
- import { D as listOverdeckAgentStatesSync, E as init_agent_state_sync } from "./review-status-A7quS5KJ.js";
6
- import { o as init_agents, t as AgentsResolver } from "./agents-B4Bjbkfv.js";
7
- import { f as resolveStatusFile, i as init_paths } from "./paths-_zEts6wc.js";
8
- import { a as resolveSessionContextBriefingPath, r as init_briefing_freshness } from "./briefing-freshness-DWdW7vUm.js";
9
- import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-_wUBRD3J.js";
10
- import { h as listCheckpoints, m as init_checkpoint_manager, s as diffCheckpointFiles, t as captureCheckpoint } from "./checkpoint-manager-DDqcGyu8.js";
11
- import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-D4zqMnX7.js";
12
- import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client--XVlDpwM.js";
13
- import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-B1EJhfV0.js";
14
- import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
15
- import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-B5ushCvE.js";
3
+ import { a as init_event_store, i as initEventStore } from "./event-store-CQL6NeqB.js";
4
+ import { _ as trimTurnDiffSummaries, g as isTerminalTurnDiffSummaryStatus, h as getMaxTurnDiffSummariesPerAgent, m as applyEvent, p as INITIAL_READ_MODEL_STATE, t as init_src } from "./src-DtcUOZCq.js";
5
+ import { D as listOverdeckAgentStatesSync, E as init_agent_state_sync } from "./review-status-kZj_KyCk.js";
6
+ import { o as init_agents, t as AgentsResolver } from "./agents-EbI0zCJl.js";
7
+ import { f as resolveStatusFile, i as init_paths } from "./paths-D-xWGHdh.js";
8
+ import { a as resolveSessionContextBriefingPath, r as init_briefing_freshness } from "./briefing-freshness-D1wzUIWv.js";
9
+ import { n as listFeatureRegistryEntries, t as init_feature_registry_storage } from "./feature-registry-storage-BdPuLcBX.js";
10
+ import { h as listCheckpoints, m as init_checkpoint_manager, s as diffCheckpointFiles, t as captureCheckpoint } from "./checkpoint-manager-BI1Wxoku.js";
11
+ import { i as init_linear_client, r as LinearClientOptionalLive, t as LinearClient } from "./linear-client-BsuUvkdA.js";
12
+ import { i as init_github_client, r as GitHubClientOptionalLive, t as GitHubClient } from "./github-client-BnIsSrEN.js";
13
+ import { i as init_rally_client, r as RallyClientOptionalLive, t as RallyClient } from "./rally-client-lc-nokqr.js";
14
+ import { a as resolveTrackerTypeSync, i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
15
+ import { n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-Yx5DdmVJ.js";
16
16
  import { dirname } from "node:path";
17
17
  import { Context, Effect, Layer, Option, Queue, Stream } from "effect";
18
18
  import { basename as basename$1, dirname as dirname$1, join as join$1, resolve as resolve$1 } from "path";
@@ -293,7 +293,7 @@ var init_read_model = __esmMin((() => {
293
293
  };
294
294
  const getSnapshot = Effect.gen(function* () {
295
295
  try {
296
- const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-DabvBWUp.js"));
296
+ const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-BvJ09SaR.js"));
297
297
  const currentIssues = cleanIssues(getSharedIssueService().getIssues());
298
298
  if (currentIssues.length > 0 || state.issuesRaw.length === 0) state = {
299
299
  ...state,
@@ -318,13 +318,13 @@ var init_read_model = __esmMin((() => {
318
318
  const getAgentIdBySessionId = (sessionId) => Effect.sync(() => state.agentIdBySessionId[sessionId] ?? null);
319
319
  const agentsResolver = yield* AgentsResolver;
320
320
  yield* Effect.gen(function* () {
321
- const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-uWbZfjms.js"));
321
+ const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-C3Ui7ojV.js"));
322
322
  const [overdeckAgents, result] = yield* Effect.all([agentsResolver.list({}), Effect.promise(() => reconstructCacheAuto())]);
323
323
  const agentsById = Object.fromEntries(overdeckAgents.map((a) => [a.id, agentSnapshotFromOverdeck(a)]));
324
324
  let sequence = 0;
325
325
  let recentActivity = [];
326
326
  try {
327
- const { getEventStore } = yield* Effect.promise(() => import("./event-store-Cr5PQwFC.js"));
327
+ const { getEventStore } = yield* Effect.promise(() => import("./event-store-EV2cMiXj.js"));
328
328
  const eventStore = getEventStore();
329
329
  sequence = eventStore.getLatestSequence();
330
330
  recentActivity = activityEntriesFromStoredEvents(eventStore.queryByType("activity.entry", MAX_SNAPSHOT_ACTIVITY_ENTRIES));
@@ -340,7 +340,7 @@ var init_read_model = __esmMin((() => {
340
340
  console.log(`[ReadModel] Bootstrapped from local database: ${Object.keys(agentsById).length} agents, ${Object.keys(result.reviewStatusByIssueId).length} review statuses, ${result.issuesEnumerated} in-flight issue(s), seq=${sequence}`);
341
341
  (async () => {
342
342
  try {
343
- const { listCheckpoints, diffCheckpointFiles, getCheckpointTimestamp, deleteLegacyCheckpointRefs } = await import("./checkpoint-manager-B7Bt29J0.js");
343
+ const { listCheckpoints, diffCheckpointFiles, getCheckpointTimestamp, deleteLegacyCheckpointRefs } = await import("./checkpoint-manager-DwbQoqrC.js");
344
344
  const agents = Object.values(state.agentsById);
345
345
  const firstAgentWithWorkspace = agents.find((a) => a.workspace);
346
346
  if (firstAgentWithWorkspace?.workspace) {
@@ -397,7 +397,7 @@ var init_read_model = __esmMin((() => {
397
397
  }
398
398
  })();
399
399
  try {
400
- const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-DabvBWUp.js"));
400
+ const { getSharedIssueService } = yield* Effect.promise(() => import("./issue-service-singleton-BvJ09SaR.js"));
401
401
  const issueService = getSharedIssueService();
402
402
  const mergeT0 = performance.now();
403
403
  const currentIssues = cleanIssues(issueService.getIssues());
@@ -421,7 +421,7 @@ var init_read_model = __esmMin((() => {
421
421
  issuesRaw: cleaned
422
422
  };
423
423
  try {
424
- if (!_cachedEventStore) import("./event-store-Cr5PQwFC.js").then(({ getEventStore }) => {
424
+ if (!_cachedEventStore) import("./event-store-EV2cMiXj.js").then(({ getEventStore }) => {
425
425
  _cachedEventStore = getEventStore();
426
426
  try {
427
427
  _cachedEventStore.emitOnly({
@@ -437,7 +437,7 @@ var init_read_model = __esmMin((() => {
437
437
  payload: { issues: cleaned }
438
438
  });
439
439
  } catch {}
440
- import("./backlog-auto-trigger-GtG71X8H.js").then(({ triggerDebouncedIncrementalPass }) => {
440
+ import("./backlog-auto-trigger-2R2jog7n.js").then(({ triggerDebouncedIncrementalPass }) => {
441
441
  triggerDebouncedIncrementalPass(process.cwd());
442
442
  }).catch(() => {});
443
443
  });
@@ -1388,4 +1388,4 @@ var init_issue_lifecycle = __esmMin((() => {
1388
1388
  //#endregion
1389
1389
  export { init_queue_position as _, EventStoreService as a, ReadModelService as c, init_read_model as d, toAgentResolution as f, findPositionInQueueSync as g, computeQueuePositionFromStatusSync as h, init_issue_lifecycle as i, ReadModelServiceLive as l, toRole as m, IssueLifecycleLive as n, EventStoreServiceLive as o, toAgentStatus as p, IssueLifecycleWithClientLive as r, init_domain_services as s, IssueLifecycle as t, getClosedIssueIdsForReadSource as u };
1390
1390
 
1391
- //# sourceMappingURL=issue-lifecycle-CreaCkjW.js.map
1391
+ //# sourceMappingURL=issue-lifecycle-ojZAzDBP.js.map
@@ -1,3 +1,3 @@
1
- import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-B5ushCvE.js";
1
+ import { i as startSharedIssueService, n as init_issue_service_singleton, t as getSharedIssueService } from "./issue-service-singleton-Yx5DdmVJ.js";
2
2
  init_issue_service_singleton();
3
3
  export { getSharedIssueService, startSharedIssueService };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin, r as __exportAll } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, f as loadConfigSync, t as init_config_yaml, zn as resolveProjectFromIssueSync } from "./config-yaml-DvyMuOle.js";
2
+ import { Tn as init_projects, f as loadConfigSync, t as init_config_yaml, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
3
  import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
4
- import { f as loadReviewStatusesForIssues, l as init_review_status } from "./review-status-A7quS5KJ.js";
5
- import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-B4itFzDo.js";
4
+ import { f as loadReviewStatusesForIssues, l as init_review_status } from "./review-status-kZj_KyCk.js";
5
+ import { a as init_tracker_config, n as getLinearApiKey, o as validateRallyConfig, r as getRallyConfig, t as getGitHubConfig } from "./tracker-config-G6latr8C.js";
6
6
  import { n as init_dist_src, t as Octokit } from "./dist-src-BSoS7mkd.js";
7
7
  import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-BL_-3Yt8.js";
8
- import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-B3_AHDfr.js";
8
+ import { o as init_io, p as readWorkspacePlan, r as findPlan } from "./io-C9kF1wtJ.js";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync } from "fs";
11
11
  import { join } from "path";
@@ -865,7 +865,7 @@ var init_issue_data_service = __esmMin((() => {
865
865
  async ensureShadowStateLoaded() {
866
866
  if (this.shadowStateModule) return;
867
867
  try {
868
- this.shadowStateModule = await import("./shadow-state-C2_epgx2.js");
868
+ this.shadowStateModule = await import("./shadow-state-DnDyjujH.js");
869
869
  await this.refreshShadowStatesCache();
870
870
  } catch {}
871
871
  }
@@ -1408,8 +1408,8 @@ var init_issue_data_service = __esmMin((() => {
1408
1408
  }
1409
1409
  if (!this.cache.isStale("rally", "issues") && this.trackers.rally.lastFetchedIssues.length > 0) return;
1410
1410
  try {
1411
- const { RallyTracker } = await import("./rally-njs_mJrt.js");
1412
- const { findProjectsByRallyProject } = await import("./projects-9SkRpES9.js");
1411
+ const { RallyTracker } = await import("./rally-zhhtXuDP.js");
1412
+ const { findProjectsByRallyProject } = await import("./projects-vjjcmiN8.js");
1413
1413
  const rallyProjects = findProjectsByRallyProject();
1414
1414
  let allFormatted = [];
1415
1415
  if (rallyProjects.length > 0) {
@@ -1504,4 +1504,4 @@ var init_issue_service_singleton = __esmMin((() => {
1504
1504
  //#endregion
1505
1505
  export { CacheService as a, startSharedIssueService as i, init_issue_service_singleton as n, init_cache_service as o, issue_service_singleton_exports as r, parseIntegerHeader as s, getSharedIssueService as t };
1506
1506
 
1507
- //# sourceMappingURL=issue-service-singleton-B5ushCvE.js.map
1507
+ //# sourceMappingURL=issue-service-singleton-Yx5DdmVJ.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { _ as integer, a as EventBus, c as Records, 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-CzaSOgul.js";
2
+ import { _ as integer, a as EventBus, c as Records, 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";
3
3
  import { Context, Effect, Layer, Schema } from "effect";
4
4
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
5
5
  //#region ../../lib/overdeck/issues.ts
@@ -350,4 +350,4 @@ var init_issues = __esmMin((() => {
350
350
  //#endregion
351
351
  export { init_issues as n, IssueId as t };
352
352
 
353
- //# sourceMappingURL=issues-B6ToV6x1.js.map
353
+ //# sourceMappingURL=issues-BMmP_77e.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Nr as encodeClaudeProjectDir, Vr as init_paths, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-Ca0YTWDw.js";
2
+ import { Nr as encodeClaudeProjectDir, Vr as init_paths, mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-B2ddP6wq.js";
4
4
  import "effect";
5
5
  import { existsSync, readFileSync, readdirSync, statSync } from "fs";
6
6
  import { basename, join } from "path";
@@ -242,4 +242,4 @@ var init_jsonl_parser = __esmMin((() => {
242
242
  //#endregion
243
243
  export { init_jsonl_parser as a, getSessionFilesSync as i, getAllSessionFilesSync as n, normalizeModelName as o, getProjectDirsSync as r, parseClaudeSessionSync as s, getActiveSessionModelSync as t };
244
244
 
245
- //# sourceMappingURL=jsonl-parser-Dhflo1SH.js.map
245
+ //# sourceMappingURL=jsonl-parser-BXSlHwEh.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Jn as extractPrefixSync, Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
3
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-BBNjPcqU.js";
2
+ import { Jn as extractPrefixSync, Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DySPNmKN.js";
3
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-5M0lupud.js";
4
4
  import { Effect } from "effect";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -106,4 +106,4 @@ __esmMin((() => {
106
106
  }))();
107
107
  export { cleanupMergedLabels };
108
108
 
109
- //# sourceMappingURL=label-cleanup-BKPJm4Hv.js.map
109
+ //# sourceMappingURL=label-cleanup-B0UJwnv5.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Mt as readIssueRecordForWorkspaceSync, Ot as init_record, Tn as init_projects, gn as getIssuePrefix, kn as listProjectsSync } from "./config-yaml-DvyMuOle.js";
3
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
4
- import { a as READY_LABEL, i as PARKED_LABEL, m as init_pickup, o as RELEASED_LABEL, r as OBJECTION_LABEL, s as VETOED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-Dd0Znxxy.js";
2
+ import { Mt as readIssueRecordForWorkspaceSync, Ot as init_record, Tn as init_projects, gn as getIssuePrefix, kn as listProjectsSync } from "./config-yaml-DySPNmKN.js";
3
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DHv5pSDT.js";
4
+ import { a as READY_LABEL, i as PARKED_LABEL, m as init_pickup, o as RELEASED_LABEL, r as OBJECTION_LABEL, s as VETOED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-DUCLWrJY.js";
5
5
  import { exec } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  //#region ../../lib/backlog/label-ops.ts
@@ -110,4 +110,4 @@ var init_label_reconciler = __esmMin((() => {
110
110
  //#endregion
111
111
  export { applyIssueObjectionLabel as a, applyIssueReleasedLabel as c, removeIssueBlocksMainLabel as d, removeIssueObjectionLabel as f, removeIssueVetoedLabel as g, removeIssueReleasedLabel as h, applyIssueBlocksMainLabel as i, applyIssueVetoedLabel as l, removeIssueReadyLabel as m, init_label_reconciler as n, applyIssueParkedLabel as o, removeIssueParkedLabel as p, reconcilePipelineLabelsPatrol as r, applyIssueReadyLabel as s, STALE_PIPELINE_LABELS as t, init_label_ops as u };
112
112
 
113
- //# sourceMappingURL=label-reconciler-DdWbHEBu.js.map
113
+ //# sourceMappingURL=label-reconciler-B4iOAjlC.js.map