@overdeck/desktop 0.45.15 → 0.45.16

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 (331) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-DHZk2ceV.js → acceptance-criteria-BZ_nQS1f.js} +2 -2
  3. package/server/{advancing-selfheal-CSuZ31bB.js → advancing-selfheal-DJYAvGv-.js} +6 -5
  4. package/server/{agent-gc-D_DxfBHR.js → agent-gc-D0wDIeV1.js} +3 -3
  5. package/server/{agent-state-EP2QFV9n.js → agent-state-lGvgPP4m.js} +1 -1
  6. package/server/{agent-state-service-C_2ZAQRP.js → agent-state-service-CZrayD_G.js} +1 -1
  7. package/server/{agent-state-service-BZkvgQf4.js → agent-state-service-DFslS5go.js} +9 -52
  8. package/server/{agents-CsOzAmRg.js → agents-B9GwfCyp.js} +99 -140
  9. package/server/{agents-DCvyTXNU.js → agents-CEcaxSkR.js} +1 -1
  10. package/server/{archive-planning-DkivCk1A.js → archive-planning-CbghE9-o.js} +5 -5
  11. package/server/{archive-planning-CTILQRnV.js → archive-planning-CoyIbgGK.js} +1 -1
  12. package/server/{artifact-index-jobs-CmsvQ1ey.js → artifact-index-jobs-CcSrUoSE.js} +2 -2
  13. package/server/{auto-commit-QAfsu3Sb.js → auto-commit-IW-eik_b.js} +1 -1
  14. package/server/{backlog-auto-trigger-ueRaT8Dy.js → backlog-auto-trigger-BfgDsII0.js} +3 -3
  15. package/server/{bd-process-lock-D3S4T4o-.js → bd-process-lock-XAXAet9O.js} +2 -2
  16. package/server/{beads-CYsLiyIM.js → beads-B1u04n3o.js} +1 -1
  17. package/server/{beads-BGGxrkZ5.js → beads-BeSMEjGT.js} +7 -7
  18. package/server/{beads-query-B1DlJVp9.js → beads-query-Dl4FhT8J.js} +2 -2
  19. package/server/{beads-restore-CyygSmmn.js → beads-restore-BUItPOjI.js} +2 -2
  20. package/server/behavior-BTpYbAv4.js +10 -0
  21. package/server/{briefing-freshness-Kh5V8RTh.js → briefing-freshness-DESTCWo-.js} +4 -4
  22. package/server/{checkpoint-manager-fu9oVsR-.js → checkpoint-manager-BwFdegJF.js} +2 -2
  23. package/server/{checkpoint-manager-CAFos8e1.js → checkpoint-manager-DWSXooZV.js} +1 -1
  24. package/server/checkpoint-worker.js +1 -1
  25. package/server/{checkpoints-1BqOlS4q.js → checkpoints-BtUonbs3.js} +2 -2
  26. package/server/{checkpoints-DvhGi8P_.js → checkpoints-fjadfOKF.js} +1 -1
  27. package/server/{claude-hooks-provision-s_wdpeVj.js → claude-hooks-provision-DAtxutOs.js} +132 -114
  28. package/server/claude-hooks-provision-DiK62u0k.js +3 -0
  29. package/server/{claude-permissions-CaWqysff.js → claude-permissions-CThLgf8d.js} +2 -2
  30. package/server/{claude-settings-overlay-CcTf0xzG.js → claude-settings-overlay-BF9MPIwx.js} +2 -2
  31. package/server/{claude-settings-overlay-BbA4FbVI.js → claude-settings-overlay-Dx_Uqcmv.js} +1 -1
  32. package/server/{cli-BwCvCUBK.js → cli-ByKIIMfT.js} +9 -9
  33. package/server/cli-D9cUTbBr.js +3 -0
  34. package/server/{cliproxy-BsoNNDAj.js → cliproxy-B4c1BUvs.js} +2 -2
  35. package/server/{cliproxy-C2xC-3vH.js → cliproxy-C_GuT5DU.js} +1 -1
  36. package/server/{close-issue-BleIwP3f.js → close-issue-BOuLKr6e.js} +5 -5
  37. package/server/{closed-issue-reaper-BwUUvjEW.js → closed-issue-reaper-CksfuiFD.js} +1 -1
  38. package/server/{closed-issue-reaper-mC5pujeb.js → closed-issue-reaper-DCAYzNXW.js} +9 -9
  39. package/server/{codex-B7DTpwEw.js → codex-BYPz6ZdF.js} +1 -1
  40. package/server/{codex-DW60_5j2.js → codex-BbqIRZjd.js} +6 -5
  41. package/server/{behavior-Cpj03N4v.js → codex-parser-mFYZh8vR.js} +3 -9
  42. package/server/{compact-beads-DKL54y6j.js → compact-beads-CyJtoXJi.js} +5 -5
  43. package/server/{compact-beads-CK_hHEnB.js → compact-beads-N00E4EVa.js} +1 -1
  44. package/server/{config-ZNnMpIlh.js → config-DVLdmnMJ.js} +2 -2
  45. package/server/{config-BRNQJXhA.js → config-Dj6N8EP9.js} +1 -1
  46. package/server/{config-yaml-Dcz-8uit.js → config-yaml-cNOZcEww.js} +91 -22
  47. package/server/{conflict-gate-DTje2Ll7.js → conflict-gate-BMKm_5DV.js} +3 -3
  48. package/server/{conflict-gate-DGT8jCLp.js → conflict-gate-CuXUv-bP.js} +1 -1
  49. package/server/{context-layers-ByOWUjUg.js → context-layers-CeAwSYNt.js} +2 -2
  50. package/server/{context-layers-BdUCQ-cl.js → context-layers-c0JqYHcS.js} +3 -3
  51. package/server/{control-settings-DwkAeooY.js → control-settings-D4EFsRBd.js} +4 -4
  52. package/server/{conversation-compaction-OTYgd6eg.js → conversation-compaction-BCggyih4.js} +8 -8
  53. package/server/{conversation-compaction-WYQZUVDm.js → conversation-compaction-kHVfVRg3.js} +1 -1
  54. package/server/{conversation-service-BR1OgvxO.js → conversation-service-B8LFQQm1.js} +6 -5
  55. package/server/{conversation-service-C_kNZPLx.js → conversation-service-BTzObqGi.js} +1 -1
  56. package/server/{conversations-DG2M8WnT.js → conversations-B-lcHv-5.js} +4 -4
  57. package/server/{conversations-izHvSoAR.js → conversations-BM7zlXjr.js} +1 -1
  58. package/server/{cost-B2mj17iG.js → cost-BcpRQ-7o.js} +3 -3
  59. package/server/{cost-DQ2ajr_m.js → cost-D9kPIY_5.js} +2 -2
  60. package/server/{cost-sync-gTayEuWP.js → cost-sync-DF6odxK9.js} +3 -3
  61. package/server/{dag-CqTehWpY.js → dag-DKI3sOmX.js} +3 -3
  62. package/server/{dangerous-git-ops-DDWQlPC3.js → dangerous-git-ops-Bn18PEcN.js} +1 -1
  63. package/server/dashboard-db-worker.js +6 -6
  64. package/server/{deacon-BqW9HMew.js → deacon-DONuopff.js} +3 -3
  65. package/server/{deacon-DrKDBeJL.js → deacon-DdARMjZq.js} +127 -107
  66. package/server/{deacon-nudge-log-D1wEK6zF.js → deacon-nudge-log-B-naf89q.js} +1 -1
  67. package/server/{deacon-swarm-CO_A7xyd.js → deacon-swarm-BNGkmYR_.js} +11 -11
  68. package/server/deacon-swarm-CvdFekIO.js +2 -0
  69. package/server/deacon.js +7 -7
  70. package/server/{devcontainer-renderer-BQolp_qZ.js → devcontainer-renderer-C-34Sxyz.js} +3 -3
  71. package/server/{dist-Bc32rWJB.js → dist-BMXvKiZP.js} +1 -1
  72. package/server/dist-BNwrgsUO.js +3 -0
  73. package/server/{dist-src-Byxt1ifL.js → dist-src-BgGUblXg.js} +1 -1
  74. package/server/{docker-s-esqZ__.js → docker-apZ9pBYw.js} +2 -2
  75. package/server/{ensure-devcontainer-DA4-jF6R.js → ensure-devcontainer-Bqi1EF1P.js} +4 -4
  76. package/server/{ensure-devcontainer-pUVaT0h3.js → ensure-devcontainer-Dq3KoOIl.js} +1 -1
  77. package/server/{esm-shims-CJHy8CZY.js → esm-shims-BEjvINX3.js} +1 -1
  78. package/server/{event-store-CcJAhKCl.js → event-store-CqDgfbAs.js} +1 -1
  79. package/server/{event-store-DRte2Rwt.js → event-store-D89fMfXS.js} +3 -3
  80. package/server/{events-Bej1w_k8.js → events-S_C0pvl6.js} +3 -3
  81. package/server/{events-CtsLScn8.js → events-rIGncmP1.js} +1 -1
  82. package/server/{export-Dx_qJ3h8.js → export-BJHSVwKP.js} +2 -2
  83. package/server/{factory-FN727tWr.js → factory-DV18m0rc.js} +5 -5
  84. package/server/{feature-registry-population-ie-yBcQC.js → feature-registry-population-CqZSnqQi.js} +4 -4
  85. package/server/{feature-registry-storage-CkZTFSsn.js → feature-registry-storage-BeXmNBwK.js} +2 -2
  86. package/server/{features-Dtm9ABuz.js → features-u5XeMaOK.js} +2 -2
  87. package/server/{feedback-target-BYtpyt1i.js → feedback-target-CwyWf0Dg.js} +6 -6
  88. package/server/{feedback-target-DVJQDiE4.js → feedback-target-DDG1PWl3.js} +1 -1
  89. package/server/{feedback-writer-DOUhyIW2.js → feedback-writer-BsJiw5aT.js} +1 -1
  90. package/server/{feedback-writer-fdE1BzeL.js → feedback-writer-D20HSXre.js} +4 -4
  91. package/server/{flywheel-CUErLAyN.js → flywheel-9Y1X7IM-.js} +13 -13
  92. package/server/{flywheel-Bv3wv2S6.js → flywheel-Dczmgchd.js} +12 -12
  93. package/server/{flywheel-Bi82iiNl.js → flywheel-RCnHAgc4.js} +1 -1
  94. package/server/{flywheel-merge-order-BaEN3iyN.js → flywheel-merge-order-CtCYsFJP.js} +7 -7
  95. package/server/{flywheel-merge-order-DXjeBnJ1.js → flywheel-merge-order-DEtEd3aK.js} +1 -1
  96. package/server/forge-8y6aEPTB.js +2 -0
  97. package/server/{forge-ButEdJ31.js → forge-DFDThFil.js} +2 -2
  98. package/server/{from-CbtTxftl.js → from-NSJypkI8.js} +1 -1
  99. package/server/{fts-db-CBgBLZcL.js → fts-db-C5A_TTOM.js} +2 -2
  100. package/server/{fts-operations-CI9Xuo_1.js → fts-operations-DvCSimfU.js} +2 -2
  101. package/server/{git-utils-BCLRWQ-y.js → git-utils-C0neHvQx.js} +1 -1
  102. package/server/{git-utils-ClfpP47N.js → git-utils-Dr0L7mFk.js} +2 -2
  103. package/server/{github-app-DRD2woO0.js → github-app-Bwt9lK4A.js} +1 -1
  104. package/server/{github-app-DscZ0_B6.js → github-app-u9-SX7Gc.js} +2 -2
  105. package/server/{github-client-DpiZnxGH.js → github-client-Btyy3uan.js} +3 -3
  106. package/server/{github-client-iFRw8f7e.js → github-client-Do3k-N1W.js} +1 -1
  107. package/server/{github-pr-lookup-D-EBexxC.js → github-pr-lookup-DOF1U2WW.js} +2 -2
  108. package/server/{harness-resolve-iMjyNUJ2.js → harness-resolve-C6g2R0Cd.js} +3 -3
  109. package/server/{health-events-CRdxDFN2.js → health-events-B4u-2a9m.js} +2 -2
  110. package/server/{health-events-B_WsQyYm.js → health-events-Bos3sk5g.js} +1 -1
  111. package/server/{hooks-C9b7Vqpw.js → hooks-BCoOjL_R.js} +2 -2
  112. package/server/{hooks-C1ScyVxP.js → hooks-uEr8WTx_.js} +1 -1
  113. package/server/{hume-TQ5pvOZ_.js → hume-BqxYKbUf.js} +2 -2
  114. package/server/hume-CerGi2RH.js +3 -0
  115. package/server/{idle-stack-reaper-B1kG7B_X.js → idle-stack-reaper-DbZ8ukMd.js} +2 -2
  116. package/server/{idle-stack-reaper-iFVOAoJy.js → idle-stack-reaper-H0W6XtHh.js} +1 -1
  117. package/server/{infra-bpq1MHKU.js → infra-Ba9mS6e6.js} +3 -3
  118. package/server/{injection-BLWfwTVZ.js → injection-C1DKXeIZ.js} +1 -1
  119. package/server/{injection-DJqWld1v.js → injection-yrMBxzVq.js} +7 -7
  120. package/server/{inspect-agent-DytCsltn.js → inspect-agent-B-mnb4uh.js} +9 -9
  121. package/server/inspect-agent-CWkeAB7J.js +2 -0
  122. package/server/{internal-token-CCaWaTwE.js → internal-token-BPYEaXFh.js} +1 -1
  123. package/server/{internal-token-CjlhdufS.js → internal-token-BtqSbKTx.js} +2 -2
  124. package/server/{io-BiQ2Cs3k.js → io-VEGSAqsd.js} +15 -22
  125. package/server/{issue-closed-FApNiOOs.js → issue-closed-BxcePXL-.js} +4 -4
  126. package/server/{issue-lifecycle-C-K53ASY.js → issue-lifecycle--8MRxrG1.js} +22 -22
  127. package/server/{issue-lifecycle-BkFWNjlD.js → issue-lifecycle-CdMUauyb.js} +1 -1
  128. package/server/{issue-service-singleton-CuHGpJJP.js → issue-service-singleton-CkTUI-eu.js} +10 -10
  129. package/server/{issue-service-singleton-bG1WdSdQ.js → issue-service-singleton-MZsDhAob.js} +1 -1
  130. package/server/{issues-CwQMphDH.js → issues-CBAsuoAO.js} +2 -2
  131. package/server/{jsonl-parser-dNIjHgym.js → jsonl-parser-BUW5_sSK.js} +3 -3
  132. package/server/{label-cleanup-DYvAZknd.js → label-cleanup-htK6fBRU.js} +3 -3
  133. package/server/{layers-CD6FysRU.js → layers-jjL16At6.js} +2 -2
  134. package/server/{lifecycle-C_73gi-C.js → lifecycle-Ck2UR27D.js} +7 -7
  135. package/server/{lifecycle-io-C_Wu0_i-.js → lifecycle-io-DXv8Utct.js} +1 -1
  136. package/server/{lifecycle-io-CeYxP3cE.js → lifecycle-io-IehcRt2v.js} +36 -47
  137. package/server/{linear-client-4qoKnuQu.js → linear-client-By7hjwuN.js} +1 -1
  138. package/server/{linear-client-EtVyblVz.js → linear-client-D9cSQfvD.js} +3 -3
  139. package/server/memory-fts-worker.js +1 -1
  140. package/server/{merge-brm721Es.js → merge-BLcEZNXz.js} +1 -1
  141. package/server/{merge-7rqkTUm2.js → merge-BN8FGJ2q.js} +3 -3
  142. package/server/{merge-agent-4Zhlgvqp.js → merge-agent-B3u2szOL.js} +29 -29
  143. package/server/{merge-agent-36wfYm2u.js → merge-agent-ejC7Wos8.js} +1 -1
  144. package/server/{merge-batch-itfnwdsT.js → merge-batch-DyqlgYGp.js} +1 -1
  145. package/server/{merge-blockers-Bto_Oe_o.js → merge-blockers-cq-aS2KG.js} +2 -2
  146. package/server/merge-ops-CFkQtXEj.js +2 -0
  147. package/server/{merge-rebase-Czfqfe4q.js → merge-rebase-Dl7yIxtV.js} +2 -2
  148. package/server/{merge-set-BIkGQL9j.js → merge-set-CZ9Nbay0.js} +3 -3
  149. package/server/{merge-set-G1RHcu3D.js → merge-set-Dy0D0r3i.js} +1 -1
  150. package/server/{merge-sync-DIrmlZUr.js → merge-sync-CG9kDCdT.js} +1 -1
  151. package/server/{merge-sync-B43Dybea.js → merge-sync-D7jWLgCC.js} +2 -2
  152. package/server/{merge-train-DGqVuNZV.js → merge-train-CH33XJOH.js} +3 -3
  153. package/server/{merge-train-deps-q15XLnAS.js → merge-train-deps-JoVdGnOg.js} +4 -4
  154. package/server/{merge-verification-Cqfxx6bE.js → merge-verification-D4wTChdX.js} +4 -4
  155. package/server/{multipart-parser-CiPxxfUH.js → multipart-parser-Csn8U-K9.js} +2 -2
  156. package/server/{no-resume-mode-yrPEQ_pC.js → no-resume-mode-Gh5R_YLF.js} +1 -1
  157. package/server/node_modules/.package-lock.json +1 -1
  158. package/server/{orphan-proposed-reconciler-DAD9FJtQ.js → orphan-proposed-reconciler-BIcNu4tl.js} +1 -1
  159. package/server/{orphan-proposed-reconciler-BWWHn4Lr.js → orphan-proposed-reconciler-DI_IS1p_.js} +10 -10
  160. package/server/package-lock.json +2 -2
  161. package/server/package.json +1 -1
  162. package/server/{pan-dir-Bj7Hy8iu.js → pan-dir-CQIfKG8c.js} +4 -4
  163. package/server/{paths-C9DkhIOT.js → paths-Blj6A9AJ.js} +2 -2
  164. package/server/{pickup-CKRuGDsB.js → pickup-BtvRBbvI.js} +1 -1
  165. package/server/{pipeline-notifier-BkKbQ8ji.js → pipeline-notifier-BH4PAi-w.js} +1 -1
  166. package/server/{pipeline-notifier-CAurUste.js → pipeline-notifier-D_WYtEwl.js} +2 -2
  167. package/server/{project-pipelines-BRWaGmI4.js → project-pipelines-jMTitpeO.js} +2 -2
  168. package/server/projects-CrBE6IhN.js +3 -0
  169. package/server/{prompts-DfI5qbTW.js → prompts-B3njaImU.js} +2 -2
  170. package/server/{providers-CWDXoaMA.js → providers-BbEyFhPX.js} +7 -7
  171. package/server/{providers-D-5txBRc.js → providers-DnPxkHoG.js} +1 -1
  172. package/server/public/assets/chunk-BO2N2NFS-3qh9TUJi.js +103 -0
  173. package/server/public/assets/{diagram-OG6HWLK6-Avtvq2qI.js → diagram-OG6HWLK6-D8UVTPj7.js} +1 -1
  174. package/server/public/assets/{dist-BEHQuasD.js → dist-BvLLn1YC.js} +3 -3
  175. package/server/public/assets/{dist-BvmY-qb1.js → dist-CyubL7Wj.js} +1 -1
  176. package/server/public/assets/{ganttDiagram-6RSMTGT7-7KhCd0fH.js → ganttDiagram-6RSMTGT7-BI4E1LbQ.js} +1 -1
  177. package/server/public/assets/{highlighted-body-OFNGDK62-iQoBMTf0.js → highlighted-body-OFNGDK62-D_bapWkF.js} +1 -1
  178. package/server/public/assets/index-BAZxZ-8I.js +796 -0
  179. package/server/public/assets/{index-DUFDmvmH.css → index-FBG3JBfq.css} +1 -1
  180. package/server/public/assets/{linear-CiJHW9g5.js → linear-CEdobObr.js} +1 -1
  181. package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +1 -0
  182. package/server/public/assets/{pieDiagram-4H26LBE5-BOhmvUhW.js → pieDiagram-4H26LBE5-DT79L01f.js} +1 -1
  183. package/server/public/assets/{prod-DmLBBqat.js → prod-CR_K2DFV.js} +4 -4
  184. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Cjku660G.js → quadrantDiagram-W4KKPZXB-BEkKXXrL.js} +1 -1
  185. package/server/public/assets/{sankeyDiagram-5OEKKPKP-D52w5oPh.js → sankeyDiagram-5OEKKPKP-BxSCqn-j.js} +1 -1
  186. package/server/public/assets/{xychartDiagram-2RQKCTM6-BTO07_Iv.js → xychartDiagram-2RQKCTM6-DicwJGG_.js} +1 -1
  187. package/server/public/index.html +2 -2
  188. package/server/{pull-requests-CKZPWhjD.js → pull-requests-43LPDfM8.js} +1 -1
  189. package/server/{pull-requests-Bmre-Xlz.js → pull-requests-DyUkQl4W.js} +3 -3
  190. package/server/{rally-BBd9tQ__.js → rally-BtWjybOa.js} +3 -3
  191. package/server/{rally-api-DDc85HIz.js → rally-api-B-YA_oXx.js} +1 -1
  192. package/server/{rally-api-DxZFObI_.js → rally-api-B-osULNL.js} +2 -2
  193. package/server/{rally-client-BADHn0m_.js → rally-client-CzFymP7P.js} +1 -1
  194. package/server/{rally-client-DvvLiAQP.js → rally-client-sErNQBO0.js} +5 -5
  195. package/server/rally-oggyp4cs.js +3 -0
  196. package/server/{reap-terminal-sessions-D6JDJsqF.js → reap-terminal-sessions-2s-fvilz.js} +1 -1
  197. package/server/{reap-terminal-sessions-D_xvy-Mk.js → reap-terminal-sessions-DnDQ7pf9.js} +1 -1
  198. package/server/{rebuild-stack-D19i080j.js → rebuild-stack-CoU-HqZj.js} +6 -6
  199. package/server/{rebuild-stack-GOsWqXi3.js → rebuild-stack-nGD_nPZo.js} +1 -1
  200. package/server/{reconstruct-cache-lQrG4xGg.js → reconstruct-cache-Wj8GrYB0.js} +6 -6
  201. package/server/{record-pyB6VA32.js → record-lEYK__LD.js} +1 -1
  202. package/server/{recovery-trip-Dfh1tNHn.js → recovery-trip-BT7nb9OV.js} +2 -2
  203. package/server/{release-engine-DxcMWRuK.js → release-engine-CBLQXDlH.js} +5 -5
  204. package/server/{release-set-BYsgX7o6.js → release-set-BNiqi7hy.js} +3 -3
  205. package/server/{remote-DmeL21dF.js → remote-DW_TWQnr.js} +3 -3
  206. package/server/{remote-8W2Yhygw.js → remote-DcO9An_f.js} +3 -3
  207. package/server/{remote-agents-BfQBE6MN.js → remote-agents-C4cyxHQS.js} +6 -6
  208. package/server/{remote-agents-DlvbzO7m.js → remote-agents-Cv-U-_V8.js} +1 -1
  209. package/server/{remote-completion-BgkiSQmx.js → remote-completion-PhXGGFQy.js} +13 -13
  210. package/server/{resolver-dTpSSzaH.js → resolver-C7dLn8OK.js} +2 -2
  211. package/server/resume-BYZBIab-.js +3 -0
  212. package/server/{review-agent-D025Wt7w.js → review-agent-Dn-yn7Zj.js} +23 -23
  213. package/server/{review-agent-Rub0OpZc.js → review-agent-u5q3ip7H.js} +1 -1
  214. package/server/{review-artifacts-CX951jTU.js → review-artifacts-D4T04aYI.js} +6 -6
  215. package/server/{review-context-DGGGR_w5.js → review-context-Rc0VDLG_.js} +8 -8
  216. package/server/{review-monitor-0_qqMcnS.js → review-monitor-BC--miCO.js} +2 -2
  217. package/server/{review-status-Br6lAFGO.js → review-status-CG0iDuWa.js} +1 -1
  218. package/server/{review-status-4qqLkRMu.js → review-status-Dc1l4dVz.js} +18 -18
  219. package/server/{review-status-enrichment-Cr8m3uVL.js → review-status-enrichment-C1a1OG_1.js} +3 -3
  220. package/server/{review-status-sync-OC-l1lNt.js → review-status-sync-CAr-hfnJ.js} +2 -2
  221. package/server/{review-status-sync-D3KUhsdA.js → review-status-sync-CfSixhhX.js} +1 -1
  222. package/server/{review-verdict-feedback-DrWMuRaj.js → review-verdict-feedback-CVDbIDBe.js} +7 -7
  223. package/server/{review-verdict-feedback-YOzmsq9G.js → review-verdict-feedback-D2Q960wX.js} +1 -1
  224. package/server/{rollup-DmazRY0j.js → rollup-CakjztPl.js} +1 -1
  225. package/server/{rollup-CnxbwaLH.js → rollup-DctoIu-A.js} +8 -8
  226. package/server/{scanner-DE1MqAaF.js → scanner-BTM1jc_u.js} +7 -7
  227. package/server/{sequence-io-C0uoqfGx.js → sequence-io-pnoIDGv4.js} +4 -4
  228. package/server/{sequencer-agent-i-b2u4SJ.js → sequencer-agent-9Soi-WL-.js} +6 -6
  229. package/server/server.js +422 -1746
  230. package/server/{service-D0_gh2tl.js → service-DfTVoqJg.js} +46 -46
  231. package/server/{session-fork-DZ12vipL.js → session-fork-C4jAFHj8.js} +2 -2
  232. package/server/session-history-DanhhiCw.js +168 -0
  233. package/server/{settings-ByqjPtFO.js → settings-Cuc12oP_.js} +2 -2
  234. package/server/settings-Cy7SCFO9.js +2 -0
  235. package/server/{settings-DCC4BAqj.js → settings-DfT3f86D.js} +3 -3
  236. package/server/{shadow-engineering-BhnmtW5m.js → shadow-engineering-bKuKTCn-.js} +3 -3
  237. package/server/{shadow-state-ByXZehsy.js → shadow-state-CVHpRWlb.js} +1 -1
  238. package/server/{shadow-state-CKm8xWX9.js → shadow-state-DJz6_pb_.js} +2 -2
  239. package/server/{ship-log-DE_0Cv_i.js → ship-log-CwqPFfqx.js} +1 -1
  240. package/server/{smart-compaction-h4_ca6Uk.js → smart-compaction-B4KlpZGN.js} +1 -1
  241. package/server/{smart-compaction-D5Zen3AA.js → smart-compaction-CiWfGfRZ.js} +7 -7
  242. package/server/{spawn-planning-session-Dueit4WX.js → spawn-planning-session-CU-DwyDl.js} +15 -15
  243. package/server/{spawn-planning-session-Bgi7Ub02.js → spawn-planning-session-D5N3RuLG.js} +1 -1
  244. package/server/{specialist-completion-BZ8M-WZ0.js → specialist-completion-CJcv-NXH.js} +1 -1
  245. package/server/{specialist-context-BMq83C58.js → specialist-context-B2HlbNxS.js} +5 -5
  246. package/server/{specialist-handoff-logger-BxX1YefH.js → specialist-handoff-logger-CQyF1ygu.js} +2 -2
  247. package/server/{specialist-logs-BWZYcJ6P.js → specialist-logs-CdcUpfjj.js} +3 -3
  248. package/server/{specialists-BudKrjOu.js → specialists-CFgw_0Q6.js} +1657 -113
  249. package/server/{specialists-DrPrC9Y9.js → specialists-CwzFdapR.js} +18 -18
  250. package/server/{specialists-ZkW4Mb7U.js → specialists-D7AcFi1u.js} +1 -1
  251. package/server/{specialists-8ZAguXef.js → specialists-k22_Btaq.js} +1 -1
  252. package/server/specs-RzcDgozr.js +3 -0
  253. package/server/{src-DHn4Rd2F.js → src-B4TTzNSr.js} +72 -1
  254. package/server/{src-Dv6L03vW.js → src-BvpMg4EB.js} +3 -3
  255. package/server/{src-DNUUqkec.js → src-D4YUZrwR.js} +6 -6
  256. package/server/{stack-health-DxsTx7II.js → stack-health-CSgcYcr8.js} +2 -2
  257. package/server/{stack-health-Dclm7_tu.js → stack-health-DVN7zRnL.js} +1 -1
  258. package/server/{state-home-CRowbXqU.js → state-home-CEvD_v5F.js} +6 -6
  259. package/server/{state-mapping-BvAgFK8n.js → state-mapping-C13UaCL7.js} +1 -1
  260. package/server/{stuck-remediation-CFWUP8_I.js → stuck-remediation-CxsyxwFO.js} +43 -21
  261. package/server/{stuck-remediation-CLHd-lrF.js → stuck-remediation-nTIvhGOR.js} +1 -1
  262. package/server/{summary-fork-CKc01Our.js → summary-fork-CnRMPCYd.js} +2 -2
  263. package/server/{summary-fork-CtCwBJ2Z.js → summary-fork-gKSoFAnK.js} +8 -8
  264. package/server/{supervisor-BA5D72Qa.js → supervisor-CZMs8s0M.js} +2 -2
  265. package/server/supervisor-CfX192ma.js +2 -0
  266. package/server/{swarm-readiness-CL5sM9B1.js → swarm-readiness-h6-pwY8w.js} +3 -3
  267. package/server/{system-prerequisites-DmFSXIE5.js → system-prerequisites-DZZTi2G6.js} +1 -1
  268. package/server/{teardown-workspace-DWmFJzTw.js → teardown-workspace-B4D-oCVg.js} +17 -17
  269. package/server/{test-agent-queue-DjsQoV5X.js → test-agent-queue-CnuYku4B.js} +6 -6
  270. package/server/{test-verdict-BSqsQp3G.js → test-verdict-CRsPpByy.js} +1 -1
  271. package/server/{test-verdict-D1AmZ2c0.js → test-verdict-CXMLATGc.js} +1 -1
  272. package/server/{tldr-daemon-DD9rI5gA.js → tldr-daemon-CgZQ3jmZ.js} +1 -1
  273. package/server/{tldr-daemon-C-MGomL8.js → tldr-daemon-CuA8hz21.js} +2 -2
  274. package/server/{tmux-x291Gjjb.js → tmux-By8E_Yv_.js} +1 -1
  275. package/server/{tmux-C_d-lSIq.js → tmux-C3g9VFcg.js} +2 -2
  276. package/server/{token-DfBf1bsd.js → token-g_sJ19g3.js} +2 -2
  277. package/server/token-util-C9u4An3K.js +3 -0
  278. package/server/{token-util-CROoF5ic.js → token-util-DiwnnbJo.js} +1 -1
  279. package/server/{tracker-config-DItsdelv.js → tracker-config-BzfVj41Z.js} +1 -1
  280. package/server/{tracker-config-CNODpd11.js → tracker-config-dQxC15vH.js} +2 -2
  281. package/server/{tracker-utils-Ch2_5GGf.js → tracker-utils--z8FLSWn.js} +2 -2
  282. package/server/{tracker-utils-B9ZoVA9b.js → tracker-utils-DkKyRT0H.js} +1 -1
  283. package/server/{traefik-connect-BF4x_LUQ.js → traefik-connect-CZYB3dlm.js} +1 -1
  284. package/server/{tunnel-r_5nHAI6.js → tunnel-BpWZs0Jy.js} +3 -3
  285. package/server/{tunnel-YD80_IHr.js → tunnel-CN2px87h.js} +1 -1
  286. package/server/{typed-errors-DSPn_xWP.js → typed-errors-CrN1AByg.js} +1 -1
  287. package/server/{typed-errors-BEJhbjJg.js → typed-errors-sLpGfegz.js} +1 -1
  288. package/server/{types-CE1m_daD.js → types-BLS_Zbmd.js} +1 -1
  289. package/server/{types-33JEP4LZ.js → types-tlXf80x3.js} +1 -1
  290. package/server/{uat-train-DjkFWXge.js → uat-train-BRo6DM7p.js} +24 -24
  291. package/server/{uat-train-DDI00aqD.js → uat-train-utGVmqdm.js} +1 -1
  292. package/server/{validation-DUTiJnyz.js → validation-CsPVsoA0.js} +4 -4
  293. package/server/{validation-ict8hnXk.js → validation-Dq_wwcw3.js} +1 -1
  294. package/server/{verification-runner-inLgeQux.js → verification-runner-CMT5WRMS.js} +11 -11
  295. package/server/{verification-runner-ATaLbpr5.js → verification-runner-D0Uh-9jc.js} +1 -1
  296. package/server/{vtt-parser-QnRfcjiU.js → vtt-parser-C_XPlifj.js} +1 -1
  297. package/server/{work-agent-prompt-fZljjA1_.js → work-agent-prompt-ZTAb2Hyf.js} +11 -11
  298. package/server/workflows-BLwxUMP7.js +2 -0
  299. package/server/{workflows-oBnJ7Tm0.js → workflows-CXRwhw_o.js} +14 -14
  300. package/server/{workspace-B2WOW9Hw.js → workspace-9UEsKuiP.js} +1 -1
  301. package/server/{workspace-CNuW2j41.js → workspace-CNfuj1-5.js} +3 -3
  302. package/server/{workspace-config-CBgMGhWs.js → workspace-config-ChWOECy0.js} +1 -1
  303. package/server/{workspace-manager-DjUAJCSs.js → workspace-manager-BO-6k3sP.js} +1 -1
  304. package/server/{workspace-manager-CB-R07R3.js → workspace-manager-D8AByFIT.js} +13 -13
  305. package/server/{workspace-metadata-9Nn5kgRl.js → workspace-metadata-CvC268MN.js} +2 -2
  306. package/server/{workspace-metadata-Fd58uUQG.js → workspace-metadata-DZiJtnuF.js} +1 -1
  307. package/server/{workspaces-BjWXntty.js → workspaces-D-uIoqbg.js} +103 -95
  308. package/server/{writer-CQMGzEkw.js → writer-BUweuRPx.js} +1 -1
  309. package/server/{writer-fe1-8iGc.js → writer-CrP2xuBn.js} +3 -3
  310. package/sync-sources/hooks/ask-user-question-hook +7 -1
  311. package/sync-sources/hooks/record-cost-event.js +2 -2
  312. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  313. package/server/agent-runtime-mirror-DrWxopNA.js +0 -37
  314. package/server/cli-ClIQwgMI.js +0 -3
  315. package/server/deacon-swarm-BY5hKNaU.js +0 -2
  316. package/server/dist-DGTwcZhI.js +0 -3
  317. package/server/forge-XlDgPQWs.js +0 -2
  318. package/server/hume-K1pi8jC4.js +0 -3
  319. package/server/inspect-agent-477VxQim.js +0 -2
  320. package/server/merge-ops-PzqsW69V.js +0 -2
  321. package/server/projects-KJ94e50I.js +0 -3
  322. package/server/public/assets/chunk-BO2N2NFS-ClukPsZQ.js +0 -103
  323. package/server/public/assets/index-DnTZ2QeN.js +0 -796
  324. package/server/public/assets/mermaid-GHXKKRXX-DZJOwgBG.js +0 -1
  325. package/server/rally-Dc2Wnxw2.js +0 -3
  326. package/server/resume-DhcIqsTm.js +0 -3
  327. package/server/settings-yydgaqhv.js +0 -2
  328. package/server/specs-DwoAEGrW.js +0 -3
  329. package/server/supervisor-DHjumXlL.js +0 -2
  330. package/server/token-util-xNaV-00f.js +0 -3
  331. package/server/workflows-tU7KKxQi.js +0 -2
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { mn as resolveStateReadHomeSync, pn as init_state_read_home } from "./config-yaml-Dcz-8uit.js";
3
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-33JEP4LZ.js";
2
+ import { hn as resolveStateReadHomeSync, mn as init_state_read_home } from "./config-yaml-cNOZcEww.js";
3
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-tlXf80x3.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync } from "fs";
6
6
  import { join } from "path";
