@overdeck/desktop 0.45.21 → 0.45.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-CJIFA8Vg.js → acceptance-criteria-DOA0KgXx.js} +5 -5
  3. package/server/{advancing-selfheal-CPOBO5ZS.js → advancing-selfheal-BBu6DSNm.js} +6 -6
  4. package/server/{agent-gc-D6PUckBB.js → agent-gc-BV1q_2EV.js} +4 -4
  5. package/server/agent-state-Bg0lhqwj.js +3 -0
  6. package/server/{agent-state-service-DHwemt96.js → agent-state-service-CnzFKSAQ.js} +1 -1
  7. package/server/{agent-state-service-6MFQqnFy.js → agent-state-service-HoK8U4jW.js} +5 -5
  8. package/server/{agents-DbrHWunF.js → agents-B4Bjbkfv.js} +4 -4
  9. package/server/agents-FlIgQ3ql.js +3 -0
  10. package/server/{archive-planning-BOnwJq8M.js → archive-planning-DYrYojxl.js} +31 -7
  11. package/server/{archive-planning-MPpvQJL4.js → archive-planning-zkJb3BeM.js} +1 -1
  12. package/server/{artifact-index-jobs-BOoySTKD.js → artifact-index-jobs-C-xy7Z5v.js} +2 -2
  13. package/server/{backlog-auto-trigger-BUaFI44J.js → backlog-auto-trigger-GtG71X8H.js} +3 -3
  14. package/server/{behavior-Dg-D8eBG.js → behavior-B_-4EKF3.js} +2 -2
  15. package/server/{briefing-freshness-OouGbJ7d.js → briefing-freshness-DWdW7vUm.js} +2 -2
  16. package/server/{build-info-27NlbKhV.js → build-info-BT096lEl.js} +3 -3
  17. package/server/{build-info-Cv6CI7Gu.js → build-info-DgTqZkL5.js} +1 -1
  18. package/server/{checkpoint-manager-C7mFCY_E.js → checkpoint-manager-B7Bt29J0.js} +1 -1
  19. package/server/{checkpoint-manager-D64fCC4p.js → checkpoint-manager-DDqcGyu8.js} +2 -2
  20. package/server/checkpoint-worker.js +1 -1
  21. package/server/{checkpoints-Vh-J15ge.js → checkpoints-C-AXLfYT.js} +2 -2
  22. package/server/{checkpoints-DwZqT2qQ.js → checkpoints-CpgCjAlN.js} +1 -1
  23. package/server/{claude-hooks-provision-CS5W_dhI.js → claude-hooks-provision-C8wdRnN1.js} +1 -1
  24. package/server/{claude-hooks-provision-BVLGfHrv.js → claude-hooks-provision-but-_qGY.js} +2 -2
  25. package/server/{claude-permissions-C2OrLYKL.js → claude-permissions-H_5wHQZQ.js} +2 -2
  26. package/server/{claude-settings-overlay-DWXjafJh.js → claude-settings-overlay-BTENVmYf.js} +1 -1
  27. package/server/{claude-settings-overlay-DX-fMFpC.js → claude-settings-overlay-CbSz0Dvb.js} +2 -2
  28. package/server/cli-BsVIHwzC.js +3 -0
  29. package/server/{cli-mvpEOb3w.js → cli-vBeXbPrq.js} +9 -9
  30. package/server/{cliproxy-Dvsr4ZkW.js → cliproxy-Bgb2XCqi.js} +2 -2
  31. package/server/{cliproxy-7g1nObvB.js → cliproxy-DW0V86F8.js} +1 -1
  32. package/server/{close-issue-8F6uawYj.js → close-issue-Dn_4c4G8.js} +5 -5
  33. package/server/{closed-issue-reaper-BhV-r-tC.js → closed-issue-reaper-CWpY2uBw.js} +1 -1
  34. package/server/{closed-issue-reaper-BaYQYF6w.js → closed-issue-reaper-hANY_ehE.js} +9 -9
  35. package/server/codex-Dg7Is5yb.js +3 -0
  36. package/server/{codex-D_UBEOwL.js → codex-TmSi-yTv.js} +30 -8
  37. package/server/{codex-parser-BTzlOZiV.js → codex-parser-C4gSH-IR.js} +2 -2
  38. package/server/{config-CrduXs4a.js → config-CCvjQf27.js} +2 -2
  39. package/server/{config-nAB_F-Gp.js → config-DUIhMN_T.js} +1 -1
  40. package/server/{config-G1TOMJZA.js → config-DjLOdbgT.js} +2 -2
  41. package/server/{config-yaml-Ciyp2mYe.js → config-yaml-DvyMuOle.js} +177 -211
  42. package/server/{conflict-gate-BKalpcjL.js → conflict-gate-BSJkNTdp.js} +1 -1
  43. package/server/{conflict-gate-BLUNMs1i.js → conflict-gate-CmrYpa47.js} +3 -3
  44. package/server/{context-layers-YNpf6Q_I.js → context-layers-B3Nt58jl.js} +2 -2
  45. package/server/{context-layers-Cg9ZgVfx.js → context-layers-ZYFcWiyc.js} +3 -3
  46. package/server/{control-settings-D_79A6gp.js → control-settings-aP1ANIlI.js} +4 -4
  47. package/server/{conversation-compaction-DiuZbIUB.js → conversation-compaction-CNbTLB86.js} +8 -8
  48. package/server/{conversation-compaction-CMIeWW4_.js → conversation-compaction-DiG5zWQq.js} +1 -1
  49. package/server/{conversation-service-DQybSPUK.js → conversation-service-Du-MTNpJ.js} +6 -6
  50. package/server/{conversation-service-CWk8mEym.js → conversation-service-Up7FEzIC.js} +1 -1
  51. package/server/{conversations-BJ-t3BRm.js → conversations-6mPANqvL.js} +1 -1
  52. package/server/{conversations-BUgGvqVL.js → conversations-DbOs1e9Q.js} +4 -4
  53. package/server/{cost-jJ2cgDcG.js → cost-CW4WSe72.js} +3 -3
  54. package/server/{cost-Drm7qeD5.js → cost-Ca0YTWDw.js} +18 -2
  55. package/server/{cost-sync-DzHP6zaR.js → cost-sync-C0VdGme1.js} +3 -3
  56. package/server/{dag-DIji6O2b.js → dag-CdOjJVDT.js} +9 -9
  57. package/server/{dangerous-git-ops-BebB-61h.js → dangerous-git-ops-CT-IypG3.js} +1 -1
  58. package/server/dashboard-db-worker.js +7 -7
  59. package/server/{deacon-pleYrvIm.js → deacon-DYSEJb48.js} +3 -3
  60. package/server/{deacon-nudge-log-C5VCKtyi.js → deacon-nudge-log-Bjg8U4Y9.js} +3 -3
  61. package/server/{deacon-1s7bM5zn.js → deacon-pRnyD5w9.js} +1133 -474
  62. package/server/deacon-swarm-9jRLS5Ke.js +2 -0
  63. package/server/{deacon-swarm-DmA3rJ7k.js → deacon-swarm-DftYRDo8.js} +17 -17
  64. package/server/deacon.js +8 -8
  65. package/server/{deploy-patrol-DmM6F-yw.js → deploy-patrol-Bjsho_ha.js} +136 -19
  66. package/server/{deploy-window-ClLq1RYf.js → deploy-window-CM6W1-c6.js} +1 -1
  67. package/server/{deploy-window-jw4S_Y-c.js → deploy-window-DeP_OIRk.js} +77 -10
  68. package/server/{dev-supervisor-Do2Stz49.js → dev-supervisor-BpMoHlkR.js} +2 -2
  69. package/server/{devcontainer-renderer-D8ylupco.js → devcontainer-renderer-CtUgrVKW.js} +3 -3
  70. package/server/dist-Bd3vn0Hw.js +3 -0
  71. package/server/{dist-yfR7G1BL.js → dist-DyRx4cI7.js} +1 -1
  72. package/server/{docker-ClwPQaba.js → docker-BK7HIcBj.js} +2 -2
  73. package/server/{dod-BLphkhjs.js → dod-BrSfUHm0.js} +1 -1
  74. package/server/{ensure-devcontainer-BA3bICoY.js → ensure-devcontainer-DRqaAkBR.js} +1 -1
  75. package/server/{ensure-devcontainer-CFpQatOc.js → ensure-devcontainer-DseivYEy.js} +4 -4
  76. package/server/{esm-shims-BZw-fTQ6.js → esm-shims-CbI3BVkl.js} +1 -1
  77. package/server/{event-store-DABarGNz.js → event-store-Cr5PQwFC.js} +1 -1
  78. package/server/{event-store-BVnON3vf.js → event-store-tdiY5eDZ.js} +3 -3
  79. package/server/{events-CmERlnwn.js → events-CC1dgUpx.js} +3 -3
  80. package/server/{events-LGeUehYW.js → events-CvvGK6LT.js} +1 -1
  81. package/server/{factory-CQNprtHe.js → factory-CynerjXO.js} +50 -13
  82. package/server/{feature-registry-population-D9Z3tYSa.js → feature-registry-population-B0pmAz0a.js} +4 -4
  83. package/server/{feature-registry-storage-BWymOgXE.js → feature-registry-storage-_wUBRD3J.js} +2 -2
  84. package/server/{features--fOza5g5.js → features-Dhxz-wLc.js} +2 -2
  85. package/server/{feedback-target-Dqik2WTe.js → feedback-target-CPS15Vte.js} +7 -7
  86. package/server/{feedback-target-Dn9vfPpz.js → feedback-target-iygZwmMc.js} +1 -1
  87. package/server/{feedback-writer-Wlq5-qgS.js → feedback-writer-C9b6ccN1.js} +6 -5
  88. package/server/{feedback-writer-DDQNV8uc.js → feedback-writer-qmiMbqTZ.js} +1 -1
  89. package/server/{flywheel-Q-38YhZG.js → flywheel-DMCUzDWg.js} +1 -1
  90. package/server/{flywheel-1Wd8WDlh.js → flywheel-DSSpWmqF.js} +13 -13
  91. package/server/{flywheel-DPUc8r3V.js → flywheel-DcBkQvgE.js} +14 -14
  92. package/server/{flywheel-merge-order-CeBuX0EJ.js → flywheel-merge-order-C-6zRLvM.js} +1 -1
  93. package/server/{flywheel-merge-order-4SqOXFAr.js → flywheel-merge-order-DxbQKE1d.js} +8 -8
  94. package/server/forge-B-ZWyTRm.js +2 -0
  95. package/server/{forge-DBbDpiYc.js → forge-Ch9gCFod.js} +2 -2
  96. package/server/{from-hh6vTBGl.js → from-CJ_aH5jD.js} +1 -1
  97. package/server/{fts-db-6ponMie2.js → fts-db-CKgg0VKg.js} +2 -2
  98. package/server/{fts-operations-KIRK165y.js → fts-operations-BrL_VTRr.js} +2 -2
  99. package/server/git-utils-BVa07a4a.js +198 -0
  100. package/server/{git-utils-DmF5xkj8.js → git-utils-Dry_Ka_D.js} +1 -1
  101. package/server/{github-app-B3yfECo8.js → github-app-CMBdIFBQ.js} +11 -3
  102. package/server/{github-app-CeSVFL6C.js → github-app-CPfoFAdV.js} +1 -1
  103. package/server/{github-client-Dslipypz.js → github-client--XVlDpwM.js} +2 -2
  104. package/server/{github-client-4A6FgA8O.js → github-client-B4QsdE-X.js} +1 -1
  105. package/server/{github-pr-lookup-DBP0YHMr.js → github-pr-lookup-BRbDW-qk.js} +2 -2
  106. package/server/harness-binary-CVio2m-u.js +106 -0
  107. package/server/{harness-resolve-BGpO-OVM.js → harness-resolve-qHJBhy3Z.js} +9 -15
  108. package/server/{health-events-CZGZ5I-A.js → health-events-C9B8y1Hm.js} +2 -2
  109. package/server/{health-events-CnwV_SSz.js → health-events-CpfvuVmm.js} +1 -1
  110. package/server/{hooks-CoNscX84.js → hooks-DUXw8A0-.js} +2 -2
  111. package/server/{hooks-DvX33gY_.js → hooks-ltecuFqZ.js} +1 -1
  112. package/server/{hume-DSJt5eA_.js → hume-BEq0bUDg.js} +2 -2
  113. package/server/hume-B_DbflNM.js +3 -0
  114. package/server/{idle-stack-reaper-5DVRoY6P.js → idle-stack-reaper-D7w9t3fE.js} +1 -1
  115. package/server/{idle-stack-reaper-BfL8HqYy.js → idle-stack-reaper-w1ISSlhs.js} +2 -2
  116. package/server/{in-flight-guard-tVGiI5ee.js → in-flight-guard-aQ1IxeI3.js} +2 -2
  117. package/server/{infra-DN2wSxle.js → infra-CzaSOgul.js} +4 -4
  118. package/server/{injection-DtlT8Akv.js → injection-DZ0PfYa4.js} +7 -7
  119. package/server/{injection-DK9zh_HL.js → injection-oNZeoDhL.js} +1 -1
  120. package/server/{inspect-agent-DKByUS_F.js → inspect-agent-DJKLWcVT.js} +15 -11
  121. package/server/inspect-agent-ch-F-5Ci.js +2 -0
  122. package/server/{internal-token-DhfFiwW7.js → internal-token-Bb4XeV2x.js} +2 -2
  123. package/server/{internal-token-7bYL5v6K.js → internal-token-DXdfprGr.js} +1 -1
  124. package/server/{io-BiM-7Zsx.js → io-B3_AHDfr.js} +160 -184
  125. package/server/{issue-closed-Dfw3QDyZ.js → issue-closed-zhdvQicO.js} +7 -7
  126. package/server/{issue-lifecycle-B7HZWnTA.js → issue-lifecycle-CreaCkjW.js} +22 -22
  127. package/server/{issue-lifecycle-ytsEdDlK.js → issue-lifecycle-Dy4vd0Oa.js} +1 -1
  128. package/server/{issue-service-singleton-CPESc4Or.js → issue-service-singleton-B5ushCvE.js} +8 -8
  129. package/server/{issue-service-singleton-D5EB5eYr.js → issue-service-singleton-DabvBWUp.js} +1 -1
  130. package/server/{issues-XYtFMxrH.js → issues-B6ToV6x1.js} +2 -2
  131. package/server/{jsonl-parser-DJV2eZUP.js → jsonl-parser-Dhflo1SH.js} +3 -3
  132. package/server/{label-cleanup-CJ4m8iRU.js → label-cleanup-BKPJm4Hv.js} +3 -3
  133. package/server/{label-reconciler-CNf3Ylm3.js → label-reconciler-DdWbHEBu.js} +4 -4
  134. package/server/{launcher-generator-5DJRiovn.js → launcher-generator-CHVm7bGT.js} +10 -9
  135. package/server/{layers-cZx7ibtV.js → layers-DzxSTGNA.js} +2 -2
  136. package/server/lifecycle-DfeyBDwA.js +121 -0
  137. package/server/lifecycle-io-Bsnr2K4F.js +3 -0
  138. package/server/{lifecycle-io-DMurK4oM.js → lifecycle-io-D8iNBcux.js} +37 -37
  139. package/server/{lifecycle-CE7619Xw.js → lifecycle-sycO16hj.js} +6 -6
  140. package/server/{linear-client-BLyN-NiP.js → linear-client-D4zqMnX7.js} +2 -2
  141. package/server/{linear-client-Bj1l4FOA.js → linear-client-DqhDQO9k.js} +1 -1
  142. package/server/memory-fts-worker.js +1 -1
  143. package/server/{merge-hSC2BENe.js → merge-C_ZEhbqI.js} +3 -3
  144. package/server/{merge-CwX2_AWm.js → merge-DK23JEdS.js} +1 -1
  145. package/server/{merge-agent-CnORPiri.js → merge-agent-BQM3a8z5.js} +1 -1
  146. package/server/{merge-agent-DnBsms_V.js → merge-agent-XrB80vfT.js} +369 -213
  147. package/server/{merge-batch-C2w2U2eK.js → merge-batch-Bwoyr8Je.js} +1 -1
  148. package/server/{merge-blockers-DhRgh76x.js → merge-blockers-BsFjGrQ8.js} +2 -2
  149. package/server/merge-ops-DlB1IM0Y.js +2 -0
  150. package/server/{merge-rebase-CE-ZyOMY.js → merge-rebase-C1KIVr0s.js} +2 -2
  151. package/server/{merge-set-D7YNU1ZB.js → merge-set-DLz0MkGT.js} +3 -3
  152. package/server/{merge-set-DHkzPCJU.js → merge-set-DnSYdBEp.js} +1 -1
  153. package/server/{merge-sync-De1FYva5.js → merge-sync-DZ9dojJn.js} +2 -2
  154. package/server/{merge-sync-CpGA9Kg7.js → merge-sync-SSv3E-pl.js} +1 -1
  155. package/server/{merge-train-SvkRJZ-k.js → merge-train-DxDfBTjr.js} +3 -3
  156. package/server/{merge-train-deps-CECJTElu.js → merge-train-deps-CyYQUksx.js} +4 -4
  157. package/server/{merge-verification-B3meGcXF.js → merge-verification-CSizH3HY.js} +4 -4
  158. package/server/{multipart-parser-ByTMgYV5.js → multipart-parser-Dt8YPN5S.js} +2 -2
  159. package/server/{no-resume-mode-BnInAFKs.js → no-resume-mode-Cx3K0hHi.js} +11 -8
  160. package/server/node_modules/.package-lock.json +5 -5
  161. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +3 -3
  162. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  163. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +2 -2
  164. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  165. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +5 -5
  166. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +6 -8
  167. package/server/{orphan-proposed-reconciler-CAfuWTA1.js → orphan-proposed-reconciler-BTkDrl4R.js} +1 -1
  168. package/server/{orphan-proposed-reconciler-AxAGUouN.js → orphan-proposed-reconciler-neK8dHQk.js} +23 -14
  169. package/server/package-lock.json +6 -6
  170. package/server/package.json +1 -1
  171. package/server/{pan-dir-Rw17YjT1.js → pan-dir-DeVUgwA7.js} +78 -58
  172. package/server/{paths-FP8v3lTz.js → paths-_zEts6wc.js} +2 -2
  173. package/server/{pickup-xi3KTLaJ.js → pickup-Dd0Znxxy.js} +2 -2
  174. package/server/{pipeline-membership-BtKMNY7v.js → pipeline-membership-0HaEGDlH.js} +190 -68
  175. package/server/{pipeline-notifier-dQ-U4NSb.js → pipeline-notifier-6iCJplFZ.js} +1 -1
  176. package/server/{pipeline-notifier-BM2HLF7B.js → pipeline-notifier-D0ykk59O.js} +2 -2
  177. package/server/{project-pipelines-B59NfN44.js → project-pipelines-2sK1apsO.js} +2 -2
  178. package/server/projects-9SkRpES9.js +3 -0
  179. package/server/{prompts-CbqaVjbe.js → prompts-Dp4Tpk39.js} +2 -2
  180. package/server/providers-DKkBXhxU.js +3 -0
  181. package/server/{providers-d3pwXGVE.js → providers-DV7ec8l7.js} +7 -7
  182. package/server/public/assets/{chunk-BO2N2NFS-BxYSL7J-.js → chunk-BO2N2NFS-CltymLRg.js} +4 -4
  183. package/server/public/assets/{diagram-OG6HWLK6-C_F9Q2as.js → diagram-OG6HWLK6-D2f6pjgA.js} +1 -1
  184. package/server/public/assets/{dist-DQNg4CiF.js → dist-BWR4qFiV.js} +1 -1
  185. package/server/public/assets/{dist-CLSlc6cV.js → dist-DEmlBBNQ.js} +3 -3
  186. package/server/public/assets/{ganttDiagram-6RSMTGT7-Cq0my-0C.js → ganttDiagram-6RSMTGT7-DnfiViPK.js} +1 -1
  187. package/server/public/assets/{highlighted-body-OFNGDK62-eZC03dGh.js → highlighted-body-OFNGDK62-B8Wrmj9H.js} +1 -1
  188. package/server/public/assets/index-CUr1xv8w.css +1 -0
  189. package/server/public/assets/{index-SLYGA8AQ.js → index-CsSuZQBI.js} +148 -145
  190. package/server/public/assets/{linear-6Fi3qnGg.js → linear-C9zFQpkX.js} +1 -1
  191. package/server/public/assets/mermaid-GHXKKRXX-BUAB8hqt.js +1 -0
  192. package/server/public/assets/{pieDiagram-4H26LBE5-Dpmc6xsv.js → pieDiagram-4H26LBE5-lR8H7Yjd.js} +1 -1
  193. package/server/public/assets/{prod-ojHllFvN.js → prod-B1jCQihw.js} +4 -4
  194. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Ulr9gON5.js → quadrantDiagram-W4KKPZXB-CVQ2guem.js} +1 -1
  195. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CwdHGXfL.js → sankeyDiagram-5OEKKPKP-eD1RB4gm.js} +1 -1
  196. package/server/public/assets/{xychartDiagram-2RQKCTM6-r-bEDzJh.js → xychartDiagram-2RQKCTM6-ChEC6dQn.js} +1 -1
  197. package/server/public/index.html +54 -10
  198. package/server/{pull-requests-D3N6HQzI.js → pull-requests--Ib2jTgy.js} +1 -1
  199. package/server/{pull-requests-CjjPj7v6.js → pull-requests-CXIhdCYD.js} +13 -11
  200. package/server/{queries-B5hl7lMQ.js → queries-6d7Cdtm7.js} +723 -110
  201. package/server/{rally-Dp0Gb1DN.js → rally-B708-nZn.js} +3 -3
  202. package/server/{rally-api-DGaFz5L5.js → rally-api-nY0ZANw3.js} +2 -2
  203. package/server/{rally-api-CKr0O4DJ.js → rally-api-yjQ0TfHd.js} +1 -1
  204. package/server/{rally-client-SVbjGvqj.js → rally-client-B1EJhfV0.js} +4 -4
  205. package/server/{rally-client-Cqf6EX_r.js → rally-client-CULK2XAY.js} +1 -1
  206. package/server/rally-njs_mJrt.js +3 -0
  207. package/server/reap-terminal-sessions-MWnqdLCJ.js +4 -0
  208. package/server/{reap-terminal-sessions-CjqRAGw7.js → reap-terminal-sessions-N3BTkmX_.js} +11 -28
  209. package/server/{rebuild-stack-DHqCLvLX.js → rebuild-stack-Dp4eLkt4.js} +6 -6
  210. package/server/{rebuild-stack-DjdpALr1.js → rebuild-stack-kA7XngID.js} +1 -1
  211. package/server/{reconstruct-cache-BqrCQt0o.js → reconstruct-cache-uWbZfjms.js} +6 -6
  212. package/server/record-t6V-3Dcj.js +3 -0
  213. package/server/{record-update-BlB8mpKO.js → record-update-DACtKh6_.js} +1 -1
  214. package/server/record-update-Dq0t2uBG.js +310 -0
  215. package/server/{recovery-trip-l1Hsi37x.js → recovery-trip-BJtIQuag.js} +2 -2
  216. package/server/{release-engine-CSI4K6Oj.js → release-engine-DZpmGGzb.js} +5 -5
  217. package/server/{release-set-BywwggrE.js → release-set-hnXd_kga.js} +3 -3
  218. package/server/{remote-DYziAkiZ.js → remote-4tiENDaI.js} +3 -3
  219. package/server/{remote-cnoeuDWn.js → remote-Br-ZWVIP.js} +3 -3
  220. package/server/{remote-agents-BNORDWAX.js → remote-agents-CRCg1L4H.js} +1 -1
  221. package/server/{remote-agents-CZ2rc8I0.js → remote-agents-nmty1mLu.js} +6 -6
  222. package/server/{remote-completion-W67FNQ-A.js → remote-completion-BbWNd10K.js} +13 -13
  223. package/server/resume-CcKqnTvE.js +3 -0
  224. package/server/{review-agent-CSswH985.js → review-agent-DJRO8EG8.js} +1 -1
  225. package/server/{review-agent-CqSqSHkU.js → review-agent-sKkE1FEL.js} +23 -23
  226. package/server/{review-artifacts-BBgnd5df.js → review-artifacts-BLbSC4ke.js} +5 -5
  227. package/server/{review-context-Ctp9BdNJ.js → review-context-BgX3lcCx.js} +9 -9
  228. package/server/{review-status-CCgPVK1h.js → review-status-A7quS5KJ.js} +56 -39
  229. package/server/review-status-C6n6-9f_.js +3 -0
  230. package/server/{review-status-enrichment-DtDRGpst.js → review-status-enrichment-tbOn_A_u.js} +3 -3
  231. package/server/review-status-source-CxuEjLGg.js +39 -0
  232. package/server/{review-status-sync-jnLgd04F.js → review-status-sync-BhSQ0d0l.js} +2 -2
  233. package/server/{review-status-sync-C792ksoJ.js → review-status-sync-To3-iS-N.js} +1 -1
  234. package/server/{review-verdict-feedback-D5lW0o3k.js → review-verdict-feedback-C1Kg8n7t.js} +1 -1
  235. package/server/{review-verdict-feedback-CMsIpTpy.js → review-verdict-feedback-CTRNtzXO.js} +7 -7
  236. package/server/{rollup-B3kQmNpl.js → rollup-B53Y81xK.js} +1 -1
  237. package/server/{rollup-CLj_AK9f.js → rollup-WA0VD-Rr.js} +8 -8
  238. package/server/{scanner-C4NeC4FE.js → scanner-D2743cp8.js} +11 -7
  239. package/server/{sequence-io-Ce-6grIY.js → sequence-io-Cg0zYj_E.js} +4 -4
  240. package/server/{sequencer-agent-Bpz0yGmG.js → sequencer-agent-BGY8gjg-.js} +5 -5
  241. package/server/server.js +1348 -963
  242. package/server/{service-CqAY8Kmk.js → service-DCpB_SGd.js} +154 -51
  243. package/server/{session-fork-uNo4rMRA.js → session-fork-BQ8_6H32.js} +2 -2
  244. package/server/{session-history-DUehL3KN.js → session-history-CVZDpS3c.js} +4 -4
  245. package/server/{settings-DP2OYLXL.js → settings-BZ5m1UCl.js} +3 -3
  246. package/server/settings-D0OSwos5.js +2 -0
  247. package/server/{settings-D9grjmaP.js → settings-ylxwqwQG.js} +2 -2
  248. package/server/{shadow-engineering-Bi_oIMtF.js → shadow-engineering-BlxG6Xye.js} +3 -3
  249. package/server/{shadow-state-CDxEuPlE.js → shadow-state-C2_epgx2.js} +1 -1
  250. package/server/{shadow-state-a_ztFBJe.js → shadow-state-Dh-HzF2J.js} +2 -2
  251. package/server/{shadow-utils-CyOg6_Xq.js → shadow-utils-4bvjn9b3.js} +2 -2
  252. package/server/{ship-log-DDcueaIR.js → ship-log-ClSMIzZX.js} +1 -1
  253. package/server/{smart-compaction-C1_VVLEd.js → smart-compaction-CHIxLr_d.js} +1 -1
  254. package/server/{smart-compaction--Oj65Uov.js → smart-compaction-r4pHQBIr.js} +7 -7
  255. package/server/{spawn-planning-session-AiUSsBnH.js → spawn-planning-session-DWAorh2B.js} +25 -20
  256. package/server/{spawn-planning-session-LFtK2QCE.js → spawn-planning-session-KC_UduxD.js} +1 -1
  257. package/server/{specialist-completion-qOgqdqXH.js → specialist-completion-BXhav38U.js} +1 -1
  258. package/server/{specialist-context-gjj8Z4Ii.js → specialist-context-DtrYvGJ-.js} +5 -5
  259. package/server/{specialist-handoff-logger-BsBNvVZv.js → specialist-handoff-logger-C45ouoZ6.js} +2 -2
  260. package/server/{specialist-logs-CSLtvPx6.js → specialist-logs-DJ3RzKxW.js} +3 -3
  261. package/server/{specialists-D0VBf8g_.js → specialists-D5fRZXmN.js} +1 -1
  262. package/server/specialists-DVj0hvaL.js +3 -0
  263. package/server/{specialists-CYRwELzc.js → specialists-DyFeedjn.js} +66 -76
  264. package/server/{specialists-DAegTvRt.js → specialists-JVO00bs7.js} +374 -220
  265. package/server/specs-nN45DG2X.js +3 -0
  266. package/server/{src-OLoJhUiJ.js → src-CG9mCkP6.js} +6 -6
  267. package/server/{src-BqTcrfO_.js → src-CMTQGyCK.js} +3 -3
  268. package/server/{src-Dpq1yFIl.js → src-U7_kTPEE.js} +338 -4
  269. package/server/{stack-health-I713ELld.js → stack-health-Df0YEZKa.js} +1 -1
  270. package/server/{stack-health-DV_f-lK0.js → stack-health-puygdaMd.js} +2 -2
  271. package/server/{stale-task-claims-CQSKZVq0.js → stale-task-claims-BbFwCTb0.js} +4 -4
  272. package/server/{staleness-BbsGxmF2.js → staleness-Bpy41ngS.js} +15 -3
  273. package/server/{staleness-zGp4P1hd.js → staleness-Cbl_w4Bw.js} +1 -1
  274. package/server/{state-home-DixkE-up.js → state-home-CIGjwNfJ.js} +119 -54
  275. package/server/state-migrate-Dkzaxvny.js +487 -0
  276. package/server/{stuck-remediation-BWkK_O7A.js → stuck-remediation-CzEov_fq.js} +27 -21
  277. package/server/{stuck-remediation-CTPRC2S5.js → stuck-remediation-sY_MHHgQ.js} +1 -1
  278. package/server/{substrate-bug-weights-service-DXd0ID83.js → substrate-bug-weights-service-BH66lhm7.js} +3 -3
  279. package/server/{summary-fork-CdLn8Chr.js → summary-fork-D8bXjCr7.js} +2 -2
  280. package/server/{summary-fork-f3DpgjXh.js → summary-fork-DHhJIsAL.js} +8 -8
  281. package/server/{supervisor-Ch8CDuoF.js → supervisor-BO-Zk_h-.js} +3 -3
  282. package/server/supervisor-BPy-o1A8.js +2 -0
  283. package/server/{swarm-readiness-C9P2iPap.js → swarm-readiness-CQ_fwUWF.js} +4 -4
  284. package/server/{system-prerequisites-DkoQBn1q.js → system-prerequisites-Bza0ffAh.js} +24 -44
  285. package/server/{teardown-workspace-D-5yMyit.js → teardown-workspace-CEgauF4U.js} +15 -15
  286. package/server/{test-agent-queue-BwpUpu-o.js → test-agent-queue-DXDt0Xa-.js} +7 -7
  287. package/server/{test-verdict-BRiSu7eW.js → test-verdict-CmUBK5cT.js} +1 -1
  288. package/server/{test-verdict-BQ1yx7d4.js → test-verdict-DFjjIHR5.js} +1 -1
  289. package/server/{tldr-daemon-DjxP5g6Y.js → tldr-daemon-BDtLOIlO.js} +2 -2
  290. package/server/{tldr-daemon-BJA7TkqS.js → tldr-daemon-DL566HbH.js} +1 -1
  291. package/server/tmux-DoThH6aj.js +3 -0
  292. package/server/{tmux-y1blSxks.js → tmux-ftABRAmc.js} +76 -44
  293. package/server/{token-LUrbM9sU.js → token-CsOhvw42.js} +2 -2
  294. package/server/{token-util-BZaDAQ8S.js → token-util-CTmczIfW.js} +1 -1
  295. package/server/token-util-DrHg8abn.js +3 -0
  296. package/server/{tracker-config-DSFZBdXP.js → tracker-config-B4itFzDo.js} +2 -2
  297. package/server/{tracker-utils-WtP_V-yn.js → tracker-utils-BePq_oj-.js} +1 -1
  298. package/server/{tracker-utils-DiceZN3a.js → tracker-utils-tnxxqROg.js} +2 -2
  299. package/server/{traefik-connect-BXqfOP4-.js → traefik-connect-m73vGebA.js} +1 -1
  300. package/server/{tunnel-DTng1rfQ.js → tunnel-B2vxjx_b.js} +3 -3
  301. package/server/{tunnel-WcJImbAC.js → tunnel-Cgj-IGIl.js} +1 -1
  302. package/server/{types-BjaZ1oqH.js → types-BBNjPcqU.js} +1 -1
  303. package/server/{types-DqeBMmJN.js → types-hraoaQIp.js} +1 -1
  304. package/server/{uat-train-BpLnp7Cx.js → uat-train-CuEn0t9M.js} +28 -28
  305. package/server/{uat-train-Wismge7h.js → uat-train-cKfM-_WW.js} +1 -1
  306. package/server/{validation-BA4e5EGm.js → validation-B5JxoPUS.js} +259 -9
  307. package/server/{validation-CUWamZ4X.js → validation-CIi6pnI2.js} +1 -1
  308. package/server/{verification-artifact-Dr_0g9nb.js → verification-artifact-BcnIbigL.js} +1 -1
  309. package/server/{verification-artifact-CrbI4tJE.js → verification-artifact-C-lIHfUa.js} +1 -1
  310. package/server/{verification-runner-gAzh3cVD.js → verification-runner-Br0S_Ous.js} +103 -37
  311. package/server/{verification-runner-Dcksl_P-.js → verification-runner-CDj4lD4t.js} +1 -1
  312. package/server/{vtt-parser-3VZKsmSm.js → vtt-parser-DKpNNW5i.js} +1 -1
  313. package/server/{work-agent-prompt-ULdcANl5.js → work-agent-prompt-Yb2bd3Fq.js} +16 -15
  314. package/server/{workflows-B8ROFlfw.js → workflows-C9WmILql.js} +39 -77
  315. package/server/workflows-D90rMOya.js +2 -0
  316. package/server/{workspace-DhTDA8nB.js → workspace-BVl4rihN.js} +3 -3
  317. package/server/{workspace-DSjUJaJN.js → workspace-DuUdndHe.js} +1 -1
  318. package/server/{workspace-config-BAAsAv-o.js → workspace-config-cEGcO6UT.js} +1 -1
  319. package/server/{workspace-manager-CcujONCR.js → workspace-manager-ZTdJAy9M.js} +1 -1
  320. package/server/{workspace-manager-DsN52IMG.js → workspace-manager-hLUv3ADC.js} +23 -16
  321. package/server/{workspace-metadata-DIL5_U4c.js → workspace-metadata-CskwzzhL.js} +2 -2
  322. package/server/{workspace-metadata-CftOpNLs.js → workspace-metadata-DNpMixRq.js} +1 -1
  323. package/server/{workspaces-Dmlh1YXm.js → workspaces-hWvy9eKs.js} +276 -110
  324. package/sync-sources/agents/pan-inspect-agent.md +1 -1
  325. package/sync-sources/agents/pan-merge-agent.md +1 -1
  326. package/sync-sources/agents/pan-planning-agent.md +4 -4
  327. package/sync-sources/agents/pan-work-agent.md +1 -1
  328. package/sync-sources/dev-skills/pan-commit/SKILL.md +1 -1
  329. package/sync-sources/dev-skills/test-specialist-workflow/SKILL.md +1 -1
  330. package/sync-sources/hooks/record-cost-event.js +363 -71
  331. package/sync-sources/hooks/session-start-hook +7 -0
  332. package/sync-sources/hooks/work-agent-stop-hook +1 -1
  333. package/sync-sources/rules/per-bead-durability.md +1 -1
  334. package/sync-sources/rules/prd-authoring.md +1 -1
  335. package/sync-sources/skills/feature-work/SKILL.md +1 -1
  336. package/sync-sources/skills/pan/SKILL.md +2 -2
  337. package/sync-sources/skills/pan-admin-config/SKILL.md +1 -0
  338. package/sync-sources/skills/pan-approve/SKILL.md +1 -1
  339. package/sync-sources/skills/pan-close/SKILL.md +1 -1
  340. package/sync-sources/skills/pan-doctor/SKILL.md +1 -1
  341. package/sync-sources/skills/pan-new-project/SKILL.md +9 -11
  342. package/sync-sources/skills/pan-oversee/SKILL.md +5 -5
  343. package/sync-sources/skills/pan-plan/SKILL.md +6 -6
  344. package/sync-sources/skills/pan-quickstart/SKILL.md +1 -1
  345. package/sync-sources/skills/pan-recap/SKILL.md +2 -2
  346. package/sync-sources/skills/pan-review/SKILL.md +1 -1
  347. package/sync-sources/skills/pan-start/SKILL.md +26 -3
  348. package/sync-sources/skills/pan-swarm/SKILL.md +1 -1
  349. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  350. package/sync-sources/skills/pan-task/SKILL.md +2 -2
  351. package/sync-sources/skills/pan-wipe/SKILL.md +2 -2
  352. package/sync-sources/skills/pipeline-list/SKILL.md +1 -1
  353. package/sync-sources/skills/pipeline-status/SKILL.md +2 -2
  354. package/sync-sources/skills/plan/SKILL.md +11 -11
  355. package/sync-sources/skills/write-vbrief/SKILL.md +7 -282
  356. package/sync-sources/skills/write-xbrief/SKILL.md +295 -0
  357. package/sync-sources/templates/claude-md/sections/warnings.md +1 -1
  358. package/server/agent-state-BV_6RHnO.js +0 -3
  359. package/server/agents-Czz6R57Z.js +0 -3
  360. package/server/cli-ChErG518.js +0 -3
  361. package/server/codex-BBeZ8c3s.js +0 -3
  362. package/server/deacon-swarm-uudlSCLM.js +0 -2
  363. package/server/dist-BEDL2alY.js +0 -3
  364. package/server/forge-DbhJyH6u.js +0 -2
  365. package/server/git-utils-Bkxzr1Xf.js +0 -129
  366. package/server/hume-BrA1tUuk.js +0 -3
  367. package/server/inspect-agent-CyXNo9fM.js +0 -2
  368. package/server/lifecycle-io-CUpsxG0p.js +0 -3
  369. package/server/merge-ops-BpTtuO8x.js +0 -2
  370. package/server/projects-IRHJIPYC.js +0 -3
  371. package/server/providers-BqCdTryq.js +0 -3
  372. package/server/public/assets/index-C6NLz_1S.css +0 -1
  373. package/server/public/assets/mermaid-GHXKKRXX-BNwFoQsf.js +0 -1
  374. package/server/rally-DGimSRBQ.js +0 -3
  375. package/server/reap-terminal-sessions-C1mfzoZo.js +0 -3
  376. package/server/record-update-RviRDSNs.js +0 -168
  377. package/server/record-us0YECMO.js +0 -3
  378. package/server/resume-OyN3dEXE.js +0 -3
  379. package/server/review-status-DXeqFpk5.js +0 -3
  380. package/server/settings-BaPXXJsT.js +0 -2
  381. package/server/specialists-C6WkeKFK.js +0 -3
  382. package/server/specs-BsNcum0h.js +0 -3
  383. package/server/state-migrate-_zJJ6XKE.js +0 -362
  384. package/server/supervisor-Qy1QecAs.js +0 -2
  385. package/server/tmux-HQLgwo_C.js +0 -3
  386. package/server/token-util-Cg-QnowA.js +0 -3
  387. package/server/workflows-C5c-RPsY.js +0 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@overdeck/desktop",
