@overdeck/desktop 0.49.1 → 0.49.2

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 (497) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-Crw-xSJ3.js → acceptance-criteria-CHtDkHEL.js} +2 -2
  3. package/server/{active-dashboard-bundle-CLwfD-Om.js → active-dashboard-bundle-Byh6sP-q.js} +2 -2
  4. package/server/{activity-logger-BAVLrkR7.js → activity-logger-BWZhVphb.js} +22 -4
  5. package/server/activity-logger-Ck8qoluj.js +3 -0
  6. package/server/{advancing-selfheal-BQiJ7mIH.js → advancing-selfheal-65W4yUQi.js} +6 -6
  7. package/server/{agent-gc-5E0lgxI1.js → agent-gc-BNUudFnt.js} +10 -10
  8. package/server/agent-idle-ONBssBN_.js +745 -0
  9. package/server/{agent-state-Bb3UUxQm.js → agent-state-BJhGIJZe.js} +421 -135
  10. package/server/agent-state-CM8iVw5B.js +3 -0
  11. package/server/{agent-state-service-BFbttwRA.js → agent-state-service-CiIuwzIs.js} +5 -5
  12. package/server/{agent-state-service-keg-x1bT.js → agent-state-service-CzHfoqKQ.js} +1 -1
  13. package/server/agents-DpCuoF65.js +3 -0
  14. package/server/{agents-CqQJW75N.js → agents-jXgqpHca.js} +8 -8
  15. package/server/archive-planning-BW4MKNI7.js +2 -0
  16. package/server/{archive-planning-BwEhu9Oq.js → archive-planning-CGkU6UeL.js} +20 -135
  17. package/server/{artifact-index-jobs-C6Lg2rKm.js → artifact-index-jobs-Ck4NRRkY.js} +3 -3
  18. package/server/{assemble-DyTp2gSB.js → assemble-CyvEBmmq.js} +28 -9
  19. package/server/{auto-spawn-consent-BDfe4qz0.js → auto-spawn-consent-Dc4mtM-B.js} +8 -7
  20. package/server/{backlog-auto-trigger-DuOGpdDW.js → backlog-auto-trigger-CCEpr4YT.js} +3 -3
  21. package/server/{behavior-Bitko0mD.js → behavior-BiCQzqyT.js} +3 -3
  22. package/server/{bridge-pool-patrol-DiHEd13O.js → bridge-pool-patrol-Ce8rNPym.js} +2 -2
  23. package/server/{briefing-freshness-CDJcmHHZ.js → briefing-freshness-e_OEYZEe.js} +2 -2
  24. package/server/{build-info-DTX8JwVP.js → build-info-BRw4QlYO.js} +3 -3
  25. package/server/build-info-Bj2vQEMh.js +2 -0
  26. package/server/{checkpoint-manager-CKg1tn34.js → checkpoint-manager-CKr42Usw.js} +1 -1
  27. package/server/{checkpoint-manager-BlOOdzLF.js → checkpoint-manager-DOwRGFff.js} +26 -9
  28. package/server/checkpoint-worker.js +1 -1
  29. package/server/{checkpoints-DRALkfDS.js → checkpoints-Cb6CWT4S.js} +1 -1
  30. package/server/{checkpoints-BGfl0cHM.js → checkpoints-Cszp_0Np.js} +2 -2
  31. package/server/{claude-hooks-provision-B_tv3wzE.js → claude-hooks-provision-C5JHpxTS.js} +1 -1
  32. package/server/{claude-hooks-provision-BlGv6twJ.js → claude-hooks-provision-Cer2eFfj.js} +2 -2
  33. package/server/{claude-permissions-aHgDcZi5.js → claude-permissions-Bc5kjX1q.js} +2 -2
  34. package/server/{claude-settings-overlay-CYOvFE3A.js → claude-settings-overlay-C7rWsnya.js} +1 -1
  35. package/server/{claude-settings-overlay-T2LWLteV.js → claude-settings-overlay-m-VVZej1.js} +2 -2
  36. package/server/cli-BRuzUT_I.js +2 -0
  37. package/server/{cli-Do8UpLoI.js → cli-BmczsfD6.js} +11 -11
  38. package/server/{cliproxy-CX6jHRDP.js → cliproxy-BpYpkogS.js} +52 -17
  39. package/server/cliproxy-_yUU0HRY.js +3 -0
  40. package/server/{close-issue-J0_eWYT1.js → close-issue-CxvRD0UI.js} +5 -5
  41. package/server/{closed-issue-reaper-bFppuk6F.js → closed-issue-reaper-nMLRi5de.js} +13 -12
  42. package/server/{closed-issue-reaper-Cl2h9AfT.js → closed-issue-reaper-omOcUDBl.js} +1 -1
  43. package/server/{codex-icapA4om.js → codex-DZhFfcWu.js} +1 -1
  44. package/server/{codex-OOea7lXs.js → codex-KaSKE-R3.js} +16 -10
  45. package/server/{compaction-continuation-D5voR1ME.js → compaction-continuation-Bjfi70G-.js} +3 -3
  46. package/server/{config-Cjleh3_U.js → config-CH1AqqIQ.js} +1 -1
  47. package/server/{config-DC75T4Mr.js → config-Doq_tF-f.js} +2 -2
  48. package/server/{config-tucKBCCc.js → config-ZGjvuR6J.js} +2 -2
  49. package/server/{config-yaml-BwOEANMr.js → config-yaml-D9nfpEx1.js} +33 -8
  50. package/server/{conflict-gate-DlpWCMd7.js → conflict-gate-D4XCtrm2.js} +1 -1
  51. package/server/{conflict-gate-D2L1kZeL.js → conflict-gate-DcUTY4Gb.js} +4 -4
  52. package/server/{context-layers-CSPGc2Hb.js → context-layers-BBTKP-Y4.js} +3 -3
  53. package/server/context-layers-BGj2Y9l3.js +4 -0
  54. package/server/{continue-U3Af0jUq.js → continue-i7Revg8D.js} +3 -3
  55. package/server/{control-settings-5k6ixdFW.js → control-settings-BMoDHY1G.js} +6 -6
  56. package/server/{conversation-compaction-CSpVpxN6.js → conversation-compaction-D4VOmF7p.js} +8 -8
  57. package/server/{conversation-compaction-Ciit9O6k.js → conversation-compaction-DzIjYMfg.js} +1 -1
  58. package/server/{conversation-service-BxrB5lUT.js → conversation-service-CzZUJFEx.js} +1 -1
  59. package/server/{conversation-service-BteE4ELK.js → conversation-service-tQCIbBVZ.js} +6 -6
  60. package/server/{conversations-DhwxsOru.js → conversations-C75EFFjf.js} +12 -7
  61. package/server/conversations-bFDaD5YN.js +3 -0
  62. package/server/{cost-Bnf9NUC5.js → cost-BCWEkvro.js} +3 -3
  63. package/server/{cost-CQKI6OCu.js → cost-CiIwxH1D.js} +2 -2
  64. package/server/{cost-sync-B-ADeXKY.js → cost-sync-DOkdE_yB.js} +3 -3
  65. package/server/{dag-DI9LaK_q.js → dag-BPc74hwj.js} +6 -19
  66. package/server/{dangerous-git-ops-akhA3iyF.js → dangerous-git-ops-By9iguTP.js} +1 -1
  67. package/server/dashboard-db-worker.js +7 -7
  68. package/server/{deacon-TPYssFYt.js → deacon-B24dNzr8.js} +1774 -171
  69. package/server/deacon-CzSZMtb-.js +4 -0
  70. package/server/{deacon-canonical-state-DFYymrDw.js → deacon-canonical-state-CkvxRPck.js} +3 -3
  71. package/server/{deacon-event-client-Te5v10-b.js → deacon-event-client-BYIQBu0T.js} +1 -1
  72. package/server/{deacon-event-client-BKOL4AcL.js → deacon-event-client-Do6Z2gKl.js} +2 -2
  73. package/server/{deacon-nudge-log-BtlTWgWu.js → deacon-nudge-log-CzM9JA9t.js} +1 -1
  74. package/server/{deacon-pending-lifecycle-DVHjOLje.js → deacon-pending-lifecycle-BObEdT-L.js} +3 -3
  75. package/server/deacon.js +11 -11
  76. package/server/dead-end-trip-6V_CwveT.js +2 -0
  77. package/server/{dead-end-trip-P0IF1O0E.js → dead-end-trip-CnVmjnya.js} +3 -3
  78. package/server/delivery-gyce0vQ7.js +3 -0
  79. package/server/{deploy-patrol-BXjlvoV3.js → deploy-patrol-CEwwEYDM.js} +8 -8
  80. package/server/deploy-queue-CjLErpgw.js +2 -0
  81. package/server/{deploy-queue-o7shYg1j.js → deploy-queue-r96ojDI3.js} +2 -2
  82. package/server/{deploy-window-CNT6fOff.js → deploy-window-D_3hhfxt.js} +4 -4
  83. package/server/{deploy-window-BMk5_oX6.js → deploy-window-DeJK8mTK.js} +1 -1
  84. package/server/{dev-supervisor-SR1CLOAK.js → dev-supervisor-DZWwpENk.js} +2 -2
  85. package/server/{devcontainer-renderer-enMmNDFa.js → devcontainer-renderer-d-9dCV_2.js} +3 -3
  86. package/server/{dist-CPTO_zMR.js → dist-DsLAsFSh.js} +1 -1
  87. package/server/dist-fCA6y2bH.js +3 -0
  88. package/server/{docker-B7qUZptz.js → docker-B2mUBzGk.js} +3 -3
  89. package/server/{docker-KR3zSFKY.js → docker-CRPHBylA.js} +1 -1
  90. package/server/{dod-gK835UMf.js → dod-DWtilRLx.js} +1 -1
  91. package/server/{done-preflight-CksRvh49.js → done-preflight-BDVdWed5.js} +1 -1
  92. package/server/{done-preflight-Bk8aExAL.js → done-preflight-D4ukUf-S.js} +5 -5
  93. package/server/{driver-CmsY2RLl.js → driver-BtcFz-qu.js} +14 -3
  94. package/server/{durable-review-pipeline-DgYHucN2.js → durable-review-pipeline-B3OS2_He.js} +11 -2
  95. package/server/durable-review-pipeline-CaCbEJSt.js +3 -0
  96. package/server/{ensure-devcontainer-ojerEqQg.js → ensure-devcontainer-BUeBRjmm.js} +4 -4
  97. package/server/{ensure-devcontainer-BQ4YizSH.js → ensure-devcontainer-rGSh0JHK.js} +1 -1
  98. package/server/{esm-shims-1htPASWs.js → esm-shims-oAaKIa-a.js} +1 -1
  99. package/server/{event-store-D7qcJXuZ.js → event-store-BCSgMubf.js} +5 -5
  100. package/server/{event-store-BgEjNsvk.js → event-store-Db4w4YIY.js} +1 -1
  101. package/server/{event-store-provider-BKvk2rDj.js → event-store-provider-DlSQND3V.js} +1 -1
  102. package/server/{events-BIKGJZOT.js → events-B6zioJA_.js} +3 -3
  103. package/server/{dist-src-BM9eudEd.js → factory-BrdqXBeK.js} +714 -2
  104. package/server/{feature-registry-storage-ewNSIVsQ.js → feature-registry-storage-zh3ZXW6f.js} +3 -3
  105. package/server/{features-CGopJXdU.js → features-BGntOWdy.js} +2 -2
  106. package/server/{feedback-stuck-retirement-B8-fX7NA.js → feedback-stuck-retirement-DpA5u1kt.js} +2 -2
  107. package/server/{feedback-target-Ci6N5p4G.js → feedback-target-D7GxdUYG.js} +10 -10
  108. package/server/{feedback-target-CkyLYohm.js → feedback-target-Ddqk93NF.js} +1 -1
  109. package/server/{feedback-writer-D4ULO4qG.js → feedback-writer-C1gCLFmp.js} +5 -5
  110. package/server/{feedback-writer-DfuVjvH0.js → feedback-writer-CH2846DP.js} +1 -1
  111. package/server/{flywheel-C7yek87O.js → flywheel-CjW2L7BS.js} +79 -29
  112. package/server/{flywheel-DXI_WITn.js → flywheel-HJt7QdWP.js} +1 -1
  113. package/server/{flywheel-merge-order-C5m5bYBc.js → flywheel-merge-order-4fNRN2F2.js} +1 -1
  114. package/server/{flywheel-merge-order-CXfU4M6l.js → flywheel-merge-order-D_yyAlND.js} +7 -7
  115. package/server/{flywheel-BwYPDlhK.js → flywheel-v1cCOBx-.js} +14 -14
  116. package/server/{forge-DYX9sKzG.js → forge-RVTCK_5X.js} +2 -2
  117. package/server/forge-bvak6vXJ.js +2 -0
  118. package/server/{from-DAdMxC29.js → from-BnLgKYvw.js} +1 -1
  119. package/server/{fs-lock-cw25uO_E.js → fs-lock-C7J-ugIf.js} +2 -2
  120. package/server/{fts-operations-D_rzLxX5.js → fts-operations-CU0B5WUx.js} +3 -3
  121. package/server/git-info-BSrI9owC.js +148 -0
  122. package/server/{git-utils-Y0zG25ez.js → git-utils-CsKV0Dis.js} +1 -1
  123. package/server/{git-utils-DV4B9TRl.js → git-utils-DW8-jIUJ.js} +4 -4
  124. package/server/{github-app-4UX8VIr8.js → github-app-7ywLhuZO.js} +2 -2
  125. package/server/{github-app-C33lDk9Z.js → github-app-Oi5hdn1n.js} +1 -1
  126. package/server/{github-client-nPj5ckZO.js → github-client-Cy0fSj1a.js} +1 -1
  127. package/server/{github-client-DkJVR908.js → github-client-DAbuXLuk.js} +3 -3
  128. package/server/{github-pr-lookup-C9Vokb0W.js → github-pr-lookup-Dhh3ec1V.js} +2 -2
  129. package/server/{harness-binary-BgXYDo2Z.js → harness-binary-tMmgJfC1.js} +2 -2
  130. package/server/{harness-resolve-1NZcVx7n.js → harness-resolve-DusNpVEe.js} +4 -4
  131. package/server/{health-events-jMfxrElt.js → health-events-BYDZ9n2i.js} +1 -1
  132. package/server/{health-events-DlX_FVAB.js → health-events-DNw9Mzw9.js} +2 -2
  133. package/server/{hooks-W3REcb3h.js → hooks-B4wj32l2.js} +1 -1
  134. package/server/{hooks-NQ19vvlB.js → hooks-BjBjxqNh.js} +2 -2
  135. package/server/{hume-BFkid2PO.js → hume-BP9YbxaE.js} +2 -2
  136. package/server/hume-TYTb6fDU.js +3 -0
  137. package/server/{identity-Bwh6VGeL.js → identity-C23uY8dZ.js} +3 -3
  138. package/server/{idle-stack-reaper-BeU_KxWx.js → idle-stack-reaper-BSxb1bln.js} +4 -4
  139. package/server/{idle-stack-reaper-CHtCNpvd.js → idle-stack-reaper-Bw0rU9GC.js} +1 -1
  140. package/server/{in-flight-guard-pcwXKLGz.js → in-flight-guard-DuxabAHT.js} +1 -1
  141. package/server/{infra-KTp9KV9u.js → infra-CHIvOb9q.js} +30 -7
  142. package/server/{injection-67YyU6SC.js → injection-BYUt8ml1.js} +8 -8
  143. package/server/{injection-BxbZKPDh.js → injection-BviePcm3.js} +1 -1
  144. package/server/inspect-agent-JFEaYTRa.js +2 -0
  145. package/server/{inspect-agent-VHSihlb7.js → inspect-agent-sV_19NxZ.js} +12 -12
  146. package/server/{internal-token-B-z-sGBH.js → internal-token-BOtIRJU7.js} +1 -1
  147. package/server/{internal-token-zY75jrRJ.js → internal-token-DoVzb4b7.js} +2 -2
  148. package/server/{io-DfvO2xyh.js → io-DKrWd3gX.js} +5 -5
  149. package/server/{issue-closed-dvEWKO7Q.js → issue-closed-6RQsAjDX.js} +7 -7
  150. package/server/{issue-lifecycle-3N8XF7lP.js → issue-lifecycle-D9nLErvS.js} +206 -29
  151. package/server/{issue-lifecycle-BI6jAfp8.js → issue-lifecycle-DOPVv7xz.js} +1 -1
  152. package/server/{issue-service-singleton-BN_2MXp4.js → issue-service-singleton-B2xy-IS9.js} +124 -11
  153. package/server/{issue-service-singleton-CL6hESX2.js → issue-service-singleton-CvgNAWqK.js} +1 -1
  154. package/server/issue-title-fallback-DTSCQVu0.js +120 -0
  155. package/server/{issues-CkvUoAnq.js → issues-e_Ck1Ln2.js} +2 -2
  156. package/server/{jsonl-parser-CrEb2PWr.js → jsonl-parser-DqxVCZ1k.js} +3 -3
  157. package/server/jsonl-resolver-07OS3qOr.js +324 -0
  158. package/server/{kimi-code-C26gmGxM.js → kimi-code-BjtAHIz1.js} +14 -12
  159. package/server/{kimi-code-DoMoGqIu.js → kimi-code-vtXl2DR5.js} +1 -1
  160. package/server/{kimi-parser-Dmhy3UlR.js → kimi-parser-B1lgy2Vt.js} +2 -2
  161. package/server/{label-cleanup-X2lWfghH.js → label-cleanup-D2zUMasf.js} +3 -3
  162. package/server/{lifecycle-Bg44O-9x.js → lifecycle-0NOEzomy.js} +2 -2
  163. package/server/{lifecycle-B0rL38D3.js → lifecycle-DaCovZwn.js} +6 -6
  164. package/server/{lifecycle-io-CCBpRv5m.js → lifecycle-io-6WL46dsB.js} +5 -5
  165. package/server/{lifecycle-io-DQDU0apV.js → lifecycle-io-BBMTaP7S.js} +1 -1
  166. package/server/{linear-client-B0cIkTs4.js → linear-client-7fQThJTc.js} +3 -3
  167. package/server/{linear-client-6V2E-DSa.js → linear-client-BTGApNLo.js} +1 -1
  168. package/server/{linear-mcp-auth-LCo9AWUd.js → linear-mcp-auth-B8pYRsiU.js} +1 -1
  169. package/server/{linear-mcp-auth-Dsu9Io9r.js → linear-mcp-auth-Nk5s3L9M.js} +5 -5
  170. package/server/memory-fts-worker.js +1 -1
  171. package/server/{memory-governor-A4O6vI9d.js → memory-governor-Cqvbusr4.js} +14 -14
  172. package/server/{memory-pressure-patrol-BWlWywmA.js → memory-pressure-patrol-DPb8foam.js} +5 -5
  173. package/server/{merge-BGWcBxku.js → merge-BB_bjJ9a.js} +1 -1
  174. package/server/{merge-vz80RvSE.js → merge-FZ78_cEz.js} +3 -3
  175. package/server/{merge-agent-GWhmnxFk.js → merge-agent-B3jRrlS1.js} +37 -33
  176. package/server/{merge-agent-BRSz26Oh.js → merge-agent-BuoC_PRZ.js} +2 -2
  177. package/server/{merge-batch-CFMEtTxv.js → merge-batch-B8bVjFWS.js} +1 -1
  178. package/server/{merge-completeness-CP347umA.js → merge-completeness-DQt7Qa7i.js} +4 -4
  179. package/server/{merge-completeness-7ajHAIR-.js → merge-completeness-DkdabVch.js} +1 -1
  180. package/server/merge-ops-DabXHp2i.js +2 -0
  181. package/server/merge-rebase-CXq0qsgR.js +2 -0
  182. package/server/{merge-rebase-C5htyEEH.js → merge-rebase-qq40s91P.js} +2 -2
  183. package/server/{merge-set-DsGW8fmc.js → merge-set-BTNYvxM3.js} +1 -1
  184. package/server/{merge-set-eiE2nC6C.js → merge-set-BmRRflt0.js} +4 -4
  185. package/server/{merge-sync-CM2-myXu.js → merge-sync-0m2Q087q.js} +1 -1
  186. package/server/{merge-sync-Ct0-cxMX.js → merge-sync-CJpOa0cZ.js} +2 -2
  187. package/server/{merge-train-deps-LXHGK61n.js → merge-train-deps-CH5Mr3vN.js} +4 -4
  188. package/server/{merge-train-BOu3fN7O.js → merge-train-iwKqjtCF.js} +4 -4
  189. package/server/{merge-verification-BRp08IzI.js → merge-verification-JJc5GC2t.js} +6 -6
  190. package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-BOqWA373.js} +4 -4
  191. package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-CrhTdxZV.js} +1 -1
  192. package/server/messaging-nuwStbdQ.js +3 -0
  193. package/server/{multipart-parser-OAuW7824.js → multipart-parser-DxuW_rZV.js} +2 -2
  194. package/server/{no-resume-mode-MWI6pnrK.js → no-resume-mode-xuYLFhLw.js} +1 -1
  195. package/server/node_modules/.package-lock.json +11 -11
  196. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/AGENTS.md +14 -0
  197. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/CLAUDE.md +14 -0
  198. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +10 -3
  199. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/10_basics.ts +175 -0
  200. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/index.md +6 -0
  201. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/10_basics.ts +3 -1
  202. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/20_testing.ts +100 -0
  203. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/api/Users.ts +30 -14
  204. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/domain/User.ts +15 -6
  205. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +11 -10
  206. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +41 -32
  207. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users.ts +141 -20
  208. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +27 -3
  209. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  210. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +10 -9
  211. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  212. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js +4 -4
  213. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js.map +1 -1
  214. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.d.ts.map +1 -1
  215. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js +10 -4
  216. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js.map +1 -1
  217. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts +4 -0
  218. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts.map +1 -0
  219. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js +10 -0
  220. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js.map +1 -0
  221. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +4 -4
  222. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +16 -11
  223. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocketServer.ts +4 -4
  224. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeStream.ts +10 -4
  225. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/internal/nodeChildProcessSpawner.ts +16 -0
  226. package/server/node_modules/ansi-regex/index.js +3 -2
  227. package/server/node_modules/ansi-regex/package.json +1 -1
  228. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  229. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  230. package/server/node_modules/gaxios/package.json +3 -3
  231. package/server/{orphan-proposed-reconciler-cV3URUqk.js → orphan-proposed-reconciler-Dmk0kO_p.js} +24 -23
  232. package/server/{orphan-proposed-reconciler-BAE5AZ_e.js → orphan-proposed-reconciler-gf4TxfZb.js} +2 -2
  233. package/server/package-lock.json +12 -12
  234. package/server/package.json +1 -1
  235. package/server/{pan-dir-DDd91kMb.js → pan-dir-BMda7tQj.js} +5 -5
  236. package/server/{deacon-merge-BOGFEV8_.js → parked-residue-BiHb8cD7.js} +150 -35
  237. package/server/{paths-CRLnDgcI.js → paths-DEe9j-kw.js} +2 -2
  238. package/server/{pending-lifecycle-claim-CYgMiDAP.js → pending-lifecycle-claim-J5uIIJPu.js} +2 -2
  239. package/server/{pickup-BjJsSX12.js → pickup-D1UbSDPd.js} +1 -1
  240. package/server/{pipeline-agent-reader-BLc43dVJ.js → pipeline-agent-reader-D-6okryb.js} +5 -5
  241. package/server/{pipeline-membership-5qlRz5Qg.js → pipeline-membership-CCbgBzNC.js} +1 -1
  242. package/server/{pipeline-membership-BHZp_ShY.js → pipeline-membership-PGX3Pe8V.js} +1 -1
  243. package/server/{pipeline-membership-gather-CGFY1v-y.js → pipeline-membership-gather-BK4dzh0X.js} +17 -12
  244. package/server/{pipeline-membership-gather-WhRc1yke.js → pipeline-membership-gather-BRhU7XPx.js} +1 -1
  245. package/server/{pipeline-notifier-BmsLWM_2.js → pipeline-notifier-BNAV9kpa.js} +2 -2
  246. package/server/{pipeline-notifier-C4fZ2ito.js → pipeline-notifier-DvHLaXKb.js} +1 -1
  247. package/server/{post-merge-lifecycle-worker-KK1RTKRE.js → post-merge-lifecycle-worker-DAWgzXQA.js} +3 -3
  248. package/server/{post-merge-state-_Lj3LDLh.js → post-merge-state-DC2_0t12.js} +4 -4
  249. package/server/prd-locations-BbAvqQmT.js +124 -0
  250. package/server/{project-pipelines-CCkebHOu.js → project-pipelines-By_5WcT4.js} +2 -2
  251. package/server/{project-repos-B4MK48j4.js → project-repos--QeCg7yQ.js} +29 -3
  252. package/server/project-repos-3bI6t4fO.js +3 -0
  253. package/server/project-resource-refresh-queue-BaZC79S3.js +2 -0
  254. package/server/project-resource-refresh-queue-x-K9mvpP.js +865 -0
  255. package/server/{projects-DvPEAP18.js → projects-LftaVK99.js} +1 -1
  256. package/server/{prompts-BiS5I2tZ.js → prompts-BotGu-6W.js} +2 -2
  257. package/server/{providers-DrfK0Ip8.js → providers-BL1I66sM.js} +7 -7
  258. package/server/providers-Dqgz3MY5.js +3 -0
  259. package/server/public/assets/{chunk-BO2N2NFS-GtVe_o56.js → chunk-BO2N2NFS-D5Fz5jND.js} +4 -4
  260. package/server/public/assets/{diagram-OG6HWLK6-BvhcYYHc.js → diagram-OG6HWLK6-Eux0gWFq.js} +1 -1
  261. package/server/public/assets/{dist-D0ryefak.js → dist-C3zShwhA.js} +1 -1
  262. package/server/public/assets/{dist-CSmUXazd.js → dist-D-JX_u7m.js} +3 -3
  263. package/server/public/assets/{ganttDiagram-6RSMTGT7-BXA51DzM.js → ganttDiagram-6RSMTGT7-UH3aweia.js} +1 -1
  264. package/server/public/assets/{highlighted-body-OFNGDK62-mlV4EpWt.js → highlighted-body-OFNGDK62-ccIQ-WXS.js} +1 -1
  265. package/server/public/assets/index-2wV4ipy_.css +1 -0
  266. package/server/public/assets/index-BTVcdPve.js +860 -0
  267. package/server/public/assets/{linear-BPE7oswm.js → linear-Cnnu4YQy.js} +1 -1
  268. package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +1 -0
  269. package/server/public/assets/{pieDiagram-4H26LBE5-BguGGV3S.js → pieDiagram-4H26LBE5-BD8-Tye6.js} +1 -1
  270. package/server/public/assets/{prod-aKDYUrXQ.js → prod-Ca6aKMts.js} +4 -4
  271. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bx3i4B6H.js → quadrantDiagram-W4KKPZXB-BmSrVyFD.js} +1 -1
  272. package/server/public/assets/{sankeyDiagram-5OEKKPKP-B5vuLjA4.js → sankeyDiagram-5OEKKPKP-CEGy8Das.js} +1 -1
  273. package/server/public/assets/{xychartDiagram-2RQKCTM6-HPlpkqsN.js → xychartDiagram-2RQKCTM6-VnQ8iY8s.js} +1 -1
  274. package/server/public/index.html +2 -2
  275. package/server/{pull-requests-BcHIsFJv.js → pull-requests-Cp_FDT8-.js} +3 -3
  276. package/server/pull-requests-jVGcVq5G.js +2 -0
  277. package/server/rally-CxhVgIQ6.js +3 -0
  278. package/server/{rally-api-ShZ4kvn0.js → rally-api-CqAIJ8RX.js} +2 -2
  279. package/server/{rally-api-u_vkr5c_.js → rally-api-Ij1Zt0NI.js} +1 -1
  280. package/server/{rally-B1OMtzch.js → rally-bQpBzUNf.js} +3 -3
  281. package/server/{rally-client-DgZvUZqX.js → rally-client-CN5vh4Ac.js} +1 -1
  282. package/server/{rally-client-D6Feq1Ka.js → rally-client-qKbCNRVW.js} +5 -5
  283. package/server/{reap-terminal-sessions-CRfiXLY0.js → reap-terminal-sessions-BaDSNR-k.js} +2 -2
  284. package/server/{reap-terminal-sessions-D7f3zSE9.js → reap-terminal-sessions-DgEIKMhH.js} +2 -2
  285. package/server/{rebuild-stack-DKxOnkpE.js → rebuild-stack-BNOMVh7C.js} +7 -7
  286. package/server/{rebuild-stack-CCwKHZb6.js → rebuild-stack-DrMyA_mA.js} +2 -2
  287. package/server/{reconstruct-cache-BP8UIKt7.js → reconstruct-cache-mxIYCnqs.js} +7 -7
  288. package/server/{record-By-wp6pg.js → record-Ug18Cp4V.js} +1 -1
  289. package/server/{record-update-ByGtIlUK.js → record-update-WyhsREoH.js} +1 -1
  290. package/server/{record-update-D23jPU6b.js → record-update-dBGxL9OC.js} +8 -6
  291. package/server/{recovery-trip-C4dTl8DO.js → recovery-trip-BKLrL6NX.js} +43 -10
  292. package/server/{recovery-trip-qloOYOFz.js → recovery-trip-wFAixKsg.js} +1 -1
  293. package/server/{release-engine-Crc0Tjx-.js → release-engine-D9gaCBn9.js} +5 -5
  294. package/server/{release-set-DDXwbIK7.js → release-set-DPHHzEGx.js} +3 -3
  295. package/server/{remote-CBpLi4Yy.js → remote-BU6ONLpv.js} +3 -3
  296. package/server/{remote-oEMfXlwT.js → remote-BUEeUic6.js} +3 -3
  297. package/server/{remote-agents-DQVGZVQ9.js → remote-agents-BVtASiOF.js} +1 -1
  298. package/server/{remote-agents-Bgtc2nOO.js → remote-agents-CSaTLi3u.js} +6 -6
  299. package/server/{remote-completion-DxUJ5HKR.js → remote-completion-CBV3b9TI.js} +13 -13
  300. package/server/{resolver-C8rooxoz.js → resolver-DvSMXty7.js} +31 -8
  301. package/server/{resolver-CuAULbLs.js → resolver-gxv97jsQ.js} +2 -2
  302. package/server/resume-DvHuF-bm.js +3 -0
  303. package/server/review-agent-DgkUPRx0.js +3 -0
  304. package/server/{review-agent-7C2w5CzU.js → review-agent-esZ0QXdY.js} +43 -55
  305. package/server/{review-artifacts-BJeEfm2r.js → review-artifacts-DGGEobLp.js} +6 -6
  306. package/server/{review-convoy-liveness-DfF9eXjI.js → review-convoy-liveness-DmO8dIBH.js} +20 -11
  307. package/server/{review-run-recovery-7BKt2Es0.js → review-run-recovery-Ct0q7FkE.js} +3 -3
  308. package/server/{review-run-recovery-ZjuDTNhZ.js → review-run-recovery-DHiiw7d8.js} +1 -1
  309. package/server/{review-status-CUnjjOUu.js → review-status-C_kQeeX0.js} +1 -1
  310. package/server/{review-status-emit-Cg4tOb8U.js → review-status-emit-BZz1Y_22.js} +3 -3
  311. package/server/{review-status-enrichment-D-rQshu6.js → review-status-enrichment-BWH0XW_m.js} +3 -3
  312. package/server/{review-status-source-DSn0glLa.js → review-status-source-D2PCWS6E.js} +1 -1
  313. package/server/{review-status-source-Ct912fv_.js → review-status-source-Jq0BXmn3.js} +1 -1
  314. package/server/{review-status-sync-B7V_Gg51.js → review-status-sync-2C9lk85r.js} +2 -2
  315. package/server/{review-status-sync-YthpOH_q.js → review-status-sync-Bq00Loey.js} +1 -1
  316. package/server/{review-status-DBnR5t4z.js → review-status-yOGD2MuK.js} +86 -27
  317. package/server/{review-verdict-feedback-DqXTuJk8.js → review-verdict-feedback-Brjaxoda.js} +1 -1
  318. package/server/{review-verdict-feedback-C-dBon_-.js → review-verdict-feedback-CE_tr2iQ.js} +8 -8
  319. package/server/{review-verdict-writer-jldSh3Bm.js → review-verdict-writer-CD-4kDVx.js} +1 -1
  320. package/server/{review-verdict-writer-CKaJWp75.js → review-verdict-writer-Ca2V7QSY.js} +7 -7
  321. package/server/{rollup-DZwH4CLs.js → rollup--g9ik1XQ.js} +1 -1
  322. package/server/{rollup-QCwYcBdP.js → rollup-B6g9Nr6L.js} +8 -8
  323. package/server/{scanner-2aHeLC3W.js → scanner-YxIv-fG1.js} +8 -8
  324. package/server/{search-DwHYaj66.js → search-DqMN4__-.js} +2 -2
  325. package/server/{secret-redaction-B5G1xZ3k.js → secret-redaction-DLZ-VqHq.js} +1 -1
  326. package/server/{sequence-io-POKWdusG.js → sequence-io--b3_PsWq.js} +4 -4
  327. package/server/{sequencer-agent-DS00KHVm.js → sequencer-agent-CqouKVZG.js} +6 -6
  328. package/server/server.js +1115 -1269
  329. package/server/{service-BLb_CyPL.js → service-CEp-3iow.js} +64 -63
  330. package/server/{session-fork-DcTzVwex.js → session-fork-GtoeCh2H.js} +2 -2
  331. package/server/{settings-Clw8UVNs.js → settings-CLQcdkoD.js} +2 -2
  332. package/server/{settings-B9-H2K_E.js → settings-Ch2pCVtt.js} +3 -3
  333. package/server/settings-DhtPDmmI.js +2 -0
  334. package/server/{shadow-engineering-C6oO_PiR.js → shadow-engineering-BxiFrIKv.js} +3 -3
  335. package/server/{shadow-state-CEGrrECe.js → shadow-state-CSA1vtxr.js} +2 -2
  336. package/server/{shadow-state-e7250VUx.js → shadow-state-nGhCNXT2.js} +1 -1
  337. package/server/{shadow-utils-xFk2Wusb.js → shadow-utils-7q5QDmMj.js} +2 -2
  338. package/server/{ship-log-7BnQHuKU.js → ship-log-ie0A_SqV.js} +1 -1
  339. package/server/{ship-record-CwUX6Afo.js → ship-record-BM3oVvnL.js} +7 -7
  340. package/server/{ship-record-BgUPnpT0.js → ship-record-DHWH1hLz.js} +1 -1
  341. package/server/{ship-status-Ce3_3edi.js → ship-status-BEkddXMT.js} +2 -2
  342. package/server/{smart-compaction-BmfIi3oL.js → smart-compaction-BkzjVpWL.js} +1 -1
  343. package/server/{smart-compaction-Dy0gw1VH.js → smart-compaction-D0TE1lBD.js} +7 -7
  344. package/server/{spawn-planning-session-nH3b4Drz.js → spawn-planning-session-CkGweSCC.js} +19 -19
  345. package/server/{spawn-planning-session-CfhxRJoY.js → spawn-planning-session-s406rw1N.js} +2 -2
  346. package/server/{specialist-completion-CC1XJbTx.js → specialist-completion-CTAjwH5j.js} +1 -1
  347. package/server/{specialist-context-cHwpcXSh.js → specialist-context-CKasRfYu.js} +5 -5
  348. package/server/{specialist-handoff-logger-GqnGSYoJ.js → specialist-handoff-logger-DrjrOmmn.js} +2 -2
  349. package/server/{specialist-logs-5OTnrV91.js → specialist-logs-Du6quZ0_.js} +3 -3
  350. package/server/{specialists-xXcJHAyg.js → specialists-B-4zyE4Y.js} +1 -1
  351. package/server/{specialists-8LcQi9Np.js → specialists-CuDWiNdB.js} +21 -272
  352. package/server/{specialists-DocAK-7A.js → specialists-b0dMMjWq.js} +148 -685
  353. package/server/specialists-registry-1y6Rt_F1.js +3 -0
  354. package/server/specialists-registry-BYjs04iK.js +277 -0
  355. package/server/specialists-x-kPMhrL.js +4 -0
  356. package/server/specs-IYsFlM-L.js +3 -0
  357. package/server/{src-DudQNYVw.js → src-CY2Wl8IX.js} +337 -6
  358. package/server/{src-C2TAxwki.js → src-CZsPs61V.js} +6 -6
  359. package/server/{src-DUVvEA8Q.js → src-DeQwpuh6.js} +3 -3
  360. package/server/{stack-health-DKT4ySnA.js → stack-health-BQFSJc0l.js} +3 -3
  361. package/server/{stack-health-CbyiYS9H.js → stack-health-ypIKtkbE.js} +1 -1
  362. package/server/{stale-task-claims-PzFee70R.js → stale-task-claims-C2e1zdMT.js} +5 -5
  363. package/server/{staleness-BjOAq9-d.js → staleness-CRDK6LFG.js} +1 -1
  364. package/server/{staleness-D8UTEXV5.js → staleness-Fzx_3_Hr.js} +1 -1
  365. package/server/{stall-sweeper-DOyIfeLR.js → stall-sweeper-QNk4h9m6.js} +8 -8
  366. package/server/{state-home-DhAZlk5k.js → state-home-DdG8erBI.js} +2 -2
  367. package/server/{state-mapping-BVSs84bO.js → state-mapping-D2yC81Vy.js} +1 -1
  368. package/server/{state-migrate-CJKEwpB0.js → state-migrate-C6H3jfHE.js} +6 -6
  369. package/server/{state-mirror-Do7pag7W.js → state-mirror-DF4Lfxm0.js} +3 -3
  370. package/server/stuck-remediation-BDa_tXgB.js +774 -0
  371. package/server/stuck-remediation-BVNd9txd.js +2 -0
  372. package/server/{substrate-bug-weights-service-BTNjHBnl.js → substrate-bug-weights-service-BbbCZEtJ.js} +3 -3
  373. package/server/{summary-fork-CZ88rhVx.js → summary-fork-BvcW6bq0.js} +113 -30
  374. package/server/{summary-fork-CvB7Oyq9.js → summary-fork-DIQmtOuV.js} +2 -2
  375. package/server/supervisor/{pane-composer-BaLLspSj.js → pane-composer-CoiVkGIt.js} +8 -1
  376. package/server/supervisor/{paths-D6XUcR_g.js → paths-DTGbtcaP.js} +8 -4
  377. package/server/supervisor/pty-supervisor.js +3 -3
  378. package/server/supervisor/{pty-token-DjjHxoCq.js → pty-token-GVqnvU3U.js} +2 -2
  379. package/server/{supervisor-D4v0WfiQ.js → supervisor-D3jC2c7A.js} +4 -4
  380. package/server/supervisor-v0cYN2Vp.js +2 -0
  381. package/server/{swarm-readiness-D8R-LWX5.js → swarm-readiness-CMWAQuWM.js} +3 -3
  382. package/server/{synthesis-verdict-B6wvLGcA.js → synthesis-verdict-C-pJOPsn.js} +1 -1
  383. package/server/{synthesis-verdict-N5Z11pg7.js → synthesis-verdict-DVlrLF9A.js} +2 -2
  384. package/server/{system-prerequisites-BbGZ_WHF.js → system-prerequisites-QKtIYXI2.js} +2 -2
  385. package/server/{teardown-workspace-CYend-KY.js → teardown-workspace-cJea1OLo.js} +16 -16
  386. package/server/{test-agent-queue-BUtWhNcc.js → test-agent-queue-C5DI_gWX.js} +6 -6
  387. package/server/{test-verdict-BWm3hgDj.js → test-verdict-C7kmd2_Y.js} +1 -1
  388. package/server/{test-verdict-BWtRmdiR.js → test-verdict-DUbDHqeD.js} +2 -2
  389. package/server/{tldr-daemon-CneJ24eL.js → tldr-daemon-BNQHwblU.js} +1 -1
  390. package/server/{tldr-daemon-CMVBT4kT.js → tldr-daemon-CO08YlfQ.js} +2 -2
  391. package/server/tmux-B8zsqD_6.js +4 -0
  392. package/server/{tmux-BqXzRuaH.js → tmux-DWEc4Ld9.js} +91 -19
  393. package/server/{token-CO3INKbh.js → token-Bez-qCB2.js} +2 -2
  394. package/server/{token-util-DyJJyX_B.js → token-util-Crcay9j_.js} +1 -1
  395. package/server/token-util-DfUS3Lpp.js +3 -0
  396. package/server/{tracker-config-DVzhaUxO.js → tracker-config-CJzPhSHv.js} +2 -2
  397. package/server/{tracker-utils-xnVJVrrO.js → tracker-utils-DJAOAuMN.js} +2 -2
  398. package/server/{traefik-connect-A5k54mCv.js → traefik-connect-D3H5I6b9.js} +1 -1
  399. package/server/{tunnel-DauSR-rs.js → tunnel-BSdKnW0U.js} +1 -1
  400. package/server/{tunnel-CwOnS-PB.js → tunnel-Cr3ctqxp.js} +3 -3
  401. package/server/{typed-errors-B-gfU2RB.js → typed-errors-CZ3GFBvo.js} +1 -1
  402. package/server/{typed-errors-DzC4zXbI.js → typed-errors-DXqf3RnP.js} +1 -1
  403. package/server/{types-DjpLVpsj.js → types-fzBp9cYi.js} +1 -1
  404. package/server/{types-DbxY2QB6.js → types-pLpbsNto.js} +1 -1
  405. package/server/{uat-failure-feedback-BVqsWlrr.js → uat-failure-feedback-IZQ-J8jt.js} +5 -5
  406. package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-DXApKcc2.js} +5 -5
  407. package/server/{uat-train-COSy-vEX.js → uat-train-CycEzpbE.js} +1 -1
  408. package/server/{uat-train-DVUNW03P.js → uat-train-IIZlz7r3.js} +0 -0
  409. package/server/{validate-Dvv83iBx.js → validate-Ur4xH5bN.js} +3 -3
  410. package/server/{validation-BdCjzWLN.js → validation-CHovCoTT.js} +1 -1
  411. package/server/{validation-DlHafKzu.js → validation-Dr6V4PXx.js} +9 -6
  412. package/server/{verification-artifact-CaSbxUVg.js → verification-artifact-D3viYe_t.js} +1 -1
  413. package/server/{verification-artifact-0Zku8N-W.js → verification-artifact-k5Ftpg0c.js} +1 -1
  414. package/server/{verification-runner-C6wdZda2.js → verification-runner-BuqGwm2t.js} +1 -1
  415. package/server/{verification-runner-DwP2fUEF.js → verification-runner-Dl13mmsI.js} +53 -27
  416. package/server/{vtt-parser-luerJpYT.js → vtt-parser-BSnAB-Og.js} +1 -1
  417. package/server/work-agent-prompt-CJJ4tXci.js +3 -0
  418. package/server/{work-agent-prompt--9AWNYwZ.js → work-agent-prompt-CioeOuM4.js} +14 -14
  419. package/server/{work-agent-start-BNQO65W7.js → work-agent-start-B65Gqn9N.js} +2 -2
  420. package/server/{work-agent-start-DkzseQFl.js → work-agent-start-Ct1HVh6z.js} +1 -1
  421. package/server/{workflows-BYwR2aIN.js → workflows-AgFul1xc.js} +114 -41
  422. package/server/workflows-CfHm8lVd.js +2 -0
  423. package/server/{workspace-B-QJa3Ps.js → workspace-Cu3XlMXt.js} +1 -1
  424. package/server/{workspace-iTnTycOB.js → workspace-Cy4sDd3q.js} +3 -3
  425. package/server/{workspace-anchor-drift-DTt6h2Em.js → workspace-anchor-drift-BI0Hz6zI.js} +1 -1
  426. package/server/{workspace-anchor-drift-CHiGg8iu.js → workspace-anchor-drift-CMaqvizr.js} +4 -4
  427. package/server/{workspace-config-D0CavVtz.js → workspace-config-DRYDO7Zr.js} +1 -1
  428. package/server/{workspace-manager-W1OnbvU5.js → workspace-manager-CgovxDrO.js} +17 -17
  429. package/server/{workspace-manager-5BKPV6SY.js → workspace-manager-jfkKAEuO.js} +1 -1
  430. package/server/{workspace-metadata-tbbevEmP.js → workspace-metadata-BDqXzGGK.js} +1 -1
  431. package/server/{workspace-metadata-dJhXvZGQ.js → workspace-metadata-BNzODIv6.js} +2 -2
  432. package/server/{workspaces-BlpbOPZ7.js → workspaces-BJdPqx_J.js} +131 -127
  433. package/sync-sources/dev-skills/pan-style-guide/SKILL.md +90 -15
  434. package/sync-sources/hooks/linear-mcp-auth-hook +6 -1
  435. package/sync-sources/rules/handoff-isolate-cwd.md +4 -4
  436. package/sync-sources/rules/pan-handoff-focus-limit.md +12 -5
  437. package/sync-sources/rules/ste-writing.md +17 -0
  438. package/sync-sources/rules/work-agents-via-pan.md +2 -1
  439. package/sync-sources/rules/writing-style.md +3 -2
  440. package/sync-sources/skills/{skill-creator → claude-skill-creator}/SKILL.md +1 -1
  441. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/init_skill.py +1 -1
  442. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/package_skill.py +1 -1
  443. package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +182 -0
  444. package/sync-sources/skills/pan-gauntlet-loop/assets/PROMPT.template.md +92 -0
  445. package/sync-sources/skills/pan-gauntlet-loop/assets/REFERENCE-BAR.template.md +53 -0
  446. package/sync-sources/skills/pan-gauntlet-loop/assets/STYLE.template.md +41 -0
  447. package/sync-sources/skills/pan-gauntlet-loop/assets/gauntlet-index.html +237 -0
  448. package/sync-sources/skills/pan-gauntlet-loop/references/domains.md +106 -0
  449. package/sync-sources/skills/pan-gauntlet-loop/references/lessons.md +60 -0
  450. package/sync-sources/skills/pan-handoff/SKILL.md +13 -6
  451. package/sync-sources/skills/pan-help/SKILL.md +1 -1
  452. package/sync-sources/skills/pan-peer-review/SKILL.md +3 -3
  453. package/sync-sources/skills/pan-restart/SKILL.md +6 -3
  454. package/sync-sources/skills/pan-start/SKILL.md +3 -0
  455. package/sync-sources/skills/pan-swarm/SKILL.md +32 -44
  456. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  457. package/server/activity-logger-BejO16Am.js +0 -3
  458. package/server/agent-state-DH_-Jkua.js +0 -3
  459. package/server/agents-megfmQHM.js +0 -3
  460. package/server/archive-planning-C-H9cM_J.js +0 -2
  461. package/server/build-info-PQlh_Rhb.js +0 -2
  462. package/server/cli-TaZspPHS.js +0 -2
  463. package/server/cliproxy-36ncAXlu.js +0 -3
  464. package/server/context-layers-CF6zHws4.js +0 -4
  465. package/server/conversations-AnGJ5rtX.js +0 -3
  466. package/server/deacon-BEH-IY0v.js +0 -5
  467. package/server/deacon-swarm-BHX-kR1b.js +0 -2
  468. package/server/deacon-swarm-BiLfNm_v.js +0 -1522
  469. package/server/dead-end-trip-BWpDg1Qd.js +0 -2
  470. package/server/delivery-cJM6zRjJ.js +0 -3
  471. package/server/deploy-queue-CmVBZEja.js +0 -2
  472. package/server/dist-VKBfkdi7.js +0 -3
  473. package/server/durable-review-pipeline-DgcVCYDL.js +0 -3
  474. package/server/factory-D4V2wd_V.js +0 -717
  475. package/server/forge-CrP1L3i6.js +0 -2
  476. package/server/hume-1ubD_6O7.js +0 -3
  477. package/server/inspect-agent-CfxERkNt.js +0 -2
  478. package/server/merge-ops-DtHx17Vd.js +0 -2
  479. package/server/merge-rebase-BvB4UuNS.js +0 -2
  480. package/server/project-repos-BJiShUsN.js +0 -3
  481. package/server/providers-CStNGwze.js +0 -3
  482. package/server/public/assets/index-BFEwfmqX.js +0 -860
  483. package/server/public/assets/index-_USwyTAT.css +0 -1
  484. package/server/public/assets/mermaid-GHXKKRXX-Dsln95SK.js +0 -1
  485. package/server/pull-requests-C1Cqp2yo.js +0 -2
  486. package/server/rally-CjayjUIl.js +0 -3
  487. package/server/resume-D7JuMCRQ.js +0 -3
  488. package/server/review-agent-BUNTVJK2.js +0 -2
  489. package/server/settings-DBWB1gsG.js +0 -2
  490. package/server/specialists-D8gsOCwh.js +0 -3
  491. package/server/specs-BqkrRnU9.js +0 -3
  492. package/server/stuck-remediation-Di5JYkoo.js +0 -1164
  493. package/server/stuck-remediation-TNM1VhZb.js +0 -2
  494. package/server/supervisor-DX8VsPnb.js +0 -2
  495. package/server/tmux-CqNapnrr.js +0 -4
  496. package/server/token-util-Bu8bPF9f.js +0 -3
  497. package/server/workflows-Cf4LAnhg.js +0 -2
