@overdeck/desktop 0.46.0 → 0.47.0

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/drizzle/overdeck/0000_overdeck_init.sql +4 -1
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-CCwFGICj.js → acceptance-criteria-10Ur5Dne.js} +2 -2
  4. package/server/{advancing-selfheal-De1L-Sb4.js → advancing-selfheal-BNwqxseD.js} +6 -6
  5. package/server/{agent-gc-CBULruzm.js → agent-gc-C3h9Or3a.js} +5 -5
  6. package/server/{agent-state-VQk8fY9F.js → agent-state-CYXJVG72.js} +1 -1
  7. package/server/agent-state-service-C63p_ftq.js +2 -0
  8. package/server/{agent-state-service-BlnSkRFA.js → agent-state-service-Ds6OeFvo.js} +15 -9
  9. package/server/{agents-C5rWYhb6.js → agents-J5mEnekq.js} +23 -16
  10. package/server/{agents-BKKkxKgK.js → agents-ePFVoZbu.js} +1 -1
  11. package/server/archive-planning-B2XplFzT.js +2 -0
  12. package/server/{archive-planning-C0lAbNB_.js → archive-planning-BwhxeP7C.js} +10 -6
  13. package/server/{artifact-index-jobs-ug6ZxIP5.js → artifact-index-jobs-D1q_vR3V.js} +2 -2
  14. package/server/{assemble-DnffNpOo.js → assemble-Bgwqv-Ro.js} +2 -2
  15. package/server/{tmux-dedup-DbN6MGzM.js → auto-spawn-consent-CQ9Bi9q6.js} +262 -13
  16. package/server/{backlog-auto-trigger-Dh-i9PQf.js → backlog-auto-trigger-n1lzPgN4.js} +3 -3
  17. package/server/{behavior-CfIg6pKp.js → behavior-td6-xhQk.js} +2 -2
  18. package/server/boot-reconciled-stop-events-C7gGe3oB.js +44 -0
  19. package/server/{bridge-pool-patrol-CUFmjVDN.js → bridge-pool-patrol-CYH2OLb5.js} +1 -1
  20. package/server/{briefing-freshness-DHmCSLar.js → briefing-freshness-DRqZ8lAz.js} +2 -2
  21. package/server/{build-info-CuFfxZxp.js → build-info-7yiEpl6u.js} +3 -3
  22. package/server/{build-info-BP160gU7.js → build-info-CpG__c63.js} +1 -1
  23. package/server/{checkpoint-manager-Dxh0FYsv.js → checkpoint-manager-CkKmB0wZ.js} +1 -1
  24. package/server/{checkpoint-manager-DEWD82qK.js → checkpoint-manager-DBcyNR8w.js} +2 -2
  25. package/server/checkpoint-worker.js +1 -1
  26. package/server/{checkpoints-CZvbtLnr.js → checkpoints-D95apurL.js} +2 -2
  27. package/server/{checkpoints-DMTgXuLG.js → checkpoints-Wm963lm8.js} +1 -1
  28. package/server/{claude-hooks-provision-CN-xo-do.js → claude-hooks-provision-4RPxNkE8.js} +1 -1
  29. package/server/{claude-hooks-provision-fvy4RD2b.js → claude-hooks-provision-Bjitl9aI.js} +2 -2
  30. package/server/{claude-permissions-CN0cSCPp.js → claude-permissions-CpbpvUQ2.js} +2 -2
  31. package/server/{claude-settings-overlay-Dabi9slj.js → claude-settings-overlay-BzkHYDwR.js} +1 -1
  32. package/server/{claude-settings-overlay-CJn35FHQ.js → claude-settings-overlay-_H9Yrzab.js} +2 -2
  33. package/server/cli-CjOCSnfj.js +3 -0
  34. package/server/{cli-oCWYA1pE.js → cli-Cte9ZFGn.js} +9 -9
  35. package/server/{cliproxy-C8mB3KuB.js → cliproxy-C5fMJ7rY.js} +2 -2
  36. package/server/{cliproxy-PGwTX_o8.js → cliproxy-DaAbWMjC.js} +1 -1
  37. package/server/{close-issue-D5MF5GqF.js → close-issue-BPh1ARCF.js} +5 -5
  38. package/server/{closed-issue-reaper-CJ24u0Zt.js → closed-issue-reaper-DHRfRMrp.js} +1 -1
  39. package/server/{closed-issue-reaper-Cltx86x5.js → closed-issue-reaper-DoOZqGFK.js} +62 -12
  40. package/server/{codex-Drlf5Xhf.js → codex-BzGDW_d3.js} +6 -6
  41. package/server/{codex-BdEsUFWh.js → codex-o8FJwzmy.js} +1 -1
  42. package/server/{codex-parser-DpB89Vqa.js → codex-parser-Dt-ycU8L.js} +2 -2
  43. package/server/{compaction-continuation-K2AxQX4H.js → compaction-continuation-CvXpbZ4w.js} +3 -3
  44. package/server/{config-B2IMcBxx.js → config-Bi3u1VK7.js} +2 -2
  45. package/server/{config-Dr3pW6w6.js → config-BvLe652W.js} +2 -2
  46. package/server/{config-DV-grfQc.js → config-CL3Gyvja.js} +1 -1
  47. package/server/{config-yaml-CmOPzmBb.js → config-yaml-CxdwhAIA.js} +10 -2
  48. package/server/conflict-gate-CX80JYYS.js +3 -0
  49. package/server/{conflict-gate-B9cN3SBi.js → conflict-gate-E4nt7ZeS.js} +59 -13
  50. package/server/{context-layers-dR5YxHYB.js → context-layers-C_IIysnm.js} +3 -3
  51. package/server/{context-layers-D6LZo3l1.js → context-layers-DAG83UZt.js} +2 -2
  52. package/server/{control-settings-C7DUehE1.js → control-settings-CiqGxXnc.js} +13 -6
  53. package/server/{conversation-compaction-Dj4FAKoZ.js → conversation-compaction-BE3CNtHF.js} +1 -1
  54. package/server/{conversation-compaction-BoqdDXWF.js → conversation-compaction-D6-yLtqt.js} +8 -8
  55. package/server/{conversation-service-5aCnq1zR.js → conversation-service-DBxoYMDl.js} +8 -7
  56. package/server/{conversation-service-BCxl4f8Z.js → conversation-service-D_TS2b1r.js} +1 -1
  57. package/server/{conversations-C34dyIb9.js → conversations-BKDVpB-3.js} +1 -1
  58. package/server/{conversations-BUpYsOZg.js → conversations-D0UEdLtk.js} +4 -4
  59. package/server/{cost-CvxRrucd.js → cost-DS1s0DbG.js} +3 -3
  60. package/server/{cost-Bgcub5kW.js → cost-DpgYmYqR.js} +2 -2
  61. package/server/{cost-sync-Dv3LUaNW.js → cost-sync-tOCCGnEt.js} +3 -3
  62. package/server/{dag-ombYYt4s.js → dag-BtkgLeqY.js} +2 -2
  63. package/server/{dangerous-git-ops-BcJPC5Rr.js → dangerous-git-ops-CFLykHWt.js} +1 -1
  64. package/server/dashboard-db-worker.js +7 -7
  65. package/server/{deacon-DrXqT9LQ.js → deacon-BIblC-WX.js} +3 -3
  66. package/server/{deacon-nudge-log-BNBebzeL.js → deacon-nudge-log-B08gF0mh.js} +3 -3
  67. package/server/{deacon-hi9KLPLT.js → deacon-pLRLbPvR.js} +548 -176
  68. package/server/{deacon-pending-lifecycle-Cpk0k7Hi.js → deacon-pending-lifecycle-B-Io84AP.js} +3 -3
  69. package/server/deacon-swarm-B1XkIvfr.js +2 -0
  70. package/server/{deacon-swarm-DBxUaO-A.js → deacon-swarm-v5PMun-m.js} +15 -14
  71. package/server/deacon.js +8 -8
  72. package/server/{dead-end-trip-CQcP70ND.js → dead-end-trip-D8A3msX9.js} +3 -3
  73. package/server/{delivery-Da0zEMY4.js → delivery-BX9HR4wQ.js} +1 -1
  74. package/server/{deploy-patrol-Df-Tmaq0.js → deploy-patrol-sYgOxLeb.js} +8 -8
  75. package/server/{deploy-queue-UjKGYsDe.js → deploy-queue-VfohaPN_.js} +2 -2
  76. package/server/{deploy-queue-9SrhZR63.js → deploy-queue-gHJBycaF.js} +1 -1
  77. package/server/{deploy-window-jOiPRHL0.js → deploy-window-CFRZ0-kt.js} +1 -1
  78. package/server/{deploy-window-rpqpWqHA.js → deploy-window-D4DQb8VP.js} +6 -6
  79. package/server/{dev-supervisor-CC46Ig8q.js → dev-supervisor-DiOBDM1c.js} +2 -2
  80. package/server/{devcontainer-renderer-68CSCRnu.js → devcontainer-renderer-BUOIlfgD.js} +3 -3
  81. package/server/dist-B3YPQa5A.js +3 -0
  82. package/server/{dist-CJy72uEg.js → dist-C3A8B8wM.js} +1 -1
  83. package/server/{dist-src-Bik83hFi.js → dist-src-C0adpegX.js} +1 -1
  84. package/server/{docker-Dam7mbIB.js → docker-BJzlkqYB.js} +2 -2
  85. package/server/{docker-BMVTSFL5.js → docker-Y3PElJb0.js} +1 -1
  86. package/server/{dod-Dar-yheg.js → dod-DlNtcH6n.js} +26 -5
  87. package/server/{durable-review-pipeline-CGZ5QBxh.js → durable-review-pipeline-Cibps-Rg.js} +5 -2
  88. package/server/durable-review-pipeline-DP6bIcOY.js +3 -0
  89. package/server/{ensure-devcontainer-B057YA81.js → ensure-devcontainer-BAofzBPv.js} +4 -4
  90. package/server/{ensure-devcontainer-C98V8yW-.js → ensure-devcontainer-DMAbWqtQ.js} +1 -1
  91. package/server/{esm-shims-Br9BPdkR.js → esm-shims-BeObUkaw.js} +1 -1
  92. package/server/{event-store-ELqkVOn0.js → event-store-5UKzh9Jf.js} +1 -1
  93. package/server/{event-store-zY5MJHgF.js → event-store-CrHcVC5_.js} +3 -3
  94. package/server/{events-D9PR1IC0.js → events-BNrvchBg.js} +3 -3
  95. package/server/{events-D6pyqhzM.js → events-CF8QDbuV.js} +1 -1
  96. package/server/{factory-CRoOpGsF.js → factory-Cmm9Hsho.js} +5 -5
  97. package/server/{feature-registry-population--YUXU999.js → feature-registry-population-B6HpNWRy.js} +4 -4
  98. package/server/{feature-registry-storage-BORBTo0y.js → feature-registry-storage-DJEFx1Pf.js} +2 -2
  99. package/server/{features--nFkJY8v.js → features-D5km80UI.js} +2 -2
  100. package/server/{feedback-target-C0ZzyHvU.js → feedback-target-BJ5ZADsu.js} +1 -1
  101. package/server/{feedback-target-Dt9BsapX.js → feedback-target-DSxEL6lP.js} +7 -7
  102. package/server/{feedback-writer-BG0RUZiu.js → feedback-writer-C27Hak8a.js} +5 -5
  103. package/server/{feedback-writer-D1fm-5Z8.js → feedback-writer-CoB9Z6aU.js} +1 -1
  104. package/server/{flywheel-BiT3odRb.js → flywheel-BHx8XuMr.js} +38 -19
  105. package/server/{flywheel-BekukH4i.js → flywheel-DZZdtiOL.js} +1 -1
  106. package/server/{flywheel-CLVB55Be.js → flywheel-f662Q-y2.js} +14 -14
  107. package/server/{flywheel-merge-order-BJv1DZz1.js → flywheel-merge-order-D_xLMbJU.js} +7 -7
  108. package/server/{flywheel-merge-order-BKw9o6ku.js → flywheel-merge-order-Dil0LmdN.js} +1 -1
  109. package/server/forge-B5o319qI.js +3 -0
  110. package/server/{forge-CZbSg6Ds.js → forge-BaKGCya6.js} +2 -2
  111. package/server/{from-D_4_dk7i.js → from-B3tZbB55.js} +1 -1
  112. package/server/fs-lock-Bre3sGoz.js +130 -0
  113. package/server/{fts-db-BeOomFa-.js → fts-db-IVc4_M3f.js} +2 -2
  114. package/server/{fts-operations-BdewJ_g9.js → fts-operations-B9jG8wa3.js} +2 -2
  115. package/server/{git-utils-ameCgDdy.js → git-utils-CsvYfJU3.js} +4 -4
  116. package/server/{git-utils-CI6cwyyC.js → git-utils-Xg4PFN45.js} +1 -1
  117. package/server/{github-app-DtAsvwzK.js → github-app-Bmg4R9mv.js} +1 -1
  118. package/server/{github-app-CQ1Lo6LA.js → github-app-CmNk0zLU.js} +2 -2
  119. package/server/{github-client-Cj0yl_07.js → github-client-B6KM9_wA.js} +1 -1
  120. package/server/{github-client-BfyDxuRN.js → github-client-qazkPrg0.js} +3 -3
  121. package/server/{github-pr-lookup-BDq6Wznz.js → github-pr-lookup-DAcVeRLK.js} +2 -2
  122. package/server/{harness-binary-DqkftwTb.js → harness-binary-BSpiXaLw.js} +2 -2
  123. package/server/{harness-resolve-CqMqM1Mb.js → harness-resolve-BAJu5MX8.js} +4 -4
  124. package/server/{health-events-_xfTaOUs.js → health-events-2Z6Wa9SM.js} +1 -1
  125. package/server/{health-events-CazRxJUS.js → health-events-BwX32k8d.js} +2 -2
  126. package/server/{hooks-BnJsxlSq.js → hooks-D1g1jKLI.js} +1 -1
  127. package/server/{hooks-BO3QT1sn.js → hooks-DbtbimEf.js} +2 -2
  128. package/server/{hume-CDYJxqx-.js → hume-DXNiu6nQ.js} +2 -2
  129. package/server/hume-VUCNbTgn.js +3 -0
  130. package/server/{idle-stack-reaper-BYqERdkE.js → idle-stack-reaper-CRA1e0jr.js} +1 -1
  131. package/server/{idle-stack-reaper-CnGx_PO_.js → idle-stack-reaper-Cy-dQzW4.js} +2 -2
  132. package/server/{in-flight-guard-Bq3epG58.js → in-flight-guard-D-sSkADM.js} +1 -1
  133. package/server/{infra-BjuxvjdS.js → infra-BDQDRopn.js} +15 -4
  134. package/server/{injection-UCf8EsjX.js → injection-6AGnXxlj.js} +7 -7
  135. package/server/{injection-DZxlV2al.js → injection-Bl8d_jHZ.js} +1 -1
  136. package/server/inspect-agent-CUwVmr2h.js +2 -0
  137. package/server/{inspect-agent-6kylZnrm.js → inspect-agent-nXdIptyh.js} +12 -12
  138. package/server/{internal-token-DvMTQSOS.js → internal-token-DzK385vD.js} +2 -2
  139. package/server/{internal-token-M9omeXM1.js → internal-token-Ias7N8Kg.js} +1 -1
  140. package/server/{io-VHvc0Ssp.js → io-B00PBNku.js} +4 -4
  141. package/server/{issue-closed-B6KJkmHZ.js → issue-closed-BehTG1be.js} +8 -8
  142. package/server/{issue-lifecycle-C4Zj0WmE.js → issue-lifecycle-Birk-ifu.js} +29 -23
  143. package/server/{issue-lifecycle-9gk3fnXN.js → issue-lifecycle-BqSuQvbn.js} +1 -1
  144. package/server/{issue-service-singleton-PMx8F1jr.js → issue-service-singleton-B2wXiIlw.js} +1 -1
  145. package/server/{issue-service-singleton-DmCh7EHj.js → issue-service-singleton-C6ZduvuY.js} +10 -10
  146. package/server/{issues-CgnQ1OGQ.js → issues-DQ5-LatB.js} +2 -2
  147. package/server/{jsonl-parser-DJOH_O-w.js → jsonl-parser-BDpnGFCl.js} +3 -3
  148. package/server/{label-cleanup-Dv7AV_R1.js → label-cleanup-Dwnky8FG.js} +3 -3
  149. package/server/{lifecycle-DDN8ApVY.js → lifecycle-B3s4sM1G.js} +6 -6
  150. package/server/{lifecycle-CTdOWYMi.js → lifecycle-B4Xdb4cY.js} +2 -2
  151. package/server/{lifecycle-io-D_zTLvP1.js → lifecycle-io-CzTHEooc.js} +1 -1
  152. package/server/{lifecycle-io-D-lGdzK3.js → lifecycle-io-DCo6s6ks.js} +5 -5
  153. package/server/{linear-client-BQU36QqE.js → linear-client-9uq7fhiV.js} +3 -3
  154. package/server/{linear-client-CY4O_Tu3.js → linear-client-CnbtHiic.js} +1 -1
  155. package/server/{linear-mcp-auth-BnU4TYfY.js → linear-mcp-auth-BxUOzswy.js} +5 -5
  156. package/server/{linear-mcp-auth-NYBq_oHZ.js → linear-mcp-auth-D46fBCLf.js} +1 -1
  157. package/server/memory-fts-worker.js +1 -1
  158. package/server/{merge-Bpx4jjht.js → merge-DiW9RdSB.js} +3 -3
  159. package/server/{merge-agent-DdMVSV2Y.js → merge-agent-BLUgRsz3.js} +31 -31
  160. package/server/{merge-agent-DrXa1CpW.js → merge-agent-DQTXZk8z.js} +1 -1
  161. package/server/{merge-batch-C5q1c1GX.js → merge-batch-Cp_j9BGk.js} +1 -1
  162. package/server/{merge-completeness-BMm8tMyZ.js → merge-completeness-B46KqhtY.js} +4 -4
  163. package/server/{merge-completeness-D0ljXbk3.js → merge-completeness-BLbB5-6n.js} +1 -1
  164. package/server/merge-ops-1abz6O_P.js +2 -0
  165. package/server/merge-rebase-CJJVAJuz.js +2 -0
  166. package/server/{merge-rebase-xLnMlw5h.js → merge-rebase-DIkBjgwq.js} +2 -2
  167. package/server/{merge-set-DH7ot3yz.js → merge-set-CBgHfwM0.js} +4 -4
  168. package/server/{merge-set-DzsOTBg5.js → merge-set-DeUxFsC3.js} +1 -1
  169. package/server/{merge-idOG--29.js → merge-sr8Nrnmi.js} +1 -1
  170. package/server/merge-sync-CpGmk6Ch.js +3 -0
  171. package/server/{merge-sync-CQ-LgZ1_.js → merge-sync-kr4vqyjM.js} +7 -4
  172. package/server/{merge-train-DTEMyIu4.js → merge-train-Dmrcus12.js} +4 -4
  173. package/server/{merge-train-deps-CNPJzepw.js → merge-train-deps-D_uGX91G.js} +21 -15
  174. package/server/{merge-verification-x3JO8Dtz.js → merge-verification-NvaAd8CZ.js} +6 -6
  175. package/server/{merged-docker-cleanup-worker-Cdi9apm-.js → merged-docker-cleanup-worker-DH_hrGPI.js} +1 -1
  176. package/server/{merged-docker-cleanup-worker-CTpC27Bs.js → merged-docker-cleanup-worker-Y1R06TEl.js} +3 -3
  177. package/server/{multipart-parser-IMSBfePV.js → multipart-parser-R-oC8dQg.js} +2 -2
  178. package/server/{no-resume-mode-C5ULAXwO.js → no-resume-mode-BgD0JUmM.js} +1 -1
  179. package/server/node_modules/.package-lock.json +4 -4
  180. package/server/node_modules/@types/node/README.md +1 -1
  181. package/server/node_modules/@types/node/crypto.d.ts +1 -1
  182. package/server/node_modules/@types/node/package.json +2 -2
  183. package/server/{orphan-proposed-reconciler-Dg6U4ADZ.js → orphan-proposed-reconciler-B6vJHxtX.js} +230 -31
  184. package/server/{orphan-proposed-reconciler-CWmOdM9-.js → orphan-proposed-reconciler-DcgTPPFY.js} +1 -1
  185. package/server/package-lock.json +5 -5
  186. package/server/package.json +1 -1
  187. package/server/{pan-dir-ubraCiUg.js → pan-dir-DMzF5wne.js} +4 -4
  188. package/server/{paths-cXmOwSbh.js → paths-sJBSb7Ul.js} +2 -2
  189. package/server/{pending-lifecycle-claim-DEteYdS9.js → pending-lifecycle-claim-DilzGfgk.js} +2 -2
  190. package/server/persistent-logger-H_VjuOu7.js +57 -0
  191. package/server/{pickup-D8xtG1J2.js → pickup-DWhqzliO.js} +4 -3
  192. package/server/{pipeline-membership-BGSvkT2M.js → pipeline-membership-C88VBnhJ.js} +1 -1
  193. package/server/{pipeline-membership-CrAPLYtf.js → pipeline-membership-D9SBvItj.js} +1 -1
  194. package/server/{pipeline-membership-gather-DTfcgxLl.js → pipeline-membership-gather-4eR-7Tqy.js} +1 -1
  195. package/server/{pipeline-membership-gather-CET40frr.js → pipeline-membership-gather-CeVGnNJ2.js} +114 -9
  196. package/server/{pipeline-notifier-BuQ0e4hF.js → pipeline-notifier-D0ALV6Nw.js} +2 -2
  197. package/server/{pipeline-notifier-ImNXknf0.js → pipeline-notifier-DT6xLFao.js} +1 -1
  198. package/server/{post-merge-lifecycle-worker-DbO10pum.js → post-merge-lifecycle-worker-8HIeS_J6.js} +3 -3
  199. package/server/{project-pipelines-Bim6bThI.js → project-pipelines-9SKt2bEc.js} +2 -2
  200. package/server/{project-repos-C0nuoBGv.js → project-repos-B5pIphKg.js} +2 -2
  201. package/server/{project-repos-CRE6Ykow.js → project-repos-DPjOdfPa.js} +1 -1
  202. package/server/{projects-B03Wr-xc.js → projects-_n3Zui6K.js} +1 -1
  203. package/server/{prompts-BEx08AIu.js → prompts-CgzMBvQF.js} +2 -2
  204. package/server/{providers-D7IluJe0.js → providers-BI1mOBQ4.js} +1 -1
  205. package/server/{providers-evXhiQeg.js → providers-BJQSnAAp.js} +7 -7
  206. package/server/public/assets/{chunk-BO2N2NFS-D1s4-Sqp.js → chunk-BO2N2NFS-D_pGACYN.js} +4 -4
  207. package/server/public/assets/{diagram-OG6HWLK6-1gdMoSF7.js → diagram-OG6HWLK6-BO6fe3hH.js} +1 -1
  208. package/server/public/assets/{dist-DqDRYW6P.js → dist-5zingMiA.js} +3 -3
  209. package/server/public/assets/{dist-CxAOHbil.js → dist-CVxhbI2E.js} +1 -1
  210. package/server/public/assets/{ganttDiagram-6RSMTGT7-BYex-Ec7.js → ganttDiagram-6RSMTGT7-Bgj4A7kp.js} +1 -1
  211. package/server/public/assets/{highlighted-body-OFNGDK62-DlVkiG0S.js → highlighted-body-OFNGDK62-DNPK7_cm.js} +1 -1
  212. package/server/public/assets/{index-K0hAYCgV.js → index-DEpY-D1O.js} +148 -148
  213. package/server/public/assets/index-Ddkcz3WT.css +1 -0
  214. package/server/public/assets/{linear-B4cuEFmO.js → linear-BB0jQT16.js} +1 -1
  215. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +1 -0
  216. package/server/public/assets/{pieDiagram-4H26LBE5-CBHNBIJQ.js → pieDiagram-4H26LBE5-DeGIzzpZ.js} +1 -1
  217. package/server/public/assets/{prod-CN2nHBvX.js → prod-XBLvikex.js} +4 -4
  218. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bom87VOQ.js → quadrantDiagram-W4KKPZXB-BV9SLeWz.js} +1 -1
  219. package/server/public/assets/{sankeyDiagram-5OEKKPKP-UrBeyLxk.js → sankeyDiagram-5OEKKPKP-Dwja0gj8.js} +1 -1
  220. package/server/public/assets/{xychartDiagram-2RQKCTM6-DhkbrIxR.js → xychartDiagram-2RQKCTM6-DCB4qvfw.js} +1 -1
  221. package/server/public/index.html +2 -2
  222. package/server/{pull-requests-DHWiKxo7.js → pull-requests-7BgLDsIo.js} +3 -3
  223. package/server/{pull-requests-Cv7LxzUN.js → pull-requests-Dq0y6IxE.js} +1 -1
  224. package/server/{queries-DHJm7bTd.js → queries-C-MUZaIy.js} +266 -155
  225. package/server/{rally-B71M9f4o.js → rally-CPysR4T_.js} +3 -3
  226. package/server/rally-D_VW4bJv.js +3 -0
  227. package/server/{rally-api-Dkqmok65.js → rally-api-8Ptlp2os.js} +2 -2
  228. package/server/{rally-api-D5uXN08-.js → rally-api-CgosKdKL.js} +1 -1
  229. package/server/{rally-client-CxsA6ExK.js → rally-client-CCX0hADj.js} +1 -1
  230. package/server/{rally-client-Bfqm6XI4.js → rally-client-iYMHWQD7.js} +5 -5
  231. package/server/{reap-terminal-sessions-BQ23nriz.js → reap-terminal-sessions-4Xg9NGA8.js} +2 -2
  232. package/server/{reap-terminal-sessions-CvmwaqKv.js → reap-terminal-sessions-Qf-9LVQc.js} +2 -2
  233. package/server/{rebuild-stack-0EEYReVZ.js → rebuild-stack-CMdgaylx.js} +7 -7
  234. package/server/{rebuild-stack-qeRqHZxH.js → rebuild-stack-DqcOVmJO.js} +2 -2
  235. package/server/{reconstruct-cache-BbYFsqLa.js → reconstruct-cache-CMZJ_Vjq.js} +9 -8
  236. package/server/{record-CtroO946.js → record-BTwWhtBb.js} +1 -1
  237. package/server/{record-update-Z0QCxmMp.js → record-update-DaOKS7Wb.js} +5 -128
  238. package/server/{record-update-DH6dLJID.js → record-update-DhI7eySG.js} +1 -1
  239. package/server/{recovery-trip-eJe26h-f.js → recovery-trip-DDH-02ng.js} +2 -2
  240. package/server/{release-engine-lPUp-MTd.js → release-engine-B2X9AfFC.js} +5 -5
  241. package/server/{release-set-BwGeyZKX.js → release-set-G4XKyQ8K.js} +3 -3
  242. package/server/{remote-BCd02Es1.js → remote-BXarMvqf.js} +3 -3
  243. package/server/{remote-CVGUhXMV.js → remote-CUhyqjXk.js} +3 -3
  244. package/server/{remote-agents-C_VxssLU.js → remote-agents-Bba-MgSA.js} +17 -8
  245. package/server/{remote-agents-C1bssi41.js → remote-agents-CLZB3Coc.js} +1 -1
  246. package/server/{remote-completion-DAB0P706.js → remote-completion-CwAp79EC.js} +13 -13
  247. package/server/resume-mOREjlYu.js +3 -0
  248. package/server/{review-agent-CHhI66UP.js → review-agent--pOptAEV.js} +31 -29
  249. package/server/{review-agent-CD4RCI0Y.js → review-agent-BTCNkq2h.js} +1 -1
  250. package/server/{review-artifacts-DSMRIfuJ.js → review-artifacts-BNmw8dWE.js} +5 -5
  251. package/server/{review-context-oFuBbiEE.js → review-context-DFxYOOJW.js} +9 -9
  252. package/server/{review-convoy-liveness-CpzrcJ5F.js → review-convoy-liveness-BgU_1jJf.js} +2 -2
  253. package/server/{review-status-yljtTd-q.js → review-status-CGvlA4o_.js} +326 -110
  254. package/server/review-status-Dma9SFaN.js +3 -0
  255. package/server/{review-status-emit-CUExtHd5.js → review-status-emit-DURrmGYX.js} +3 -3
  256. package/server/{review-status-enrichment-QV_hQkgS.js → review-status-enrichment-8NiNXi5W.js} +3 -3
  257. package/server/{review-status-source-ylw5QZUR.js → review-status-source-BLx_1siH.js} +1 -1
  258. package/server/{review-status-source-CpvJnvnQ.js → review-status-source-DIk1JSow.js} +1 -1
  259. package/server/{review-status-sync-483sujRo.js → review-status-sync-0GxOqeqF.js} +11 -6
  260. package/server/{review-status-sync-NaWvI9Xf.js → review-status-sync-muT-EBp2.js} +1 -1
  261. package/server/{review-verdict-feedback-BPDn4li_.js → review-verdict-feedback-HwF6ODFy.js} +1 -1
  262. package/server/{review-verdict-feedback-CELeUinh.js → review-verdict-feedback-xJNdqBnX.js} +23 -9
  263. package/server/{rollup-DTNvelz9.js → rollup-BQaol5TX.js} +8 -8
  264. package/server/{rollup-DYZfq1c4.js → rollup-BR4t_wck.js} +1 -1
  265. package/server/{scanner-CV35oSn4.js → scanner-C-D2cFdX.js} +7 -7
  266. package/server/{sequence-io-DF_8iuhV.js → sequence-io-Bmf1EZM5.js} +4 -4
  267. package/server/{sequencer-agent-B2WeCtGi.js → sequencer-agent-CigMyKh2.js} +7 -6
  268. package/server/server.js +435 -418
  269. package/server/{service-Br9rpBNA.js → service-CD0DvFvD.js} +88 -59
  270. package/server/{session-fork-D0LY152N.js → session-fork-B6cQ5eya.js} +2 -2
  271. package/server/{session-history-BUyK29eq.js → session-history-3ON_IJjm.js} +7 -55
  272. package/server/settings-CVmWiJ-r.js +2 -0
  273. package/server/{settings-CvVGqNEs.js → settings-PilbFZAM.js} +2 -2
  274. package/server/{settings-Bse1Pdcj.js → settings-VN0qOh4U.js} +3 -3
  275. package/server/{shadow-engineering-BWLa8ODz.js → shadow-engineering-DXvx77oE.js} +3 -3
  276. package/server/{shadow-state-B4fpKxOO.js → shadow-state-BBk_zacw.js} +2 -2
  277. package/server/{shadow-state-FV6PHfEW.js → shadow-state-CZBp7pwq.js} +1 -1
  278. package/server/{shadow-utils-D7asqxOZ.js → shadow-utils-DdZ05AJS.js} +2 -2
  279. package/server/{ship-log-xplJ8t75.js → ship-log-7kJfjUX2.js} +1 -1
  280. package/server/{smart-compaction-CPp2Ykf6.js → smart-compaction-8fA5k5XN.js} +1 -1
  281. package/server/{smart-compaction-D3U_79f-.js → smart-compaction-ByhL9cRS.js} +7 -7
  282. package/server/{spawn-planning-session-DGfZ5B8D.js → spawn-planning-session-pcF-YeFE.js} +38 -50
  283. package/server/spawn-planning-session-vLUJoFjy.js +3 -0
  284. package/server/{specialist-completion-Br48eiDP.js → specialist-completion-B07XjWD2.js} +1 -1
  285. package/server/{specialist-context-cVbGnTa3.js → specialist-context-DJ-zFyL3.js} +5 -5
  286. package/server/{specialist-handoff-logger-DK-GTz4s.js → specialist-handoff-logger-aKSxbIgD.js} +2 -2
  287. package/server/{specialist-logs-Cl5-hqT8.js → specialist-logs-Dae-n52_.js} +3 -3
  288. package/server/{specialists-CNfYO3G2.js → specialists-6PWdtWcg.js} +298 -180
  289. package/server/{specialists-Tdezg_6N.js → specialists-Bz-wFT7R.js} +1 -1
  290. package/server/{specialists-Cicieuzu.js → specialists-DUiExaxb.js} +18 -18
  291. package/server/{specialists-JHsdU3pA.js → specialists-KR3pKulN.js} +1 -1
  292. package/server/specs--enInima.js +3 -0
  293. package/server/{src-CRmCHlma.js → src-B948bGVR.js} +57 -13
  294. package/server/{src-Ck028hjO.js → src-rac0Mepv.js} +6 -6
  295. package/server/{src-UWcGe0Ix.js → src-vHy2-oCv.js} +3 -3
  296. package/server/{stack-health-CJLMrLBl.js → stack-health-BikqHSjn.js} +1 -1
  297. package/server/{stack-health-DqSqx0zv.js → stack-health-DqLTiEu4.js} +2 -2
  298. package/server/{stale-task-claims-CYFOUNlT.js → stale-task-claims-Cab_Fo_Z.js} +5 -4
  299. package/server/{staleness-D47CUJok.js → staleness-C-a5rBxF.js} +1 -1
  300. package/server/{staleness-BQ-0gMYK.js → staleness-CGTZyp6V.js} +1 -1
  301. package/server/{state-home-BYV7qZTW.js → state-home-722Dkx92.js} +2 -2
  302. package/server/{state-mapping-BVldLhBf.js → state-mapping-CybR81Uf.js} +1 -1
  303. package/server/{state-migrate-CvvBtS0Y.js → state-migrate-2u8wIpoL.js} +4 -4
  304. package/server/{stuck-remediation-mkLC6G_t.js → stuck-remediation-CC6q3eqQ.js} +24 -23
  305. package/server/{stuck-remediation-Wt0UVvu1.js → stuck-remediation-r1TJu68G.js} +1 -1
  306. package/server/{substrate-bug-weights-service-XfLAKnmK.js → substrate-bug-weights-service-CzIyyWFT.js} +3 -3
  307. package/server/{summary-fork-CD7GOts0.js → summary-fork-BqgmgPDt.js} +2 -2
  308. package/server/{summary-fork-xiXBnWG9.js → summary-fork-Df2WFijM.js} +8 -8
  309. package/server/supervisor/{injection-budget-B5SbvDx2.js → injection-budget-Cg_KIb3o.js} +1 -1
  310. package/server/supervisor/{paths-K3noE4N_.js → paths-BBOnCYlO.js} +10 -2
  311. package/server/supervisor/pty-supervisor.js +4 -4
  312. package/server/supervisor/{pty-token-B7lp0ElT.js → pty-token-BbjwEUUM.js} +3 -3
  313. package/server/supervisor-B4anCCSm.js +2 -0
  314. package/server/{supervisor-DL788vos.js → supervisor-BxqSpjcN.js} +3 -3
  315. package/server/{swarm-readiness-BV14DF5N.js → swarm-readiness-DfFxa9-n.js} +3 -3
  316. package/server/{system-prerequisites-pdWG6ZQs.js → system-prerequisites-ICLSkhhZ.js} +2 -2
  317. package/server/{teardown-workspace-l2F4_zim.js → teardown-workspace-DRdi_CPa.js} +15 -15
  318. package/server/{test-agent-queue-qakFIIGz.js → test-agent-queue-A_-p-i0I.js} +8 -7
  319. package/server/{test-verdict-Gw-btEfb.js → test-verdict-BHgTAwIG.js} +1 -1
  320. package/server/{test-verdict-BJYDggMm.js → test-verdict-C4i9aqEP.js} +1 -1
  321. package/server/{tldr-daemon-BKOYB616.js → tldr-daemon-CvWXBhX1.js} +1 -1
  322. package/server/{tldr-daemon-CBaWkV9k.js → tldr-daemon-wvsU6bKv.js} +2 -2
  323. package/server/{tmux-B1Wbxz5o.js → tmux-CfDHob9M.js} +174 -4
  324. package/server/{tmux-DQ6jB76i.js → tmux-Ctk6RV5l.js} +1 -1
  325. package/server/{token-Cxbk023d.js → token-DrxwytsZ.js} +2 -2
  326. package/server/{token-util-CLq2MmQt.js → token-util-B48BlCba.js} +1 -1
  327. package/server/token-util-D411CAq9.js +3 -0
  328. package/server/{tracker-config-DZ8Zn2nQ.js → tracker-config-BcPMElRB.js} +2 -2
  329. package/server/{tracker-utils-L0FKtjq2.js → tracker-utils-CJ6BHjcD.js} +2 -2
  330. package/server/{traefik-connect-bNX6jKkb.js → traefik-connect-DZ6nMYMj.js} +1 -1
  331. package/server/{tunnel-CjSnHdTc.js → tunnel-Bp-dRHZz.js} +1 -1
  332. package/server/{tunnel-BAm1XgjG.js → tunnel-DUbUPElU.js} +3 -3
  333. package/server/{typed-errors-BHhE85Ul.js → typed-errors-CKeoDdU3.js} +1 -1
  334. package/server/{typed-errors-2BTMxkZq.js → typed-errors-DyjseiB6.js} +1 -1
  335. package/server/{types-hraoaQIp.js → types-Cm5ASJbq.js} +1 -1
  336. package/server/{types-q67TYYg5.js → types-Di8wdakq.js} +1 -1
  337. package/server/{uat-promote-verification-CKB9ZrKC.js → uat-promote-verification-CoJuh7XO.js} +5 -5
  338. package/server/{uat-train-D5UjcyAa.js → uat-train-4Q0k06CQ.js} +0 -0
  339. package/server/{uat-train-Cu-4nvbf.js → uat-train-Dewoatps.js} +1 -1
  340. package/server/{validate-Cxsx5Uz1.js → validate-B0C8p66t.js} +3 -3
  341. package/server/{validation-VZgJxmqc.js → validation-B_kIRfNe.js} +4 -4
  342. package/server/{validation-DEaTZafj.js → validation-hVOwQk8T.js} +1 -1
  343. package/server/{verification-artifact-C85cRTc_.js → verification-artifact-BxlxTiYK.js} +1 -1
  344. package/server/{verification-artifact-g3yuxQDL.js → verification-artifact-D70AtckY.js} +1 -1
  345. package/server/{verification-runner-DlZI8yhw.js → verification-runner-Bc3cJvpC.js} +1 -1
  346. package/server/{verification-runner-KDZIsBj4.js → verification-runner-KZTz6u72.js} +19 -19
  347. package/server/{vtt-parser-Jr94BF3Y.js → vtt-parser-CE_i3Bcw.js} +1 -1
  348. package/server/{work-agent-prompt-C-vuP3_J.js → work-agent-prompt-ByrPAzOy.js} +9 -9
  349. package/server/{workflows-D0oip4eV.js → workflows-D0vP1WrK.js} +113 -43
  350. package/server/workflows-DtDX08ed.js +2 -0
  351. package/server/{workspace-BqFg__wH.js → workspace-COWvdibH.js} +1 -1
  352. package/server/{workspace-C0fH3aek.js → workspace-DQkRPLlQ.js} +3 -3
  353. package/server/{workspace-anchor-drift-CZKofakh.js → workspace-anchor-drift-DXYIAHzr.js} +4 -4
  354. package/server/{workspace-anchor-drift-B4gMRHl4.js → workspace-anchor-drift-pwz23TI1.js} +1 -1
  355. package/server/{workspace-config-B123aZl-.js → workspace-config-BdZM4PvZ.js} +1 -1
  356. package/server/{workspace-manager-CwO-Hek7.js → workspace-manager-BPgTrG66.js} +13 -13
  357. package/server/{workspace-manager-CDTKjjdU.js → workspace-manager-C1F3XsnS.js} +1 -1
  358. package/server/{workspace-metadata-D4M8BM4W.js → workspace-metadata-CdjzAP8x.js} +1 -1
  359. package/server/{workspace-metadata-CQv00QwK.js → workspace-metadata-DkO_iTLo.js} +2 -2
  360. package/server/{workspaces-j1e_6aAT.js → workspaces-CRBJikLp.js} +136 -113
  361. package/sync-sources/skills/pan-merge/SKILL.md +7 -5
  362. package/sync-sources/skills/pan-release/SKILL.md +57 -0
  363. package/server/agent-state-service-hZpxIw1E.js +0 -2
  364. package/server/archive-planning-0FJ6Xd3b.js +0 -2
  365. package/server/cli-DmXETsw-.js +0 -3
  366. package/server/conflict-gate-Dh754uyA.js +0 -3
  367. package/server/deacon-swarm-I2JfX5Tg.js +0 -2
  368. package/server/dist-DSlxIU1H.js +0 -3
  369. package/server/durable-review-pipeline-jpgCJZFp.js +0 -3
  370. package/server/forge-DK3blQb_.js +0 -3
  371. package/server/hume-Dq--7rOQ.js +0 -3
  372. package/server/inspect-agent-BVwDrVrz.js +0 -2
  373. package/server/label-reconciler--F85rufp.js +0 -113
  374. package/server/merge-ops-DdpTiEMt.js +0 -2
  375. package/server/merge-rebase-DGQpYJU3.js +0 -2
  376. package/server/merge-sync-Ca7F5JnQ.js +0 -3
  377. package/server/public/assets/index-Cc7cnFC4.css +0 -1
  378. package/server/public/assets/mermaid-GHXKKRXX-DyDHFXHV.js +0 -1
  379. package/server/rally-YDjU513q.js +0 -3
  380. package/server/resume-u9byntrq.js +0 -3
  381. package/server/review-status-BZH8h-6W.js +0 -3
  382. package/server/settings-CdvIF84R.js +0 -2
  383. package/server/spawn-planning-session-1nFi3gfk.js +0 -2
  384. package/server/specs-Bt7WJDoC.js +0 -3
  385. package/server/supervisor-UWiQNK-y.js +0 -2
  386. package/server/token-util-zlz9U0ki.js +0 -3
  387. package/server/workflows-CHrx_hcW.js +0 -2
