@overdeck/desktop 0.49.1 → 0.49.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/package.json +1 -1
  2. package/server/{acceptance-criteria-Crw-xSJ3.js → acceptance-criteria-CHtDkHEL.js} +2 -2
  3. package/server/{active-dashboard-bundle-CLwfD-Om.js → active-dashboard-bundle-Byh6sP-q.js} +2 -2
  4. package/server/{activity-logger-BAVLrkR7.js → activity-logger-BWZhVphb.js} +22 -4
  5. package/server/activity-logger-Ck8qoluj.js +3 -0
  6. package/server/{advancing-selfheal-BQiJ7mIH.js → advancing-selfheal-65W4yUQi.js} +6 -6
  7. package/server/{agent-gc-5E0lgxI1.js → agent-gc-BNUudFnt.js} +10 -10
  8. package/server/agent-idle-ONBssBN_.js +745 -0
  9. package/server/{agent-state-Bb3UUxQm.js → agent-state-BJhGIJZe.js} +421 -135
  10. package/server/agent-state-CM8iVw5B.js +3 -0
  11. package/server/{agent-state-service-BFbttwRA.js → agent-state-service-CiIuwzIs.js} +5 -5
  12. package/server/{agent-state-service-keg-x1bT.js → agent-state-service-CzHfoqKQ.js} +1 -1
  13. package/server/agents-DpCuoF65.js +3 -0
  14. package/server/{agents-CqQJW75N.js → agents-jXgqpHca.js} +8 -8
  15. package/server/archive-planning-BW4MKNI7.js +2 -0
  16. package/server/{archive-planning-BwEhu9Oq.js → archive-planning-CGkU6UeL.js} +20 -135
  17. package/server/{artifact-index-jobs-C6Lg2rKm.js → artifact-index-jobs-Ck4NRRkY.js} +3 -3
  18. package/server/{assemble-DyTp2gSB.js → assemble-CyvEBmmq.js} +28 -9
  19. package/server/{auto-spawn-consent-BDfe4qz0.js → auto-spawn-consent-Dc4mtM-B.js} +8 -7
  20. package/server/{backlog-auto-trigger-DuOGpdDW.js → backlog-auto-trigger-CCEpr4YT.js} +3 -3
  21. package/server/{behavior-Bitko0mD.js → behavior-BiCQzqyT.js} +3 -3
  22. package/server/{bridge-pool-patrol-DiHEd13O.js → bridge-pool-patrol-Ce8rNPym.js} +2 -2
  23. package/server/{briefing-freshness-CDJcmHHZ.js → briefing-freshness-e_OEYZEe.js} +2 -2
  24. package/server/{build-info-DTX8JwVP.js → build-info-BRw4QlYO.js} +3 -3
  25. package/server/build-info-Bj2vQEMh.js +2 -0
  26. package/server/{checkpoint-manager-CKg1tn34.js → checkpoint-manager-CKr42Usw.js} +1 -1
  27. package/server/{checkpoint-manager-BlOOdzLF.js → checkpoint-manager-DOwRGFff.js} +26 -9
  28. package/server/checkpoint-worker.js +1 -1
  29. package/server/{checkpoints-DRALkfDS.js → checkpoints-Cb6CWT4S.js} +1 -1
  30. package/server/{checkpoints-BGfl0cHM.js → checkpoints-Cszp_0Np.js} +2 -2
  31. package/server/{claude-hooks-provision-B_tv3wzE.js → claude-hooks-provision-C5JHpxTS.js} +1 -1
  32. package/server/{claude-hooks-provision-BlGv6twJ.js → claude-hooks-provision-Cer2eFfj.js} +2 -2
  33. package/server/{claude-permissions-aHgDcZi5.js → claude-permissions-Bc5kjX1q.js} +2 -2
  34. package/server/{claude-settings-overlay-CYOvFE3A.js → claude-settings-overlay-C7rWsnya.js} +1 -1
  35. package/server/{claude-settings-overlay-T2LWLteV.js → claude-settings-overlay-m-VVZej1.js} +2 -2
  36. package/server/cli-BRuzUT_I.js +2 -0
  37. package/server/{cli-Do8UpLoI.js → cli-BmczsfD6.js} +11 -11
  38. package/server/{cliproxy-CX6jHRDP.js → cliproxy-BpYpkogS.js} +52 -17
  39. package/server/cliproxy-_yUU0HRY.js +3 -0
  40. package/server/{close-issue-J0_eWYT1.js → close-issue-CxvRD0UI.js} +5 -5
  41. package/server/{closed-issue-reaper-bFppuk6F.js → closed-issue-reaper-nMLRi5de.js} +13 -12
  42. package/server/{closed-issue-reaper-Cl2h9AfT.js → closed-issue-reaper-omOcUDBl.js} +1 -1
  43. package/server/{codex-icapA4om.js → codex-DZhFfcWu.js} +1 -1
  44. package/server/{codex-OOea7lXs.js → codex-KaSKE-R3.js} +16 -10
  45. package/server/{compaction-continuation-D5voR1ME.js → compaction-continuation-Bjfi70G-.js} +3 -3
  46. package/server/{config-Cjleh3_U.js → config-CH1AqqIQ.js} +1 -1
  47. package/server/{config-DC75T4Mr.js → config-Doq_tF-f.js} +2 -2
  48. package/server/{config-tucKBCCc.js → config-ZGjvuR6J.js} +2 -2
  49. package/server/{config-yaml-BwOEANMr.js → config-yaml-D9nfpEx1.js} +33 -8
  50. package/server/{conflict-gate-DlpWCMd7.js → conflict-gate-D4XCtrm2.js} +1 -1
  51. package/server/{conflict-gate-D2L1kZeL.js → conflict-gate-DcUTY4Gb.js} +4 -4
  52. package/server/{context-layers-CSPGc2Hb.js → context-layers-BBTKP-Y4.js} +3 -3
  53. package/server/context-layers-BGj2Y9l3.js +4 -0
  54. package/server/{continue-U3Af0jUq.js → continue-i7Revg8D.js} +3 -3
  55. package/server/{control-settings-5k6ixdFW.js → control-settings-BMoDHY1G.js} +6 -6
  56. package/server/{conversation-compaction-CSpVpxN6.js → conversation-compaction-D4VOmF7p.js} +8 -8
  57. package/server/{conversation-compaction-Ciit9O6k.js → conversation-compaction-DzIjYMfg.js} +1 -1
  58. package/server/{conversation-service-BxrB5lUT.js → conversation-service-CzZUJFEx.js} +1 -1
  59. package/server/{conversation-service-BteE4ELK.js → conversation-service-tQCIbBVZ.js} +6 -6
  60. package/server/{conversations-DhwxsOru.js → conversations-C75EFFjf.js} +12 -7
  61. package/server/conversations-bFDaD5YN.js +3 -0
  62. package/server/{cost-Bnf9NUC5.js → cost-BCWEkvro.js} +3 -3
  63. package/server/{cost-CQKI6OCu.js → cost-CiIwxH1D.js} +2 -2
  64. package/server/{cost-sync-B-ADeXKY.js → cost-sync-DOkdE_yB.js} +3 -3
  65. package/server/{dag-DI9LaK_q.js → dag-BPc74hwj.js} +6 -19
  66. package/server/{dangerous-git-ops-akhA3iyF.js → dangerous-git-ops-By9iguTP.js} +1 -1
  67. package/server/dashboard-db-worker.js +7 -7
  68. package/server/{deacon-TPYssFYt.js → deacon-B24dNzr8.js} +1774 -171
  69. package/server/deacon-CzSZMtb-.js +4 -0
  70. package/server/{deacon-canonical-state-DFYymrDw.js → deacon-canonical-state-CkvxRPck.js} +3 -3
  71. package/server/{deacon-event-client-Te5v10-b.js → deacon-event-client-BYIQBu0T.js} +1 -1
  72. package/server/{deacon-event-client-BKOL4AcL.js → deacon-event-client-Do6Z2gKl.js} +2 -2
  73. package/server/{deacon-nudge-log-BtlTWgWu.js → deacon-nudge-log-CzM9JA9t.js} +1 -1
  74. package/server/{deacon-pending-lifecycle-DVHjOLje.js → deacon-pending-lifecycle-BObEdT-L.js} +3 -3
  75. package/server/deacon.js +11 -11
  76. package/server/dead-end-trip-6V_CwveT.js +2 -0
  77. package/server/{dead-end-trip-P0IF1O0E.js → dead-end-trip-CnVmjnya.js} +3 -3
  78. package/server/delivery-gyce0vQ7.js +3 -0
  79. package/server/{deploy-patrol-BXjlvoV3.js → deploy-patrol-CEwwEYDM.js} +8 -8
  80. package/server/deploy-queue-CjLErpgw.js +2 -0
  81. package/server/{deploy-queue-o7shYg1j.js → deploy-queue-r96ojDI3.js} +2 -2
  82. package/server/{deploy-window-CNT6fOff.js → deploy-window-D_3hhfxt.js} +4 -4
  83. package/server/{deploy-window-BMk5_oX6.js → deploy-window-DeJK8mTK.js} +1 -1
  84. package/server/{dev-supervisor-SR1CLOAK.js → dev-supervisor-DZWwpENk.js} +2 -2
  85. package/server/{devcontainer-renderer-enMmNDFa.js → devcontainer-renderer-d-9dCV_2.js} +3 -3
  86. package/server/{dist-CPTO_zMR.js → dist-DsLAsFSh.js} +1 -1
  87. package/server/dist-fCA6y2bH.js +3 -0
  88. package/server/{docker-B7qUZptz.js → docker-B2mUBzGk.js} +3 -3
  89. package/server/{docker-KR3zSFKY.js → docker-CRPHBylA.js} +1 -1
  90. package/server/{dod-gK835UMf.js → dod-DWtilRLx.js} +1 -1
  91. package/server/{done-preflight-CksRvh49.js → done-preflight-BDVdWed5.js} +1 -1
  92. package/server/{done-preflight-Bk8aExAL.js → done-preflight-D4ukUf-S.js} +5 -5
  93. package/server/{driver-CmsY2RLl.js → driver-BtcFz-qu.js} +14 -3
  94. package/server/{durable-review-pipeline-DgYHucN2.js → durable-review-pipeline-B3OS2_He.js} +11 -2
  95. package/server/durable-review-pipeline-CaCbEJSt.js +3 -0
  96. package/server/{ensure-devcontainer-ojerEqQg.js → ensure-devcontainer-BUeBRjmm.js} +4 -4
  97. package/server/{ensure-devcontainer-BQ4YizSH.js → ensure-devcontainer-rGSh0JHK.js} +1 -1
  98. package/server/{esm-shims-1htPASWs.js → esm-shims-oAaKIa-a.js} +1 -1
  99. package/server/{event-store-D7qcJXuZ.js → event-store-BCSgMubf.js} +5 -5
  100. package/server/{event-store-BgEjNsvk.js → event-store-Db4w4YIY.js} +1 -1
  101. package/server/{event-store-provider-BKvk2rDj.js → event-store-provider-DlSQND3V.js} +1 -1
  102. package/server/{events-BIKGJZOT.js → events-B6zioJA_.js} +3 -3
  103. package/server/{dist-src-BM9eudEd.js → factory-BrdqXBeK.js} +714 -2
  104. package/server/{feature-registry-storage-ewNSIVsQ.js → feature-registry-storage-zh3ZXW6f.js} +3 -3
  105. package/server/{features-CGopJXdU.js → features-BGntOWdy.js} +2 -2
  106. package/server/{feedback-stuck-retirement-B8-fX7NA.js → feedback-stuck-retirement-DpA5u1kt.js} +2 -2
  107. package/server/{feedback-target-Ci6N5p4G.js → feedback-target-D7GxdUYG.js} +10 -10
  108. package/server/{feedback-target-CkyLYohm.js → feedback-target-Ddqk93NF.js} +1 -1
  109. package/server/{feedback-writer-D4ULO4qG.js → feedback-writer-C1gCLFmp.js} +5 -5
  110. package/server/{feedback-writer-DfuVjvH0.js → feedback-writer-CH2846DP.js} +1 -1
  111. package/server/{flywheel-C7yek87O.js → flywheel-CjW2L7BS.js} +79 -29
  112. package/server/{flywheel-DXI_WITn.js → flywheel-HJt7QdWP.js} +1 -1
  113. package/server/{flywheel-merge-order-C5m5bYBc.js → flywheel-merge-order-4fNRN2F2.js} +1 -1
  114. package/server/{flywheel-merge-order-CXfU4M6l.js → flywheel-merge-order-D_yyAlND.js} +7 -7
  115. package/server/{flywheel-BwYPDlhK.js → flywheel-v1cCOBx-.js} +14 -14
  116. package/server/{forge-DYX9sKzG.js → forge-RVTCK_5X.js} +2 -2
  117. package/server/forge-bvak6vXJ.js +2 -0
  118. package/server/{from-DAdMxC29.js → from-BnLgKYvw.js} +1 -1
  119. package/server/{fs-lock-cw25uO_E.js → fs-lock-C7J-ugIf.js} +2 -2
  120. package/server/{fts-operations-D_rzLxX5.js → fts-operations-CU0B5WUx.js} +3 -3
  121. package/server/git-info-BSrI9owC.js +148 -0
  122. package/server/{git-utils-Y0zG25ez.js → git-utils-CsKV0Dis.js} +1 -1
  123. package/server/{git-utils-DV4B9TRl.js → git-utils-DW8-jIUJ.js} +4 -4
  124. package/server/{github-app-4UX8VIr8.js → github-app-7ywLhuZO.js} +2 -2
  125. package/server/{github-app-C33lDk9Z.js → github-app-Oi5hdn1n.js} +1 -1
  126. package/server/{github-client-nPj5ckZO.js → github-client-Cy0fSj1a.js} +1 -1
  127. package/server/{github-client-DkJVR908.js → github-client-DAbuXLuk.js} +3 -3
  128. package/server/{github-pr-lookup-C9Vokb0W.js → github-pr-lookup-Dhh3ec1V.js} +2 -2
  129. package/server/{harness-binary-BgXYDo2Z.js → harness-binary-tMmgJfC1.js} +2 -2
  130. package/server/{harness-resolve-1NZcVx7n.js → harness-resolve-DusNpVEe.js} +4 -4
  131. package/server/{health-events-jMfxrElt.js → health-events-BYDZ9n2i.js} +1 -1
  132. package/server/{health-events-DlX_FVAB.js → health-events-DNw9Mzw9.js} +2 -2
  133. package/server/{hooks-W3REcb3h.js → hooks-B4wj32l2.js} +1 -1
  134. package/server/{hooks-NQ19vvlB.js → hooks-BjBjxqNh.js} +2 -2
  135. package/server/{hume-BFkid2PO.js → hume-BP9YbxaE.js} +2 -2
  136. package/server/hume-TYTb6fDU.js +3 -0
  137. package/server/{identity-Bwh6VGeL.js → identity-C23uY8dZ.js} +3 -3
  138. package/server/{idle-stack-reaper-BeU_KxWx.js → idle-stack-reaper-BSxb1bln.js} +4 -4
  139. package/server/{idle-stack-reaper-CHtCNpvd.js → idle-stack-reaper-Bw0rU9GC.js} +1 -1
  140. package/server/{in-flight-guard-pcwXKLGz.js → in-flight-guard-DuxabAHT.js} +1 -1
  141. package/server/{infra-KTp9KV9u.js → infra-CHIvOb9q.js} +30 -7
  142. package/server/{injection-67YyU6SC.js → injection-BYUt8ml1.js} +8 -8
  143. package/server/{injection-BxbZKPDh.js → injection-BviePcm3.js} +1 -1
  144. package/server/inspect-agent-JFEaYTRa.js +2 -0
  145. package/server/{inspect-agent-VHSihlb7.js → inspect-agent-sV_19NxZ.js} +12 -12
  146. package/server/{internal-token-B-z-sGBH.js → internal-token-BOtIRJU7.js} +1 -1
  147. package/server/{internal-token-zY75jrRJ.js → internal-token-DoVzb4b7.js} +2 -2
  148. package/server/{io-DfvO2xyh.js → io-DKrWd3gX.js} +5 -5
  149. package/server/{issue-closed-dvEWKO7Q.js → issue-closed-6RQsAjDX.js} +7 -7
  150. package/server/{issue-lifecycle-3N8XF7lP.js → issue-lifecycle-D9nLErvS.js} +206 -29
  151. package/server/{issue-lifecycle-BI6jAfp8.js → issue-lifecycle-DOPVv7xz.js} +1 -1
  152. package/server/{issue-service-singleton-BN_2MXp4.js → issue-service-singleton-B2xy-IS9.js} +124 -11
  153. package/server/{issue-service-singleton-CL6hESX2.js → issue-service-singleton-CvgNAWqK.js} +1 -1
  154. package/server/issue-title-fallback-DTSCQVu0.js +120 -0
  155. package/server/{issues-CkvUoAnq.js → issues-e_Ck1Ln2.js} +2 -2
  156. package/server/{jsonl-parser-CrEb2PWr.js → jsonl-parser-DqxVCZ1k.js} +3 -3
  157. package/server/jsonl-resolver-07OS3qOr.js +324 -0
  158. package/server/{kimi-code-C26gmGxM.js → kimi-code-BjtAHIz1.js} +14 -12
  159. package/server/{kimi-code-DoMoGqIu.js → kimi-code-vtXl2DR5.js} +1 -1
  160. package/server/{kimi-parser-Dmhy3UlR.js → kimi-parser-B1lgy2Vt.js} +2 -2
  161. package/server/{label-cleanup-X2lWfghH.js → label-cleanup-D2zUMasf.js} +3 -3
  162. package/server/{lifecycle-Bg44O-9x.js → lifecycle-0NOEzomy.js} +2 -2
  163. package/server/{lifecycle-B0rL38D3.js → lifecycle-DaCovZwn.js} +6 -6
  164. package/server/{lifecycle-io-CCBpRv5m.js → lifecycle-io-6WL46dsB.js} +5 -5
  165. package/server/{lifecycle-io-DQDU0apV.js → lifecycle-io-BBMTaP7S.js} +1 -1
  166. package/server/{linear-client-B0cIkTs4.js → linear-client-7fQThJTc.js} +3 -3
  167. package/server/{linear-client-6V2E-DSa.js → linear-client-BTGApNLo.js} +1 -1
  168. package/server/{linear-mcp-auth-LCo9AWUd.js → linear-mcp-auth-B8pYRsiU.js} +1 -1
  169. package/server/{linear-mcp-auth-Dsu9Io9r.js → linear-mcp-auth-Nk5s3L9M.js} +5 -5
  170. package/server/memory-fts-worker.js +1 -1
  171. package/server/{memory-governor-A4O6vI9d.js → memory-governor-Cqvbusr4.js} +14 -14
  172. package/server/{memory-pressure-patrol-BWlWywmA.js → memory-pressure-patrol-DPb8foam.js} +5 -5
  173. package/server/{merge-BGWcBxku.js → merge-BB_bjJ9a.js} +1 -1
  174. package/server/{merge-vz80RvSE.js → merge-FZ78_cEz.js} +3 -3
  175. package/server/{merge-agent-GWhmnxFk.js → merge-agent-B3jRrlS1.js} +37 -33
  176. package/server/{merge-agent-BRSz26Oh.js → merge-agent-BuoC_PRZ.js} +2 -2
  177. package/server/{merge-batch-CFMEtTxv.js → merge-batch-B8bVjFWS.js} +1 -1
  178. package/server/{merge-completeness-CP347umA.js → merge-completeness-DQt7Qa7i.js} +4 -4
  179. package/server/{merge-completeness-7ajHAIR-.js → merge-completeness-DkdabVch.js} +1 -1
  180. package/server/merge-ops-DabXHp2i.js +2 -0
  181. package/server/merge-rebase-CXq0qsgR.js +2 -0
  182. package/server/{merge-rebase-C5htyEEH.js → merge-rebase-qq40s91P.js} +2 -2
  183. package/server/{merge-set-DsGW8fmc.js → merge-set-BTNYvxM3.js} +1 -1
  184. package/server/{merge-set-eiE2nC6C.js → merge-set-BmRRflt0.js} +4 -4
  185. package/server/{merge-sync-CM2-myXu.js → merge-sync-0m2Q087q.js} +1 -1
  186. package/server/{merge-sync-Ct0-cxMX.js → merge-sync-CJpOa0cZ.js} +2 -2
  187. package/server/{merge-train-deps-LXHGK61n.js → merge-train-deps-CH5Mr3vN.js} +4 -4
  188. package/server/{merge-train-BOu3fN7O.js → merge-train-iwKqjtCF.js} +4 -4
  189. package/server/{merge-verification-BRp08IzI.js → merge-verification-JJc5GC2t.js} +6 -6
  190. package/server/{merged-docker-cleanup-worker-CwldDjHV.js → merged-docker-cleanup-worker-BOqWA373.js} +4 -4
  191. package/server/{merged-docker-cleanup-worker-C8eGn78a.js → merged-docker-cleanup-worker-CrhTdxZV.js} +1 -1
  192. package/server/messaging-nuwStbdQ.js +3 -0
  193. package/server/{multipart-parser-OAuW7824.js → multipart-parser-DxuW_rZV.js} +2 -2
  194. package/server/{no-resume-mode-MWI6pnrK.js → no-resume-mode-xuYLFhLw.js} +1 -1
  195. package/server/node_modules/.package-lock.json +11 -11
  196. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/AGENTS.md +14 -0
  197. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/CLAUDE.md +14 -0
  198. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/README.md +10 -3
  199. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/10_basics.ts +175 -0
  200. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/40_sql/index.md +6 -0
  201. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/10_basics.ts +3 -1
  202. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/20_testing.ts +100 -0
  203. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/api/Users.ts +30 -14
  204. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/domain/User.ts +15 -6
  205. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Authorization.ts +11 -10
  206. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users/http.ts +41 -32
  207. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/51_http-server/fixtures/server/Users.ts +141 -20
  208. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/ai-docs/src/70_cli/10_basics.ts +27 -3
  209. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.d.ts.map +1 -1
  210. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js +10 -9
  211. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeChildProcessSpawner.js.map +1 -1
  212. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js +4 -4
  213. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeSocketServer.js.map +1 -1
  214. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.d.ts.map +1 -1
  215. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js +10 -4
  216. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/NodeStream.js.map +1 -1
  217. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts +4 -0
  218. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.d.ts.map +1 -0
  219. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js +10 -0
  220. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/dist/internal/nodeChildProcessSpawner.js.map +1 -0
  221. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +4 -4
  222. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeChildProcessSpawner.ts +16 -11
  223. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeSocketServer.ts +4 -4
  224. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/NodeStream.ts +10 -4
  225. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/src/internal/nodeChildProcessSpawner.ts +16 -0
  226. package/server/node_modules/ansi-regex/index.js +3 -2
  227. package/server/node_modules/ansi-regex/package.json +1 -1
  228. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  229. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  230. package/server/node_modules/gaxios/package.json +3 -3
  231. package/server/{orphan-proposed-reconciler-cV3URUqk.js → orphan-proposed-reconciler-Dmk0kO_p.js} +24 -23
  232. package/server/{orphan-proposed-reconciler-BAE5AZ_e.js → orphan-proposed-reconciler-gf4TxfZb.js} +2 -2
  233. package/server/package-lock.json +12 -12
  234. package/server/package.json +1 -1
  235. package/server/{pan-dir-DDd91kMb.js → pan-dir-BMda7tQj.js} +5 -5
  236. package/server/{deacon-merge-BOGFEV8_.js → parked-residue-BiHb8cD7.js} +150 -35
  237. package/server/{paths-CRLnDgcI.js → paths-DEe9j-kw.js} +2 -2
  238. package/server/{pending-lifecycle-claim-CYgMiDAP.js → pending-lifecycle-claim-J5uIIJPu.js} +2 -2
  239. package/server/{pickup-BjJsSX12.js → pickup-D1UbSDPd.js} +1 -1
  240. package/server/{pipeline-agent-reader-BLc43dVJ.js → pipeline-agent-reader-D-6okryb.js} +5 -5
  241. package/server/{pipeline-membership-5qlRz5Qg.js → pipeline-membership-CCbgBzNC.js} +1 -1
  242. package/server/{pipeline-membership-BHZp_ShY.js → pipeline-membership-PGX3Pe8V.js} +1 -1
  243. package/server/{pipeline-membership-gather-CGFY1v-y.js → pipeline-membership-gather-BK4dzh0X.js} +17 -12
  244. package/server/{pipeline-membership-gather-WhRc1yke.js → pipeline-membership-gather-BRhU7XPx.js} +1 -1
  245. package/server/{pipeline-notifier-BmsLWM_2.js → pipeline-notifier-BNAV9kpa.js} +2 -2
  246. package/server/{pipeline-notifier-C4fZ2ito.js → pipeline-notifier-DvHLaXKb.js} +1 -1
  247. package/server/{post-merge-lifecycle-worker-KK1RTKRE.js → post-merge-lifecycle-worker-DAWgzXQA.js} +3 -3
  248. package/server/{post-merge-state-_Lj3LDLh.js → post-merge-state-DC2_0t12.js} +4 -4
  249. package/server/prd-locations-BbAvqQmT.js +124 -0
  250. package/server/{project-pipelines-CCkebHOu.js → project-pipelines-By_5WcT4.js} +2 -2
  251. package/server/{project-repos-B4MK48j4.js → project-repos--QeCg7yQ.js} +29 -3
  252. package/server/project-repos-3bI6t4fO.js +3 -0
  253. package/server/project-resource-refresh-queue-BaZC79S3.js +2 -0
  254. package/server/project-resource-refresh-queue-x-K9mvpP.js +865 -0
  255. package/server/{projects-DvPEAP18.js → projects-LftaVK99.js} +1 -1
  256. package/server/{prompts-BiS5I2tZ.js → prompts-BotGu-6W.js} +2 -2
  257. package/server/{providers-DrfK0Ip8.js → providers-BL1I66sM.js} +7 -7
  258. package/server/providers-Dqgz3MY5.js +3 -0
  259. package/server/public/assets/{chunk-BO2N2NFS-GtVe_o56.js → chunk-BO2N2NFS-D5Fz5jND.js} +4 -4
  260. package/server/public/assets/{diagram-OG6HWLK6-BvhcYYHc.js → diagram-OG6HWLK6-Eux0gWFq.js} +1 -1
  261. package/server/public/assets/{dist-D0ryefak.js → dist-C3zShwhA.js} +1 -1
  262. package/server/public/assets/{dist-CSmUXazd.js → dist-D-JX_u7m.js} +3 -3
  263. package/server/public/assets/{ganttDiagram-6RSMTGT7-BXA51DzM.js → ganttDiagram-6RSMTGT7-UH3aweia.js} +1 -1
  264. package/server/public/assets/{highlighted-body-OFNGDK62-mlV4EpWt.js → highlighted-body-OFNGDK62-ccIQ-WXS.js} +1 -1
  265. package/server/public/assets/index-2wV4ipy_.css +1 -0
  266. package/server/public/assets/index-BTVcdPve.js +860 -0
  267. package/server/public/assets/{linear-BPE7oswm.js → linear-Cnnu4YQy.js} +1 -1
  268. package/server/public/assets/mermaid-GHXKKRXX-Bjto8iJh.js +1 -0
  269. package/server/public/assets/{pieDiagram-4H26LBE5-BguGGV3S.js → pieDiagram-4H26LBE5-BD8-Tye6.js} +1 -1
  270. package/server/public/assets/{prod-aKDYUrXQ.js → prod-Ca6aKMts.js} +4 -4
  271. package/server/public/assets/{quadrantDiagram-W4KKPZXB-Bx3i4B6H.js → quadrantDiagram-W4KKPZXB-BmSrVyFD.js} +1 -1
  272. package/server/public/assets/{sankeyDiagram-5OEKKPKP-B5vuLjA4.js → sankeyDiagram-5OEKKPKP-CEGy8Das.js} +1 -1
  273. package/server/public/assets/{xychartDiagram-2RQKCTM6-HPlpkqsN.js → xychartDiagram-2RQKCTM6-VnQ8iY8s.js} +1 -1
  274. package/server/public/index.html +2 -2
  275. package/server/{pull-requests-BcHIsFJv.js → pull-requests-Cp_FDT8-.js} +3 -3
  276. package/server/pull-requests-jVGcVq5G.js +2 -0
  277. package/server/rally-CxhVgIQ6.js +3 -0
  278. package/server/{rally-api-ShZ4kvn0.js → rally-api-CqAIJ8RX.js} +2 -2
  279. package/server/{rally-api-u_vkr5c_.js → rally-api-Ij1Zt0NI.js} +1 -1
  280. package/server/{rally-B1OMtzch.js → rally-bQpBzUNf.js} +3 -3
  281. package/server/{rally-client-DgZvUZqX.js → rally-client-CN5vh4Ac.js} +1 -1
  282. package/server/{rally-client-D6Feq1Ka.js → rally-client-qKbCNRVW.js} +5 -5
  283. package/server/{reap-terminal-sessions-CRfiXLY0.js → reap-terminal-sessions-BaDSNR-k.js} +2 -2
  284. package/server/{reap-terminal-sessions-D7f3zSE9.js → reap-terminal-sessions-DgEIKMhH.js} +2 -2
  285. package/server/{rebuild-stack-DKxOnkpE.js → rebuild-stack-BNOMVh7C.js} +7 -7
  286. package/server/{rebuild-stack-CCwKHZb6.js → rebuild-stack-DrMyA_mA.js} +2 -2
  287. package/server/{reconstruct-cache-BP8UIKt7.js → reconstruct-cache-mxIYCnqs.js} +7 -7
  288. package/server/{record-By-wp6pg.js → record-Ug18Cp4V.js} +1 -1
  289. package/server/{record-update-ByGtIlUK.js → record-update-WyhsREoH.js} +1 -1
  290. package/server/{record-update-D23jPU6b.js → record-update-dBGxL9OC.js} +8 -6
  291. package/server/{recovery-trip-C4dTl8DO.js → recovery-trip-BKLrL6NX.js} +43 -10
  292. package/server/{recovery-trip-qloOYOFz.js → recovery-trip-wFAixKsg.js} +1 -1
  293. package/server/{release-engine-Crc0Tjx-.js → release-engine-D9gaCBn9.js} +5 -5
  294. package/server/{release-set-DDXwbIK7.js → release-set-DPHHzEGx.js} +3 -3
  295. package/server/{remote-CBpLi4Yy.js → remote-BU6ONLpv.js} +3 -3
  296. package/server/{remote-oEMfXlwT.js → remote-BUEeUic6.js} +3 -3
  297. package/server/{remote-agents-DQVGZVQ9.js → remote-agents-BVtASiOF.js} +1 -1
  298. package/server/{remote-agents-Bgtc2nOO.js → remote-agents-CSaTLi3u.js} +6 -6
  299. package/server/{remote-completion-DxUJ5HKR.js → remote-completion-CBV3b9TI.js} +13 -13
  300. package/server/{resolver-C8rooxoz.js → resolver-DvSMXty7.js} +31 -8
  301. package/server/{resolver-CuAULbLs.js → resolver-gxv97jsQ.js} +2 -2
  302. package/server/resume-DvHuF-bm.js +3 -0
  303. package/server/review-agent-DgkUPRx0.js +3 -0
  304. package/server/{review-agent-7C2w5CzU.js → review-agent-esZ0QXdY.js} +43 -55
  305. package/server/{review-artifacts-BJeEfm2r.js → review-artifacts-DGGEobLp.js} +6 -6
  306. package/server/{review-convoy-liveness-DfF9eXjI.js → review-convoy-liveness-DmO8dIBH.js} +20 -11
  307. package/server/{review-run-recovery-7BKt2Es0.js → review-run-recovery-Ct0q7FkE.js} +3 -3
  308. package/server/{review-run-recovery-ZjuDTNhZ.js → review-run-recovery-DHiiw7d8.js} +1 -1
  309. package/server/{review-status-CUnjjOUu.js → review-status-C_kQeeX0.js} +1 -1
  310. package/server/{review-status-emit-Cg4tOb8U.js → review-status-emit-BZz1Y_22.js} +3 -3
  311. package/server/{review-status-enrichment-D-rQshu6.js → review-status-enrichment-BWH0XW_m.js} +3 -3
  312. package/server/{review-status-source-DSn0glLa.js → review-status-source-D2PCWS6E.js} +1 -1
  313. package/server/{review-status-source-Ct912fv_.js → review-status-source-Jq0BXmn3.js} +1 -1
  314. package/server/{review-status-sync-B7V_Gg51.js → review-status-sync-2C9lk85r.js} +2 -2
  315. package/server/{review-status-sync-YthpOH_q.js → review-status-sync-Bq00Loey.js} +1 -1
  316. package/server/{review-status-DBnR5t4z.js → review-status-yOGD2MuK.js} +86 -27
  317. package/server/{review-verdict-feedback-DqXTuJk8.js → review-verdict-feedback-Brjaxoda.js} +1 -1
  318. package/server/{review-verdict-feedback-C-dBon_-.js → review-verdict-feedback-CE_tr2iQ.js} +8 -8
  319. package/server/{review-verdict-writer-jldSh3Bm.js → review-verdict-writer-CD-4kDVx.js} +1 -1
  320. package/server/{review-verdict-writer-CKaJWp75.js → review-verdict-writer-Ca2V7QSY.js} +7 -7
  321. package/server/{rollup-DZwH4CLs.js → rollup--g9ik1XQ.js} +1 -1
  322. package/server/{rollup-QCwYcBdP.js → rollup-B6g9Nr6L.js} +8 -8
  323. package/server/{scanner-2aHeLC3W.js → scanner-YxIv-fG1.js} +8 -8
  324. package/server/{search-DwHYaj66.js → search-DqMN4__-.js} +2 -2
  325. package/server/{secret-redaction-B5G1xZ3k.js → secret-redaction-DLZ-VqHq.js} +1 -1
  326. package/server/{sequence-io-POKWdusG.js → sequence-io--b3_PsWq.js} +4 -4
  327. package/server/{sequencer-agent-DS00KHVm.js → sequencer-agent-CqouKVZG.js} +6 -6
  328. package/server/server.js +1115 -1269
  329. package/server/{service-BLb_CyPL.js → service-CEp-3iow.js} +64 -63
  330. package/server/{session-fork-DcTzVwex.js → session-fork-GtoeCh2H.js} +2 -2
  331. package/server/{settings-Clw8UVNs.js → settings-CLQcdkoD.js} +2 -2
  332. package/server/{settings-B9-H2K_E.js → settings-Ch2pCVtt.js} +3 -3
  333. package/server/settings-DhtPDmmI.js +2 -0
  334. package/server/{shadow-engineering-C6oO_PiR.js → shadow-engineering-BxiFrIKv.js} +3 -3
  335. package/server/{shadow-state-CEGrrECe.js → shadow-state-CSA1vtxr.js} +2 -2
  336. package/server/{shadow-state-e7250VUx.js → shadow-state-nGhCNXT2.js} +1 -1
  337. package/server/{shadow-utils-xFk2Wusb.js → shadow-utils-7q5QDmMj.js} +2 -2
  338. package/server/{ship-log-7BnQHuKU.js → ship-log-ie0A_SqV.js} +1 -1
  339. package/server/{ship-record-CwUX6Afo.js → ship-record-BM3oVvnL.js} +7 -7
  340. package/server/{ship-record-BgUPnpT0.js → ship-record-DHWH1hLz.js} +1 -1
  341. package/server/{ship-status-Ce3_3edi.js → ship-status-BEkddXMT.js} +2 -2
  342. package/server/{smart-compaction-BmfIi3oL.js → smart-compaction-BkzjVpWL.js} +1 -1
  343. package/server/{smart-compaction-Dy0gw1VH.js → smart-compaction-D0TE1lBD.js} +7 -7
  344. package/server/{spawn-planning-session-nH3b4Drz.js → spawn-planning-session-CkGweSCC.js} +19 -19
  345. package/server/{spawn-planning-session-CfhxRJoY.js → spawn-planning-session-s406rw1N.js} +2 -2
  346. package/server/{specialist-completion-CC1XJbTx.js → specialist-completion-CTAjwH5j.js} +1 -1
  347. package/server/{specialist-context-cHwpcXSh.js → specialist-context-CKasRfYu.js} +5 -5
  348. package/server/{specialist-handoff-logger-GqnGSYoJ.js → specialist-handoff-logger-DrjrOmmn.js} +2 -2
  349. package/server/{specialist-logs-5OTnrV91.js → specialist-logs-Du6quZ0_.js} +3 -3
  350. package/server/{specialists-xXcJHAyg.js → specialists-B-4zyE4Y.js} +1 -1
  351. package/server/{specialists-8LcQi9Np.js → specialists-CuDWiNdB.js} +21 -272
  352. package/server/{specialists-DocAK-7A.js → specialists-b0dMMjWq.js} +148 -685
  353. package/server/specialists-registry-1y6Rt_F1.js +3 -0
  354. package/server/specialists-registry-BYjs04iK.js +277 -0
  355. package/server/specialists-x-kPMhrL.js +4 -0
  356. package/server/specs-IYsFlM-L.js +3 -0
  357. package/server/{src-DudQNYVw.js → src-CY2Wl8IX.js} +337 -6
  358. package/server/{src-C2TAxwki.js → src-CZsPs61V.js} +6 -6
  359. package/server/{src-DUVvEA8Q.js → src-DeQwpuh6.js} +3 -3
  360. package/server/{stack-health-DKT4ySnA.js → stack-health-BQFSJc0l.js} +3 -3
  361. package/server/{stack-health-CbyiYS9H.js → stack-health-ypIKtkbE.js} +1 -1
  362. package/server/{stale-task-claims-PzFee70R.js → stale-task-claims-C2e1zdMT.js} +5 -5
  363. package/server/{staleness-BjOAq9-d.js → staleness-CRDK6LFG.js} +1 -1
  364. package/server/{staleness-D8UTEXV5.js → staleness-Fzx_3_Hr.js} +1 -1
  365. package/server/{stall-sweeper-DOyIfeLR.js → stall-sweeper-QNk4h9m6.js} +8 -8
  366. package/server/{state-home-DhAZlk5k.js → state-home-DdG8erBI.js} +2 -2
  367. package/server/{state-mapping-BVSs84bO.js → state-mapping-D2yC81Vy.js} +1 -1
  368. package/server/{state-migrate-CJKEwpB0.js → state-migrate-C6H3jfHE.js} +6 -6
  369. package/server/{state-mirror-Do7pag7W.js → state-mirror-DF4Lfxm0.js} +3 -3
  370. package/server/stuck-remediation-BDa_tXgB.js +774 -0
  371. package/server/stuck-remediation-BVNd9txd.js +2 -0
  372. package/server/{substrate-bug-weights-service-BTNjHBnl.js → substrate-bug-weights-service-BbbCZEtJ.js} +3 -3
  373. package/server/{summary-fork-CZ88rhVx.js → summary-fork-BvcW6bq0.js} +113 -30
  374. package/server/{summary-fork-CvB7Oyq9.js → summary-fork-DIQmtOuV.js} +2 -2
  375. package/server/supervisor/{pane-composer-BaLLspSj.js → pane-composer-CoiVkGIt.js} +8 -1
  376. package/server/supervisor/{paths-D6XUcR_g.js → paths-DTGbtcaP.js} +8 -4
  377. package/server/supervisor/pty-supervisor.js +3 -3
  378. package/server/supervisor/{pty-token-DjjHxoCq.js → pty-token-GVqnvU3U.js} +2 -2
  379. package/server/{supervisor-D4v0WfiQ.js → supervisor-D3jC2c7A.js} +4 -4
  380. package/server/supervisor-v0cYN2Vp.js +2 -0
  381. package/server/{swarm-readiness-D8R-LWX5.js → swarm-readiness-CMWAQuWM.js} +3 -3
  382. package/server/{synthesis-verdict-B6wvLGcA.js → synthesis-verdict-C-pJOPsn.js} +1 -1
  383. package/server/{synthesis-verdict-N5Z11pg7.js → synthesis-verdict-DVlrLF9A.js} +2 -2
  384. package/server/{system-prerequisites-BbGZ_WHF.js → system-prerequisites-QKtIYXI2.js} +2 -2
  385. package/server/{teardown-workspace-CYend-KY.js → teardown-workspace-cJea1OLo.js} +16 -16
  386. package/server/{test-agent-queue-BUtWhNcc.js → test-agent-queue-C5DI_gWX.js} +6 -6
  387. package/server/{test-verdict-BWm3hgDj.js → test-verdict-C7kmd2_Y.js} +1 -1
  388. package/server/{test-verdict-BWtRmdiR.js → test-verdict-DUbDHqeD.js} +2 -2
  389. package/server/{tldr-daemon-CneJ24eL.js → tldr-daemon-BNQHwblU.js} +1 -1
  390. package/server/{tldr-daemon-CMVBT4kT.js → tldr-daemon-CO08YlfQ.js} +2 -2
  391. package/server/tmux-B8zsqD_6.js +4 -0
  392. package/server/{tmux-BqXzRuaH.js → tmux-DWEc4Ld9.js} +91 -19
  393. package/server/{token-CO3INKbh.js → token-Bez-qCB2.js} +2 -2
  394. package/server/{token-util-DyJJyX_B.js → token-util-Crcay9j_.js} +1 -1
  395. package/server/token-util-DfUS3Lpp.js +3 -0
  396. package/server/{tracker-config-DVzhaUxO.js → tracker-config-CJzPhSHv.js} +2 -2
  397. package/server/{tracker-utils-xnVJVrrO.js → tracker-utils-DJAOAuMN.js} +2 -2
  398. package/server/{traefik-connect-A5k54mCv.js → traefik-connect-D3H5I6b9.js} +1 -1
  399. package/server/{tunnel-DauSR-rs.js → tunnel-BSdKnW0U.js} +1 -1
  400. package/server/{tunnel-CwOnS-PB.js → tunnel-Cr3ctqxp.js} +3 -3
  401. package/server/{typed-errors-B-gfU2RB.js → typed-errors-CZ3GFBvo.js} +1 -1
  402. package/server/{typed-errors-DzC4zXbI.js → typed-errors-DXqf3RnP.js} +1 -1
  403. package/server/{types-DjpLVpsj.js → types-fzBp9cYi.js} +1 -1
  404. package/server/{types-DbxY2QB6.js → types-pLpbsNto.js} +1 -1
  405. package/server/{uat-failure-feedback-BVqsWlrr.js → uat-failure-feedback-IZQ-J8jt.js} +5 -5
  406. package/server/{uat-promote-verification-DmG097QS.js → uat-promote-verification-DXApKcc2.js} +5 -5
  407. package/server/{uat-train-COSy-vEX.js → uat-train-CycEzpbE.js} +1 -1
  408. package/server/{uat-train-DVUNW03P.js → uat-train-IIZlz7r3.js} +0 -0
  409. package/server/{validate-Dvv83iBx.js → validate-Ur4xH5bN.js} +3 -3
  410. package/server/{validation-BdCjzWLN.js → validation-CHovCoTT.js} +1 -1
  411. package/server/{validation-DlHafKzu.js → validation-Dr6V4PXx.js} +9 -6
  412. package/server/{verification-artifact-CaSbxUVg.js → verification-artifact-D3viYe_t.js} +1 -1
  413. package/server/{verification-artifact-0Zku8N-W.js → verification-artifact-k5Ftpg0c.js} +1 -1
  414. package/server/{verification-runner-C6wdZda2.js → verification-runner-BuqGwm2t.js} +1 -1
  415. package/server/{verification-runner-DwP2fUEF.js → verification-runner-Dl13mmsI.js} +53 -27
  416. package/server/{vtt-parser-luerJpYT.js → vtt-parser-BSnAB-Og.js} +1 -1
  417. package/server/work-agent-prompt-CJJ4tXci.js +3 -0
  418. package/server/{work-agent-prompt--9AWNYwZ.js → work-agent-prompt-CioeOuM4.js} +14 -14
  419. package/server/{work-agent-start-BNQO65W7.js → work-agent-start-B65Gqn9N.js} +2 -2
  420. package/server/{work-agent-start-DkzseQFl.js → work-agent-start-Ct1HVh6z.js} +1 -1
  421. package/server/{workflows-BYwR2aIN.js → workflows-AgFul1xc.js} +114 -41
  422. package/server/workflows-CfHm8lVd.js +2 -0
  423. package/server/{workspace-B-QJa3Ps.js → workspace-Cu3XlMXt.js} +1 -1
  424. package/server/{workspace-iTnTycOB.js → workspace-Cy4sDd3q.js} +3 -3
  425. package/server/{workspace-anchor-drift-DTt6h2Em.js → workspace-anchor-drift-BI0Hz6zI.js} +1 -1
  426. package/server/{workspace-anchor-drift-CHiGg8iu.js → workspace-anchor-drift-CMaqvizr.js} +4 -4
  427. package/server/{workspace-config-D0CavVtz.js → workspace-config-DRYDO7Zr.js} +1 -1
  428. package/server/{workspace-manager-W1OnbvU5.js → workspace-manager-CgovxDrO.js} +17 -17
  429. package/server/{workspace-manager-5BKPV6SY.js → workspace-manager-jfkKAEuO.js} +1 -1
  430. package/server/{workspace-metadata-tbbevEmP.js → workspace-metadata-BDqXzGGK.js} +1 -1
  431. package/server/{workspace-metadata-dJhXvZGQ.js → workspace-metadata-BNzODIv6.js} +2 -2
  432. package/server/{workspaces-BlpbOPZ7.js → workspaces-BJdPqx_J.js} +131 -127
  433. package/sync-sources/dev-skills/pan-style-guide/SKILL.md +90 -15
  434. package/sync-sources/hooks/linear-mcp-auth-hook +6 -1
  435. package/sync-sources/rules/handoff-isolate-cwd.md +4 -4
  436. package/sync-sources/rules/pan-handoff-focus-limit.md +12 -5
  437. package/sync-sources/rules/ste-writing.md +17 -0
  438. package/sync-sources/rules/work-agents-via-pan.md +2 -1
  439. package/sync-sources/rules/writing-style.md +3 -2
  440. package/sync-sources/skills/{skill-creator → claude-skill-creator}/SKILL.md +1 -1
  441. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/init_skill.py +1 -1
  442. package/sync-sources/skills/{skill-creator → claude-skill-creator}/scripts/package_skill.py +1 -1
  443. package/sync-sources/skills/pan-gauntlet-loop/SKILL.md +182 -0
  444. package/sync-sources/skills/pan-gauntlet-loop/assets/PROMPT.template.md +92 -0
  445. package/sync-sources/skills/pan-gauntlet-loop/assets/REFERENCE-BAR.template.md +53 -0
  446. package/sync-sources/skills/pan-gauntlet-loop/assets/STYLE.template.md +41 -0
  447. package/sync-sources/skills/pan-gauntlet-loop/assets/gauntlet-index.html +237 -0
  448. package/sync-sources/skills/pan-gauntlet-loop/references/domains.md +106 -0
  449. package/sync-sources/skills/pan-gauntlet-loop/references/lessons.md +60 -0
  450. package/sync-sources/skills/pan-handoff/SKILL.md +13 -6
  451. package/sync-sources/skills/pan-help/SKILL.md +1 -1
  452. package/sync-sources/skills/pan-peer-review/SKILL.md +3 -3
  453. package/sync-sources/skills/pan-restart/SKILL.md +6 -3
  454. package/sync-sources/skills/pan-start/SKILL.md +3 -0
  455. package/sync-sources/skills/pan-swarm/SKILL.md +32 -44
  456. package/sync-sources/skills/pan-sync/SKILL.md +1 -1
  457. package/server/activity-logger-BejO16Am.js +0 -3
  458. package/server/agent-state-DH_-Jkua.js +0 -3
  459. package/server/agents-megfmQHM.js +0 -3
  460. package/server/archive-planning-C-H9cM_J.js +0 -2
  461. package/server/build-info-PQlh_Rhb.js +0 -2
  462. package/server/cli-TaZspPHS.js +0 -2
  463. package/server/cliproxy-36ncAXlu.js +0 -3
  464. package/server/context-layers-CF6zHws4.js +0 -4
  465. package/server/conversations-AnGJ5rtX.js +0 -3
  466. package/server/deacon-BEH-IY0v.js +0 -5
  467. package/server/deacon-swarm-BHX-kR1b.js +0 -2
  468. package/server/deacon-swarm-BiLfNm_v.js +0 -1522
  469. package/server/dead-end-trip-BWpDg1Qd.js +0 -2
  470. package/server/delivery-cJM6zRjJ.js +0 -3
  471. package/server/deploy-queue-CmVBZEja.js +0 -2
  472. package/server/dist-VKBfkdi7.js +0 -3
  473. package/server/durable-review-pipeline-DgcVCYDL.js +0 -3
  474. package/server/factory-D4V2wd_V.js +0 -717
  475. package/server/forge-CrP1L3i6.js +0 -2
  476. package/server/hume-1ubD_6O7.js +0 -3
  477. package/server/inspect-agent-CfxERkNt.js +0 -2
  478. package/server/merge-ops-DtHx17Vd.js +0 -2
  479. package/server/merge-rebase-BvB4UuNS.js +0 -2
  480. package/server/project-repos-BJiShUsN.js +0 -3
  481. package/server/providers-CStNGwze.js +0 -3
  482. package/server/public/assets/index-BFEwfmqX.js +0 -860
  483. package/server/public/assets/index-_USwyTAT.css +0 -1
  484. package/server/public/assets/mermaid-GHXKKRXX-Dsln95SK.js +0 -1
  485. package/server/pull-requests-C1Cqp2yo.js +0 -2
  486. package/server/rally-CjayjUIl.js +0 -3
  487. package/server/resume-D7JuMCRQ.js +0 -3
  488. package/server/review-agent-BUNTVJK2.js +0 -2
  489. package/server/settings-DBWB1gsG.js +0 -2
  490. package/server/specialists-D8gsOCwh.js +0 -3
  491. package/server/specs-BqkrRnU9.js +0 -3
  492. package/server/stuck-remediation-Di5JYkoo.js +0 -1164
  493. package/server/stuck-remediation-TNM1VhZb.js +0 -2
  494. package/server/supervisor-DX8VsPnb.js +0 -2
  495. package/server/tmux-CqNapnrr.js +0 -4
  496. package/server/token-util-Bu8bPF9f.js +0 -3
  497. package/server/workflows-Cf4LAnhg.js +0 -2