@@ -22,7 +22,11 @@ import { promisify } from "node:util";
22
22
  //#region ../../lib/paths.ts
23
23
  /** Get OVERDECK_HOME dynamically (reads env var on each call, useful for testing) */
24
24
  function getOverdeckHome() {
25
- return process.env.OVERDECK_HOME || join$1(homedir(), ".overdeck");
25
+ return process.env.OVERDECK_HOME || getCanonicalOverdeckHome();
26
+ }
27
+ /** The canonical home used by the shared Overdeck runtime. */
28
+ function getCanonicalOverdeckHome() {
29
+ return join$1(homedir(), ".overdeck");
26
30
  }
27
31
  /**
28
32
  * Pre-rebrand home (`~/.panopticon`). Used ONLY by the opt-in `--seed-from-legacy`
@@ -186,7 +190,7 @@ function claudeSessionTranscriptExists(cwd, sessionId) {
186
190
  }
187
191
  var OVERDECK_HOME, CONFIG_DIR, SKILLS_DIR, AGENTS_DIR, BIN_DIR, COSTS_DIR, ARCHIVES_DIR, LOGS_DIR, TRAEFIK_DIR, CONFIG_FILE, CLAUDE_DIR, TEMPLATES_DIR, currentDir, packageRoot, DEPLOYMENT_GENERATION_DIR_RE, SYNC_SOURCES_ROOT, SYNC_SOURCES, CACHE_AGENTS_DIR, CACHE_RULES_DIR, DOCS_DIR, PRDS_DIR, PROJECT_DOCS_SUBDIR, PROJECT_PRDS_SUBDIR, PROJECT_PRDS_ACTIVE_SUBDIR, PROJECT_PRDS_PLANNED_SUBDIR, PROJECT_PRDS_COMPLETED_SUBDIR;
188
192
  var init_paths = __esmMin((() => {
189
- OVERDECK_HOME = process.env.OVERDECK_HOME || join$1(homedir(), ".overdeck");
193
+ OVERDECK_HOME = process.env.OVERDECK_HOME || getCanonicalOverdeckHome();
190
194
  CONFIG_DIR = OVERDECK_HOME;
191
195
  SKILLS_DIR = join$1(OVERDECK_HOME, "skills");
192
196
  join$1(OVERDECK_HOME, "commands");
@@ -10137,6 +10141,19 @@ function resolveBareNumericIdSync(input, overdeckHome) {
10137
10141
  }
10138
10142
  var init_issue_id = __esmMin((() => {}));
10139
10143
  //#endregion
10144
+ //#region ../../lib/projects-cache-events.ts
10145
+ function subscribeProjectsConfigInvalidation(listener) {
10146
+ listeners.add(listener);
10147
+ return () => listeners.delete(listener);
10148
+ }
10149
+ function notifyProjectsConfigInvalidated() {
10150
+ for (const listener of listeners) listener();
10151
+ }
10152
+ var listeners;
10153
+ var init_projects_cache_events = __esmMin((() => {
10154
+ listeners = /* @__PURE__ */ new Set();
10155
+ }));
10156
+ //#endregion
10140
10157
  //#region ../../lib/projects.ts
