@overdeck/desktop 0.45.16 → 0.45.18

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 (365) hide show
  1. package/dist-electron/main.js +149 -158
  2. package/dist-electron/main.js.map +1 -1
  3. package/dist-electron/preload.js +17 -2
  4. package/dist-electron/preload.js.map +1 -1
  5. package/package.json +5 -4
  6. package/server/acceptance-criteria-aQFKQf-J.js +62 -0
  7. package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-DgwQgm4D.js} +6 -6
  8. package/server/{agent-gc-D0wDIeV1.js → agent-gc-kpzxqT7P.js} +3 -3
  9. package/server/agent-state-C_6TG-Ad.js +3 -0
  10. package/server/{agent-state-service-CZrayD_G.js → agent-state-service-BUfovFfB.js} +1 -1
  11. package/server/{agent-state-service-DFslS5go.js → agent-state-service-nUD3qfob.js} +5 -5
  12. package/server/agents-BA15AQqo.js +3 -0
  13. package/server/{briefing-freshness-DESTCWo-.js → agents-BHBxr8c9.js} +5 -131
  14. package/server/{archive-planning-CbghE9-o.js → archive-planning-CzCW9Ifl.js} +5 -10
  15. package/server/{archive-planning-CoyIbgGK.js → archive-planning-D-QsBufn.js} +1 -1
  16. package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-qqa51B2Z.js} +2 -2
  17. package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-B7Bi0bvY.js} +2 -2
  18. package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
  19. package/server/briefing-freshness-DuxIE1yr.js +131 -0
  20. package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-DF6hb9Jw.js} +3 -3
  21. package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-DixkLus7.js} +1 -1
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-fjadfOKF.js → checkpoints-B1Z42tJE.js} +1 -1
  24. package/server/{checkpoints-BtUonbs3.js → checkpoints-BiviJqei.js} +2 -2
  25. package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-BeMGi4ty.js} +1 -1
  26. package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-Du_PkMsp.js} +2 -2
  27. package/server/{claude-permissions-CThLgf8d.js → claude-permissions-BB6agcOZ.js} +2 -2
  28. package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-CAq2oFSK.js} +2 -2
  29. package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-DUWWLd6M.js} +1 -1
  30. package/server/cli-BFgrSWKV.js +3 -0
  31. package/server/{cli-ByKIIMfT.js → cli-C33xPZNm.js} +9 -9
  32. package/server/{cliproxy-C_GuT5DU.js → cliproxy-BQX1TL6N.js} +1 -1
  33. package/server/{cliproxy-B4c1BUvs.js → cliproxy-CGBA1GzA.js} +2 -2
  34. package/server/{close-issue-BOuLKr6e.js → close-issue-DNv8npc1.js} +5 -5
  35. package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-DrqgBJlr.js} +1 -1
  36. package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-LoMnnjtJ.js} +9 -9
  37. package/server/codex-DxLivxri.js +3 -0
  38. package/server/{codex-parser-mFYZh8vR.js → codex-parser-DboQnEXN.js} +2 -2
  39. package/server/{codex-BbqIRZjd.js → codex-sgWVCGUd.js} +43 -18
  40. package/server/{config-Dj6N8EP9.js → config-6MCHOZ2N.js} +1 -1
  41. package/server/{config-DVLdmnMJ.js → config-DfaUXr6r.js} +2 -2
  42. package/server/{config-yaml-cNOZcEww.js → config-yaml-CqaAyn8y.js} +74 -74
  43. package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-BF_zhcmb.js} +3 -3
  44. package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BubJprtD.js} +1 -1
  45. package/server/{context-layers-c0JqYHcS.js → context-layers-BFrxfl0l.js} +17 -3
  46. package/server/{context-layers-CeAwSYNt.js → context-layers-DWL_8HhY.js} +2 -2
  47. package/server/{control-settings-D4EFsRBd.js → control-settings-BguNQ1F_.js} +4 -4
  48. package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-CRKAf2qP.js} +1 -1
  49. package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-DxSXl0pT.js} +8 -8
  50. package/server/{conversation-service-BTzObqGi.js → conversation-service-DzuY9qoH.js} +1 -1
  51. package/server/{conversation-service-B8LFQQm1.js → conversation-service-mFVFdDQK.js} +6 -6
  52. package/server/{conversations-B-lcHv-5.js → conversations-BX5aD-6F.js} +4 -4
  53. package/server/{conversations-BM7zlXjr.js → conversations-BajHQ60c.js} +1 -1
  54. package/server/{cost-D9kPIY_5.js → cost-BoqD1Pxz.js} +2 -2
  55. package/server/{cost-BcpRQ-7o.js → cost-DuZ5vlv-.js} +3 -3
  56. package/server/{cost-sync-DF6odxK9.js → cost-sync-BYnmnMkY.js} +3 -3
  57. package/server/{dag-DKI3sOmX.js → dag-C6kYyF17.js} +7 -243
  58. package/server/{dangerous-git-ops-Bn18PEcN.js → dangerous-git-ops-q5OPtXMd.js} +1 -1
  59. package/server/dashboard-db-worker.js +6 -6
  60. package/server/{deacon-DONuopff.js → deacon-CwCiNuEZ.js} +3 -3
  61. package/server/{deacon-DdARMjZq.js → deacon-Dru5onpk.js} +233 -162
  62. package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
  63. package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-BPmBmSoU.js} +298 -72
  64. package/server/deacon-swarm-CKyGJng1.js +2 -0
  65. package/server/deacon.js +14 -7
  66. package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-BqGNCzvN.js} +3 -3
  67. package/server/{dist-BMXvKiZP.js → dist-BwlEiLCU.js} +1 -1
  68. package/server/dist-Bx4KkgYL.js +3 -0
  69. package/server/{dist-src-BgGUblXg.js → dist-src-BE0Denfs.js} +1 -1
  70. package/server/{docker-apZ9pBYw.js → docker-CNjXS72x.js} +2 -2
  71. package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-5e9xOve4.js} +4 -4
  72. package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-C6gyUQdE.js} +1 -1
  73. package/server/{esm-shims-BEjvINX3.js → esm-shims-Cso7IGBC.js} +1 -1
  74. package/server/{event-store-CqDgfbAs.js → event-store-D9UhQyMS.js} +1 -1
  75. package/server/{event-store-D89fMfXS.js → event-store-KZnWUKWh.js} +3 -3
  76. package/server/{events-S_C0pvl6.js → events-2eFUPdqz.js} +3 -3
  77. package/server/{events-rIGncmP1.js → events-BYbvqZky.js} +1 -1
  78. package/server/{factory-DV18m0rc.js → factory-BtaRsHFC.js} +20 -17
  79. package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-Ca2UaV0U.js} +4 -4
  80. package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-DaP-bQxO.js} +2 -2
  81. package/server/{features-u5XeMaOK.js → features-DqvaoQoa.js} +2 -2
  82. package/server/{feedback-target-CwyWf0Dg.js → feedback-target-BXWdOiYI.js} +9 -7
  83. package/server/{feedback-target-DDG1PWl3.js → feedback-target-BblmMe9P.js} +1 -1
  84. package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-CULeOOY4.js} +1 -1
  85. package/server/{feedback-writer-D20HSXre.js → feedback-writer-Dn8o9ZyE.js} +4 -4
  86. package/server/{flywheel-RCnHAgc4.js → flywheel-BUWdcfhq.js} +1 -1
  87. package/server/{flywheel-Dczmgchd.js → flywheel-CqkO3cDj.js} +15 -28
  88. package/server/{flywheel-9Y1X7IM-.js → flywheel-D9r1mw2U.js} +13 -13
  89. package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-LDzQDwSg.js} +1 -1
  90. package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-VtjUweEb.js} +6 -6
  91. package/server/forge-DJy3Zx4s.js +2 -0
  92. package/server/{forge-DFDThFil.js → forge-wEollMCi.js} +22 -12
  93. package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
  94. package/server/{fts-db-C5A_TTOM.js → fts-db-Bgzn2RO7.js} +2 -2
  95. package/server/{fts-operations-DvCSimfU.js → fts-operations-Bj8yutnR.js} +2 -2
  96. package/server/{git-utils-Dr0L7mFk.js → git-utils-GxlL0tmt.js} +2 -2
  97. package/server/{git-utils-C0neHvQx.js → git-utils-q8jNoBts.js} +1 -1
  98. package/server/{github-app-Bwt9lK4A.js → github-app-BrYwK_Gb.js} +1 -1
  99. package/server/{github-app-u9-SX7Gc.js → github-app-tUbb8Ldr.js} +8 -3
  100. package/server/{github-client-Btyy3uan.js → github-client-BwBU41jK.js} +3 -3
  101. package/server/{github-client-Do3k-N1W.js → github-client-D6CNsftm.js} +1 -1
  102. package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-BS5PqkJb.js} +2 -2
  103. package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-Dx8hUsvC.js} +3 -3
  104. package/server/{health-events-B4u-2a9m.js → health-events-2DLp-5Xp.js} +2 -2
  105. package/server/{health-events-Bos3sk5g.js → health-events-B0mj6Iae.js} +1 -1
  106. package/server/{hooks-uEr8WTx_.js → hooks-BDcQJDUe.js} +1 -1
  107. package/server/{hooks-BCoOjL_R.js → hooks-BS_JrvYP.js} +3 -3
  108. package/server/hume-B4seN95Y.js +3 -0
  109. package/server/{hume-BqxYKbUf.js → hume-BRhNKyXQ.js} +2 -2
  110. package/server/{idle-stack-reaper-DbZ8ukMd.js → idle-stack-reaper-BCITXNW5.js} +2 -2
  111. package/server/{idle-stack-reaper-H0W6XtHh.js → idle-stack-reaper-C1ymihno.js} +1 -1
  112. package/server/{infra-Ba9mS6e6.js → infra-_Kx1m9pm.js} +9 -4
  113. package/server/{injection-C1DKXeIZ.js → injection-Bvhyg_MV.js} +1 -1
  114. package/server/{injection-yrMBxzVq.js → injection-CCaYkofq.js} +7 -7
  115. package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-BqyZ4pCo.js} +35 -67
  116. package/server/inspect-agent-DCJQm9Wu.js +2 -0
  117. package/server/{internal-token-BtqSbKTx.js → internal-token-Cl-1IxaE.js} +2 -2
  118. package/server/{internal-token-BPYEaXFh.js → internal-token-D-t28de5.js} +1 -1
  119. package/server/{io-VEGSAqsd.js → io-DkC4sFSy.js} +36 -43
  120. package/server/{issue-closed-BxcePXL-.js → issue-closed-Cpl4VDUM.js} +41 -6
  121. package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-CFR8TJ22.js} +22 -37
  122. package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-YNTy3OT3.js} +1 -1
  123. package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton-D81mCts_.js} +1 -1
  124. package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-ldvUUXi3.js} +29 -29
  125. package/server/{issues-CBAsuoAO.js → issues-DIEHt9sq.js} +2 -2
  126. package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Cd5jIqh7.js} +3 -3
  127. package/server/{label-cleanup-htK6fBRU.js → label-cleanup-Btny6Gyo.js} +3 -3
  128. package/server/{state-home-CEvD_v5F.js → launcher-generator-BXLM9f4b.js} +7 -127
  129. package/server/{layers-jjL16At6.js → layers-gCJlK62m.js} +2 -2
  130. package/server/lifecycle-D7aQUnTO.js +12 -0
  131. package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-DQBF-GHO.js} +1 -1
  132. package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-FfPUtz-y.js} +4 -4
  133. package/server/{linear-client-D9cSQfvD.js → linear-client-CDH2D6Qy.js} +3 -3
  134. package/server/{linear-client-By7hjwuN.js → linear-client-WrYrUIAH.js} +1 -1
  135. package/server/memory-fts-worker.js +1 -1
  136. package/server/{merge-BN8FGJ2q.js → merge-BsDgUxFz.js} +3 -3
  137. package/server/{merge-BLcEZNXz.js → merge-Dervs4BF.js} +1 -1
  138. package/server/{merge-agent-B3u2szOL.js → merge-agent-D6DNhe9j.js} +64 -51
  139. package/server/{merge-agent-ejC7Wos8.js → merge-agent-DMQTJMP0.js} +1 -1
  140. package/server/{merge-batch-DyqlgYGp.js → merge-batch-Bv6Z5K2H.js} +1 -1
  141. package/server/{merge-blockers-cq-aS2KG.js → merge-blockers-WWWi6Ur2.js} +2 -2
  142. package/server/merge-ops-h9OCnIVz.js +2 -0
  143. package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-Czth9ggm.js} +2 -2
  144. package/server/{merge-set-CZ9Nbay0.js → merge-set-DNc4zBqd.js} +3 -3
  145. package/server/{merge-set-Dy0D0r3i.js → merge-set-vuE3MEVt.js} +1 -1
  146. package/server/{merge-sync-D7jWLgCC.js → merge-sync-B2KSk54U.js} +2 -2
  147. package/server/{merge-sync-CG9kDCdT.js → merge-sync-B9nHdUGx.js} +1 -1
  148. package/server/{merge-train-CH33XJOH.js → merge-train-DJgr81tF.js} +3 -3
  149. package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-B2OWS0k9.js} +4 -4
  150. package/server/{merge-verification-D4wTChdX.js → merge-verification-BBIXUEqa.js} +4 -4
  151. package/server/{multipart-parser-Csn8U-K9.js → multipart-parser-9DhuAkPd.js} +2 -2
  152. package/server/node_modules/.package-lock.json +11 -11
  153. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  154. package/server/node_modules/toml/README.md +54 -0
  155. package/server/node_modules/toml/index.d.ts +42 -1
  156. package/server/node_modules/toml/index.js +3 -3
  157. package/server/node_modules/toml/lib/compiler.js +35 -3
  158. package/server/node_modules/toml/lib/parser.js +224 -143
  159. package/server/node_modules/toml/package.json +3 -1
  160. package/server/node_modules/ws/lib/receiver.js +15 -32
  161. package/server/node_modules/ws/lib/websocket-server.js +4 -4
  162. package/server/node_modules/ws/lib/websocket.js +4 -4
  163. package/server/node_modules/ws/package.json +5 -1
  164. package/server/{orphan-proposed-reconciler-DI_IS1p_.js → orphan-proposed-reconciler-B8H41C4a.js} +14 -24
  165. package/server/{orphan-proposed-reconciler-BIcNu4tl.js → orphan-proposed-reconciler-DbTmT7qy.js} +1 -1
  166. package/server/package-lock.json +12 -12
  167. package/server/package.json +1 -1
  168. package/server/{pan-dir-CQIfKG8c.js → pan-dir-BTw4MdSe.js} +4 -4
  169. package/server/{paths-Blj6A9AJ.js → paths-Btkc8mzp.js} +2 -2
  170. package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-3frIvSi3.js} +1 -1
  171. package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-DTd19f18.js} +2 -2
  172. package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B95fcAek.js} +2 -2
  173. package/server/projects-Dc9aoVoG.js +3 -0
  174. package/server/{prompts-B3njaImU.js → prompts-CIVmjHxn.js} +2 -2
  175. package/server/{providers-DnPxkHoG.js → providers-BLLk5IIb.js} +1 -1
  176. package/server/{providers-BbEyFhPX.js → providers-C-yWibCk.js} +7 -7
  177. package/server/public/assets/{chunk-BO2N2NFS-3qh9TUJi.js → chunk-BO2N2NFS-DzKZyoKY.js} +4 -4
  178. package/server/public/assets/{diagram-OG6HWLK6-D8UVTPj7.js → diagram-OG6HWLK6-Cx8mWUb8.js} +1 -1
  179. package/server/public/assets/{dist-BvLLn1YC.js → dist-BqccLhaw.js} +3 -3
  180. package/server/public/assets/{dist-CyubL7Wj.js → dist-rC3nAs_O.js} +1 -1
  181. package/server/public/assets/{ganttDiagram-6RSMTGT7-BI4E1LbQ.js → ganttDiagram-6RSMTGT7-DLYPLf5T.js} +1 -1
  182. package/server/public/assets/{highlighted-body-OFNGDK62-D_bapWkF.js → highlighted-body-OFNGDK62-D4DqixbV.js} +1 -1
  183. package/server/public/assets/index-CPcysUHk.js +796 -0
  184. package/server/public/assets/index-H5M0yhM4.css +1 -0
  185. package/server/public/assets/{linear-CEdobObr.js → linear-yqcXkDfj.js} +1 -1
  186. package/server/public/assets/mermaid-GHXKKRXX-CWdZ_heB.js +1 -0
  187. package/server/public/assets/{pieDiagram-4H26LBE5-DT79L01f.js → pieDiagram-4H26LBE5-DhraIOaV.js} +1 -1
  188. package/server/public/assets/{prod-CR_K2DFV.js → prod-DKUunUdN.js} +4 -4
  189. package/server/public/assets/{quadrantDiagram-W4KKPZXB-BEkKXXrL.js → quadrantDiagram-W4KKPZXB-DPiRcToa.js} +1 -1
  190. package/server/public/assets/{sankeyDiagram-5OEKKPKP-BxSCqn-j.js → sankeyDiagram-5OEKKPKP-3An5HNkZ.js} +1 -1
  191. package/server/public/assets/{xychartDiagram-2RQKCTM6-DicwJGG_.js → xychartDiagram-2RQKCTM6-lbEOjfqQ.js} +1 -1
  192. package/server/public/index.html +2 -2
  193. package/server/{pull-requests-43LPDfM8.js → pull-requests-D7AL5woD.js} +1 -1
  194. package/server/{pull-requests-DyUkQl4W.js → pull-requests-NDDNtqNq.js} +3 -3
  195. package/server/{agents-B9GwfCyp.js → queries-C0LCGG21.js} +710 -325
  196. package/server/{rally-BtWjybOa.js → rally-4oKvnxLG.js} +3 -3
  197. package/server/rally-DF5a3ioP.js +3 -0
  198. package/server/{rally-api-B-osULNL.js → rally-api-41tT6ikZ.js} +2 -2
  199. package/server/{rally-api-B-YA_oXx.js → rally-api-BsaQ8Vnz.js} +1 -1
  200. package/server/{rally-client-sErNQBO0.js → rally-client-Bo4hNcCZ.js} +5 -5
  201. package/server/{rally-client-CzFymP7P.js → rally-client-b5PT1x5L.js} +1 -1
  202. package/server/{reap-terminal-sessions-DnDQ7pf9.js → reap-terminal-sessions-BR39qflC.js} +1 -1
  203. package/server/{reap-terminal-sessions-2s-fvilz.js → reap-terminal-sessions-CFkuquQj.js} +1 -1
  204. package/server/{rebuild-stack-nGD_nPZo.js → rebuild-stack-C7JPUom6.js} +1 -1
  205. package/server/{rebuild-stack-CoU-HqZj.js → rebuild-stack-Ddv6W017.js} +5 -5
  206. package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-Gqhm---K.js} +6 -6
  207. package/server/record-DLOqfbkI.js +3 -0
  208. package/server/record-update-BltEmPge.js +168 -0
  209. package/server/record-update-CDp7aTaT.js +3 -0
  210. package/server/recovery-trip-Cn7KJVkS.js +44 -0
  211. package/server/{release-engine-CBLQXDlH.js → release-engine-BYzmIBf9.js} +5 -5
  212. package/server/{release-set-BNiqi7hy.js → release-set-7pnxFOWR.js} +3 -3
  213. package/server/{remote-DW_TWQnr.js → remote-Cvu4CSDk.js} +3 -3
  214. package/server/{remote-agents-C4cyxHQS.js → remote-agents-C2C6z9tj.js} +6 -33
  215. package/server/{remote-agents-Cv-U-_V8.js → remote-agents-DYY5fFpd.js} +1 -1
  216. package/server/{remote-completion-PhXGGFQy.js → remote-completion-2Kb4IDg_.js} +13 -13
  217. package/server/{remote-DcO9An_f.js → remote-rN0ecjHE.js} +3 -3
  218. package/server/resume-BFLl-yLn.js +3 -0
  219. package/server/{review-agent-Dn-yn7Zj.js → review-agent-BZvk0N5G.js} +31 -23
  220. package/server/{review-agent-u5q3ip7H.js → review-agent-CpSHLzed.js} +1 -1
  221. package/server/{review-artifacts-D4T04aYI.js → review-artifacts-PCo53YMn.js} +5 -19
  222. package/server/{review-context-Rc0VDLG_.js → review-context-M7QtJlJq.js} +8 -8
  223. package/server/{review-monitor-BC--miCO.js → review-monitor-BLC5mTTg.js} +2 -2
  224. package/server/{review-status-CG0iDuWa.js → review-status-77N3PoZr.js} +1 -1
  225. package/server/{review-status-Dc1l4dVz.js → review-status-DANr0t-v.js} +32 -58
  226. package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-DwOg4UfL.js} +3 -3
  227. package/server/{review-status-sync-CfSixhhX.js → review-status-sync-Bd08OOFA.js} +1 -1
  228. package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-BjTUJ5fx.js} +2 -2
  229. package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-BsFLjN_6.js} +1 -1
  230. package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-CBf-J_wS.js} +8 -8
  231. package/server/{rollup-DctoIu-A.js → rollup-Bu0f2EyN.js} +8 -8
  232. package/server/{rollup-CakjztPl.js → rollup-DTCCdEy4.js} +1 -1
  233. package/server/{scanner-BTM1jc_u.js → scanner-BlZ2vB7j.js} +7 -7
  234. package/server/{sequence-io-pnoIDGv4.js → sequence-io-ylyDtz2J.js} +4 -4
  235. package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-DsWQ-87H.js} +6 -17
  236. package/server/server.js +4695 -4093
  237. package/server/{service-DfTVoqJg.js → service-CLVBC_1Y.js} +116 -90
  238. package/server/{session-fork-C4jAFHj8.js → session-fork-DlEIAhRy.js} +2 -2
  239. package/server/{session-history-DanhhiCw.js → session-history-bnOFKMwf.js} +4 -4
  240. package/server/settings-CP3GGon2.js +2 -0
  241. package/server/{settings-Cuc12oP_.js → settings-Cqa-8nyj.js} +2 -2
  242. package/server/{settings-DfT3f86D.js → settings-gJrdLZy2.js} +3 -3
  243. package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-fq1YEKV3.js} +3 -3
  244. package/server/{shadow-state-CVHpRWlb.js → shadow-state-BqeFAygK.js} +1 -1
  245. package/server/{shadow-state-DJz6_pb_.js → shadow-state-RptE9Cau.js} +2 -2
  246. package/server/shadow-utils-BMWr5tRT.js +39 -0
  247. package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
  248. package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CmoXpjeU.js} +7 -7
  249. package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-DldUel4B.js} +1 -1
  250. package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-CoS6LTc6.js} +16 -16
  251. package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-DT2tSMxo.js} +1 -1
  252. package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
  253. package/server/{specialist-context-B2HlbNxS.js → specialist-context-CspI4Eog.js} +5 -5
  254. package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-Duz9RGvk.js} +2 -2
  255. package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-DtSkPJZK.js} +3 -3
  256. package/server/{specialists-D7AcFi1u.js → specialists-CywEMwxk.js} +1 -1
  257. package/server/{specialists-k22_Btaq.js → specialists-D9-dMUtI.js} +1 -1
  258. package/server/{specialists-CFgw_0Q6.js → specialists-Dax7tqXC.js} +161 -448
  259. package/server/{specialists-CwzFdapR.js → specialists-GF42OOqd.js} +18 -18
  260. package/server/specs-VwcFtEDi.js +3 -0
  261. package/server/{src-B4TTzNSr.js → src-By3D85Ry.js} +6 -1
  262. package/server/{src-BvpMg4EB.js → src-CqyFg52C.js} +5 -5
  263. package/server/{src-D4YUZrwR.js → src-DhxM-eCb.js} +6 -6
  264. package/server/{stack-health-DVN7zRnL.js → stack-health-BsEVrJZ6.js} +1 -1
  265. package/server/{stack-health-CSgcYcr8.js → stack-health-C-SnpRHh.js} +2 -2
  266. package/server/stale-task-claims-vTxmRzLi.js +69 -0
  267. package/server/state-home-Bur1y4oH.js +213 -0
  268. package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
  269. package/server/state-migrate-D3VveYfO.js +362 -0
  270. package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-B699-p8v.js} +36 -41
  271. package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CaFYYTQW.js} +1 -1
  272. package/server/{summary-fork-CnRMPCYd.js → summary-fork-BxnF8Xh0.js} +2 -2
  273. package/server/{summary-fork-gKSoFAnK.js → summary-fork-COqYpVa3.js} +8 -8
  274. package/server/supervisor/{paths-3R6b989k.js → paths-Bk6hJRH9.js} +4 -3
  275. package/server/supervisor/pty-supervisor.js +2 -2
  276. package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-BZS5GYdG.js} +2 -2
  277. package/server/supervisor-eWAAmXKu.js +2 -0
  278. package/server/{supervisor-CZMs8s0M.js → supervisor-liMgIPDF.js} +2 -2
  279. package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-sXB1vhzo.js} +3 -3
  280. package/server/{system-prerequisites-DZZTi2G6.js → system-prerequisites-Bz6KdkFJ.js} +1 -13
  281. package/server/{teardown-workspace-B4D-oCVg.js → teardown-workspace-DvzqnmUF.js} +14 -71
  282. package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-hAU1Ah08.js} +5 -5
  283. package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-Bam7Xhoo.js} +2 -2
  284. package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-DhGwd88s.js} +1 -1
  285. package/server/tmux-C-rgxRDA.js +3 -0
  286. package/server/{tmux-C3g9VFcg.js → tmux-U55cNGFG.js} +92 -4
  287. package/server/{token-g_sJ19g3.js → token-Dsa-i36o.js} +2 -2
  288. package/server/{token-util-DiwnnbJo.js → token-util-BWNpH96m.js} +1 -1
  289. package/server/token-util-DRt0j2nQ.js +3 -0
  290. package/server/{tracker-config-dQxC15vH.js → tracker-config-OkdbaUCm.js} +2 -2
  291. package/server/{tracker-utils--z8FLSWn.js → tracker-utils-CghXMF3q.js} +2 -2
  292. package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-DdzUiPNU.js} +1 -1
  293. package/server/{tunnel-BpWZs0Jy.js → tunnel-D1YxesBL.js} +3 -3
  294. package/server/{tunnel-CN2px87h.js → tunnel-DjlzgTl3.js} +1 -1
  295. package/server/typed-errors-CH4roFIj.js +3 -0
  296. package/server/{typed-errors-sLpGfegz.js → typed-errors-n_Tnb4Fh.js} +3 -4
  297. package/server/{types-BLS_Zbmd.js → types-DOjWNv3Z.js} +1 -1
  298. package/server/{types-tlXf80x3.js → types-DXBMm4mX.js} +1 -1
  299. package/server/{uat-train-utGVmqdm.js → uat-train-CaaWs9Rp.js} +1 -1
  300. package/server/{uat-train-BRo6DM7p.js → uat-train-CqN34zFx.js} +24 -25
  301. package/server/{validation-CsPVsoA0.js → validation-4-z2Cw4z.js} +70 -23
  302. package/server/validation-DpTNakM6.js +3 -0
  303. package/server/verification-artifact-DK1xb1zG.js +56 -0
  304. package/server/verification-artifact-JD_edpZ9.js +2 -0
  305. package/server/{verification-runner-CMT5WRMS.js → verification-runner-BjHN80pJ.js} +338 -58
  306. package/server/verification-runner-ShYu5Ph3.js +2 -0
  307. package/server/{vtt-parser-C_XPlifj.js → vtt-parser-QnRfcjiU.js} +1 -1
  308. package/server/{work-agent-prompt-ZTAb2Hyf.js → work-agent-prompt-BiJ43Der.js} +12 -88
  309. package/server/workflows-B4C3lY9E.js +2 -0
  310. package/server/{workflows-CXRwhw_o.js → workflows-DkTotz_m.js} +17 -24
  311. package/server/{workspace-CNfuj1-5.js → workspace-CuN0ev4Z.js} +3 -3
  312. package/server/{workspace-9UEsKuiP.js → workspace-DQ4vVivd.js} +1 -1
  313. package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
  314. package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-B1mYn0lN.js} +1 -1
  315. package/server/{workspace-manager-D8AByFIT.js → workspace-manager-Beeo2aKF.js} +23 -48
  316. package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-BZC5BmoP.js} +2 -2
  317. package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-Cy7_ZACL.js} +1 -1
  318. package/server/{workspaces-D-uIoqbg.js → workspaces-CGuzW1Ia.js} +182 -152
  319. package/sync-sources/hooks/codex-notify-hook +64 -8
  320. package/sync-sources/hooks/record-cost-event.js +1109 -36
  321. package/sync-sources/hooks/record-cost-event.js.map +1 -1
  322. package/sync-sources/hooks/statusline.sh +2 -2
  323. package/sync-sources/hooks/work-agent-stop-hook +1 -2
  324. package/server/acceptance-criteria-BZ_nQS1f.js +0 -33
  325. package/server/agent-state-lGvgPP4m.js +0 -3
  326. package/server/agents-CEcaxSkR.js +0 -3
  327. package/server/auto-commit-IW-eik_b.js +0 -3
  328. package/server/bd-process-lock-XAXAet9O.js +0 -390
  329. package/server/beads-B1u04n3o.js +0 -2
  330. package/server/beads-BeSMEjGT.js +0 -649
  331. package/server/beads-query-Dl4FhT8J.js +0 -95
  332. package/server/beads-restore-BUItPOjI.js +0 -23
  333. package/server/cli-D9cUTbBr.js +0 -3
  334. package/server/codex-BYPz6ZdF.js +0 -3
  335. package/server/compact-beads-CyJtoXJi.js +0 -94
  336. package/server/compact-beads-N00E4EVa.js +0 -3
  337. package/server/deacon-swarm-CvdFekIO.js +0 -2
  338. package/server/dist-BNwrgsUO.js +0 -3
  339. package/server/export-BJHSVwKP.js +0 -87
  340. package/server/forge-8y6aEPTB.js +0 -2
  341. package/server/hume-CerGi2RH.js +0 -3
  342. package/server/inspect-agent-CWkeAB7J.js +0 -2
  343. package/server/lifecycle-Ck2UR27D.js +0 -14
  344. package/server/merge-ops-CFkQtXEj.js +0 -2
  345. package/server/projects-CrBE6IhN.js +0 -3
  346. package/server/public/assets/index-BAZxZ-8I.js +0 -796
  347. package/server/public/assets/index-FBG3JBfq.css +0 -1
  348. package/server/public/assets/mermaid-GHXKKRXX-BYP8MI37.js +0 -1
  349. package/server/rally-oggyp4cs.js +0 -3
  350. package/server/record-lEYK__LD.js +0 -3
  351. package/server/recovery-trip-BT7nb9OV.js +0 -98
  352. package/server/resolver-C7dLn8OK.js +0 -158
  353. package/server/resume-BYZBIab-.js +0 -3
  354. package/server/settings-Cy7SCFO9.js +0 -2
  355. package/server/specs-RzcDgozr.js +0 -3
  356. package/server/supervisor-CfX192ma.js +0 -2
  357. package/server/tmux-By8E_Yv_.js +0 -3
  358. package/server/token-util-C9u4An3K.js +0 -3
  359. package/server/tracker-config-BzfVj41Z.js +0 -3
  360. package/server/typed-errors-CrN1AByg.js +0 -3
  361. package/server/validation-Dq_wwcw3.js +0 -3
  362. package/server/verification-runner-D0Uh-9jc.js +0 -2
  363. package/server/workflows-BLwxUMP7.js +0 -2
  364. package/server/writer-BUweuRPx.js +0 -3
  365. package/server/writer-CrP2xuBn.js +0 -251
