@overdeck/desktop 0.45.16 → 0.45.19

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-DQqRIuQ-.js +62 -0
  7. package/server/{advancing-selfheal-DJYAvGv-.js → advancing-selfheal-BYidNkmp.js} +6 -6
  8. package/server/{agent-gc-D0wDIeV1.js → agent-gc-ClNQLl_V.js} +3 -3
  9. package/server/agent-state-BMrpX7kU.js +3 -0
  10. package/server/{agent-state-service-DFslS5go.js → agent-state-service-BpAKmodj.js} +5 -5
  11. package/server/{agent-state-service-CZrayD_G.js → agent-state-service-CC9NMIWn.js} +1 -1
  12. package/server/{briefing-freshness-DESTCWo-.js → agents--ljN-wVY.js} +5 -131
  13. package/server/agents-DAUyr_Z1.js +3 -0
  14. package/server/{archive-planning-CoyIbgGK.js → archive-planning-2w8WQaeJ.js} +1 -1
  15. package/server/{archive-planning-CbghE9-o.js → archive-planning-BW3te5Vw.js} +5 -10
  16. package/server/{artifact-index-jobs-CcSrUoSE.js → artifact-index-jobs-DFO3eceF.js} +2 -2
  17. package/server/{backlog-auto-trigger-BfgDsII0.js → backlog-auto-trigger-DECBMxLq.js} +2 -2
  18. package/server/{behavior-BTpYbAv4.js → behavior-CWqNMqE5.js} +2 -2
  19. package/server/briefing-freshness-B1delh4l.js +131 -0
  20. package/server/{checkpoint-manager-DWSXooZV.js → checkpoint-manager-CjLY6A4r.js} +1 -1
  21. package/server/{checkpoint-manager-BwFdegJF.js → checkpoint-manager-D6_71Rpb.js} +3 -3
  22. package/server/checkpoint-worker.js +1 -1
  23. package/server/{checkpoints-BtUonbs3.js → checkpoints-BYrLxVle.js} +2 -2
  24. package/server/{checkpoints-fjadfOKF.js → checkpoints-xSuv4v4I.js} +1 -1
  25. package/server/{claude-hooks-provision-DiK62u0k.js → claude-hooks-provision-DL6yfJB_.js} +1 -1
  26. package/server/{claude-hooks-provision-DAtxutOs.js → claude-hooks-provision-DvfVZbbT.js} +2 -2
  27. package/server/{claude-permissions-CThLgf8d.js → claude-permissions-CcncrTNF.js} +2 -2
  28. package/server/{claude-settings-overlay-BF9MPIwx.js → claude-settings-overlay-1IfYetv2.js} +2 -2
  29. package/server/{claude-settings-overlay-Dx_Uqcmv.js → claude-settings-overlay-Ca3LXjAC.js} +1 -1
  30. package/server/cli-BxZHwgRK.js +3 -0
  31. package/server/{cli-ByKIIMfT.js → cli-DGZWYXio.js} +9 -9
  32. package/server/{cliproxy-B4c1BUvs.js → cliproxy-Dw42Xy3t.js} +2 -2
  33. package/server/{cliproxy-C_GuT5DU.js → cliproxy-DziJLbfo.js} +1 -1
  34. package/server/{close-issue-BOuLKr6e.js → close-issue-DEGjxifn.js} +5 -5
  35. package/server/{closed-issue-reaper-DCAYzNXW.js → closed-issue-reaper-BsJ3JqQy.js} +9 -9
  36. package/server/{closed-issue-reaper-CksfuiFD.js → closed-issue-reaper-CNr7X4MB.js} +1 -1
  37. package/server/codex-C8OlW-dN.js +3 -0
  38. package/server/{codex-BbqIRZjd.js → codex-D5RyWzNL.js} +43 -18
  39. package/server/{codex-parser-mFYZh8vR.js → codex-parser-BRxvUkk8.js} +2 -2
  40. package/server/{config-Dj6N8EP9.js → config-CQ2u44iP.js} +1 -1
  41. package/server/{config-DVLdmnMJ.js → config-Cntj_tFu.js} +2 -2
  42. package/server/{config-yaml-cNOZcEww.js → config-yaml-BQs6GbD_.js} +75 -74
  43. package/server/{conflict-gate-CuXUv-bP.js → conflict-gate-BE6JdfkO.js} +1 -1
  44. package/server/{conflict-gate-BMKm_5DV.js → conflict-gate-DdfwKgy0.js} +3 -3
  45. package/server/{context-layers-c0JqYHcS.js → context-layers-DFucrVVG.js} +17 -3
  46. package/server/{context-layers-CeAwSYNt.js → context-layers-DO0Eyq2E.js} +2 -2
  47. package/server/{control-settings-D4EFsRBd.js → control-settings-bxOCLsuE.js} +4 -4
  48. package/server/{conversation-compaction-BCggyih4.js → conversation-compaction-Dq6MfZdL.js} +8 -8
  49. package/server/{conversation-compaction-kHVfVRg3.js → conversation-compaction-lSlUb-cU.js} +1 -1
  50. package/server/{conversation-service-BTzObqGi.js → conversation-service-BVt4MQ1_.js} +1 -1
  51. package/server/{conversation-service-B8LFQQm1.js → conversation-service-TZsQjkjT.js} +6 -6
  52. package/server/{conversations-B-lcHv-5.js → conversations-CxOWHNzv.js} +4 -4
  53. package/server/{conversations-BM7zlXjr.js → conversations-DaF6elGK.js} +1 -1
  54. package/server/{cost-BcpRQ-7o.js → cost-Dlh0IEiv.js} +3 -3
  55. package/server/{cost-D9kPIY_5.js → cost-oinpUqvE.js} +2 -2
  56. package/server/{cost-sync-DF6odxK9.js → cost-sync-CVIAsrhB.js} +3 -3
  57. package/server/{dag-DKI3sOmX.js → dag-ClFr7Bah.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-B8ygB3e8.js} +3 -3
  61. package/server/{deacon-DdARMjZq.js → deacon-D2-xTesT.js} +233 -162
  62. package/server/{deacon-nudge-log-B-naf89q.js → deacon-nudge-log-ilDfxrhK.js} +1 -1
  63. package/server/deacon-swarm-1vPLuj_l.js +2 -0
  64. package/server/{deacon-swarm-BNGkmYR_.js → deacon-swarm-yWKQhxiX.js} +298 -72
  65. package/server/deacon.js +14 -7
  66. package/server/{devcontainer-renderer-C-34Sxyz.js → devcontainer-renderer-xPhZHCrx.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-DPEglAwA.js} +2 -2
  71. package/server/{ensure-devcontainer-Bqi1EF1P.js → ensure-devcontainer-SzSvEdKq.js} +4 -4
  72. package/server/{ensure-devcontainer-Dq3KoOIl.js → ensure-devcontainer-wU3ym1b5.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-BZoXexYS.js} +1 -1
  75. package/server/{event-store-D89fMfXS.js → event-store-D4s6eQ6o.js} +3 -3
  76. package/server/{events-rIGncmP1.js → events-Bn-wdUBF.js} +1 -1
  77. package/server/{events-S_C0pvl6.js → events-D1hMLl2a.js} +3 -3
  78. package/server/{factory-DV18m0rc.js → factory-ltWnu0V_.js} +20 -17
  79. package/server/{feature-registry-population-CqZSnqQi.js → feature-registry-population-xj-J1Wm7.js} +4 -4
  80. package/server/{feature-registry-storage-BeXmNBwK.js → feature-registry-storage-CQZukiLm.js} +2 -2
  81. package/server/{features-u5XeMaOK.js → features-Dyqi6N8f.js} +2 -2
  82. package/server/{feedback-target-DDG1PWl3.js → feedback-target-Ba0zhSYI.js} +1 -1
  83. package/server/{feedback-target-CwyWf0Dg.js → feedback-target-Chd5dm-Q.js} +9 -7
  84. package/server/{feedback-writer-BsJiw5aT.js → feedback-writer-BtaoJGl2.js} +1 -1
  85. package/server/{feedback-writer-D20HSXre.js → feedback-writer-BujzReaQ.js} +4 -4
  86. package/server/{flywheel-Dczmgchd.js → flywheel-FTInS73X.js} +15 -28
  87. package/server/{flywheel-RCnHAgc4.js → flywheel-bTImiVrk.js} +1 -1
  88. package/server/{flywheel-merge-order-CtCYsFJP.js → flywheel-merge-order-DuenRJLZ.js} +6 -6
  89. package/server/{flywheel-merge-order-DEtEd3aK.js → flywheel-merge-order-O5Zu8iPw.js} +1 -1
  90. package/server/{flywheel-9Y1X7IM-.js → flywheel-rmYbW-lh.js} +13 -13
  91. package/server/{forge-DFDThFil.js → forge-OWm99lie.js} +22 -12
  92. package/server/forge-x5lszTd0.js +2 -0
  93. package/server/{from-NSJypkI8.js → from-B2tOYhYV.js} +1 -1
  94. package/server/{fts-db-C5A_TTOM.js → fts-db-BRfS5ukG.js} +2 -2
  95. package/server/{fts-operations-DvCSimfU.js → fts-operations-L5sNLoHl.js} +2 -2
  96. package/server/{git-utils-C0neHvQx.js → git-utils-BIEzv2Zp.js} +1 -1
  97. package/server/{git-utils-Dr0L7mFk.js → git-utils-CP-bg-aM.js} +2 -2
  98. package/server/{github-app-u9-SX7Gc.js → github-app-CRUIvHuM.js} +8 -3
  99. package/server/{github-app-Bwt9lK4A.js → github-app-Dtn4ib6M.js} +1 -1
  100. package/server/{github-client-Btyy3uan.js → github-client-CWEFlCqL.js} +3 -3
  101. package/server/{github-client-Do3k-N1W.js → github-client-DSVv6wX8.js} +1 -1
  102. package/server/{github-pr-lookup-DOF1U2WW.js → github-pr-lookup-D6CS9vtG.js} +2 -2
  103. package/server/{harness-resolve-C6g2R0Cd.js → harness-resolve-ScD6rV47.js} +3 -3
  104. package/server/{health-events-Bos3sk5g.js → health-events-DbcJmYmd.js} +1 -1
  105. package/server/{health-events-B4u-2a9m.js → health-events-Dm1Vcvqe.js} +2 -2
  106. package/server/{hooks-uEr8WTx_.js → hooks-B6gaI6Kg.js} +1 -1
  107. package/server/{hooks-BCoOjL_R.js → hooks-VXuCnzCv.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-H0W6XtHh.js → idle-stack-reaper-Gv32ZCrQ.js} +1 -1
  111. package/server/{idle-stack-reaper-DbZ8ukMd.js → idle-stack-reaper-po700Lfg.js} +2 -2
  112. package/server/{infra-Ba9mS6e6.js → infra-DYwIXlK5.js} +9 -4
  113. package/server/{injection-C1DKXeIZ.js → injection-CTfFnpsG.js} +1 -1
  114. package/server/{injection-yrMBxzVq.js → injection-DPsUoCJp.js} +7 -7
  115. package/server/inspect-agent-B25IP-0O.js +2 -0
  116. package/server/{inspect-agent-B-mnb4uh.js → inspect-agent-CLkwfLRx.js} +35 -67
  117. package/server/{internal-token-BtqSbKTx.js → internal-token--50JhWP7.js} +2 -2
  118. package/server/{internal-token-BPYEaXFh.js → internal-token-BOgxXMGy.js} +1 -1
  119. package/server/{io-VEGSAqsd.js → io-Cv9xQTks.js} +36 -43
  120. package/server/{issue-closed-BxcePXL-.js → issue-closed-CyqtoFUj.js} +41 -6
  121. package/server/{issue-lifecycle-CdMUauyb.js → issue-lifecycle-Cm7ydBGK.js} +1 -1
  122. package/server/{issue-lifecycle--8MRxrG1.js → issue-lifecycle-DR6n40bh.js} +22 -37
  123. package/server/{issue-service-singleton-MZsDhAob.js → issue-service-singleton--LQ5c2zT.js} +1 -1
  124. package/server/{issue-service-singleton-CkTUI-eu.js → issue-service-singleton-DKKPneH4.js} +29 -29
  125. package/server/{issues-CBAsuoAO.js → issues-Cr-BLFLO.js} +2 -2
  126. package/server/{jsonl-parser-BUW5_sSK.js → jsonl-parser-Bp_xCkX4.js} +3 -3
  127. package/server/{label-cleanup-htK6fBRU.js → label-cleanup-BbLy2FZe.js} +3 -3
  128. package/server/{state-home-CEvD_v5F.js → launcher-generator-C-FU4PNT.js} +7 -127
  129. package/server/{layers-jjL16At6.js → layers-C-6lBDUE.js} +2 -2
  130. package/server/lifecycle-Bmw8yU_A.js +12 -0
  131. package/server/{lifecycle-io-DXv8Utct.js → lifecycle-io-B150XprC.js} +1 -1
  132. package/server/{lifecycle-io-IehcRt2v.js → lifecycle-io-Dcu-_ktz.js} +4 -4
  133. package/server/{linear-client-D9cSQfvD.js → linear-client-BHjs0luk.js} +3 -3
  134. package/server/{linear-client-By7hjwuN.js → linear-client-s65LNmlG.js} +1 -1
  135. package/server/memory-fts-worker.js +1 -1
  136. package/server/{merge-BLcEZNXz.js → merge-CM8swd2V.js} +1 -1
  137. package/server/{merge-BN8FGJ2q.js → merge-CS0b-E3u.js} +3 -3
  138. package/server/{merge-agent-B3u2szOL.js → merge-agent-Bu1hw9cz.js} +64 -51
  139. package/server/{merge-agent-ejC7Wos8.js → merge-agent-D6LRIW63.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-Dt43hJiW.js} +2 -2
  142. package/server/merge-ops-DwYi3U_x.js +2 -0
  143. package/server/{merge-rebase-Dl7yIxtV.js → merge-rebase-B3vQcTq1.js} +2 -2
  144. package/server/{merge-set-Dy0D0r3i.js → merge-set-BMEGEKQg.js} +1 -1
  145. package/server/{merge-set-CZ9Nbay0.js → merge-set-Pe3spe8k.js} +3 -3
  146. package/server/{merge-sync-CG9kDCdT.js → merge-sync-CpxFRIQ7.js} +1 -1
  147. package/server/{merge-sync-D7jWLgCC.js → merge-sync-STpg1hk3.js} +2 -2
  148. package/server/{merge-train-CH33XJOH.js → merge-train-DLw2hDk0.js} +3 -3
  149. package/server/{merge-train-deps-JoVdGnOg.js → merge-train-deps-BlCGLqwy.js} +4 -4
  150. package/server/{merge-verification-D4wTChdX.js → merge-verification-C4WMP40D.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-BIcNu4tl.js → orphan-proposed-reconciler-eetUXmmt.js} +1 -1
  165. package/server/{orphan-proposed-reconciler-DI_IS1p_.js → orphan-proposed-reconciler-k9eydM1E.js} +14 -24
  166. package/server/package-lock.json +12 -12
  167. package/server/package.json +1 -1
  168. package/server/{pan-dir-CQIfKG8c.js → pan-dir-D3vABXMs.js} +4 -4
  169. package/server/{paths-Blj6A9AJ.js → paths-DIoslfsu.js} +2 -2
  170. package/server/{pipeline-notifier-BH4PAi-w.js → pipeline-notifier-Bgidcelx.js} +1 -1
  171. package/server/{pipeline-notifier-D_WYtEwl.js → pipeline-notifier-CuBONomU.js} +2 -2
  172. package/server/{project-pipelines-jMTitpeO.js → project-pipelines-B9b_JVTS.js} +2 -2
  173. package/server/projects-DxMUi2eI.js +3 -0
  174. package/server/{prompts-B3njaImU.js → prompts-CY1xnHS-.js} +2 -2
  175. package/server/{providers-DnPxkHoG.js → providers-B7BNcK_j.js} +1 -1
  176. package/server/{providers-BbEyFhPX.js → providers-CAlK2If5.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-Cs4VLxiY.js} +1 -1
  194. package/server/{pull-requests-DyUkQl4W.js → pull-requests-CxfrQiWX.js} +3 -3
  195. package/server/{agents-B9GwfCyp.js → queries-srgusoi8.js} +710 -325
  196. package/server/{rally-BtWjybOa.js → rally-AKkjuGdi.js} +3 -3
  197. package/server/rally-BOza5j3_.js +3 -0
  198. package/server/{rally-api-B-osULNL.js → rally-api-BGxATnyr.js} +2 -2
  199. package/server/{rally-api-B-YA_oXx.js → rally-api-Dbqw1YW9.js} +1 -1
  200. package/server/{rally-client-CzFymP7P.js → rally-client-B1U5ewpO.js} +1 -1
  201. package/server/{rally-client-sErNQBO0.js → rally-client-D8h73ei_.js} +5 -5
  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-CoU-HqZj.js → rebuild-stack-BYdtwS6f.js} +5 -5
  205. package/server/{rebuild-stack-nGD_nPZo.js → rebuild-stack-Dsm9WjKv.js} +1 -1
  206. package/server/{reconstruct-cache-Wj8GrYB0.js → reconstruct-cache-D7oM1lNv.js} +6 -6
  207. package/server/record-BeXdn9Ue.js +3 -0
  208. package/server/record-update-Cb_pPM-F.js +168 -0
  209. package/server/record-update-KFiISAmu.js +3 -0
  210. package/server/recovery-trip-DwbsONZf.js +44 -0
  211. package/server/{release-engine-CBLQXDlH.js → release-engine-CAai5W0V.js} +5 -5
  212. package/server/{release-set-BNiqi7hy.js → release-set-vNEAfyDH.js} +3 -3
  213. package/server/{remote-DW_TWQnr.js → remote-8HlOfuF1.js} +3 -3
  214. package/server/{remote-DcO9An_f.js → remote-RQMKOL_R.js} +3 -3
  215. package/server/{remote-agents-C4cyxHQS.js → remote-agents-C4a4DdTj.js} +6 -33
  216. package/server/{remote-agents-Cv-U-_V8.js → remote-agents-_Z1SAaSK.js} +1 -1
  217. package/server/{remote-completion-PhXGGFQy.js → remote-completion-CH3igKY8.js} +13 -13
  218. package/server/resume-Cr34JAXO.js +3 -0
  219. package/server/{review-agent-Dn-yn7Zj.js → review-agent-CQ7oRh_G.js} +31 -23
  220. package/server/{review-agent-u5q3ip7H.js → review-agent-CUVj54v0.js} +1 -1
  221. package/server/{review-artifacts-D4T04aYI.js → review-artifacts-CC3yGv7o.js} +5 -19
  222. package/server/{review-context-Rc0VDLG_.js → review-context-BuxaAgAd.js} +8 -8
  223. package/server/{review-monitor-BC--miCO.js → review-monitor-uogOppaW.js} +2 -2
  224. package/server/{review-status-CG0iDuWa.js → review-status-BoJdyvUQ.js} +1 -1
  225. package/server/{review-status-Dc1l4dVz.js → review-status-By86XA6Z.js} +38 -62
  226. package/server/{review-status-enrichment-C1a1OG_1.js → review-status-enrichment-CRQAO27G.js} +3 -3
  227. package/server/{review-status-sync-CfSixhhX.js → review-status-sync-BI4WhUkF.js} +1 -1
  228. package/server/{review-status-sync-CAr-hfnJ.js → review-status-sync-DUQmrLkK.js} +2 -2
  229. package/server/{review-verdict-feedback-CVDbIDBe.js → review-verdict-feedback-BNcGkBRD.js} +8 -8
  230. package/server/{review-verdict-feedback-D2Q960wX.js → review-verdict-feedback-CWz9_9Kp.js} +1 -1
  231. package/server/{rollup-CakjztPl.js → rollup-B-K6PCbm.js} +1 -1
  232. package/server/{rollup-DctoIu-A.js → rollup-CqiFgtBp.js} +8 -8
  233. package/server/{scanner-BTM1jc_u.js → scanner-BZmDUjyD.js} +7 -7
  234. package/server/{sequence-io-pnoIDGv4.js → sequence-io-BuUx1ZAY.js} +4 -4
  235. package/server/{sequencer-agent-9Soi-WL-.js → sequencer-agent-2uWOA_BC.js} +6 -17
  236. package/server/server.js +4700 -4096
  237. package/server/{service-DfTVoqJg.js → service-COB19Uhm.js} +116 -90
  238. package/server/{session-fork-C4jAFHj8.js → session-fork-D18TscUZ.js} +2 -2
  239. package/server/{session-history-DanhhiCw.js → session-history-DbWnzfo-.js} +4 -4
  240. package/server/settings-C3w2std9.js +2 -0
  241. package/server/{settings-Cuc12oP_.js → settings-CFEdfovT.js} +2 -2
  242. package/server/{settings-DfT3f86D.js → settings-DNPAf2X_.js} +3 -3
  243. package/server/{shadow-engineering-bKuKTCn-.js → shadow-engineering-D8xTtraU.js} +3 -3
  244. package/server/{shadow-state-DJz6_pb_.js → shadow-state-CTgub0ME.js} +2 -2
  245. package/server/{shadow-state-CVHpRWlb.js → shadow-state-fRDYhcyx.js} +1 -1
  246. package/server/shadow-utils-DqMLnRgQ.js +39 -0
  247. package/server/{ship-log-CwqPFfqx.js → ship-log-BRQQi2lU.js} +1 -1
  248. package/server/{smart-compaction-B4KlpZGN.js → smart-compaction-CL6yaFpc.js} +1 -1
  249. package/server/{smart-compaction-CiWfGfRZ.js → smart-compaction-CsJDKM-N.js} +7 -7
  250. package/server/{spawn-planning-session-D5N3RuLG.js → spawn-planning-session-C_wIQ-Zg.js} +1 -1
  251. package/server/{spawn-planning-session-CU-DwyDl.js → spawn-planning-session-D0-NlNK1.js} +16 -16
  252. package/server/{specialist-completion-CJcv-NXH.js → specialist-completion-pJtESo7m.js} +1 -1
  253. package/server/{specialist-context-B2HlbNxS.js → specialist-context-DXj5Itg8.js} +5 -5
  254. package/server/{specialist-handoff-logger-CQyF1ygu.js → specialist-handoff-logger-BFH-IB0n.js} +2 -2
  255. package/server/{specialist-logs-CdcUpfjj.js → specialist-logs-B-rldhNg.js} +3 -3
  256. package/server/{specialists-CFgw_0Q6.js → specialists-C6-b3YZb.js} +161 -448
  257. package/server/{specialists-D7AcFi1u.js → specialists-CI_eqHAz.js} +1 -1
  258. package/server/{specialists-CwzFdapR.js → specialists-Dp8ABxVh.js} +18 -18
  259. package/server/{specialists-k22_Btaq.js → specialists-Hq3EojmD.js} +1 -1
  260. package/server/specs-DPGNVh51.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-Bxt-oGE6.js} +1 -1
  265. package/server/{stack-health-CSgcYcr8.js → stack-health-FtNYSTCS.js} +2 -2
  266. package/server/stale-task-claims-DnCHCATD.js +69 -0
  267. package/server/state-home-BzzKVh_C.js +213 -0
  268. package/server/{state-mapping-C13UaCL7.js → state-mapping-Ci0pkac4.js} +1 -1
  269. package/server/state-migrate-BS4IybIS.js +362 -0
  270. package/server/{stuck-remediation-nTIvhGOR.js → stuck-remediation-CTNT4LUC.js} +1 -1
  271. package/server/{stuck-remediation-CxsyxwFO.js → stuck-remediation-DbwhGg3g.js} +36 -41
  272. package/server/{summary-fork-CnRMPCYd.js → summary-fork-CloCB8dV.js} +2 -2
  273. package/server/{summary-fork-gKSoFAnK.js → summary-fork-DaCs0tCq.js} +8 -8
  274. package/server/supervisor/{paths-3R6b989k.js → paths-C1yU0jq4.js} +5 -3
  275. package/server/supervisor/pty-supervisor.js +2 -2
  276. package/server/supervisor/{pty-token-CScQ32Rj.js → pty-token-CSryb8Mb.js} +2 -2
  277. package/server/{supervisor-CZMs8s0M.js → supervisor-CRED6PD6.js} +2 -2
  278. package/server/supervisor-DHwuClN_.js +2 -0
  279. package/server/{swarm-readiness-h6-pwY8w.js → swarm-readiness-CEOrP9rE.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-Ckn7HGhp.js} +14 -71
  282. package/server/{test-agent-queue-CnuYku4B.js → test-agent-queue-C8lE8r2j.js} +5 -5
  283. package/server/{tldr-daemon-CgZQ3jmZ.js → tldr-daemon-BE5rqR90.js} +1 -1
  284. package/server/{tldr-daemon-CuA8hz21.js → tldr-daemon-CGwDr28O.js} +2 -2
  285. package/server/{tmux-C3g9VFcg.js → tmux-C3X2XmV0.js} +92 -4
  286. package/server/tmux-DNaD06Gc.js +3 -0
  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-5Cabf1MU.js} +2 -2
  291. package/server/{tracker-utils--z8FLSWn.js → tracker-utils-Cl-Eaqrv.js} +2 -2
  292. package/server/{tracker-utils-DkKyRT0H.js → tracker-utils-FexeJhyf.js} +1 -1
  293. package/server/{tunnel-CN2px87h.js → tunnel-D4px7sKc.js} +1 -1
  294. package/server/{tunnel-BpWZs0Jy.js → tunnel-KId6Z59z.js} +3 -3
  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-BRo6DM7p.js → uat-train-B16skN7L.js} +24 -25
  300. package/server/{uat-train-utGVmqdm.js → uat-train-BBMrnecu.js} +1 -1
  301. package/server/validation-Zc4kAmqa.js +3 -0
  302. package/server/{validation-CsPVsoA0.js → validation-xAD7y5vW.js} +70 -23
  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-32y8NRfL.js} +338 -58
  306. package/server/verification-runner-DAat1p1u.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-S3Fe1kpV.js} +12 -88
  309. package/server/{workflows-CXRwhw_o.js → workflows-BNvk5gbE.js} +17 -24
  310. package/server/workflows-Cw2-a_hn.js +2 -0
  311. package/server/{workspace-CNfuj1-5.js → workspace-BhUnCpcq.js} +3 -3
  312. package/server/{workspace-9UEsKuiP.js → workspace-C-gP6JAz.js} +1 -1
  313. package/server/{workspace-config-ChWOECy0.js → workspace-config-C77NKnsV.js} +1 -1
  314. package/server/{workspace-manager-D8AByFIT.js → workspace-manager-BKiMmb0c.js} +23 -48
  315. package/server/{workspace-manager-BO-6k3sP.js → workspace-manager-DD6PDqV8.js} +1 -1
  316. package/server/{workspace-metadata-CvC268MN.js → workspace-metadata-Cnq0snrf.js} +2 -2
  317. package/server/{workspace-metadata-DZiJtnuF.js → workspace-metadata-D5gNR61G.js} +1 -1
  318. package/server/{workspaces-D-uIoqbg.js → workspaces-DiAwBsb9.js} +182 -152
  319. package/sync-sources/hooks/codex-notify-hook +64 -8
  320. package/sync-sources/hooks/record-cost-event.js +1110 -37
  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-BQs6GbD_.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-C3X2XmV0.js";
