@overdeck/desktop 0.49.2 → 0.50.1

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 (554) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +1 -0
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-CHtDkHEL.js → acceptance-criteria-DFyrgxW5.js} +2 -2
  4. package/server/{active-dashboard-bundle-Byh6sP-q.js → active-dashboard-bundle-DbfgP8TS.js} +2 -2
  5. package/server/{activity-logger-Ck8qoluj.js → activity-logger-DtdKxzPh.js} +1 -1
  6. package/server/{activity-logger-BWZhVphb.js → activity-logger-ru8ggv-d.js} +3 -3
  7. package/server/{advancing-selfheal-65W4yUQi.js → advancing-selfheal-BdZ1iFJf.js} +11 -6
  8. package/server/{agent-gc-BNUudFnt.js → agent-gc-DBMg1vIc.js} +11 -11
  9. package/server/{agent-idle-ONBssBN_.js → agent-idle-CQlwmcRR.js} +11 -11
  10. package/server/{agent-state-CM8iVw5B.js → agent-state-B0v3fvGI.js} +1 -1
  11. package/server/{agent-state-BJhGIJZe.js → agent-state-BnyNoDWQ.js} +345 -402
  12. package/server/{agent-state-service-CiIuwzIs.js → agent-state-service-D95wBjA3.js} +5 -5
  13. package/server/{agent-state-service-CzHfoqKQ.js → agent-state-service-GK2Uy8zc.js} +1 -1
  14. package/server/{agents-DpCuoF65.js → agents-BdkVgjxC.js} +1 -1
  15. package/server/{agents-jXgqpHca.js → agents-DMs1aLRU.js} +4 -4
  16. package/server/{archive-planning-CGkU6UeL.js → archive-planning-CFf5FVHQ.js} +5 -5
  17. package/server/archive-planning-CNSWQPvz.js +2 -0
  18. package/server/{artifact-index-jobs-Ck4NRRkY.js → artifact-index-jobs-BdeB5RIY.js} +2 -2
  19. package/server/{assemble-CyvEBmmq.js → assemble-D88iFkP-.js} +2 -2
  20. package/server/{auto-spawn-consent-Dc4mtM-B.js → auto-spawn-consent-C1avLtkk.js} +7 -7
  21. package/server/{backlog-auto-trigger-CCEpr4YT.js → backlog-auto-trigger-oKIGNBzZ.js} +3 -3
  22. package/server/{behavior-BiCQzqyT.js → behavior-CPX0E2Fj.js} +49 -7
  23. package/server/{bridge-pool-patrol-Ce8rNPym.js → bridge-pool-patrol-DstxbANA.js} +2 -2
  24. package/server/{briefing-freshness-e_OEYZEe.js → briefing-freshness-FF0WLPMc.js} +2 -2
  25. package/server/build-info-Df2tkRrB.js +2 -0
  26. package/server/{build-info-BRw4QlYO.js → build-info-DiA6h4T6.js} +3 -3
  27. package/server/{checkpoint-manager-DOwRGFff.js → checkpoint-manager-CkXA-F6Z.js} +2 -2
  28. package/server/{checkpoint-manager-CKr42Usw.js → checkpoint-manager-D74ueYZp.js} +1 -1
  29. package/server/checkpoint-worker.js +1 -1
  30. package/server/{checkpoints-Cszp_0Np.js → checkpoints-Ds83fUb1.js} +2 -2
  31. package/server/{checkpoints-Cb6CWT4S.js → checkpoints-JIKy0UFv.js} +1 -1
  32. package/server/{claude-hooks-provision-C5JHpxTS.js → claude-hooks-provision-BJ8LNIAe.js} +1 -1
  33. package/server/{claude-hooks-provision-Cer2eFfj.js → claude-hooks-provision-D7Z8kANm.js} +2 -2
  34. package/server/{claude-permissions-Bc5kjX1q.js → claude-permissions-Bn53HCXr.js} +18 -3
  35. package/server/{claude-settings-overlay-m-VVZej1.js → claude-settings-overlay-CqJZjFqv.js} +2 -2
  36. package/server/{claude-settings-overlay-C7rWsnya.js → claude-settings-overlay-QByq1SQa.js} +1 -1
  37. package/server/{cli-BmczsfD6.js → cli-BXmAb7vN.js} +11 -11
  38. package/server/cli-BjznnCC3.js +2 -0
  39. package/server/{cliproxy-BpYpkogS.js → cliproxy-L_2OxNJf.js} +2 -2
  40. package/server/{cliproxy-_yUU0HRY.js → cliproxy-ltFu5xfR.js} +1 -1
  41. package/server/{close-issue-CxvRD0UI.js → close-issue-BZAf0Ii-.js} +5 -5
  42. package/server/{closed-issue-reaper-nMLRi5de.js → closed-issue-reaper-BJa8SbvQ.js} +13 -13
  43. package/server/{closed-issue-reaper-omOcUDBl.js → closed-issue-reaper-DVtyOI4C.js} +1 -1
  44. package/server/{codex-DZhFfcWu.js → codex-BqLZKVNm.js} +1 -1
  45. package/server/{codex-KaSKE-R3.js → codex-DSs-3aOm.js} +6 -6
  46. package/server/{compaction-continuation-Bjfi70G-.js → compaction-continuation-TG0HYkOq.js} +3 -3
  47. package/server/{config-ZGjvuR6J.js → config-Cx3N6gWz.js} +2 -2
  48. package/server/{config-Doq_tF-f.js → config-DP0VV7rX.js} +2 -2
  49. package/server/{config-CH1AqqIQ.js → config-DURnId0k.js} +1 -1
  50. package/server/{config-yaml-D9nfpEx1.js → config-yaml-OoH-ZpTb.js} +48 -9
  51. package/server/{conflict-gate-DcUTY4Gb.js → conflict-gate-SgOELW84.js} +5 -5
  52. package/server/{conflict-gate-D4XCtrm2.js → conflict-gate-pMfhBEVB.js} +1 -1
  53. package/server/{context-layers-BGj2Y9l3.js → context-layers-D0QBOPJJ.js} +2 -2
  54. package/server/{context-layers-BBTKP-Y4.js → context-layers-LY5zt0da.js} +3 -3
  55. package/server/{continue-i7Revg8D.js → continue-Cmzd6leL.js} +2 -2
  56. package/server/{control-settings-BMoDHY1G.js → control-settings-Bdud_B1j.js} +308 -5
  57. package/server/{conversation-compaction-DzIjYMfg.js → conversation-compaction-BX9UR8nl.js} +1 -1
  58. package/server/{conversation-compaction-D4VOmF7p.js → conversation-compaction-dFx_2wpa.js} +8 -8
  59. package/server/{conversation-service-CzZUJFEx.js → conversation-service-B3h1erHm.js} +1 -1
  60. package/server/{conversation-service-tQCIbBVZ.js → conversation-service-zgLM2g2D.js} +37 -13
  61. package/server/{conversations-bFDaD5YN.js → conversations-Ch7UGi0F.js} +1 -1
  62. package/server/{conversations-C75EFFjf.js → conversations-JyrMSeOh.js} +5 -5
  63. package/server/{cost-CiIwxH1D.js → cost-CxXv7ei-.js} +10 -2
  64. package/server/cost-DR57uJFP.js +838 -0
  65. package/server/{cost-BCWEkvro.js → cost-MZ7EZFDc.js} +3 -3
  66. package/server/{cost-sync-DOkdE_yB.js → cost-sync-Bq_dyq9k.js} +3 -3
  67. package/server/{dag-BPc74hwj.js → dag-CKUsr8wB.js} +2 -2
  68. package/server/{dangerous-git-ops-By9iguTP.js → dangerous-git-ops-BOtXCFkT.js} +1 -1
  69. package/server/dashboard-db-worker.js +61 -11
  70. package/server/{deacon-CzSZMtb-.js → deacon-BUOpTnmQ.js} +3 -3
  71. package/server/{deacon-B24dNzr8.js → deacon-C7qZxRuW.js} +125 -165
  72. package/server/{deacon-canonical-state-CkvxRPck.js → deacon-canonical-state-hcaZgjoT.js} +2 -2
  73. package/server/{deacon-event-client-Do6Z2gKl.js → deacon-event-client-Coiopt4u.js} +2 -2
  74. package/server/{deacon-event-client-BYIQBu0T.js → deacon-event-client-DJ71Tifg.js} +1 -1
  75. package/server/{deacon-nudge-log-CzM9JA9t.js → deacon-nudge-log-pcliw8Dr.js} +1 -1
  76. package/server/{deacon-pending-lifecycle-BObEdT-L.js → deacon-pending-lifecycle-Dv0-8bZG.js} +3 -3
  77. package/server/deacon.js +11 -11
  78. package/server/dead-end-trip-B91w2PGV.js +2 -0
  79. package/server/{dead-end-trip-CnVmjnya.js → dead-end-trip-DH_hA7yS.js} +3 -3
  80. package/server/{delivery-gyce0vQ7.js → delivery-zJM4aIkf.js} +1 -1
  81. package/server/{deploy-patrol-CEwwEYDM.js → deploy-patrol-Cv96N0s6.js} +8 -8
  82. package/server/deploy-queue-2cN86Lg4.js +2 -0
  83. package/server/{deploy-queue-r96ojDI3.js → deploy-queue-EcksuKE2.js} +2 -2
  84. package/server/{deploy-window-D_3hhfxt.js → deploy-window-BXbzS0zN.js} +4 -4
  85. package/server/{deploy-window-DeJK8mTK.js → deploy-window-CHgL_TTN.js} +1 -1
  86. package/server/{dev-supervisor-DZWwpENk.js → dev-supervisor-lNaYB136.js} +2 -2
  87. package/server/{devcontainer-renderer-d-9dCV_2.js → devcontainer-renderer-q8q9aXRd.js} +3 -3
  88. package/server/{dist-DsLAsFSh.js → dist-CoR2sivG.js} +1 -1
  89. package/server/dist-FHv1s5ez.js +3 -0
  90. package/server/{docker-CRPHBylA.js → docker-BNd0tMdS.js} +1 -1
  91. package/server/{docker-B2mUBzGk.js → docker-Dk-shfga.js} +3 -3
  92. package/server/{dod-DWtilRLx.js → dod-BAk5arLF.js} +1 -1
  93. package/server/{done-preflight-BDVdWed5.js → done-preflight-AiXnYYAy.js} +1 -1
  94. package/server/{done-preflight-D4ukUf-S.js → done-preflight-CukR3Br8.js} +5 -5
  95. package/server/{durable-review-pipeline-CaCbEJSt.js → durable-review-pipeline-BOEZ0chh.js} +1 -1
  96. package/server/{durable-review-pipeline-B3OS2_He.js → durable-review-pipeline-Djx_lvFd.js} +1 -1
  97. package/server/{ensure-devcontainer-rGSh0JHK.js → ensure-devcontainer-BjMV_gdX.js} +1 -1
  98. package/server/{ensure-devcontainer-BUeBRjmm.js → ensure-devcontainer-YXncXZ5Q.js} +4 -4
  99. package/server/{esm-shims-oAaKIa-a.js → esm-shims-deFq5Hhl.js} +1 -1
  100. package/server/{event-store-Db4w4YIY.js → event-store-CFnLP8w-.js} +1 -1
  101. package/server/{event-store-BCSgMubf.js → event-store-DbjldlXW.js} +5 -5
  102. package/server/{event-store-provider-DlSQND3V.js → event-store-provider-Bu1Qrg6v.js} +1 -1
  103. package/server/{events-B6zioJA_.js → events-Bb2x5ijT.js} +3 -3
  104. package/server/{factory-BrdqXBeK.js → factory-DfIQG-qW.js} +4 -4
  105. package/server/{feature-registry-storage-zh3ZXW6f.js → feature-registry-storage-BzAGS4DA.js} +2 -2
  106. package/server/{features-BGntOWdy.js → features-KxOILHX8.js} +2 -2
  107. package/server/{feedback-stuck-retirement-DpA5u1kt.js → feedback-stuck-retirement-BqTHm-1Z.js} +2 -2
  108. package/server/{feedback-target-D7GxdUYG.js → feedback-target-BjLidX0M.js} +10 -10
  109. package/server/{feedback-target-Ddqk93NF.js → feedback-target-D2CIZFwc.js} +1 -1
  110. package/server/{feedback-writer-CH2846DP.js → feedback-writer-BrSQ4fC-.js} +1 -1
  111. package/server/{feedback-writer-C1gCLFmp.js → feedback-writer-Dgrma-L1.js} +5 -5
  112. package/server/{flywheel-CjW2L7BS.js → flywheel-D5FchYg4.js} +16 -16
  113. package/server/{flywheel-HJt7QdWP.js → flywheel-Ds0eOd1P.js} +1 -1
  114. package/server/{flywheel-v1cCOBx-.js → flywheel-X6kvGnf2.js} +15 -15
  115. package/server/{flywheel-merge-order-D_yyAlND.js → flywheel-merge-order-BTY73Efv.js} +17 -15
  116. package/server/{flywheel-merge-order-4fNRN2F2.js → flywheel-merge-order-PTHnouQS.js} +1 -1
  117. package/server/{forge-RVTCK_5X.js → forge-B08cRXEb.js} +2 -2
  118. package/server/forge-egNLsjVi.js +2 -0
  119. package/server/{from-BnLgKYvw.js → from-C3dzmjSO.js} +1 -1
  120. package/server/{fs-lock-C7J-ugIf.js → fs-lock-DfiYlr5u.js} +2 -2
  121. package/server/{fts-operations-CU0B5WUx.js → fts-operations-Do1SP0w4.js} +2 -2
  122. package/server/{git-info-BSrI9owC.js → git-info-DMOSfJ9I.js} +1 -1
  123. package/server/{git-utils-DW8-jIUJ.js → git-utils-DfpFkvwk.js} +4 -4
  124. package/server/{git-utils-CsKV0Dis.js → git-utils-fcK3ZRNj.js} +1 -1
  125. package/server/{github-app-7ywLhuZO.js → github-app-Co8ZhyUJ.js} +2 -2
  126. package/server/{github-app-Oi5hdn1n.js → github-app-HAqQZZRD.js} +1 -1
  127. package/server/{github-client-Cy0fSj1a.js → github-client-C7MUxFzX.js} +1 -1
  128. package/server/{github-client-DAbuXLuk.js → github-client-wqbDCmlL.js} +2 -2
  129. package/server/{github-pr-lookup-Dhh3ec1V.js → github-pr-lookup-DdLCDdu9.js} +2 -2
  130. package/server/{harness-binary-tMmgJfC1.js → harness-binary-BuakhXkB.js} +2 -2
  131. package/server/{harness-resolve-DusNpVEe.js → harness-resolve-CISjc9FR.js} +4 -4
  132. package/server/{health-events-BYDZ9n2i.js → health-events-9RhRGZK1.js} +1 -1
  133. package/server/{health-events-DNw9Mzw9.js → health-events-CIE7gy34.js} +2 -2
  134. package/server/{hooks-B4wj32l2.js → hooks-CmL3TXla.js} +1 -1
  135. package/server/{hooks-BjBjxqNh.js → hooks-D55VTdQS.js} +2 -2
  136. package/server/{hume-BP9YbxaE.js → hume-1FJmNDTq.js} +2 -2
  137. package/server/hume-gXLmRhmN.js +3 -0
  138. package/server/{identity-C23uY8dZ.js → identity-CZbJ0xpl.js} +3 -3
  139. package/server/{idle-stack-reaper-BSxb1bln.js → idle-stack-reaper-CjovDCet.js} +4 -4
  140. package/server/{idle-stack-reaper-Bw0rU9GC.js → idle-stack-reaper-DhbFdkWv.js} +1 -1
  141. package/server/{in-flight-guard-DuxabAHT.js → in-flight-guard-B7khcBdQ.js} +1 -1
  142. package/server/{infra-CHIvOb9q.js → infra-BbSWNOpH.js} +10 -4
  143. package/server/{injection-BYUt8ml1.js → injection-BSnn_10a.js} +8 -8
  144. package/server/{injection-BviePcm3.js → injection-DsQDBSEi.js} +1 -1
  145. package/server/inspect-agent-BuSYgRQs.js +2 -0
  146. package/server/{inspect-agent-sV_19NxZ.js → inspect-agent-DS8j2v6U.js} +12 -12
  147. package/server/{internal-token-DoVzb4b7.js → internal-token-CUKcTWSG.js} +2 -2
  148. package/server/{internal-token-BOtIRJU7.js → internal-token-CkrMLCLU.js} +1 -1
  149. package/server/{io-DKrWd3gX.js → io-BgzG56av.js} +4 -4
  150. package/server/{issue-closed-6RQsAjDX.js → issue-closed-DZEwD3ol.js} +7 -7
  151. package/server/{issue-lifecycle-DOPVv7xz.js → issue-lifecycle-Bnfbpkmk.js} +1 -1
  152. package/server/{issue-lifecycle-D9nLErvS.js → issue-lifecycle-LgYeE1o2.js} +25 -25
  153. package/server/{issue-service-singleton-B2xy-IS9.js → issue-service-singleton-Bsb0GaY8.js} +10 -10
  154. package/server/{issue-service-singleton-CvgNAWqK.js → issue-service-singleton-COEqWNKE.js} +1 -1
  155. package/server/{issue-title-fallback-DTSCQVu0.js → issue-title-fallback-D4_b2XwP.js} +3 -3
  156. package/server/{issues-e_Ck1Ln2.js → issues-DYAEUW45.js} +2 -2
  157. package/server/{jsonl-parser-DqxVCZ1k.js → jsonl-parser-1IqHI9Yb.js} +3 -3
  158. package/server/{jsonl-resolver-07OS3qOr.js → jsonl-resolver-BJ8Hg-yD.js} +8 -8
  159. package/server/{kimi-code-vtXl2DR5.js → kimi-code-Cdkk9vRU.js} +1 -1
  160. package/server/{kimi-code-BjtAHIz1.js → kimi-code-DwqLCWFw.js} +11 -11
  161. package/server/{kimi-parser-B1lgy2Vt.js → kimi-parser-DFsZQArz.js} +2 -2
  162. package/server/{label-cleanup-D2zUMasf.js → label-cleanup-Bej6xDZK.js} +3 -3
  163. package/server/{lifecycle-0NOEzomy.js → lifecycle-BibLMHBH.js} +2 -2
  164. package/server/{lifecycle-DaCovZwn.js → lifecycle-CMpSB9sn.js} +6 -6
  165. package/server/{lifecycle-io-6WL46dsB.js → lifecycle-io-CCCAMefe.js} +5 -5
  166. package/server/{lifecycle-io-BBMTaP7S.js → lifecycle-io-CLWwYZaR.js} +1 -1
  167. package/server/{linear-client-BTGApNLo.js → linear-client-BtYl16Cy.js} +1 -1
  168. package/server/{linear-client-7fQThJTc.js → linear-client-fpL-qJEa.js} +2 -2
  169. package/server/{linear-mcp-auth-B8pYRsiU.js → linear-mcp-auth-CQ7ROT1X.js} +1 -1
  170. package/server/{linear-mcp-auth-Nk5s3L9M.js → linear-mcp-auth-nAYWoUbH.js} +5 -5
  171. package/server/memory-fts-worker.js +1 -1
  172. package/server/{memory-governor-Cqvbusr4.js → memory-governor-Mi5zF5zw.js} +87 -21
  173. package/server/{memory-pressure-patrol-DPb8foam.js → memory-pressure-patrol-CDeDh46A.js} +38 -14
  174. package/server/{merge-BB_bjJ9a.js → merge-DCuDLiy9.js} +1 -1
  175. package/server/{merge-FZ78_cEz.js → merge-_XIivhkq.js} +3 -3
  176. package/server/{merge-agent-BuoC_PRZ.js → merge-agent-svBDRWB6.js} +2 -2
  177. package/server/{merge-agent-B3jRrlS1.js → merge-agent-zF9vqWqY.js} +31 -31
  178. package/server/{merge-batch-B8bVjFWS.js → merge-batch-BJjzUUL7.js} +1 -1
  179. package/server/{merge-completeness-DQt7Qa7i.js → merge-completeness-CQPqu-pI.js} +4 -4
  180. package/server/{merge-completeness-DkdabVch.js → merge-completeness-CeQheehh.js} +1 -1
  181. package/server/merge-eligibility-CJrBhQQe.js +3 -0
  182. package/server/merge-eligibility-DhxVE8qU.js +51 -0
  183. package/server/merge-ops-CUzpOPtO.js +2 -0
  184. package/server/{merge-rebase-qq40s91P.js → merge-rebase-Bjo45m3k.js} +2 -2
  185. package/server/merge-rebase-DkfcUT60.js +2 -0
  186. package/server/{merge-set-BmRRflt0.js → merge-set-COZvz2nx.js} +4 -4
  187. package/server/{merge-set-BTNYvxM3.js → merge-set-ChxZgjBB.js} +1 -1
  188. package/server/{merge-sync-CJpOa0cZ.js → merge-sync-CCi1Esdx.js} +2 -2
  189. package/server/{merge-sync-0m2Q087q.js → merge-sync-DuJ6Vkl3.js} +1 -1
  190. package/server/{merge-train-iwKqjtCF.js → merge-train-DTJXF8ph.js} +4 -4
  191. package/server/{merge-train-deps-CH5Mr3vN.js → merge-train-deps-C0P0qGKe.js} +4 -4
  192. package/server/{merge-verification-JJc5GC2t.js → merge-verification-C5FexOBZ.js} +6 -6
  193. package/server/{merged-docker-cleanup-worker-CrhTdxZV.js → merged-docker-cleanup-worker-0SEDG3Ao.js} +1 -1
  194. package/server/{merged-docker-cleanup-worker-BOqWA373.js → merged-docker-cleanup-worker-C-kSp_jw.js} +3 -3
  195. package/server/{messaging-nuwStbdQ.js → messaging-DQi-WEFB.js} +1 -1
  196. package/server/{multipart-parser-DxuW_rZV.js → multipart-parser-BYwfKOVU.js} +2 -2
  197. package/server/{no-resume-mode-xuYLFhLw.js → no-resume-mode-DjMQRkId.js} +1 -1
  198. package/server/node_modules/.package-lock.json +28 -28
  199. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/package.json +2 -2
  200. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +4 -2
  201. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.d.ts.map +1 -1
  202. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js +12 -9
  203. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeClusterSocket.js.map +1 -1
  204. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js +1 -1
  205. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocket.js.map +1 -1
  206. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +6 -6
  207. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeClusterSocket.ts +15 -12
  208. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocket.ts +1 -1
  209. package/server/node_modules/@types/node/README.md +1 -1
  210. package/server/node_modules/@types/node/buffer.buffer.d.ts +10 -5
  211. package/server/node_modules/@types/node/buffer.d.ts +1 -0
  212. package/server/node_modules/@types/node/crypto.d.ts +2 -4
  213. package/server/node_modules/@types/node/dgram.d.ts +119 -4
  214. package/server/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
  215. package/server/node_modules/@types/node/ffi.d.ts +1 -1
  216. package/server/node_modules/@types/node/fs/promises.d.ts +61 -65
  217. package/server/node_modules/@types/node/fs.d.ts +86 -76
  218. package/server/node_modules/@types/node/http.d.ts +18 -2
  219. package/server/node_modules/@types/node/http2.d.ts +12 -4
  220. package/server/node_modules/@types/node/index.d.ts +1 -0
  221. package/server/node_modules/@types/node/inspector.d.ts +2 -1
  222. package/server/node_modules/@types/node/net.d.ts +108 -16
  223. package/server/node_modules/@types/node/package.json +3 -3
  224. package/server/node_modules/@types/node/perf_hooks.d.ts +31 -19
  225. package/server/node_modules/@types/node/process.d.ts +52 -0
  226. package/server/node_modules/@types/node/quic.d.ts +252 -42
  227. package/server/node_modules/@types/node/sqlite.d.ts +6 -2
  228. package/server/node_modules/@types/node/stream/iter.d.ts +4 -4
  229. package/server/node_modules/@types/node/stream/web.d.ts +20 -0
  230. package/server/node_modules/@types/node/test.d.ts +36 -0
  231. package/server/node_modules/@types/node/tls.d.ts +50 -15
  232. package/server/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +5 -0
  233. package/server/node_modules/@types/node/ts5.6/index.d.ts +1 -0
  234. package/server/node_modules/@types/node/ts5.7/index.d.ts +1 -0
  235. package/server/node_modules/@types/node/tty.d.ts +4 -3
  236. package/server/node_modules/@types/node/vfs.d.ts +211 -0
  237. package/server/node_modules/@types/node/vm.d.ts +1 -1
  238. package/server/node_modules/@types/node/zlib.d.ts +17 -0
  239. package/server/node_modules/effect/node_modules/uuid/README.md +19 -19
  240. package/server/node_modules/effect/node_modules/uuid/dist/v1.js +7 -3
  241. package/server/node_modules/effect/node_modules/uuid/dist/v7.js +5 -2
  242. package/server/node_modules/effect/node_modules/uuid/dist-node/v1.js +7 -3
  243. package/server/node_modules/effect/node_modules/uuid/dist-node/v7.js +5 -2
  244. package/server/node_modules/effect/node_modules/uuid/package.json +4 -3
  245. package/server/node_modules/msgpackr/README.md +1 -0
  246. package/server/node_modules/msgpackr/dist/index-no-eval.cjs +13 -7
  247. package/server/node_modules/msgpackr/dist/index-no-eval.cjs.map +1 -1
  248. package/server/node_modules/msgpackr/dist/index-no-eval.min.js +1 -1
  249. package/server/node_modules/msgpackr/dist/index-no-eval.min.js.map +1 -1
  250. package/server/node_modules/msgpackr/dist/index.js +13 -7
  251. package/server/node_modules/msgpackr/dist/index.js.map +1 -1
  252. package/server/node_modules/msgpackr/dist/index.min.js +1 -1
  253. package/server/node_modules/msgpackr/dist/index.min.js.map +1 -1
  254. package/server/node_modules/msgpackr/dist/node.cjs +13 -7
  255. package/server/node_modules/msgpackr/dist/node.cjs.map +1 -1
  256. package/server/node_modules/msgpackr/dist/test.js +63 -7
  257. package/server/node_modules/msgpackr/dist/test.js.map +1 -1
  258. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs +11 -5
  259. package/server/node_modules/msgpackr/dist/unpack-no-eval.cjs.map +1 -1
  260. package/server/node_modules/msgpackr/index.d.cts +1 -0
  261. package/server/node_modules/msgpackr/index.d.ts +1 -0
  262. package/server/node_modules/msgpackr/pack.js +2 -2
  263. package/server/node_modules/msgpackr/package.json +1 -1
  264. package/server/node_modules/msgpackr/unpack.js +11 -5
  265. package/server/node_modules/picomatch/lib/parse.js +10 -1
  266. package/server/node_modules/picomatch/lib/scan.js +30 -18
  267. package/server/node_modules/picomatch/package.json +1 -1
  268. package/server/node_modules/protobufjs/dist/light/protobuf.js +59 -6
  269. package/server/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  270. package/server/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  271. package/server/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  272. package/server/node_modules/protobufjs/dist/minimal/protobuf.js +22 -2
  273. package/server/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  274. package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  275. package/server/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  276. package/server/node_modules/protobufjs/dist/protobuf.js +59 -6
  277. package/server/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  278. package/server/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  279. package/server/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  280. package/server/node_modules/protobufjs/package.json +1 -1
  281. package/server/node_modules/protobufjs/src/decoder.js +32 -3
  282. package/server/node_modules/protobufjs/src/reader.js +20 -0
  283. package/server/node_modules/protobufjs/src/wrappers.js +5 -1
  284. package/server/node_modules/undici/docs/docs/api/Client.md +4 -0
  285. package/server/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
  286. package/server/node_modules/undici/docs/docs/api/EventSource.md +4 -0
  287. package/server/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
  288. package/server/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  289. package/server/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  290. package/server/node_modules/undici/lib/core/symbols.js +2 -0
  291. package/server/node_modules/undici/lib/dispatcher/agent.js +7 -2
  292. package/server/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
  293. package/server/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
  294. package/server/node_modules/undici/lib/dispatcher/client-h2.js +43 -3
  295. package/server/node_modules/undici/lib/dispatcher/client.js +3 -2
  296. package/server/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
  297. package/server/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
  298. package/server/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  299. package/server/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +10 -3
  300. package/server/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
  301. package/server/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  302. package/server/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  303. package/server/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +91 -21
  304. package/server/node_modules/undici/lib/handler/cache-handler.js +29 -5
  305. package/server/node_modules/undici/lib/handler/decorator-handler.js +7 -1
  306. package/server/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  307. package/server/node_modules/undici/lib/handler/redirect-handler.js +21 -4
  308. package/server/node_modules/undici/lib/handler/retry-handler.js +148 -30
  309. package/server/node_modules/undici/lib/interceptor/cache.js +65 -12
  310. package/server/node_modules/undici/lib/interceptor/decompress.js +115 -13
  311. package/server/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  312. package/server/node_modules/undici/lib/interceptor/dns.js +7 -0
  313. package/server/node_modules/undici/lib/interceptor/dump.js +10 -23
  314. package/server/node_modules/undici/lib/mock/mock-agent.js +13 -1
  315. package/server/node_modules/undici/lib/mock/mock-utils.js +11 -10
  316. package/server/node_modules/undici/lib/util/cache.js +45 -3
  317. package/server/node_modules/undici/lib/web/cookies/parse.js +150 -147
  318. package/server/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  319. package/server/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
  320. package/server/node_modules/undici/lib/web/fetch/index.js +6 -0
  321. package/server/node_modules/undici/lib/web/fetch/request.js +2 -3
  322. package/server/node_modules/undici/lib/web/fetch/util.js +6 -1
  323. package/server/node_modules/undici/lib/web/webidl/index.js +3 -3
  324. package/server/node_modules/undici/lib/web/websocket/connection.js +1 -1
  325. package/server/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  326. package/server/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  327. package/server/node_modules/undici/package.json +3 -3
  328. package/server/node_modules/undici/types/client.d.ts +10 -0
  329. package/server/node_modules/undici/types/interceptors.d.ts +2 -0
  330. package/server/node_modules/undici/types/mock-agent.d.ts +11 -10
  331. package/server/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -0
  332. package/server/node_modules/undici-types/client.d.ts +8 -3
  333. package/server/node_modules/undici-types/connector.d.ts +1 -0
  334. package/server/node_modules/undici-types/cookies.d.ts +1 -1
  335. package/server/node_modules/undici-types/dispatcher.d.ts +3 -3
  336. package/server/node_modules/undici-types/errors.d.ts +10 -0
  337. package/server/node_modules/undici-types/fetch.d.ts +5 -1
  338. package/server/node_modules/undici-types/handlers.d.ts +2 -0
  339. package/server/node_modules/undici-types/interceptors.d.ts +1 -1
  340. package/server/node_modules/undici-types/mock-interceptor.d.ts +5 -1
  341. package/server/node_modules/undici-types/package.json +1 -1
  342. package/server/node_modules/undici-types/proxy-agent.d.ts +7 -0
  343. package/server/{orphan-proposed-reconciler-gf4TxfZb.js → orphan-proposed-reconciler--V8GIzmY.js} +2 -2
  344. package/server/{orphan-proposed-reconciler-Dmk0kO_p.js → orphan-proposed-reconciler-BSsKWmsB.js} +21 -21
  345. package/server/package-lock.json +29 -29
  346. package/server/package.json +1 -1
  347. package/server/{pan-dir-BMda7tQj.js → pan-dir-COaYhZel.js} +4 -4
  348. package/server/{parked-residue-BiHb8cD7.js → parked-residue-Dvr4W9P6.js} +68 -64
  349. package/server/{paths-DEe9j-kw.js → paths-Cm1Q7Old.js} +2 -2
  350. package/server/{pending-lifecycle-claim-J5uIIJPu.js → pending-lifecycle-claim-yAwDuGS4.js} +1 -1
  351. package/server/{pickup-D1UbSDPd.js → pickup-Dle6k9Xt.js} +1 -1
  352. package/server/{pipeline-agent-reader-D-6okryb.js → pipeline-agent-reader-DCCwbUj8.js} +3 -3
  353. package/server/{pipeline-membership-PGX3Pe8V.js → pipeline-membership-BV4hdkHm.js} +1 -1
  354. package/server/{pipeline-membership-CCbgBzNC.js → pipeline-membership-C9ykcjsn.js} +1 -1
  355. package/server/{pipeline-membership-gather-BRhU7XPx.js → pipeline-membership-gather-DGoDOfKO.js} +1 -1
  356. package/server/{pipeline-membership-gather-BK4dzh0X.js → pipeline-membership-gather-UN7kHpCD.js} +10 -10
  357. package/server/{pipeline-notifier-BNAV9kpa.js → pipeline-notifier-DfH2i_zP.js} +2 -2
  358. package/server/{pipeline-notifier-DvHLaXKb.js → pipeline-notifier-DsCfxoSU.js} +1 -1
  359. package/server/{post-merge-lifecycle-worker-DAWgzXQA.js → post-merge-lifecycle-worker-V51p8tSm.js} +2 -2
  360. package/server/{post-merge-state-DC2_0t12.js → post-merge-state-Cym5NVlB.js} +4 -4
  361. package/server/{prd-locations-BbAvqQmT.js → prd-locations-CPuMD55x.js} +3 -3
  362. package/server/{project-pipelines-By_5WcT4.js → project-pipelines-DdDKdXrG.js} +2 -2
  363. package/server/{project-repos-3bI6t4fO.js → project-repos-CNrLxJDg.js} +1 -1
  364. package/server/{project-repos--QeCg7yQ.js → project-repos-DqAT7YV6.js} +2 -2
  365. package/server/{project-resource-refresh-queue-BaZC79S3.js → project-resource-refresh-queue-C-umDazS.js} +1 -1
  366. package/server/{project-resource-refresh-queue-x-K9mvpP.js → project-resource-refresh-queue-Dh8k2SB7.js} +17 -17
  367. package/server/{projects-LftaVK99.js → projects-Crur9uCa.js} +1 -1
  368. package/server/{prompts-BotGu-6W.js → prompts-CvtVJUpG.js} +2 -2
  369. package/server/{providers-BL1I66sM.js → providers-1BlEh5x1.js} +7 -7
  370. package/server/{providers-Dqgz3MY5.js → providers-Bun8zer5.js} +1 -1
  371. package/server/public/assets/{chunk-BO2N2NFS-D5Fz5jND.js → chunk-BO2N2NFS-DzUNVdeo.js} +4 -4
  372. package/server/public/assets/{diagram-OG6HWLK6-Eux0gWFq.js → diagram-OG6HWLK6-D5iThVwA.js} +1 -1
  373. package/server/public/assets/{dist-D-JX_u7m.js → dist-BLq-IR2D.js} +3 -3
  374. package/server/public/assets/{dist-C3zShwhA.js → dist-RyrOs5EF.js} +1 -1
  375. package/server/public/assets/{ganttDiagram-6RSMTGT7-UH3aweia.js → ganttDiagram-6RSMTGT7-n8bUPXAS.js} +1 -1
  376. package/server/public/assets/{highlighted-body-OFNGDK62-ccIQ-WXS.js → highlighted-body-OFNGDK62-1npo3yiG.js} +1 -1
  377. package/server/public/assets/{index-BTVcdPve.js → index-BvN8bWpz.js} +149 -149
  378. package/server/public/assets/index-DgoS288w.css +1 -0
  379. package/server/public/assets/{linear-Cnnu4YQy.js → linear-Dd96gky1.js} +1 -1
  380. package/server/public/assets/mermaid-GHXKKRXX-fP93Za-W.js +1 -0
  381. package/server/public/assets/{pieDiagram-4H26LBE5-BD8-Tye6.js → pieDiagram-4H26LBE5-CynZvpYP.js} +1 -1
  382. package/server/public/assets/{prod-Ca6aKMts.js → prod-DBuCX9g-.js} +4 -4
  383. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BmSrVyFD.js → quadrantDiagram-W4KKPZXB-BNlEKLKN.js} +1 -1
  384. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CEGy8Das.js → sankeyDiagram-5OEKKPKP-Cq0AMnkD.js} +1 -1
  385. package/server/public/assets/{xychartDiagram-2RQKCTM6-VnQ8iY8s.js → xychartDiagram-2RQKCTM6-D7GXcBy2.js} +1 -1
  386. package/server/public/index.html +2 -2
  387. package/server/pull-requests-DV_rJ-1u.js +2 -0
  388. package/server/{pull-requests-Cp_FDT8-.js → pull-requests-DrhWU9MW.js} +3 -3
  389. package/server/{rally-bQpBzUNf.js → rally-D5QkIZeb.js} +3 -3
  390. package/server/rally-DlXjOIAG.js +3 -0
  391. package/server/{rally-api-Ij1Zt0NI.js → rally-api-BdNfpNGk.js} +1 -1
  392. package/server/{rally-api-CqAIJ8RX.js → rally-api-CNlcoTFM.js} +2 -2
  393. package/server/{rally-client-CN5vh4Ac.js → rally-client-BCU7mVWE.js} +1 -1
  394. package/server/{rally-client-qKbCNRVW.js → rally-client-C3eB9TM-.js} +4 -4
  395. package/server/{rebuild-stack-DrMyA_mA.js → rebuild-stack-BupKggo5.js} +2 -2
  396. package/server/{rebuild-stack-BNOMVh7C.js → rebuild-stack-CNknXJHL.js} +6 -6
  397. package/server/reconciler-ComAOr_F.js +657 -0
  398. package/server/{reconstruct-cache-mxIYCnqs.js → reconstruct-cache-DbjgwKRi.js} +7 -7
  399. package/server/{record-Ug18Cp4V.js → record-C4JJCL2f.js} +1 -1
  400. package/server/{record-update-WyhsREoH.js → record-update-CWwZsp9Y.js} +1 -1
  401. package/server/{record-update-dBGxL9OC.js → record-update-Cl56NqoQ.js} +5 -5
  402. package/server/{recovery-trip-BKLrL6NX.js → recovery-trip-DA7tCXbp.js} +3 -3
  403. package/server/{recovery-trip-wFAixKsg.js → recovery-trip-DFtSA8h5.js} +1 -1
  404. package/server/{release-engine-D9gaCBn9.js → release-engine-Dk99C48O.js} +5 -5
  405. package/server/{release-set-DPHHzEGx.js → release-set-x8KH3nrE.js} +3 -3
  406. package/server/{remote-BUEeUic6.js → remote-BMZmJC5E.js} +3 -3
  407. package/server/{remote-BU6ONLpv.js → remote-DyZIg94K.js} +3 -3
  408. package/server/{remote-agents-CSaTLi3u.js → remote-agents-Blb0vO_M.js} +6 -6
  409. package/server/{remote-agents-BVtASiOF.js → remote-agents-MbWzm5Fh.js} +1 -1
  410. package/server/{remote-completion-CBV3b9TI.js → remote-completion-Bcd13o-J.js} +12 -12
  411. package/server/{resolver-DvSMXty7.js → resolver-CZVWKCx0.js} +7 -7
  412. package/server/{resolver-gxv97jsQ.js → resolver-tJeEkPK5.js} +2 -2
  413. package/server/{resume-DvHuF-bm.js → resume-DmF2andq.js} +1 -1
  414. package/server/{review-agent-esZ0QXdY.js → review-agent-CmJeQc0K.js} +30 -30
  415. package/server/{review-agent-DgkUPRx0.js → review-agent-DM9S22BL.js} +2 -2
  416. package/server/{review-artifacts-DGGEobLp.js → review-artifacts-DCiaejJK.js} +6 -6
  417. package/server/{review-convoy-liveness-DmO8dIBH.js → review-convoy-liveness-C9F1Q1LN.js} +8 -8
  418. package/server/{review-run-recovery-Ct0q7FkE.js → review-run-recovery-C5TEICtx.js} +2 -2
  419. package/server/{review-run-recovery-DHiiw7d8.js → review-run-recovery-CRGBh7xs.js} +1 -1
  420. package/server/{review-status-yOGD2MuK.js → review-status-C3PJkfjv.js} +55 -45
  421. package/server/{review-status-C_kQeeX0.js → review-status-CDs0jQV6.js} +1 -1
  422. package/server/{review-status-emit-BZz1Y_22.js → review-status-emit-De6PF3ZH.js} +3 -3
  423. package/server/{review-status-enrichment-BWH0XW_m.js → review-status-enrichment-CclcG8jk.js} +3 -3
  424. package/server/{review-status-sync-Bq00Loey.js → review-status-sync-B3GKewT_.js} +1 -1
  425. package/server/{review-status-sync-2C9lk85r.js → review-status-sync-wvgdR1yZ.js} +11 -8
  426. package/server/{review-verdict-feedback-CE_tr2iQ.js → review-verdict-feedback-20s9pG0w.js} +7 -7
  427. package/server/{review-verdict-feedback-Brjaxoda.js → review-verdict-feedback-DkMx_cKj.js} +1 -1
  428. package/server/{review-verdict-writer-Ca2V7QSY.js → review-verdict-writer-BcG5RBWF.js} +7 -7
  429. package/server/{review-verdict-writer-CD-4kDVx.js → review-verdict-writer-CaJPCD-q.js} +1 -1
  430. package/server/{rollup-B6g9Nr6L.js → rollup-C-GXHbTG.js} +8 -8
  431. package/server/{rollup--g9ik1XQ.js → rollup-DR250WyW.js} +1 -1
  432. package/server/{scanner-YxIv-fG1.js → scanner-BEAzmMNs.js} +18 -11
  433. package/server/{search-DqMN4__-.js → search-BN0MYpZW.js} +2 -2
  434. package/server/{sequence-io--b3_PsWq.js → sequence-io-BmVO0K-_.js} +4 -4
  435. package/server/{sequencer-agent-CqouKVZG.js → sequencer-agent-CuA9PA_R.js} +6 -6
  436. package/server/server.js +599 -290
  437. package/server/{service-CEp-3iow.js → service-D1SZCxH8.js} +77 -772
  438. package/server/{session-fork-GtoeCh2H.js → session-fork--SMYFKVu.js} +2 -2
  439. package/server/{settings-Ch2pCVtt.js → settings-CETdzCl6.js} +3 -3
  440. package/server/{settings-CLQcdkoD.js → settings-CFi7CdJo.js} +2 -2
  441. package/server/settings-EGNbGKpP.js +2 -0
  442. package/server/{shadow-engineering-BxiFrIKv.js → shadow-engineering-CNTXaC9O.js} +2 -2
  443. package/server/{shadow-state-nGhCNXT2.js → shadow-state-6jSyeXQ7.js} +1 -1
  444. package/server/{shadow-state-CSA1vtxr.js → shadow-state-CtYJGNXt.js} +2 -2
  445. package/server/{shadow-utils-7q5QDmMj.js → shadow-utils-Cq5eMfwI.js} +2 -2
  446. package/server/{ship-log-ie0A_SqV.js → ship-log-D-CphNZx.js} +1 -1
  447. package/server/{ship-record-BM3oVvnL.js → ship-record-STA0P11l.js} +5 -5
  448. package/server/{ship-record-DHWH1hLz.js → ship-record-neN0oUI9.js} +1 -1
  449. package/server/{ship-status-BEkddXMT.js → ship-status-DzDpufmj.js} +2 -2
  450. package/server/{smart-compaction-BkzjVpWL.js → smart-compaction-CdtKIcDk.js} +1 -1
  451. package/server/{smart-compaction-D0TE1lBD.js → smart-compaction-tndAhwoc.js} +7 -7
  452. package/server/{spawn-planning-session-s406rw1N.js → spawn-planning-session-1XLgDLjR.js} +2 -2
  453. package/server/{spawn-planning-session-CkGweSCC.js → spawn-planning-session-CAncCBLX.js} +17 -17
  454. package/server/{specialist-completion-CTAjwH5j.js → specialist-completion-BMv3K54P.js} +1 -1
  455. package/server/{specialist-context-CKasRfYu.js → specialist-context-B054OP_a.js} +5 -5
  456. package/server/{specialist-handoff-logger-DrjrOmmn.js → specialist-handoff-logger-B7jzypoX.js} +2 -2
  457. package/server/{specialist-logs-Du6quZ0_.js → specialist-logs-DVhOLpwy.js} +3 -3
  458. package/server/{specialists-x-kPMhrL.js → specialists-8Pc--yZI.js} +2 -2
  459. package/server/{specialists-B-4zyE4Y.js → specialists-BVBIMc4L.js} +1 -1
  460. package/server/{specialists-b0dMMjWq.js → specialists-CC_Mnc47.js} +333 -118
  461. package/server/{specialists-CuDWiNdB.js → specialists-ChvCD2a-.js} +19 -19
  462. package/server/{specialists-registry-BYjs04iK.js → specialists-registry-Cim1fPcM.js} +2 -2
  463. package/server/{specialists-registry-1y6Rt_F1.js → specialists-registry-CoPNlhud.js} +1 -1
  464. package/server/specs-Dvq4sOy6.js +3 -0
  465. package/server/{src-CZsPs61V.js → src-C7gGe4KU.js} +6 -6
  466. package/server/{src-CY2Wl8IX.js → src-CdwN6WY6.js} +8 -2
  467. package/server/{src-DeQwpuh6.js → src-DMosbuSJ.js} +3 -3
  468. package/server/{stack-health-ypIKtkbE.js → stack-health-CvdnSVBV.js} +1 -1
  469. package/server/{stack-health-BQFSJc0l.js → stack-health-DPXaoAus.js} +3 -3
  470. package/server/{stale-task-claims-C2e1zdMT.js → stale-task-claims-UoNLemTn.js} +5 -5
  471. package/server/{staleness-Fzx_3_Hr.js → staleness-CxZaIhrn.js} +1 -1
  472. package/server/{staleness-CRDK6LFG.js → staleness-r_dkMyMG.js} +1 -1
  473. package/server/{stall-sweeper-QNk4h9m6.js → stall-sweeper-C9S8FYKz.js} +8 -8
  474. package/server/{state-home-DdG8erBI.js → state-home-BhI8O5lU.js} +2 -2
  475. package/server/{state-migrate-C6H3jfHE.js → state-migrate-DtFHcOVZ.js} +6 -6
  476. package/server/{state-mirror-DF4Lfxm0.js → state-mirror-CpuHFxHb.js} +3 -3
  477. package/server/{stuck-remediation-BDa_tXgB.js → stuck-remediation-B4nKm7B2.js} +13 -13
  478. package/server/{stuck-remediation-BVNd9txd.js → stuck-remediation-hSOOYB9B.js} +1 -1
  479. package/server/{substrate-bug-weights-service-BbbCZEtJ.js → substrate-bug-weights-service-B9f0063E.js} +3 -3
  480. package/server/{summary-fork-BvcW6bq0.js → summary-fork-CUyEqFyc.js} +14 -15
  481. package/server/{summary-fork-DIQmtOuV.js → summary-fork-DZcsOvDD.js} +2 -2
  482. package/server/{supervisor-D3jC2c7A.js → supervisor-CGtOs9Em.js} +4 -4
  483. package/server/supervisor-DoJpD33i.js +2 -0
  484. package/server/{swarm-readiness-CMWAQuWM.js → swarm-readiness-0N2p9d2C.js} +3 -3
  485. package/server/{synthesis-verdict-C-pJOPsn.js → synthesis-verdict-CJdseCuz.js} +1 -1
  486. package/server/{synthesis-verdict-DVlrLF9A.js → synthesis-verdict-CQdLbK1-.js} +2 -2
  487. package/server/{system-prerequisites-QKtIYXI2.js → system-prerequisites-DkDOEjQP.js} +2 -2
  488. package/server/{teardown-workspace-cJea1OLo.js → teardown-workspace-BxFMcWu7.js} +16 -16
  489. package/server/{test-agent-queue-C5DI_gWX.js → test-agent-queue-Dxeae55k.js} +6 -6
  490. package/server/{test-verdict-C7kmd2_Y.js → test-verdict-CJ-to_Hc.js} +1 -1
  491. package/server/{test-verdict-DUbDHqeD.js → test-verdict-hW5kILg7.js} +2 -2
  492. package/server/{tldr-daemon-BNQHwblU.js → tldr-daemon-DKCumqHU.js} +1 -1
  493. package/server/{tldr-daemon-CO08YlfQ.js → tldr-daemon-caxXegkF.js} +2 -2
  494. package/server/{tmux-B8zsqD_6.js → tmux-C-hxv71f.js} +2 -2
  495. package/server/{tmux-DWEc4Ld9.js → tmux-CvAEO9yo.js} +2 -2
  496. package/server/{token-Bez-qCB2.js → token-BdfZLRg1.js} +1 -1
  497. package/server/{tracker-config-CJzPhSHv.js → tracker-config-BjqwtkcT.js} +2 -2
  498. package/server/{tracker-utils-DJAOAuMN.js → tracker-utils-0cDe6yil.js} +2 -2
  499. package/server/{traefik-connect-D3H5I6b9.js → traefik-connect-DoQvQ6oJ.js} +1 -1
  500. package/server/{tunnel-BSdKnW0U.js → tunnel-BEM7-jgE.js} +1 -1
  501. package/server/{tunnel-Cr3ctqxp.js → tunnel-SgALz_Pi.js} +3 -3
  502. package/server/{types-fzBp9cYi.js → types-PW4zkxCM.js} +1 -1
  503. package/server/{uat-failure-feedback-IZQ-J8jt.js → uat-failure-feedback-BQzpUFQ6.js} +5 -5
  504. package/server/{uat-promote-verification-DXApKcc2.js → uat-promote-verification-BUltWC-b.js} +5 -5
  505. package/server/{uat-train-CycEzpbE.js → uat-train-B71QG16n.js} +1 -1
  506. package/server/{uat-train-IIZlz7r3.js → uat-train-BLJ0AAIc.js} +0 -0
  507. package/server/{validate-Ur4xH5bN.js → validate-DqEp2Yb9.js} +3 -3
  508. package/server/{validation-Dr6V4PXx.js → validation-DHEsL3RP.js} +4 -4
  509. package/server/{validation-CHovCoTT.js → validation-k4EpMHm0.js} +1 -1
  510. package/server/{verification-artifact-D3viYe_t.js → verification-artifact-Cmhgq4b_.js} +1 -1
  511. package/server/{verification-artifact-k5Ftpg0c.js → verification-artifact-DglwaHke.js} +1 -1
  512. package/server/{verification-runner-Dl13mmsI.js → verification-runner-BC_zNOq5.js} +16 -16
  513. package/server/{verification-runner-BuqGwm2t.js → verification-runner-Bbc-8BbR.js} +1 -1
  514. package/server/{vtt-parser-BSnAB-Og.js → vtt-parser-Va--tv27.js} +1 -1
  515. package/server/{work-agent-prompt-CJJ4tXci.js → work-agent-prompt-CQWlmw_y.js} +1 -1
  516. package/server/{work-agent-prompt-CioeOuM4.js → work-agent-prompt-DM3uza0_.js} +10 -10
  517. package/server/{work-agent-start-Ct1HVh6z.js → work-agent-start-BColr1oI.js} +1 -1
  518. package/server/{work-agent-start-B65Gqn9N.js → work-agent-start-cKf7rly8.js} +2 -2
  519. package/server/workflows-CLrEiTds.js +2 -0
  520. package/server/{workflows-AgFul1xc.js → workflows-DrC85n8j.js} +28 -28
  521. package/server/{workspace-Cy4sDd3q.js → workspace-ChRFy_F9.js} +3 -3
  522. package/server/{workspace-Cu3XlMXt.js → workspace-G3Cus8e9.js} +1 -1
  523. package/server/{workspace-anchor-drift-BI0Hz6zI.js → workspace-anchor-drift-DBbyK_Mf.js} +1 -1
  524. package/server/{workspace-anchor-drift-CMaqvizr.js → workspace-anchor-drift-z7TjOORC.js} +4 -4
  525. package/server/{workspace-config-DRYDO7Zr.js → workspace-config-D-bNq2CF.js} +1 -1
  526. package/server/{workspace-manager-CgovxDrO.js → workspace-manager-Db3pCmr7.js} +16 -16
  527. package/server/{workspace-manager-jfkKAEuO.js → workspace-manager-gz9Amovn.js} +1 -1
  528. package/server/{workspace-metadata-BNzODIv6.js → workspace-metadata-C5Ie2FMZ.js} +2 -2
  529. package/server/{workspace-metadata-BDqXzGGK.js → workspace-metadata-Do-L6GFP.js} +1 -1
  530. package/server/{workspaces-BJdPqx_J.js → workspaces-D0MWw7Mx.js} +123 -696
  531. package/sync-sources/rules/agent-message-delivery.md +21 -14
  532. package/sync-sources/rules/pan-handoff-focus-limit.md +3 -1
  533. package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +94 -46
  534. package/sync-sources/skills/pan-handoff/SKILL.md +13 -2
  535. package/server/archive-planning-BW4MKNI7.js +0 -2
  536. package/server/build-info-Bj2vQEMh.js +0 -2
  537. package/server/cli-BRuzUT_I.js +0 -2
  538. package/server/dead-end-trip-6V_CwveT.js +0 -2
  539. package/server/deploy-queue-CjLErpgw.js +0 -2
  540. package/server/dist-fCA6y2bH.js +0 -3
  541. package/server/forge-bvak6vXJ.js +0 -2
  542. package/server/hume-TYTb6fDU.js +0 -3
  543. package/server/inspect-agent-JFEaYTRa.js +0 -2
  544. package/server/merge-ops-DabXHp2i.js +0 -2
  545. package/server/merge-rebase-CXq0qsgR.js +0 -2
  546. package/server/public/assets/index-2wV4ipy_.css +0 -1
  547. package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +0 -1
  548. package/server/pull-requests-jVGcVq5G.js +0 -2
  549. package/server/rally-CxhVgIQ6.js +0 -3
  550. package/server/settings-DhtPDmmI.js +0 -2
  551. package/server/specs-IYsFlM-L.js +0 -3
  552. package/server/supervisor-v0cYN2Vp.js +0 -2
  553. package/server/workflows-CfHm8lVd.js +0 -2
  554. package/sync-sources/skills/pan-gauntlet-loop/references/lessons.md +0 -60