@@ -1,15 +1,15 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { It as resolveProjectForIssue, Jr as init_paths, Pt as readIssueRecordSync, Qr as sessionFilePath, Sr as AGENTS_DIR, Xr as packageRoot, Z as resolveModel, f as loadConfigSync, kt as init_record, t as init_config_yaml } from "./config-yaml-cNOZcEww.js";
2
+ import { $r as sessionFilePath, Cr as AGENTS_DIR, It as resolveProjectForIssue, Pt as readIssueRecordSync, Yr as init_paths, Z as resolveModel, Zr as packageRoot, f as loadConfigSync, kt as init_record, t as init_config_yaml } from "./config-yaml-CqaAyn8y.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
4
- import { C as isPaneDead, O as listSessionNames, w as killSession, x as init_tmux } from "./tmux-C3g9VFcg.js";
5
- import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-Dc1l4dVz.js";
6
- import { d as init_agents, f as listAgentIdsByPrefixSync, m as removeAgentSync } from "./briefing-freshness-DESTCWo-.js";
7
- import { Pn as getAgentStateSync, t as init_agents$1 } from "./agents-B9GwfCyp.js";
8
- import { a as PAN_DIRNAME, p as init_types } from "./types-BLS_Zbmd.js";
9
- import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-BC--miCO.js";
10
- import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-D4wTChdX.js";
11
- import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-Rc0VDLG_.js";
12
- import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-BMKm_5DV.js";
4
+ import { S as init_tmux, T as killSession, k as listSessionNames, w as isPaneDead } from "./tmux-U55cNGFG.js";
5
+ import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
6
+ import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents-BHBxr8c9.js";
7
+ import { Fn as getAgentStateSync, s as init_agents$1 } from "./queries-C0LCGG21.js";
8
+ import { a as PAN_DIRNAME, p as init_types } from "./types-DOjWNv3Z.js";
9
+ import { n as init_review_monitor, t as REVIEW_SUB_ROLES } from "./review-monitor-BLC5mTTg.js";
10
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-BBIXUEqa.js";
11
+ import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-M7QtJlJq.js";
12
+ import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-BF_zhcmb.js";
13
13
  import { Effect } from "effect";