5
+ import { c as init_review_status, s as getReviewStatusSync, y as setReviewStatusSync } from "./review-status-By86XA6Z.js";
6
+ import { l as removeAgentSync, o as init_agents, s as listAgentIdsByPrefixSync } from "./agents--ljN-wVY.js";
7
+ import { Fn as getAgentStateSync, s as init_agents$1 } from "./queries-srgusoi8.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-uogOppaW.js";
10
+ import { n as shouldSkipDispatchAsMerged, t as init_merge_verification } from "./merge-verification-C4WMP40D.js";
11
+ import { n as formatTier1Summary, o as init_review_context, t as buildReviewContext } from "./review-context-BuxaAgAd.js";
12
+ import { a as resolveConflictGate, i as init_conflict_gate, r as getCachedConflictGateMergeability, t as buildRealConflictGateDeps } from "./conflict-gate-DdfwKgy0.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-DAUyr_Z1.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-Bgidcelx.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-BoJdyvUQ.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-DAUyr_Z1.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-D18TscUZ.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-DAUyr_Z1.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-DAUyr_Z1.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-DAUyr_Z1.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-DAUyr_Z1.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-BtaoJGl2.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-Bgidcelx.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-DAUyr_Z1.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-CQ7oRh_G.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-CQ7oRh_G.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-BQs6GbD_.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-Pe3spe8k.js";
4
+ import { i as findPlanSync, o as init_io } from "./io-Cv9xQTks.js";
5
+ import { n as getForgeAdapter } from "./forge-OWm99lie.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-CC3yGv7o.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-BQs6GbD_.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-Cv9xQTks.js";
5
+ import { d as getDevrootPathSync, f as init_config } from "./config-Cntj_tFu.js";
6
+ import { a as init_lifecycle_io, i as findVBriefByIssueSync } from "./lifecycle-io-Dcu-_ktz.js";
7
+ import { n as init_review_verdict_feedback } from "./review-verdict-feedback-BNcGkBRD.js";
8
+ import { n as init_github_pr_lookup, r as lookupPullRequestNumberForBranch } from "./github-pr-lookup-D6CS9vtG.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-BuxaAgAd.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-C3X2XmV0.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-uogOppaW.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-By86XA6Z.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-BQs6GbD_.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-DYwIXlK5.js";
5
+ import { n as updateIssueRecord, t as init_record_update } from "./record-update-Cb_pPM-F.js";
6
+ import { d as init_cost_sync, i as getCostBreakdownByStageAndModelSync, o as getCostForIssueSync } from "./cost-sync-CVIAsrhB.js";
7
+ import { r as notifyPipelineSync, t as init_pipeline_notifier } from "./pipeline-notifier-CuBONomU.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-DUQmrLkK.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-Pe3spe8k.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
@@ -355,6 +325,7 @@ function projectAgentHarnessModel(issueId) {
355
325
  try {
356
326
  const agents = listOverdeckAgentStatesSync().filter((a) => a.issueId?.toUpperCase() === issueId.toUpperCase());
357
327
  const workAgent = agents.filter((a) => a.role === "work").sort((a, b) => (b.startedAt ?? "").localeCompare(a.startedAt ?? ""))[0] ?? agents[agents.length - 1];
328
+ if (workAgent?.model === "pending-work-spawn") return {};
358
329
  return {
359
330
  harness: workAgent?.harness,
360
331
  model: workAgent?.model ?? void 0
@@ -375,10 +346,11 @@ async function buildIssueRecord(project, issueId, opts = {}) {
375
346
  ...existing?.statusOverrides ?? {},
376
347
  ...workspaceStatusOverrides
377
348
  } : existing?.statusOverrides;
378
- const agentHM = existing?.harness || existing?.model ? {
379
- harness: existing.harness,
380
- model: existing.model
381
- } : projectAgentHarnessModel(issueId);
349
+ const liveHM = projectAgentHarnessModel(issueId);
350
+ const agentHM = {
351
+ harness: liveHM.harness ?? existing?.harness,
352
+ model: liveHM.model ?? existing?.model
353
+ };
382
354
  return {
383
355
  issueId: issueId.toUpperCase(),
384
356
  schemaVersion: 2,
@@ -425,16 +397,15 @@ async function updateIssueRecordForIssue(issueId, reviewStatus) {
425
397
  if (!resolved) return false;
426
398
  const project = getProjectSync(resolved.projectKey);
427
399
  if (!project) return false;
428
- await withIssueRecordLock(issueId, async () => {
429
- const record = await buildIssueRecord(project, issueId, { reviewStatus });
430
- const fresh = readIssueRecordSync(project, issueId);
400
+ const record = await buildIssueRecord(project, issueId, { reviewStatus });
401
+ await updateIssueRecord(project, issueId, (fresh) => {
431
402
  if (fresh?.swarm) record.swarm = fresh.swarm;
432
403
  if (fresh?.statusOverrides && Object.keys(fresh.statusOverrides).length > 0) record.statusOverrides = {
433
404
  ...record.statusOverrides,
434
405
  ...fresh.statusOverrides
435
406
  };
436
407
  record.pipeline = pickNewerPipeline(record.pipeline, fresh?.pipeline);
437
- queueIssueRecordCommit(project, issueId, writeIssueRecordSync(project, issueId, record));
408
+ return record;
438
409
  });
439
410
  return true;
440
411
  } catch (err) {
@@ -449,7 +420,7 @@ var init_records = __esmMin((() => {
449
420
  init_projects();
450
421
  init_agent_state_sync();
451
422
  init_record();
452
- init_record_lock();
423
+ init_record_update();
453
424
  }));
454
425
  //#endregion
455
426
  //#region ../../lib/overdeck/review-status-record-sync.ts
@@ -819,7 +790,7 @@ function setReviewStatusSync(issueId, update, existing) {
819
790
  });
820
791
  if (readyForMerge && !status.readyForMerge && updated.prUrl) (async () => {
821
792
  try {
822
- const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-Bwt9lK4A.js");
793
+ const { isGitHubAppConfigured, reportCommitStatus } = await import("./github-app-Dtn4ib6M.js");
823
794
  if (!isGitHubAppConfigured()) return;
824
795
  const prMatch = updated.prUrl.match(/github\.com\/([^/]+)\/([^/]+)\/pull/);
825
796
  if (!prMatch) return;
@@ -1060,10 +1031,10 @@ function setReviewStatusSync(issueId, update, existing) {
1060
1031
  if ((update.testStatus === "failed" || update.testStatus === "dispatch_failed") && status.testStatus !== "failed" && status.testStatus !== "dispatch_failed") deliverTestFailureToWorkAgentHostSide(issueId, updated);
1061
1032
  return updated;
1062
1033
  }
1063
- function resetPipelineVerdictsForWorkStartSync(issueId) {
1034
+ function resetPipelineVerdictsForWorkStartSync(issueId, options = {}) {
1064
1035
  const status = getReviewStatusSync(issueId);
1065
1036
  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;
1037
+ 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
1038
  return setReviewStatusSync(issueId, {
1068
1039
  reviewStatus: "pending",
1069
1040
  testStatus: "pending",
@@ -1085,7 +1056,12 @@ function resetPipelineVerdictsForWorkStartSync(issueId) {
1085
1056
  mergeRetryCount: 0,
1086
1057
  recoveryStartedAt: void 0,
1087
1058
  reviewedAtCommit: void 0,
1088
- lastVerifiedCommit: void 0
1059
+ lastVerifiedCommit: void 0,
1060
+ reviewRequestedAt: void 0,
1061
+ reviewSpawnedAt: void 0,
1062
+ conflictResolutionDispatchedAt: void 0,
1063
+ blockerReasons: void 0,
1064
+ reviewerVerdicts: void 0
1089
1065
  });
1090
1066
  }
1091
1067
  /**
@@ -1097,7 +1073,7 @@ function resetPipelineVerdictsForWorkStartSync(issueId) {
1097
1073
  */
1098
1074
  async function deliverReviewVerdictFeedbackHostSide(issueId, status) {
1099
1075
  try {
1100
- const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-D2Q960wX.js");
1076
+ const { deliverReviewVerdictFeedback } = await import("./review-verdict-feedback-CWz9_9Kp.js");
1101
1077
  if ((await Effect.runPromise(deliverReviewVerdictFeedback({
1102
1078
  issueId,
1103
1079
  verdict: status.reviewStatus === "failed" ? "failed" : "blocked",
@@ -1130,7 +1106,7 @@ function maybeAutoDispatchReviewHostSide(issueId, status) {
1130
1106
  }
1131
1107
  async function dispatchReviewHostSide(issueId, prUrl) {
1132
1108
  try {
1133
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1109
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
1134
1110
  const resolved = resolveProjectFromIssueSync(issueId);
1135
1111
  if (!resolved) return;
1136
1112
  const { existsSync } = await import("fs");
@@ -1146,7 +1122,7 @@ async function dispatchReviewHostSide(issueId, prUrl) {
1146
1122
  });
1147
1123
  branch = stdout.trim() || branch;
1148
1124
  } catch {}
1149
- const { spawnReviewRoleForIssue } = await import("./review-agent-u5q3ip7H.js");
1125
+ const { spawnReviewRoleForIssue } = await import("./review-agent-CUVj54v0.js");
1150
1126
  const result = await Effect.runPromise(spawnReviewRoleForIssue({
1151
1127
  issueId,
1152
1128
  workspace,
@@ -1170,7 +1146,7 @@ function maybeRecoverTestVerdictHostSide(issueId, status) {
1170
1146
  }
1171
1147
  async function recoverTestVerdictHostSide(issueId) {
1172
1148
  try {
1173
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1149
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
1174
1150
  const resolved = resolveProjectFromIssueSync(issueId);
1175
1151
  if (!resolved) return;
1176
1152
  const { existsSync } = await import("fs");
@@ -1190,13 +1166,13 @@ async function recoverTestVerdictHostSide(issueId) {
1190
1166
  }
1191
1167
  async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1192
1168
  try {
1193
- const { resolveProjectFromIssueSync } = await import("./projects-CrBE6IhN.js");
1169
+ const { resolveProjectFromIssueSync } = await import("./projects-DxMUi2eI.js");
1194
1170
  const resolved = resolveProjectFromIssueSync(issueId);
1195
1171
  const workspace = resolved ? join$1(resolved.projectPath, "workspaces", `feature-${issueId.toLowerCase()}`) : void 0;
1196
1172
  const notes = status.testNotes;
1197
1173
  let feedbackPath;
1198
1174
  try {
1199
- const { writeFeedbackFile } = await import("./feedback-writer-BsJiw5aT.js");
1175
+ const { writeFeedbackFile } = await import("./feedback-writer-BtaoJGl2.js");
1200
1176
  const r = await Effect.runPromise(writeFeedbackFile({
1201
1177
  issueId,
1202
1178
  workspacePath: workspace,
@@ -1208,11 +1184,11 @@ async function deliverTestFailureToWorkAgentHostSide(issueId, status) {
1208
1184
  if (r.success) feedbackPath = r.filePath;
1209
1185
  } catch {}
1210
1186
  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");
1187
+ const { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou } = await import("./feedback-target-Ba0zhSYI.js");
1212
1188
  const target = await resolveIssueFeedbackTarget(issueId);
1213
1189
  if ("agentId" in target) {
1214
- const { messageAgent } = await import("./agents-CEcaxSkR.js");
1215
- await messageAgent(target.agentId, message);
1190
+ const { messageAgent } = await import("./agents-DAUyr_Z1.js");
1191
+ await messageAgent(target.agentId, message, "internal", { owesRework: true });
1216
1192
  console.log(`[review-status] delivered test failure to ${target.agentId} for ${issueId} (host-side)`);
1217
1193
  } else await surfaceIssueFeedbackNeedsYou(issueId, target.reason, {
1218
1194
  specialist: "test-agent",
@@ -1442,6 +1418,6 @@ var init_review_status = __esmMin((() => {
1442
1418
  });
1443
1419
  }));
1444
1420
  //#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 };
1421
+ 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
1422
 
1447
- //# sourceMappingURL=review-status-Dc1l4dVz.js.map
1423
+ //# sourceMappingURL=review-status-By86XA6Z.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-BQs6GbD_.js";
2
+ import { S as init_tmux, k as listSessionNames } from "./tmux-C3X2XmV0.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-CRQAO27G.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-DUQmrLkK.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-DYwIXlK5.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-DUQmrLkK.js.map
@@ -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-BQs6GbD_.js";
3
+ import { c as init_review_status, s as getReviewStatusSync } from "./review-status-By86XA6Z.js";
4
+ import { L as messageAgent, s as init_agents } from "./queries-srgusoi8.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-BujzReaQ.js";
7
+ import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-Chd5dm-Q.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-BNcGkBRD.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-BNcGkBRD.js";
2
2
  init_review_verdict_feedback();
3
3
  export { deliverReviewVerdictFeedback };
@@ -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-CqiFgtBp.js";
2
2
  init_rollup();
3
3
  export { commitStatusRollup, synthesizeStatusRollup };
@@ -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-DIoslfsu.js";
4
+ import { i as init_settings, n as getMemoryRollupPendingThreshold } from "./settings-DNPAf2X_.js";
5
+ import { i as updateMemoryHealth, n as extractWithProviderPolicy, r as init_health, t as init_providers } from "./providers-CAlK2If5.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-BZoXexYS.js");
102
+ const { synthesizeStatusRollup, commitStatusRollup } = await import("./rollup-B-K6PCbm.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-BZoXexYS.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-CqiFgtBp.js.map