@@ -1,32 +1,33 @@
1
1
  import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as derefWorkhorse, Bt as readRecordContinueViewSync, Fr as init_errors, Gn as init_projects, Gr as OVERDECK_HOME, Ir as AGENTS_DIR, Nt as getProjectConfigFromWorkspacePath, Pt as init_record, Vt as resolveProjectForIssue, ar as resolveProjectFromIssueSync, ci as init_paths, f as loadConfigSync, si as getOverdeckHome, t as init_config_yaml } from "./config-yaml-CmOPzmBb.js";
2
+ import { $ as derefWorkhorse, Bt as readRecordContinueViewSync, Fr as init_errors, Gn as init_projects, Gr as OVERDECK_HOME, Ir as AGENTS_DIR, Nt as getProjectConfigFromWorkspacePath, Pt as init_record, Vt as resolveProjectForIssue, ar as resolveProjectFromIssueSync, ci as getOverdeckHome, f as loadConfigSync, li as init_paths, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
3
  import { o as init_activity_logger, r as emitActivityEntrySync } from "./activity-logger-CyteR4JO.js";
4
- import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-BjuxvjdS.js";
5
- import { D as killSession, H as sessionExists, U as sessionExistsSync, m as exactPaneTarget, w as init_tmux } from "./tmux-B1Wbxz5o.js";
6
- import { S as setReviewStatusSync, f as init_review_status, m as loadReviewStatuses } from "./review-status-yljtTd-q.js";
7
- import { n as init_issues, t as IssueId } from "./issues-CgnQ1OGQ.js";
8
- import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-Bgcub5kW.js";
9
- import { $n as getAgentDir, Gr as init_ohmypi_parser, Ir as getAgentRuntimeStateSync, J as isContextOverflowTail, K as init_context_overflow, Kr as parseOhmypiSessionCostResultSync, Rr as saveAgentRuntimeState, _r as saveAgentStateSync, a as listRunningAgentsSync, b as init_agents, mt as stopAgentSync, rr as getAgentStateSync, tr as getAgentState, ut as spawnAgent } from "./queries-DHJm7bTd.js";
10
- import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-DpB89Vqa.js";
11
- import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-Dv3LUaNW.js";
12
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-DmCh7EHj.js";
13
- import { r as isRoleTerminal } from "./review-status-source-CpvJnvnQ.js";
14
- import { m as readWorkspacePlanSync, o as init_io } from "./io-VHvc0Ssp.js";
15
- import { g as requireModelOverrideSync, m as init_model_validation } from "./tmux-dedup-DbN6MGzM.js";
16
- import { S as setFlywheelGloballyPaused, _ as setCloisterSpawnsPausedSync, c as isCloisterSpawnsPausedSync, d as isFlywheelAutoPickupBacklog, s as init_control_settings, v as setDeaconGloballyPaused } from "./control-settings-C7DUehE1.js";
17
- import { n as checkHookSync, p as init_hooks } from "./hooks-BO3QT1sn.js";
18
- import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-B2IMcBxx.js";
19
- import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-CvmwaqKv.js";
20
- import { o as getRuntimeForAgent } from "./stuck-remediation-mkLC6G_t.js";
21
- import { m as init_pickup, n as LEGACY_PARKED_LABELS } from "./pickup-D8xtG1J2.js";
22
- import "./flywheel-BiT3odRb.js";
23
- import { Ct as deliverOrchestratedCompact, E as isDeaconRunning, L as startDeacon, M as runPatrol, R as stopDeacon, S as getLastPatrolResult, b as getDeaconLogs, n as assessDeaconPatrolFreshness, x as getDeaconStatus } from "./deacon-hi9KLPLT.js";
24
- import { n as renderPrompt, t as init_prompts } from "./prompts-BEx08AIu.js";
25
- import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-B6KJkmHZ.js";
26
- import { U as getTmuxSessionName, t as init_specialists } from "./specialists-Cicieuzu.js";
27
- import { n as init_merge_verification, r as shouldSkipDispatchAsMerged } from "./merge-verification-x3JO8Dtz.js";
28
- import { t as recordDeadEndNeedsYou } from "./dead-end-trip-CQcP70ND.js";
29
- import { r as writeHealthEvent } from "./health-events-CazRxJUS.js";
4
+ import { D as sql, E as like, S as gte, _ as integer, a as EventBus, b as and, f as init_infra, g as real, h as text, i as DbLive, m as sqliteTable, n as CostArchiveLive, o as EventBusLive, p as init_sqlite_core, r as Db, t as CostArchive, v as init_drizzle_orm, x as eq, y as desc } from "./infra-BDQDRopn.js";
5
+ import { D as killSession, H as sessionExists, U as sessionExistsSync, m as exactPaneTarget, w as init_tmux } from "./tmux-CfDHob9M.js";
6
+ import { C as setReviewStatusSync, h as loadReviewStatuses, p as init_review_status } from "./review-status-CGvlA4o_.js";
7
+ import { n as init_issues, t as IssueId } from "./issues-DQ5-LatB.js";
8
+ import { a as getAllBudgetsSync, i as deleteBudgetSync, n as checkBudgetSync, r as createBudgetSync, s as init_cost } from "./cost-DpgYmYqR.js";
9
+ import { $n as getAgentDir, Br as saveAgentRuntimeState, J as isContextOverflowTail, Jr as parseOhmypiSessionCostResultSync, K as init_context_overflow, Rr as getAgentRuntimeStateSync, _r as saveAgentStateSync, a as listRunningAgentsSync, b as init_agents, mt as stopAgentSync, qr as init_ohmypi_parser, rr as getAgentStateSync, tr as getAgentState, ut as spawnAgent } from "./queries-C-MUZaIy.js";
10
+ import { n as parseCodexSessionCostEventsSync, r as parseCodexSessionSync, t as init_codex_parser } from "./codex-parser-Dt-ycU8L.js";
11
+ import { _ as init_tier_metrics, c as getDailyTrendsSync, d as init_cost_sync, h as deriveTieredAgentCostRole, t as getAgentDailyCostSync } from "./cost-sync-tOCCGnEt.js";
12
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-C6ZduvuY.js";
13
+ import { r as isRoleTerminal } from "./review-status-source-DIk1JSow.js";
14
+ import { m as readWorkspacePlanSync, o as init_io } from "./io-B00PBNku.js";
15
+ import { D as requireModelOverrideSync, T as init_model_validation } from "./auto-spawn-consent-CQ9Bi9q6.js";
16
+ import { C as setFlywheelGloballyPaused, c as init_control_settings, f as isFlywheelAutoPickupBacklog, l as isCloisterSpawnsPausedSync, v as setCloisterSpawnsPausedSync, y as setDeaconGloballyPaused } from "./control-settings-CiqGxXnc.js";
17
+ import { n as checkHookSync, p as init_hooks } from "./hooks-DbtbimEf.js";
18
+ import { a as loadCloisterConfigSync, n as getHealthThresholdsMs, r as init_config } from "./config-Bi3u1VK7.js";
19
+ import { t as init_reap_terminal_sessions } from "./reap-terminal-sessions-Qf-9LVQc.js";
20
+ import { o as getRuntimeForAgent } from "./stuck-remediation-CC6q3eqQ.js";
21
+ import { h as init_pickup, r as LEGACY_PARKED_LABELS } from "./pickup-DWhqzliO.js";
22
+ import "./flywheel-BHx8XuMr.js";
23
+ import { E as isDeaconRunning, L as startDeacon, M as runPatrol, R as stopDeacon, S as getLastPatrolResult, Tt as deliverOrchestratedCompact, b as getDeaconLogs, n as assessDeaconPatrolFreshness, x as getDeaconStatus } from "./deacon-pLRLbPvR.js";
24
+ import { n as renderPrompt, t as init_prompts } from "./prompts-CgzMBvQF.js";
25
+ import { n as init_issue_closed, r as isIssueClosed } from "./issue-closed-BehTG1be.js";
26
+ import { U as getTmuxSessionName, t as init_specialists } from "./specialists-DUiExaxb.js";
27
+ import { n as init_merge_verification, r as shouldSkipDispatchAsMerged } from "./merge-verification-NvaAd8CZ.js";
28
+ import { t as recordDeadEndNeedsYou } from "./dead-end-trip-D8A3msX9.js";
29
+ import { c as gatherAutonomousWorkDispatchInput, s as decideAutonomousWorkDispatch } from "./orphan-proposed-reconciler-B6vJHxtX.js";
30
+ import { r as writeHealthEvent } from "./health-events-BwX32k8d.js";
30
31
  import { join } from "node:path";
31
32
  import { Context, Data, Effect, Layer, Schema } from "effect";
32
33
  import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, renameSync, statSync, unlinkSync, writeFileSync } from "fs";