@@ -1,51 +1,51 @@
1
- import { Di as encodeClaudeProjectDir, Er as resolveModel, Fi as init_paths, Gn as init_issue_id, Mt as init_state_plane, On as resolveProjectFromIssueSync, Pi as getOverdeckHome, Pt as isOverdeckOwnedOnlyStatus, Un as extractNumberSync, Wn as extractPrefixSync, Xr as GitError, Yn as resolveIssueIdSync, Yr as FsError, Zt as extractTeamPrefix, fn as init_projects, oi as init_errors, on as getProjectSync, qn as parseIssueIdSync, t as init_config_yaml, tn as findProjectByTeamSync, vn as listProjectsSync } from "./config-yaml-BwOEANMr.js";
2
- import { Ct as rejectUnauthorizedDashboardRequest, Mt as httpHandler, Ot as getHeaderFromMap, Pt as jsonResponse, Tt as rejectUnsafeDashboardMutationRequest, at as isInternalAgentRequest, dt as spawnPanCli, lt as getWorkAgentLifecycleStateSync, n as _serverManagedMerges, ot as resolveRequestedStartedBy } from "./specialists-DocAK-7A.js";
3
- import { h as loadConfigSync$1, p as init_config } from "./config-tucKBCCc.js";
4
- import { a as emitActivityEntrySync, c as init_activity_logger } from "./activity-logger-BAVLrkR7.js";
5
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-KTp9KV9u.js";
6
- import { A as listSessionNames, B as sessionExists, S as init_tmux, ot as buildChildEnvWithoutTmuxSync, r as capturePane, st as init_child_env } from "./tmux-BqXzRuaH.js";
7
- import { d as resolveIssueWorkspaceSyncTarget, o as init_resolver } from "./resolver-CuAULbLs.js";
8
- import { a as init_event_store, n as getEventStore } from "./event-store-D7qcJXuZ.js";
9
- import { i as EventStoreService, m as findPositionInQueueSync, p as computeQueuePositionFromStatusSync } from "./issue-lifecycle-3N8XF7lP.js";
10
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CQKI6OCu.js";
11
- import { $t as spawnAgent, G as init_agents, H as getAgentRuntimeStateSync, O as saveAgentStateSync, Rt as messageAgent, W as saveAgentRuntimeState, c as clearYieldForResumeSync, d as getAgentResumeGateBlockReason, f as getAgentState, h as init_agent_state, l as decideResumeGate, ln as listRunningAgents, m as getAgentStateSync, xr as transitionIssueToInReview } from "./agent-state-Bb3UUxQm.js";
12
- import { c as CostDoorLive, d as CostWriter } from "./service-BLb_CyPL.js";
13
- import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-zY75jrRJ.js";
14
- import { k as init_conversations, ot as findConversationForCostSessionSync } from "./conversations-DhwxsOru.js";
15
- import { D as normalizeModelOverrideSync, E as init_model_validation } from "./auto-spawn-consent-BDfe4qz0.js";
16
- import { c as init_stack_health, n as collectDockerContainerLifecycleSnapshot, o as getWorkspaceStackHealth, r as composeProjectNameForWorkspace } from "./stack-health-DKT4ySnA.js";
17
- import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types } from "./types-DbxY2QB6.js";
18
- import { A as init_xbrief_index, M as readXBriefDocument, _ as serializeXBriefDocument, c as isPlanningComplete, d as readPlan, k as findXBriefByIssue, l as mergeRecordStatusOverrides, r as findPlan, s as init_io, v as XBRIEF_INSPECTION_POLICIES, y as init_types$1 } from "./io-DfvO2xyh.js";
19
- import { a as criticalPath, l as init_dag, t as actionableDoc } from "./dag-DI9LaK_q.js";
20
- import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-DVzhaUxO.js";
21
- import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-xnVJVrrO.js";
22
- import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-BmsLWM_2.js";
23
- import { a as getAllActiveQueues, c as init_merge_sync } from "./merge-sync-Ct0-cxMX.js";
24
- import { i as init_project_repos, u as resolveWorkspaceRepoRootsSync } from "./project-repos-B4MK48j4.js";
25
- import { S as setDeaconIgnored, _ as markWorkspaceStuck, d as getReviewStatusSync, h as loadReviewStatuses, o as clearWorkspaceStuck, p as init_review_status, r as clearFeedbackDeliveryStuck, w as setReviewStatusSync, x as setAutoMerge, y as registerReviewVerdictFeedbackDelivery } from "./review-status-DBnR5t4z.js";
26
- import { E as verifyAppCanMerge, M as withConcurrencyLimit, f as init_github_app, j as init_concurrency, m as isIntegrationPermissionError } from "./github-app-4UX8VIr8.js";
27
- import { a as init_events, i as getEventsFileSizeSync, l as init_wal, o as readEventsFromByteOffsetSync, r as forEachCostEventSync, t as appendCostEventSync } from "./events-BIKGJZOT.js";
28
- import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-W1OnbvU5.js";
29
- import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-enMmNDFa.js";
30
- import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-CrEb2PWr.js";
31
- import { i as findWorkspacePath } from "./archive-planning-BwEhu9Oq.js";
32
- import { t as handlePostRebaseVerificationDeferral } from "./merge-verification-BRp08IzI.js";
33
- import { n as deliverReviewVerdictFeedbackFromStatus } from "./review-verdict-feedback-C-dBon_-.js";
34
- import { t as createInFlightGuard } from "./in-flight-guard-pcwXKLGz.js";
35
- import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-dJhXvZGQ.js";
36
- import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-D-rQshu6.js";
37
- import { n as generateDailySummary } from "./cli-Do8UpLoI.js";
38
- import { _ as getDiffStat, g as getDiffBase, h as getChangedFiles, u as spawnReviewRoleForIssue } from "./review-agent-7C2w5CzU.js";
39
- import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-CMVBT4kT.js";
40
- import { _ as syncMainIntoWorkspace, b as gitPush, x as listGitOperationsSync, y as MainDivergedError } from "./merge-agent-GWhmnxFk.js";
41
- import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-vz80RvSE.js";
42
- import { t as rebaseFeatureBranch } from "./merge-rebase-C5htyEEH.js";
43
- import { t as getReleaseSetSync } from "./release-set-DDXwbIK7.js";
44
- import { r as getCachedConflictGateMergeability } from "./conflict-gate-D2L1kZeL.js";
45
- import { r as runVerificationForIssue } from "./verification-runner-DwP2fUEF.js";
46
- import { i as registerDurableReviewPipelineHandler, n as init_durable_review_pipeline, r as registerDurableReviewDispatcher } from "./durable-review-pipeline-DgYHucN2.js";
47
- import { t as teardownWorkspace } from "./teardown-workspace-CYend-KY.js";
48
- import { t as init_rebuild_stack } from "./rebuild-stack-DKxOnkpE.js";
1
+ import { Gn as extractNumberSync, Kn as extractPrefixSync, Li as getOverdeckHome, Mt as init_state_plane, On as resolveProjectFromIssueSync, Or as resolveModel, Pt as isOverdeckOwnedOnlyStatus, Qr as GitError, Ri as init_paths, Yn as parseIssueIdSync, Zn as resolveIssueIdSync, Zr as FsError, Zt as extractTeamPrefix, ci as init_errors, fn as init_projects, ki as encodeClaudeProjectDir, on as getProjectSync, qn as init_issue_id, t as init_config_yaml, tn as findProjectByTeamSync, vn as listProjectsSync } from "./config-yaml-D9nfpEx1.js";
2
+ import { Ct as jsonResponse, _t as getHeaderFromMap, at as resolveRequestedStartedBy, ct as spawnPanCli, ft as rejectUnauthorizedDashboardRequest, it as isInternalAgentRequest, mt as rejectUnsafeDashboardMutationRequest, n as _serverManagedMerges, ot as getWorkAgentLifecycleStateSync, xt as httpHandler } from "./specialists-b0dMMjWq.js";
3
+ import { h as loadConfigSync$1, p as init_config } from "./config-ZGjvuR6J.js";
4
+ import { l as init_activity_logger, o as emitActivityEntrySync } from "./activity-logger-BWZhVphb.js";
5
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-CHIvOb9q.js";
6
+ import { C as init_tmux, U as sessionExists, dt as init_child_env, j as listSessionNames, r as capturePane, ut as buildChildEnvWithoutTmuxSync } from "./tmux-DWEc4Ld9.js";
7
+ import { d as resolveIssueWorkspaceSyncTarget, o as init_resolver } from "./resolver-gxv97jsQ.js";
8
+ import { a as init_event_store, n as getEventStore } from "./event-store-BCSgMubf.js";
9
+ import { g as findPositionInQueueSync, h as computeQueuePositionFromStatusSync, i as EventStoreService } from "./issue-lifecycle-D9nLErvS.js";
10
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-CiIwxH1D.js";
11
+ import { A as saveAgentStateSync, Ar as transitionIssueToInReview, K as saveAgentRuntimeState, Ut as messageAgent, W as getAgentRuntimeStateSync, _ as init_agent_state, d as decideResumeGate, g as getAgentStateSync, m as getAgentState, on as spawnAgent, p as getAgentResumeGateBlockReason, q as init_agents, u as clearYieldForResumeSync, vn as listRunningAgents } from "./agent-state-BJhGIJZe.js";
12
+ import { c as CostDoorLive, d as CostWriter } from "./service-CEp-3iow.js";
13
+ import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DoVzb4b7.js";
14
+ import { A as init_conversations, st as findConversationForCostSessionSync } from "./conversations-C75EFFjf.js";
15
+ import { D as normalizeModelOverrideSync, E as init_model_validation } from "./auto-spawn-consent-Dc4mtM-B.js";
16
+ import { c as init_stack_health, n as collectDockerContainerLifecycleSnapshot, o as getWorkspaceStackHealth, r as composeProjectNameForWorkspace } from "./stack-health-BQFSJc0l.js";
17
+ import { a as PAN_DIRNAME, i as PAN_CONTINUE_FILENAME, m as init_types } from "./types-pLpbsNto.js";
18
+ import { A as init_xbrief_index, M as readXBriefDocument, _ as serializeXBriefDocument, c as isPlanningComplete, d as readPlan, k as findXBriefByIssue, l as mergeRecordStatusOverrides, r as findPlan, s as init_io, v as XBRIEF_INSPECTION_POLICIES, y as init_types$1 } from "./io-DKrWd3gX.js";
19
+ import { c as init_dag, i as criticalPath, t as actionableDoc } from "./dag-BPc74hwj.js";
20
+ import { d as resolveWorkspaceRepoRootsSync, i as init_project_repos } from "./project-repos--QeCg7yQ.js";
21
+ import { a as init_tracker_config, t as getGitHubConfig } from "./tracker-config-CJzPhSHv.js";
22
+ import { n as resolveGitHubIssueSync, t as init_tracker_utils } from "./tracker-utils-DJAOAuMN.js";
23
+ import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-BNAV9kpa.js";
24
+ import { a as getAllActiveQueues, c as init_merge_sync } from "./merge-sync-CJpOa0cZ.js";
25
+ import { S as setDeaconIgnored, _ as markWorkspaceStuck, d as getReviewStatusSync, h as loadReviewStatuses, o as clearWorkspaceStuck, p as init_review_status, r as clearFeedbackDeliveryStuck, w as setReviewStatusSync, x as setAutoMerge, y as registerReviewVerdictFeedbackDelivery } from "./review-status-yOGD2MuK.js";
26
+ import { E as verifyAppCanMerge, M as withConcurrencyLimit, f as init_github_app, j as init_concurrency, m as isIntegrationPermissionError } from "./github-app-7ywLhuZO.js";
27
+ import { a as init_events, i as getEventsFileSizeSync, l as init_wal, o as readEventsFromByteOffsetSync, r as forEachCostEventSync, t as appendCostEventSync } from "./events-B6zioJA_.js";
28
+ import { n as getContainersReferencingWorkspacePath, r as init_workspace_manager } from "./workspace-manager-CgovxDrO.js";
29
+ import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-d-9dCV_2.js";
30
+ import { a as init_jsonl_parser, t as getActiveSessionModelSync } from "./jsonl-parser-DqxVCZ1k.js";
31
+ import { i as findWorkspacePath } from "./archive-planning-CGkU6UeL.js";
32
+ import { t as handlePostRebaseVerificationDeferral } from "./merge-verification-JJc5GC2t.js";
33
+ import { n as deliverReviewVerdictFeedbackFromStatus } from "./review-verdict-feedback-CE_tr2iQ.js";
34
+ import { t as createInFlightGuard } from "./in-flight-guard-DuxabAHT.js";
35
+ import { a as loadWorkspaceMetadataSync, i as listWorkspaceMetadataSync } from "./workspace-metadata-BNzODIv6.js";
36
+ import { n as enrichReviewStatusFromSessions } from "./review-status-enrichment-BWH0XW_m.js";
37
+ import { n as generateDailySummary } from "./cli-BmczsfD6.js";
38
+ import { g as getDiffStat, h as getDiffBase, l as spawnReviewRoleForIssue, m as getChangedFiles } from "./review-agent-esZ0QXdY.js";
39
+ import { n as getTldrDaemonServiceSync, r as init_tldr_daemon } from "./tldr-daemon-CO08YlfQ.js";
40
+ import { _ as syncMainIntoWorkspace, b as gitPush, x as listGitOperationsSync, y as MainDivergedError } from "./merge-agent-B3jRrlS1.js";
41
+ import { F as enqueueMerge, I as getAllActiveQueues$1, L as getCurrentMerge, P as dequeueMerge, z as markMergeProcessing } from "./merge-FZ78_cEz.js";
42
+ import { t as rebaseFeatureBranch } from "./merge-rebase-qq40s91P.js";
43
+ import { t as getReleaseSetSync } from "./release-set-DPHHzEGx.js";
44
+ import { r as getCachedConflictGateMergeability } from "./conflict-gate-DcUTY4Gb.js";
45
+ import { r as runVerificationForIssue } from "./verification-runner-Dl13mmsI.js";
46
+ import { a as registerDurableReviewPipelineHandler, i as registerDurableReviewDispatcher, r as init_durable_review_pipeline } from "./durable-review-pipeline-B3OS2_He.js";
47
+ import { t as teardownWorkspace } from "./teardown-workspace-cJea1OLo.js";
48
+ import { t as init_rebuild_stack } from "./rebuild-stack-BNOMVh7C.js";
49
49
  import { basename, dirname, join, resolve, sep } from "node:path";