10141
10158
  /**
10142
10159
  * Project Registry - Multi-project support for Overdeck
@@ -10297,6 +10314,7 @@ function getProjectSwarmHotspots(project) {
10297
10314
  }
10298
10315
  function invalidateProjectsConfigCache() {
10299
10316
  _projectsCache = null;
10317
+ notifyProjectsConfigInvalidated();
10300
10318
  }
10301
10319
  function loadProjectsConfigSync() {
10302
10320
  if (!existsSync(PROJECTS_CONFIG_FILE)) return { projects: {} };
@@ -10335,7 +10353,7 @@ function updateProjectsConfigSync(transform) {
10335
10353
  result: mutation.result
10336
10354
  };
10337
10355
  });
10338
- _projectsCache = null;
10356
+ invalidateProjectsConfigCache();
10339
10357
  return result;
10340
10358
  }
10341
10359
  async function updateProjectsConfigAsync(transform) {
@@ -10346,7 +10364,7 @@ async function updateProjectsConfigAsync(transform) {
10346
10364
  result: mutation.result
10347
10365
  };
10348
10366
  });
10349
- _projectsCache = null;
10367
+ invalidateProjectsConfigCache();
10350
10368
  return result;
10351
10369
  }
10352
10370
  /**
@@ -10357,7 +10375,7 @@ function saveProjectsConfigSync(config) {
10357
10375
  withProjectsConfigWriteSync(PROJECTS_CONFIG_FILE, () => {
10358
10376
  atomicWriteProjectsConfigSync(PROJECTS_CONFIG_FILE, yaml);
10359
10377
  });
10360
- _projectsCache = null;
10378
+ invalidateProjectsConfigCache();
10361
10379
  }
10362
10380
  /**
10363
10381
  * Get a list of all registered projects
@@ -10794,6 +10812,7 @@ var init_projects = __esmMin((() => {
10794
10812
  init_paths();
10795
10813
  init_projects_config_write();
10796
10814
  init_issue_id();
10815
+ init_projects_cache_events();
10797
10816
  PROJECTS_CONFIG_FILE = join$1(OVERDECK_HOME, "projects.yaml");
10798
10817
  ProjectRenameError = class extends Error {
10799
10818
  constructor(reason, message) {
@@ -10856,7 +10875,7 @@ var init_projects = __esmMin((() => {
10856
10875
  try: async () => {
10857
10876
  const out = (0, import_dist$1.stringify)(config, { indent: 2 });
10858
10877
  await withProjectsConfigWrite(PROJECTS_CONFIG_FILE, () => atomicWriteProjectsConfig(PROJECTS_CONFIG_FILE, out));
10859
- _projectsCache = null;
10878
+ invalidateProjectsConfigCache();
10860
10879
  },
10861
10880
  catch: (cause) => new FsError({
10862
10881
  path: PROJECTS_CONFIG_FILE,
@@ -12833,6 +12852,7 @@ var init_defaults = __esmMin((() => {
12833
12852
  maxSlots: 3,
12834
12853
  autoAdvance: true
12835
12854
  },
12855
+ context: { rules: {} },
12836
12856
  tmux: { configMode: "managed" },
12837
12857
  enabledProviders: new Set(["anthropic"]),
12838
12858
  defaultConversationModel: "claude-sonnet-5",
@@ -13247,6 +13267,7 @@ function mergeConfigs(...configs) {
13247
13267
  const result = {
13248
13268
  ...DEFAULT_CONFIG,
13249
13269
  swarm: { ...DEFAULT_CONFIG.swarm },
13270
+ context: { rules: { ...DEFAULT_CONFIG.context.rules } },
13250
13271
  tmux: { ...DEFAULT_CONFIG.tmux },
13251
13272
  enabledProviders: new Set(DEFAULT_CONFIG.enabledProviders),
13252
13273
  providerHarnesses: { ...DEFAULT_CONFIG.providerHarnesses },
@@ -13349,6 +13370,10 @@ function mergeConfigs(...configs) {
13349
13370
  ...result.swarm,
13350
13371
  ...config.swarm
13351
13372
  };
13373
+ if (config.context?.rules) result.context = { rules: {
13374
+ ...result.context.rules,
13375
+ ...config.context.rules
13376
+ } };
13352
13377
  if (config.models?.providers) {
13353
13378
  const providers = config.models.providers;
13354
13379
  const legacyKeys = config.api_keys || {};
@@ -16110,6 +16135,6 @@ var init_config_yaml = __esmMin((() => {
16110
16135
  init_load();
16111
16136
  }));
16112
16137
  //#endregion
16113
- export { readIssueRecord as $, canUseHarnessSync as $n, LinearApiError as $r, findProjectByPathSync as $t, validateTieredExecutionConfig as A, getDocsIndexPath as Ai, resolveProjectKeyForCwdAsync as An, getModelEffortLevelsSync as Ar, STATE_PLANE_PATHS as At, clearIssueOwner as B, sessionFilePath as Bi, unregisterProject as Bn, fmix32 as Br, init_state_migration_lock as Bt, DEFAULT_TIERED_EXECUTION_CONFIG as C, SYNC_SOURCES as Ci, registerProjectSync as Cn, computeModelOrigin as Cr, flushAllPendingAutoCommits as Ct, resolveTieredExecutionBlock as D, encodeClaudeProjectDir as Di, resolveProjectFromIssue as Dn, MODEL_CAPABILITIES as Dr, queueAutoCommit as Dt, init_tier_table as E, claudeSessionTranscriptExists as Ei, resolveInfraRepo as En, resolveModel as Er, pushPendingStateCommits as Et, appendSessionEntry as F, init_paths as Fi, setProjectAutoMergeDefaultSync as Fn, CLIPROXY_GPT56_CONTEXT_WINDOW as Fr, isOverdeckWorkspaceRuntimePath as Ft, getIssueRecordPath as G, init_issue_id as Gn, ROLE_EFFORTS as Gr, shouldCommitLegacyWorkspaceArtifacts as Gt, ensureIssueRecord as H, validateVersionSyncConfig as Hn, init_percent as Hr, init_state_read_home as Ht, appendSessionEntrySync as I, isDeploymentGenerationRoot as Ii, setProjectMergeTrain as In, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW as Ir, isStatePlaneOnlyStatus as It, getProjectConfigFromWorkspacePath as J, resolveBareNumericIdSync as Jn, ConfigError as Jr, PROJECTS_CONFIG_FILE as Jt, getIssueRecordPathForWorkspace as K, normalizeIssueIdSync as Kn, CheckpointError as Kr, init_project_key as Kt, batchReadIssueRecords as L, isDevMode as Li, setProjectMergeTrainSync as Ln, GPT56_LONG_CONTEXT_VARIANTS as Lr, isStatePlanePath as Lt, RECORD_SCHEMA_VERSION as M, getHandoffsDir as Mi, saveProjectsConfig as Mn, init_model_capabilities as Mr, init_state_plane as Mt, appendFeedbackEntry as N, getLegacyHome as Ni, saveProjectsConfigSync as Nn, modelSupportsImagesSync as Nr, isGeneratedGitHookPath as Nt, resolveTieredExecutionEnabled as O, getDocsBudgetStatePath as Oi, resolveProjectFromIssueSync as On, MODEL_DEPRECATIONS as Or, reconcileStatePlaneDrift as Ot, appendFeedbackEntrySync as P, getOverdeckHome as Pi, setProjectAutoMergeDefault as Pn, resolveModelIdSync as Pr, isOverdeckOwnedOnlyStatus as Pt, queueIssueRecordCommit as Q, require_dist as Qn, InvalidAgentIdError as Qr, findProjectByPath as Qt, buildOwnUri as R, packageRoot as Ri, setProjectSwarmPolicy as Rn, apiLaunchModelIdSync as Rr, parsePorcelainStatusPaths as Rt, init_defaults as S, SKILLS_DIR as Si, registerProject as Sn, DEFAULT_WORKHORSES as Sr, deriveProjectRoot as St, TieredExecutionConfigError as T, activeDeploymentRepoRoot as Ti, renameProjectSync as Tn, init_roles as Tr, init_auto_commit as Tt, ensureIssueRecordSync as U, extractNumberSync as Un, COMPLIANCE_MODES as Ur, resolveStateReadHomeAsync as Ut, clearRecordFeedbackSync as V, unregisterProjectSync as Vn, fnv1a32 as Vr, STATE_BRANCH as Vt, getIssueRecordBasePath as W, extractPrefixSync as Wn, PARENT_MODEL_REF as Wr, resolveStateReadHomeSync as Wt, markRecordPipelineClosedOutSync as X, init_projects_config_write as Xn, GitError as Xr, createDefaultProjectsConfig as Xt, init_record as Y, resolveIssueIdSync as Yn, FsError as Yr, ProjectRenameError as Yt, markRecordPipelineResidueClosedOutSync as Z, updateProjectsConfigText as Zn, GitHubApiError as Zr, extractTeamPrefix as Zt, mergeConfigs as _, PROJECT_DOCS_SUBDIR as _i, listProjectsAsync as _n, getDashScopeUpstreamBaseUrl as _r, writeRecordTieredExecutionOverride as _t, getConversationsConfigSync as a, VcsError as ai, getProjectSwarmHotspots as an, UnknownModelError as ar, writeAgentHarnessModelSync as at, mergeTtsDaemonConfigs as b, PROJECT_PRDS_PLANNED_SUBDIR as bi, loadProjectsConfigSync as bn, init_registry as br, writeStatusOverrideSync as bt, init_load as c, ARCHIVES_DIR as ci, getSpecialistPromptOverride as cn, getKimiAnthropicBaseUrl as cr, writeIssueRecordForWorkspaceSync as ct, isTldrEnabledSync as d, CACHE_RULES_DIR as di, hasProjectsSync as dn, init_providers as dr, writeRecordDecisionsSync as dt, MergeConflictError as ei, findProjectByTeam as en, canUseModelWithAuthSync as er, readIssueRecordForWorkspaceSync as et, loadConfigNoMigration as f, CLAUDE_DIR as fi, init_projects as fn, piProviderForModel as fr, writeRecordHazards as ft, jsYaml as g, OVERDECK_HOME as gi, listProjects as gn, ensureOpenAICompatibleProxyRunning as gr, writeRecordScopeDriftSync as gt, init_js_yaml as h, LOGS_DIR as hi, invalidateProjectsConfigCache as hn, setupCredentialFileAuthSync as hr, writeRecordResumePointSync as ht, getConversationsConfig as i, TrackerError as ii, getProject as in, PROVIDERS as ir, writeAgentHarnessModel as it, RECORD_DIRNAME as j, getDocsTelemetryPath as ji, resolveProjectPath as jn, hasModelCapabilitySync as jr, getMainDivergence as jt, resolveTieredExecutionEnabledForIssue as k, getDocsDisableStatePath as ki, resolveProjectKeyForCwd as kn, getModelCapabilitySync as kr, STATE_BRANCH_PATHS as kt, isClaudeCodeChannelsEnabled as l, BIN_DIR as li, getSpecialistRetention as ln, getProviderEnvSync as lr, writeIssueRecordSync as lt, updateConversationsConfig as m, COSTS_DIR as mi, initializeProjectsConfigSync as mn, resolveKimiCodeModelAlias as mr, writeRecordResumePoint as mt, clearConfigCache as n, ProcessSpawnError as ni, findProjectsByRallyProject as nn, KIMI_CODING_BASE_URL as nr, readRecordContinueViewSync as nt, getGlobalConfigPath as o, init_errors as oi, getProjectSync as on, clearCredentialFileAuthSync as or, writeCloseOutDodGate as ot, loadConfigSync as p, CONFIG_FILE as pi, initializeProjectsConfig as pn, qualifyPiModel as pr, writeRecordHazardsSync as pt, getIssueWorkspacePath as q, parseIssueIdSync as qn, ClaudeCredentialParseError as qr, projectKey as qt, getConversationSearchConfigSync as r, TmuxError as ri, getIssuePrefix as rn, KIMI_PLATFORM_BASE_URL as rr, resolveProjectForIssue as rt, getOpenInEditorCommand as s, AGENTS_DIR as si, getSpecialistConfig as sn, getBuiltInDefaultHarness as sr, writeCloseOutDodGateSync as st, init_config_yaml as t, MessageDeliveryFailed as ti, findProjectByTeamSync as tn, init_harness_policy as tr, readIssueRecordSync as tt, isClaudeCodeChannelsMcpEnabled as u, CACHE_AGENTS_DIR as ui, hasProjects as un, getProviderForModelSync as ur, writeRecordDecisions as ut, getDefaultDocsConfig as v, PROJECT_PRDS_ACTIVE_SUBDIR as vi, listProjectsSync as vn, init_openai_compatible_proxy as vr, writeRecordTieredExecutionOverrideSync as vt, TIERED_EXECUTION_DIFFICULTIES as w, TRAEFIK_DIR as wi, renameProject as wn, derefWorkhorse as wr, flushAutoCommits as wt, DEFAULT_CONFIG as x, PROJECT_PRDS_SUBDIR as xi, projects_exports as xn, DEFAULT_ROLES as xr, writeStatusOverridesSync as xt, getDefaultTtsDaemonConfig as y, PROJECT_PRDS_COMPLETED_SUBDIR as yi, loadProjectsConfig as yn, defaultBackgroundAiFeatures as yr, writeStatusOverride as yt, claimIssueOwner as z, resolveOhmypiExtensionPath as zi, setProjectSwarmPolicySync as zn, init_model_context_windows as zr, acquireStateMigrationLock as zt };
16138
+ export { readIssueRecord as $, updateProjectsConfigText as $n, GitHubApiError as $r, findProjectByPathSync as $t, validateTieredExecutionConfig as A, getCanonicalOverdeckHome as Ai, resolveProjectKeyForCwdAsync as An, MODEL_DEPRECATIONS as Ar, STATE_PLANE_PATHS as At, clearIssueOwner as B, isDevMode as Bi, unregisterProject as Bn, apiLaunchModelIdSync as Br, init_state_migration_lock as Bt, DEFAULT_TIERED_EXECUTION_CONFIG as C, PROJECT_PRDS_SUBDIR as Ci, registerProjectSync as Cn, DEFAULT_ROLES as Cr, flushAllPendingAutoCommits as Ct, resolveTieredExecutionBlock as D, activeDeploymentRepoRoot as Di, resolveProjectFromIssue as Dn, init_roles as Dr, queueAutoCommit as Dt, init_tier_table as E, TRAEFIK_DIR as Ei, resolveInfraRepo as En, derefWorkhorse as Er, pushPendingStateCommits as Et, appendSessionEntry as F, getHandoffsDir as Fi, setProjectAutoMergeDefaultSync as Fn, modelSupportsImagesSync as Fr, isOverdeckWorkspaceRuntimePath as Ft, getIssueRecordPath as G, extractNumberSync as Gn, COMPLIANCE_MODES as Gr, shouldCommitLegacyWorkspaceArtifacts as Gt, ensureIssueRecord as H, resolveOhmypiExtensionPath as Hi, validateVersionSyncConfig as Hn, fmix32 as Hr, init_state_read_home as Ht, appendSessionEntrySync as I, getLegacyHome as Ii, setProjectMergeTrain as In, resolveModelIdSync as Ir, isStatePlaneOnlyStatus as It, getProjectConfigFromWorkspacePath as J, normalizeIssueIdSync as Jn, CheckpointError as Jr, PROJECTS_CONFIG_FILE as Jt, getIssueRecordPathForWorkspace as K, extractPrefixSync as Kn, PARENT_MODEL_REF as Kr, init_project_key as Kt, batchReadIssueRecords as L, getOverdeckHome as Li, setProjectMergeTrainSync as Ln, CLIPROXY_GPT56_CONTEXT_WINDOW as Lr, isStatePlanePath as Lt, RECORD_SCHEMA_VERSION as M, getDocsDisableStatePath as Mi, saveProjectsConfig as Mn, getModelEffortLevelsSync as Mr, init_state_plane as Mt, appendFeedbackEntry as N, getDocsIndexPath as Ni, saveProjectsConfigSync as Nn, hasModelCapabilitySync as Nr, isGeneratedGitHookPath as Nt, resolveTieredExecutionEnabled as O, claudeSessionTranscriptExists as Oi, resolveProjectFromIssueSync as On, resolveModel as Or, reconcileStatePlaneDrift as Ot, appendFeedbackEntrySync as P, getDocsTelemetryPath as Pi, setProjectAutoMergeDefault as Pn, init_model_capabilities as Pr, isOverdeckOwnedOnlyStatus as Pt, queueIssueRecordCommit as Q, init_projects_config_write as Qn, GitError as Qr, findProjectByPath as Qt, buildOwnUri as R, init_paths as Ri, setProjectSwarmPolicy as Rn, CLIPROXY_GPT56_LONG_CONTEXT_WINDOW as Rr, parsePorcelainStatusPaths as Rt, init_defaults as S, PROJECT_PRDS_PLANNED_SUBDIR as Si, registerProject as Sn, init_registry as Sr, deriveProjectRoot as St, TieredExecutionConfigError as T, SYNC_SOURCES as Ti, renameProjectSync as Tn, computeModelOrigin as Tr, init_auto_commit as Tt, ensureIssueRecordSync as U, sessionFilePath as Ui, init_projects_cache_events as Un, fnv1a32 as Ur, resolveStateReadHomeAsync as Ut, clearRecordFeedbackSync as V, packageRoot as Vi, unregisterProjectSync as Vn, init_model_context_windows as Vr, STATE_BRANCH as Vt, getIssueRecordBasePath as W, subscribeProjectsConfigInvalidation as Wn, init_percent as Wr, resolveStateReadHomeSync as Wt, markRecordPipelineClosedOutSync as X, resolveBareNumericIdSync as Xn, ConfigError as Xr, createDefaultProjectsConfig as Xt, init_record as Y, parseIssueIdSync as Yn, ClaudeCredentialParseError as Yr, ProjectRenameError as Yt, markRecordPipelineResidueClosedOutSync as Z, resolveIssueIdSync as Zn, FsError as Zr, extractTeamPrefix as Zt, mergeConfigs as _, LOGS_DIR as _i, listProjectsAsync as _n, setupCredentialFileAuthSync as _r, writeRecordTieredExecutionOverride as _t, getConversationsConfigSync as a, TmuxError as ai, getProjectSwarmHotspots as an, KIMI_PLATFORM_BASE_URL as ar, writeAgentHarnessModelSync as at, mergeTtsDaemonConfigs as b, PROJECT_PRDS_ACTIVE_SUBDIR as bi, loadProjectsConfigSync as bn, init_openai_compatible_proxy as br, writeStatusOverrideSync as bt, init_load as c, init_errors as ci, getSpecialistPromptOverride as cn, clearCredentialFileAuthSync as cr, writeIssueRecordForWorkspaceSync as ct, isTldrEnabledSync as d, BIN_DIR as di, hasProjectsSync as dn, getProviderEnvSync as dr, writeRecordDecisionsSync as dt, InvalidAgentIdError as ei, findProjectByTeam as en, require_dist as er, readIssueRecordForWorkspaceSync as et, loadConfigNoMigration as f, CACHE_AGENTS_DIR as fi, init_projects as fn, getProviderForModelSync as fr, writeRecordHazards as ft, jsYaml as g, COSTS_DIR as gi, listProjects as gn, resolveKimiCodeModelAlias as gr, writeRecordScopeDriftSync as gt, init_js_yaml as h, CONFIG_FILE as hi, invalidateProjectsConfigCache as hn, qualifyPiModel as hr, writeRecordResumePointSync as ht, getConversationsConfig as i, ProcessSpawnError as ii, getProject as in, KIMI_CODING_BASE_URL as ir, writeAgentHarnessModel as it, RECORD_DIRNAME as j, getDocsBudgetStatePath as ji, resolveProjectPath as jn, getModelCapabilitySync as jr, getMainDivergence as jt, resolveTieredExecutionEnabledForIssue as k, encodeClaudeProjectDir as ki, resolveProjectKeyForCwd as kn, MODEL_CAPABILITIES as kr, STATE_BRANCH_PATHS as kt, isClaudeCodeChannelsEnabled as l, AGENTS_DIR as li, getSpecialistRetention as ln, getBuiltInDefaultHarness as lr, writeIssueRecordSync as lt, updateConversationsConfig as m, CLAUDE_DIR as mi, initializeProjectsConfigSync as mn, piProviderForModel as mr, writeRecordResumePoint as mt, clearConfigCache as n, MergeConflictError as ni, findProjectsByRallyProject as nn, canUseModelWithAuthSync as nr, readRecordContinueViewSync as nt, getGlobalConfigPath as o, TrackerError as oi, getProjectSync as on, PROVIDERS as or, writeCloseOutDodGate as ot, loadConfigSync as p, CACHE_RULES_DIR as pi, initializeProjectsConfig as pn, init_providers as pr, writeRecordHazardsSync as pt, getIssueWorkspacePath as q, init_issue_id as qn, ROLE_EFFORTS as qr, projectKey as qt, getConversationSearchConfigSync as r, MessageDeliveryFailed as ri, getIssuePrefix as rn, init_harness_policy as rr, resolveProjectForIssue as rt, getOpenInEditorCommand as s, VcsError as si, getSpecialistConfig as sn, UnknownModelError as sr, writeCloseOutDodGateSync as st, init_config_yaml as t, LinearApiError as ti, findProjectByTeamSync as tn, canUseHarnessSync as tr, readIssueRecordSync as tt, isClaudeCodeChannelsMcpEnabled as u, ARCHIVES_DIR as ui, hasProjects as un, getKimiAnthropicBaseUrl as ur, writeRecordDecisions as ut, getDefaultDocsConfig as v, OVERDECK_HOME as vi, listProjectsSync as vn, ensureOpenAICompatibleProxyRunning as vr, writeRecordTieredExecutionOverrideSync as vt, TIERED_EXECUTION_DIFFICULTIES as w, SKILLS_DIR as wi, renameProject as wn, DEFAULT_WORKHORSES as wr, flushAutoCommits as wt, DEFAULT_CONFIG as x, PROJECT_PRDS_COMPLETED_SUBDIR as xi, projects_exports as xn, defaultBackgroundAiFeatures as xr, writeStatusOverridesSync as xt, getDefaultTtsDaemonConfig as y, PROJECT_DOCS_SUBDIR as yi, loadProjectsConfig as yn, getDashScopeUpstreamBaseUrl as yr, writeStatusOverride as yt, claimIssueOwner as z, isDeploymentGenerationRoot as zi, setProjectSwarmPolicySync as zn, GPT56_LONG_CONTEXT_VARIANTS as zr, acquireStateMigrationLock as zt };
16114
16139
 
16115
- //# sourceMappingURL=config-yaml-BwOEANMr.js.map
16140
+ //# sourceMappingURL=config-yaml-D9nfpEx1.js.map
@@ -1,2 +1,2 @@
1
- import { o as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-D2L1kZeL.js";
1
+ import { o as resolveConflictGate, t as buildRealConflictGateDeps } from "./conflict-gate-DcUTY4Gb.js";
2
2
  export { buildRealConflictGateDeps, resolveConflictGate };
@@ -1,6 +1,6 @@
1
- import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-BAVLrkR7.js";
2
- import { Lt as init_messaging, Qt as init_spawn, Rt as messageAgent, en as spawnRun } from "./agent-state-Bb3UUxQm.js";
3
- import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-DBnR5t4z.js";
1
+ import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-BWZhVphb.js";
2
+ import { Ht as init_messaging, Ut as messageAgent, an as init_spawn, sn as spawnRun } from "./agent-state-BJhGIJZe.js";
3
+ import { d as getReviewStatusSync, p as init_review_status, w as setReviewStatusSync } from "./review-status-yOGD2MuK.js";
4
4
  import { exec } from "node:child_process";
5
5
  import { promisify } from "node:util";
6
6
  //#region ../../lib/cloister/conflict-gate.ts
@@ -270,4 +270,4 @@ function shellQuote(value) {
270
270
  //#endregion
271
271
  export { probeBranchConflictPaths as a, parseMergeTreeNameOnly as i, checkBranchMergeability as n, resolveConflictGate as o, getCachedConflictGateMergeability as r, buildRealConflictGateDeps as t };
272
272
 
273
- //# sourceMappingURL=conflict-gate-D2L1kZeL.js.map
273
+ //# sourceMappingURL=conflict-gate-DcUTY4Gb.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fi as init_paths, oi as init_errors } from "./config-yaml-BwOEANMr.js";
3
- import { E as init_layers, c as init_render, f as init_rules, r as init_assemble } from "./assemble-DyTp2gSB.js";
2
+ import { Ri as init_paths, ci as init_errors } from "./config-yaml-D9nfpEx1.js";
3
+ import { D as init_layers, l as init_render, p as init_rules, r as init_assemble } from "./assemble-CyvEBmmq.js";
4
4
  import "effect";
5
5
  import "fs";
6
6
  import "path";
@@ -34,4 +34,4 @@ var init_context_layers = __esmMin((() => {
34
34
  //#endregion
35
35
  export { init_context_layers as t };
36
36
 
37
- //# sourceMappingURL=context-layers-CSPGc2Hb.js.map
37
+ //# sourceMappingURL=context-layers-BBTKP-Y4.js.map
@@ -0,0 +1,4 @@
1
+ import { A as piGlobalContextFile, C as codexGlobalContextFile } from "./assemble-CyvEBmmq.js";
2
+ import { t as init_context_layers } from "./context-layers-BBTKP-Y4.js";
3
+ init_context_layers();
4
+ export { codexGlobalContextFile, piGlobalContextFile };
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Yr as FsError, oi as init_errors } from "./config-yaml-BwOEANMr.js";
3
- import { c as PAN_SESSIONS_FILENAME, f as WORKSPACE_RUNTIME_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, t as LEGACY_WORKSPACE_RUNTIME_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-DbxY2QB6.js";
2
+ import { Zr as FsError, ci as init_errors } from "./config-yaml-D9nfpEx1.js";
3
+ import { c as PAN_SESSIONS_FILENAME, f as WORKSPACE_RUNTIME_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types, n as PAN_CONTEXT_FILENAME, s as PAN_FEEDBACK_DIRNAME, t as LEGACY_WORKSPACE_RUNTIME_DIRNAME, u as PAN_SPEC_FILENAME } from "./types-pLpbsNto.js";
4
4
  import { Effect, FileSystem } from "effect";
5
5
  import { join } from "path";
6
6
  import { existsSync } from "node:fs";
@@ -60,4 +60,4 @@ var init_continue = __esmMin((() => {
60
60
  //#endregion
61
61
  export { init_continue as a, getWorkspacePanPaths as i, getLegacyWorkspacePanPaths as n, getReadableWorkspacePanPaths as r, ensureWorkspacePanDir as t };
62
62
 
63
- //# sourceMappingURL=continue-U3Af0jUq.js.map
63
+ //# sourceMappingURL=continue-i7Revg8D.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { bn as loadProjectsConfigSync, fn as init_projects, on as getProjectSync } from "./config-yaml-BwOEANMr.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-KTp9KV9u.js";
4
- import { n as init_issues, t as IssueId } from "./issues-CkvUoAnq.js";
2
+ import { bn as loadProjectsConfigSync, fn as init_projects, on as getProjectSync } from "./config-yaml-D9nfpEx1.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-CHIvOb9q.js";
4
+ import { n as init_issues, t as IssueId } from "./issues-e_Ck1Ln2.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
@@ -17,7 +17,7 @@ function overdeckDb() {
17
17
  }
18
18
  /** Read a raw app_settings value synchronously. Returns null if not set. */