@@ -1126,7 +1127,8 @@ async function performKillAndSpawn(state, options) {
1126
1127
  model: options.targetModel,
1127
1128
  role: "work",
1128
1129
  prompt,
1129
- allowHost: state.hostOverride === true
1130
+ allowHost: state.hostOverride === true,
1131
+ startedBy: "handoff"
1130
1132
  });
1131
1133
  newState.costSoFar = state.costSoFar || 0;
1132
1134
  saveAgentStateSync(newState);
@@ -1543,7 +1545,7 @@ async function activeRoleRunExists(issueId, role, workspacePath) {
1543
1545
  if (stateRole === role && state.status === "starting" && !await Effect.runPromise(sessionExists(candidateId))) return isFreshStarting(state);
1544
1546
  if (!(stateRole === role && state.status !== "stopped" && state.status !== "error")) return false;
1545
1547
  if (workspacePath && state.roleRunHead) try {
1546
- const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-CI6cwyyC.js");
1548
+ const { formatAnchorShort, snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
1547
1549
  const currentHead = await snapshotWorkspaceHeadsPromise(issueId, workspacePath);
1548
1550
  if (currentHead && currentHead !== state.roleRunHead) {
1549
1551
  console.log(`[cloister] ${issueId}: ${role} session ${candidateId} is stale (ran against ${formatAnchorShort(state.roleRunHead)}, HEAD is now ${formatAnchorShort(currentHead)}) — not active`);
@@ -1596,7 +1598,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1596
1598
  });
1597
1599
  return;
1598
1600
  }
1599
- const { getReviewStatusSync } = await import("./review-status-BZH8h-6W.js");
1601
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
1600
1602
  if (getReviewStatusSync(normalizedIssueId)?.mergeStatus === "merged") {
1601
1603
  const message = `${normalizedIssueId}: skipping ${role} dispatch — merge already landed (merge_status='merged' is terminal)`;
1602
1604
  console.log(`[cloister] ${message}`);
@@ -1663,7 +1665,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1663
1665
  return;
1664
1666
  }
1665
1667
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1666
- const { spawnReviewRoleForIssue } = await import("./review-agent-CD4RCI0Y.js");
1668
+ const { spawnReviewRoleForIssue } = await import("./review-agent-BTCNkq2h.js");
1667
1669
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1668
1670
  issueId: normalizedIssueId,
1669
1671
  workspace,
@@ -1681,7 +1683,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1681
1683
  }