@@ -1,18 +1,18 @@
1
- import { Ht as init_state_read_home, On as resolveProjectFromIssueSync, Ri as init_paths, Wt as resolveStateReadHomeSync, Y as init_record, fn as init_projects, j as RECORD_DIRNAME, li as AGENTS_DIR } from "./config-yaml-D9nfpEx1.js";
2
- import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-BWZhVphb.js";
3
- import { B as sendKeys, C as init_tmux, W as sessionExistsSync } from "./tmux-DWEc4Ld9.js";
4
- import { W as getAgentRuntimeStateSync, _ as init_agent_state, a as clearAgentOperatorGatesForIssuesSync, g as getAgentStateSync, q as init_agents, yn as listRunningAgentsSync } from "./agent-state-BJhGIJZe.js";
5
- import { i as loadCloisterConfig, r as init_config } from "./config-Doq_tF-f.js";
6
- import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-DJAOAuMN.js";
7
- import { _ as markMerged, c as init_merge_sync, f as listActiveAutoMerges, m as listProblemAutoMerges, t as cancelPending } from "./merge-sync-CJpOa0cZ.js";
8
- import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-BmRRflt0.js";
9
- import { U as reviewGatesPassedSync, Y as init_review_status_record_sync, Z as readJournalStatusSync, h as loadReviewStatuses, p as init_review_status, w as setReviewStatusSync } from "./review-status-yOGD2MuK.js";
10
- import { M as withConcurrencyLimit, j as init_concurrency } from "./github-app-7ywLhuZO.js";
11
- import { r as isAgentIdleForNudge } from "./agent-idle-ONBssBN_.js";
12
- import { n as sweepAutoCloseOutCache, t as getAutoCloseOutCanonicalState } from "./deacon-canonical-state-CkvxRPck.js";
13
- import { n as getForgeAdapter } from "./forge-RVTCK_5X.js";
14
- import { i as observeForgeMergeState } from "./merge-completeness-DQt7Qa7i.js";
15
- import { r as init_recovery_trip, t as acknowledgeAllOpenRecoveryTrips } from "./recovery-trip-BKLrL6NX.js";
1
+ import { Ht as init_state_read_home, On as resolveProjectFromIssueSync, Wt as resolveStateReadHomeSync, Y as init_record, fn as init_projects, j as RECORD_DIRNAME, ui as AGENTS_DIR, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
2
+ import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-ru8ggv-d.js";
3
+ import { B as sendKeys, C as init_tmux, W as sessionExistsSync } from "./tmux-CvAEO9yo.js";
4
+ import { W as getAgentRuntimeStateSync, _ as init_agent_state, a as clearAgentOperatorGatesForIssuesSync, g as getAgentStateSync, q as init_agents, yn as listRunningAgentsSync } from "./agent-state-BnyNoDWQ.js";
5
+ import { i as loadCloisterConfig, r as init_config } from "./config-DP0VV7rX.js";
6
+ import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-0cDe6yil.js";
7
+ import { _ as markMerged, c as init_merge_sync, f as listActiveAutoMerges, m as listProblemAutoMerges, t as cancelPending } from "./merge-sync-CCi1Esdx.js";
8
+ import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-COZvz2nx.js";
9
+ import { U as reviewGatesPassedSync, Y as init_review_status_record_sync, Z as readJournalStatusSync, h as loadReviewStatuses, p as init_review_status, w as setReviewStatusSync } from "./review-status-C3PJkfjv.js";
10
+ import { M as withConcurrencyLimit, j as init_concurrency } from "./github-app-Co8ZhyUJ.js";
11
+ import { r as isAgentIdleForNudge } from "./agent-idle-CQlwmcRR.js";
12
+ import { n as sweepAutoCloseOutCache, t as getAutoCloseOutCanonicalState } from "./deacon-canonical-state-hcaZgjoT.js";
13
+ import { n as getForgeAdapter } from "./forge-B08cRXEb.js";
14
+ import { i as observeForgeMergeState } from "./merge-completeness-CQPqu-pI.js";
15
+ import { r as init_recovery_trip, t as acknowledgeAllOpenRecoveryTrips } from "./recovery-trip-DA7tCXbp.js";
16
16
  import { join } from "node:path";
17
17
  import { Effect } from "effect";
18
18
  import { existsSync, readdirSync } from "fs";
@@ -76,7 +76,7 @@ function isStuckMergingState(status, now) {
76
76
  }
77
77
  async function readSpecStatus(projectPath, issueId) {
78
78
  try {
79
- const { findSpecByIssue } = await import("./specs-IYsFlM-L.js");
79
+ const { findSpecByIssue } = await import("./specs-Dvq4sOy6.js");
80
80
  return (await Effect.runPromise(findSpecByIssue(projectPath, issueId)))?.status;
81
81
  } catch {
82
82
  return;
@@ -158,7 +158,7 @@ async function reconcileStuckMergingStates() {
158
158
  reviewGatesPassed: reviewGatesPassedSync,
159
159
  setReviewStatus: setReviewStatusSync,
160
160
  enqueuePostMerge: async (issueId, projectPath, branch) => {
161
- const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-DAWgzXQA.js");
161
+ const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-V51p8tSm.js");
162
162
  return enqueuePostMergeLifecycle(issueId, projectPath, branch);
163
163
  },
164
164
  warn: (message) => console.warn(message)
@@ -383,7 +383,7 @@ async function reconcileStaleMergeStatus() {
383
383
  const statuses = loadReviewStatuses();
384
384
  for (const [issueId, status] of Object.entries(statuses)) {
385
385
  const postMergeIncomplete = status.mergeStatus === "merged" && status.mergeStep === "post-merge-cleanup";
386
- if (status.mergeStatus === "merged" && !postMergeIncomplete) continue;
386
+ if (status.retiredAt || status.mergeStatus === "merged" && !postMergeIncomplete) continue;
387
387
  if (isStuckMergingState(status, Date.now())) continue;
388
388
  if (!postMergeIncomplete && staleMergeReconciled.has(issueId)) continue;
389
389
  const project = resolveProjectFromIssueSync(issueId);
@@ -398,7 +398,7 @@ async function reconcileStaleMergeStatus() {
398
398
  ].includes(status.mergeStatus ?? "") || ["merging", "failed"].includes(mergeSet?.status ?? "");
399
399
  let specStatus;
400
400
  try {
401
- const { findSpecByIssue } = await import("./specs-IYsFlM-L.js");
401
+ const { findSpecByIssue } = await import("./specs-Dvq4sOy6.js");
402
402
  const spec = await Effect.runPromise(findSpecByIssue(project.projectPath, issueId));
403
403
  specStatus = spec?.status;
404
404
  if (spec && (spec.status === "completed" || spec.status === "cancelled")) {
@@ -408,7 +408,7 @@ async function reconcileStaleMergeStatus() {
408
408
  } catch {}
409
409
  const branch = `feature/${issueId.toLowerCase()}`;
410
410
  if (postMergeIncomplete) {
411
- const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-DAWgzXQA.js");
411
+ const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-V51p8tSm.js");
412
412
  const action = enqueuePostMergeLifecycle(issueId, project.projectPath, branch);
413
413
  if (action) actions.push(action);
414
414
  continue;
@@ -420,7 +420,7 @@ async function reconcileStaleMergeStatus() {
420
420
  } catch {}
421
421
  if (!isMerged) isMerged = (await observeGitHubBranchMerge(issueId, branch, project.projectPath)).merged;
422
422
  if (shouldObserveForge && mergeRelevant) try {
423
- const observation = await (await import("./merge-completeness-DkdabVch.js")).observeForgeMergeState(issueId);
423
+ const observation = await (await import("./merge-completeness-CeQheehh.js")).observeForgeMergeState(issueId);
424
424
  const blocker = observation.repos.find((repo) => repo.state === "unverifiable");
425
425
  if (blocker) {
426
426
  console.warn(`[deacon] ${issueId}: forge merge state is unverifiable — ${blocker.reason}`);
@@ -447,7 +447,7 @@ async function reconcileStaleMergeStatus() {
447
447
  const msg = `Reconciled stale mergeStatus for ${issueId} — branch ${branch} is merged to main`;
448
448
  actions.push(msg);
449
449
  console.log(`[deacon] ${msg}`);
450
- const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-DAWgzXQA.js");
450
+ const { enqueuePostMergeLifecycle } = await import("./post-merge-lifecycle-worker-V51p8tSm.js");
451
451
  const action = enqueuePostMergeLifecycle(issueId, project.projectPath, branch);
452
452
  if (action) actions.push(action);
453
453
  }
@@ -470,11 +470,11 @@ const falseMergedReset = /* @__PURE__ */ new Set();
470
470
  async function reconcileFalseMerged() {
471
471
  const actions = [];
472
472
  try {
473
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
473
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-HAqQZZRD.js");
474
474
  if (!isGitHubAppConfigured()) return actions;
475
475
  const statuses = loadReviewStatuses();
476
476
  for (const [issueId, status] of Object.entries(statuses)) {
477
- if (status.mergeStatus !== "merged") continue;
477
+ if (status.retiredAt || status.mergeStatus !== "merged") continue;
478
478
  if (!status.prUrl) continue;
479
479
  if (falseMergedReset.has(issueId)) continue;
480
480
  const prRef = status.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull\/(\d+)/);
@@ -515,12 +515,12 @@ const CLOSED_PR_RECONCILE_COOLDOWN_MS = 600 * 1e3;
515
515
  async function reconcileClosedPrReadyForMerge() {
516
516
  const actions = [];
517
517
  try {
518
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
518
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-HAqQZZRD.js");
519
519
  if (!isGitHubAppConfigured()) return actions;
520
520
  const statuses = loadReviewStatuses();
521
521
  const now = Date.now();
522
522
  for (const [issueId, status] of Object.entries(statuses)) {
523
- if (!status.readyForMerge) continue;
523
+ if (status.retiredAt || !status.readyForMerge) continue;
524
524
  if (!status.prUrl) continue;
525
525
  const cooledUntil = closedPrReadyReconcileCooldowns.get(issueId);
526
526
  if (cooledUntil && now < cooledUntil) continue;
@@ -544,7 +544,7 @@ async function reconcileClosedPrReadyForMerge() {
544
544
  } else {
545
545
  setReviewStatusSync(issueId, {
546
546
  readyForMerge: false,
547
- mergeStatus: "failed",
547
+ retiredAt: new Date(now).toISOString(),
548
548
  mergeNotes: `PR #${prNumber} was closed without merging — reopen the PR or reset review state to re-queue this issue`
549
549
  });
550
550
  const msg = `Reset readyForMerge for ${issueId} — PR #${prNumber} is ${prState.state} (not OPEN)`;
@@ -584,23 +584,34 @@ const STALE_MERGE_BLOCKER_COOLDOWN_MS = 120 * 1e3;
584
584
  * cooldown bounds the git-probe cost; resolveConflictGate also caches its
585
585
  * mergeability probe.
586
586
  */
587
- async function reconcileStaleMergeBlockers() {
587
+ async function reconcileStaleMergeBlockers(gatherEligibility = async (ids) => (await import("./merge-eligibility-CJrBhQQe.js")).gatherMergeEligibility(ids), workspaceExists = existsSync, resolveWorkspace = (issueId) => {
588
+ const resolved = resolveProjectFromIssueSync(issueId);
589
+ return resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : null;
590
+ }) {
588
591
  const actions = [];
589
592
  try {
590
- const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-D4XCtrm2.js");
593
+ const { resolveConflictGate, buildRealConflictGateDeps } = await import("./conflict-gate-pMfhBEVB.js");
591
594
  const statuses = loadReviewStatuses();
592
595
  const now = Date.now();
593
596
  const deps = buildRealConflictGateDeps();
594
- for (const [issueId, status] of Object.entries(statuses)) {
595
- if (status.mergeStatus === "merged") continue;
596
- if (!(status.blockerReasons ?? []).some((b) => b.type === "merge_conflict" || b.type === "not_mergeable")) continue;
597
+ const candidates = Object.entries(statuses).filter(([, status]) => !status.retiredAt && status.mergeStatus !== "merged" && (status.blockerReasons ?? []).some((b) => b.type === "merge_conflict" || b.type === "not_mergeable"));
598
+ const memberships = await gatherEligibility(candidates.map(([issueId]) => issueId));
599
+ for (const [issueId] of candidates) {
597
600
  const cooledUntil = staleMergeBlockerCooldowns.get(issueId);
598
601
  if (cooledUntil && now < cooledUntil) continue;
599
602
  staleMergeBlockerCooldowns.set(issueId, now + STALE_MERGE_BLOCKER_COOLDOWN_MS);
600
- const resolved = resolveProjectFromIssueSync(issueId);
601
- if (!resolved) continue;
602
- const workspacePath = join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
603
- if (!existsSync(workspacePath)) continue;
603
+ const membership = memberships.get(issueId.toUpperCase());
604
+ if (!membership || membership.bucket !== "in_flight") {
605
+ if (membership) setReviewStatusSync(issueId, {
606
+ readyForMerge: false,
607
+ retiredAt: new Date(now).toISOString()
608
+ });
609
+ console.log(`[deacon] skipping ${issueId} — pipeline membership is ${membership?.bucket ?? "unavailable"}, not merge-eligible`);
610
+ continue;
611
+ }
612
+ const workspacePath = resolveWorkspace(issueId);
613
+ if (!workspacePath) continue;
614
+ if (!workspaceExists(workspacePath)) continue;
604
615
  try {
605
616
  if ((await resolveConflictGate(issueId, workspacePath, "main", deps)).clearedStaleBlocker) {
606
617
  const msg = `Cleared stale merge blocker for ${issueId} — branch is mergeable again; readyForMerge will recompute`;
@@ -619,31 +630,24 @@ async function reconcileStaleMergeBlockers() {
619
630
  /**
620
631
  * Reconciler (PAN-2198): periodic twin of the boot-only fixStuckReadyForMerge,
621
632
  * for the NO-BLOCKER strand of "stuck after review".
622
- *
623
- * readyForMerge is re-derived on every setReviewStatusSync write. When the last
624
- * write left it false and there is NO merge-blocker, nothing re-derives it until
625
- * the next write — so a PR whose review+test+verify all passed but whose
626
- * readyForMerge was left false (e.g. a verdict that landed via a write path that
627
- * didn't recompute, or a gate that was transiently non-final) converges ONLY on
628
- * server restart (PAN-1758: "readyForMerge only flips via the startup repair
629
- * sweep"). This patrol re-derives it on the 60s deacon tick instead.
630
- *
631
- * Blocker strands are deliberately excluded — those are owned by
632
- * reconcileStaleMergeBlockers, and excluding them also avoids fighting the
633
- * setReviewStatus deriver's hasBlockers override (which would flip readyForMerge
634
- * straight back to false). Loop-safe: it writes ONLY readyForMerge (no
635
- * review/test status transition, so no review/test re-dispatch events fire), and
636
- * is idempotent — once flipped true, the readyForMerge!==false guard excludes the
637
- * issue, so steady state is zero writes. Flipping readyForMerge=true only makes
638
- * the issue merge-ELIGIBLE; the merge train / MERGE button remains the trigger.
633
+ * Blocker strands remain owned by reconcileStaleMergeBlockers. Membership
634
+ * prevents restoration without an open PR; successful restoration is idempotent.
639
635
  */
640
- function reconcileStuckReadyForMerge() {
636
+ async function reconcileStuckReadyForMerge(gatherEligibility = async (ids) => (await import("./merge-eligibility-CJrBhQQe.js")).gatherMergeEligibility(ids)) {
641
637
  const actions = [];
642
638
  try {
643
- for (const [issueId, status] of Object.entries(loadReviewStatuses())) {
644
- if (status.readyForMerge !== false) continue;
645
- if ((status.blockerReasons?.length ?? 0) > 0) continue;
646
- if (!reviewGatesPassedSync(status)) continue;
639
+ const candidates = Object.entries(loadReviewStatuses()).filter(([, status]) => !status.retiredAt && status.readyForMerge === false && (status.blockerReasons?.length ?? 0) === 0 && reviewGatesPassedSync(status));
640
+ const memberships = await gatherEligibility(candidates.map(([issueId]) => issueId));
641
+ for (const [issueId] of candidates) {
642
+ const membership = memberships.get(issueId.toUpperCase());
643
+ if (!membership || membership.bucket !== "in_flight") {
644
+ if (membership) setReviewStatusSync(issueId, {
645
+ readyForMerge: false,
646
+ retiredAt: (/* @__PURE__ */ new Date()).toISOString()
647
+ });
648
+ console.log(`[deacon] skipping ${issueId} — pipeline membership is ${membership?.bucket ?? "unavailable"}, not merge-eligible`);
649
+ continue;
650
+ }
647
651
  setReviewStatusSync(issueId, { readyForMerge: true });
648
652
  const msg = `Restored readyForMerge for ${issueId} — review+test+verify passed, no blocker (was stuck false)`;
649
653
  actions.push(msg);
@@ -665,7 +669,7 @@ async function reconcileMergedButReviewing() {
665
669
  null
666
670
  ]);
667
671
  for (const [issueId, status] of Object.entries(statuses)) {
668
- if (status.mergeStatus !== "merged") continue;
672
+ if (status.retiredAt || status.mergeStatus !== "merged") continue;
669
673
  const reviewNonTerminal = nonTerminal.has(status.reviewStatus);
670
674
  const testNonTerminal = nonTerminal.has(status.testStatus);
671
675
  if (!reviewNonTerminal && !testNonTerminal) continue;
@@ -730,7 +734,7 @@ async function checkFailedMergeRetry() {
730
734
  if (ciEntry.count === 5) {
731
735
  console.log(`[deacon] CI check failure for ${issueId} — retries exhausted, notifying work agent`);
732
736
  const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
733
- const { writeFeedbackFile } = await import("./feedback-writer-CH2846DP.js");
737
+ const { writeFeedbackFile } = await import("./feedback-writer-BrSQ4fC-.js");
734
738
  const ciFileResult = await Effect.runPromise(writeFeedbackFile({
735
739
  issueId,
736
740
  specialist: "merge-agent",
@@ -762,7 +766,7 @@ async function checkFailedMergeRetry() {
762
766
  ciRetryMap.set(issueId, ciEntry);
763
767
  console.log(`[deacon] CI check failure for ${issueId} — notifying agent to re-submit (attempt ${ciEntry.count}/5)`);
764
768
  const ciNotes = status.mergeNotes || "CI checks are failing on the PR";
765
- const { writeFeedbackFile } = await import("./feedback-writer-CH2846DP.js");
769
+ const { writeFeedbackFile } = await import("./feedback-writer-BrSQ4fC-.js");
766
770
  const ciFileResult2 = await Effect.runPromise(writeFeedbackFile({
767
771
  issueId,
768
772
  specialist: "merge-agent",
@@ -790,7 +794,7 @@ async function checkFailedMergeRetry() {
790
794
  const lastNudge = timeoutNudgeCooldowns.get(issueIdForFb);
791
795
  if (!lastNudge || now - lastNudge >= TIMEOUT_NUDGE_COOLDOWN_MS) {
792
796
  const timeoutNotes = status.mergeNotes;
793
- const { writeFeedbackFile } = await import("./feedback-writer-CH2846DP.js");
797
+ const { writeFeedbackFile } = await import("./feedback-writer-BrSQ4fC-.js");
794
798
  await Effect.runPromise(writeFeedbackFile({
795
799
  issueId: issueIdForFb,
796
800
  specialist: "merge-agent",
@@ -895,7 +899,7 @@ async function autoCloseOut(now = /* @__PURE__ */ new Date()) {
895
899
  } } : {}
896
900
  };
897
901
  try {
898
- const { closeOut } = await import("./workflows-CfHm8lVd.js");
902
+ const { closeOut } = await import("./workflows-CLrEiTds.js");
899
903
  const result = await Effect.runPromise(closeOut(ctx));
900
904
  if (!result.success) {
901
905
  const failed = result.steps.find((step) => !step.success && !step.skipped);
@@ -1126,4 +1130,4 @@ async function reconcileTerminalIssueResidue(projects, deps = defaultDeps()) {
1126
1130
  //#endregion
1127
1131
  export { checkFailedMergeRetry as a, ciRetryMap as c, reconcileMergedButReviewing as d, reconcileStaleMergeBlockers as f, reconcileStuckMergingStates as g, reconcileAutoMergeRows as h, autoCloseOut as i, reconcileClosedPrReadyForMerge as l, reconcileStuckReadyForMerge as m, reconcileTerminalIssueResidue as n, checkFirstCompletionAgents as o, reconcileStaleMergeStatus as p, listIssueRecords as r, checkReadyForMergeStuck as s, isRecordPipelineTerminal as t, reconcileFalseMerged as u };
1128
1132
 
1129
- //# sourceMappingURL=parked-residue-BiHb8cD7.js.map
1133
+ //# sourceMappingURL=parked-residue-Dvr4W9P6.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Li as getOverdeckHome, Ri as init_paths$1 } from "./config-yaml-D9nfpEx1.js";
2
+ import { Ri as getOverdeckHome, zi as init_paths$1 } from "./config-yaml-OoH-ZpTb.js";
3
3
  import { dirname, isAbsolute, join, relative, resolve } from "path";
4
4
  import { mkdir } from "fs/promises";
5
5
  //#region ../../lib/memory/paths.ts
@@ -62,4 +62,4 @@ var init_paths = __esmMin((() => {
62
62
  //#endregion
63
63
  export { resolveArchiveDir as a, resolveMemoryRoot as c, resolveRagRunsFile as d, resolveStatusFile as f, init_paths as i, resolveObservationsFile as l, resolveWorkspaceMemoryRoot as m, ensureDir as n, resolveFtsDbPath as o, resolveSummariesDir as p, ensureParentDir as r, resolveMemoryBase as s, assertMemorySafeSegment as t, resolvePendingDir as u };
64
64
 
65
- //# sourceMappingURL=paths-DEe9j-kw.js.map
65
+ //# sourceMappingURL=paths-Cm1Q7Old.js.map
@@ -107,4 +107,4 @@ async function settlePendingLifecycleClaim(claim, issueId, succeeded) {
107
107
  //#endregion
108
108
  export { settlePendingLifecycleClaim as n, claimPendingLifecycleFile as t };
109
109
 
110
- //# sourceMappingURL=pending-lifecycle-claim-J5uIIJPu.js.map
110
+ //# sourceMappingURL=pending-lifecycle-claim-yAwDuGS4.js.map
@@ -187,4 +187,4 @@ var init_pickup = __esmMin((() => {
187
187
  //#endregion
188
188
  export { normalizeGate as _, PARKED_LABEL as a, VETOED_LABEL as c, computeEpicGroups as d, computeLanes as f, isAutoPickable as g, init_pickup as h, OBJECTION_LABEL as i, classifyIssue as l, computeWaves as m, EPIC_LABEL as n, READY_LABEL as o, computeStats as p, LEGACY_PARKED_LABELS as r, RELEASED_LABEL as s, BLOCKS_MAIN_LABEL as t, computeCohort as u, selectNeedsPlanning as v };
189
189
 
190
- //# sourceMappingURL=pickup-D1UbSDPd.js.map
190
+ //# sourceMappingURL=pickup-Dle6k9Xt.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CHIvOb9q.js";
3
- import { a as getWorkspaceForIssue, o as init_resolver } from "./resolver-gxv97jsQ.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-BbSWNOpH.js";
3
+ import { a as getWorkspaceForIssue, o as init_resolver } from "./resolver-tJeEkPK5.js";
4
4
  import { a as registerFeedbackAgentStateReader, i as registerActiveReviewArtifactContextReader, t as init_agent_state_source } from "./agent-state-source-69g8dqMg.js";
5
5
  //#region ../../lib/overdeck/agent-state-sync.ts
6
6
  function isoFromMillis(value) {
@@ -241,4 +241,4 @@ var init_pipeline_agent_reader = __esmMin((() => {
241
241
  //#endregion
242
242
  export { readVerdictPreservationStatus as a, registerWorkStartVerdictAdapter as c, getOverdeckAgentStateSync as d, init_agent_state_sync as f, stateToOverdeckParamsForDb as h, init_work_start_verdicts as i, resetWorkStartPipelineVerdicts as l, saveOverdeckAgentStateSync as m, readPipelineTelemetryAgentState as n, refreshWorkStartReviewedAnchor as o, listOverdeckAgentStatesSync as p, registerPipelineTelemetryAgentReader as r, registerVerdictPreservationStatusReader as s, init_pipeline_agent_reader as t, AGENT_COLUMNS_FOR_DB as u };
243
243
 
244
- //# sourceMappingURL=pipeline-agent-reader-D-6okryb.js.map
244
+ //# sourceMappingURL=pipeline-agent-reader-DCCwbUj8.js.map
@@ -57,4 +57,4 @@ var init_pipeline_membership = __esmMin((() => {
57
57
  //#endregion
58
58
  export { init_pipeline_membership as n, resolvePipelineMembership as r, PLANNED_BACKLOG_SPEC_ONLY_REASON as t };
59
59
 
60
- //# sourceMappingURL=pipeline-membership-PGX3Pe8V.js.map
60
+ //# sourceMappingURL=pipeline-membership-BV4hdkHm.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_pipeline_membership, r as resolvePipelineMembership, t as PLANNED_BACKLOG_SPEC_ONLY_REASON } from "./pipeline-membership-PGX3Pe8V.js";
1
+ import { n as init_pipeline_membership, r as resolvePipelineMembership, t as PLANNED_BACKLOG_SPEC_ONLY_REASON } from "./pipeline-membership-BV4hdkHm.js";
2
2
  init_pipeline_membership();
3
3
  export { PLANNED_BACKLOG_SPEC_ONLY_REASON, resolvePipelineMembership };
@@ -1,3 +1,3 @@
1
- import { a as gatherProjectLensSignals, c as listIssueStatesBatched, d as mapPipelineProjects, f as projectRepositories, i as gatherIssueBranchContainment, l as listMergedPullRequestHeadsBatched, m as snapshotBranchRefs, n as PipelineMembershipUnavailableError, o as gatherProjectLensSignalsForProjects, p as resolveRepositoryDefaultBranch, r as classifyBranchRefLine, s as init_pipeline_membership_gather, t as PIPELINE_PROJECT_CONCURRENCY, u as listOpenPullRequestsSnapshot } from "./pipeline-membership-gather-BK4dzh0X.js";
1
+ import { a as gatherProjectLensSignals, c as listIssueStatesBatched, d as mapPipelineProjects, f as projectRepositories, i as gatherIssueBranchContainment, l as listMergedPullRequestHeadsBatched, m as snapshotBranchRefs, n as PipelineMembershipUnavailableError, o as gatherProjectLensSignalsForProjects, p as resolveRepositoryDefaultBranch, r as classifyBranchRefLine, s as init_pipeline_membership_gather, t as PIPELINE_PROJECT_CONCURRENCY, u as listOpenPullRequestsSnapshot } from "./pipeline-membership-gather-UN7kHpCD.js";
2
2
  init_pipeline_membership_gather();
3
3
  export { PIPELINE_PROJECT_CONCURRENCY, PipelineMembershipUnavailableError, classifyBranchRefLine, gatherIssueBranchContainment, gatherProjectLensSignals, gatherProjectLensSignalsForProjects, listIssueStatesBatched, listMergedPullRequestHeadsBatched, listOpenPullRequestsSnapshot, mapPipelineProjects, projectRepositories, resolveRepositoryDefaultBranch, snapshotBranchRefs };
@@ -1,12 +1,12 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { $ as readIssueRecord, Y as init_record, et as readIssueRecordForWorkspaceSync, fn as init_projects, rn as getIssuePrefix, vn as listProjectsSync } from "./config-yaml-D9nfpEx1.js";
3
- import { h as loadConfigSync, p as init_config } from "./config-ZGjvuR6J.js";
4
- import { r as init_factory, t as createTracker } from "./factory-BrdqXBeK.js";
5
- import { C as init_specs, w as listSpecs } from "./io-DKrWd3gX.js";
6
- import { i as init_project_repos, n as getRepoForge, r as inferProjectForgeSync } from "./project-repos--QeCg7yQ.js";
7
- import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-DJAOAuMN.js";
8
- import { A as createSettledTtlPromiseCache, N as withConcurrencyLimitPromise, _ as listOpenIssuesWithLabelsPromise, f as init_github_app, h as listIssuesWithAnyLabelPromise, j as init_concurrency } from "./github-app-7ywLhuZO.js";
9
- import { a as PARKED_LABEL, c as VETOED_LABEL, h as init_pickup, i as OBJECTION_LABEL, o as READY_LABEL, s as RELEASED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-D1UbSDPd.js";
2
+ import { $ as readIssueRecord, Y as init_record, et as readIssueRecordForWorkspaceSync, fn as init_projects, rn as getIssuePrefix, vn as listProjectsSync } from "./config-yaml-OoH-ZpTb.js";
3
+ import { h as loadConfigSync, p as init_config } from "./config-Cx3N6gWz.js";
4
+ import { r as init_factory, t as createTracker } from "./factory-DfIQG-qW.js";
5
+ import { C as init_specs, w as listSpecs } from "./io-BgzG56av.js";
6
+ import { i as init_project_repos, n as getRepoForge, r as inferProjectForgeSync } from "./project-repos-DqAT7YV6.js";
7
+ import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-0cDe6yil.js";
8
+ import { A as createSettledTtlPromiseCache, N as withConcurrencyLimitPromise, _ as listOpenIssuesWithLabelsPromise, f as init_github_app, h as listIssuesWithAnyLabelPromise, j as init_concurrency } from "./github-app-Co8ZhyUJ.js";
9
+ import { a as PARKED_LABEL, c as VETOED_LABEL, h as init_pickup, i as OBJECTION_LABEL, o as READY_LABEL, s as RELEASED_LABEL, t as BLOCKS_MAIN_LABEL } from "./pickup-Dle6k9Xt.js";
10
10
  import { join, resolve } from "node:path";
11
11
  import { Effect } from "effect";
12
12
  import { realpath } from "node:fs/promises";
@@ -732,7 +732,7 @@ var init_pipeline_membership_gather = __esmMin((() => {
732
732
  },
733
733
  batchHasTerminalCloseOutRecords: async (project, issueIds) => {
734
734
  const result = /* @__PURE__ */ new Map();
735
- const { batchReadIssueRecords } = await import("./record-Ug18Cp4V.js");
735
+ const { batchReadIssueRecords } = await import("./record-C4JJCL2f.js");
736
736
  const batchResults = await batchReadIssueRecords(project, issueIds);
737
737
  for (const id of issueIds) {
738
738
  const record = batchResults.get(id);
@@ -755,4 +755,4 @@ var init_pipeline_membership_gather = __esmMin((() => {
755
755
  //#endregion
756
756
  export { removeIssueParkedLabel as A, applyIssueParkedLabel as C, init_label_ops as D, applyIssueVetoedLabel as E, removeIssueReleasedLabel as M, removeIssueVetoedLabel as N, removeIssueBlocksMainLabel as O, applyIssueObjectionLabel as S, applyIssueReleasedLabel as T, init_gitlab_merge_requests as _, gatherProjectLensSignals as a, reconcilePipelineLabelsPatrol as b, listIssueStatesBatched as c, mapPipelineProjects as d, projectRepositories as f, parseIssueIdFromTextSync as g, init_resource_utils as h, gatherIssueBranchContainment as i, removeIssueReadyLabel as j, removeIssueObjectionLabel as k, listMergedPullRequestHeadsBatched as l, snapshotBranchRefs as m, PipelineMembershipUnavailableError as n, gatherProjectLensSignalsForProjects as o, resolveRepositoryDefaultBranch as p, classifyBranchRefLine as r, init_pipeline_membership_gather as s, PIPELINE_PROJECT_CONCURRENCY as t, listOpenPullRequestsSnapshot as u, listOpenGitLabMergeRequests as v, applyIssueReadyLabel as w, applyIssueBlocksMainLabel as x, init_label_reconciler as y };
757
757
 
758
- //# sourceMappingURL=pipeline-membership-gather-BK4dzh0X.js.map
758
+ //# sourceMappingURL=pipeline-membership-gather-UN7kHpCD.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DoVzb4b7.js";
2
+ import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-CUKcTWSG.js";
3
3
  import { Effect } from "effect";
4
4
  //#region ../../lib/pipeline-notifier.ts
5
5
  /**
@@ -60,4 +60,4 @@ var init_pipeline_notifier = __esmMin((() => {
60
60
  //#endregion
61
61
  export { setPipelineHandlerSync as a, setPipelineHandler as i, notifyPipeline as n, notifyPipelineSync as r, init_pipeline_notifier as t };
62
62
 
63
- //# sourceMappingURL=pipeline-notifier-BNAV9kpa.js.map
63
+ //# sourceMappingURL=pipeline-notifier-DfH2i_zP.js.map
@@ -1,3 +1,3 @@
1
- import { a as setPipelineHandlerSync, i as setPipelineHandler, n as notifyPipeline, r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-BNAV9kpa.js";
1
+ import { a as setPipelineHandlerSync, i as setPipelineHandler, n as notifyPipeline, r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-DfH2i_zP.js";
2
2
  init_pipeline_notifier();
3
3
  export { notifyPipeline, notifyPipelineSync, setPipelineHandler, setPipelineHandlerSync };
@@ -15,7 +15,7 @@ async function drainQueue() {
15
15
  continue;
16
16
  }
17
17
  try {
18
- const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
18
+ const { postMergeLifecycle } = await import("./merge-agent-svBDRWB6.js");
19
19
  await postMergeLifecycle(entry.issueId, entry.projectPath, entry.sourceBranch, { skipDeploy: true });
20
20
  console.log(`[deacon] Completed pending post-merge lifecycle for ${entry.issueId}`);
21
21
  } catch (error) {
@@ -47,4 +47,4 @@ function enqueuePostMergeLifecycle(issueId, projectPath, sourceBranch) {
47
47
  //#endregion
48
48
  export { enqueuePostMergeLifecycle };
49
49
 
50
- //# sourceMappingURL=post-merge-lifecycle-worker-DAWgzXQA.js.map
50
+ //# sourceMappingURL=post-merge-lifecycle-worker-V51p8tSm.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_config_yaml } from "./config-yaml-D9nfpEx1.js";
3
- import { r as updateFeatureRegistryOwnership, t as init_feature_registry_storage } from "./feature-registry-storage-zh3ZXW6f.js";
4
- import { t as init_providers } from "./providers-BL1I66sM.js";
2
+ import { t as init_config_yaml } from "./config-yaml-OoH-ZpTb.js";
3
+ import { r as updateFeatureRegistryOwnership, t as init_feature_registry_storage } from "./feature-registry-storage-BzAGS4DA.js";
4
+ import { t as init_providers } from "./providers-1BlEh5x1.js";
5
5
  import { basename } from "node:path";
6
6
  import { Schema } from "effect";
7
7
  //#region ../../lib/registry/feature-registry-population.ts
@@ -51,4 +51,4 @@ var init_post_merge_state = __esmMin((() => {
51
51
  //#endregion
52
52
  export { init_feature_registry_population as a, resetPostMergeState as i, init_post_merge_state as n, recordFeatureRegistryLifecycle as o, postMergeInFlight as r, completedPostMerge as t };
53
53
 
54
- //# sourceMappingURL=post-merge-state-DC2_0t12.js.map
54
+ //# sourceMappingURL=post-merge-state-Cym5NVlB.js.map
@@ -1,5 +1,5 @@
1
- import { Ci as PROJECT_PRDS_SUBDIR, Ri as init_paths, Si as PROJECT_PRDS_PLANNED_SUBDIR, bi as PROJECT_PRDS_ACTIVE_SUBDIR, xi as PROJECT_PRDS_COMPLETED_SUBDIR, yi as PROJECT_DOCS_SUBDIR } from "./config-yaml-D9nfpEx1.js";
2
- import { a as getDraftPath, o as getIssueDraftPath, t as init_pan_dir } from "./pan-dir-BMda7tQj.js";
1
+ import { Ci as PROJECT_PRDS_PLANNED_SUBDIR, Si as PROJECT_PRDS_COMPLETED_SUBDIR, bi as PROJECT_DOCS_SUBDIR, wi as PROJECT_PRDS_SUBDIR, xi as PROJECT_PRDS_ACTIVE_SUBDIR, zi as init_paths } from "./config-yaml-OoH-ZpTb.js";
2
+ import { a as getDraftPath, o as getIssueDraftPath, t as init_pan_dir } from "./pan-dir-COaYhZel.js";
3
3
  import { Effect } from "effect";
4
4
  import { existsSync } from "fs";
5
5
  import { join } from "path";
@@ -121,4 +121,4 @@ const findDraftPrd = (projectPath, issueId) => Effect.promise(() => findDraftPrd
121
121
  //#endregion
122
122
  export { readPrdContent as a, findPrdAtStatusSync as i, findDraftPrd as n, findPrdAnywhereSync as r, canonicalPrdSubdirSync as t };
123
123
 
124
- //# sourceMappingURL=prd-locations-BbAvqQmT.js.map
124
+ //# sourceMappingURL=prd-locations-CPuMD55x.js.map
@@ -1,4 +1,4 @@
1
- import { fn as init_projects, vn as listProjectsSync } from "./config-yaml-D9nfpEx1.js";
1
+ import { fn as init_projects, vn as listProjectsSync } from "./config-yaml-OoH-ZpTb.js";
2
2
  import { join } from "node:path";
3
3
  import { existsSync, readFileSync } from "node:fs";
4
4
  import { execFile } from "node:child_process";
@@ -159,4 +159,4 @@ async function fetchProjectReleaseStatus(projectKey, deps = {}) {
159
159
  //#endregion
160
160
  export { fetchProjectReleaseStatus };
161
161
 
162
- //# sourceMappingURL=project-pipelines-By_5WcT4.js.map
162
+ //# sourceMappingURL=project-pipelines-DdDKdXrG.js.map
@@ -1,3 +1,3 @@
1
- import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos, s as resolvePrimaryWorkspaceRepoDirSync } from "./project-repos--QeCg7yQ.js";
1
+ import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos, s as resolvePrimaryWorkspaceRepoDirSync } from "./project-repos-DqAT7YV6.js";
2
2
  init_project_repos();
3
3
  export { resolvePrimaryWorkspaceRepoDirSync, resolveWorkspaceRepoRootsSync };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { On as resolveProjectFromIssueSync, fn as init_projects, on as getProjectSync } from "./config-yaml-D9nfpEx1.js";
2
+ import { On as resolveProjectFromIssueSync, fn as init_projects, on as getProjectSync } from "./config-yaml-OoH-ZpTb.js";
3
3
  import "effect";
4
4
  import { existsSync } from "fs";
5
5
  import { join } from "path";
@@ -126,4 +126,4 @@ var init_project_repos = __esmMin((() => {
126
126
  //#endregion
127
127
  export { normalizeForgeSync as a, resolveProjectReposForIssueSync as c, resolveWorkspaceRepoRootsSync as d, init_project_repos as i, resolveProjectReposFromResolvedIssueSync as l, getRepoForge as n, resolveConfiguredReposSync as o, inferProjectForgeSync as r, resolvePrimaryWorkspaceRepoDirSync as s, computeWorkspaceRepoRootsSync as t, resolveSlotWorkspaceWorktreesSync as u };
128
128
 
129
- //# sourceMappingURL=project-repos--QeCg7yQ.js.map
129
+ //# sourceMappingURL=project-repos-DqAT7YV6.js.map
@@ -1,2 +1,2 @@
1
- import { i as enqueueProjectResourceRefresh } from "./project-resource-refresh-queue-x-K9mvpP.js";
1
+ import { i as enqueueProjectResourceRefresh } from "./project-resource-refresh-queue-Dh8k2SB7.js";
2
2
  export { enqueueProjectResourceRefresh };
@@ -1,18 +1,18 @@
1
- import { On as resolveProjectFromIssueSync, fn as init_projects, vn as listProjectsSync } from "./config-yaml-D9nfpEx1.js";
2
- import { o as init_resolver, u as listWorkspaces } from "./resolver-gxv97jsQ.js";
3
- import { r as compareIssueIds, t as init_src } from "./src-CY2Wl8IX.js";
4
- import { An as init_runtime_census, On as getRuntimeCensus, U as getAgentRuntimeState, q as init_agents } from "./agent-state-BJhGIJZe.js";
5
- import { A as init_conversations, P as listConversations } from "./conversations-C75EFFjf.js";
1
+ import { On as resolveProjectFromIssueSync, fn as init_projects, vn as listProjectsSync } from "./config-yaml-OoH-ZpTb.js";
2
+ import { o as init_resolver, u as listWorkspaces } from "./resolver-tJeEkPK5.js";
3
+ import { r as compareIssueIds, t as init_src } from "./src-CdwN6WY6.js";
4
+ import { An as init_runtime_census, On as getRuntimeCensus, U as getAgentRuntimeState, q as init_agents } from "./agent-state-BnyNoDWQ.js";
5
+ import { A as init_conversations, P as listConversations } from "./conversations-JyrMSeOh.js";
6
6
  import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME } from "./types-pLpbsNto.js";
7
- import { C as init_specs, S as findSpecByIssue } from "./io-DKrWd3gX.js";
8
- import { t as init_pan_dir } from "./pan-dir-BMda7tQj.js";
9
- import { r as resolveMissingIssueTitles, t as init_issue_title_fallback } from "./issue-title-fallback-DTSCQVu0.js";
10
- import { m as loadReadyForMergeFlags, p as init_review_status } from "./review-status-yOGD2MuK.js";
11
- import { A as createSettledTtlPromiseCache, j as init_concurrency, k as createPromiseConcurrencyLimiter } from "./github-app-7ywLhuZO.js";
12
- import { t as resolveAgentGitInfo } from "./git-info-BSrI9owC.js";
13
- import { n as findDraftPrd } from "./prd-locations-BbAvqQmT.js";
14
- import { a as gatherProjectLensSignals, g as parseIssueIdFromTextSync, h as init_resource_utils, n as PipelineMembershipUnavailableError, s as init_pipeline_membership_gather, u as listOpenPullRequestsSnapshot } from "./pipeline-membership-gather-BK4dzh0X.js";
15
- import { n as init_pipeline_membership, r as resolvePipelineMembership } from "./pipeline-membership-PGX3Pe8V.js";
7
+ import { C as init_specs, S as findSpecByIssue } from "./io-BgzG56av.js";
8
+ import { t as init_pan_dir } from "./pan-dir-COaYhZel.js";
9
+ import { r as resolveMissingIssueTitles, t as init_issue_title_fallback } from "./issue-title-fallback-D4_b2XwP.js";
10
+ import { m as loadReadyForMergeFlags, p as init_review_status } from "./review-status-C3PJkfjv.js";
11
+ import { A as createSettledTtlPromiseCache, j as init_concurrency, k as createPromiseConcurrencyLimiter } from "./github-app-Co8ZhyUJ.js";
12
+ import { t as resolveAgentGitInfo } from "./git-info-DMOSfJ9I.js";
13
+ import { n as findDraftPrd } from "./prd-locations-CPuMD55x.js";
14
+ import { a as gatherProjectLensSignals, g as parseIssueIdFromTextSync, h as init_resource_utils, n as PipelineMembershipUnavailableError, s as init_pipeline_membership_gather, u as listOpenPullRequestsSnapshot } from "./pipeline-membership-gather-UN7kHpCD.js";
15
+ import { n as init_pipeline_membership, r as resolvePipelineMembership } from "./pipeline-membership-BV4hdkHm.js";
16
16
  import { basename, join } from "node:path";
17
17
  import { Effect } from "effect";
18
18
  import { readdir, stat } from "node:fs/promises";
@@ -27,7 +27,7 @@ const execFileAsync$1 = promisify(execFile);
27
27
  async function loadTrackerIssues() {
28
28
  const map = /* @__PURE__ */ new Map();
29
29
  try {
30
- const { getSharedIssueService } = await import("./issue-service-singleton-CvgNAWqK.js");
30
+ const { getSharedIssueService } = await import("./issue-service-singleton-COEqWNKE.js");
31
31
  const issues = (await getSharedIssueService()).getIssues();
32
32
  for (const issue of issues) if (issue.identifier) map.set(issue.identifier.toUpperCase(), issue);
33
33
  } catch {}
@@ -50,7 +50,7 @@ async function loadDockerContainers() {
50
50
  }
51
51
  async function loadActiveRemoteAgentStates() {
52
52
  try {
53
- const { listActiveRemoteAgentStates } = await import("./remote-agents-BVtASiOF.js");
53
+ const { listActiveRemoteAgentStates } = await import("./remote-agents-MbWzm5Fh.js");
54
54
  return listActiveRemoteAgentStates();
55
55
  } catch {
56
56
  return [];
@@ -862,4 +862,4 @@ function startProjectResourceConvergence() {
862
862
  //#endregion
863
863
  export { refreshMembershipSnapshotsForProjects as _, enqueueProjectsResourceRefresh as a, startProjectResourceConvergence as c, getCachedResourceAllocatedIssues as d, getResourceDetailIdentifiers as f, readPipelineMembershipSnapshotsForProjects as g, sanitizeResourceAllocatedIssues as h, enqueueProjectResourceRefresh as i, stopProjectResourceRefreshQueue as l, isDiscoverableAgentSession as m, PROJECT_RESOURCE_REFRESH_DEBOUNCE_MS as n, getProjectResourceRefreshQueueState as o, groupResourceAllocatedIssuesByProject as p, createProjectResourceRefreshQueue as r, shouldRefreshMembershipForResourceRefresh as s, PROJECT_RESOURCE_CONVERGENCE_INTERVAL_MS as t, whenProjectResourceRefreshIdle as u, summarizePipelineMembership as v, unavailablePipelineMembership as y };
864
864
 
865
- //# sourceMappingURL=project-resource-refresh-queue-x-K9mvpP.js.map
865
+ //# sourceMappingURL=project-resource-refresh-queue-Dh8k2SB7.js.map
@@ -1,3 +1,3 @@
1
- import { $t as findProjectByPathSync, An as resolveProjectKeyForCwdAsync, Bn as unregisterProject, Cn as registerProjectSync, Dn as resolveProjectFromIssue, En as resolveInfraRepo, Fn as setProjectAutoMergeDefaultSync, Hn as validateVersionSyncConfig, In as setProjectMergeTrain, Jt as PROJECTS_CONFIG_FILE, Ln as setProjectMergeTrainSync, Mn as saveProjectsConfig, Nn as saveProjectsConfigSync, On as resolveProjectFromIssueSync, Pn as setProjectAutoMergeDefault, Qt as findProjectByPath, Rn as setProjectSwarmPolicy, Sn as registerProject, Tn as renameProjectSync, Vn as unregisterProjectSync, Xt as createDefaultProjectsConfig, Yt as ProjectRenameError, Zt as extractTeamPrefix, _n as listProjectsAsync, an as getProjectSwarmHotspots, bn as loadProjectsConfigSync, cn as getSpecialistPromptOverride, dn as hasProjectsSync, en as findProjectByTeam, fn as init_projects, gn as listProjects, hn as invalidateProjectsConfigCache, in as getProject, jn as resolveProjectPath, kn as resolveProjectKeyForCwd, ln as getSpecialistRetention, mn as initializeProjectsConfigSync, nn as findProjectsByRallyProject, on as getProjectSync, pn as initializeProjectsConfig, rn as getIssuePrefix, sn as getSpecialistConfig, tn as findProjectByTeamSync, un as hasProjects, vn as listProjectsSync, wn as renameProject, yn as loadProjectsConfig, zn as setProjectSwarmPolicySync } from "./config-yaml-D9nfpEx1.js";
1
+ import { $t as findProjectByPathSync, An as resolveProjectKeyForCwdAsync, Bn as unregisterProject, Cn as registerProjectSync, Dn as resolveProjectFromIssue, En as resolveInfraRepo, Fn as setProjectAutoMergeDefaultSync, Hn as validateVersionSyncConfig, In as setProjectMergeTrain, Jt as PROJECTS_CONFIG_FILE, Ln as setProjectMergeTrainSync, Mn as saveProjectsConfig, Nn as saveProjectsConfigSync, On as resolveProjectFromIssueSync, Pn as setProjectAutoMergeDefault, Qt as findProjectByPath, Rn as setProjectSwarmPolicy, Sn as registerProject, Tn as renameProjectSync, Vn as unregisterProjectSync, Xt as createDefaultProjectsConfig, Yt as ProjectRenameError, Zt as extractTeamPrefix, _n as listProjectsAsync, an as getProjectSwarmHotspots, bn as loadProjectsConfigSync, cn as getSpecialistPromptOverride, dn as hasProjectsSync, en as findProjectByTeam, fn as init_projects, gn as listProjects, hn as invalidateProjectsConfigCache, in as getProject, jn as resolveProjectPath, kn as resolveProjectKeyForCwd, ln as getSpecialistRetention, mn as initializeProjectsConfigSync, nn as findProjectsByRallyProject, on as getProjectSync, pn as initializeProjectsConfig, rn as getIssuePrefix, sn as getSpecialistConfig, tn as findProjectByTeamSync, un as hasProjects, vn as listProjectsSync, wn as renameProject, yn as loadProjectsConfig, zn as setProjectSwarmPolicySync } from "./config-yaml-OoH-ZpTb.js";
2
2
  init_projects();
3
3
  export { PROJECTS_CONFIG_FILE, ProjectRenameError, createDefaultProjectsConfig, extractTeamPrefix, findProjectByPath, findProjectByPathSync, findProjectByTeam, findProjectByTeamSync, findProjectsByRallyProject, getIssuePrefix, getProject, getProjectSwarmHotspots, getProjectSync, getSpecialistConfig, getSpecialistPromptOverride, getSpecialistRetention, hasProjects, hasProjectsSync, initializeProjectsConfig, initializeProjectsConfigSync, invalidateProjectsConfigCache, listProjects, listProjectsAsync, listProjectsSync, loadProjectsConfig, loadProjectsConfigSync, registerProject, registerProjectSync, renameProject, renameProjectSync, resolveInfraRepo, resolveProjectFromIssue, resolveProjectFromIssueSync, resolveProjectKeyForCwd, resolveProjectKeyForCwdAsync, resolveProjectPath, saveProjectsConfig, saveProjectsConfigSync, setProjectAutoMergeDefault, setProjectAutoMergeDefaultSync, setProjectMergeTrain, setProjectMergeTrainSync, setProjectSwarmPolicy, setProjectSwarmPolicySync, unregisterProject, unregisterProjectSync, validateVersionSyncConfig };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { g as jsYaml, h as init_js_yaml } from "./config-yaml-D9nfpEx1.js";
2
+ import { g as jsYaml, h as init_js_yaml } from "./config-yaml-OoH-ZpTb.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync, readFileSync } from "fs";
5
5
  import { dirname, join } from "path";
@@ -669,4 +669,4 @@ var init_prompts = __esmMin((() => {
669
669
  //#endregion
670
670
  export { renderPrompt as n, init_prompts as t };
671
671
 
672
- //# sourceMappingURL=prompts-BotGu-6W.js.map
672
+ //# sourceMappingURL=prompts-CvtVJUpG.js.map
@@ -1,9 +1,9 @@
1
1
  import { n as __esmMin, t as __commonJSMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { i as init_paths, m as resolveWorkspaceMemoryRoot, r as ensureParentDir } from "./paths-DEe9j-kw.js";
3
- import { o as getPricingSync, s as init_cost } from "./cost-CiIwxH1D.js";
4
- import { d as init_cost_sync, f as insertCostEventSync, m as queryMemoryExtractionCostUsdSync } from "./cost-sync-DOkdE_yB.js";
5
- import { i as init_settings, s as loadMemorySettings } from "./settings-Ch2pCVtt.js";
6
- import { b as init_cliproxy$1, n as CLIPROXY_BASE_URL, t as CLIPROXY_AUTH_TOKEN } from "./cliproxy-BpYpkogS.js";
2
+ import { i as init_paths, m as resolveWorkspaceMemoryRoot, r as ensureParentDir } from "./paths-Cm1Q7Old.js";
3
+ import { o as getPricingSync, s as init_cost } from "./cost-CxXv7ei-.js";
4
+ import { d as init_cost_sync, f as insertCostEventSync, m as queryMemoryExtractionCostUsdSync } from "./cost-sync-Bq_dyq9k.js";
5
+ import { i as init_settings, s as loadMemorySettings } from "./settings-CETdzCl6.js";
6
+ import { b as init_cliproxy$1, n as CLIPROXY_BASE_URL, t as CLIPROXY_AUTH_TOKEN } from "./cliproxy-L_2OxNJf.js";
7
7
  import { join } from "path";
8
8
  import { randomUUID } from "crypto";
9
9
  import { readFile, writeFile } from "fs/promises";
@@ -8128,7 +8128,7 @@ async function readMemoryHealth(path) {
8128
8128
  };
8129
8129
  }
8130
8130
  async function emitMemoryHealthChanged(payload, timestamp) {
8131
- const { initEventStore } = await import("./event-store-Db4w4YIY.js");
8131
+ const { initEventStore } = await import("./event-store-CFnLP8w-.js");
8132
8132
  await (await initEventStore()).appendAsync({
8133
8133
  type: "memory.health_changed",
8134
8134
  timestamp,
@@ -8235,4 +8235,4 @@ var init_providers = __esmMin((() => {
8235
8235
  //#endregion
8236
8236
  export { updateMemoryHealth as i, extractWithProviderPolicy as n, init_health as r, init_providers as t };
8237
8237
 
8238
- //# sourceMappingURL=providers-BL1I66sM.js.map
8238
+ //# sourceMappingURL=providers-1BlEh5x1.js.map