50
50
  import { Cause, Effect, Layer, Option, Stream } from "effect";
51
51
  import { closeSync, existsSync, fstatSync, mkdirSync, openSync, readFileSync, readSync, readdirSync, renameSync, writeFileSync } from "fs";
@@ -104,7 +104,7 @@ async function captureInterestedAgent(state, agentId) {
104
104
  try {
105
105
  const remoteState = await readFile(join(homedir$1(), ".overdeck", "agents", agentId, "remote-state.json"), "utf-8").then((text) => JSON.parse(text)).catch(() => null);
106
106
  if (remoteState?.location === "remote" && remoteState?.vmName) {
107
- const { getRemoteAgentOutput } = await import("./remote-agents-DQVGZVQ9.js");
107
+ const { getRemoteAgentOutput } = await import("./remote-agents-BVtASiOF.js");
108
108
  stdout = await getRemoteAgentOutput(agentId, remoteState.vmName, 50);
109
109
  } else stdout = await Effect.runPromise(capturePane(agentId, 50));
110
110
  } catch {
@@ -937,7 +937,7 @@ const postWorkspaceContainerActionRoute = HttpRouter.add("POST", "/api/workspace
937
937
  }
938
938
  if (!workspacePath) return jsonResponse({ error: `Workspace not found for ${issueId}` }, { status: 404 });
939
939
  if (!composeFile && ["start", "restart"].includes(action)) {
940
- const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-BQ4YizSH.js"));
940
+ const { ensureDevcontainerSync } = yield* Effect.promise(() => import("./ensure-devcontainer-rGSh0JHK.js"));
941
941
  if (ensureDevcontainerSync({
942
942
  workspacePath,
943
943
  issueId
@@ -2821,9 +2821,9 @@ function mergeVerificationOptions(request) {
2821
2821
  */
2822
2822
  async function recordCiGreenVerificationVerdict(issueId, workspacePath) {
2823
2823
  try {
2824
- const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-Y0zG25ez.js");
2824
+ const { snapshotWorkspaceHeadsPromise } = await import("./git-utils-CsKV0Dis.js");
2825
2825
  const verifiedAnchor = await snapshotWorkspaceHeadsPromise(issueId, workspacePath).catch(() => void 0);
2826
- const { setReviewStatusSync } = await import("./review-status-CUnjjOUu.js");
2826
+ const { setReviewStatusSync } = await import("./review-status-C_kQeeX0.js");
2827
2827
  setReviewStatusSync(issueId, {
2828
2828
  verificationStatus: "passed",
2829
2829
  verificationNotes: "merge-verify: CI green on the merged tip (PAN-2487 local-gate skip)",
@@ -2842,7 +2842,7 @@ async function recordCiGreenVerificationVerdict(issueId, workspacePath) {
2842
2842
  * the workspaces-route import cycle.
2843
2843
  */
2844
2844
  async function prepareWorkAgentForRebase(opts) {
2845
- const { appendShipLog } = await import("./ship-log-7BnQHuKU.js");
2845
+ const { appendShipLog } = await import("./ship-log-ie0A_SqV.js");
2846
2846
  opts.setStatus({
2847
2847
  mergeStep: "preparing-work-agent",
2848
2848
  mergeNotes: `Preparing work agent ${opts.agentId} to rebase ${opts.scopeNote}…`
@@ -3267,7 +3267,7 @@ async function reconcileGitHubMergeStatus(issueId, status) {
3267
3267
  const prRef = parseGitHubPullRequestUrl(status.prUrl);
3268
3268
  if (!prRef) return false;
3269
3269
  try {
3270
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-C33lDk9Z.js");
3270
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
3271
3271
  if (!isGitHubAppConfigured()) return false;
3272
3272
  const prState = await Effect.runPromise(getPullRequestState(prRef.owner, prRef.repo, prRef.number));
3273
3273
  console.log(`[merge] reconcileGitHubMergeStatus: ${issueId} PR #${prRef.number} merged=${prState.merged} state=${prState.state}`);
@@ -3317,24 +3317,28 @@ async function ensurePRExists(issueId, options) {
3317
3317
  const targetBranch = options?.targetBranch ?? "main";
3318
3318
  const execOptions = { encoding: "utf-8" };
3319
3319
  if (options?.cwd) execOptions.cwd = options.cwd;
3320
- let existingOut = "";
3321
3320
  try {
3322
3321
  const { stdout } = await execFileAsync$4("gh", [
3323
3322
  "pr",
3324
- "view",
3323
+ "list",
3324
+ "--head",
3325
3325
  branchName,
3326
+ "--base",
3327
+ targetBranch,
3328
+ "--state",
3329
+ "all",
3326
3330
  "--json",
3327
- "url",
3328
- "--jq",
3329
- ".url"
3331
+ "url,state",
3332
+ "--limit",
3333
+ "100"
3330
3334
  ], execOptions);
3331
- existingOut = String(stdout);
3335
+ const pullRequests = JSON.parse(String(stdout));
3336
+ const existing = pullRequests.find((pr) => pr.state === "OPEN") ?? pullRequests.find((pr) => pr.state === "MERGED");
3337
+ if (existing?.url) return {
3338
+ created: false,
3339
+ prUrl: existing.url
3340
+ };
3332
3341
  } catch {}
3333
- const existing = existingOut.trim();
3334
- if (existing) return {
3335
- created: false,
3336
- prUrl: existing
3337
- };
3338
3342
  const prBody = options?.cwd ? await buildRichPRBody(issueId, options.cwd) : `Automated PR for ${issueId}`;
3339
3343
  const { tmpdir } = await import("os");
3340
3344
  const { join: pathJoin } = await import("path");
@@ -3534,8 +3538,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3534
3538
  try {
3535
3539
  if (request.kind === "normal" && workspaceInfo.isRemote && workspaceInfo.vmName) {
3536
3540
  console.log(`[merge] Remote workspace detected for ${issueId}, using review artifact merge...`);
3537
- const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-DsGW8fmc.js");
3538
- const { getForgeAdapter } = await import("./forge-CrP1L3i6.js");
3541
+ const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-BTNYvxM3.js");
3542
+ const { getForgeAdapter } = await import("./forge-bvak6vXJ.js");
3539
3543
  const remotePrimaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
3540
3544
  const remoteTargetBranch = remotePrimaryRepo?.targetBranch || "main";
3541
3545
  const remoteForge = remotePrimaryRepo?.forge || "github";
@@ -3571,7 +3575,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3571
3575
  ...mergeCompletionStatus(request)
3572
3576
  });
3573
3577
  completePendingOperation(issueId, null);
3574
- const { postMergeLifecycle } = await import("./merge-agent-BRSz26Oh.js");
3578
+ const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
3575
3579
  await postMergeLifecycle(issueId, projectPath);
3576
3580
  return {
3577
3581
  success: true,
@@ -3616,11 +3620,11 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3616
3620
  }
3617
3621
  if (isPolyrepo && projectConfig?.workspace?.repos) {
3618
3622
  console.log(`[merge] Polyrepo detected for ${issueId}, coordinating merge set...`);
3619
- const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-DsGW8fmc.js");
3620
- const { runQualityGates } = await import("./validation-BdCjzWLN.js");
3621
- const { reconcileStrandedRepos } = await import("./merge-completeness-7ajHAIR-.js");
3622
- const { getForgeAdapter } = await import("./forge-CrP1L3i6.js");
3623
- const { messageAgent } = await import("./agents-megfmQHM.js");
3623
+ const { getMergeSetSync, ensureMergeSetForIssueSync, upsertMergeSetSync, withRepoStateSync } = await import("./merge-set-BTNYvxM3.js");
3624
+ const { runQualityGates } = await import("./validation-CHovCoTT.js");
3625
+ const { reconcileStrandedRepos } = await import("./merge-completeness-DkdabVch.js");
3626
+ const { getForgeAdapter } = await import("./forge-bvak6vXJ.js");
3627
+ const { messageAgent } = await import("./agents-DpCuoF65.js");
3624
3628
  let mergeSet = getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId);
3625
3629
  if (!mergeSet) {
3626
3630
  const error = `No merge set found for ${issueId}`;
@@ -3678,7 +3682,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3678
3682
  ...mergeCompletionStatus(request)
3679
3683
  });
3680
3684
  completePendingOperation(issueId, null);
3681
- const { postMergeLifecycle } = await import("./merge-agent-BRSz26Oh.js");
3685
+ const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
3682
3686
  advanceQueue();
3683
3687
  await postMergeLifecycle(issueId, projectPath);
3684
3688
  return {
@@ -3932,7 +3936,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3932
3936
  ...mergeCompletionStatus(request)
3933
3937
  });
3934
3938
  completePendingOperation(issueId, null);
3935
- const { postMergeLifecycle } = await import("./merge-agent-BRSz26Oh.js");
3939
+ const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
3936
3940
  advanceQueue();
3937
3941
  await postMergeLifecycle(issueId, projectPath);
3938
3942
  return {
@@ -3943,8 +3947,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3943
3947
  repos: mergeResults
3944
3948
  };
3945
3949
  }
3946
- const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-DsGW8fmc.js");
3947
- const { getForgeAdapter } = await import("./forge-CrP1L3i6.js");
3950
+ const { getMergeSetSync, ensureMergeSetForIssueSync } = await import("./merge-set-BTNYvxM3.js");
3951
+ const { getForgeAdapter } = await import("./forge-bvak6vXJ.js");
3948
3952
  const primaryRepo = (getMergeSetSync(issueId) || ensureMergeSetForIssueSync(issueId))?.repos[0];
3949
3953
  const targetBranch = primaryRepo?.targetBranch || "main";
3950
3954
  const primaryForge = primaryRepo?.forge || "github";
@@ -3987,7 +3991,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
3987
3991
  }
3988
3992
  let preMergePrState;
3989
3993
  if (githubPrRef) try {
3990
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-C33lDk9Z.js");
3994
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
3991
3995
  if (isGitHubAppConfigured()) {
3992
3996
  const prState = await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number));
3993
3997
  preMergePrState = prState;
@@ -4050,7 +4054,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4050
4054
  ...mergeCompletionStatus(request)
4051
4055
  });
4052
4056
  completePendingOperation(issueId, null);
4053
- const { postMergeLifecycle } = await import("./merge-agent-BRSz26Oh.js");
4057
+ const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
4054
4058
  await postMergeLifecycle(issueId, projectPath, branchName);
4055
4059
  return {
4056
4060
  success: true,
@@ -4064,8 +4068,8 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4064
4068
  } catch (prStateErr) {
4065
4069
  console.warn(`[merge] Pre-merge PR state check failed for ${issueId}: ${prStateErr.message} — proceeding (check is best-effort)`);
4066
4070
  }
4067
- const { postMergeLifecycle } = await import("./merge-agent-BRSz26Oh.js");
4068
- const { beginShipLog, appendShipLog } = await import("./ship-log-7BnQHuKU.js");
4071
+ const { postMergeLifecycle } = await import("./merge-agent-BuoC_PRZ.js");
4072
+ const { beginShipLog, appendShipLog } = await import("./ship-log-ie0A_SqV.js");
4069
4073
  let rebaseResult;
4070
4074
  if (preMergePrState?.mergeable === true && preMergePrState.mergeableState === "clean" && !preMergePrState.checksFailed && !preMergePrState.checksPending && !preMergePrState.draft && !preMergePrState.merged) {
4071
4075
  console.log(`[merge] PR is CLEAN — merging directly without rebase for ${issueId}`);
@@ -4174,7 +4178,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4174
4178
  });
4175
4179
  let skipLocalVerification = false;
4176
4180
  if (primaryForge === "github" && artifactUrl) try {
4177
- const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-C33lDk9Z.js");
4181
+ const { parsePullRequestRef, getCiCheckRunsStatePromise, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
4178
4182
  if (isGitHubAppConfigured()) {
4179
4183
  const ref = parsePullRequestRef({ url: artifactUrl });
4180
4184
  if (ref) {
@@ -4199,7 +4203,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4199
4203
  const verifyResult = skipLocalVerification ? { outcome: "passed" } : await (async () => {
4200
4204
  console.log(`[merge] Running post-rebase verification for ${issueId}...`);
4201
4205
  appendShipLog(issueId, "Running post-rebase verification (full quality-gate suite)…", "verifying");
4202
- const { runVerificationForIssue } = await import("./verification-runner-C6wdZda2.js");
4206
+ const { runVerificationForIssue } = await import("./verification-runner-BuqGwm2t.js");
4203
4207
  return Effect.runPromise(runVerificationForIssue(issueId, workspacePath, { isRemote: false }, "merge-verify", {
4204
4208
  ...mergeVerificationOptions(request),
4205
4209
  onGateLog: (line) => appendShipLog(issueId, line, "verifying")
@@ -4244,7 +4248,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4244
4248
  if (skipLocalVerification) await recordCiGreenVerificationVerdict(issueId, workspacePath);
4245
4249
  setReviewStatus(issueId, { mergeStep: "reporting-statuses" });
4246
4250
  try {
4247
- const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-C33lDk9Z.js");
4251
+ const { getPullRequestState, isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-Oi5hdn1n.js");
4248
4252
  if (githubPrRef && isGitHubAppConfigured()) {
4249
4253
  const sha = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).headSha.trim();
4250
4254
  if (sha) {
@@ -4272,7 +4276,7 @@ async function triggerMerge(issueId, request = { kind: "normal" }) {
4272
4276
  } catch (prMergeErr) {
4273
4277
  console.error(`[merge] Review artifact merge threw for ${issueId}:`, prMergeErr);
4274
4278
  try {
4275
- const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-C33lDk9Z.js");
4279
+ const { getPullRequestState, isGitHubAppConfigured } = await import("./github-app-Oi5hdn1n.js");
4276
4280
  if (githubPrRef && isGitHubAppConfigured()) {
4277
4281
  artifactMerged = (await Effect.runPromise(getPullRequestState(githubPrRef.owner, githubPrRef.repo, githubPrRef.number))).merged;
4278
4282
  if (artifactMerged) console.log(`[merge] Race-detected: PR #${githubPrRef.number} for ${issueId} was already merged despite thrown error; proceeding`);
@@ -4391,8 +4395,8 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
4391
4395
  if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
4392
4396
  if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
4393
4397
  return yield* Effect.promise(async () => {
4394
- const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-DsGW8fmc.js");
4395
- const { getForgeAdapter } = await import("./forge-CrP1L3i6.js");
4398
+ const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-BTNYvxM3.js");
4399
+ const { getForgeAdapter } = await import("./forge-bvak6vXJ.js");
4396
4400
  let mergeSet = getMergeSetSync(issueId);
4397
4401
  if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
4398
4402
  const results = [];
@@ -4453,7 +4457,7 @@ const postForgeApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge
4453
4457
  }
4454
4458
  }
4455
4459
  if (results.filter((r) => r.approved).length > 0) {
4456
- const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-BejO16Am.js");
4460
+ const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-Ck8qoluj.js");
4457
4461
  emitActivityEntrySync({
4458
4462
  source: "dashboard",
4459
4463
  level: "success",
@@ -4480,9 +4484,9 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
4480
4484
  if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
4481
4485
  if (!/^[A-Z]+-\d+$/i.test(issueId)) return jsonResponse({ error: "Invalid issue ID format" }, { status: 400 });
4482
4486
  return yield* Effect.promise(async () => {
4483
- const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-DsGW8fmc.js");
4484
- const { getForgeAdapter } = await import("./forge-CrP1L3i6.js");
4485
- const { assessRepoMergeCompleteness } = await import("./merge-completeness-7ajHAIR-.js");
4487
+ const { getMergeSetSync, upsertMergeSetSync, withRepoArtifactUrlSync, withRepoStateSync } = await import("./merge-set-BTNYvxM3.js");
4488
+ const { getForgeAdapter } = await import("./forge-bvak6vXJ.js");
4489
+ const { assessRepoMergeCompleteness } = await import("./merge-completeness-DkdabVch.js");
4486
4490
  let mergeSet = getMergeSetSync(issueId);
4487
4491
  if (!mergeSet) return jsonResponse({ error: `No merge set found for ${issueId}` }, { status: 404 });
4488
4492
  const results = [];
@@ -4560,7 +4564,7 @@ const postForgeMergeRoute = HttpRouter.add("POST", "/api/issues/:issueId/forge-m
4560
4564
  }
4561
4565
  }
4562
4566
  if (results.filter((r) => r.merged).length > 0) {
4563
- const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-BejO16Am.js");
4567
+ const { emitActivityEntrySync, emitActivityTtsSync } = await import("./activity-logger-Ck8qoluj.js");
4564
4568
  emitActivityEntrySync({
4565
4569
  source: "dashboard",
4566
4570
  level: "success",
@@ -4685,7 +4689,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
4685
4689
  console.log(`[approve] Starting role pipeline for ${issueId}...`);
4686
4690
  let reviewResult;
4687
4691
  try {
4688
- const { spawnReviewRoleForIssue } = await import("./review-agent-BUNTVJK2.js");
4692
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DgkUPRx0.js");
4689
4693
  reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
4690
4694
  issueId,
4691
4695
  workspace: workspacePath,
@@ -4732,7 +4736,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
4732
4736
  }
4733
4737
  console.log(`[approve] Step 3/3: Running server-side rebase for ${issueId}...`);
4734
4738
  try {
4735
- const { rebaseFeatureBranch } = await import("./merge-rebase-BvB4UuNS.js");
4739
+ const { rebaseFeatureBranch } = await import("./merge-rebase-CXq0qsgR.js");
4736
4740
  const workspacePathForRebase = join(projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
4737
4741
  const rebaseResult = await Effect.runPromise(rebaseFeatureBranch(workspacePathForRebase, branchName, "main", issueId));
4738
4742
  if (!rebaseResult.success) {
@@ -4752,7 +4756,7 @@ const postWorkspaceApproveRoute = HttpRouter.add("POST", "/api/issues/:issueId/a
4752
4756
  completePendingOperation(issueId, pushResult.error);
4753
4757
  return jsonResponse({ error: pushResult.error }, { status: pushResult.httpStatus });
4754
4758
  }
4755
- const { approve: lifecycleApprove } = await import("./lifecycle-B0rL38D3.js");
4759
+ const { approve: lifecycleApprove } = await import("./lifecycle-DaCovZwn.js");
4756
4760
  const ghResolved = resolveGitHubIssueSync(issueId);
4757
4761
  const isGitHubIssueFlag = ghResolved.isGitHub;
4758
4762
  const lifecycleCtx = {
@@ -4786,7 +4790,7 @@ const getMergeQueueRoute = HttpRouter.add("GET", "/api/merge-queue", httpHandler
4786
4790
  })));
4787
4791
  const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pipeline/notify", httpHandler(Effect.gen(function* () {
4788
4792
  const request = yield* HttpServerRequest.HttpServerRequest;
4789
- const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-B-z-sGBH.js"));
4793
+ const { INTERNAL_TOKEN_HEADER, getInternalTokenSync } = yield* Effect.promise(() => import("./internal-token-BOtIRJU7.js"));
4790
4794
  const expected = getInternalTokenSync();
4791
4795
  if (!expected) return jsonResponse({
4792
4796
  ok: false,
@@ -4800,7 +4804,7 @@ const postInternalPipelineNotifyRoute = HttpRouter.add("POST", "/api/internal/pi
4800
4804
  }, 403);
4801
4805
  const event = yield* readJsonBody;
4802
4806
  const type = event.type;
4803
- const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-C4fZ2ito.js"));
4807
+ const { notifyPipelineSync } = yield* Effect.promise(() => import("./pipeline-notifier-DvHLaXKb.js"));
4804
4808
  switch (type) {
4805
4809
  case "status_changed": {
4806
4810
  const issueId = event.issueId;
@@ -5607,7 +5611,7 @@ const patchWorkspaceTieredExecutionRoute = HttpRouter.add("PATCH", "/api/workspa
5607
5611
  if (override !== "on" && override !== "off" && override !== null && override !== void 0) return jsonResponse({ error: "Invalid tiered-execution override" }, { status: 400 });
5608
5612
  const project = getProjectSync(extractPrefixSync(issueId) ?? issueId.split("-")[0]);
5609
5613
  if (!project) return jsonResponse({ error: "Project not found" }, { status: 404 });
5610
- yield* Effect.promise(() => import("./record-By-wp6pg.js").then((m) => m.writeRecordTieredExecutionOverride(project, issueId, override)));
5614
+ yield* Effect.promise(() => import("./record-Ug18Cp4V.js").then((m) => m.writeRecordTieredExecutionOverride(project, issueId, override)));
5611
5615
  const projectPath = project.path;
5612
5616
  const location = yield* resolvePlanLocation(projectPath, issueId);
5613
5617
  if (!location) return jsonResponse({ error: "No xBRIEF plan found for this workspace" }, { status: 404 });
@@ -6022,7 +6026,7 @@ async function startDashboardDurableReviewPipeline(input, dependencies) {
6022
6026
  });
6023
6027
  if (!result.success) {
6024
6028
  setReviewPending({
6025
- reviewStatus: "pending",
6029
+ reviewStatus: "failed",
6026
6030
  reviewNotes: result.error || result.message || "Failed to dispatch review"
6027
6031
  });
6028
6032
  return;
@@ -6209,7 +6213,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
6209
6213
  }
6210
6214
  if (!workspaceInfo.exists) return jsonResponse({ error: "Workspace does not exist" }, { status: 400 });
6211
6215
  const reviewModeProject = requestedReviewMode.mode === void 0 ? null : yield* Effect.promise(async () => {
6212
- const { resolveProjectForIssue } = await import("./record-By-wp6pg.js");
6216
+ const { resolveProjectForIssue } = await import("./record-Ug18Cp4V.js");
6213
6217
  return resolveProjectForIssue(issueId);
6214
6218
  });
6215
6219
  if (requestedReviewMode.mode !== void 0 && !reviewModeProject) return jsonResponse({ error: `No project configured for ${issueId}` }, { status: 500 });
@@ -6246,7 +6250,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
6246
6250
  }
6247
6251
  if (requestedReviewMode.mode !== void 0 && reviewModeProject) {
6248
6252
  const persistenceError = yield* Effect.promise(async () => {
6249
- const { updateIssueRecord } = await import("./record-update-ByGtIlUK.js");
6253
+ const { updateIssueRecord } = await import("./record-update-WyhsREoH.js");
6250
6254
  await updateIssueRecord(reviewModeProject, issueId, (record) => {
6251
6255
  record.reviewMode = requestedReviewMode.mode;
6252
6256
  });
@@ -6275,7 +6279,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
6275
6279
  console.log(`Feature branch push note: ${errorMessage(pushErr)}`);
6276
6280
  }
6277
6281
  try {
6278
- const { createReviewArtifactsForIssue } = await import("./review-artifacts-BJeEfm2r.js");
6282
+ const { createReviewArtifactsForIssue } = await import("./review-artifacts-DGGEobLp.js");
6279
6283
  const artifactResult = await Effect.runPromise(createReviewArtifactsForIssue(issueId, workspacePath));
6280
6284
  const primaryArtifact = artifactResult.mergeSet?.repos.find((repo) => !!repo.artifactUrl);
6281
6285
  artifactResult.mergeSet?.repos.find((repo) => repo.mergeStatus !== "skipped")?.targetBranch;
@@ -6335,7 +6339,7 @@ const postWorkspaceReviewRoute = HttpRouter.add("POST", "/api/review/:issueId/tr
6335
6339
  completePendingOperation(issueId, verifyOutcome.reason);
6336
6340
  return;
6337
6341
  }
6338
- const { spawnReviewRoleForIssue } = await import("./review-agent-BUNTVJK2.js");
6342
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DgkUPRx0.js");
6339
6343
  const prUrl = getReviewStatusSync(issueId)?.prUrl;
6340
6344
  const reviewResult = await Effect.runPromise(spawnReviewRoleForIssue({
6341
6345
  issueId,
@@ -6471,7 +6475,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
6471
6475
  console.log(`[request-review] Feature branch push note: ${errorMessage(pushErr)}`);
6472
6476
  }
6473
6477
  const prUrl = getReviewStatusSync(issueId)?.prUrl;
6474
- const { spawnReviewRoleForIssue } = await import("./review-agent-BUNTVJK2.js");
6478
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DgkUPRx0.js");
6475
6479
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
6476
6480
  issueId,
6477
6481
  workspace: workspacePathRerun,
@@ -6521,7 +6525,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
6521
6525
  });
6522
6526
  } else {
6523
6527
  const workspacePath = join(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`);
6524
- const { spawnRun } = yield* Effect.promise(() => import("./agents-megfmQHM.js"));
6528
+ const { spawnRun } = yield* Effect.promise(() => import("./agents-DpCuoF65.js"));
6525
6529
  try {
6526
6530
  const testRun = yield* Effect.promise(() => spawnRun(issueId, "test", { workspace: workspacePath }));
6527
6531
  setReviewStatus(issueId, { testStatus: "testing" });
@@ -6636,7 +6640,7 @@ const postWorkspaceRequestReviewRoute = HttpRouter.add("POST", "/api/review/:iss
6636
6640
  testStatus: "pending",
6637
6641
  reviewNotes
6638
6642
  });
6639
- const { spawnReviewRoleForIssue } = await import("./review-agent-BUNTVJK2.js");
6643
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DgkUPRx0.js");
6640
6644
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
6641
6645
  issueId,
6642
6646
  workspace: workspacePath,
@@ -6986,7 +6990,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
6986
6990
  const result = processResetReviewPipeline(issueId, resetWorkspace.exists);
6987
6991
  if (result.httpStatus !== 200) return jsonResponse(result.body, { status: result.httpStatus });
6988
6992
  try {
6989
- const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-BRSz26Oh.js"));
6993
+ const { resetPostMergeState } = yield* Effect.promise(() => import("./merge-agent-BuoC_PRZ.js"));
6990
6994
  resetPostMergeState(issueId);
6991
6995
  } catch (err) {
6992
6996
  console.warn(`[reset-review] resetPostMergeState best-effort failed for ${issueId}:`, err);
@@ -6995,7 +6999,7 @@ const postWorkspaceResetReviewRoute = HttpRouter.add("POST", "/api/review/:issue
6995
6999
  const rerun = body?.rerun === true;
6996
7000
  if (rerun) try {
6997
7001
  yield* Effect.promise(async () => {
6998
- const { spawnReviewRoleForIssue } = await import("./review-agent-BUNTVJK2.js");
7002
+ const { spawnReviewRoleForIssue } = await import("./review-agent-DgkUPRx0.js");
6999
7003
  const dispatchArgs = buildReviewRedispatchArgs(issueId, resetWorkspace, workspaceInfo, resolved);
7000
7004
  if (dispatchArgs) {
7001
7005
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
@@ -7030,7 +7034,7 @@ const postReviewResyncRoute = HttpRouter.add("POST", "/api/review/:issueId/resyn
7030
7034
  const postWorkspaceReviewPurgeRoute = HttpRouter.add("POST", "/api/review/:issueId/purge", httpHandler(Effect.gen(function* () {
7031
7035
  const issueId = (yield* HttpRouter.params)["issueId"] ?? "";
7032
7036
  if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
7033
- const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-BUNTVJK2.js"));
7037
+ const { purgeReviewAgentsForIssue } = yield* Effect.promise(() => import("./review-agent-DgkUPRx0.js"));
7034
7038
  const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
7035
7039
  const purge = yield* Effect.promise(() => purgeReviewAgentsForIssue(projectKey, issueId));
7036
7040
  const workspaceInfo = getWorkspaceInfoForIssue(issueId);
@@ -7060,8 +7064,8 @@ const postWorkspaceAbortReviewRoute = HttpRouter.add("POST", "/api/review/:issue
7060
7064
  success: false,
7061
7065
  error: "Workspace does not exist"
7062
7066
  }, { status: 400 });
7063
- const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-DvPEAP18.js"));
7064
- const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-BUNTVJK2.js"));
7067
+ const { resolveProjectFromIssueSync } = yield* Effect.promise(() => import("./projects-LftaVK99.js"));
7068
+ const { killAllReviewerSessions } = yield* Effect.promise(() => import("./review-agent-DgkUPRx0.js"));
7065
7069
  const { killed, failed } = yield* killAllReviewerSessions(resolveProjectFromIssueSync(issueId)?.projectKey, issueId);
7066
7070
  setReviewStatus(issueId, {
7067
7071
  reviewStatus: "pending",
@@ -7134,8 +7138,8 @@ const getReviewConfigRoute = HttpRouter.add("GET", "/api/review/:issueId/config"
7134
7138
  const issueId = ((yield* HttpRouter.params)["issueId"] ?? "").toUpperCase();
7135
7139
  if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
7136
7140
  return jsonResponse(yield* Effect.promise(async () => {
7137
- const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-By-wp6pg.js");
7138
- const { resolveReviewMode } = await import("./review-agent-BUNTVJK2.js");
7141
+ const { readIssueRecordSync, resolveProjectForIssue } = await import("./record-Ug18Cp4V.js");
7142
+ const { resolveReviewMode } = await import("./review-agent-DgkUPRx0.js");
7139
7143
  const project = resolveProjectForIssue(issueId);
7140
7144
  const record = project ? readIssueRecordSync(project, issueId) : null;
7141
7145
  return {
@@ -7166,9 +7170,9 @@ const postReviewConfigRoute = HttpRouter.add("POST", "/api/review/:issueId/confi
7166
7170
  return jsonResponse({ error: error instanceof Error ? error.message : String(error) }, { status: 400 });
7167
7171
  }
7168
7172
  return jsonResponse(yield* Effect.promise(async () => {
7169
- const { resolveProjectForIssue } = await import("./record-By-wp6pg.js");
7170
- const { updateIssueRecord } = await import("./record-update-ByGtIlUK.js");
7171
- const { resolveReviewMode } = await import("./review-agent-BUNTVJK2.js");
7173
+ const { resolveProjectForIssue } = await import("./record-Ug18Cp4V.js");
7174
+ const { updateIssueRecord } = await import("./record-update-WyhsREoH.js");
7175
+ const { resolveReviewMode } = await import("./review-agent-DgkUPRx0.js");
7172
7176
  const record = await updateIssueRecord(resolveProjectForIssue(issueId), issueId, (current) => {
7173
7177
  if (hasMode) if (body.reviewMode === null) delete current.reviewMode;
7174
7178
  else current.reviewMode = body.reviewMode;
@@ -7595,7 +7599,7 @@ async function readWorkspacePlanningMarkdown(issueId, fileName) {
7595
7599
  */
7596
7600
  async function readWorkspaceContinueFile(_projectPath, workspacePath, issueId) {
7597
7601
  try {
7598
- const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-By-wp6pg.js");
7602
+ const { readRecordContinueViewSync, getProjectConfigFromWorkspacePath, resolveProjectForIssue } = await import("./record-Ug18Cp4V.js");
7599
7603
  const recordView = readRecordContinueViewSync(resolveProjectForIssue(issueId) ?? getProjectConfigFromWorkspacePath(workspacePath), issueId);
7600
7604
  return recordView ? JSON.stringify(recordView, null, 2) : null;
7601
7605
  } catch {
@@ -8375,7 +8379,7 @@ const getWorkspaceReviewStatusRoute = HttpRouter.add("GET", "/api/review/:issueI
8375
8379
  if (queuePosition === null) try {
8376
8380
  const resolved = resolveProjectFromIssueSync(issueId);
8377
8381
  if (resolved) {
8378
- const { getQueueForProject } = yield* Effect.promise(() => import("./merge-BGWcBxku.js"));
8382
+ const { getQueueForProject } = yield* Effect.promise(() => import("./merge-BB_bjJ9a.js"));
8379
8383
  const mergePos = findPositionInQueueSync(issueId, getQueueForProject(resolved.projectKey).map((e) => ({
8380
8384
  id: String(e.id),
8381
8385
  type: "task",
@@ -8415,7 +8419,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
8415
8419
  const workspaceInfo = getWorkspaceInfoForIssue(issueId);
8416
8420
  if (workspaceInfo.exists && workspaceInfo.localPath) {
8417
8421
  const localPath = workspaceInfo.localPath;
8418
- const { snapshotWorkspaceHeadsPromise } = yield* Effect.promise(() => import("./git-utils-Y0zG25ez.js"));
8422
+ const { snapshotWorkspaceHeadsPromise } = yield* Effect.promise(() => import("./git-utils-CsKV0Dis.js"));
8419
8423
  try {
8420
8424
  const headAnchor = yield* Effect.promise(() => snapshotWorkspaceHeadsPromise(issueId, localPath));
8421
8425
  if (headAnchor) update.reviewedAtCommit = headAnchor;
@@ -8432,7 +8436,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
8432
8436
  if (verificationStatus) update.verificationStatus = verificationStatus;
8433
8437
  if (readyForMerge !== void 0) update.readyForMerge = readyForMerge;
8434
8438
  const status = setReviewStatus(issueId, update);
8435
- const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-D8gsOCwh.js"));
8439
+ const { getTmuxSessionName } = yield* Effect.promise(() => import("./specialists-x-kPMhrL.js"));
8436
8440
  const projectKey = resolveProjectFromIssueSync(issueId)?.projectKey;
8437
8441
  if (reviewStatus && [
8438
8442
  "passed",
@@ -8450,7 +8454,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
8450
8454
  const agentId = `agent-${issueId.toLowerCase()}`;
8451
8455
  const feedbackBody = `CODE REVIEW ${reviewStatus.toUpperCase()} for ${issueId}:\n\n${reviewNotes}\n\n## REQUIRED: Fix ALL issues above, then invoke the /rebase-and-submit skill\n\n1. Read each blocking issue carefully\n2. Fix the code for EVERY issue listed\n3. Run tests locally to verify your fixes\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
8452
8456
  yield* Effect.gen(function* () {
8453
- const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-DfuVjvH0.js"));
8457
+ const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-CH2846DP.js"));
8454
8458
  const fileResult = yield* writeFeedbackFile({
8455
8459
  issueId,
8456
8460
  workspacePath: getWorkspaceInfoForIssue(issueId).localPath,
@@ -8513,7 +8517,7 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
8513
8517
  const agentId = `agent-${issueId.toLowerCase()}`;
8514
8518
  const feedbackBody = `TESTS FAILED for ${issueId}:\n\n${testNotes}\n\n## REQUIRED: Fix ALL test failures, then invoke the /rebase-and-submit skill\n\n1. Read each test failure carefully\n2. Fix the code causing EVERY failure\n3. Run the test suite locally to verify your fixes pass\n4. Commit every change\n5. Invoke the /rebase-and-submit skill for ${issueId} — this is an atomic task that runs pan done (which handles rebase + push + re-submit internally)\n\nDo NOT stop between steps. Do NOT run git push manually — the skill handles it. Do NOT stop until pan done has completed successfully.`;
8515
8519
  yield* Effect.gen(function* () {
8516
- const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-DfuVjvH0.js"));
8520
+ const { writeFeedbackFile } = yield* Effect.promise(() => import("./feedback-writer-CH2846DP.js"));
8517
8521
  const fileResult = yield* writeFeedbackFile({
8518
8522
  issueId,
8519
8523
  workspacePath: getWorkspaceInfoForIssue(issueId).localPath,
@@ -8546,14 +8550,14 @@ const postWorkspaceReviewStatusRoute = HttpRouter.add("POST", "/api/review/:issu
8546
8550
  } else console.log(`[review-status] ${issueId} automated tests passed, but another gate remains unresolved (uat=${status.uatStatus ?? "not-required"})`);
8547
8551
  yield* Effect.promise(async () => {
8548
8552
  try {
8549
- const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-DvPEAP18.js");
8553
+ const { resolveProjectFromIssueSync, getProjectSync } = await import("./projects-LftaVK99.js");
8550
8554
  const project = resolveProjectFromIssueSync(issueId);
8551
8555
  const repo = (project ? getProjectSync(project.projectKey) : null)?.github_repo;
8552
8556
  if (!repo || !repo.includes("/")) return;
8553
8557
  const [owner, name] = repo.split("/");
8554
8558
  const wsInfo = getWorkspaceInfoForIssue(issueId);
8555
8559
  if (!wsInfo?.localPath) return;
8556
- const { postOverdeckTestsStatus } = await import("./github-app-C33lDk9Z.js");
8560
+ const { postOverdeckTestsStatus } = await import("./github-app-Oi5hdn1n.js");
8557
8561
  await postOverdeckTestsStatus(wsInfo.localPath, owner, name, "success", "Test specialist passed");
8558
8562
  } catch (err) {
8559
8563
  console.warn(`[review-status] Failed to post overdeck/tests for ${issueId}: ${err.message}`);
@@ -8597,7 +8601,7 @@ const postWorkspaceRefreshTokenRoute = HttpRouter.add("POST", "/api/workspaces/:
8597
8601
  if (!parseIssueIdSync(issueId)) return jsonResponse({ error: "Invalid issue ID" }, { status: 400 });
8598
8602
  const issueLower = issueId.toLowerCase();
8599
8603
  const workspacePath = join(getProjectPath(void 0, extractPrefixSync(issueId) ?? issueId.split("-")[0]), "workspaces", `feature-${issueLower}`);
8600
- const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-C33lDk9Z.js"));
8604
+ const { refreshWorkspaceToken, isGitHubAppConfigured } = yield* Effect.promise(() => import("./github-app-Oi5hdn1n.js"));
8601
8605
  if (!isGitHubAppConfigured()) return jsonResponse({
8602
8606
  success: false,
8603
8607
  error: "GitHub App not configured"
@@ -8617,6 +8621,6 @@ const postWorkspaceRefreshTokenRoute = HttpRouter.add("POST", "/api/workspaces/:
8617
8621
  })));
8618
8622
  const workspacesRouteLayer = Layer.mergeAll(workspaceDataRouteLayer, postWorkspaceRebuildRoute, postWorkspaceRebuildAndStartRoute, uatStackActionRouteLayer, getWorkspaceStateMdRoute, getWorkspaceInferenceMdRoute, stashCleanRouteLayer, containerOpsRouteLayer, postWorkspaceStartRoute, getWorkspaceReviewStatusRoute, postWorkspaceReviewStatusRoute, reviewPipelineRouteLayer, reviewControlRouteLayer, mergeOpsRouteLayer, postWorkspaceRefreshTokenRoute);
8619
8623
  //#endregion
8620
- export { getWorkspacePathForIssue as C, stopAgentOutputService as E, resolveIssueHeadlineCost as S, startAgentOutputService as T, getCostsForIssueSync as _, pushApproveMain as a, processPendingFeedbackDeliveries as b, triggerMerge as c, resumeQueuedMerges as d, syncWalFromAllProjects as f, migrateAllSessionsSync as g, reclassifyUnknownCostEventsSync as h, mergeOpsRouteLayer as i, internalEventsRouteLayer as l, reconcilePiTranscripts as m, buildRichPRBody as n, reconcileGitHubMergeStatus as o, reconcile as p, isBranchAlreadyRebased as r, shouldBlockApproveForDirtyStatus as s, workspacesRouteLayer as t, eventsRouteLayer as u, rebuildCacheSync as v, retainAgentOutputInterest as w, getCachedRunningAgents as x, syncCacheSync as y };
8624
+ export { resolveIssueHeadlineCost as C, stopAgentOutputService as D, startAgentOutputService as E, getCachedRunningAgents as S, retainAgentOutputInterest as T, migrateAllSessionsSync as _, mergeOpsRouteLayer as a, syncCacheSync as b, shouldBlockApproveForDirtyStatus as c, eventsRouteLayer as d, resumeQueuedMerges as f, reclassifyUnknownCostEventsSync as g, reconcilePiTranscripts as h, isBranchAlreadyRebased as i, triggerMerge as l, reconcile as m, buildRichPRBody as n, pushApproveMain as o, syncWalFromAllProjects as p, ensurePRExists as r, reconcileGitHubMergeStatus as s, workspacesRouteLayer as t, internalEventsRouteLayer as u, getCostsForIssueSync as v, getWorkspacePathForIssue as w, processPendingFeedbackDeliveries as x, rebuildCacheSync as y };
8621
8625
 
8622
- //# sourceMappingURL=workspaces-BlpbOPZ7.js.map
8626
+ //# sourceMappingURL=workspaces-BJdPqx_J.js.map