1682
1684
  if (role === "test") {
1683
1685
  const branch = `feature/${normalizedIssueId.toLowerCase()}`;
1684
- const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-qakFIIGz.js");
1686
+ const { dispatchTestAgentAndNotify } = await import("./test-agent-queue-A_-p-i0I.js");
1685
1687
  await Effect.runPromise(dispatchTestAgentAndNotify(normalizedIssueId, workspace ?? void 0, branch));
1686
1688
  const message = `${normalizedIssueId}: test role dispatched from lifecycle state '${newState}'`;
1687
1689
  console.log(`[cloister] ${message}`);
@@ -1693,7 +1695,7 @@ async function onIssueStateChangePromise(issueId, newState) {
1693
1695
  });
1694
1696
  return;
1695
1697
  }
1696
- const { spawnRun } = await import("./agents-BKKkxKgK.js");
1698
+ const { spawnRun } = await import("./agents-ePFVoZbu.js");
1697
1699
  if (role === "plan") {
1698
1700
  const decision = decideAutonomousPlanDispatch(await gatherAutonomousPlanDispatchInput(normalizedIssueId));
1699
1701
  if (!decision.allow) {
@@ -1710,7 +1712,8 @@ async function onIssueStateChangePromise(issueId, newState) {
1710
1712
  }
1711
1713
  const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, "plan", {
1712
1714
  prompt: buildReactiveRolePrompt(normalizedIssueId, newState, "plan"),
1713
- model: decision.model
1715
+ model: decision.model,
1716
+ startedBy: "reactive-lifecycle"
1714
1717
  })).id}`;
1715
1718
  console.log(`[cloister] ${message}`);
1716
1719
  emitActivityEntrySync({
@@ -1721,7 +1724,28 @@ async function onIssueStateChangePromise(issueId, newState) {
1721
1724
  });
1722
1725
  return;
1723
1726
  }
1724
- const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, { prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role) })).id}`;
1727
+ let autoSpawnConsentRequired = false;
1728
+ if (role === "work") {
1729
+ const decision = decideAutonomousWorkDispatch(await gatherAutonomousWorkDispatchInput(normalizedIssueId));
1730
+ if (!decision.allow) {
1731
+ const message = `${normalizedIssueId}: ${decision.reason}`;
1732
+ console.log(`[cloister] ${message}`);
1733
+ emitActivityEntrySync({
1734
+ source: "cloister",
1735
+ level: "warn",
1736
+ message,
1737
+ issueId: normalizedIssueId
1738
+ });
1739
+ await recordDeadEndNeedsYou(normalizedIssueId, "reactive-work-dispatch-pickup-gate", newState, message);
1740
+ return;
1741
+ }
1742
+ autoSpawnConsentRequired = decision.releaseSource === "planning-consent";
1743
+ }
1744
+ const message = `${normalizedIssueId}: ${role} role started from lifecycle state '${newState}' as ${(await spawnRun(normalizedIssueId, role, {
1745
+ prompt: buildReactiveRolePrompt(normalizedIssueId, newState, role),
1746
+ startedBy: "reactive-lifecycle",
1747
+ ...role === "work" ? { autoSpawnConsentRequired } : {}
1748
+ })).id}`;
1725
1749
  console.log(`[cloister] ${message}`);