19
19
  function getSetting(key) {
20
- const row = overdeckDb().prepare("SELECT value FROM app_settings WHERE key = ?").get(key);
20
+ const row = getOverdeckDatabaseSync(void 0, { readOnly: true }).prepare("SELECT value FROM app_settings WHERE key = ?").get(key);
21
21
  return row ? row.value : null;
22
22
  }
23
23
  /** Write a raw app_settings value synchronously. */
@@ -164,7 +164,7 @@ function setMergeTrainEnabled(enabled) {
164
164
  * Sync version of SettingsResolver.getFlywheelRuntime().activeRunId.
165
165
  */
166
166
  function getFlywheelActiveRunIdSync() {
167
- return getOverdeckDatabaseSync().prepare(`SELECT value FROM app_settings WHERE key = 'flywheel.active_run_id'`).get()?.value ?? null;
167
+ return getOverdeckDatabaseSync(void 0, { readOnly: true }).prepare(`SELECT value FROM app_settings WHERE key = 'flywheel.active_run_id'`).get()?.value ?? null;
168
168
  }
169
169
  var appSettings, issuePolicy, FlywheelConfig, FlywheelConfigPatch, FlywheelRuntime, IssuePolicy, ProjectKey, ProjectConfig, ProjectNotFound, SettingsResolver, SettingsWriter, ConfigResolver, DEACON_GLOBAL_PAUSE_KEY, CLOISTER_SPAWNS_PAUSED_KEY, FLYWHEEL_GLOBAL_PAUSE_KEY, FLYWHEEL_ACTIVE_RUN_ID_KEY, FLYWHEEL_AUTO_PICKUP_BACKLOG_KEY, FLYWHEEL_REQUIRE_UAT_BEFORE_MERGE_KEY, FLYWHEEL_MERGE_TRAIN_ENABLED_KEY, MERGE_TRAIN_ENABLED_KEY, DASHBOARD_LAST_CLEAN_SHUTDOWN_AT_KEY, BOOT_RECONCILIATION_DECISION_KEY, BOOT_RECONCILIATION_PER_AGENT_KEY, BOOT_RECONCILIATION_DECIDED_AT_KEY, BOOT_RECONCILIATION_BOOT_ID_KEY, BOOT_RECONCILIATION_BOOT_STARTED_AT_KEY, BOOT_RECONCILIATION_GRACE_DEADLINE_KEY, BOOT_RECONCILIATION_GRACE_EXTENSIONS_KEY, BOOT_RECONCILIATION_DECISIONS;
170
170
  var init_control_settings = __esmMin((() => {
@@ -440,4 +440,4 @@ var init_control_settings = __esmMin((() => {
440
440
  //#endregion
441
441
  export { setFlywheelGloballyPaused as C, setSetting as D, setMergeTrainEnabled as E, stampBootReconciliation as O, setFlywheelAutoPickupBacklog as S, setLastCleanShutdownAt as T, setBootReconciliationGrace as _, getFlywheelActiveRunIdSync as a, setDeaconGloballyPausedSync as b, init_control_settings as c, isDeaconGloballyPausedSync as d, isFlywheelAutoPickupBacklog as f, setBootReconciliationDecision as g, isMergeTrainEnabled as h, getFlywheelActiveRunId as i, isCloisterSpawnsPausedSync as l, isFlywheelRequireUatBeforeMerge as m, FLYWHEEL_GLOBAL_PAUSE_KEY as n, getLastCleanShutdownAt as o, isFlywheelGloballyPaused as p, getBootReconciliationState as r, getSetting as s, FLYWHEEL_ACTIVE_RUN_ID_KEY as t, isDeaconGloballyPaused as u, setCloisterSpawnsPausedSync as v, setFlywheelRequireUatBeforeMerge as w, setFlywheelActiveRunId as x, setDeaconGloballyPaused as y };
442
442
 
443
- //# sourceMappingURL=control-settings-5k6ixdFW.js.map
443
+ //# sourceMappingURL=control-settings-BMoDHY1G.js.map
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { p as loadConfigSync, t as init_config_yaml } from "./config-yaml-BwOEANMr.js";
3
- import { a as init_event_store, n as getEventStore } from "./event-store-D7qcJXuZ.js";
4
- import { G as init_agents, jr as getAgentRuntimeBaseCommand, ti as getProviderExportsForModel } from "./agent-state-Bb3UUxQm.js";
5
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-CGopJXdU.js";
6
- import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-BteE4ELK.js";
7
- import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-Dy0gw1VH.js";
8
- import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-CZ88rhVx.js";
2
+ import { p as loadConfigSync, t as init_config_yaml } from "./config-yaml-D9nfpEx1.js";
3
+ import { a as init_event_store, n as getEventStore } from "./event-store-BCSgMubf.js";
4
+ import { Br as getAgentRuntimeBaseCommand, q as init_agents, ui as getProviderExportsForModel } from "./agent-state-BJhGIJZe.js";
5
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-BGntOWdy.js";
6
+ import { t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-tQCIbBVZ.js";
7
+ import { r as init_smart_compaction, t as generateSmartSummary } from "./smart-compaction-D0TE1lBD.js";
8
+ import { a as generateFallbackSummary, l as init_summary_fork } from "./summary-fork-BvcW6bq0.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-CSpVpxN6.js.map
182
+ //# sourceMappingURL=conversation-compaction-D4VOmF7p.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-CSpVpxN6.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-D4VOmF7p.js";
2
2
  init_conversation_compaction();
3
3
  export { buildCompactionRuntimeInfo, compactConversationNative, estimateContextTokens, getConversationCompactionSettings, isCompacting, maybeCompactBeforeRespawn, shouldInterceptManualCompact };
@@ -1,3 +1,3 @@
1
- import { i as computeContextUsage, t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-BteE4ELK.js";
1
+ import { i as computeContextUsage, t as init_conversation_service, u as findLastCompactBoundary } from "./conversation-service-tQCIbBVZ.js";
2
2
  init_conversation_service();
3
3
  export { computeContextUsage, findLastCompactBoundary };
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Dr as MODEL_CAPABILITIES, Fi as init_paths, Mr as init_model_capabilities, Pr as resolveModelIdSync } from "./config-yaml-BwOEANMr.js";
3
- import { s as getHarnessBehavior } from "./src-DudQNYVw.js";
4
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CQKI6OCu.js";
5
- import { i as parseCodexSessionSync, n as init_codex_parser, t as init_behavior } from "./behavior-Bitko0mD.js";
6
- import { r as summarizeKimiEntries, t as init_kimi_parser } from "./kimi-parser-Dmhy3UlR.js";
2
+ import { Ir as resolveModelIdSync, Pr as init_model_capabilities, Ri as init_paths, kr as MODEL_CAPABILITIES } from "./config-yaml-D9nfpEx1.js";
3
+ import { s as getHarnessBehavior } from "./src-CY2Wl8IX.js";
4
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CiIwxH1D.js";
5
+ import { i as parseCodexSessionSync, n as init_codex_parser, t as init_behavior } from "./behavior-BiCQzqyT.js";
6
+ import { r as summarizeKimiEntries, t as init_kimi_parser } from "./kimi-parser-B1lgy2Vt.js";
7
7
  import "node:path";
8
8
  import "node:os";
9
9
  import { open, readFile, stat, watch } from "node:fs/promises";
@@ -2221,4 +2221,4 @@ var init_conversation_service = __esmMin((() => {
2221
2221
  //#endregion
2222
2222
  export { parseAcpConversationMessages as S, isOhmypiSessionFile as _, contextUsageFromParseResult as a, parseCodexConversationMessages as b, parseEntireConversation as c, init_kimi_conversation_parser as d, parseKimiConversationMessages as f, init_ohmypi_conversation_parser as g, parsePiConversationMessages as h, computeContextUsage as i, parseFromLastCompactBoundary as l, isPiSessionFile as m, gateSnapshotEmission as n, summarizeConversationActivity as o, init_pi_conversation_parser as p, watchConversation as r, parseConversationMessages as s, init_conversation_service as t, findLastCompactBoundary as u, parseOhmypiConversationMessages as v, init_acp_conversation_parser as x, init_codex_conversation_parser as y };
2223
2223
 
2224
- //# sourceMappingURL=conversation-service-BteE4ELK.js.map
2224
+ //# sourceMappingURL=conversation-service-tQCIbBVZ.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fi as init_paths, Pi as getOverdeckHome } from "./config-yaml-BwOEANMr.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-KTp9KV9u.js";
4
- import { f as resolveWorkspaceForCwd, o as init_resolver } from "./resolver-CuAULbLs.js";
5
- import { a as init_event_store, n as getEventStore } from "./event-store-D7qcJXuZ.js";
2
+ import { Li as getOverdeckHome, Ri as init_paths } from "./config-yaml-D9nfpEx1.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-CHIvOb9q.js";
4
+ import { f as resolveWorkspaceForCwd, o as init_resolver } from "./resolver-gxv97jsQ.js";
5
+ import { a as init_event_store, n as getEventStore } from "./event-store-BCSgMubf.js";
6
6
  import { join } from "node:path";
7
7
  import { Context, Effect, Layer, Schema, Stream } from "effect";
8
8
  import { readFileSync } from "node:fs";
@@ -993,7 +993,9 @@ function markConversationEnded(name) {
993
993
  overdeckDb().prepare(`UPDATE conversations SET ended_at = ?, status = 'ended' WHERE name = ?`).run(Date.now(), name);
994
994
  }
995
995
  function markConversationRunning(name) {
996
- overdeckDb().prepare(`UPDATE conversations SET status = 'active', ended_at = NULL WHERE name = ? AND status != 'active'`).run(name);
996
+ overdeckDb().prepare(`UPDATE conversations SET status = 'active', ended_at = NULL, spawn_error = NULL,
997
+ fork_error = CASE WHEN fork_status = 'failed' THEN NULL ELSE fork_error END,
998
+ fork_status = CASE WHEN fork_status = 'failed' THEN NULL ELSE fork_status END WHERE name = ? AND status != 'active'`).run(name);
997
999
  }
998
1000
  function markConversationActive(name) {
999
1001
  overdeckDb().prepare(`UPDATE conversations SET archived_at = NULL WHERE name = ?`).run(name);
@@ -1073,6 +1075,9 @@ function backfillConversationModel(name, model) {
1073
1075
  function updateForkStatus(name, status, error) {
1074
1076
  overdeckDb().prepare(`UPDATE conversations SET fork_status = ?, fork_error = ? WHERE name = ?`).run(status, error ?? null, name);
1075
1077
  }
1078
+ function clearConversationFailureState(name) {
1079
+ overdeckDb().prepare(`UPDATE conversations SET fork_status = NULL, fork_error = NULL, spawn_error = NULL WHERE name = ?`).run(name);
1080
+ }
1076
1081
  function getStuckForks() {
1077
1082
  return overdeckDb().prepare(`${LEGACY_CONVERSATION_SELECT} WHERE c.fork_status IS NOT NULL AND c.fork_status != 'failed' ORDER BY c.created_at ASC`).all().map(rowToLegacyConversation);
1078
1083
  }
@@ -1621,6 +1626,6 @@ var init_conversations = __esmMin((() => {
1621
1626
  nullIfEmpty = (value) => value?.trim() || null;
1622
1627
  }));
1623
1628
  //#endregion
1624
- export { updateConversationCost as $, isAgentConversationName as A, recordConversationHandoff as B, getConversationByTmuxSession as C, loadEmbeddings as Ct, importLegacyConversation as D, updateEnrichment as Dt, hasOtherActiveConversationOnTmuxSession as E, topKCosine as Et, markConversationActive as F, setConversationEffort as G, resolveLiveSessionId as H, markConversationEnded as I, setConversationProjectKey as J, setConversationHarness as K, markConversationRunning as L, listArchivedConversationsWithEnrichment as M, listConversations as N, incrementForkRetryCount as O, upsertDiscoveredSession as Ot, listFavoritedIds as P, unarchiveConversation as Q, normalizeHarness as R, getConversationByName as S, insertEmbedding as St, getStuckForks as T, searchFtsSessions as Tt, setClearedToConvId as U, removeFavorite as V, setConversationClaudeSessionId as W, setForkRequest as X, setFavorite as Y, setImportedConversationLinks as Z, canRefineTitle as _, getDiscoveredSessionByJsonlPath as _t, ConversationName as a, updateSpawnError as at, getConversationByClaudeSessionId as b, getEmbedding as bt, ConversationsResolver as c, aggregateDiscoveredSessionCostBy as ct, TitleSource as d, countFtsSessions as dt, updateConversationDeliveryMethod as et, Transcript as f, ensureDiscoveredSessionsSchema as ft, backfillConversationModel as g, getDiscoveredSessionById as gt, archiveConversation as h, findEnrichedSessionIdsMissingEmbedding as ht, ConversationId as i, updateLastAttached as it, listArchivedConversations as j, init_conversations as k, Harness as l, buildFilterSql as lt, TranscriptsWriter as m, findDiscoveredSessions as mt, BackingFile as n, updateConversationTitle as nt, ConversationNotFound as o, findConversationForCostSessionSync as ot, TranscriptsResolver as p, findDiscoveredSessionIds as pt, setConversationModel as q, Conversation as r, updateForkStatus as rt, ConversationWriter as s, aggregateDiscoveredSessionCost as st, AlreadyArchived as t, updateConversationForkFallbackReason as tt, NotArchived as u, countDiscoveredSessions as ut, canReplaceTitle as v, getDiscoveredSessionBySessionId as vt, getConversationLedgerCosts as w, markEnrichmentFailed as wt, getConversationById as x, init_discovered_sessions as xt, createConversation as y, getDiscoveredStats as yt, reactivateConversationForSpawn as z };
1629
+ export { unarchiveConversation as $, init_conversations as A, reactivateConversationForSpawn as B, getConversationByName as C, insertEmbedding as Ct, hasOtherActiveConversationOnTmuxSession as D, topKCosine as Dt, getStuckForks as E, searchFtsSessions as Et, listFavoritedIds as F, setConversationClaudeSessionId as G, removeFavorite as H, markConversationActive as I, setConversationModel as J, setConversationEffort as K, markConversationEnded as L, listArchivedConversations as M, listArchivedConversationsWithEnrichment as N, importLegacyConversation as O, updateEnrichment as Ot, listConversations as P, setImportedConversationLinks as Q, markConversationRunning as R, getConversationById as S, init_discovered_sessions as St, getConversationLedgerCosts as T, markEnrichmentFailed as Tt, resolveLiveSessionId as U, recordConversationHandoff as V, setClearedToConvId as W, setFavorite as X, setConversationProjectKey as Y, setForkRequest as Z, canRefineTitle as _, getDiscoveredSessionById as _t, ConversationName as a, updateLastAttached as at, createConversation as b, getDiscoveredStats as bt, ConversationsResolver as c, aggregateDiscoveredSessionCost as ct, TitleSource as d, countDiscoveredSessions as dt, updateConversationCost as et, Transcript as f, countFtsSessions as ft, backfillConversationModel as g, findEnrichedSessionIdsMissingEmbedding as gt, archiveConversation as h, findDiscoveredSessions as ht, ConversationId as i, updateForkStatus as it, isAgentConversationName as j, incrementForkRetryCount as k, upsertDiscoveredSession as kt, Harness as l, aggregateDiscoveredSessionCostBy as lt, TranscriptsWriter as m, findDiscoveredSessionIds as mt, BackingFile as n, updateConversationForkFallbackReason as nt, ConversationNotFound as o, updateSpawnError as ot, TranscriptsResolver as p, ensureDiscoveredSessionsSchema as pt, setConversationHarness as q, Conversation as r, updateConversationTitle as rt, ConversationWriter as s, findConversationForCostSessionSync as st, AlreadyArchived as t, updateConversationDeliveryMethod as tt, NotArchived as u, buildFilterSql as ut, canReplaceTitle as v, getDiscoveredSessionByJsonlPath as vt, getConversationByTmuxSession as w, loadEmbeddings as wt, getConversationByClaudeSessionId as x, getEmbedding as xt, clearConversationFailureState as y, getDiscoveredSessionBySessionId as yt, normalizeHarness as z };
1625
1630
 
1626
- //# sourceMappingURL=conversations-DhwxsOru.js.map
1631
+ //# sourceMappingURL=conversations-C75EFFjf.js.map
@@ -0,0 +1,3 @@
1
+ import { A as init_conversations, P as listConversations } from "./conversations-C75EFFjf.js";
2
+ init_conversations();
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-CQKI6OCu.js";
3
- import { a as init_events, t as appendCostEventSync } from "./events-BIKGJZOT.js";
2
+ import { o as getPricingSync, s as init_cost$1, t as calculateCostSync } from "./cost-CiIwxH1D.js";
3
+ import { a as init_events, t as appendCostEventSync } from "./events-B6zioJA_.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-Bnf9NUC5.js.map
55
+ //# sourceMappingURL=cost-BCWEkvro.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fi as init_paths, mi as COSTS_DIR, oi as init_errors } from "./config-yaml-BwOEANMr.js";
2
+ import { Ri as init_paths, ci as init_errors, gi as COSTS_DIR } from "./config-yaml-D9nfpEx1.js";
3
3
  import "effect";
4
4
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
5
5
  import { join } from "path";
@@ -534,4 +534,4 @@ var init_cost = __esmMin((() => {
534
534
  //#endregion
535
535
  export { getAllBudgetsSync as a, deleteBudgetSync as i, checkBudgetSync as n, getPricingSync as o, createBudgetSync as r, init_cost as s, calculateCostSync as t };
536
536
 
537
- //# sourceMappingURL=cost-CQKI6OCu.js.map
537
+ //# sourceMappingURL=cost-CiIwxH1D.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fi as init_paths, Pi as getOverdeckHome } from "./config-yaml-BwOEANMr.js";
3
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-KTp9KV9u.js";
2
+ import { Li as getOverdeckHome, Ri as init_paths } from "./config-yaml-D9nfpEx1.js";
3
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CHIvOb9q.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-B-ADeXKY.js.map
401
+ //# sourceMappingURL=cost-sync-DOkdE_yB.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { b as subItemsOf, s as init_io, y as init_types } from "./io-DfvO2xyh.js";
2
+ import { b as subItemsOf, s as init_io, y as init_types } from "./io-DKrWd3gX.js";
3
3
  import { Data } from "effect";
4
4
  import "fs/promises";
5
5
  //#region ../../lib/xbrief/dag.ts
@@ -157,27 +157,13 @@ function getDispatchableItems(doc, mergedItemIds) {
157
157
  for (const edge of blockEdges) blockers.get(edge.to)?.push(edge.from);
158
158
  return actionable.filter((item) => {
159
159
  return (blockers.get(item.id) ?? []).every((blockerId) => {
160
- if (mergedItemIds.has(blockerId)) return true;
161
160
  const blocker = itemById.get(blockerId);
161
+ if (mergedItemIds.has(blockerId) && blocker?.status === "completed") return true;
162
162
  return blocker?.status === "completed" || blocker?.status === "cancelled";
163
163
  });
164
164
  });
165
165
  }
166
166
  /**
167
- * Returns the count of blocking parents for an item (items with 'blocks → itemId' edges
168
- * that are neither completed nor cancelled in the plan).
169
- * Count > 1 means the item is a DAG convergence point requiring a synthesis agent.
170
- */
171
- function blockingParentCount(doc, itemId) {
172
- const completedStatuses = new Set(["completed", "cancelled"]);
173
- const itemById = new Map(doc.plan.items.map((i) => [i.id, i]));
174
- return doc.plan.edges.filter((e) => {
175
- if (e.type !== "blocks" || e.to !== itemId) return false;
176
- const parent = itemById.get(e.from);
177
- return parent && !completedStatuses.has(parent.status);
178
- }).length;
179
- }
180
- /**
181
167
  * Converts a glob pattern to a RegExp for simple path matching.
182
168
  * Supports `**` (any path segment), `*` (any chars within a segment), and `?`.
183
169
  */
@@ -361,7 +347,8 @@ var init_dag = __esmMin((() => {
361
347
  "done",
362
348
  "block",
363
349
  "unblock",
364
- "cancel"
350
+ "cancel",
351
+ "reopen"
365
352
  ]);
366
353
  new Set([
367
354
  "next",
@@ -377,6 +364,6 @@ var init_dag = __esmMin((() => {
377
364
  Data.TaggedError("XBriefDagError");
378
365
  }));
379
366
  //#endregion
380
- export { criticalPath as a, hasFileOverlap as c, createActiveSlice as i, init_dag as l, blockingParentCount as n, getDispatchableItems as o, compileGlob as r, groupItemsByWave as s, actionableDoc as t };
367
+ export { getDispatchableItems as a, init_dag as c, criticalPath as i, compileGlob as n, groupItemsByWave as o, createActiveSlice as r, hasFileOverlap as s, actionableDoc as t };
381
368
 
382
- //# sourceMappingURL=dag-DI9LaK_q.js.map
369
+ //# sourceMappingURL=dag-BPc74hwj.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-akhA3iyF.js.map
111
+ //# sourceMappingURL=dangerous-git-ops-By9iguTP.js.map
@@ -1,7 +1,7 @@
1
- import { S as getConversationByName, ct as aggregateDiscoveredSessionCostBy, gt as getDiscoveredSessionById, k as init_conversations, mt as findDiscoveredSessions, st as aggregateDiscoveredSessionCost, ut as countDiscoveredSessions, xt as init_discovered_sessions, yt as getDiscoveredStats } from "./conversations-DhwxsOru.js";
2
- import { D as setSetting, c as init_control_settings, s as getSetting } from "./control-settings-5k6ixdFW.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-2aHeLC3W.js";
4
- import { t as listSubstrateBugWeights } from "./substrate-bug-weights-service-BTNjHBnl.js";
1
+ import { A as init_conversations, C as getConversationByName, St as init_discovered_sessions, _t as getDiscoveredSessionById, bt as getDiscoveredStats, ct as aggregateDiscoveredSessionCost, dt as countDiscoveredSessions, ht as findDiscoveredSessions, lt as aggregateDiscoveredSessionCostBy } from "./conversations-C75EFFjf.js";
2
+ import { D as setSetting, c as init_control_settings, s as getSetting } from "./control-settings-BMoDHY1G.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-YxIv-fG1.js";
4
+ import { t as listSubstrateBugWeights } from "./substrate-bug-weights-service-BbbCZEtJ.js";
5
5
  import { parentPort } from "node:worker_threads";
6
6
  //#region services/dashboard-db-worker.ts
7
7
  init_discovered_sessions();
@@ -67,15 +67,15 @@ async function runJob(id, operation, payload) {
67
67
  });
68
68
  }
69
69
  case "getArtifactBySlug": {
70
- const { getArtifactBySlugJob } = await import("./artifact-index-jobs-C6Lg2rKm.js");
70
+ const { getArtifactBySlugJob } = await import("./artifact-index-jobs-Ck4NRRkY.js");
71
71
  return getArtifactBySlugJob(payload);
72
72
  }
73
73
  case "listArtifactsForWorkspaceOrIssue": {
74
- const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-C6Lg2rKm.js");
74
+ const { listArtifactsForWorkspaceOrIssueJob } = await import("./artifact-index-jobs-Ck4NRRkY.js");
75
75
  return listArtifactsForWorkspaceOrIssueJob(payload);
76
76
  }
77
77
  case "unshareArtifactBySlug": {
78
- const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-C6Lg2rKm.js");
78
+ const { unshareArtifactBySlugJob } = await import("./artifact-index-jobs-Ck4NRRkY.js");
79
79
  return unshareArtifactBySlugJob(payload);
80
80
  }
81
81
  }