@@ -43,7 +43,7 @@ async function compactBeadsImpl(ctx, opts) {
43
43
  });
44
44
  const count = parseInt(countOutput.trim(), 10) || 0;
45
45
  if (count === 0) return stepSkipped(step, ["No closed beads older than " + days + " days"]);
46
- const { runMutationBatch } = await import("./writer-CQMGzEkw.js");
46
+ const { runMutationBatch } = await import("./writer-BUweuRPx.js");
47
47
  const compacted = await runMutationBatch({
48
48
  project: { workspacePath: operationRoot },
49
49
  reason: `compact beads older than ${days} days`
@@ -55,7 +55,7 @@ async function compactBeadsImpl(ctx, opts) {
55
55
  ]));
56
56
  if (!compacted.ok) return stepFailed(step, compacted.message);
57
57
  if (stateHome.migrated) {
58
- const { flushAutoCommits, queueBeadsAutoCommit } = await import("./auto-commit-QAfsu3Sb.js");
58
+ const { flushAutoCommits, queueBeadsAutoCommit } = await import("./auto-commit-IW-eik_b.js");
59
59
  queueBeadsAutoCommit(ctx.projectPath);
60
60
  const result = await Effect.runPromise(flushAutoCommits(ctx.projectPath));
61
61
  return result.committed ? stepOk(step, [`Compacted ${count} closed beads and committed through overdeck-state`]) : stepFailed(step, `Compacted beads but state write door refused commit: ${result.reason ?? "unknown"}`);
@@ -91,4 +91,4 @@ var init_compact_beads = __esmMin((() => {
91
91
  //#endregion
92
92
  export { init_compact_beads as n, compactBeads as t };
93
93
 
94
- //# sourceMappingURL=compact-beads-DKL54y6j.js.map
94
+ //# sourceMappingURL=compact-beads-CyJtoXJi.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_compact_beads, t as compactBeads } from "./compact-beads-DKL54y6j.js";
1
+ import { n as init_compact_beads, t as compactBeads } from "./compact-beads-CyJtoXJi.js";
2
2
  init_compact_beads();
3
3
  export { compactBeads };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as CONFIG_FILE, br as init_errors, f as loadConfigSync$1, qr as init_paths, t as init_config_yaml, ur as FsError } from "./config-yaml-Dcz-8uit.js";
2
+ import { Jr as init_paths, Or as CONFIG_FILE, dr as FsError, f as loadConfigSync$1, t as init_config_yaml, xr as init_errors } from "./config-yaml-cNOZcEww.js";
3
3
  import { t as require_toml } from "./toml-CeLDATih.js";
4
4
  import { Effect } from "effect";
5
5
  import { existsSync, promises, readFileSync, writeFileSync } from "fs";
@@ -253,4 +253,4 @@ var init_config = __esmMin((() => {
253
253
  //#endregion
254
254
  export { saveConfigSync as _, getConversationsConfigSync as a, getDefaultConfig as c, getDevrootPathSync as d, init_config as f, saveConfig as g, normalizeRemoteConfig as h, getConversationsConfig as i, getDefaultConfigSync as l, loadConfigSync as m, findDevrootForProject as n, getDashboardApiUrl as o, loadConfig as p, findDevrootForProjectSync as r, getDashboardApiUrlSync as s, checkDevrootDeprecation as t, getDevrootPath as u };
255
255
 
256
- //# sourceMappingURL=config-ZNnMpIlh.js.map
256
+ //# sourceMappingURL=config-DVLdmnMJ.js.map
@@ -1,3 +1,3 @@
1
- import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-ZNnMpIlh.js";
1
+ import { _ as saveConfigSync, a as getConversationsConfigSync, c as getDefaultConfig, d as getDevrootPathSync, f as init_config, g as saveConfig, h as normalizeRemoteConfig, i as getConversationsConfig, l as getDefaultConfigSync, m as loadConfigSync, n as findDevrootForProject, o as getDashboardApiUrl, p as loadConfig, r as findDevrootForProjectSync, s as getDashboardApiUrlSync, t as checkDevrootDeprecation, u as getDevrootPath } from "./config-DVLdmnMJ.js";
2
2
  init_config();
3
3
  export { checkDevrootDeprecation, findDevrootForProject, findDevrootForProjectSync, getConversationsConfig, getConversationsConfigSync, getDashboardApiUrl, getDashboardApiUrlSync, getDefaultConfig, getDefaultConfigSync, getDevrootPath, getDevrootPathSync, loadConfig, loadConfigSync, normalizeRemoteConfig, saveConfig, saveConfigSync };
@@ -7656,11 +7656,12 @@ var init_state_plane = __esmMin((() => {
7656
7656
  * periodic manual "chore: sync workspace state" passes from the operator and
7657
7657
  * making the project repo stay perpetually dirty.
7658
7658
  *
7659
- * This module exposes a fire-and-forget commit primitive that the pan-dir
7659
+ * This module exposes a serialized write-through commit primitive that pan-dir
7660
7660
  * writers call after they update a file. Commits are:
7661
- * - fixed-window coalesced (default 10m) so a burst of writes becomes one commit
7661
+ * - scheduled immediately by default so every state update reaches git + origin
7662
+ * - optionally fixed-window coalesced when OVERDECK_STATE_FLUSH_WINDOW_MS is set
7662
7663
  * - serialized within a process so the git index is never contested
7663
- * - best-effort: failures are logged and never thrown back to the caller
7664
+ * - best-effort for synchronous callers: failures are logged and reported by flushes
7664
7665
  * - main-only: feature branches have their own commit cadence owned by agents
7665
7666
  *
7666
7667
  * Cross-machine concern: when an agent's state is canonical on `main`, moving
@@ -7670,7 +7671,7 @@ var init_state_plane = __esmMin((() => {
7670
7671
  function parseStateFlushWindowMs(value) {
7671
7672
  if (!value) return DEFAULT_STATE_FLUSH_WINDOW_MS;
7672
7673
  const parsed = Number(value);
7673
- if (!Number.isFinite(parsed) || parsed <= 0) return DEFAULT_STATE_FLUSH_WINDOW_MS;
7674
+ if (!Number.isFinite(parsed) || parsed < 0) return DEFAULT_STATE_FLUSH_WINDOW_MS;
7674
7675
  return parsed;
7675
7676
  }
7676
7677
  function parsePositiveInteger(value, fallback) {
@@ -7724,9 +7725,10 @@ function isGitError(value) {
7724
7725
  return typeof value === "object" && value !== null && "_tag" in value && value._tag === "GitError";
7725
7726
  }
7726
7727
  /**
7727
- * Queue an auto-commit for one or more files. Returns immediately; the actual
7728
- * git commit happens at the end of the fixed flush window. Multiple calls for
7729
- * the same project root inside the window coalesce without extending it.
7728
+ * Queue an auto-commit for one or more files. Returns immediately; by default
7729
+ * the serialized commit starts on the next timer turn. An explicit positive
7730
+ * OVERDECK_STATE_FLUSH_WINDOW_MS retains fixed-window coalescing for operators
7731
+ * who knowingly trade durability latency for fewer commits.
7730
7732
  *
7731
7733
  * PAN-1908: `repoRoot` allows committing files to a different git checkout
7732
7734
  * than the project root (e.g., a declared infra repo for per-issue permanent
@@ -7793,6 +7795,40 @@ function queueBeadsAutoCommit(projectRoot) {
7793
7795
  });
7794
7796
  }
7795
7797
  /**
7798
+ * PAN-2516 belt-and-suspenders reconciliation for state writes that predate or
7799
+ * bypassed the canonical writer. Patrols commit only the owned spec/record
7800
+ * surfaces; unrelated source or operator changes are never staged.
7801
+ */
7802
+ function reconcileStatePlaneDrift(projectRoot) {
7803
+ const project = findProjectByPathSync(projectRoot);
7804
+ const stateHome = project ? resolveStateReadHomeSync(project) : null;
7805
+ const gitRoot = stateHome?.migrated ? stateHome.root : projectRoot;
7806
+ const ownedPaths = stateHome?.migrated ? ["specs", "records"] : [".pan/specs", ".pan/records"];
7807
+ return Effect.gen(function* () {
7808
+ const paths = (yield* runGit([
7809
+ "status",
7810
+ "--porcelain=v1",
7811
+ "--untracked-files=all",
7812
+ "--",
7813
+ ...ownedPaths
7814
+ ], gitRoot).pipe(Effect.match({
7815
+ onSuccess: (result) => result.stdout,
7816
+ onFailure: () => ""
7817
+ }))).split("\n").map((line) => line.trimEnd()).filter(Boolean).map((line) => line.slice(3)).map((path) => path.includes(" -> ") ? path.split(" -> ").at(-1) : path).map((path) => join$1(gitRoot, path));
7818
+ if (paths.length === 0) return {
7819
+ committed: false,
7820
+ reason: "no state-plane drift"
7821
+ };
7822
+ queueAutoCommit({
7823
+ projectRoot,
7824
+ repoRoot: gitRoot,
7825
+ paths,
7826
+ subject: `chore(state): reconcile ${paths.length} pending spec/record update(s)`
7827
+ });
7828
+ return yield* flushAutoCommits(projectRoot);
7829
+ });
7830
+ }
7831
+ /**
7796
7832
  * Force a flush of any pending commits for `projectRoot`. Returns an Effect that
7797
7833
  * resolves after the commit attempt (success or no-op).
7798
7834
  */
@@ -7922,13 +7958,28 @@ function doCommit(projectRoot, batch) {
7922
7958
  }
7923
7959
  }));
7924
7960
  if (typeof commitOk !== "boolean") return commitOk;
7925
- yield* maybePushStateCommit(gitRoot, branch);
7926
- return { committed: true };
7961
+ const push = yield* maybePushStateCommit(gitRoot, branch);
7962
+ if (push && !push.pushed) return {
7963
+ committed: true,
7964
+ pushed: false,
7965
+ reason: push.reason
7966
+ };
7967
+ return {
7968
+ committed: true,
7969
+ pushed: push?.pushed
7970
+ };
7927
7971
  });
7928
7972
  }
7929
7973
  function maybePushStateCommit(gitRoot, branch) {
7930
- if (process.env.OVERDECK_STATE_AUTOPUSH === "0") return Effect.void;
7931
- return pushStateBranch(gitRoot, branch);
7974
+ if (process.env.OVERDECK_STATE_AUTOPUSH === "0") return Effect.succeed(null);
7975
+ return runGit([
7976
+ "remote",
7977
+ "get-url",
7978
+ "origin"
7979
+ ], gitRoot).pipe(Effect.matchEffect({
7980
+ onFailure: () => Effect.succeed(null),
7981
+ onSuccess: () => pushStateBranch(gitRoot, branch)
7982
+ }));
7932
7983
  }
7933
7984
  function pushStateBranch(gitRoot, branch) {
7934
7985
  if (branch === "main") return pushOriginMain(gitRoot, branch, false);
@@ -7938,10 +7989,14 @@ function pushStateBranch(gitRoot, branch) {
7938
7989
  "origin",
7939
7990
  branch
7940
7991
  ], gitRoot, timeoutMs).pipe(Effect.matchEffect({
7941
- onSuccess: () => Effect.void,
7992
+ onSuccess: () => Effect.succeed({ pushed: true }),
7942
7993
  onFailure: (err) => {
7943
- warnAutoPush(branch, `push failed: ${err.stderr || err._tag}`);
7944
- return Effect.void;
7994
+ const message = err.stderr || err._tag;
7995
+ warnAutoPush(branch, `push failed: ${message}`);
7996
+ return Effect.succeed({
7997
+ pushed: false,
7998
+ reason: `push failed: ${message}`
7999
+ });
7945
8000
  }
7946
8001
  }));
7947
8002
  }
@@ -7951,12 +8006,15 @@ function pushOriginMain(gitRoot, branch, retry) {
7951
8006
  "origin",
7952
8007
  "main"
7953
8008
  ], gitRoot, parsePositiveInteger(process.env.OVERDECK_STATE_PUSH_TIMEOUT_MS, DEFAULT_STATE_PUSH_TIMEOUT_MS)).pipe(Effect.matchEffect({
7954
- onSuccess: () => Effect.void,
8009
+ onSuccess: () => Effect.succeed({ pushed: true }),
7955
8010
  onFailure: (err) => {
7956
8011
  const message = err.stderr || err._tag;
7957
8012
  if (!retry && isNonFastForwardPushError(message)) return rebaseLegacyMainAndRetry(gitRoot, branch);
7958
8013
  warnAutoPush(branch, `push failed: ${message}`);
7959
- return Effect.void;
8014
+ return Effect.succeed({
8015
+ pushed: false,
8016
+ reason: `push failed: ${message}`
8017
+ });
7960
8018
  }
7961
8019
  }));
7962
8020
  }
@@ -7970,15 +8028,25 @@ function rebaseLegacyMainAndRetry(gitRoot, branch) {
7970
8028
  ], gitRoot, timeoutMs).pipe(Effect.match({
7971
8029
  onSuccess: () => true,
7972
8030
  onFailure: () => false
7973
- }))) || !(yield* isWorkingTreeClean(gitRoot, branch))) return;
8031
+ }))) || !(yield* isWorkingTreeClean(gitRoot, branch))) return {
8032
+ pushed: false,
8033
+ reason: "push rejected and reconciliation preconditions failed"
8034
+ };
7974
8035
  if (!(yield* areLocalAheadCommitsStatePlaneOnly(gitRoot, branch))) {
7975
8036
  warnAutoPush(branch, "non-fast-forward push rejected and at least one local-ahead commit is not state-plane-only; leaving local main ahead of origin/main");
7976
- return;
8037
+ return {
8038
+ pushed: false,
8039
+ reason: "push rejected with non-state local commits"
8040
+ };
7977
8041
  }