1726
1750
  emitActivityEntrySync({
1727
1751
  source: "cloister",
@@ -1796,34 +1820,34 @@ function issueStateChangeFromDomainEvent(event) {
1796
1820
  }
1797
1821
  async function handleCloisterDomainEventPromise(event) {
1798
1822
  if (event.type === "linear_mcp_auth.healthy") {
1799
- const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-NYBq_oHZ.js");
1823
+ const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-D46fBCLf.js");
1800
1824
  await processLinearMcpAuthWake();
1801
1825
  return;
1802
1826
  }
1803
1827
  if (event.type === "agent.stopped") {
1804
1828
  const agentId = event.payload?.agentId;
1805
1829
  if (agentId) {
1806
- const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-DrXqT9LQ.js");
1807
- const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-BYqERdkE.js");
1830
+ const { handleAgentStoppedEvent, handleAgentStoppedForOrphanReviewerSessions } = await import("./deacon-BIblC-WX.js");
1831
+ const { handleAgentLifecycleEventForIdleStack } = await import("./idle-stack-reaper-CRA1e0jr.js");
1808
1832
  handleAgentLifecycleEventForIdleStack(agentId);
1809
1833
  const slotMatch = /^agent-(.+)-slot-\d+$/.exec(agentId);
1810
1834
  await Promise.all([
1811
1835
  handleAgentStoppedEvent(agentId),
1812
1836
  handleAgentStoppedForOrphanReviewerSessions(agentId),
1813
- slotMatch ? (await import("./deacon-swarm-I2JfX5Tg.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1837
+ slotMatch ? (await import("./deacon-swarm-B1XkIvfr.js")).coordinateSwarmSlots({ issueId: slotMatch[1].toUpperCase() }) : Promise.resolve([])
1814
1838
  ]);
1815
1839
  }
1816
1840
  return;
1817
1841
  }
1818
1842
  if (event.type === "agent.started") {
1819
1843
  const agentId = event.payload?.agentId;
1820
- if (agentId) (await import("./idle-stack-reaper-BYqERdkE.js")).handleAgentLifecycleEventForIdleStack(agentId);
1844
+ if (agentId) (await import("./idle-stack-reaper-CRA1e0jr.js")).handleAgentLifecycleEventForIdleStack(agentId);
1821
1845
  return;
1822
1846
  }
1823
1847
  if (event.type === "agent.heartbeat_dead") {
1824
1848
  const agentId = event.payload?.agentId;
1825
1849
  if (agentId) {
1826
- const { handleAgentHeartbeatDeadEvent } = await import("./deacon-DrXqT9LQ.js");
1850
+ const { handleAgentHeartbeatDeadEvent } = await import("./deacon-BIblC-WX.js");
1827
1851
  await handleAgentHeartbeatDeadEvent(agentId, "event");
1828
1852
  }
1829
1853
  return;
@@ -1832,7 +1856,7 @@ async function handleCloisterDomainEventPromise(event) {
1832
1856
  const payload = event.payload;
1833
1857
  const issueId = payload?.issueId;
1834
1858
  if (issueId) {
1835
- const { handleReviewCoordinatorDied } = await import("./deacon-DrXqT9LQ.js");
1859
+ const { handleReviewCoordinatorDied } = await import("./deacon-BIblC-WX.js");
1836
1860
  await handleReviewCoordinatorDied(issueId, payload?.sessionName ?? "", payload?.reason ?? "");
1837
1861
  }
1838
1862
  return;
@@ -1840,7 +1864,7 @@ async function handleCloisterDomainEventPromise(event) {
1840
1864
  if (event.type === "work.completed") {
1841
1865
  const issueId = event.payload?.issueId;
1842
1866
  if (issueId) {
1843
- const { handleWorkCompleted } = await import("./deacon-DrXqT9LQ.js");
1867
+ const { handleWorkCompleted } = await import("./deacon-BIblC-WX.js");
1844
1868
  await handleWorkCompleted(issueId);
1845
1869
  }
1846
1870
  }
@@ -1851,12 +1875,12 @@ async function handleCloisterDomainEventPromise(event) {
1851
1875
  const status = payload?.status?.toLowerCase();
1852
1876
  if (issueId) {
1853
1877
  if (canonicalStatus === "closed" || status === "closed") {
1854
- const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-CJ24u0Zt.js");
1878
+ const { handleIssueStatusChangedClosed } = await import("./closed-issue-reaper-DHRfRMrp.js");
1855
1879
  await handleIssueStatusChangedClosed(issueId);
1856
1880
  return;
1857
1881
  }
1858
1882
  if (canonicalStatus === "todo" || status === "planned" || status === "todo") {
1859
- const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-CWmOdM9-.js");
1883
+ const { handleOrphanProposedSpec } = await import("./orphan-proposed-reconciler-DcgTPPFY.js");
1860
1884
  await handleOrphanProposedSpec(issueId);
1861
1885
  }
1862
1886
  }
@@ -2554,7 +2578,7 @@ async function performHealthCheck(host) {
2554
2578
  for (const health of needsAttention) {
2555
2579
  const idleAgentState = getAgentStateSync(health.agentId);
2556
2580
  if (idleAgentState?.role === "sequencer") continue;
2557
- const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-Wt0UVvu1.js");
2581
+ const { shouldSkipIdlePokeForAgent } = await import("./stuck-remediation-r1TJu68G.js");
2558
2582
  if (shouldSkipIdlePokeForAgent(idleAgentState)) {
2559
2583
  host.pokeProgress.delete(health.agentId);
2560
2584
  continue;
@@ -2801,7 +2825,7 @@ async function checkCompletionMarkers(host) {
2801
2825
  if (retryCount === Infinity) host.processedCompletions.delete(dir.name);
2802
2826
  else if (retryCount >= 3) continue;
2803
2827
  const issueId = dir.name.replace("agent-", "").toUpperCase();
2804
- const { getReviewStatusSync } = await import("./review-status-BZH8h-6W.js");
2828
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
2805
2829
  const existingReview = getReviewStatusSync(issueId);
2806
2830
  if (existingReview && ["reviewing", "passed"].includes(existingReview.reviewStatus || "")) {
2807
2831
  console.log(`🔔 Cloister: Completion marker for ${issueId} — review already ${existingReview.reviewStatus}, marking processed`);
@@ -2923,7 +2947,7 @@ async function progressFingerprint(_host, agentId) {
2923
2947
  let head = "";
2924
2948
  if (state?.workspace) try {
2925
2949
  if (state.issueId) {
2926
- const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-CI6cwyyC.js");
2950
+ const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-Xg4PFN45.js");
2927
2951
  head = await snapshotWorkspaceHeadsPromise(state.issueId, state.workspace) ?? "";
2928
2952
  } else {
2929
2953
  const { stdout } = await execAsync("git rev-parse HEAD", {
@@ -2961,7 +2985,7 @@ async function pokeAgentWithEscalation(host, agentId) {
2961
2985
  ineffective
2962
2986
  });
2963
2987
  if (ineffective >= 4) {
2964
- const { setAgentPausedSync } = await import("./agent-state-VQk8fY9F.js");
2988
+ const { setAgentPausedSync } = await import("./agent-state-CYXJVG72.js");
2965
2989
  try {
2966
2990
  setAgentPausedSync(agentId, `needs-you: idle-alive — no observable progress across ${ineffective + 1} pokes (idle-alive escalation)`);
2967
2991
  host.emit({
@@ -3052,7 +3076,7 @@ async function handleAgentCrash(host, agentId) {
3052
3076
  if (skipReason) {
3053
3077
  let recoverUnfinishedOneShot = false;
3054
3078
  if (ONE_SHOT_ROLES.has(agentState.role) && agentState.sessionId && agentState.issueId) try {
3055
- const { getReviewStatusSync } = await import("./review-status-BZH8h-6W.js");
3079
+ const { getReviewStatusSync } = await import("./review-status-Dma9SFaN.js");
3056
3080
  const status = getReviewStatusSync(agentState.issueId);
3057
3081
  recoverUnfinishedOneShot = !(status ? isRoleTerminal(agentState.role, {
3058
3082
  reviewStatus: status.reviewStatus,
@@ -3136,11 +3160,16 @@ async function restartAgent(_host, agentId) {
3136
3160
  if (!agentState?.sessionId) throw new Error(`No session ID found for agent ${agentId}`);
3137
3161
  if (!agentState.workspace) throw new Error(`No workspace found for agent ${agentId}`);
3138
3162
  console.log(`🔔 Restarting ${agentId} with session ${agentState.sessionId.substring(0, 8)}...`);
3163
+ saveAgentStateSync({
3164
+ ...agentState,
3165
+ startedBy: "deacon:crash-respawn"
3166
+ });
3139
3167
  runtime.spawnAgent({
3140
3168
  agentId,
3141
3169
  workspace: agentState.workspace,
3142
3170
  sessionId: agentState.sessionId,
3143
- runtime: runtime.name
3171
+ runtime: runtime.name,
3172
+ env: { OVERDECK_AGENT_STARTED_BY: "deacon:crash-respawn" }
3144
3173
  });
3145
3174
  console.log(`🔔 Successfully restarted ${agentId}`);
3146
3175
  }
@@ -3488,7 +3517,7 @@ var CloisterService = class {
3488
3517
  let clearedSpecialistCount = 0;
3489
3518
  try {
3490
3519
  if (existsSync(AGENTS_DIR)) {
3491
- const { isRunning: isSpecialistRunning } = await import("./specialists-Tdezg_6N.js");
3520
+ const { isRunning: isSpecialistRunning } = await import("./specialists-Bz-wFT7R.js");
3492
3521
  const entries = readdirSync(AGENTS_DIR, { withFileTypes: true });
3493
3522
  for (const entry of entries) {
3494
3523
  if (!entry.isDirectory()) continue;
@@ -3523,8 +3552,8 @@ var CloisterService = class {
3523
3552
  }
3524
3553
  try {
3525
3554
  const reviewStatuses = loadReviewStatuses();
3526
- const { resolveProjectFromIssueSync } = await import("./projects-B03Wr-xc.js");
3527
- const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-Tdezg_6N.js");
3555
+ const { resolveProjectFromIssueSync } = await import("./projects-_n3Zui6K.js");
3556
+ const { getTmuxSessionName, getAllProjectSpecialistStatuses } = await import("./specialists-Bz-wFT7R.js");
3528
3557
  const activeReviewIssues = /* @__PURE__ */ new Set();
3529
3558
  try {
3530
3559
  const projSpecs = await getAllProjectSpecialistStatuses();
@@ -3535,7 +3564,7 @@ var CloisterService = class {
3535
3564
  }
3536
3565
  const globalRs = getAgentRuntimeStateSync(getTmuxSessionName("review-agent"));
3537
3566
  if (globalRs?.state === "active" && globalRs.currentIssue) activeReviewIssues.add(globalRs.currentIssue.toUpperCase());
3538
- const { listRunningAgents } = await import("./agents-BKKkxKgK.js");
3567
+ const { listRunningAgents } = await import("./agents-ePFVoZbu.js");
3539
3568
  const agents = await Effect.runPromise(listRunningAgents());
3540
3569
  for (const agent of agents) {
3541
3570
  if (agent.status === "stopped" || agent.status === "error") continue;
@@ -3578,7 +3607,7 @@ var CloisterService = class {
3578
3607
  continue;
3579
3608
  }
3580
3609
  const branch = `feature/${issueId.toLowerCase()}`;
3581
- const { spawnReviewRoleForIssue } = await import("./review-agent-CD4RCI0Y.js");
3610
+ const { spawnReviewRoleForIssue } = await import("./review-agent-BTCNkq2h.js");
3582
3611
  const dispatchResult = await Effect.runPromise(spawnReviewRoleForIssue({
3583
3612
  issueId,
3584
3613
  workspace,
@@ -3646,7 +3675,7 @@ var CloisterService = class {
3646
3675
  });
3647
3676
  await this.subscribeToDomainEvents();
3648
3677
  try {
3649
- const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-NYBq_oHZ.js");
3678
+ const { processLinearMcpAuthWake } = await import("./linear-mcp-auth-D46fBCLf.js");
3650
3679
  await processLinearMcpAuthWake();
3651
3680
  console.log(" ✓ Reconciled pending Linear MCP auth wakes");
3652
3681
  } catch (error) {
@@ -3673,7 +3702,7 @@ var CloisterService = class {
3673
3702
  console.log(" ✓ Cloister event store provider installed");
3674
3703
  return;
3675
3704
  }
3676
- const { initEventStore } = await import("./event-store-ELqkVOn0.js");
3705
+ const { initEventStore } = await import("./event-store-5UKzh9Jf.js");
3677
3706
  const store = await initEventStore();
3678
3707
  this.eventStore = store;
3679
3708
  this.domainEventUnsubscribe = store.subscribe((event) => {
@@ -4023,4 +4052,4 @@ function getCloisterService() {
4023
4052
  //#endregion
4024
4053
  export { performHandoff as a, getAgentsNeedingAttention as c, CostResolverLive as d, CostWriter as f, checkAllTriggers as i, CostDoorLive as l, readCloisterStateFile as n, generateHealthSummary as o, setCloisterEventStoreProvider as r, getAgentHealth as s, getCloisterService as t, CostResolver as u };
4025
4054
 
4026
- //# sourceMappingURL=service-Br9rpBNA.js.map
4055
+ //# sourceMappingURL=service-CD0DvFvD.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as init_paths, ei as encodeClaudeProjectDir } from "./config-yaml-CmOPzmBb.js";
2
+ import { li as init_paths, ti as encodeClaudeProjectDir } from "./config-yaml-CxdwhAIA.js";
3
3
  import { join } from "node:path";
4
4
  import { mkdir, readFile, writeFile } from "node:fs/promises";
5
5
  import { randomUUID } from "node:crypto";
@@ -96,4 +96,4 @@ __esmMin((() => {
96
96
  }))();
97
97
  export { copySessionForFork, reserveForkSession };
98
98
 
99
- //# sourceMappingURL=session-fork-D0LY152N.js.map
99
+ //# sourceMappingURL=session-fork-B6cQ5eya.js.map
@@ -1,12 +1,12 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as init_paths, si as getOverdeckHome } from "./config-yaml-CmOPzmBb.js";
3
- import { s as getHarnessBehavior } from "./src-CRmCHlma.js";
4
- import { t as init_behavior } from "./behavior-CfIg6pKp.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { s as getHarnessBehavior } from "./src-B948bGVR.js";
4
+ import { n as logAgentLifecycleSync, t as init_persistent_logger } from "./persistent-logger-H_VjuOu7.js";
5
+ import { t as init_behavior } from "./behavior-td6-xhQk.js";
5
6
  import { Effect } from "effect";
6
- import { appendFileSync, existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
7
8
  import { join } from "path";
8
9
  import { randomUUID } from "crypto";
9
- import "fs/promises";
10
10
  //#region ../../lib/agent-runtime-mirror.ts
11
11
  /**
12
12
  * PAN-800 — in-process mirror of AgentStateService's canonical ref.
@@ -39,54 +39,6 @@ var init_agent_runtime_mirror = __esmMin((() => {
39
39
  inProcessService = false;
40
40
  }));
41
41
  //#endregion
42
- //#region ../../lib/persistent-logger.ts
43
- /**
44
- * Append-only persistent logger for forensic audit trails.
45
- *
46
- * Complements the SQLite event store (activity-logger.ts) with flat-file logs
47
- * that survive event-store resets and are greppable from the shell.
48
- *
49
- * Files:
50
- * ~/.overdeck/logs/deacon.log — deacon startup recovery actions
51
- * ~/.overdeck/agents/<id>/lifecycle.log — per-agent state transitions
52
- */
53
- function logsDir() {
54
- return join(getOverdeckHome(), "logs");
55
- }
56
- function agentDir(agentId) {
57
- return join(getOverdeckHome(), "agents", agentId);
58
- }
59
- function ensureLogsDir() {
60
- try {
61
- mkdirSync(logsDir(), { recursive: true });
62
- } catch {}
63
- }
64
- function ensureAgentDir(agentId) {
65
- try {
66
- mkdirSync(agentDir(agentId), { recursive: true });
67
- } catch {}
68
- }
69
- function timestamp() {
70
- return (/* @__PURE__ */ new Date()).toISOString();
71
- }
72
- /** Append a line to ~/.overdeck/logs/deacon.log */
73
- function logDeaconEventSync(message) {
74
- ensureLogsDir();
75
- try {
76
- appendFileSync(join(logsDir(), "deacon.log"), `[${timestamp()}] ${message}\n`);
77
- } catch {}
78
- }
79
- /** Append a line to ~/.overdeck/agents/<agentId>/lifecycle.log */
80
- function logAgentLifecycleSync(agentId, message) {
81
- ensureAgentDir(agentId);
82
- try {
83
- appendFileSync(join(agentDir(agentId), "lifecycle.log"), `[${timestamp()}] ${message}\n`);
84
- } catch {}
85
- }
86
- var init_persistent_logger = __esmMin((() => {
87
- init_paths();
88
- }));
89
- //#endregion
90
42
  //#region ../../lib/session-history.ts
91
43
  /**
92
44
  * PAN-1989: durably record a Claude session id in the agent's append-only
@@ -163,6 +115,6 @@ var init_session_history = __esmMin((() => {
163
115
  init_persistent_logger();
164
116
  }));
165
117
  //#endregion
166
- export { persistCurrentSessionId as a, logDeaconEventSync as c, isAgentStateServiceInProcess as d, markAgentStateServiceInProcess as f, logLauncherSessionPinned as i, getRuntimeSnapshot as l, createFreshSessionIdentity as n, init_persistent_logger as o, setAgentRuntimeMirror as p, init_session_history as r, logAgentLifecycleSync as s, appendSessionIdToHistory as t, init_agent_runtime_mirror as u };
118
+ export { persistCurrentSessionId as a, isAgentStateServiceInProcess as c, logLauncherSessionPinned as i, markAgentStateServiceInProcess as l, createFreshSessionIdentity as n, getRuntimeSnapshot as o, init_session_history as r, init_agent_runtime_mirror as s, appendSessionIdToHistory as t, setAgentRuntimeMirror as u };
167
119
 
168
- //# sourceMappingURL=session-history-BUyK29eq.js.map
120
+ //# sourceMappingURL=session-history-3ON_IJjm.js.map
@@ -0,0 +1,2 @@
1
+ import { t as getAgentCommandSync } from "./settings-PilbFZAM.js";
2
+ export { getAgentCommandSync };
@@ -1,4 +1,4 @@
1
- import { Fr as init_errors, ci as init_paths } from "./config-yaml-CmOPzmBb.js";
1
+ import { Fr as init_errors, li as init_paths } from "./config-yaml-CxdwhAIA.js";
2
2
  import "effect";
3
3
  import "fs";
4
4
  //#region ../../lib/settings.ts
@@ -46,4 +46,4 @@ function getAgentCommandSync(modelId) {
46
46
  //#endregion
47
47
  export { getClaudeModelFlagSync as n, isAnthropicModelSync as r, getAgentCommandSync as t };
48
48
 
49
- //# sourceMappingURL=settings-CvVGqNEs.js.map
49
+ //# sourceMappingURL=settings-PilbFZAM.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-CmOPzmBb.js";
3
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features--nFkJY8v.js";
2
+ import { h as jsYaml, m as init_js_yaml, o as getGlobalConfigPath, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-D5km80UI.js";
4
4
  import { readFile } from "fs/promises";
5
5
  //#region ../../lib/memory/settings.ts
6
6
  async function loadMemorySettings(configPath = getGlobalConfigPath()) {
@@ -101,4 +101,4 @@ var init_settings = __esmMin((() => {
101
101
  //#endregion
102
102
  export { isMemoryKnowledgeIndexEnabled as a, init_settings as i, getMemoryRollupPendingThreshold as n, isMemoryPromptTimeInjectionEnabled as o, getMemoryWorkerConcurrency as r, loadMemorySettings as s, areMemoryObservationsEnabled as t };
103
103
 
104
- //# sourceMappingURL=settings-Bse1Pdcj.js.map
104
+ //# sourceMappingURL=settings-VN0qOh4U.js.map
@@ -1,5 +1,5 @@
1
- import { a as PAN_DIRNAME } from "./types-hraoaQIp.js";
2
- import { t as init_pan_dir } from "./pan-dir-ubraCiUg.js";
1
+ import { a as PAN_DIRNAME } from "./types-Cm5ASJbq.js";
2
+ import { t as init_pan_dir } from "./pan-dir-DMzF5wne.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -221,4 +221,4 @@ init_pan_dir();
221
221
  //#endregion
222
222
  export { gatherArtifacts, generateBasicInference, runObserverCycle, updateInferenceDocumentSync };
223
223
 
224
- //# sourceMappingURL=shadow-engineering-BWLa8ODz.js.map
224
+ //# sourceMappingURL=shadow-engineering-DXvx77oE.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { ci as init_paths, si as getOverdeckHome } from "./config-yaml-CmOPzmBb.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, mkdirSync, unlinkSync } from "fs";
5
5
  import { join } from "path";
@@ -287,4 +287,4 @@ var init_shadow_state = __esmMin((() => {
287
287
  //#endregion
288
288
  export { getShadowState as a, isShadowed as c, needsSync as d, removeShadowState as f, getPendingSyncCount as i, listShadowedIssues as l, updateTrackerStatusCache as m, createShadowState as n, getUnsyncedHistory as o, updateShadowState as p, getDisplayStatus as r, init_shadow_state as s, ShadowStateError as t, markAsSynced as u };
289
289
 
290
- //# sourceMappingURL=shadow-state-B4fpKxOO.js.map
290
+ //# sourceMappingURL=shadow-state-BBk_zacw.js.map
@@ -1,3 +1,3 @@
1
- import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-B4fpKxOO.js";
1
+ import { a as getShadowState, c as isShadowed, d as needsSync, f as removeShadowState, i as getPendingSyncCount, l as listShadowedIssues, m as updateTrackerStatusCache, n as createShadowState, o as getUnsyncedHistory, p as updateShadowState, r as getDisplayStatus, s as init_shadow_state, t as ShadowStateError, u as markAsSynced } from "./shadow-state-BBk_zacw.js";
2
2
  init_shadow_state();
3
3
  export { ShadowStateError, createShadowState, getDisplayStatus, getPendingSyncCount, getShadowState, getUnsyncedHistory, isShadowed, listShadowedIssues, markAsSynced, needsSync, removeShadowState, updateShadowState, updateTrackerStatusCache };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Tr as FsError } from "./config-yaml-CmOPzmBb.js";
2
+ import { Fr as init_errors, Tr as FsError } from "./config-yaml-CxdwhAIA.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { join } from "path";
@@ -36,4 +36,4 @@ var init_shadow_utils = __esmMin((() => {
36
36
  //#endregion
37
37
  export { init_shadow_utils as n, getLinearApiKey as t };
38
38
 
39
- //# sourceMappingURL=shadow-utils-D7asqxOZ.js.map
39
+ //# sourceMappingURL=shadow-utils-DdZ05AJS.js.map
@@ -36,4 +36,4 @@ function getShipLog(issueId) {
36
36
  //#endregion
37
37
  export { appendShipLog, beginShipLog, getShipLog };
38
38
 
39
- //# sourceMappingURL=ship-log-xplJ8t75.js.map
39
+ //# sourceMappingURL=ship-log-7kJfjUX2.js.map
@@ -1,3 +1,3 @@
1
- import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-D3U_79f-.js";
1
+ import { a as runModelSummary, c as truncateHeadTail, i as parseEntries, n as generateSummaryFromPrompt, o as serializeConversation, r as init_smart_compaction, s as summarizeSerializedText, t as generateSmartSummary } from "./smart-compaction-ByhL9cRS.js";
2
2
  init_smart_compaction();
3
3
  export { generateSmartSummary, generateSummaryFromPrompt, parseEntries, runModelSummary, serializeConversation, summarizeSerializedText, truncateHeadTail };
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fr as init_errors, Tr as FsError, jr as ProcessSpawnError } from "./config-yaml-CmOPzmBb.js";
3
- import { s as getHarnessBehavior } from "./src-CRmCHlma.js";
4
- import { Dn as buildSpawnEnvForModel, K as init_context_overflow, b as init_agents, kn as getProviderEnvForModel, q as isContextOverflowError } from "./queries-DHJm7bTd.js";
5
- import { t as init_behavior } from "./behavior-CfIg6pKp.js";
6
- import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-CN0cSCPp.js";
7
- import { n as recordBackgroundAiCost, t as init_cost } from "./cost-CvxRrucd.js";
2
+ import { Fr as init_errors, Tr as FsError, jr as ProcessSpawnError } from "./config-yaml-CxdwhAIA.js";
3
+ import { s as getHarnessBehavior } from "./src-B948bGVR.js";
4
+ import { Dn as buildSpawnEnvForModel, K as init_context_overflow, b as init_agents, kn as getProviderEnvForModel, q as isContextOverflowError } from "./queries-C-MUZaIy.js";
5
+ import { t as init_behavior } from "./behavior-td6-xhQk.js";
6
+ import { a as init_claude_permissions, i as getClaudePermissionFlagsSync } from "./claude-permissions-CpbpvUQ2.js";
7
+ import { n as recordBackgroundAiCost, t as init_cost } from "./cost-DS1s0DbG.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { tmpdir } from "node:os";
@@ -851,4 +851,4 @@ Be thorough. Preserve exact file paths, function names, error messages, and code
851
851
  //#endregion
852
852
  export { runModelSummary as a, truncateHeadTail as c, parseEntries as i, generateSummaryFromPrompt as n, serializeConversation as o, init_smart_compaction as r, summarizeSerializedText as s, generateSmartSummary as t };
853
853
 
854
- //# sourceMappingURL=smart-compaction-D3U_79f-.js.map
854
+ //# sourceMappingURL=smart-compaction-ByhL9cRS.js.map