3
- "version": "0.45.21",
3
+ "version": "0.45.23",
4
4
  "description": "Overdeck Command Deck — AI agent monitoring desktop app",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,9 +1,9 @@
1
- import { m as readWorkspacePlanSync, o as init_io, v as init_types, y as subItemsOf } from "./io-BiM-7Zsx.js";
1
+ import { m as readWorkspacePlanSync, o as init_io, v as init_types, y as subItemsOf } from "./io-B3_AHDfr.js";
2
2
  import "effect";
3
- //#region ../../lib/vbrief/acceptance-criteria.ts
3
+ //#region ../../lib/xbrief/acceptance-criteria.ts
4
4
  init_io();
5
5
  init_types();
6
- function getVBriefACStatusSync(workspacePath) {
6
+ function getXBriefACStatusSync(workspacePath) {
7
7
  const doc = readWorkspacePlanSync(workspacePath);
8
8
  if (!doc) return null;
9
9
  const allCriteria = extractACFromDocument(doc);
@@ -57,6 +57,6 @@ function extractACFromDocument(doc) {
57
57
  return criteria;
58
58
  }
59
59
  //#endregion
60
- export { getVBriefACStatusSync as n, extractACFromDocument as t };
60
+ export { getXBriefACStatusSync as n, extractACFromDocument as t };
61
61
 
62
- //# sourceMappingURL=acceptance-criteria-CJIFA8Vg.js.map
62
+ //# sourceMappingURL=acceptance-criteria-DOA0KgXx.js.map
@@ -1,8 +1,8 @@
1
- import { D as killSession, j as listSessionNames, w as init_tmux } from "./tmux-y1blSxks.js";
2
- import { c as init_review_status, s as getReviewStatusSync, u as loadReviewStatuses } from "./review-status-CCgPVK1h.js";
3
- import { Gn as saveAgentStateSync, Rn as markAgentStoppedState, jn as getAgentStateSync, s as init_agents } from "./queries-B5hl7lMQ.js";
4
- import { c as logDeaconEventSync, o as init_persistent_logger } from "./session-history-DUehL3KN.js";
5
- import { o as selectMergedAdvancingSessions, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CjqRAGw7.js";
1
+ import { D as killSession, M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
2
+ import { c as getReviewStatusSync, d as loadReviewStatuses, l as init_review_status } from "./review-status-A7quS5KJ.js";
3
+ import { Wn as getAgentStateSync, Zn as markAgentStoppedState, b as init_agents, ir as saveAgentStateSync } from "./queries-6d7Cdtm7.js";
4
+ import { c as logDeaconEventSync, o as init_persistent_logger } from "./session-history-CVZDpS3c.js";
5
+ import { a as selectMergedAdvancingSessions, t as init_reap_terminal_sessions } from "./reap-terminal-sessions-N3BTkmX_.js";
6
6
  import { Effect } from "effect";
7
7
  //#region ../../lib/cloister/advancing-selfheal.ts
8
8
  init_agents();
@@ -135,4 +135,4 @@ async function runBootAdvancingSelfHeal(deps = defaultBootAdvancingSelfHealDeps)
135
135
  //#endregion
136
136
  export { checkMergedAdvancingSessions, markAdvancingSessionStopped, reconcileInFlightJournals, runBootAdvancingSelfHeal };
137
137
 
138
- //# sourceMappingURL=advancing-selfheal-CPOBO5ZS.js.map
138
+ //# sourceMappingURL=advancing-selfheal-BBu6DSNm.js.map
@@ -1,6 +1,6 @@
1
- import { At as init_record, Pt as readIssueRecordForWorkspaceSync } from "./config-yaml-Ciyp2mYe.js";
2
- import { c as listAllAgentsSync, l as removeAgentSync, o as init_agents } from "./agents-DbrHWunF.js";
3
- import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-DiceZN3a.js";
1
+ import { Mt as readIssueRecordForWorkspaceSync, Ot as init_record } from "./config-yaml-DvyMuOle.js";
2
+ import { c as listAllAgentsSync, l as removeAgentSync, o as init_agents } from "./agents-B4Bjbkfv.js";
3
+ import { i as resolveGitHubIssueSync, n as init_tracker_utils } from "./tracker-utils-tnxxqROg.js";
4
4
  import { n as mapGitHubStateToCanonical, t as init_state_mapping } from "./state-mapping-BL_-3Yt8.js";
5
5
  import { readdir, readlink } from "fs/promises";
6
6
  import { execFile } from "child_process";
@@ -112,4 +112,4 @@ function pruneTerminalStoppedAgents() {
112
112
  //#endregion
113
113
  export { pidsWithCwdUnder as a, sweepAutoCloseOutCache as i, pruneTerminalStoppedAgents as n, getAutoCloseOutCanonicalState as r, pruneStoppedAgentsForIssue as t };
114
114
 
115
- //# sourceMappingURL=agent-gc-D6PUckBB.js.map
115
+ //# sourceMappingURL=agent-gc-BV1q_2EV.js.map
@@ -0,0 +1,3 @@
1
+ import { Fn as clearAgentPausedSync, Gn as init_agent_state, Ln as clearAgentTroubledSync, Wn as getAgentStateSync, or as setAgentPausedSync } from "./queries-6d7Cdtm7.js";
2
+ init_agent_state();
3
+ export { clearAgentPausedSync, clearAgentTroubledSync, getAgentStateSync, setAgentPausedSync };
@@ -1,2 +1,2 @@
1
- import { n as AgentStateServiceLive, r as getRuntimeSnapshot, t as AgentStateService } from "./agent-state-service-6MFQqnFy.js";
1
+ import { n as AgentStateServiceLive, r as getRuntimeSnapshot, t as AgentStateService } from "./agent-state-service-HoK8U4jW.js";
2
2
  export { AgentStateService, AgentStateServiceLive, getRuntimeSnapshot };
@@ -1,6 +1,6 @@
1
- import { a as init_event_store, i as initEventStore } from "./event-store-BVnON3vf.js";
2
- import { l as INITIAL_READ_MODEL_STATE, t as init_src, u as applyEvent } from "./src-Dpq1yFIl.js";
3
- import { f as markAgentStateServiceInProcess, l as getRuntimeSnapshot$1, p as setAgentRuntimeMirror, r as init_session_history, t as appendSessionIdToHistory, u as init_agent_runtime_mirror } from "./session-history-DUehL3KN.js";
1
+ import { a as init_event_store, i as initEventStore } from "./event-store-tdiY5eDZ.js";
2
+ import { d as applyEvent, t as init_src, u as INITIAL_READ_MODEL_STATE } from "./src-U7_kTPEE.js";
3
+ import { f as markAgentStateServiceInProcess, l as getRuntimeSnapshot$1, p as setAgentRuntimeMirror, r as init_session_history, t as appendSessionIdToHistory, u as init_agent_runtime_mirror } from "./session-history-CVZDpS3c.js";
4
4
  import { Context, Effect, Layer, SubscriptionRef } from "effect";
5
5
  //#region services/agent-state-service.ts
6
6
  /**
@@ -58,7 +58,7 @@ const AgentStateServiceLive = Layer.effect(AgentStateService, Effect.gen(functio
58
58
  const store = yield* Effect.promise(() => initEventStore());
59
59
  const ref = yield* SubscriptionRef.make({});
60
60
  const seedFromSources = Effect.gen(function* () {
61
- const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-BqrCQt0o.js"));
61
+ const { reconstructCacheAuto } = yield* Effect.promise(() => import("./reconstruct-cache-uWbZfjms.js"));
62
62
  const seeded = (yield* Effect.promise(() => reconstructCacheAuto())).agentRuntimeById;
63
63
  if (Object.keys(seeded).length > 0) {
64
64
  yield* SubscriptionRef.update(ref, (current) => mergeRuntimeBySequence(current, seeded));
@@ -107,4 +107,4 @@ function applyEventToRef(ref, ev) {
107
107
  //#endregion
108
108
  export { AgentStateServiceLive as n, getRuntimeSnapshot as r, AgentStateService as t };
109
109
 
110
- //# sourceMappingURL=agent-state-service-6MFQqnFy.js.map
110
+ //# sourceMappingURL=agent-state-service-HoK8U4jW.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ei as getOverdeckHome, ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
3
- import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-DN2wSxle.js";
4
- import { n as init_issues, t as IssueId } from "./issues-XYtFMxrH.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
3
+ import { _ as integer, a as EventBus, b as and, c as Records, d as getOverdeckDatabaseSync, f as init_infra, h as text, l as Tmux, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-CzaSOgul.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-B6ToV6x1.js";
5
5
  import { join } from "node:path";
6
6
  import { Context, Effect, Layer, Schema } from "effect";
7
7
  import { readFileSync, readdirSync, rmSync, statSync } from "node:fs";
@@ -972,4 +972,4 @@ var init_agents = __esmMin((() => {
972
972
  //#endregion
973
973
  export { countAgentsByStatusRole as a, listAllAgentsSync as c, isTerminalIssueStage as d, countAgentsByStatus as i, removeAgentSync as l, AgentsResolverLive as n, init_agents as o, backfillAgentsSync as r, listAgentIdsByPrefixSync as s, AgentsResolver as t, getIssueStageSync as u };
974
974
 
975
- //# sourceMappingURL=agents-DbrHWunF.js.map
975
+ //# sourceMappingURL=agents-B4Bjbkfv.js.map
@@ -0,0 +1,3 @@
1
+ import { $ as appendActivity, $n as recordAgentFailure, $t as OHMYPI_AGENT_READY_TIMEOUT_SECONDS, An as writeChannelsBridgeMcpConfig, At as deliverAgentPermissionDecision, B as detectCrashedAgents, Bn as getAgentDir, Bt as assertWorkspaceStackHealthyForSpawn, C as replayCrashedStandingAgent, Cr as getAgentRuntimeStateSync, Dn as decideChannelsForWorkAgent, En as buildDefaultResumeContinueMessage, Fn as clearAgentPausedSync, G as resumeAgent, Gt as transitionIssueToInProgress, H as restartAgent, Hn as getAgentState, In as clearAgentTroubled, Jn as isRole, Kn as isAgentPaused, Kt as transitionIssueToInReview, Ln as clearAgentTroubledSync, Mn as SESSION_EXITED_BEFORE_KICKOFF, Mt as deliverResumeMessageWithTranscriptConfirmation, Nn as __testInternals, Nt as setAgentDeliveryMethod, On as decideSupervisorForWorkAgent, Pn as clearAgentPaused, Qn as markAgentTroubled, Rn as clearYieldForResumeSync, S as contextWindowForModel, Sr as getAgentRuntimeState, T as shouldReplayCompactAtTierRunBoundary, Tr as saveAgentRuntimeState, U as buildCompactRecoverySeed, Un as getAgentStateFilePath, V as recoverAgent, Vt as buildAgentLaunchConfig, Wn as getAgentStateSync, Wt as retrieveSpawnTimeMemoryContext, X as messageAgent, Xn as markAgentRunningState, Zn as markAgentStoppedState, _n as buildSpawnEnvForModel, _r as isQualifiedAgentId, a as listRunningAgentsSync, an as getRoleRuntimeBaseCommand, ar as setAgentPaused, at as saveSessionId, b as init_agents, bn as getProviderExportsForModel, br as waitForAgentIdle, cn as roleAgentDefinitionPath, cr as wipeAgentStateDirs, en as describeOhmypiSpawnFailure, er as recordAgentFailureSync, et as getActivity, ft as stopAgent, gn as buildCavemanExports, gr as clearReadySignal, i as listRunningAgents, in as getProviderAuthMode, ir as saveAgentStateSync, jn as GOVERNOR_SLOT_PAUSE_REASON_PREFIX, jt as deliverInitialPromptWithRetry, kn as dismissDevChannelsDialog, kt as deliverAgentMessage, ln as waitForPromptReady, lr as writeAgentStateJsonSync, lt as spawnAgent, nr as resetAgentFailureCount, nt as getLatestSessionIdSync, o as warnOnBareNumericIssueIds, or as setAgentPausedSync, pt as stopAgentSync, qn as isAgentTroubled, r as listAgentStates, rr as saveAgentState, rt as getSessionId, sn as injectPiConversationMemory, sr as setAgentYieldedSync, t as dropLegacyAgentStatesMissingRoleAsync, tn as getAgentRuntimeBaseCommand, tt as getLatestSessionId, ut as spawnRun, vn as determineModel, vr as normalizeAgentId, w as replayStandingAgent, x as compactAtTierRunBoundary, xn as getProviderTmuxFlags, xr as waitForReadySignal, yn as getProviderEnvForModel, yr as resolveAgentTargetSync, z as autoRecoverAgents } from "./queries-6d7Cdtm7.js";
2
+ init_agents();
3
+ export { GOVERNOR_SLOT_PAUSE_REASON_PREFIX, OHMYPI_AGENT_READY_TIMEOUT_SECONDS, SESSION_EXITED_BEFORE_KICKOFF, __testInternals, appendActivity, assertWorkspaceStackHealthyForSpawn, autoRecoverAgents, buildAgentLaunchConfig, buildCavemanExports, buildCompactRecoverySeed, buildDefaultResumeContinueMessage, buildSpawnEnvForModel, clearAgentPaused, clearAgentPausedSync, clearAgentTroubled, clearAgentTroubledSync, clearReadySignal, clearYieldForResumeSync, compactAtTierRunBoundary, contextWindowForModel, decideChannelsForWorkAgent, decideSupervisorForWorkAgent, deliverAgentMessage, deliverAgentPermissionDecision, deliverInitialPromptWithRetry, deliverResumeMessageWithTranscriptConfirmation, describeOhmypiSpawnFailure, detectCrashedAgents, determineModel, dismissDevChannelsDialog, dropLegacyAgentStatesMissingRoleAsync, getActivity, getAgentDir, getAgentRuntimeBaseCommand, getAgentRuntimeState, getAgentRuntimeStateSync, getAgentState, getAgentStateFilePath, getAgentStateSync, getLatestSessionId, getLatestSessionIdSync, getProviderAuthMode, getProviderEnvForModel, getProviderExportsForModel, getProviderTmuxFlags, getRoleRuntimeBaseCommand, getSessionId, injectPiConversationMemory, isAgentPaused, isAgentTroubled, isQualifiedAgentId, isRole, listAgentStates, listRunningAgents, listRunningAgentsSync, markAgentRunningState, markAgentStoppedState, markAgentTroubled, messageAgent, normalizeAgentId, recordAgentFailure, recordAgentFailureSync, recoverAgent, replayCrashedStandingAgent, replayStandingAgent, resetAgentFailureCount, resolveAgentTargetSync, restartAgent, resumeAgent, retrieveSpawnTimeMemoryContext, roleAgentDefinitionPath, saveAgentRuntimeState, saveAgentState, saveAgentStateSync, saveSessionId, setAgentDeliveryMethod, setAgentPaused, setAgentPausedSync, setAgentYieldedSync, shouldReplayCompactAtTierRunBoundary, spawnAgent, spawnRun, stopAgent, stopAgentSync, transitionIssueToInProgress, transitionIssueToInReview, waitForAgentIdle, waitForPromptReady, waitForReadySignal, warnOnBareNumericIssueIds, wipeAgentStateDirs, writeAgentStateJsonSync, writeChannelsBridgeMcpConfig };
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ar as ARCHIVES_DIR, Br as PROJECT_PRDS_ACTIVE_SUBDIR, Hr as PROJECT_PRDS_PLANNED_SUBDIR, Ur as PROJECT_PRDS_SUBDIR, Vr as PROJECT_PRDS_COMPLETED_SUBDIR, ti as init_paths, zr as PROJECT_DOCS_SUBDIR } from "./config-yaml-Ciyp2mYe.js";
3
- import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-DqeBMmJN.js";
4
- import { t as init_pan_dir } from "./pan-dir-Rw17YjT1.js";
5
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-BjaZ1oqH.js";
2
+ import { Dr as PROJECT_PRDS_COMPLETED_SUBDIR, Er as PROJECT_PRDS_ACTIVE_SUBDIR, Or as PROJECT_PRDS_PLANNED_SUBDIR, Tr as PROJECT_DOCS_SUBDIR, Vr as init_paths, gr as ARCHIVES_DIR, kr as PROJECT_PRDS_SUBDIR } from "./config-yaml-DvyMuOle.js";
3
+ import { a as PAN_DIRNAME, c as PAN_SESSIONS_FILENAME, i as PAN_CONTINUE_FILENAME, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-hraoaQIp.js";
4
+ import { a as getDraftPath, o as getIssueDraftPath, t as init_pan_dir } from "./pan-dir-DeVUgwA7.js";
5
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-BBNjPcqU.js";
6
6
  import { Effect } from "effect";
7
7
  import { existsSync, readdirSync } from "fs";
8
8
  import { dirname, join } from "path";
@@ -66,6 +66,30 @@ function findPrdAtStatusSync(projectPath, issueId, status) {
66
66
  for (const c of candidates) if (existsSync(c.path)) return c;
67
67
  return null;
68
68
  }
69
+ function findDraftPrdSync(projectPath, issueId) {
70
+ const candidates = [getIssueDraftPath(projectPath, issueId), getDraftPath(projectPath, `${issueId.toLowerCase()}.md`)];
71
+ for (const path of candidates) if (existsSync(path)) return {
72
+ path,
73
+ format: "pan-draft",
74
+ status: "draft"
75
+ };
76
+ return null;
77
+ }
78
+ /**
79
+ * Find a PRD across all lifecycle statuses, in priority order:
80
+ * active → completed → planned → draft. Returns the first match or null.
81
+ */
82
+ function findPrdAnywhereSync(projectPath, issueId) {
83
+ for (const status of [
84
+ "active",
85
+ "completed",
86
+ "planned"
87
+ ]) {
88
+ const loc = findPrdAtStatusSync(projectPath, issueId, status);
89
+ if (loc) return loc;
90
+ }
91
+ return findDraftPrdSync(projectPath, issueId);
92
+ }
69
93
  var STATUS_DIRS;
70
94
  var init_prd_locations = __esmMin((() => {
71
95
  init_paths();
@@ -168,7 +192,7 @@ async function movePrdImpl(ctx, opts) {
168
192
  }
169
193
  await execAsync(`git commit -m "Move ${ctx.issueId} PRD to completed"`, { cwd: ctx.projectPath });
170
194
  if (pushToRemote) await execAsync("git push", { cwd: ctx.projectPath });
171
- return stepOk(step, [`Moved ${formatLabel} from active/ to completed/ via git mv${resolvedSidecarSource ? " (with vBRIEF sidecar)" : ""}`]);
195
+ return stepOk(step, [`Moved ${formatLabel} from active/ to completed/ via git mv${resolvedSidecarSource ? " (with xBRIEF sidecar)" : ""}`]);
172
196
  } catch {
173
197
  try {
174
198
  await cp(source.path, dest, { recursive: true });
@@ -264,6 +288,6 @@ var init_archive_planning = __esmMin((() => {
264
288
  execAsync = promisify(exec);
265
289
  }));
266
290
  //#endregion
267
- export { inferBranchFromWorkspace as a, findPrdAtStatusSync as c, findWorkspacePath as i, init_prd_locations as l, archiveWorkspaceArtifacts as n, init_archive_planning as o, findAllWorkspacePaths as r, movePrd as s, archivePlanning as t };
291
+ export { inferBranchFromWorkspace as a, findPrdAnywhereSync as c, findWorkspacePath as i, init_prd_locations as l, archiveWorkspaceArtifacts as n, init_archive_planning as o, findAllWorkspacePaths as r, movePrd as s, archivePlanning as t };
268
292
 
269
- //# sourceMappingURL=archive-planning-BOnwJq8M.js.map
293
+ //# sourceMappingURL=archive-planning-DYrYojxl.js.map
@@ -1,3 +1,3 @@
1
- import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-BOnwJq8M.js";
1
+ import { i as findWorkspacePath, o as init_archive_planning } from "./archive-planning-DYrYojxl.js";
2
2
  init_archive_planning();
3
3
  export { findWorkspacePath };
@@ -1,4 +1,4 @@
1
- import { ei as getOverdeckHome, ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
1
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
2
2
  import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
3
3
  import { dirname, join } from "node:path";
4
4
  import { mkdirSync } from "node:fs";
@@ -208,4 +208,4 @@ function unshareArtifactBySlugJob(slug) {
208
208
  //#endregion
209
209
  export { getArtifactBySlugJob, listArtifactsForWorkspaceOrIssueJob, unshareArtifactBySlugJob };
210
210
 
211
- //# sourceMappingURL=artifact-index-jobs-BOoySTKD.js.map
211
+ //# sourceMappingURL=artifact-index-jobs-C-xy7Z5v.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-BnInAFKs.js";
3
- import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-Bpz0yGmG.js";
2
+ import { r as isNoResumeValueEnabled, t as init_no_resume_mode } from "./no-resume-mode-Cx3K0hHi.js";
3
+ import { a as spawnSequencerAgent, i as init_sequencer_agent } from "./sequencer-agent-BGY8gjg-.js";
4
4
  //#region ../../lib/backlog/backlog-auto-trigger.ts
5
5
  /**
6
6
  * PAN-2396: --no-resume is the operator's full-quiescence escape hatch —
@@ -37,4 +37,4 @@ __esmMin((() => {
37
37
  }))();
38
38
  export { triggerDebouncedIncrementalPass };
39
39
 
40
- //# sourceMappingURL=backlog-auto-trigger-BUaFI44J.js.map
40
+ //# sourceMappingURL=backlog-auto-trigger-GtG71X8H.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_src } from "./src-Dpq1yFIl.js";
2
+ import { t as init_src } from "./src-U7_kTPEE.js";
3
3
  //#region ../../lib/runtimes/behavior.ts
4
4
  var init_behavior = __esmMin((() => {
5
5
  init_src();
@@ -7,4 +7,4 @@ var init_behavior = __esmMin((() => {
7
7
  //#endregion
8
8
  export { init_behavior as t };
9
9
 
10
- //# sourceMappingURL=behavior-Dg-D8eBG.js.map
10
+ //# sourceMappingURL=behavior-B_-4EKF3.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ei as getOverdeckHome, ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
2
+ import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DvyMuOle.js";
3
3
  import { dirname, join } from "path";
4
4
  import { randomUUID } from "crypto";
5
5
  import { mkdir, readFile, rename, stat, writeFile } from "fs/promises";
@@ -128,4 +128,4 @@ var init_briefing_freshness = __esmMin((() => {
128
128
  //#endregion
129
129
  export { resolveSessionContextBriefingPath as a, recordBriefingSessionStart as i, ensureSessionContextBriefingFile as n, init_briefing_freshness as r, appendFreshBriefingUpdate as t };
130
130
 
131
- //# sourceMappingURL=briefing-freshness-OouGbJ7d.js.map
131
+ //# sourceMappingURL=briefing-freshness-DWdW7vUm.js.map
@@ -2,12 +2,12 @@ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  //#region ../../lib/deploy/build-info.ts
3
3
  function getBuildInfo() {
4
4
  return {
5
- buildCommit: "728294f95c4da89583ad5ec2d68679b7a8e02851",
6
- builtAt: "2026-07-17T09:39:54.319Z"
5
+ buildCommit: "3824685a47cd1a723b2a2ef7e57d46abf82957ae",
6
+ builtAt: "2026-07-20T03:34:02.499Z"
7
7
  };
8
8
  }
9
9
  var init_build_info = __esmMin((() => {}));
10
10
  //#endregion
11
11
  export { init_build_info as n, getBuildInfo as t };
12
12
 
13
- //# sourceMappingURL=build-info-27NlbKhV.js.map
13
+ //# sourceMappingURL=build-info-BT096lEl.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_build_info, t as getBuildInfo } from "./build-info-27NlbKhV.js";
1
+ import { n as init_build_info, t as getBuildInfo } from "./build-info-BT096lEl.js";
2
2
  init_build_info();
3
3
  export { getBuildInfo };
@@ -1,3 +1,3 @@
1
- import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-D64fCC4p.js";
1
+ import { _ as pruneStaleCheckpointRefs, g as pruneCheckpointRefsForAgents, h as listCheckpoints, i as deleteLegacyCheckpointRefs, m as init_checkpoint_manager, p as getCheckpointTimestamp, s as diffCheckpointFiles } from "./checkpoint-manager-DDqcGyu8.js";
2
2
  init_checkpoint_manager();
3
3
  export { deleteLegacyCheckpointRefs, diffCheckpointFiles, getCheckpointTimestamp, listCheckpoints, pruneCheckpointRefsForAgents, pruneStaleCheckpointRefs };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as VcsError, Or as init_errors, cn as STATE_BRANCH_PATHS, dn as init_state_plane, hr as CheckpointError, xr as InvalidAgentIdError } from "./config-yaml-Ciyp2mYe.js";
2
+ import { Kt as STATE_BRANCH_PATHS, Yt as init_state_plane, mr as init_errors, pr as VcsError, sr as InvalidAgentIdError, tr as CheckpointError } from "./config-yaml-DvyMuOle.js";
3
3
  import { Effect, Layer } from "effect";
4
4
  import { join } from "path";
5
5
  import { tmpdir } from "os";
@@ -663,4 +663,4 @@ var init_checkpoint_manager = __esmMin((() => {
663
663
  //#endregion
664
664
  export { pruneStaleCheckpointRefs as _, diffAgainstMain as a, diffCheckpoints as c, diffPatchSinceCommit as d, findCommitAtTime as f, pruneCheckpointRefsForAgents as g, listCheckpoints as h, deleteLegacyCheckpointRefs as i, diffFilesAgainstHead as l, init_checkpoint_manager as m, checkpointStateExclusions as n, diffAgainstMainFiles as o, getCheckpointTimestamp as p, deleteCheckpoint as r, diffCheckpointFiles as s, captureCheckpoint as t, diffPatchFilesAgainstHead as u };
665
665
 
666
- //# sourceMappingURL=checkpoint-manager-D64fCC4p.js.map
666
+ //# sourceMappingURL=checkpoint-manager-DDqcGyu8.js.map
@@ -1,4 +1,4 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-Vh-J15ge.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-C-AXLfYT.js";
2
2
  import { parentPort } from "node:worker_threads";
3
3
  //#region ../../lib/memory/checkpoint-worker.ts
4
4
  function runOperation(operation, payload) {
@@ -1,4 +1,4 @@
1
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-DN2wSxle.js";
1
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CzaSOgul.js";
2
2
  import { randomUUID } from "node:crypto";
3
3
  //#region ../../lib/overdeck/transcript-checkpoint-sync.ts
4
4
  /**
@@ -195,4 +195,4 @@ function getTranscriptCheckpoint(sessionId) {
195
195
  //#endregion
196
196
  export { releaseTranscriptRange as a, listTranscriptCheckpoints as i, commitTranscriptRange as n, getTranscriptCheckpoint as r, claimTranscriptRange as t };
197
197
 
198
- //# sourceMappingURL=checkpoints-Vh-J15ge.js.map
198
+ //# sourceMappingURL=checkpoints-C-AXLfYT.js.map
@@ -1,2 +1,2 @@
1
- import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-Vh-J15ge.js";
1
+ import { a as releaseTranscriptRange, i as listTranscriptCheckpoints, n as commitTranscriptRange, r as getTranscriptCheckpoint, t as claimTranscriptRange } from "./checkpoints-C-AXLfYT.js";
2
2
  export { claimTranscriptRange, commitTranscriptRange, getTranscriptCheckpoint, listTranscriptCheckpoints, releaseTranscriptRange };
@@ -1,3 +1,3 @@
1
- import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-BVLGfHrv.js";
1
+ import { n as provisionClaudeHooks, t as init_claude_hooks_provision } from "./claude-hooks-provision-but-_qGY.js";
2
2
  init_claude_hooks_provision();
3
3
  export { provisionClaudeHooks };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Gr as SYNC_SOURCES, jr as BIN_DIR, ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
2
+ import { Vr as init_paths, _r as BIN_DIR, jr as SYNC_SOURCES } from "./config-yaml-DvyMuOle.js";
3
3
  import { join } from "node:path";
4
4
  import { copyFileSync, existsSync, mkdirSync, readdirSync, renameSync, unlinkSync, writeFileSync } from "fs";
5
5
  import { basename as basename$1, dirname as dirname$1, join as join$1 } from "path";
@@ -375,4 +375,4 @@ var init_claude_hooks_provision = __esmMin((() => {
375
375
  //#endregion
376
376
  export { provisionClaudeHooks as n, init_claude_hooks_provision as t };
377
377
 
378
- //# sourceMappingURL=claude-hooks-provision-BVLGfHrv.js.map
378
+ //# sourceMappingURL=claude-hooks-provision-but-_qGY.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-Ciyp2mYe.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-DvyMuOle.js";
3
3
  import "effect";
4
4
  //#region ../../lib/claude-permissions.ts
5
5
  /** Read PAN_YOLO from the current process env. Returns the implied mode, or undefined if unset/unparseable. */
@@ -94,4 +94,4 @@ var init_claude_permissions = __esmMin((() => {
94
94
  //#endregion
95
95
  export { init_claude_permissions as a, getClaudePermissionFlagsSync as i, buildClaudeUserSettingsSync as n, resolvePermissionModeSync as o, getClaudePermissionFlagsStringSync as r, BYPASS_PERMISSION_MODE as t };
96
96
 
97
- //# sourceMappingURL=claude-permissions-C2OrLYKL.js.map
97
+ //# sourceMappingURL=claude-permissions-H_5wHQZQ.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-DX-fMFpC.js";
1
+ import { n as init_claude_settings_overlay, r as injectOverdeckInfraDeny } from "./claude-settings-overlay-CbSz0Dvb.js";
2
2
  init_claude_settings_overlay();
3
3
  export { injectOverdeckInfraDeny };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Or as init_errors, vr as FsError } from "./config-yaml-Ciyp2mYe.js";
2
+ import { ir as FsError, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
3
  import { Effect, FileSystem } from "effect";
4
4
  import { join } from "path";
5
5
  import { homedir, tmpdir } from "os";
@@ -142,4 +142,4 @@ var init_claude_settings_overlay = __esmMin((() => {
142
142
  //#endregion
143
143
  export { init_claude_settings_overlay as n, injectOverdeckInfraDeny as r, detectProviderEnvConflicts as t };
144
144
 
145
- //# sourceMappingURL=claude-settings-overlay-DX-fMFpC.js.map
145
+ //# sourceMappingURL=claude-settings-overlay-CbSz0Dvb.js.map
@@ -0,0 +1,3 @@
1
+ import { r as init_cli, t as createResetMarker } from "./cli-vBeXbPrq.js";
2
+ init_cli();
3
+ export { createResetMarker };
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ti as init_paths } from "./config-yaml-Ciyp2mYe.js";
3
- import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-FP8v3lTz.js";
4
- import { s as init_agents } from "./queries-B5hl7lMQ.js";
5
- import { i as init_settings } from "./settings-DP2OYLXL.js";
6
- import { r as init_health, t as init_providers } from "./providers-d3pwXGVE.js";
7
- import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-6ponMie2.js";
8
- import { r as init_rollup } from "./rollup-CLj_AK9f.js";
2
+ import { Vr as init_paths } from "./config-yaml-DvyMuOle.js";
3
+ import { c as resolveMemoryRoot, i as init_paths$1, l as resolveObservationsFile, p as resolveSummariesDir, r as ensureParentDir } from "./paths-_zEts6wc.js";
4
+ import { b as init_agents } from "./queries-6d7Cdtm7.js";
5
+ import { i as init_settings } from "./settings-BZ5m1UCl.js";
6
+ import { r as init_health, t as init_providers } from "./providers-DV7ec8l7.js";
7
+ import { a as withMemoryFtsDatabase, i as runMemoryFtsTransaction, n as init_fts_db } from "./fts-db-CKgg0VKg.js";
8
+ import { r as init_rollup } from "./rollup-WA0VD-Rr.js";
9
9
  import { dirname, join } from "path";
10
10
  import { randomUUID } from "crypto";
11
11
  import { readFile, rename, writeFile } from "fs/promises";
@@ -194,7 +194,7 @@ async function writeResetMarkerToFtsDb(projectId, marker) {
194
194
  });
195
195
  }
196
196
  async function emitResetMarkerCreated(marker, timestamp) {
197
- const { initEventStore } = await import("./event-store-DABarGNz.js");
197
+ const { initEventStore } = await import("./event-store-Cr5PQwFC.js");
198
198
  await (await initEventStore()).appendAsync({
199
199
  type: "memory.reset_marker_created",
200
200
  timestamp,
@@ -221,4 +221,4 @@ var init_cli = __esmMin((() => {
221
221
  //#endregion
222
222
  export { generateDailySummary as n, init_cli as r, createResetMarker as t };
223
223
 
224
- //# sourceMappingURL=cli-mvpEOb3w.js.map
224
+ //# sourceMappingURL=cli-vBeXbPrq.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Or as init_errors, Rr as OVERDECK_HOME, jr as BIN_DIR, ti as init_paths, vr as FsError, wr as ProcessSpawnError } from "./config-yaml-Ciyp2mYe.js";
2
+ import { Vr as init_paths, _r as BIN_DIR, ir as FsError, mr as init_errors, ur as ProcessSpawnError, wr as OVERDECK_HOME } from "./config-yaml-DvyMuOle.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -496,4 +496,4 @@ var init_cliproxy = __esmMin((() => {
496
496
  //#endregion
497
497
  export { restartCliproxy as C, readPidFile as S, stopCliproxy as T, getCliproxyPidPath as _, CliproxyError as a, isCliproxyInstalled as b, bridgeGeminiAuthToCliproxy as c, getCliproxyAuthDir as d, getCliproxyBinary as f, getCliproxyLogPath as g, getCliproxyDir as h, CLIPROXY_PORT as i, decodeJwtPayload as l, getCliproxyConfigPath as m, CLIPROXY_BASE_URL as n, bridgeCodexAuthToCliproxy as o, getCliproxyClientEnv as p, CLIPROXY_HOST as r, bridgeCodexAuthToCliproxySync as s, CLIPROXY_AUTH_TOKEN as t, detectPlatformAsset as u, init_cliproxy as v, startCliproxy as w, isCliproxyRunning as x, installCliproxy as y };
498
498
 
499
- //# sourceMappingURL=cliproxy-Dvsr4ZkW.js.map
499
+ //# sourceMappingURL=cliproxy-Bgb2XCqi.js.map
@@ -1,3 +1,3 @@
1
- import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-Dvsr4ZkW.js";
1
+ import { v as init_cliproxy, x as isCliproxyRunning } from "./cliproxy-Bgb2XCqi.js";
2
2
  init_cliproxy();
3
3
  export { isCliproxyRunning };
@@ -1,6 +1,6 @@
1
- import { cr as extractPrefixSync, lr as init_issue_id, sr as extractNumberSync, ur as normalizeIssueIdSync } from "./config-yaml-Ciyp2mYe.js";
2
- import { Rn as markAgentStoppedState, Wn as saveAgentState, kn as getAgentState, s as init_agents } from "./queries-B5hl7lMQ.js";
3
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-BjaZ1oqH.js";
1
+ import { Jn as extractPrefixSync, Xn as normalizeIssueIdSync, Yn as init_issue_id, qn as extractNumberSync } from "./config-yaml-DvyMuOle.js";
2
+ import { Hn as getAgentState, Zn as markAgentStoppedState, b as init_agents, rr as saveAgentState } from "./queries-6d7Cdtm7.js";
3
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed, t as getLinearApiKey } from "./types-BBNjPcqU.js";
4
4
  import { Effect } from "effect";
5
5
  import { exec } from "child_process";
6
6
  import { promisify } from "util";
@@ -227,7 +227,7 @@ function closeRallyDirect(ctx) {
227
227
  async function closeRallyDirectImpl(ctx) {
228
228
  const step = "close-issue:transition";
229
229
  if (!ctx.rally) return stepFailed(step, "Rally config not provided");
230
- const { RallyTracker } = await import("./rally-DGimSRBQ.js");
230
+ const { RallyTracker } = await import("./rally-njs_mJrt.js");
231
231
  const tracker = new RallyTracker({
232
232
  apiKey: ctx.rally.apiKey,
233
233
  server: ctx.rally.server,
@@ -327,4 +327,4 @@ async function applyLabelLinearImpl(ctx, apiKey) {
327
327
  //#endregion
328
328
  export { closeIssue as t };
329
329
 
330
- //# sourceMappingURL=close-issue-8F6uawYj.js.map
330
+ //# sourceMappingURL=close-issue-Dn_4c4G8.js.map
@@ -1,2 +1,2 @@
1
- import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-BaYQYF6w.js";
1
+ import { t as handleIssueStatusChangedClosed } from "./closed-issue-reaper-hANY_ehE.js";
2
2
  export { handleIssueStatusChangedClosed };
@@ -1,12 +1,12 @@
1
- import { At as init_record, Lt as resolveProjectForIssue, Un as listProjectsSync, kr as AGENTS_DIR, lr as init_issue_id, ti as init_paths, zn as init_projects } from "./config-yaml-Ciyp2mYe.js";
1
+ import { Ft as resolveProjectForIssue, Ot as init_record, Tn as init_projects, Vr as init_paths, Yn as init_issue_id, hr as AGENTS_DIR, kn as listProjectsSync } from "./config-yaml-DvyMuOle.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-DDlOIAML.js";
3
- import { D as killSession, j as listSessionNames, w as init_tmux } from "./tmux-y1blSxks.js";
4
- import { c as init_review_status, u as loadReviewStatuses } from "./review-status-CCgPVK1h.js";
5
- import { $ as stopAgent, i as listRunningAgents, s as init_agents } from "./queries-B5hl7lMQ.js";
6
- import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-ClwPQaba.js";
7
- import { l as init_prd_locations, o as init_archive_planning } from "./archive-planning-BOnwJq8M.js";
8
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-Dfw3QDyZ.js";
9
- import "./close-issue-8F6uawYj.js";
3
+ import { D as killSession, M as listSessionNames, w as init_tmux } from "./tmux-ftABRAmc.js";
4
+ import { d as loadReviewStatuses, l as init_review_status } from "./review-status-A7quS5KJ.js";
5
+ import { b as init_agents, ft as stopAgent, i as listRunningAgents } from "./queries-6d7Cdtm7.js";
6
+ import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-BK7HIcBj.js";
7
+ import { l as init_prd_locations, o as init_archive_planning } from "./archive-planning-DYrYojxl.js";
8
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-zhdvQicO.js";
9
+ import "./close-issue-Dn_4c4G8.js";
10
10
  import { join } from "node:path";
11
11
  import { Data, Effect } from "effect";
12
12
  import "fs";
@@ -414,4 +414,4 @@ async function reconcileClosedIssueAgents() {
414
414
  //#endregion
415
415
  export { reconcileClosedIssueAgents as n, handleIssueStatusChangedClosed as t };
416
416
 
417
- //# sourceMappingURL=closed-issue-reaper-BaYQYF6w.js.map
417
+ //# sourceMappingURL=closed-issue-reaper-hANY_ehE.js.map
@@ -0,0 +1,3 @@
1
+ import { a as extractThreadIdFromRollout, c as initCodexHome, l as init_codex, m as writeThreadId, o as findLatestRollout, p as waitForCodexRollout, s as findRolloutPath } from "./codex-TmSi-yTv.js";
2
+ init_codex();
3
+ export { extractThreadIdFromRollout, findLatestRollout, findRolloutPath, initCodexHome, waitForCodexRollout, writeThreadId };
@@ -1,8 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Or as init_errors, h as jsYaml, m as init_js_yaml } from "./config-yaml-Ciyp2mYe.js";
3
- import { r as CODEX_BEHAVIOR } from "./src-Dpq1yFIl.js";
4
- import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-BTzlOZiV.js";
5
- import { t as init_behavior } from "./behavior-Dg-D8eBG.js";
2
+ import { h as jsYaml, m as init_js_yaml, mr as init_errors } from "./config-yaml-DvyMuOle.js";
3
+ import { i as CODEX_BEHAVIOR } from "./src-U7_kTPEE.js";
4
+ import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-C4gSH-IR.js";
5
+ import { t as init_behavior } from "./behavior-B_-4EKF3.js";
6
+ import { n as init_harness_binary, r as prepareHarnessLaunch } from "./harness-binary-CVio2m-u.js";
6
7
  import { basename, dirname, join } from "node:path";
7
8
  import "effect";
8
9
  import { homedir } from "node:os";
@@ -231,6 +232,7 @@ function walkForThread(dir, threadId) {
231
232
  * config.toml — Codex settings (approval_policy, sandbox_mode, project
232
233
  * trust, notify hooks)
233
234
  * AGENTS.md — Populated by context-layering bead; placeholder for now
235
+ * rules/ — Symlink to the user's global Codex execpolicy rules
234
236
  * sessions/ — Codex writes rollout JSONL here
235
237
  */
236
238
  function initCodexHome(codexHomeDir, opts = {}) {
@@ -279,7 +281,9 @@ function initCodexHome(codexHomeDir, opts = {}) {
279
281
  lines.push("");
280
282
  writeFileSync(configPath, lines.join("\n"), { mode: 384 });
281
283
  }
282
- seedCodexAuthSymlink(join(codexHomeDir, "auth.json"), join(homedir(), ".codex", "auth.json"));
284
+ const globalCodexHome = join(homedir(), ".codex");
285
+ seedCodexAuthSymlink(join(codexHomeDir, "auth.json"), join(globalCodexHome, "auth.json"));
286
+ seedCodexRulesSymlink(join(codexHomeDir, "rules"), join(globalCodexHome, "rules"));
283
287
  const agentsMdPath = join(codexHomeDir, "AGENTS.md");
284
288
  if (!existsSync(agentsMdPath)) {
285
289
  const globalCodexContext = join(homedir(), ".overdeck", "context", "codex-global.md");
@@ -322,6 +326,22 @@ function seedCodexAuthSymlink(homeAuthPath, globalAuthPath) {
322
326
  } catch {}
323
327
  }
324
328
  /**
329
+ * Share user-approved Codex execpolicy rules with an isolated managed home.
330
+ * Existing per-agent rule state is preserved rather than replaced: rules can
331
+ * authorize out-of-sandbox execution, so Overdeck must never silently discard
332
+ * or redirect a rule directory it did not create.
333
+ */
334
+ function seedCodexRulesSymlink(homeRulesPath, globalRulesPath) {
335
+ if (!existsSync(globalRulesPath)) return;
336
+ try {
337
+ if (lstatSync(homeRulesPath).isSymbolicLink() && readlinkSync(homeRulesPath) === globalRulesPath) return;
338
+ return;
339
+ } catch {}
340
+ try {
341
+ symlinkSync(globalRulesPath, homeRulesPath, "dir");
342
+ } catch {}
343
+ }
344
+ /**
325
345
  * Translate Overdeck's abstract sandbox mode token into a value the codex
326
346
  * CLI actually accepts. Overdeck config uses 'workspace' as its mode name
327
347
  * (see config-yaml.ts permission modes); codex only accepts read-only,
@@ -506,6 +526,7 @@ var init_codex = __esmMin((() => {
506
526
  init_behavior();
507
527
  init_tmux_cli();
508
528
  init_errors();
529
+ init_harness_binary();
509
530
  init_codex_parser();
510
531
  execAsync = promisify(exec);
511
532
  rolloutPathCache = /* @__PURE__ */ new Map();
@@ -621,11 +642,12 @@ var init_codex = __esmMin((() => {
621
642
  if (await tmuxSessionExists(agentId)) await tmuxKillSession(agentId);
622
643
  }
623
644
  async spawnAgent(config) {
645
+ const harnessLaunch = await prepareHarnessLaunch("codex");
624
646
  const agentId = config.agentId;
625
647
  const codexHomeDir = config.codexHome ?? join(homedir(), ".overdeck", "agents", agentId, "codex-home");
626
648
  initCodexHome(codexHomeDir);
627
649
  const sandbox = toCodexSandboxValue(config.codexSandboxMode);
628
- const tokens = ["codex", "exec"];
650
+ const tokens = [shellQuote(harnessLaunch.binaryPath), "exec"];
629
651
  if (config.model) tokens.push("-m", shellQuote(config.model));
630
652
  tokens.push("-c", "approval_policy=never");
631
653
  tokens.push("-s", shellQuote(sandbox));
@@ -662,6 +684,6 @@ var init_codex = __esmMin((() => {
662
684
  };
663
685
  }));
664
686
  //#endregion
665
- export { extractThreadIdFromRollout as a, initCodexHome as c, toCodexSandboxValue as d, waitForCodexRollout as f, createCodexRuntimeSync as i, init_codex as l, CodexSpawnTimeout as n, findLatestRollout as o, writeThreadId as p, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, seedCodexAuthSymlink as u };
687
+ export { extractThreadIdFromRollout as a, initCodexHome as c, seedCodexRulesSymlink as d, toCodexSandboxValue as f, createCodexRuntimeSync as i, init_codex as l, writeThreadId as m, CodexSpawnTimeout as n, findLatestRollout as o, waitForCodexRollout as p, codexHome as r, findRolloutPath as s, CodexRuntimeSync as t, seedCodexAuthSymlink as u };
666
688
 
667
- //# sourceMappingURL=codex-D_UBEOwL.js.map
689
+ //# sourceMappingURL=codex-TmSi-yTv.js.map