7978
8042
  if (yield* runGitWithTimeout(["rebase", "origin/main"], gitRoot, timeoutMs).pipe(Effect.match({
7979
8043
  onSuccess: () => true,
7980
8044
  onFailure: () => false
7981
- }))) yield* pushOriginMain(gitRoot, branch, true);
8045
+ }))) return yield* pushOriginMain(gitRoot, branch, true);
8046
+ return {
8047
+ pushed: false,
8048
+ reason: "push rejected and state rebase failed"
8049
+ };
7982
8050
  });
7983
8051
  }
7984
8052
  function areLocalAheadCommitsStatePlaneOnly(gitRoot, branch) {
@@ -8058,7 +8126,7 @@ var init_auto_commit = __esmMin((() => {
8058
8126
  init_state_migration_lock();
8059
8127
  init_state_plane();
8060
8128
  spawnerLayer = NodeChildProcessSpawner.layer.pipe(Layer.provide(Layer.mergeAll(NodeFileSystem.layer, NodePath.layer)));
8061
- DEFAULT_STATE_FLUSH_WINDOW_MS = 600 * 1e3;
8129
+ DEFAULT_STATE_FLUSH_WINDOW_MS = 0;
8062
8130
  STATE_FLUSH_WINDOW_MS = parseStateFlushWindowMs(process.env.OVERDECK_STATE_FLUSH_WINDOW_MS);
8063
8131
  DEFAULT_STATE_PUSH_TIMEOUT_MS = 3e4;
8064
8132
  AUTO_COMMIT_EXCLUDED_PATHS = [
@@ -8268,6 +8336,7 @@ function queueIssueRecordCommit(project, issueId, recordPath) {
8268
8336
  paths: [recordPath],
8269
8337
  subject: `chore(records): update ${issueId.toUpperCase()} per-issue record`
8270
8338
  });
8339
+ return basePath;
8271
8340
  }
8272
8341
  /** Build this node's owner URI: pan://host[:port]. */
8273
8342
  function buildOwnUri() {
@@ -14548,6 +14617,6 @@ var init_config_yaml = __esmMin((() => {
14548
14617
  init_load();
14549
14618
  }));
14550
14619
  //#endregion
14551
- export { MODEL_DEPRECATIONS as $, extractNumberSync as $n, writeStatusOverrideSync as $t, KIMI_CODING_BASE_URL as A, getSpecialistPromptOverride as An, OVERDECK_HOME as Ar, markRecordPipelineClosedOutSync as At, piProviderForModel as B, loadProjectsConfigSync as Bn, getDocsBudgetStatePath as Br, writeIssueRecordSync as Bt, init_tier_table as C, findProjectByTeamSync as Cn, BIN_DIR as Cr, ensureIssueRecordSync as Ct, canUseHarnessSync as D, getProjectSwarmHotspots as Dn, CONFIG_FILE as Dr, getIssueWorkspacePath as Dt, validateTieredExecutionConfig as E, getProject as En, CLAUDE_DIR as Er, getIssueRecordPathForWorkspace as Et, getBuiltInDefaultHarness as F, initializeProjectsConfig as Fn, PROJECT_PRDS_SUBDIR as Fr, readRecordContinueViewSync as Ft, defaultBackgroundAiFeatures as G, resolveProjectFromIssue as Gn, getLegacyHome as Gr, writeRecordHazards as Gt, setupCredentialFileAuthSync as H, registerProject as Hn, getDocsIndexPath as Hr, writeRecordBeadsMappingSync as Ht, getKimiAnthropicBaseUrl as I, initializeProjectsConfigSync as In, SKILLS_DIR as Ir, resolveProjectForIssue as It, DEFAULT_WORKHORSES as J, saveProjectsConfig as Jn, isDevMode as Jr, writeRecordResumePointSync as Jt, init_registry as K, resolveProjectFromIssueSync as Kn, getOverdeckHome as Kr, writeRecordHazardsSync as Kt, getProviderEnvSync as L, listProjects as Ln, SYNC_SOURCES as Lr, writeAgentHarnessModel as Lt, PROVIDERS as M, hasProjects as Mn, PROJECT_PRDS_ACTIVE_SUBDIR as Mr, readIssueRecord as Mt, UnknownModelError as N, hasProjectsSync as Nn, PROJECT_PRDS_COMPLETED_SUBDIR as Nr, readIssueRecordForWorkspaceSync as Nt, canUseModelWithAuthSync as O, getProjectSync as On, COSTS_DIR as Or, getProjectConfigFromWorkspacePath as Ot, clearCredentialFileAuthSync as P, init_projects as Pn, PROJECT_PRDS_PLANNED_SUBDIR as Pr, readIssueRecordSync as Pt, MODEL_CAPABILITIES as Q, unregisterProjectSync as Qn, writeStatusOverride as Qt, getProviderForModelSync as R, listProjectsSync as Rn, TRAEFIK_DIR as Rr, writeAgentHarnessModelSync as Rt, TieredExecutionConfigError as S, findProjectByTeam as Sn, ARCHIVES_DIR as Sr, ensureIssueRecord as St, resolveTieredExecutionEnabledForIssue as T, getIssuePrefix as Tn, CACHE_RULES_DIR as Tr, getIssueRecordPath as Tt, ensureOpenAICompatibleProxyRunning as U, registerProjectSync as Un, getDocsTelemetryPath as Ur, writeRecordDecisions as Ut, qualifyPiModel as V, projects_exports as Vn, getDocsDisableStatePath as Vr, writeRecordBeadsMapping as Vt, init_openai_compatible_proxy as W, resolveInfraRepo as Wn, getHandoffsDir as Wr, writeRecordDecisionsSync as Wt, init_roles as X, setProjectAutoMergeDefaultSync as Xn, resolveOhmypiExtensionPath as Xr, writeRecordTieredExecutionOverride as Xt, computeModelOrigin as Y, saveProjectsConfigSync as Yn, packageRoot as Yr, writeRecordScopeDriftSync as Yt, resolveModel as Z, unregisterProject as Zn, sessionFilePath as Zr, writeRecordTieredExecutionOverrideSync as Zt, getDefaultDocsConfig as _, PROJECTS_CONFIG_FILE as _n, TmuxError as _r, appendSessionEntrySync as _t, getConversationsConfigSync as a, queueAutoCommit as an, resolveIssueIdSync as ar, resolveModelIdSync as at, DEFAULT_TIERED_EXECUTION_CONFIG as b, findProjectByPath as bn, init_errors as br, clearIssueOwner as bt, isClaudeCodeChannelsEnabled as c, STATE_PLANE_PATHS as cn, ClaudeCredentialParseError as cr, init_percent as ct, loadConfigNoMigration as d, isStatePlaneOnlyStatus as dn, GitError as dr, ROLE_EFFORTS as dt, writeStatusOverridesSync as en, extractPrefixSync as er, getModelCapabilitySync as et, loadConfigSync as f, isStatePlanePath as fn, GitHubApiError as fr, RECORD_DIRNAME as ft, mergeConfigs as g, init_project_key as gn, ProcessSpawnError as gr, appendSessionEntry as gt, jsYaml as h, shouldCommitLegacyWorkspaceArtifacts as hn, MergeConflictError as hr, appendFeedbackEntrySync as ht, getConversationsConfig as i, init_auto_commit as in, resolveBareNumericIdSync as ir, modelSupportsImagesSync as it, KIMI_PLATFORM_BASE_URL as j, getSpecialistRetention as jn, PROJECT_DOCS_SUBDIR as jr, queueIssueRecordCommit as jt, init_harness_policy as k, getSpecialistConfig as kn, LOGS_DIR as kr, init_record as kt, isClaudeCodeChannelsMcpEnabled as l, getMainDivergence as ln, ConfigError as lr, COMPLIANCE_MODES as lt, init_js_yaml as m, resolveStateReadHomeSync as mn, LinearApiError as mr, appendFeedbackEntry as mt, clearConfigCache as n, flushAllPendingAutoCommits as nn, normalizeIssueIdSync as nr, hasModelCapabilitySync as nt, getGlobalConfigPath as o, queueBeadsAutoCommit as on, require_dist as or, fmix32 as ot, updateConversationsConfig as p, init_state_read_home as pn, InvalidAgentIdError as pr, RECORD_SCHEMA_VERSION as pt, DEFAULT_ROLES as q, resolveProjectPath as qn, init_paths as qr, writeRecordResumePoint as qt, getConversationSearchConfigSync as r, flushAutoCommits as rn, parseIssueIdSync as rr, init_model_capabilities as rt, init_load as s, STATE_BRANCH_PATHS as sn, CheckpointError as sr, fnv1a32 as st, init_config_yaml as t, deriveProjectRoot as tn, init_issue_id as tr, getModelEffortLevelsSync as tt, isTldrEnabledSync as u, init_state_plane as un, FsError as ur, PARENT_MODEL_REF as ut, getDefaultTtsDaemonConfig as v, createDefaultProjectsConfig as vn, TrackerError as vr, buildOwnUri as vt, resolveTieredExecutionEnabled as w, findProjectsByRallyProject as wn, CACHE_AGENTS_DIR as wr, getIssueRecordBasePath as wt, TIERED_EXECUTION_DIFFICULTIES as x, findProjectByPathSync as xn, AGENTS_DIR as xr, clearRecordFeedbackSync as xt, mergeTtsDaemonConfigs as y, extractTeamPrefix as yn, VcsError as yr, claimIssueOwner as yt, init_providers as z, loadProjectsConfig as zn, encodeClaudeProjectDir as zr, writeIssueRecordForWorkspaceSync as zt };
14620
+ export { MODEL_DEPRECATIONS as $, unregisterProjectSync as $n, writeStatusOverrideSync as $t, KIMI_CODING_BASE_URL as A, getSpecialistConfig as An, LOGS_DIR as Ar, markRecordPipelineClosedOutSync as At, piProviderForModel as B, loadProjectsConfig as Bn, encodeClaudeProjectDir as Br, writeIssueRecordSync as Bt, init_tier_table as C, findProjectByTeam as Cn, ARCHIVES_DIR as Cr, ensureIssueRecordSync as Ct, canUseHarnessSync as D, getProject as Dn, CLAUDE_DIR as Dr, getIssueWorkspacePath as Dt, validateTieredExecutionConfig as E, getIssuePrefix as En, CACHE_RULES_DIR as Er, getIssueRecordPathForWorkspace as Et, getBuiltInDefaultHarness as F, init_projects as Fn, PROJECT_PRDS_PLANNED_SUBDIR as Fr, readRecordContinueViewSync as Ft, defaultBackgroundAiFeatures as G, resolveInfraRepo as Gn, getHandoffsDir as Gr, writeRecordHazards as Gt, setupCredentialFileAuthSync as H, projects_exports as Hn, getDocsDisableStatePath as Hr, writeRecordBeadsMappingSync as Ht, getKimiAnthropicBaseUrl as I, initializeProjectsConfig as In, PROJECT_PRDS_SUBDIR as Ir, resolveProjectForIssue as It, DEFAULT_WORKHORSES as J, resolveProjectPath as Jn, init_paths as Jr, writeRecordResumePointSync as Jt, init_registry as K, resolveProjectFromIssue as Kn, getLegacyHome as Kr, writeRecordHazardsSync as Kt, getProviderEnvSync as L, initializeProjectsConfigSync as Ln, SKILLS_DIR as Lr, writeAgentHarnessModel as Lt, PROVIDERS as M, getSpecialistRetention as Mn, PROJECT_DOCS_SUBDIR as Mr, readIssueRecord as Mt, UnknownModelError as N, hasProjects as Nn, PROJECT_PRDS_ACTIVE_SUBDIR as Nr, readIssueRecordForWorkspaceSync as Nt, canUseModelWithAuthSync as O, getProjectSwarmHotspots as On, CONFIG_FILE as Or, getProjectConfigFromWorkspacePath as Ot, clearCredentialFileAuthSync as P, hasProjectsSync as Pn, PROJECT_PRDS_COMPLETED_SUBDIR as Pr, readIssueRecordSync as Pt, MODEL_CAPABILITIES as Q, unregisterProject as Qn, sessionFilePath as Qr, writeStatusOverride as Qt, getProviderForModelSync as R, listProjects as Rn, SYNC_SOURCES as Rr, writeAgentHarnessModelSync as Rt, TieredExecutionConfigError as S, findProjectByPathSync as Sn, AGENTS_DIR as Sr, ensureIssueRecord as St, resolveTieredExecutionEnabledForIssue as T, findProjectsByRallyProject as Tn, CACHE_AGENTS_DIR as Tr, getIssueRecordPath as Tt, ensureOpenAICompatibleProxyRunning as U, registerProject as Un, getDocsIndexPath as Ur, writeRecordDecisions as Ut, qualifyPiModel as V, loadProjectsConfigSync as Vn, getDocsBudgetStatePath as Vr, writeRecordBeadsMapping as Vt, init_openai_compatible_proxy as W, registerProjectSync as Wn, getDocsTelemetryPath as Wr, writeRecordDecisionsSync as Wt, init_roles as X, saveProjectsConfigSync as Xn, packageRoot as Xr, writeRecordTieredExecutionOverride as Xt, computeModelOrigin as Y, saveProjectsConfig as Yn, isDevMode as Yr, writeRecordScopeDriftSync as Yt, resolveModel as Z, setProjectAutoMergeDefaultSync as Zn, resolveOhmypiExtensionPath as Zr, writeRecordTieredExecutionOverrideSync as Zt, getDefaultDocsConfig as _, init_project_key as _n, ProcessSpawnError as _r, appendSessionEntrySync as _t, getConversationsConfigSync as a, queueAutoCommit as an, resolveBareNumericIdSync as ar, resolveModelIdSync as at, DEFAULT_TIERED_EXECUTION_CONFIG as b, extractTeamPrefix as bn, VcsError as br, clearIssueOwner as bt, isClaudeCodeChannelsEnabled as c, STATE_BRANCH_PATHS as cn, CheckpointError as cr, init_percent as ct, loadConfigNoMigration as d, init_state_plane as dn, FsError as dr, ROLE_EFFORTS as dt, writeStatusOverridesSync as en, extractNumberSync as er, getModelCapabilitySync as et, loadConfigSync as f, isStatePlaneOnlyStatus as fn, GitError as fr, RECORD_DIRNAME as ft, mergeConfigs as g, shouldCommitLegacyWorkspaceArtifacts as gn, MergeConflictError as gr, appendSessionEntry as gt, jsYaml as h, resolveStateReadHomeSync as hn, LinearApiError as hr, appendFeedbackEntrySync as ht, getConversationsConfig as i, init_auto_commit as in, parseIssueIdSync as ir, modelSupportsImagesSync as it, KIMI_PLATFORM_BASE_URL as j, getSpecialistPromptOverride as jn, OVERDECK_HOME as jr, queueIssueRecordCommit as jt, init_harness_policy as k, getProjectSync as kn, COSTS_DIR as kr, init_record as kt, isClaudeCodeChannelsMcpEnabled as l, STATE_PLANE_PATHS as ln, ClaudeCredentialParseError as lr, COMPLIANCE_MODES as lt, init_js_yaml as m, init_state_read_home as mn, InvalidAgentIdError as mr, appendFeedbackEntry as mt, clearConfigCache as n, flushAllPendingAutoCommits as nn, init_issue_id as nr, hasModelCapabilitySync as nt, getGlobalConfigPath as o, queueBeadsAutoCommit as on, resolveIssueIdSync as or, fmix32 as ot, updateConversationsConfig as p, isStatePlanePath as pn, GitHubApiError as pr, RECORD_SCHEMA_VERSION as pt, DEFAULT_ROLES as q, resolveProjectFromIssueSync as qn, getOverdeckHome as qr, writeRecordResumePoint as qt, getConversationSearchConfigSync as r, flushAutoCommits as rn, normalizeIssueIdSync as rr, init_model_capabilities as rt, init_load as s, reconcileStatePlaneDrift as sn, require_dist as sr, fnv1a32 as st, init_config_yaml as t, deriveProjectRoot as tn, extractPrefixSync as tr, getModelEffortLevelsSync as tt, isTldrEnabledSync as u, getMainDivergence as un, ConfigError as ur, PARENT_MODEL_REF as ut, getDefaultTtsDaemonConfig as v, PROJECTS_CONFIG_FILE as vn, TmuxError as vr, buildOwnUri as vt, resolveTieredExecutionEnabled as w, findProjectByTeamSync as wn, BIN_DIR as wr, getIssueRecordBasePath as wt, TIERED_EXECUTION_DIFFICULTIES as x, findProjectByPath as xn, init_errors as xr, clearRecordFeedbackSync as xt, mergeTtsDaemonConfigs as y, createDefaultProjectsConfig as yn, TrackerError as yr, claimIssueOwner as yt, init_providers as z, listProjectsSync as zn, TRAEFIK_DIR as zr, writeIssueRecordForWorkspaceSync as zt };
14552
14621
 
14553
- //# sourceMappingURL=config-yaml-Dcz-8uit.js.map
14622
+ //# sourceMappingURL=config-yaml-cNOZcEww.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
3
- import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-4qqLkRMu.js";
4
- import { W as spawnRun, j as messageAgent, t as init_agents } from "./agents-CsOzAmRg.js";
3
+ import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-Dc1l4dVz.js";
4
+ import { W as spawnRun, j as messageAgent, t as init_agents } from "./agents-B9GwfCyp.js";
5
5
  import { exec } from "node:child_process";
6
6
  import { promisify } from "node:util";
7
7
  //#region ../../lib/cloister/conflict-gate.ts
@@ -230,4 +230,4 @@ var init_conflict_gate = __esmMin((() => {
230
230
  //#endregion
231
231
  export { resolveConflictGate as a, init_conflict_gate as i, checkBranchMergeability as n, getCachedConflictGateMergeability as r, buildRealConflictGateDeps as t };
232
232
 
233
- //# sourceMappingURL=conflict-gate-DTje2Ll7.js.map
233
+ //# sourceMappingURL=conflict-gate-BMKm_5DV.js.map
@@ -1,3 +1,3 @@
1
- import { a as resolveConflictGate, i as init_conflict_gate, t as buildRealConflictGateDeps } from "./conflict-gate-DTje2Ll7.js";
1
+ import { a as resolveConflictGate, i as init_conflict_gate, t as buildRealConflictGateDeps } from "./conflict-gate-BMKm_5DV.js";
2
2
  init_conflict_gate();
3
3
  export { buildRealConflictGateDeps, resolveConflictGate };
@@ -1,4 +1,4 @@
1
- import { l as piGlobalContextFile, n as codexGlobalContextFile } from "./layers-CD6FysRU.js";
2
- import { t as init_context_layers } from "./context-layers-BdUCQ-cl.js";
1
+ import { l as piGlobalContextFile, n as codexGlobalContextFile } from "./layers-jjL16At6.js";
2
+ import { t as init_context_layers } from "./context-layers-c0JqYHcS.js";
3
3
  init_context_layers();
4
4
  export { codexGlobalContextFile, piGlobalContextFile };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { o as init_layers } from "./layers-CD6FysRU.js";
2
+ import { Jr as init_paths } from "./config-yaml-cNOZcEww.js";
3
+ import { o as init_layers } from "./layers-jjL16At6.js";
4
4
  import "fs";
5
5
  import "path";
6
6
  import "os";
@@ -148,4 +148,4 @@ var init_context_layers = __esmMin((() => {
148
148
  //#endregion
149
149
  export { init_render as a, KNOWN_HARNESS_MARKERS as c, validateTemplate as d, hasManagedRegion as i, init_harness as l, REGION_BEGIN as n, userContentOutsideRegion as o, REGION_END as r, HARNESS_MARKERS as s, init_context_layers as t, renderForHarness as u };
150
150
 
151
- //# sourceMappingURL=context-layers-BdUCQ-cl.js.map
151
+ //# sourceMappingURL=context-layers-c0JqYHcS.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bn as loadProjectsConfigSync, On as getProjectSync, Pn as init_projects } from "./config-yaml-Dcz-8uit.js";
3
- import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-bpq1MHKU.js";
4
- import { n as init_issues, t as IssueId } from "./issues-CwQMphDH.js";
2
+ import { Fn as init_projects, Vn as loadProjectsConfigSync, kn as getProjectSync } from "./config-yaml-cNOZcEww.js";
3
+ import { _ as integer, a as EventBus, d as getOverdeckDatabaseSync, f as init_infra, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, x as eq } from "./infra-Ba9mS6e6.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-CBAsuoAO.js";
5
5
  import { Context, Effect, Layer, Schema } from "effect";
6
6
  import { HttpApiEndpoint, HttpApiGroup } from "effect/unstable/httpapi";
7
7
  //#region ../../lib/overdeck/control-settings.ts
@@ -403,4 +403,4 @@ var init_control_settings = __esmMin((() => {
403
403
  //#endregion
404
404
  export { setMergeTrainEnabled as C, setFlywheelRequireUatBeforeMerge as S, stampBootReconciliation as T, setDeaconGloballyPaused as _, getFlywheelActiveRunIdSync as a, setFlywheelAutoPickupBacklog as b, isCloisterSpawnsPausedSync as c, isFlywheelAutoPickupBacklog as d, isFlywheelGloballyPaused as f, setCloisterSpawnsPausedSync as g, setBootReconciliationDecision as h, getFlywheelActiveRunId as i, isDeaconGloballyPaused as l, isMergeTrainEnabled as m, FLYWHEEL_GLOBAL_PAUSE_KEY as n, getSetting as o, isFlywheelRequireUatBeforeMerge as p, getBootReconciliationState as r, init_control_settings as s, FLYWHEEL_ACTIVE_RUN_ID_KEY as t, isDeaconGloballyPausedSync as u, setDeaconGloballyPausedSync as v, setSetting as w, setFlywheelGloballyPaused as x, setFlywheelActiveRunId as y };
405
405
 
406
- //# sourceMappingURL=control-settings-DwkAeooY.js.map
406
+ //# sourceMappingURL=control-settings-D4EFsRBd.js.map
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-Dcz-8uit.js";
3
- import { a as init_event_store, n as getEventStore } from "./event-store-DRte2Rwt.js";
4
- import { Gt as getAgentRuntimeBaseCommand, t as init_agents, un as getProviderExportsForModel } from "./agents-CsOzAmRg.js";
5
- import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-BR1OgvxO.js";
6
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-Dtm9ABuz.js";
7
- import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-D5Zen3AA.js";
8
- import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-CtCwBJ2Z.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-cNOZcEww.js";
3
+ import { a as init_event_store, n as getEventStore } from "./event-store-D89fMfXS.js";
4
+ import { Gt as getAgentRuntimeBaseCommand, t as init_agents, un as getProviderExportsForModel } from "./agents-B9GwfCyp.js";
5
+ import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-B8LFQQm1.js";
6
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-u5XeMaOK.js";
7
+ import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-CiWfGfRZ.js";
8
+ import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-gKSoFAnK.js";
9
9
  import { dirname, join } from "node:path";
10
10
  import { Effect } from "effect";
11
11
  import { existsSync } from "node:fs";
@@ -179,4 +179,4 @@ var init_conversation_compaction = __esmMin((() => {
179
179
  //#endregion
180
180
  export { init_conversation_compaction as a, shouldInterceptManualCompact as c, getConversationCompactionSettings as i, compactConversationNative as n, isCompacting as o, estimateContextTokens as r, maybeCompactBeforeRespawn as s, buildCompactionRuntimeInfo as t };
181
181
 
182
- //# sourceMappingURL=conversation-compaction-OTYgd6eg.js.map
182
+ //# sourceMappingURL=conversation-compaction-BCggyih4.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-OTYgd6eg.js";
1
+ import { a as init_conversation_compaction, c as shouldInterceptManualCompact, i as getConversationCompactionSettings, n as compactConversationNative, o as isCompacting, r as estimateContextTokens, s as maybeCompactBeforeRespawn, t as buildCompactionRuntimeInfo } from "./conversation-compaction-BCggyih4.js";
2
2
  init_conversation_compaction();
3
3
  export { buildCompactionRuntimeInfo, compactConversationNative, estimateContextTokens, getConversationCompactionSettings, isCompacting, maybeCompactBeforeRespawn, shouldInterceptManualCompact };
@@ -1,8 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Q as MODEL_CAPABILITIES, at as resolveModelIdSync, qr as init_paths, rt as init_model_capabilities } from "./config-yaml-Dcz-8uit.js";
3
- import { a as getHarnessBehavior } from "./src-DHn4Rd2F.js";
4
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-DQ2ajr_m.js";
5
- import { i as parseCodexSessionSync, n as init_codex_parser, t as init_behavior } from "./behavior-Cpj03N4v.js";
2
+ import { Jr as init_paths, Q as MODEL_CAPABILITIES, at as resolveModelIdSync, rt as init_model_capabilities } from "./config-yaml-cNOZcEww.js";
3
+ import { a as getHarnessBehavior } from "./src-B4TTzNSr.js";
4
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-D9kPIY_5.js";
5
+ import { r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-mFYZh8vR.js";
6
+ import { t as init_behavior } from "./behavior-BTpYbAv4.js";
6
7
  import "node:path";
7
8
  import "node:os";
8
9
  import { open, readFile, stat, watch } from "node:fs/promises";
@@ -1750,4 +1751,4 @@ var init_conversation_service = __esmMin((() => {
1750
1751
  //#endregion
1751
1752
  export { init_codex_conversation_parser as _, contextUsageFromParseResult as a, parseEntireConversation as c, init_pi_conversation_parser as d, isPiSessionFile as f, parseOhmypiConversationMessages as g, isOhmypiSessionFile as h, computeContextUsage as i, parseFromLastCompactBoundary as l, init_ohmypi_conversation_parser as m, gateSnapshotEmission as n, summarizeConversationActivity as o, parsePiConversationMessages as p, watchConversation as r, parseConversationMessages as s, init_conversation_service as t, findLastCompactBoundary as u, parseCodexConversationMessages as v };
1752
1753
 
1753
- //# sourceMappingURL=conversation-service-BR1OgvxO.js.map
1754
+ //# sourceMappingURL=conversation-service-B8LFQQm1.js.map
@@ -1,3 +1,3 @@
1
- import { i as computeContextUsage, t as init_conversation_service } from "./conversation-service-BR1OgvxO.js";
1
+ import { i as computeContextUsage, t as init_conversation_service } from "./conversation-service-B8LFQQm1.js";
2
2
  init_conversation_service();
3
3
  export { computeContextUsage };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { T as isNull, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, g as real, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, w as isNotNull, x as eq } from "./infra-bpq1MHKU.js";
4
- import { a as init_event_store, n as getEventStore } from "./event-store-DRte2Rwt.js";
2
+ import { Jr as init_paths, qr as getOverdeckHome } from "./config-yaml-cNOZcEww.js";
3
+ import { T as isNull, _ as integer, a as EventBus, b as and, d as getOverdeckDatabaseSync, f as init_infra, g as real, h as text, m as sqliteTable, p as init_sqlite_core, r as Db, v as init_drizzle_orm, w as isNotNull, x as eq } from "./infra-Ba9mS6e6.js";
4
+ import { a as init_event_store, n as getEventStore } from "./event-store-D89fMfXS.js";
5
5
  import { join } from "node:path";
6
6
  import { Context, Effect, Layer, Schema, Stream } from "effect";
7
7
  import { readFileSync } from "node:fs";
@@ -1583,4 +1583,4 @@ var init_conversations = __esmMin((() => {
1583
1583
  //#endregion
1584
1584
  export { updateConversationForkFallbackReason as $, isAgentConversationName as A, removeFavorite as B, getConversationByTmuxSession as C, searchFtsSessions as Ct, importLegacyConversation as D, hasOtherActiveConversationOnTmuxSession as E, upsertDiscoveredSession as Et, markConversationEnded as F, setConversationHarness as G, setClearedToConvId as H, markConversationRunning as I, setForkRequest as J, setConversationModel as K, normalizeHarness as L, listConversations as M, listFavoritedIds as N, incrementForkRetryCount as O, markConversationActive as P, updateConversationDeliveryMethod as Q, reactivateConversationForSpawn as R, getConversationByName as S, markEnrichmentFailed as St, getStuckForks as T, updateEnrichment as Tt, setConversationClaudeSessionId as U, resolveLiveSessionId as V, setConversationEffort as W, unarchiveConversation as X, setImportedConversationLinks as Y, updateConversationCost as Z, canRefineTitle as _, getDiscoveredStats as _t, ConversationName as a, aggregateDiscoveredSessionCost as at, getConversationByClaudeSessionId as b, insertEmbedding as bt, ConversationsResolver as c, countDiscoveredSessions as ct, TitleSource as d, findDiscoveredSessionIds as dt, updateConversationTitle as et, Transcript as f, findDiscoveredSessions as ft, backfillConversationModel as g, getDiscoveredSessionBySessionId as gt, archiveConversation as h, getDiscoveredSessionByJsonlPath as ht, ConversationId as i, findConversationForCostSessionSync as it, listArchivedConversationsWithEnrichment as j, init_conversations as k, Harness as l, countFtsSessions as lt, TranscriptsWriter as m, getDiscoveredSessionById as mt, BackingFile as n, updateLastAttached as nt, ConversationNotFound as o, aggregateDiscoveredSessionCostBy as ot, TranscriptsResolver as p, findEnrichedSessionIdsMissingEmbedding as pt, setFavorite as q, Conversation as r, updateSpawnError as rt, ConversationWriter as s, buildFilterSql as st, AlreadyArchived as t, updateForkStatus as tt, NotArchived as u, ensureDiscoveredSessionsSchema as ut, canReplaceTitle as v, getEmbedding as vt, getConversationLedgerCosts as w, topKCosine as wt, getConversationById as x, loadEmbeddings as xt, createConversation as y, init_discovered_sessions as yt, recordConversationHandoff as z };
1585
1585
 
1586
- //# sourceMappingURL=conversations-DG2M8WnT.js.map
1586
+ //# sourceMappingURL=conversations-B-lcHv-5.js.map
@@ -1,3 +1,3 @@
1
- import { M as listConversations, k as init_conversations } from "./conversations-DG2M8WnT.js";
1
+ import { M as listConversations, k as init_conversations } from "./conversations-B-lcHv-5.js";
2
2
  init_conversations();
3
3
  export { listConversations };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as getPricingSync, s as init_cost$1, t as calculateCostSync } from "./cost-DQ2ajr_m.js";
3
- import { i as init_events, t as appendCostEventSync } from "./events-Bej1w_k8.js";
2
+ import { o as getPricingSync, s as init_cost$1, t as calculateCostSync } from "./cost-D9kPIY_5.js";
3
+ import { i as init_events, t as appendCostEventSync } from "./events-S_C0pvl6.js";
4
4
  //#region ../../lib/background-ai/cost.ts
5
5
  /** The cost-source tag prefix used for every background AI event. */
6
6
  function backgroundCostSource(feature) {
@@ -52,4 +52,4 @@ var init_cost = __esmMin((() => {
52
52
  //#endregion
53
53
  export { recordBackgroundAiCost as n, init_cost as t };
54
54
 
55
- //# sourceMappingURL=cost-B2mj17iG.js.map
55
+ //# sourceMappingURL=cost-BcpRQ-7o.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Or as COSTS_DIR, br as init_errors, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
2
+ import { Jr as init_paths, kr as COSTS_DIR, xr as init_errors } from "./config-yaml-cNOZcEww.js";
3
3
  import "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -464,4 +464,4 @@ var init_cost = __esmMin((() => {
464
464
  //#endregion
465
465
  export { getAllBudgetsSync as a, deleteBudgetSync as i, checkBudgetSync as n, getPricingSync as o, createBudgetSync as r, init_cost as s, calculateCostSync as t };
466
466
 
467
- //# sourceMappingURL=cost-DQ2ajr_m.js.map
467
+ //# sourceMappingURL=cost-D9kPIY_5.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Kr as getOverdeckHome, qr as init_paths } from "./config-yaml-Dcz-8uit.js";
3
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-bpq1MHKU.js";
2
+ import { Jr as init_paths, qr as getOverdeckHome } from "./config-yaml-cNOZcEww.js";
3
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.js";
4
4
  import { join } from "path";
5
5
  import { appendFile, mkdir } from "fs/promises";
6
6
  //#region ../../lib/agents/tier-metrics.ts
@@ -398,4 +398,4 @@ var init_cost_sync = __esmMin((() => {
398
398
  //#endregion
399
399
  export { init_tier_metrics as _, getCostForIssueAggregateSync as a, getDailyTrendsSync as c, init_cost_sync as d, insertCostEventSync as f, estimateFeedDeliveryTokens as g, deriveTieredAgentCostRole as h, getCostBreakdownByStageAndModelSync as i, getModelRollupSync as l, queryMemoryExtractionCostUsdSync as m, getBackgroundCostBySourceSync as n, getCostForIssueSync as o, queryCostEventsSync as p, getCavemanExperimentDataSync as r, getCostsByIssueSync as s, getAgentDailyCostSync as t, getTodayCostSync as u, recordTierFeedDelivery as v };
400
400
 
401
- //# sourceMappingURL=cost-sync-gTayEuWP.js.map
401
+ //# sourceMappingURL=cost-sync-DF6odxK9.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { It as resolveProjectForIssue, Ot as getProjectConfigFromWorkspacePath, en as writeStatusOverridesSync, kt as init_record } from "./config-yaml-Dcz-8uit.js";
3
- import { b as init_types, g as serializeVBriefDocument, l as normalizeVBriefEnvelope, o as init_io, x as subItemsOf } from "./io-BiQ2Cs3k.js";
2
+ import { It as resolveProjectForIssue, Ot as getProjectConfigFromWorkspacePath, en as writeStatusOverridesSync, kt as init_record } from "./config-yaml-cNOZcEww.js";
3
+ import { b as init_types, g as serializeVBriefDocument, l as normalizeVBriefEnvelope, o as init_io, x as subItemsOf } from "./io-VEGSAqsd.js";
4
4
  import { Data, Effect } from "effect";
5
5
  import { existsSync } from "fs";
6
6
  import { dirname, join } from "path";
@@ -615,4 +615,4 @@ var init_dag = __esmMin((() => {
615
615
  //#endregion
616
616
  export { createActiveSlice as a, groupItemsByWave as c, compileGlob as i, hasFileOverlap as l, applyTaskOperationToPlanFile as n, criticalPath as o, blockingParentCount as r, getDispatchableItems as s, actionableDoc as t, init_dag as u };
617
617
 
618
- //# sourceMappingURL=dag-CqTehWpY.js.map
618
+ //# sourceMappingURL=dag-DKI3sOmX.js.map
@@ -108,4 +108,4 @@ const runGitResetHard = (opts) => Effect.tryPromise({
108
108
  //#endregion
109
109
  export { runGitResetHard };
110
110
 
111
- //# sourceMappingURL=dangerous-git-ops-DDWQlPC3.js.map
111
+ //# sourceMappingURL=dangerous-git-ops-Bn18PEcN.js.map
@@ -1,6 +1,6 @@
1
- import { S as getConversationByName, _t as getDiscoveredStats, at as aggregateDiscoveredSessionCost, ct as countDiscoveredSessions, ft as findDiscoveredSessions, k as init_conversations, mt as getDiscoveredSessionById, ot as aggregateDiscoveredSessionCostBy, yt as init_discovered_sessions } from "./conversations-DG2M8WnT.js";
2
- import { o as getSetting, s as init_control_settings, w as setSetting } from "./control-settings-DwkAeooY.js";
3
- import { a as enrichSessions, c as searchSessions, i as CostThresholdError, n as getSessionsFeedFacets, o as embedSessions, r as listSessionsFeed, t as scan } from "./scanner-DE1MqAaF.js";
1
+ import { S as getConversationByName, _t as getDiscoveredStats, at as aggregateDiscoveredSessionCost, ct as countDiscoveredSessions, ft as findDiscoveredSessions, k as init_conversations, mt as getDiscoveredSessionById, ot as aggregateDiscoveredSessionCostBy, yt as init_discovered_sessions } from "./conversations-B-lcHv-5.js";
2
+ import { o as getSetting, s as init_control_settings, w as setSetting } from "./control-settings-D4EFsRBd.js";
3
+ import { a as enrichSessions, c as searchSessions, i as CostThresholdError, n as getSessionsFeedFacets, o as embedSessions, r as listSessionsFeed, t as scan } from "./scanner-BTM1jc_u.js";
4
4
  import { parentPort } from "node:worker_threads";
5
5
  //#region services/dashboard-db-worker.ts
6
6
  init_discovered_sessions();
@@ -59,15 +59,15 @@ async function runJob(id, operation, payload) {
59
59
  return null;
60
60
  }
61
61
  case "getArtifactBySlug": {
62
- const { getArtifactBySlugJob } = await import("./artifact-index-jobs-CmsvQ1ey.js");
62
+ const { getArtifactBySlugJob } = await import("./artifact-index-jobs-CcSrUoSE.js");
63
63
  return getArtifactBySlugJob(payload);
64
64
  }
65
65
  case "listArtifactsForWorkspaceOrIssue": {
66
- const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-CmsvQ1ey.js");
66
+ const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-CcSrUoSE.js");
67
67
  return listArtifactsForWorkspaceOrIssueJob(payload);
68
68
  }
69
69
  case "unshareArtifactBySlug": {
70
- const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-CmsvQ1ey.js");
70
+ const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-CcSrUoSE.js");
71
71
  return unshareArtifactBySlugJob(payload);
72
72
  }
73
73
  }
@@ -1,4 +1,4 @@
1
- import "./config-yaml-Dcz-8uit.js";
2
- import { Dt as handleWorkCompleted, E as handleAgentStoppedForOrphanReviewerSessions, Et as handleReviewCoordinatorDied, T as handleAgentStoppedEvent, w as handleAgentHeartbeatDeadEvent } from "./deacon-DrKDBeJL.js";
3
- import "./deacon-swarm-CO_A7xyd.js";
1
+ import "./config-yaml-cNOZcEww.js";
2
+ import { Dt as handleWorkCompleted, E as handleAgentStoppedForOrphanReviewerSessions, Et as handleReviewCoordinatorDied, T as handleAgentStoppedEvent, w as handleAgentHeartbeatDeadEvent } from "./deacon-DdARMjZq.js";
3
+ import "./deacon-swarm-BNGkmYR_.js";
4
4
  export { handleAgentHeartbeatDeadEvent, handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions, handleReviewCoordinatorDied, handleWorkCompleted };