14
14
  import { existsSync } from "fs";
15
15
  import { dirname, join } from "path";
@@ -151,7 +151,7 @@ async function buildConvoyPromptPromise(opts) {
151
151
  }
152
152
  async function spawnReviewSubRoleForIssuePromise(opts) {
153
153
  try {
154
- const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent } = await import("./agents-CEcaxSkR.js");
154
+ const { saveAgentState, spawnRun, getAgentStateSync, getLatestSessionIdSync, resumeAgent } = await import("./agents-BA15AQqo.js");
155
155
  const cfg = loadConfigSync().config;
156
156
  const outputPath = opts.outputPath ?? reviewerAgentOutputPath(opts.workspace, opts.runId, opts.subRole);
157
157
  const synthesisAgentId = opts.synthesisAgentId ?? `agent-${opts.issueId.toLowerCase()}-review`;
@@ -238,7 +238,7 @@ async function spawnReviewSubRoleForIssuePromise(opts) {
238
238
  if (opts.forkedSessionId) run.reviewForkedFromParent = true;
239
239
  await Effect.runPromise(saveAgentState(run));
240
240
  try {
241
- const { notifyPipelineSync } = await import("./pipeline-notifier-BH4PAi-w.js");
241
+ const { notifyPipelineSync } = await import("./pipeline-notifier-3frIvSi3.js");
242
242
  notifyPipelineSync({
243
243
  type: "reviewer_started",
244
244
  issueId: opts.issueId,
@@ -269,7 +269,7 @@ async function computeConvoyScope(issueId, workspace) {
269
269
  let carried = [];
270
270
  let scope = "changed";
271
271
  try {
272
- const { getReviewStatusSync } = await import("./review-status-CG0iDuWa.js");
272
+ const { getReviewStatusSync } = await import("./review-status-77N3PoZr.js");
273
273
  scope = resolveReReviewScope(issueId);
274
274
  const priorVerdicts = getReviewStatusSync(issueId)?.reviewerVerdicts;
275
275
  let changedFiles;
@@ -312,13 +312,13 @@ async function computeConvoyScope(issueId, workspace) {
312
312
  */
313
313
  async function forkParentSessionForReviewer(parentAgentId, workspace) {
314
314
  try {
315
- const { getLatestSessionIdSync } = await import("./agents-CEcaxSkR.js");
315
+ const { getLatestSessionIdSync } = await import("./agents-BA15AQqo.js");
316
316
  const parentSessionId = getLatestSessionIdSync(parentAgentId);
317
317
  if (!parentSessionId) return null;
318
318
  const src = sessionFilePath(workspace, parentSessionId);
319
319
  const { existsSync } = await import("fs");
320
320
  if (!existsSync(src)) return null;
321
- const { reserveForkSession, copySessionForFork } = await import("./session-fork-C4jAFHj8.js");
321
+ const { reserveForkSession, copySessionForFork } = await import("./session-fork-DlEIAhRy.js");
322
322
  const reserved = await reserveForkSession(workspace);
323
323
  await copySessionForFork(src, reserved.sessionFile, { fullHistory: true });
324
324
  return reserved.sessionId;
@@ -356,13 +356,13 @@ async function launchConvoyReviewersPromise(params) {
356
356
  }
357
357
  }
358
358
  const cfg = loadConfigSync().config;
359
- const { getAgentStateSync } = await import("./agents-CEcaxSkR.js");
359
+ const { getAgentStateSync } = await import("./agents-BA15AQqo.js");
360
360
  const parentState = getAgentStateSync(params.synthesisAgentId);
361
361
  const reviewerResults = await Promise.all(params.inScope.map(async (subRole) => {
362
362
  const outputPath = reviewerAgentOutputPath(params.workspace, params.runId, subRole);
363
363
  let forkedSessionId;
364
364
  if (params.forkFromParent && parentState?.harness === "claude-code" && !params.harness) try {
365
- const { getLatestSessionIdSync } = await import("./agents-CEcaxSkR.js");
365
+ const { getLatestSessionIdSync } = await import("./agents-BA15AQqo.js");
366
366
  const reviewerModel = params.model ?? resolveModel("review", subRole, cfg);
367
367
  if (!!!getLatestSessionIdSync(reviewerAgentId(params.issueId, subRole)) && reviewerModel === parentState.model) {
368
368
  forkedSessionId = await forkParentSessionForReviewer(params.synthesisAgentId, params.workspace) ?? void 0;
@@ -383,7 +383,7 @@ async function launchConvoyReviewersPromise(params) {
383
383
  allowHost: params.allowHost ?? false
384
384
  }));
385
385
  if (!result.success) try {
386
- const { messageAgent } = await import("./agents-CEcaxSkR.js");
386
+ const { messageAgent } = await import("./agents-BA15AQqo.js");
387
387
  await messageAgent(params.synthesisAgentId, `REVIEWER_FAILED ${subRole} ${result.error ?? result.message}`);
388
388
  } catch (signalErr) {
389
389
  console.warn(`[review-agent] Failed to signal ${subRole} spawn failure to ${params.synthesisAgentId}:`, signalErr);
@@ -410,7 +410,7 @@ async function launchConvoyReviewersPromise(params) {
410
410
  async function handleReviewDiscoveryReady(issueId, opts = {}) {
411
411
  const normalized = issueId.toUpperCase();
412
412
  const parentId = `agent-${normalized.toLowerCase()}-review`;
413
- const { saveAgentState, getAgentStateSync } = await import("./agents-CEcaxSkR.js");
413
+ const { saveAgentState, getAgentStateSync } = await import("./agents-BA15AQqo.js");
414
414
  const parent = getAgentStateSync(parentId);
415
415
  if (!parent) return {
416
416
  success: false,
@@ -696,6 +696,14 @@ function buildSelfReviewPrompt(opts) {
696
696
  return prompt;
697
697
  }
698
698
  async function spawnReviewRoleForIssuePromise(opts) {
699
+ if (!opts.model) {
700
+ const project = resolveProjectForIssue(opts.issueId);
701
+ const issueModel = project ? readIssueRecordSync(project, opts.issueId)?.reviewModel : void 0;
702
+ if (issueModel) opts = {
703
+ ...opts,
704
+ model: issueModel
705
+ };
706
+ }
699
707
  const reviewSessionName = `agent-${opts.issueId.toLowerCase()}-review`;
700
708
  const mergedGuard = await shouldSkipDispatchAsMerged(opts.issueId);
701
709
  if (mergedGuard.skip) {
@@ -811,7 +819,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
811
819
  };
812
820
  }
813
821
  try {
814
- const { archiveFeedbackFiles } = await import("./feedback-writer-BsJiw5aT.js");
822
+ const { archiveFeedbackFiles } = await import("./feedback-writer-CULeOOY4.js");
815
823
  await Effect.runPromise(archiveFeedbackFiles(opts.workspace));
816
824
  } catch {}
817
825
  try {
@@ -828,7 +836,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
828
836
  };
829
837
  }
830
838
  try {
831
- const { notifyPipelineSync } = await import("./pipeline-notifier-BH4PAi-w.js");
839
+ const { notifyPipelineSync } = await import("./pipeline-notifier-3frIvSi3.js");
832
840
  notifyPipelineSync({
833
841
  type: "task_queued",
834
842
  specialist: "review-agent",
@@ -836,7 +844,7 @@ async function spawnReviewRoleForIssuePromise(opts) {
836
844
  });
837
845
  } catch {}
838
846
  try {
839
- const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-CEcaxSkR.js");
847
+ const { spawnRun, saveAgentState, getAgentState, getAgentStateSync, getLatestSessionIdSync, resumeAgent, wipeAgentStateDirs } = await import("./agents-BA15AQqo.js");
840
848
  const workAgentState = await Effect.runPromise(getAgentState(`agent-${opts.issueId.toLowerCase()}`));
841
849
  const allowHost = opts.allowHost === true || workAgentState?.hostOverride === true;
842
850
  let headSha = "unknown";
@@ -1185,4 +1193,4 @@ var init_review_agent = __esmMin((() => {
1185
1193
  //#endregion
1186
1194
  export { isReviewStaleSync as a, purgeReviewAgentsForIssue as c, buildConvoyPrompt as d, handleReviewDiscoveryReady as f, reviewResumeDecision as h, isReviewSessionForIssue as i, resolveReviewMode as l, spawnReviewSubRoleForIssue as m, init_review_agent as n, killAllReviewSessions as o, resolveReReviewScope as p, isExtendedReviewEnabled as r, killAllReviewerSessions as s, PARENT_REVIEW_TIMEOUT_MS as t, spawnReviewRoleForIssue as u };
1187
1195
 
1188
- //# sourceMappingURL=review-agent-Dn-yn7Zj.js.map
1196
+ //# sourceMappingURL=review-agent-BZvk0N5G.js.map
@@ -1,3 +1,3 @@
1
- import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-Dn-yn7Zj.js";
1
+ import { a as isReviewStaleSync, c as purgeReviewAgentsForIssue, d as buildConvoyPrompt, f as handleReviewDiscoveryReady, h as reviewResumeDecision, i as isReviewSessionForIssue, l as resolveReviewMode, m as spawnReviewSubRoleForIssue, n as init_review_agent, o as killAllReviewSessions, p as resolveReReviewScope, r as isExtendedReviewEnabled, s as killAllReviewerSessions, t as PARENT_REVIEW_TIMEOUT_MS, u as spawnReviewRoleForIssue } from "./review-agent-BZvk0N5G.js";
2
2
  init_review_agent();
3
3
  export { PARENT_REVIEW_TIMEOUT_MS, buildConvoyPrompt, handleReviewDiscoveryReady, isExtendedReviewEnabled, isReviewSessionForIssue, isReviewStaleSync, killAllReviewSessions, killAllReviewerSessions, purgeReviewAgentsForIssue, resolveReReviewScope, resolveReviewMode, reviewResumeDecision, spawnReviewRoleForIssue, spawnReviewSubRoleForIssue };
@@ -1,9 +1,8 @@
1
- import { er as extractNumberSync, nr as init_issue_id } from "./config-yaml-cNOZcEww.js";
1
+ import { rr as init_issue_id, tr as extractNumberSync } from "./config-yaml-CqaAyn8y.js";
2
2
  import { a as init_activity_logger, n as emitActivityEntrySync } from "./activity-logger-pcbf-e30.js";
3
- import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-CZ9Nbay0.js";
4
- import { i as findPlanSync, o as init_io } from "./io-VEGSAqsd.js";
5
- import { a as queryBeadsForIssue, r as init_beads_query } from "./beads-query-Dl4FhT8J.js";
6
- import { n as getForgeAdapter } from "./forge-DFDThFil.js";
3
+ import { a as upsertMergeSetSync, i as init_merge_set, n as ensureMergeSetForIssueSync, o as withRepoArtifactUrlSync, s as withRepoStateSync } from "./merge-set-DNc4zBqd.js";
4
+ import { i as findPlanSync, o as init_io } from "./io-DkC4sFSy.js";
5
+ import { n as getForgeAdapter } from "./forge-wEollMCi.js";
7
6
  import { join } from "node:path";
8
7
  import { Data, Effect } from "effect";
9
8
  import { existsSync } from "node:fs";
@@ -12,7 +11,6 @@ import { exec } from "node:child_process";
12
11
  import { promisify } from "node:util";
13
12
  //#region ../../lib/review-artifacts.ts
14
13
  init_io();
15
- init_beads_query();
16
14
  init_issue_id();
17
15
  init_merge_set();
18
16
  init_activity_logger();
@@ -37,18 +35,6 @@ async function buildRichReviewArtifactBodyPromise(issueId, workspacePath) {
37
35
  }
38
36
  }
39
37
  } catch {}
40
- try {
41
- const { beads } = await Effect.runPromise(queryBeadsForIssue(workspacePath, issueId));
42
- if (beads.length > 0) {
43
- lines.push("## Implementation Tasks");
44
- lines.push("");
45
- for (const bead of beads) {
46
- const checked = bead.status === "closed" ? "x" : " ";
47
- lines.push(`- [${checked}] ${bead.title.replace(/^[^:]+:\s*/, "")}`);
48
- }
49
- lines.push("");
50
- }
51
- } catch {}
52
38
  return lines.join("\n").trim() || `Automated review artifact for ${issueId}`;
53
39
  }
54
40
  function getRepoWorkspacePath(workspacePath, mergeSet, repo) {
@@ -167,4 +153,4 @@ const createReviewArtifactsForIssue = (issueId, workspacePath) => Effect.tryProm
167
153
  //#endregion
168
154
  export { createReviewArtifactsForIssue };
169
155
 
170
- //# sourceMappingURL=review-artifacts-D4T04aYI.js.map
156
+ //# sourceMappingURL=review-artifacts-PCo53YMn.js.map
@@ -1,11 +1,11 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { dr as FsError, xr as init_errors } from "./config-yaml-cNOZcEww.js";
3
- import { a as PAN_DIRNAME, p as init_types } from "./types-BLS_Zbmd.js";
4
- import { i as findPlanSync, o as init_io, u as readPlan } from "./io-VEGSAqsd.js";
5
- import { d as getDevrootPathSync, f as init_config } from "./config-DVLdmnMJ.js";
6
- import { a as init_lifecycle_io, i as findVBriefByIssueSync } from "./lifecycle-io-IehcRt2v.js";
7
- import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CVDbIDBe.js";
8
- import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-DOF1U2WW.js";
2
+ import { Sr as init_errors, fr as FsError } from "./config-yaml-CqaAyn8y.js";
3
+ import { a as PAN_DIRNAME, p as init_types } from "./types-DOjWNv3Z.js";
4
+ import { i as findPlanSync, o as init_io, u as readPlan } from "./io-DkC4sFSy.js";
5
+ import { d as getDevrootPathSync, f as init_config } from "./config-DfaUXr6r.js";
6
+ import { a as init_lifecycle_io, i as findVBriefByIssueSync } from "./lifecycle-io-FfPUtz-y.js";
7
+ import { n as init_review_verdict_feedback } from "./review-verdict-feedback-CBf-J_wS.js";
8
+ import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-BS5PqkJb.js";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync } from "fs";
11
11
  import { join } from "path";
@@ -700,4 +700,4 @@ var init_review_context = __esmMin((() => {
700
700
  //#endregion
701
701
  export { getDiffStat as a, getDiffBase as i, formatTier1Summary as n, init_review_context as o, getChangedFiles as r, buildReviewContext as t };
702
702
 
703
- //# sourceMappingURL=review-context-Rc0VDLG_.js.map
703
+ //# sourceMappingURL=review-context-M7QtJlJq.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { x as init_tmux } from "./tmux-C3g9VFcg.js";
2
+ import { S as init_tmux } from "./tmux-U55cNGFG.js";
3
3
  import "effect";
4
4
  import "fs";
5
5
  import "path";
@@ -18,4 +18,4 @@ var init_review_monitor = __esmMin((() => {
18
18
  //#endregion
19
19
  export { init_review_monitor as n, REVIEW_SUB_ROLES as t };
20
20
 
21
- //# sourceMappingURL=review-monitor-BC--miCO.js.map
21
+ //# sourceMappingURL=review-monitor-BLC5mTTg.js.map
@@ -1,3 +1,3 @@
1
- import { c as init_review_status, f as markWorkspaceStuck, n as clearReviewStatus, p as mergeGateEligibility, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-Dc1l4dVz.js";
1
+ import { c as init_review_status, f as markWorkspaceStuck, n as clearReviewStatus, p as mergeGateEligibility, s as getReviewStatusSync, u as loadReviewStatuses, y as setReviewStatusSync } from "./review-status-DANr0t-v.js";
2
2
  init_review_status();
3
3
  export { clearReviewStatus, getReviewStatusSync, loadReviewStatuses, markWorkspaceStuck, mergeGateEligibility, setReviewStatusSync };
@@ -1,12 +1,13 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Bt as writeIssueRecordSync, Dt as getIssueWorkspacePath, Fn as init_projects, Mt as readIssueRecord, Pt as readIssueRecordSync, jt as queueIssueRecordCommit, kn as getProjectSync, kt as init_record, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
2
+ import { Dt as getIssueWorkspacePath, Fn as init_projects, Mt as readIssueRecord, Pt as readIssueRecordSync, kn as getProjectSync, kt as init_record, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
3
3
  import { a as init_activity_logger, n as emitActivityEntrySync, r as emitActivityTtsSync } from "./activity-logger-pcbf-e30.js";
4
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.js";
5
- import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-DF6odxK9.js";
6
- import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-D_WYtEwl.js";
7
- import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, u as upsertReviewStatusSync } from "./review-status-sync-CAr-hfnJ.js";
8
- import { a as PAN_DIRNAME, p as init_types, r as PAN_CONTINUES_DIRNAME } from "./types-BLS_Zbmd.js";
9
- import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-CZ9Nbay0.js";
4
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-_Kx1m9pm.js";
5
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-BltEmPge.js";
6
+ import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-BYnmnMkY.js";
7
+ import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-DTd19f18.js";
8
+ import { c as init_review_status_sync, d as init_review_status_normalize, f as normalizeReviewStatusSync, l as markWorkspaceStuck$1, n as deleteReviewStatus, o as getReviewStatusFromDbSync, r as getAllReviewStatusesFromDb, s as getReviewStatusesFromDb, u as upsertReviewStatusSync } from "./review-status-sync-BjTUJ5fx.js";
9
+ import { a as PAN_DIRNAME, p as init_types, r as PAN_CONTINUES_DIRNAME } from "./types-DOjWNv3Z.js";
10
+ import { i as init_merge_set, r as getMergeSetSync } from "./merge-set-DNc4zBqd.js";
10
11
  import { dirname, join } from "node:path";
11
12
  import { Data, Effect } from "effect";
12
13
  import { join as join$1 } from "path";
@@ -225,36 +226,6 @@ var init_review_status_source = __esmMin((() => {
225
226
  reader = null;
226
227
  }));
227
228
  //#endregion
228
- //#region ../../lib/pan-dir/record-lock.ts
229
- /**
230
- * Serialize async read-modify-write rebuilds for a single issue record.
231
- *
232
- * Synchronous record writers remain synchronous; async flows that read, await,
233
- * then write the whole record must use this lock so same-issue rebuilds cannot
234
- * overwrite each other's final re-read.
235
- */
236
- async function withIssueRecordLock(issueId, fn) {
237
- const key = issueId.toUpperCase();
238
- const previous = issueRecordLocks.get(key) ?? Promise.resolve();
239
- let release = () => {};
240
- const current = new Promise((resolve) => {
241
- release = resolve;
242
- });
243
- const chain = previous.catch(() => void 0).then(() => current);
244
- issueRecordLocks.set(key, chain);
245
- await previous.catch(() => void 0);
246
- try {
247
- return await fn();
248
- } finally {
249
- release();
250
- if (issueRecordLocks.get(key) === chain) issueRecordLocks.delete(key);
251
- }
252
- }
253
- var issueRecordLocks;
254
- var init_record_lock = __esmMin((() => {
255
- issueRecordLocks = /* @__PURE__ */ new Map();
256
- }));
257
- //#endregion
258
229
  //#region ../../lib/pan-dir/records.ts
259
230
  /**
260
231
  * PAN-1908 / PAN-1919: per-issue permanent-record builder.
@@ -269,7 +240,6 @@ function projectContinue(raw) {
269
240
  decisions: raw?.decisions,
270
241
  hazards: raw?.hazards,
271
242
  resumePoint: raw?.resumePoint,
272
- beadsMapping: raw?.beadsMapping,
273
243
  sessionHistory: raw?.sessionHistory,
274
244
  feedback: raw?.feedback ?? [],
275
245
  scopeDrift: raw?.scopeDrift
@@ -425,16 +395,15 @@ async function updateIssueRecordForIssue(issueId, reviewStatus) {
425
395
  if (!resolved) return false;
426
396
  const project = getProjectSync(resolved.projectKey);
427
397
  if (!project) return false;
428
- await withIssueRecordLock(issueId, async () => {
429
- const record = await buildIssueRecord(project, issueId, { reviewStatus });
430
- const fresh = readIssueRecordSync(project, issueId);
398
+ const record = await buildIssueRecord(project, issueId, { reviewStatus });
399
+ await updateIssueRecord(project, issueId, (fresh) => {
431
400
  if (fresh?.swarm) record.swarm = fresh.swarm;
432
401
  if (fresh?.statusOverrides && Object.keys(fresh.statusOverrides).length > 0) record.statusOverrides = {
433
402
  ...record.statusOverrides,
434
403
  ...fresh.statusOverrides
435
404
  };
436
405
  record.pipeline = pickNewerPipeline(record.pipeline, fresh?.pipeline);
437
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
406
+ return record;
438
407
  });
439
408
  return true;
440
409
  } catch (err) {
@@ -449,7 +418,7 @@ var init_records = __esmMin((() => {
449
418
  init_projects();
450
419
  init_agent_state_sync();
451
420
  init_record();
452
- init_record_lock();
421
+ init_record_update();
453
422
  }));
454
423
  //#endregion
455
424
  //#region ../../lib/overdeck/review-status-record-sync.ts
@@ -819,7 +788,7 @@ function setReviewStatusSync(issueId, update, existing) {
819
788
  });
820
789
  if (readyForMerge && !status.readyForMerge && updated.prUrl) (async () => {
821
790
  try {
822
- const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-Bwt9lK4A.js");
791
+ const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-BrYwK_Gb.js");
823
792
  if (!isGitHubAppConfigured()) return;
824
793
  const prMatch = updated.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull/);
825
794
  if (!prMatch) return;
@@ -1060,10 +1029,10 @@ function setReviewStatusSync(issueId, update, existing) {
1060
1029
  if ((update.testStatus === "failed" || update.testStatus === "dispatch_failed") && status.testStatus !== "failed" && status.testStatus !== "dispatch_failed") deliverTestFailureToWorkAgentHostSide(issueId, updated);
1061
1030
  return updated;
1062
1031
  }
1063
- function resetPipelineVerdictsForWorkStartSync(issueId) {
1032
+ function resetPipelineVerdictsForWorkStartSync(issueId, options = {}) {
1064
1033
  const status = getReviewStatusSync(issueId);
1065
1034
  if (!status) return null;
1066
- if (status.reviewStatus === "pending" && status.testStatus === "pending" && (status.mergeStatus === void 0 || status.mergeStatus === "pending") && (status.verificationStatus === void 0 || status.verificationStatus === "pending") && !status.readyForMerge && status.autoRequeueCount === 0 && status.verificationCycleCount === 0 && status.reviewRetryCount === 0 && status.testRetryCount === 0 && status.mergeRetryCount === 0 && status.recoveryStartedAt === void 0 && status.reviewedAtCommit === void 0 && status.lastVerifiedCommit === void 0) return null;
1035
+ if (status.reviewStatus === "pending" && status.testStatus === "pending" && (status.mergeStatus === void 0 || status.mergeStatus === "pending") && (status.verificationStatus === void 0 || status.verificationStatus === "pending") && !status.readyForMerge && status.autoRequeueCount === 0 && status.verificationCycleCount === 0 && status.reviewRetryCount === 0 && status.testRetryCount === 0 && status.mergeRetryCount === 0 && status.recoveryStartedAt === void 0 && status.reviewedAtCommit === void 0 && status.lastVerifiedCommit === void 0 && !options.force) return null;
1067
1036
  return setReviewStatusSync(issueId, {
1068
1037
  reviewStatus: "pending",
1069
1038
  testStatus: "pending",
@@ -1085,7 +1054,12 @@ function resetPipelineVerdictsForWorkStartSync(issueId) {
1085
1054
  mergeRetryCount: 0,
1086
1055
  recoveryStartedAt: void 0,
1087
1056
  reviewedAtCommit: void 0,
1088
- lastVerifiedCommit: void 0
1057
+ lastVerifiedCommit: void 0,
1058
+ reviewRequestedAt: void 0,
1059
+ reviewSpawnedAt: void 0,
1060
+ conflictResolutionDispatchedAt: void 0,
1061
+ blockerReasons: void 0,
1062
+ reviewerVerdicts: void 0
1089
1063
  });
1090
1064
  }
1091
1065
  /**
@@ -1097,7 +1071,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId) {
1097
1071
  */
1098
1072
  async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
1099
1073
  try {
1100
- const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-D2Q960wX.js");
1074
+ const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-BsFLjN_6.js");
1101
1075
  if ((await Effect.runPromise(deliverReviewVerdictFeedback({
1102
1076
  issueId,
1103
1077
  verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
@@ -1130,7 +1104,7 @@ function maybeAutoDispatchReviewHostSide(issueId, status) {
1130
1104
  }
1131
1105
  async function dispatchReviewHostSide(issueId, prUrl) {
1132
1106
  try {
1133
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1107
+ const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
1134
1108
  const resolved = resolveProjectFromIssueSync(issueId);
1135
1109
  if (!resolved) return;
1136
1110
  const { existsSync } = await import("fs");
@@ -1146,7 +1120,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
1146
1120
  });
1147
1121
  branch = stdout.trim() || branch;
1148
1122
  } catch {}
1149
- const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
1123
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CpSHLzed.js");
1150
1124
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1151
1125
  issueId,
1152
1126
  workspace,
@@ -1170,7 +1144,7 @@ function maybeRecoverTestVerdictHostSide(issueId, status) {
1170
1144
  }
1171
1145
  async function recoverTestVerdictHostSide(issueId) {
1172
1146
  try {
1173
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1147
+ const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
1174
1148
  const resolved = resolveProjectFromIssueSync(issueId);
1175
1149
  if (!resolved) return;
1176
1150
  const { existsSync } = await import("fs");
@@ -1190,13 +1164,13 @@ async function recoverTestVerdictHostSide(issueId) {
1190
1164
  }
1191
1165
  async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1192
1166
  try {
1193
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1167
+ const { resolveProjectFromIssueSync } = await import("./projects-Dc9aoVoG.js");
1194
1168
  const resolved = resolveProjectFromIssueSync(issueId);
1195
1169
  const workspace = resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : void 0;
1196
1170
  const notes = status.testNotes;
1197
1171
  let feedbackPath;
1198
1172
  try {
1199
- const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
1173
+ const { writeFeedbackFile } = await import("./feedback-writer-CULeOOY4.js");
1200
1174
  const r = await Effect.runPromise(writeFeedbackFile({
1201
1175
  issueId,
1202
1176
  workspacePath: workspace,
@@ -1208,11 +1182,11 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1208
1182
  if (r.success) feedbackPath = r.filePath;
1209
1183
  } catch {}
1210
1184
  const message = `SPECIALIST FEEDBACK: test-agent reported FAILED for ${issueId}.\n\n${feedbackPath ? `MUST READ: ${feedbackPath}\n\n` : ""}${notes ? `${notes.slice(0, 400)}\n\n` : ""}Fix the failing tests, commit and push, then re-run pan done ${issueId}. Do NOT stop at the prompt.`;
1211
- const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-DDG1PWl3.js");
1185
+ const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-BblmMe9P.js");
1212
1186
  const target = await resolveIssueFeedbackTarget(issueId);
1213
1187
  if ("agentId" in target) {
1214
- const { messageAgent } = await import("./agents-CEcaxSkR.js");
1215
- await messageAgent(target.agentId, message);
1188
+ const { messageAgent } = await import("./agents-BA15AQqo.js");
1189
+ await messageAgent(target.agentId, message, "internal", { owesRework: true });
1216
1190
  console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
1217
1191
  } else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
1218
1192
  specialist: "test-agent",
@@ -1442,6 +1416,6 @@ var init_review_status = __esmMin((() => {
1442
1416
  });
1443
1417
  }));
1444
1418
  //#endregion
1445
- export { listOverdeckAgentStatesSync as A, init_record_lock as C, AGENT_COLUMNS_FOR_DB as D, readReviewStatusMap as E, stateToOverdeckParamsForDb as M, getOverdeckAgentStateSync as O, needsReviewDispatch as S, init_review_status_source as T, setDeaconIgnored as _, fixStuckReadyForMerge as a, verificationSatisfied as b, init_review_status as c, loadReviewStatusesForIssues as d, markWorkspaceStuck as f, setAutoMerge as g, reviewGatesPassedSync as h, fixStuckCommentedReviews as i, saveOverdeckAgentStateSync as j, init_agent_state_sync as k, loadReadyForMergeFlags as l, resetPipelineVerdictsForWorkStartSync as m, clearReviewStatus as n, getReviewStatus as o, mergeGateEligibility as p, clearStuckMergeStatuses as r, getReviewStatusSync as s, ReviewStatusError as t, loadReviewStatuses as u, setReviewStatus as v, withIssueRecordLock as w, init_review_dispatch_decision as x, setReviewStatusSync as y };
1419
+ export { stateToOverdeckParamsForDb as A, init_review_status_source as C, init_agent_state_sync as D, getOverdeckAgentStateSync as E, listOverdeckAgentStatesSync as O, needsReviewDispatch as S, AGENT_COLUMNS_FOR_DB as T, setDeaconIgnored as _, fixStuckReadyForMerge as a, verificationSatisfied as b, init_review_status as c, loadReviewStatusesForIssues as d, markWorkspaceStuck as f, setAutoMerge as g, reviewGatesPassedSync as h, fixStuckCommentedReviews as i, saveOverdeckAgentStateSync as k, loadReadyForMergeFlags as l, resetPipelineVerdictsForWorkStartSync as m, clearReviewStatus as n, getReviewStatus as o, mergeGateEligibility as p, clearStuckMergeStatuses as r, getReviewStatusSync as s, ReviewStatusError as t, loadReviewStatuses as u, setReviewStatus as v, readReviewStatusMap as w, init_review_dispatch_decision as x, setReviewStatusSync as y };
1446
1420
 
1447
- //# sourceMappingURL=review-status-Dc1l4dVz.js.map
1421
+ //# sourceMappingURL=review-status-DANr0t-v.js.map
@@ -1,5 +1,5 @@
1
- import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
2
- import { O as listSessionNames, x as init_tmux } from "./tmux-C3g9VFcg.js";
1
+ import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { S as init_tmux, k as listSessionNames } from "./tmux-U55cNGFG.js";
3
3
  import { Data, Effect } from "effect";
4
4
  import { existsSync } from "fs";
5
5
  import { join } from "path";
@@ -124,4 +124,4 @@ const enrichReviewStatus = (issueId, status) => Effect.tryPromise({
124
124
  //#endregion
125
125
  export { enrichReviewStatusFromSessions as n, enrichReviewStatus as t };
126
126
 
127
- //# sourceMappingURL=review-status-enrichment-C1a1OG_1.js.map
127
+ //# sourceMappingURL=review-status-enrichment-DwOg4UfL.js.map
@@ -1,3 +1,3 @@
1
- import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-CAr-hfnJ.js";
1
+ import { c as init_review_status_sync, t as clearWorkspaceStuck } from "./review-status-sync-BjTUJ5fx.js";
2
2
  init_review_status_sync();
3
3
  export { clearWorkspaceStuck };
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-_Kx1m9pm.js";
3
3
  import { Effect } from "effect";
4
4
  //#region ../../lib/review-status-normalize.ts
5
5
  function normalizeReviewStatusSync(status) {
@@ -275,4 +275,4 @@ var init_review_status_sync = __esmMin((() => {
275
275
  //#endregion
276
276
  export { getMergeBlockerReconcileCandidatesSync as a, init_review_status_sync as c, init_review_status_normalize as d, normalizeReviewStatusSync as f, getMergeBlockerReconcileCandidates as i, markWorkspaceStuck as l, deleteReviewStatus as n, getReviewStatusFromDbSync as o, getAllReviewStatusesFromDb as r, getReviewStatusesFromDb as s, clearWorkspaceStuck as t, upsertReviewStatusSync as u };
277
277
 
278
- //# sourceMappingURL=review-status-sync-CAr-hfnJ.js.map
278
+ //# sourceMappingURL=review-status-sync-BjTUJ5fx.js.map
@@ -1,3 +1,3 @@
1
- import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CVDbIDBe.js";
1
+ import { n as init_review_verdict_feedback, t as deliverReviewVerdictFeedback } from "./review-verdict-feedback-CBf-J_wS.js";
2
2
  init_review_verdict_feedback();
3
3
  export { deliverReviewVerdictFeedback };
@@ -1,10 +1,10 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-cNOZcEww.js";
3
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-Dc1l4dVz.js";
4
- import { j as messageAgent, t as init_agents } from "./agents-B9GwfCyp.js";
5
- import { a as PAN_DIRNAME, p as init_types } from "./types-BLS_Zbmd.js";
6
- import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-D20HSXre.js";
7
- import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-CwyWf0Dg.js";
2
+ import { Fn as init_projects, qn as resolveProjectFromIssueSync } from "./config-yaml-CqaAyn8y.js";
3
+ import { c as init_review_status, s as getReviewStatusSync } from "./review-status-DANr0t-v.js";
4
+ import { L as messageAgent, s as init_agents } from "./queries-C0LCGG21.js";
5
+ import { a as PAN_DIRNAME, p as init_types } from "./types-DOjWNv3Z.js";
6
+ import { a as writeFeedbackFile, i as init_feedback_writer } from "./feedback-writer-Dn8o9ZyE.js";
7
+ import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-BXWdOiYI.js";
8
8
  import { join } from "node:path";
9
9
  import { Effect } from "effect";
10
10
  import { existsSync } from "node:fs";
@@ -96,7 +96,7 @@ async function deliverReviewVerdictFeedbackPromise(opts) {
96
96
  try {
97
97
  const target = await resolveIssueFeedbackTarget(issueId, { itemId: opts.slotItemId });
98
98
  if ("agentId" in target) try {
99
- await messageAgent(target.agentId, message);
99
+ await messageAgent(target.agentId, message, "internal", { owesRework: true });
100
100
  agentMessageSent = true;
101
101
  } catch (err) {
102
102
  const reason = err instanceof Error ? err.message : String(err);
@@ -144,4 +144,4 @@ var init_review_verdict_feedback = __esmMin((() => {
144
144
  //#endregion
145
145
  export { init_review_verdict_feedback as n, postPrComment as r, deliverReviewVerdictFeedback as t };
146
146
 
147
- //# sourceMappingURL=review-verdict-feedback-CVDbIDBe.js.map
147
+ //# sourceMappingURL=review-verdict-feedback-CBf-J_wS.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { S as MemoryStatus, t as init_src } from "./src-B4TTzNSr.js";
3
- import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-Blj6A9AJ.js";
4
- import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-DfT3f86D.js";
5
- import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-BbEyFhPX.js";
2
+ import { S as MemoryStatus, t as init_src } from "./src-By3D85Ry.js";
3
+ import { a as resolveArchiveDir, f as resolveStatusFile, i as init_paths, l as resolveObservationsFile, n as ensureDir, r as ensureParentDir, u as resolvePendingDir } from "./paths-Btkc8mzp.js";
4
+ import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-gJrdLZy2.js";
5
+ import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-C-yWibCk.js";
6
6
  import { Result, Schema } from "effect";
7
7
  import { dirname } from "path";
8
8
  import { randomUUID } from "crypto";
@@ -98,8 +98,8 @@ async function enqueueStatusRollupEvent(job) {
98
98
  await configuredStatusRollupProcessor(job);
99
99
  return;
100
100
  }
101
- const { initEventStore } = await import("./event-store-CqDgfbAs.js");
102
- const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-CakjztPl.js");
101
+ const { initEventStore } = await import("./event-store-D9UhQyMS.js");
102
+ const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-DTCCdEy4.js");
103
103
  await (await initEventStore()).appendAsync({
104
104
  type: "memory.rollup_triggered",
105
105
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -295,7 +295,7 @@ async function clearPendingTurns(projectId, issueId, pendingTurns) {
295
295
  return cleared;
296
296
  }
297
297
  async function emitStatusUpdatedEvent(event) {
298
- const { initEventStore } = await import("./event-store-CqDgfbAs.js");
298
+ const { initEventStore } = await import("./event-store-D9UhQyMS.js");
299
299
  await (await initEventStore()).appendAsync({
300
300
  type: "memory.status_updated",
301
301
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
@@ -446,4 +446,4 @@ var init_rollup = __esmMin((() => {
446
446
  //#endregion
447
447
  export { readCurrentStatus as a, init_pending as c, readArchivedStatuses as i, maybeTriggerStatusRollup as l, commitStatusRollup as n, readRecentObservations as o, init_rollup as r, synthesizeStatusRollup as s, buildStatusRollupPrompt as t, writePendingTurn as u };
448
448
 
449
- //# sourceMappingURL=rollup-DctoIu-A.js.map
449
+ //# sourceMappingURL=rollup-Bu0f2EyN.js.map
@@ -1,3 +1,3 @@
1
- import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-DctoIu-A.js";
1
+ import { n as commitStatusRollup, r as init_rollup, s as synthesizeStatusRollup } from "./rollup-Bu0f2EyN.js";
2
2
  init_rollup();
3
3
  export { commitStatusRollup, synthesizeStatusRollup };
@@ -1,9 +1,9 @@
1
- import { Br as encodeClaudeProjectDir, Fn as init_projects, Jr as init_paths, L as getProviderEnvSync, Qr as sessionFilePath, R as getProviderForModelSync, a as getConversationsConfigSync, at as resolveModelIdSync, dr as FsError, et as getModelCapabilitySync, f as loadConfigSync, rt as init_model_capabilities, t as init_config_yaml, ur as ConfigError, xr as init_errors, z as init_providers, zn as listProjectsSync } from "./config-yaml-cNOZcEww.js";
2
- import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-Ba9mS6e6.js";
3
- import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-D9kPIY_5.js";
4
- import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-B-lcHv-5.js";
5
- import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-u5XeMaOK.js";
6
- import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-BcpRQ-7o.js";
1
+ import { $r as sessionFilePath, Fn as init_projects, L as getProviderEnvSync, R as getProviderForModelSync, Sr as init_errors, Vr as encodeClaudeProjectDir, Yr as init_paths, a as getConversationsConfigSync, at as resolveModelIdSync, dr as ConfigError, et as getModelCapabilitySync, f as loadConfigSync, fr as FsError, rt as init_model_capabilities, t as init_config_yaml, z as init_providers, zn as listProjectsSync } from "./config-yaml-CqaAyn8y.js";
2
+ import { d as getOverdeckDatabaseSync, f as init_infra } from "./infra-_Kx1m9pm.js";
3
+ import { o as getPricingSync, s as init_cost, t as calculateCostSync } from "./cost-BoqD1Pxz.js";
4
+ import { Ct as searchFtsSessions, Et as upsertDiscoveredSession, St as markEnrichmentFailed, Tt as updateEnrichment, bt as insertEmbedding, ct as countDiscoveredSessions, dt as findDiscoveredSessionIds, ft as findDiscoveredSessions, ht as getDiscoveredSessionByJsonlPath, lt as countFtsSessions, mt as getDiscoveredSessionById, pt as findEnrichedSessionIdsMissingEmbedding, st as buildFilterSql, ut as ensureDiscoveredSessionsSchema, vt as getEmbedding, wt as topKCosine, xt as loadEmbeddings, yt as init_discovered_sessions } from "./conversations-BX5aD-6F.js";
5
+ import { n as isBackgroundFeatureEnabled, t as init_features } from "./features-DqvaoQoa.js";
6
+ import { n as recordBackgroundAiCost, t as init_cost$1 } from "./cost-DuZ5vlv-.js";
7
7
  import { Data, Duration, Effect, FileSystem } from "effect";
8
8
  import { createReadStream, promises } from "fs";
9
9
  import { basename, join, relative, resolve } from "path";
@@ -2997,4 +2997,4 @@ function normalizeDir(dir) {
2997
2997
  //#endregion
2998
2998
  export { enrichSessions as a, searchSessions as c, CostThresholdError as i, embed as l, getSessionsFeedFacets as n, embedSessions as o, listSessionsFeed as r, parseRelativeTime as s, scan as t };
2999
2999
 
3000
- //# sourceMappingURL=scanner-BTM1jc_u.js.map
3000
+ //# sourceMappingURL=scanner-BlZ2vB7j.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { an as queueAutoCommit, in as init_auto_commit } from "./config-yaml-cNOZcEww.js";
3
- import { c as init_review_status, s as getReviewStatusSync } from "./review-status-Dc1l4dVz.js";
4
- import { T as init_specs, w as getProjectPanPaths } from "./io-VEGSAqsd.js";
2
+ import { nn as init_auto_commit, rn as queueAutoCommit } from "./config-yaml-CqaAyn8y.js";
3
+ import { c as init_review_status, s as getReviewStatusSync } from "./review-status-DANr0t-v.js";
4
+ import { C as init_specs, S as getProjectPanPaths } from "./io-DkC4sFSy.js";
5
5
  import { dirname, join } from "node:path";
6
6
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
7
  //#region ../../lib/backlog/types.ts
@@ -275,4 +275,4 @@ var init_sequence_io = __esmMin((() => {
275
275
  //#endregion
276
276
  export { parseSequenceMd as n, writeSequenceMd as r, init_sequence_io as t };
277
277
 
278
- //# sourceMappingURL=sequence-io-pnoIDGv4.js.map
278
+ //# sourceMappingURL=sequence-io-ylyDtz2J.js.map