@overdeck/desktop 0.45.24 → 0.47.0

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 (528) hide show
  1. package/drizzle/overdeck/0000_overdeck_init.sql +36 -1
  2. package/package.json +1 -1
  3. package/server/{acceptance-criteria-DDCnXF58.js → acceptance-criteria-10Ur5Dne.js} +2 -2
  4. package/server/activity-logger-CMthG6Vd.js +3 -0
  5. package/server/{activity-logger-DDlOIAML.js → activity-logger-CyteR4JO.js} +24 -13
  6. package/server/{advancing-selfheal-BVwW4qRn.js → advancing-selfheal-BNwqxseD.js} +6 -6
  7. package/server/{agent-gc-CHcnvonI.js → agent-gc-C3h9Or3a.js} +5 -5
  8. package/server/agent-state-CYXJVG72.js +3 -0
  9. package/server/agent-state-service-C63p_ftq.js +2 -0
  10. package/server/{agent-state-service-BsgWxZuB.js → agent-state-service-Ds6OeFvo.js} +15 -9
  11. package/server/{agents-EbI0zCJl.js → agents-J5mEnekq.js} +23 -16
  12. package/server/agents-ePFVoZbu.js +3 -0
  13. package/server/archive-planning-B2XplFzT.js +2 -0
  14. package/server/{archive-planning-Du25Jtst.js → archive-planning-BwhxeP7C.js} +22 -26
  15. package/server/{artifact-index-jobs-CbEDfCDu.js → artifact-index-jobs-D1q_vR3V.js} +2 -2
  16. package/server/{assemble-J2ZZ2C15.js → assemble-Bgwqv-Ro.js} +2 -2
  17. package/server/auto-spawn-consent-CQ9Bi9q6.js +1141 -0
  18. package/server/{backlog-auto-trigger-2R2jog7n.js → backlog-auto-trigger-n1lzPgN4.js} +3 -3
  19. package/server/{behavior-B3exJ42O.js → behavior-td6-xhQk.js} +2 -2
  20. package/server/boot-reconciled-stop-events-C7gGe3oB.js +44 -0
  21. package/server/bridge-pool-patrol-CYH2OLb5.js +136 -0
  22. package/server/{briefing-freshness-D1wzUIWv.js → briefing-freshness-DRqZ8lAz.js} +2 -2
  23. package/server/{build-info-Ie_D0_BT.js → build-info-7yiEpl6u.js} +5 -3
  24. package/server/{build-info-CZk_TITh.js → build-info-CpG__c63.js} +1 -1
  25. package/server/{checkpoint-manager-DwbQoqrC.js → checkpoint-manager-CkKmB0wZ.js} +1 -1
  26. package/server/{checkpoint-manager-BI1Wxoku.js → checkpoint-manager-DBcyNR8w.js} +2 -2
  27. package/server/checkpoint-worker.js +1 -1
  28. package/server/{checkpoints-CQB1h765.js → checkpoints-D95apurL.js} +2 -2
  29. package/server/{checkpoints-BJIs5QIA.js → checkpoints-Wm963lm8.js} +1 -1
  30. package/server/{claude-hooks-provision-8Ngo8TpT.js → claude-hooks-provision-4RPxNkE8.js} +1 -1
  31. package/server/{claude-hooks-provision-D8GXF3_s.js → claude-hooks-provision-Bjitl9aI.js} +13 -2
  32. package/server/{claude-permissions-DNWEVV6z.js → claude-permissions-CpbpvUQ2.js} +2 -2
  33. package/server/{claude-settings-overlay-DWy-Bb4Y.js → claude-settings-overlay-BzkHYDwR.js} +1 -1
  34. package/server/{claude-settings-overlay-CEdaqpWI.js → claude-settings-overlay-_H9Yrzab.js} +2 -2
  35. package/server/cli-CjOCSnfj.js +3 -0
  36. package/server/{cli-RoOx5DUf.js → cli-Cte9ZFGn.js} +9 -9
  37. package/server/{cliproxy-C8a1vtTU.js → cliproxy-C5fMJ7rY.js} +2 -2
  38. package/server/{cliproxy-fHfIeiGd.js → cliproxy-DaAbWMjC.js} +1 -1
  39. package/server/{close-issue-DoOifFIK.js → close-issue-BPh1ARCF.js} +5 -5
  40. package/server/{closed-issue-reaper-CktPXo8m.js → closed-issue-reaper-DHRfRMrp.js} +1 -1
  41. package/server/{closed-issue-reaper-Bk3SU4RC.js → closed-issue-reaper-DoOZqGFK.js} +88 -17
  42. package/server/{codex-BZXGhUVB.js → codex-BzGDW_d3.js} +36 -7
  43. package/server/{codex-GcHuUF-k.js → codex-o8FJwzmy.js} +1 -1
  44. package/server/{codex-parser-CFZ1_1Jl.js → codex-parser-Dt-ycU8L.js} +2 -2
  45. package/server/compaction-continuation-CvXpbZ4w.js +200 -0
  46. package/server/{config-CKxYiCmX.js → config-Bi3u1VK7.js} +4 -3
  47. package/server/{config-BZ0sHTju.js → config-BvLe652W.js} +2 -2
  48. package/server/{config-DzV30TOm.js → config-CL3Gyvja.js} +1 -1
  49. package/server/{config-yaml-DySPNmKN.js → config-yaml-CxdwhAIA.js} +276 -14
  50. package/server/conflict-gate-CX80JYYS.js +3 -0
  51. package/server/{conflict-gate-BaCVrH-N.js → conflict-gate-E4nt7ZeS.js} +60 -14
  52. package/server/{context-layers-igZ4FI4_.js → context-layers-C_IIysnm.js} +3 -3
  53. package/server/{context-layers-BrPmE__h.js → context-layers-DAG83UZt.js} +2 -2
  54. package/server/{control-settings-BQp7_4uD.js → control-settings-CiqGxXnc.js} +56 -19
  55. package/server/{conversation-compaction-eQB5CkOe.js → conversation-compaction-BE3CNtHF.js} +1 -1
  56. package/server/{conversation-compaction-CgrR8YYp.js → conversation-compaction-D6-yLtqt.js} +8 -8
  57. package/server/{conversation-service-DPJ71F33.js → conversation-service-DBxoYMDl.js} +10 -8
  58. package/server/conversation-service-D_TS2b1r.js +3 -0
  59. package/server/{conversations-CAsJF9kh.js → conversations-BKDVpB-3.js} +1 -1
  60. package/server/{conversations-6AfUfbwc.js → conversations-D0UEdLtk.js} +4 -4
  61. package/server/{cost-R-m6Yi-W.js → cost-DS1s0DbG.js} +3 -3
  62. package/server/{cost-B2ddP6wq.js → cost-DpgYmYqR.js} +12 -2
  63. package/server/{cost-sync-BsN6ER0n.js → cost-sync-tOCCGnEt.js} +3 -3
  64. package/server/{dag-B1ucnjDU.js → dag-BtkgLeqY.js} +2 -2
  65. package/server/{dangerous-git-ops-BXqeWVSf.js → dangerous-git-ops-CFLykHWt.js} +1 -1
  66. package/server/dashboard-db-worker.js +7 -7
  67. package/server/deacon-BIblC-WX.js +4 -0
  68. package/server/{deacon-nudge-log-6wVqAaqz.js → deacon-nudge-log-B08gF0mh.js} +3 -3
  69. package/server/{deacon-CU_cAYSR.js → deacon-pLRLbPvR.js} +3308 -2707
  70. package/server/deacon-pending-lifecycle-B-Io84AP.js +33 -0
  71. package/server/deacon-swarm-B1XkIvfr.js +2 -0
  72. package/server/{deacon-swarm-BXZZ1Z2-.js → deacon-swarm-v5PMun-m.js} +15 -14
  73. package/server/deacon.js +14 -19
  74. package/server/dead-end-trip-D8A3msX9.js +13 -0
  75. package/server/delivery-BX9HR4wQ.js +3 -0
  76. package/server/{deploy-patrol-AiFoP8dw.js → deploy-patrol-sYgOxLeb.js} +69 -18
  77. package/server/deploy-queue-VfohaPN_.js +169 -0
  78. package/server/deploy-queue-gHJBycaF.js +3 -0
  79. package/server/deploy-window-CFRZ0-kt.js +3 -0
  80. package/server/{deploy-window-C3F-tihF.js → deploy-window-D4DQb8VP.js} +40 -16
  81. package/server/{dev-supervisor-bcOWqdQE.js → dev-supervisor-DiOBDM1c.js} +2 -2
  82. package/server/{devcontainer-renderer-_d6XhyND.js → devcontainer-renderer-BUOIlfgD.js} +3 -3
  83. package/server/dist-B3YPQa5A.js +3 -0
  84. package/server/{dist-Cb_0uvpS.js → dist-C3A8B8wM.js} +1 -1
  85. package/server/{dist-src-BSoS7mkd.js → dist-src-C0adpegX.js} +1 -1
  86. package/server/{docker-DcMTFTUC.js → docker-BJzlkqYB.js} +2 -2
  87. package/server/docker-Y3PElJb0.js +3 -0
  88. package/server/dod-DlNtcH6n.js +91 -0
  89. package/server/durable-review-pipeline-Cibps-Rg.js +20 -0
  90. package/server/durable-review-pipeline-DP6bIcOY.js +3 -0
  91. package/server/{ensure-devcontainer-DNi-ono3.js → ensure-devcontainer-BAofzBPv.js} +4 -4
  92. package/server/{ensure-devcontainer-BZgOhRo7.js → ensure-devcontainer-DMAbWqtQ.js} +1 -1
  93. package/server/{esm-shims-OSHAYaS1.js → esm-shims-BeObUkaw.js} +1 -1
  94. package/server/{event-store-EV2cMiXj.js → event-store-5UKzh9Jf.js} +1 -1
  95. package/server/{event-store-CQL6NeqB.js → event-store-CrHcVC5_.js} +23 -4
  96. package/server/{events-DTfAe4My.js → events-BNrvchBg.js} +3 -3
  97. package/server/{events-BTdrdEq8.js → events-CF8QDbuV.js} +1 -1
  98. package/server/{factory-CFibJuaw.js → factory-Cmm9Hsho.js} +5 -5
  99. package/server/{feature-registry-population-DKZFMbFt.js → feature-registry-population-B6HpNWRy.js} +4 -4
  100. package/server/{feature-registry-storage-BdPuLcBX.js → feature-registry-storage-DJEFx1Pf.js} +2 -2
  101. package/server/{features-ez2271oH.js → features-D5km80UI.js} +2 -2
  102. package/server/{feedback-target-CoFDHiM8.js → feedback-target-BJ5ZADsu.js} +1 -1
  103. package/server/{feedback-target-7mqqwrX6.js → feedback-target-DSxEL6lP.js} +8 -8
  104. package/server/{feedback-writer-CY5L1lB7.js → feedback-writer-C27Hak8a.js} +5 -5
  105. package/server/{feedback-writer-D3a22RCd.js → feedback-writer-CoB9Z6aU.js} +1 -1
  106. package/server/{flywheel-DHrgCphM.js → flywheel-BHx8XuMr.js} +47 -20
  107. package/server/{flywheel-SVF02Jpq.js → flywheel-DZZdtiOL.js} +1 -1
  108. package/server/{flywheel-DzGtWnJ1.js → flywheel-f662Q-y2.js} +16 -15
  109. package/server/flywheel-merge-order-D_xLMbJU.js +462 -0
  110. package/server/flywheel-merge-order-Dil0LmdN.js +2 -0
  111. package/server/forge-B5o319qI.js +3 -0
  112. package/server/forge-BaKGCya6.js +383 -0
  113. package/server/{from-kNxT0bZC.js → from-B3tZbB55.js} +1 -1
  114. package/server/fs-lock-Bre3sGoz.js +130 -0
  115. package/server/{fts-db-CE46vDkZ.js → fts-db-IVc4_M3f.js} +2 -2
  116. package/server/{fts-operations-CqY6zl-i.js → fts-operations-B9jG8wa3.js} +2 -2
  117. package/server/{git-utils-CRw2zLPC.js → git-utils-CsvYfJU3.js} +30 -5
  118. package/server/git-utils-Xg4PFN45.js +3 -0
  119. package/server/{github-app-ClZ2lk8D.js → github-app-Bmg4R9mv.js} +1 -1
  120. package/server/{github-app-C3QrAUd0.js → github-app-CmNk0zLU.js} +3 -3
  121. package/server/{github-client-DfQYVUaw.js → github-client-B6KM9_wA.js} +1 -1
  122. package/server/{github-client-BnIsSrEN.js → github-client-qazkPrg0.js} +3 -3
  123. package/server/github-pr-lookup-DAcVeRLK.js +58 -0
  124. package/server/{harness-binary-DPUi-Pv8.js → harness-binary-BSpiXaLw.js} +2 -2
  125. package/server/{harness-resolve-3lNZkyT4.js → harness-resolve-BAJu5MX8.js} +4 -4
  126. package/server/{health-events-BDOHby5Q.js → health-events-2Z6Wa9SM.js} +1 -1
  127. package/server/{health-events-BBcTYQKU.js → health-events-BwX32k8d.js} +2 -2
  128. package/server/{hooks-DPVX1rwQ.js → hooks-D1g1jKLI.js} +1 -1
  129. package/server/{hooks-CKZgXlJb.js → hooks-DbtbimEf.js} +2 -2
  130. package/server/{hume-Cz8igP9E.js → hume-DXNiu6nQ.js} +2 -2
  131. package/server/hume-VUCNbTgn.js +3 -0
  132. package/server/{idle-stack-reaper-CuLF0j2H.js → idle-stack-reaper-CRA1e0jr.js} +1 -1
  133. package/server/{idle-stack-reaper-DDIRwxUY.js → idle-stack-reaper-Cy-dQzW4.js} +99 -6
  134. package/server/in-flight-guard-D-sSkADM.js +45 -0
  135. package/server/{infra-BEqFxlJc.js → infra-BDQDRopn.js} +81 -5
  136. package/server/{injection-C8aiVJrF.js → injection-6AGnXxlj.js} +7 -7
  137. package/server/{injection-CPUIqNhI.js → injection-Bl8d_jHZ.js} +1 -1
  138. package/server/inspect-agent-CUwVmr2h.js +2 -0
  139. package/server/{inspect-agent-BLuJ1AkT.js → inspect-agent-nXdIptyh.js} +26 -25
  140. package/server/{internal-token-s0-oKybJ.js → internal-token-DzK385vD.js} +2 -2
  141. package/server/{internal-token-BrcU6qfe.js → internal-token-Ias7N8Kg.js} +1 -1
  142. package/server/{io-C9kF1wtJ.js → io-B00PBNku.js} +44 -27
  143. package/server/{issue-closed-CDJk4pIp.js → issue-closed-BehTG1be.js} +8 -8
  144. package/server/{issue-lifecycle-ojZAzDBP.js → issue-lifecycle-Birk-ifu.js} +42 -30
  145. package/server/{issue-lifecycle-B8sZHVHh.js → issue-lifecycle-BqSuQvbn.js} +1 -1
  146. package/server/{issue-service-singleton-BvJ09SaR.js → issue-service-singleton-B2wXiIlw.js} +1 -1
  147. package/server/{issue-service-singleton-Yx5DdmVJ.js → issue-service-singleton-C6ZduvuY.js} +10 -10
  148. package/server/{issues-BMmP_77e.js → issues-DQ5-LatB.js} +2 -2
  149. package/server/{jsonl-parser-BXSlHwEh.js → jsonl-parser-BDpnGFCl.js} +5 -4
  150. package/server/{label-cleanup-B0UJwnv5.js → label-cleanup-Dwnky8FG.js} +3 -3
  151. package/server/{lifecycle-xmBfK2GJ.js → lifecycle-B3s4sM1G.js} +6 -7
  152. package/server/{lifecycle-yPd___5E.js → lifecycle-B4Xdb4cY.js} +2 -2
  153. package/server/{lifecycle-io-DPo7x11I.js → lifecycle-io-CzTHEooc.js} +1 -1
  154. package/server/{lifecycle-io-BREGpnLk.js → lifecycle-io-DCo6s6ks.js} +5 -5
  155. package/server/{linear-client-BsuUvkdA.js → linear-client-9uq7fhiV.js} +3 -3
  156. package/server/{linear-client-CTskEeT_.js → linear-client-CnbtHiic.js} +1 -1
  157. package/server/linear-mcp-auth-BxUOzswy.js +280 -0
  158. package/server/linear-mcp-auth-D46fBCLf.js +2 -0
  159. package/server/memory-fts-worker.js +1 -1
  160. package/server/{merge-CefQNAnq.js → merge-DiW9RdSB.js} +13 -11
  161. package/server/{merge-agent-4WOWlSYA.js → merge-agent-BLUgRsz3.js} +234 -84
  162. package/server/{merge-agent-CKkgIBPB.js → merge-agent-DQTXZk8z.js} +1 -1
  163. package/server/{merge-batch-ClFn2T-y.js → merge-batch-Cp_j9BGk.js} +1 -1
  164. package/server/merge-completeness-B46KqhtY.js +277 -0
  165. package/server/merge-completeness-BLbB5-6n.js +3 -0
  166. package/server/merge-ops-1abz6O_P.js +2 -0
  167. package/server/merge-rebase-CJJVAJuz.js +2 -0
  168. package/server/{merge-rebase-BfaTyXsw.js → merge-rebase-DIkBjgwq.js} +3 -3
  169. package/server/{merge-set-DJ8-UErs.js → merge-set-CBgHfwM0.js} +11 -5
  170. package/server/merge-set-DeUxFsC3.js +3 -0
  171. package/server/{merge-B1DiziGU.js → merge-sr8Nrnmi.js} +1 -1
  172. package/server/merge-sync-CpGmk6Ch.js +3 -0
  173. package/server/{merge-sync-VPV28g0g.js → merge-sync-kr4vqyjM.js} +409 -153
  174. package/server/{merge-train-CHopycP0.js → merge-train-Dmrcus12.js} +18 -8
  175. package/server/{merge-train-deps-D1cOZzy2.js → merge-train-deps-D_uGX91G.js} +21 -15
  176. package/server/merge-verification-NvaAd8CZ.js +220 -0
  177. package/server/merged-docker-cleanup-worker-DH_hrGPI.js +3 -0
  178. package/server/merged-docker-cleanup-worker-Y1R06TEl.js +107 -0
  179. package/server/{multipart-parser-duPAfSBw.js → multipart-parser-R-oC8dQg.js} +2 -2
  180. package/server/{no-resume-mode-Nw29vaFb.js → no-resume-mode-BgD0JUmM.js} +1 -1
  181. package/server/node_modules/.package-lock.json +30 -30
  182. package/server/node_modules/@effect/platform-node/node_modules/@effect/platform-node-shared/package.json +3 -3
  183. package/server/node_modules/@google-cloud/common/package.json +2 -2
  184. package/server/node_modules/@types/node/README.md +1 -1
  185. package/server/node_modules/@types/node/crypto.d.ts +1 -1
  186. package/server/node_modules/@types/node/package.json +2 -2
  187. package/server/node_modules/gaxios/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  188. package/server/node_modules/gaxios/build/esm/tsconfig.tsbuildinfo +1 -1
  189. package/server/node_modules/gaxios/package.json +1 -1
  190. package/server/node_modules/google-auth-library/build/src/auth/googleauth.js +24 -19
  191. package/server/node_modules/google-auth-library/package.json +1 -1
  192. package/server/node_modules/google-gax/build/protos/google/api/auth.proto +2 -1
  193. package/server/node_modules/google-gax/build/protos/google/api/backend.proto +12 -1
  194. package/server/node_modules/google-gax/build/protos/google/api/billing.proto +1 -1
  195. package/server/node_modules/google-gax/build/protos/google/api/client.proto +165 -53
  196. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1/resources.proto +1 -1
  197. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/quota_adjuster_settings.proto +7 -3
  198. package/server/node_modules/google-gax/build/protos/google/api/cloudquotas/v1beta/resources.proto +1 -1
  199. package/server/node_modules/google-gax/build/protos/google/api/config_change.proto +1 -1
  200. package/server/node_modules/google-gax/build/protos/google/api/context.proto +1 -1
  201. package/server/node_modules/google-gax/build/protos/google/api/control.proto +3 -3
  202. package/server/node_modules/google-gax/build/protos/google/api/distribution.proto +1 -1
  203. package/server/node_modules/google-gax/build/protos/google/api/documentation.proto +1 -1
  204. package/server/node_modules/google-gax/build/protos/google/api/endpoint.proto +1 -1
  205. package/server/node_modules/google-gax/build/protos/google/api/error_reason.proto +186 -1
  206. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/checked.proto +31 -3
  207. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/eval.proto +8 -9
  208. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/explain.proto +1 -2
  209. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/syntax.proto +20 -22
  210. package/server/node_modules/google-gax/build/protos/google/api/expr/v1alpha1/value.proto +2 -3
  211. package/server/node_modules/google-gax/build/protos/google/api/field_behavior.proto +1 -1
  212. package/server/node_modules/google-gax/build/protos/google/api/field_info.proto +1 -1
  213. package/server/node_modules/google-gax/build/protos/google/api/http.proto +1 -1
  214. package/server/node_modules/google-gax/build/protos/google/api/httpbody.proto +1 -1
  215. package/server/node_modules/google-gax/build/protos/google/api/label.proto +1 -1
  216. package/server/node_modules/google-gax/build/protos/google/api/launch_stage.proto +1 -1
  217. package/server/node_modules/google-gax/build/protos/google/api/log.proto +1 -1
  218. package/server/node_modules/google-gax/build/protos/google/api/logging.proto +1 -1
  219. package/server/node_modules/google-gax/build/protos/google/api/metric.proto +1 -1
  220. package/server/node_modules/google-gax/build/protos/google/api/monitored_resource.proto +1 -1
  221. package/server/node_modules/google-gax/build/protos/google/api/monitoring.proto +1 -1
  222. package/server/node_modules/google-gax/build/protos/google/api/policy.proto +1 -1
  223. package/server/node_modules/google-gax/build/protos/google/api/quota.proto +1 -1
  224. package/server/node_modules/google-gax/build/protos/google/api/resource.proto +1 -1
  225. package/server/node_modules/google-gax/build/protos/google/api/routing.proto +8 -4
  226. package/server/node_modules/google-gax/build/protos/google/api/service.proto +2 -3
  227. package/server/node_modules/google-gax/build/protos/google/api/source_info.proto +1 -1
  228. package/server/node_modules/google-gax/build/protos/google/api/system_parameter.proto +1 -1
  229. package/server/node_modules/google-gax/build/protos/google/api/usage.proto +7 -27
  230. package/server/node_modules/google-gax/build/protos/google/api/visibility.proto +1 -1
  231. package/server/node_modules/google-gax/build/protos/google/longrunning/operations.proto +20 -1
  232. package/server/node_modules/google-gax/build/protos/google/protobuf/any.proto +52 -108
  233. package/server/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_code.proto +2 -0
  234. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_features.proto +21 -1
  235. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_file_options.proto +24 -0
  236. package/server/node_modules/google-gax/build/protos/google/protobuf/cpp_options.proto +15 -0
  237. package/server/node_modules/google-gax/build/protos/google/protobuf/descriptor.proto +118 -30
  238. package/server/node_modules/google-gax/build/protos/google/protobuf/field_mask.proto +16 -18
  239. package/server/node_modules/google-gax/build/protos/google/protobuf/internal_options.proto +8 -1
  240. package/server/node_modules/google-gax/build/protos/google/protobuf/json/json_enumval_custom_string.proto +26 -0
  241. package/server/node_modules/google-gax/build/protos/google/protobuf/json_enumvalue_options.proto +29 -0
  242. package/server/node_modules/google-gax/build/protos/google/protobuf/json_options.proto +14 -0
  243. package/server/node_modules/google-gax/build/protos/google/protobuf/struct.proto +38 -22
  244. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/forced_micro_string.proto +3 -0
  245. package/server/node_modules/google-gax/build/protos/google/protobuf/test_protos/repeated_field_proxy_import_message.proto +14 -0
  246. package/server/node_modules/google-gax/build/protos/google/protobuf/timestamp.proto +9 -8
  247. package/server/node_modules/google-gax/build/protos/google/protobuf/util/json_format_proto3.proto +18 -0
  248. package/server/node_modules/google-gax/build/protos/google/rpc/code.proto +1 -1
  249. package/server/node_modules/google-gax/build/protos/google/rpc/context/attribute_context.proto +7 -2
  250. package/server/node_modules/google-gax/build/protos/google/rpc/context/audit_context.proto +1 -1
  251. package/server/node_modules/google-gax/build/protos/google/rpc/error_details.proto +5 -5
  252. package/server/node_modules/google-gax/build/protos/google/rpc/http.proto +1 -1
  253. package/server/node_modules/google-gax/build/protos/google/rpc/status.proto +1 -2
  254. package/server/node_modules/google-gax/build/protos/google/type/calendar_period.proto +1 -1
  255. package/server/node_modules/google-gax/build/protos/google/type/color.proto +9 -10
  256. package/server/node_modules/google-gax/build/protos/google/type/date.proto +11 -9
  257. package/server/node_modules/google-gax/build/protos/google/type/datetime.proto +17 -17
  258. package/server/node_modules/google-gax/build/protos/google/type/dayofweek.proto +1 -1
  259. package/server/node_modules/google-gax/build/protos/google/type/decimal.proto +11 -13
  260. package/server/node_modules/google-gax/build/protos/google/type/expr.proto +1 -1
  261. package/server/node_modules/google-gax/build/protos/google/type/fraction.proto +1 -1
  262. package/server/node_modules/google-gax/build/protos/google/type/interval.proto +1 -2
  263. package/server/node_modules/google-gax/build/protos/google/type/latlng.proto +4 -5
  264. package/server/node_modules/google-gax/build/protos/google/type/localized_text.proto +3 -3
  265. package/server/node_modules/google-gax/build/protos/google/type/money.proto +1 -2
  266. package/server/node_modules/google-gax/build/protos/google/type/month.proto +1 -1
  267. package/server/node_modules/google-gax/build/protos/google/type/phone_number.proto +20 -15
  268. package/server/node_modules/google-gax/build/protos/google/type/postal_address.proto +39 -39
  269. package/server/node_modules/google-gax/build/protos/google/type/quaternion.proto +4 -4
  270. package/server/node_modules/google-gax/build/protos/google/type/timeofday.proto +11 -8
  271. package/server/node_modules/google-gax/package.json +5 -5
  272. package/server/node_modules/retry-request/package.json +4 -4
  273. package/server/node_modules/teeny-request/package.json +5 -5
  274. package/server/node_modules/undici/lib/cache/memory-cache-store.js +54 -9
  275. package/server/node_modules/undici/lib/cache/sqlite-cache-store.js +7 -1
  276. package/server/node_modules/undici/lib/core/request.js +12 -1
  277. package/server/node_modules/undici/lib/dispatcher/client-h1.js +11 -2
  278. package/server/node_modules/undici/lib/global.js +36 -16
  279. package/server/node_modules/undici/lib/handler/cache-handler.js +236 -116
  280. package/server/node_modules/undici/lib/handler/cache-revalidation-handler.js +3 -3
  281. package/server/node_modules/undici/lib/handler/retry-handler.js +24 -0
  282. package/server/node_modules/undici/lib/interceptor/cache.js +152 -62
  283. package/server/node_modules/undici/lib/interceptor/decompress.js +5 -2
  284. package/server/node_modules/undici/lib/util/cache.js +328 -66
  285. package/server/node_modules/undici/lib/util/date.js +23 -6
  286. package/server/node_modules/undici/lib/web/cookies/util.js +78 -8
  287. package/server/node_modules/undici/package.json +1 -1
  288. package/server/{orphan-proposed-reconciler-BvKkWMJQ.js → orphan-proposed-reconciler-B6vJHxtX.js} +242 -34
  289. package/server/{orphan-proposed-reconciler-CTSGcK8p.js → orphan-proposed-reconciler-DcgTPPFY.js} +1 -1
  290. package/server/package-lock.json +31 -31
  291. package/server/package.json +1 -1
  292. package/server/{pan-dir-B0c3w0Ya.js → pan-dir-DMzF5wne.js} +25 -11
  293. package/server/{paths-D-xWGHdh.js → paths-sJBSb7Ul.js} +2 -2
  294. package/server/pending-lifecycle-claim-DilzGfgk.js +110 -0
  295. package/server/persistent-logger-H_VjuOu7.js +57 -0
  296. package/server/{pickup-DUCLWrJY.js → pickup-DWhqzliO.js} +4 -3
  297. package/server/pipeline-membership-C88VBnhJ.js +3 -0
  298. package/server/pipeline-membership-D9SBvItj.js +57 -0
  299. package/server/pipeline-membership-gather-4eR-7Tqy.js +3 -0
  300. package/server/pipeline-membership-gather-CeVGnNJ2.js +593 -0
  301. package/server/{pipeline-notifier-BXkJzDC4.js → pipeline-notifier-D0ALV6Nw.js} +2 -2
  302. package/server/{pipeline-notifier-BJr8gQX6.js → pipeline-notifier-DT6xLFao.js} +1 -1
  303. package/server/post-merge-lifecycle-worker-8HIeS_J6.js +50 -0
  304. package/server/{project-pipelines-C0MWUeCU.js → project-pipelines-9SKt2bEc.js} +2 -2
  305. package/server/{project-repos-B6GycDh9.js → project-repos-B5pIphKg.js} +7 -3
  306. package/server/project-repos-DPjOdfPa.js +3 -0
  307. package/server/projects-_n3Zui6K.js +3 -0
  308. package/server/{prompts-DxzFXuLl.js → prompts-CgzMBvQF.js} +2 -2
  309. package/server/{providers-u4Ga0jOr.js → providers-BI1mOBQ4.js} +1 -1
  310. package/server/{providers-qQAwGQDW.js → providers-BJQSnAAp.js} +7 -7
  311. package/server/public/assets/{chunk-BO2N2NFS-BamJdinX.js → chunk-BO2N2NFS-D_pGACYN.js} +4 -4
  312. package/server/public/assets/{diagram-OG6HWLK6-DfOB8-w4.js → diagram-OG6HWLK6-BO6fe3hH.js} +1 -1
  313. package/server/public/assets/{dist-ByIuzMQW.js → dist-5zingMiA.js} +3 -3
  314. package/server/public/assets/{dist-D7zYSEA6.js → dist-CVxhbI2E.js} +1 -1
  315. package/server/public/assets/{ganttDiagram-6RSMTGT7-EdmRyXL3.js → ganttDiagram-6RSMTGT7-Bgj4A7kp.js} +1 -1
  316. package/server/public/assets/{highlighted-body-OFNGDK62-MerOfTX8.js → highlighted-body-OFNGDK62-DNPK7_cm.js} +1 -1
  317. package/server/public/assets/index-DEpY-D1O.js +807 -0
  318. package/server/public/assets/index-Ddkcz3WT.css +1 -0
  319. package/server/public/assets/{linear-BBbArIcK.js → linear-BB0jQT16.js} +1 -1
  320. package/server/public/assets/mermaid-GHXKKRXX-BzPfaQJ1.js +1 -0
  321. package/server/public/assets/{pieDiagram-4H26LBE5-BKIddiJN.js → pieDiagram-4H26LBE5-DeGIzzpZ.js} +1 -1
  322. package/server/public/assets/{prod-B8vYiu52.js → prod-XBLvikex.js} +4 -4
  323. package/server/public/assets/{quadrantDiagram-W4KKPZXB-D6RtoULk.js → quadrantDiagram-W4KKPZXB-BV9SLeWz.js} +1 -1
  324. package/server/public/assets/{sankeyDiagram-5OEKKPKP-CLrCedZX.js → sankeyDiagram-5OEKKPKP-Dwja0gj8.js} +1 -1
  325. package/server/public/assets/{xychartDiagram-2RQKCTM6-hznR8DYl.js → xychartDiagram-2RQKCTM6-DCB4qvfw.js} +1 -1
  326. package/server/public/index.html +2 -2
  327. package/server/{pull-requests-_lHueOHW.js → pull-requests-7BgLDsIo.js} +19 -10
  328. package/server/{pull-requests-7N8WKseP.js → pull-requests-Dq0y6IxE.js} +1 -1
  329. package/server/{queries-CjNIf-Ub.js → queries-C-MUZaIy.js} +824 -192
  330. package/server/{rally-CyWT_lNO.js → rally-CPysR4T_.js} +3 -3
  331. package/server/rally-D_VW4bJv.js +3 -0
  332. package/server/{rally-api-C8e_1JRi.js → rally-api-8Ptlp2os.js} +2 -2
  333. package/server/{rally-api-ClOSd-Tt.js → rally-api-CgosKdKL.js} +1 -1
  334. package/server/{rally-client-sgtVqzNU.js → rally-client-CCX0hADj.js} +1 -1
  335. package/server/{rally-client-lc-nokqr.js → rally-client-iYMHWQD7.js} +5 -5
  336. package/server/{reap-terminal-sessions-7KeHv1R1.js → reap-terminal-sessions-4Xg9NGA8.js} +2 -2
  337. package/server/{reap-terminal-sessions-BtHPo6Xc.js → reap-terminal-sessions-Qf-9LVQc.js} +2 -2
  338. package/server/{rebuild-stack-lwtsW0GO.js → rebuild-stack-CMdgaylx.js} +16 -7
  339. package/server/{rebuild-stack-CFvcBHsS.js → rebuild-stack-DqcOVmJO.js} +2 -2
  340. package/server/{reconstruct-cache-C3Ui7ojV.js → reconstruct-cache-CMZJ_Vjq.js} +9 -7
  341. package/server/record-BTwWhtBb.js +3 -0
  342. package/server/{record-update-dE1Aw83j.js → record-update-DaOKS7Wb.js} +124 -157
  343. package/server/record-update-DhI7eySG.js +3 -0
  344. package/server/{recovery-trip-BvRWfUXM.js → recovery-trip-DDH-02ng.js} +2 -2
  345. package/server/{release-engine-Cx48W7z8.js → release-engine-B2X9AfFC.js} +5 -5
  346. package/server/{release-set-CQfuN9-v.js → release-set-G4XKyQ8K.js} +3 -3
  347. package/server/{remote-C_2hasl7.js → remote-BXarMvqf.js} +3 -3
  348. package/server/{remote-ChgimyYa.js → remote-CUhyqjXk.js} +3 -3
  349. package/server/{remote-agents-By1ige5O.js → remote-agents-Bba-MgSA.js} +311 -48
  350. package/server/{remote-agents-CA3Ihlxj.js → remote-agents-CLZB3Coc.js} +2 -2
  351. package/server/{remote-completion-fVe9e_3u.js → remote-completion-CwAp79EC.js} +13 -13
  352. package/server/resume-mOREjlYu.js +3 -0
  353. package/server/{review-agent-CIGOQYBD.js → review-agent--pOptAEV.js} +65 -50
  354. package/server/{review-agent-DNboMyW4.js → review-agent-BTCNkq2h.js} +1 -1
  355. package/server/{review-artifacts-nRDPuMxd.js → review-artifacts-BNmw8dWE.js} +7 -6
  356. package/server/{review-context-2uj-YQ8J.js → review-context-DFxYOOJW.js} +9 -9
  357. package/server/{in-flight-guard-CAAkqPLu.js → review-convoy-liveness-BgU_1jJf.js} +3 -44
  358. package/server/review-status-CGvlA4o_.js +7737 -0
  359. package/server/review-status-Dma9SFaN.js +3 -0
  360. package/server/review-status-emit-DURrmGYX.js +50 -0
  361. package/server/{review-status-enrichment-Dci-ZwEt.js → review-status-enrichment-8NiNXi5W.js} +4 -4
  362. package/server/review-status-source-BLx_1siH.js +3 -0
  363. package/server/{review-status-source-CxuEjLGg.js → review-status-source-DIk1JSow.js} +24 -3
  364. package/server/{review-status-sync-BTOpxtTC.js → review-status-sync-0GxOqeqF.js} +11 -6
  365. package/server/{review-status-sync-DSDK3OMy.js → review-status-sync-muT-EBp2.js} +1 -1
  366. package/server/{review-verdict-feedback-CTd4QMBu.js → review-verdict-feedback-HwF6ODFy.js} +1 -1
  367. package/server/{review-verdict-feedback-CCjVA7Uk.js → review-verdict-feedback-xJNdqBnX.js} +65 -11
  368. package/server/{rollup-FGsKki9R.js → rollup-BQaol5TX.js} +8 -8
  369. package/server/{rollup-BKQC7jp4.js → rollup-BR4t_wck.js} +1 -1
  370. package/server/{scanner-CnqEZeDy.js → scanner-C-D2cFdX.js} +8 -7
  371. package/server/{sequence-io-D909zgeH.js → sequence-io-Bmf1EZM5.js} +4 -4
  372. package/server/{sequencer-agent-CzkcK6P5.js → sequencer-agent-CigMyKh2.js} +7 -6
  373. package/server/server.js +2005 -614
  374. package/server/{service-CLeAoU6G.js → service-CD0DvFvD.js} +114 -68
  375. package/server/{session-fork-CHI1XvL9.js → session-fork-B6cQ5eya.js} +2 -2
  376. package/server/{session-history-BT3IvqhC.js → session-history-3ON_IJjm.js} +7 -55
  377. package/server/settings-CVmWiJ-r.js +2 -0
  378. package/server/{settings-C0zgxOGf.js → settings-PilbFZAM.js} +3 -2
  379. package/server/{settings-BTMvpNFU.js → settings-VN0qOh4U.js} +3 -3
  380. package/server/{shadow-engineering-BJfgm-hX.js → shadow-engineering-DXvx77oE.js} +3 -3
  381. package/server/{shadow-state-7a-524T8.js → shadow-state-BBk_zacw.js} +2 -2
  382. package/server/{shadow-state-DnDyjujH.js → shadow-state-CZBp7pwq.js} +1 -1
  383. package/server/{shadow-utils-Db3oroFG.js → shadow-utils-DdZ05AJS.js} +2 -2
  384. package/server/{ship-log-D9MlVzYU.js → ship-log-7kJfjUX2.js} +1 -1
  385. package/server/{smart-compaction-CV2ukKND.js → smart-compaction-8fA5k5XN.js} +1 -1
  386. package/server/{smart-compaction-KCYScAU1.js → smart-compaction-ByhL9cRS.js} +8 -7
  387. package/server/{spawn-planning-session-DKpdFyOC.js → spawn-planning-session-pcF-YeFE.js} +38 -50
  388. package/server/spawn-planning-session-vLUJoFjy.js +3 -0
  389. package/server/{specialist-completion-Ky9wCDpb.js → specialist-completion-B07XjWD2.js} +1 -1
  390. package/server/{specialist-context-Bn3dCGS2.js → specialist-context-DJ-zFyL3.js} +5 -5
  391. package/server/{specialist-handoff-logger-CMEwYxa2.js → specialist-handoff-logger-aKSxbIgD.js} +2 -2
  392. package/server/{specialist-logs-C5p8G7tx.js → specialist-logs-Dae-n52_.js} +3 -3
  393. package/server/{specialists-CC4r-c2s.js → specialists-6PWdtWcg.js} +1177 -311
  394. package/server/{specialists-DM6bWjsi.js → specialists-Bz-wFT7R.js} +1 -1
  395. package/server/{specialists-jiuuyVkp.js → specialists-DUiExaxb.js} +18 -18
  396. package/server/{specialists-CShuVGWT.js → specialists-KR3pKulN.js} +1 -1
  397. package/server/specs--enInima.js +3 -0
  398. package/server/src-B948bGVR.js +11452 -0
  399. package/server/{src-CXmtj0im.js → src-rac0Mepv.js} +6 -6
  400. package/server/{src-CdmnTM2m.js → src-vHy2-oCv.js} +3 -3
  401. package/server/{stack-health-Bn3o8FBX.js → stack-health-BikqHSjn.js} +1 -1
  402. package/server/{stack-health-DxSdG9cW.js → stack-health-DqLTiEu4.js} +7 -5
  403. package/server/{stale-task-claims-KJKxxiiQ.js → stale-task-claims-Cab_Fo_Z.js} +5 -4
  404. package/server/{staleness-DPm7ClwA.js → staleness-C-a5rBxF.js} +1 -1
  405. package/server/{staleness-CT34nwr9.js → staleness-CGTZyp6V.js} +1 -1
  406. package/server/{state-home-Cn_Qu8IX.js → state-home-722Dkx92.js} +2 -2
  407. package/server/{state-mapping-BL_-3Yt8.js → state-mapping-CybR81Uf.js} +1 -1
  408. package/server/{state-migrate-BGg2ZaOt.js → state-migrate-2u8wIpoL.js} +4 -4
  409. package/server/{stuck-remediation-DYuPRYYw.js → stuck-remediation-CC6q3eqQ.js} +84 -26
  410. package/server/{stuck-remediation-s9_2qfi6.js → stuck-remediation-r1TJu68G.js} +1 -1
  411. package/server/{substrate-bug-weights-service-B-FwCs5V.js → substrate-bug-weights-service-CzIyyWFT.js} +3 -3
  412. package/server/{summary-fork-DpcxN9tf.js → summary-fork-BqgmgPDt.js} +2 -2
  413. package/server/{summary-fork-D1RAk9rJ.js → summary-fork-Df2WFijM.js} +8 -8
  414. package/server/supervisor/{injection-budget-Csw5tqfJ.js → injection-budget-Cg_KIb3o.js} +1 -1
  415. package/server/supervisor/{paths-DehGY2Fj.js → paths-BBOnCYlO.js} +10 -2
  416. package/server/supervisor/pty-supervisor.js +50 -4
  417. package/server/supervisor/{pty-token-x-ea28Us.js → pty-token-BbjwEUUM.js} +3 -3
  418. package/server/supervisor-B4anCCSm.js +2 -0
  419. package/server/{supervisor-wM4ooB5O.js → supervisor-BxqSpjcN.js} +3 -3
  420. package/server/{swarm-readiness-DlP_UjHq.js → swarm-readiness-DfFxa9-n.js} +3 -3
  421. package/server/{system-prerequisites-DUDj1YHf.js → system-prerequisites-ICLSkhhZ.js} +2 -2
  422. package/server/{teardown-workspace-DeTTImn-.js → teardown-workspace-DRdi_CPa.js} +15 -16
  423. package/server/{test-agent-queue-MbxX5vqq.js → test-agent-queue-A_-p-i0I.js} +8 -7
  424. package/server/{test-verdict-gscuksPv.js → test-verdict-BHgTAwIG.js} +1 -1
  425. package/server/{test-verdict-bWYBtqBg.js → test-verdict-C4i9aqEP.js} +1 -1
  426. package/server/{tldr-daemon-BYFkts95.js → tldr-daemon-CvWXBhX1.js} +1 -1
  427. package/server/{tldr-daemon-C-69c3OI.js → tldr-daemon-wvsU6bKv.js} +2 -2
  428. package/server/{tmux-R7N7y-Mh.js → tmux-CfDHob9M.js} +174 -4
  429. package/server/{tmux-B6z7h_vZ.js → tmux-Ctk6RV5l.js} +1 -1
  430. package/server/{token-BK6t8BIT.js → token-DrxwytsZ.js} +2 -2
  431. package/server/{token-util-DxXu-vd1.js → token-util-B48BlCba.js} +1 -1
  432. package/server/token-util-D411CAq9.js +3 -0
  433. package/server/{tracker-config-G6latr8C.js → tracker-config-BcPMElRB.js} +2 -2
  434. package/server/{tracker-utils-DHv5pSDT.js → tracker-utils-CJ6BHjcD.js} +3 -3
  435. package/server/{traefik-connect-Df2uXPsQ.js → traefik-connect-DZ6nMYMj.js} +1 -1
  436. package/server/{tunnel-DGdUkGoZ.js → tunnel-Bp-dRHZz.js} +1 -1
  437. package/server/{tunnel-CDVKJpRv.js → tunnel-DUbUPElU.js} +3 -3
  438. package/server/{typed-errors-BHhE85Ul.js → typed-errors-CKeoDdU3.js} +1 -1
  439. package/server/{typed-errors-2BTMxkZq.js → typed-errors-DyjseiB6.js} +1 -1
  440. package/server/{types-hraoaQIp.js → types-Cm5ASJbq.js} +1 -1
  441. package/server/{types-5M0lupud.js → types-Di8wdakq.js} +1 -1
  442. package/server/uat-promote-verification-CoJuh7XO.js +92 -0
  443. package/server/uat-train-4Q0k06CQ.js +0 -0
  444. package/server/uat-train-Dewoatps.js +2 -0
  445. package/server/{validate-IfDGkaVR.js → validate-B0C8p66t.js} +8 -6
  446. package/server/{validation-Dw1pzDzr.js → validation-B_kIRfNe.js} +4 -4
  447. package/server/{validation-CC9OPqJZ.js → validation-hVOwQk8T.js} +1 -1
  448. package/server/{verification-artifact-B3itKTxu.js → verification-artifact-BxlxTiYK.js} +1 -1
  449. package/server/{verification-artifact-TVFSz_q1.js → verification-artifact-D70AtckY.js} +1 -1
  450. package/server/{verification-runner-BW4HOKAz.js → verification-runner-Bc3cJvpC.js} +1 -1
  451. package/server/{verification-runner-CkgX6EtI.js → verification-runner-KZTz6u72.js} +40 -18
  452. package/server/{vtt-parser-DYPbKcIJ.js → vtt-parser-CE_i3Bcw.js} +1 -1
  453. package/server/{work-agent-prompt-Du8Vh2aJ.js → work-agent-prompt-ByrPAzOy.js} +20 -9
  454. package/server/{workflows-mbQzh6mQ.js → workflows-D0vP1WrK.js} +252 -99
  455. package/server/workflows-DtDX08ed.js +2 -0
  456. package/server/{workspace--8tnhDI0.js → workspace-COWvdibH.js} +1 -1
  457. package/server/{workspace-BPUws1-_.js → workspace-DQkRPLlQ.js} +3 -3
  458. package/server/workspace-anchor-drift-DXYIAHzr.js +224 -0
  459. package/server/workspace-anchor-drift-pwz23TI1.js +3 -0
  460. package/server/{workspace-config-CIVWZOQr.js → workspace-config-BdZM4PvZ.js} +1 -1
  461. package/server/{workspace-manager-CBhNdzE4.js → workspace-manager-BPgTrG66.js} +157 -118
  462. package/server/workspace-manager-C1F3XsnS.js +3 -0
  463. package/server/{workspace-metadata-BzHnwwX4.js → workspace-metadata-CdjzAP8x.js} +1 -1
  464. package/server/{workspace-metadata-_WygnyoX.js → workspace-metadata-DkO_iTLo.js} +2 -2
  465. package/server/{workspaces-Do_9J0LQ.js → workspaces-CRBJikLp.js} +749 -299
  466. package/sync-sources/dev-skills/pan-dashboard-restart/SKILL.md +34 -10
  467. package/sync-sources/hooks/linear-mcp-auth-hook +97 -0
  468. package/sync-sources/rules/ask-user-question-self-contained.md +9 -0
  469. package/sync-sources/skills/pan-close/SKILL.md +5 -3
  470. package/sync-sources/skills/pan-merge/SKILL.md +7 -5
  471. package/sync-sources/skills/pan-peer-review/SKILL.md +195 -0
  472. package/sync-sources/skills/pan-release/SKILL.md +57 -0
  473. package/sync-sources/skills/pan-reload/SKILL.md +3 -3
  474. package/sync-sources/skills/pan-restart/SKILL.md +5 -4
  475. package/sync-sources/skills/pan-review/SKILL.md +7 -1
  476. package/sync-sources/skills/pan-sync-main/SKILL.md +9 -8
  477. package/sync-sources/skills/pipeline-status/SKILL.md +10 -1
  478. package/sync-sources/skills/workspace-add-repo/SKILL.md +16 -1
  479. package/server/activity-logger-OEUBdfZ8.js +0 -3
  480. package/server/agent-state-Bc3tzUC8.js +0 -3
  481. package/server/agent-state-service-D5UGKIJL.js +0 -2
  482. package/server/agents-wi9NWzs2.js +0 -3
  483. package/server/archive-planning-BZDgzoEj.js +0 -3
  484. package/server/cli-B86rejVV.js +0 -3
  485. package/server/conflict-gate-BhAY7TUd.js +0 -3
  486. package/server/conversation-service-BLd3MYsG.js +0 -3
  487. package/server/deacon-kiQrb4ZT.js +0 -4
  488. package/server/deacon-swarm-C-GwfjJy.js +0 -2
  489. package/server/deploy-window-DkZraDyj.js +0 -3
  490. package/server/dist-Bzy0y69j.js +0 -3
  491. package/server/dod-C6n9RV3G.js +0 -66
  492. package/server/flywheel-merge-order-UU0tiUld.js +0 -245
  493. package/server/flywheel-merge-order-UUcsCDb6.js +0 -2
  494. package/server/forge-CNFnyqps.js +0 -270
  495. package/server/forge-DXnS_YFH.js +0 -2
  496. package/server/git-utils-D0_yhCgF.js +0 -3
  497. package/server/github-pr-lookup-D16NGsSO.js +0 -44
  498. package/server/hume-ccTf4wTX.js +0 -3
  499. package/server/inspect-agent-Brtz0URj.js +0 -2
  500. package/server/label-reconciler-B4iOAjlC.js +0 -113
  501. package/server/launcher-generator-BBWG_SiS.js +0 -473
  502. package/server/merge-ops-CR44oU9-.js +0 -2
  503. package/server/merge-set-bUqbm3yc.js +0 -3
  504. package/server/merge-sync-BJYeOODr.js +0 -3
  505. package/server/merge-verification-BkaOqPsw.js +0 -124
  506. package/server/pipeline-membership-mY3GprlK.js +0 -420
  507. package/server/project-repos-DXKQsc_m.js +0 -3
  508. package/server/projects-vjjcmiN8.js +0 -3
  509. package/server/public/assets/index-CWeMerGO.js +0 -804
  510. package/server/public/assets/index-CenuJ3Cw.css +0 -1
  511. package/server/public/assets/mermaid-GHXKKRXX-CpPWAFwE.js +0 -1
  512. package/server/rally-zhhtXuDP.js +0 -3
  513. package/server/record-CN0pj4_5.js +0 -3
  514. package/server/record-update-bLJxAXH4.js +0 -3
  515. package/server/resume-BFv1PGpA.js +0 -3
  516. package/server/review-status-btEYlaxA.js +0 -3
  517. package/server/review-status-kZj_KyCk.js +0 -1470
  518. package/server/settings-66A6uvIA.js +0 -2
  519. package/server/spawn-planning-session-qUC2VWu3.js +0 -2
  520. package/server/specs-C8Wsn2XO.js +0 -3
  521. package/server/src-DtcUOZCq.js +0 -4826
  522. package/server/supervisor-FTJAIsAK.js +0 -2
  523. package/server/token-util-DuPuNriz.js +0 -3
  524. package/server/tracker-utils-B4ylXZQK.js +0 -3
  525. package/server/uat-train-B05BWkp-.js +0 -2
  526. package/server/uat-train-DDSrSoV1.js +0 -2152
  527. package/server/workflows-BQu4RFQ-.js +0 -2
  528. package/server/workspace-manager-CWT55qeI.js +0 -3
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-_d6XhyND.js";
2
+ import { r as init_devcontainer_renderer, t as DEVCONTAINER_DIRNAME } from "./devcontainer-renderer-BUOIlfgD.js";
3
3
  import { existsSync, readFileSync } from "fs";
4
4
  import { join } from "path";
5
5
  import { exec } from "child_process";
@@ -195,4 +195,4 @@ var init_docker = __esmMin((() => {
195
195
  //#endregion
196
196
  export { teardownWorkspaceDockerByNamePromise as i, init_docker as n, stopWorkspaceDockerPromise as r, getContainersReferencingWorkspacePathPromise as t };
197
197
 
198
- //# sourceMappingURL=docker-DcMTFTUC.js.map
198
+ //# sourceMappingURL=docker-BJzlkqYB.js.map
@@ -0,0 +1,3 @@
1
+ import { i as teardownWorkspaceDockerByNamePromise, n as init_docker } from "./docker-BJzlkqYB.js";
2
+ init_docker();
3
+ export { teardownWorkspaceDockerByNamePromise };
@@ -0,0 +1,91 @@
1
+ //#region ../../lib/lifecycle/dod.ts
2
+ const DOD_ROWS = [
3
+ {
4
+ id: "review",
5
+ num: 1,
6
+ title: "Review passed",
7
+ expected: "reviewStatus: passed, or tracker-closed with landed work and no negative review verdict",
8
+ overridable: true
9
+ },
10
+ {
11
+ id: "tests",
12
+ num: 2,
13
+ title: "Tests passed",
14
+ expected: "testStatus: passed, or tracker-closed with landed work (negative verdict requires main verification pass)",
15
+ overridable: true
16
+ },
17
+ {
18
+ id: "verification",
19
+ num: 3,
20
+ title: "Verification green on the branch",
21
+ expected: "verificationStatus: passed, or tracker-closed with landed work (negative verdict requires main verification pass)",
22
+ overridable: true
23
+ },
24
+ {
25
+ id: "merged",
26
+ num: 4,
27
+ title: "Merged to main",
28
+ expected: "PR merged on the forge (feature or strike head), or branch work contained in main (non-PR landing)",
29
+ overridable: true
30
+ },
31
+ {
32
+ id: "post-merge",
33
+ num: 5,
34
+ title: "Post-merge lifecycle ran",
35
+ expected: "agents paused, workspace stack stopped, and verifying-on-main label applied",
36
+ overridable: true
37
+ },
38
+ {
39
+ id: "main-verify",
40
+ num: 6,
41
+ title: "Verified on main",
42
+ expected: "merged commit verified on main",
43
+ overridable: true
44
+ },
45
+ {
46
+ id: "deploy",
47
+ num: 7,
48
+ title: "Deployed",
49
+ expected: "live server build includes the merged commit",
50
+ overridable: true
51
+ },
52
+ {
53
+ id: "teardown",
54
+ num: 8,
55
+ title: "Close-out teardown verified",
56
+ expected: "workspace and configured branches removed, planning archived, issue closed, and Docker network removed",
57
+ overridable: false
58
+ }
59
+ ];
60
+ function acceptFlagFor(row) {
61
+ return `--accept-${row.id}`;
62
+ }
63
+ function canAcceptDodMisses(actor) {
64
+ return !actor.startsWith("flywheel-");
65
+ }
66
+ const BRANCH_ABSENT_MERGE_ERROR = "Feature branch is absent; positive merge evidence is required";
67
+ /**
68
+ * PAN-3211: the gate result for an abandoned disposition — every row skipped
69
+ * with the operator's note, so the durable audit shows the gate was
70
+ * deliberately not evaluated rather than silently green.
71
+ */
72
+ function buildAbandonedDodGate(reason, by) {
73
+ return {
74
+ rows: DOD_ROWS.map((row) => ({
75
+ ...row,
76
+ status: "skip",
77
+ observed: `gate not evaluated — abandoned disposition recorded by ${by}: ${reason}`
78
+ })),
79
+ misses: [],
80
+ accepted: [],
81
+ passed: true,
82
+ disposition: {
83
+ reason,
84
+ by
85
+ }
86
+ };
87
+ }
88
+ //#endregion
89
+ export { canAcceptDodMisses as a, buildAbandonedDodGate as i, DOD_ROWS as n, acceptFlagFor as r, BRANCH_ABSENT_MERGE_ERROR as t };
90
+
91
+ //# sourceMappingURL=dod-DlNtcH6n.js.map
@@ -0,0 +1,20 @@
1
+ import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
+ //#region ../../lib/cloister/durable-review-pipeline.ts
3
+ function registerDurableReviewPipelineHandler(nextHandler) {
4
+ handler = nextHandler;
5
+ }
6
+ function hasDurableReviewPipelineHandler() {
7
+ return handler !== null;
8
+ }
9
+ /** Re-enters the dashboard-owned verification → push → review path. */
10
+ async function startDurableReviewPipelineHostSide(input) {
11
+ return handler ? handler(input) : false;
12
+ }
13
+ var handler;
14
+ var init_durable_review_pipeline = __esmMin((() => {
15
+ handler = null;
16
+ }));
17
+ //#endregion
18
+ export { startDurableReviewPipelineHostSide as i, init_durable_review_pipeline as n, registerDurableReviewPipelineHandler as r, hasDurableReviewPipelineHandler as t };
19
+
20
+ //# sourceMappingURL=durable-review-pipeline-Cibps-Rg.js.map
@@ -0,0 +1,3 @@
1
+ import { i as startDurableReviewPipelineHostSide, n as init_durable_review_pipeline, t as hasDurableReviewPipelineHandler } from "./durable-review-pipeline-Cibps-Rg.js";
2
+ init_durable_review_pipeline();
3
+ export { hasDurableReviewPipelineHandler, startDurableReviewPipelineHostSide };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
- import { a as renderDevcontainerSync, r as init_devcontainer_renderer } from "./devcontainer-renderer-_d6XhyND.js";
4
- import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-5M0lupud.js";
2
+ import { Gn as init_projects, ar as resolveProjectFromIssueSync, zn as getProjectSync } from "./config-yaml-CxdwhAIA.js";
3
+ import { a as renderDevcontainerSync, r as init_devcontainer_renderer } from "./devcontainer-renderer-BUOIlfgD.js";
4
+ import { a as stepSkipped, i as stepOk, n as init_types, r as stepFailed } from "./types-Di8wdakq.js";
5
5
  import { Effect } from "effect";
6
6
  import { existsSync } from "fs";
7
7
  import { basename, join } from "path";
@@ -107,4 +107,4 @@ var init_ensure_devcontainer = __esmMin((() => {
107
107
  //#endregion
108
108
  export { ensureDevcontainerSync as n, init_ensure_devcontainer as r, ensureDevcontainer as t };
109
109
 
110
- //# sourceMappingURL=ensure-devcontainer-DNi-ono3.js.map
110
+ //# sourceMappingURL=ensure-devcontainer-BAofzBPv.js.map
@@ -1,3 +1,3 @@
1
- import { n as ensureDevcontainerSync, r as init_ensure_devcontainer, t as ensureDevcontainer } from "./ensure-devcontainer-DNi-ono3.js";
1
+ import { n as ensureDevcontainerSync, r as init_ensure_devcontainer, t as ensureDevcontainer } from "./ensure-devcontainer-BAofzBPv.js";
2
2
  init_ensure_devcontainer();
3
3
  export { ensureDevcontainer, ensureDevcontainerSync };
@@ -12,4 +12,4 @@ var init_esm_shims = __esmMin((() => {
12
12
  //#endregion
13
13
  export { __filename as n, init_esm_shims as r, __dirname as t };
14
14
 
15
- //# sourceMappingURL=esm-shims-OSHAYaS1.js.map
15
+ //# sourceMappingURL=esm-shims-BeObUkaw.js.map
@@ -1,3 +1,3 @@
1
- import { a as init_event_store, i as initEventStore, n as getEventStore, o as openEventDb, r as getSharedDb, t as createEventStore } from "./event-store-CQL6NeqB.js";
1
+ import { a as init_event_store, i as initEventStore, n as getEventStore, o as openEventDb, r as getSharedDb, t as createEventStore } from "./event-store-CrHcVC5_.js";
2
2
  init_event_store();
3
3
  export { createEventStore, getEventStore, getSharedDb, initEventStore, openEventDb };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
3
- import { a as init_activity_logger, o as setActivityEventStoreProvider } from "./activity-logger-DDlOIAML.js";
4
- import { A as init_paths$1, d as getOverdeckDatabaseSync, f as init_infra, k as getOverdeckDatabasePath } from "./infra-BEqFxlJc.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
+ import { o as init_activity_logger, s as setActivityEventStoreProvider } from "./activity-logger-CyteR4JO.js";
4
+ import { A as init_paths$1, d as getOverdeckDatabaseSync, f as init_infra, k as getOverdeckDatabasePath } from "./infra-BDQDRopn.js";
5
5
  import { existsSync } from "node:fs";
6
6
  import { EventEmitter } from "node:events";
7
7
  import { mkdir } from "node:fs/promises";
@@ -59,6 +59,15 @@ function createEventStore(db) {
59
59
  const latestSeqStmt = db.prepare(`SELECT MAX(sequence) AS seq FROM events`);
60
60
  const lastRowIdStmt = db.prepare(`SELECT last_insert_rowid() AS sequence`);
61
61
  const queryByTypeStmt = db.prepare(`SELECT sequence, type, timestamp, payload FROM events WHERE type = ? ORDER BY sequence DESC LIMIT ?`);
62
+ const queryLatestPerIssueStmt = db.prepare(`SELECT e.sequence, e.type, e.timestamp, e.payload
63
+ FROM events e
64
+ JOIN (
65
+ SELECT json_extract(payload, '$.issueId') AS issue_id, MAX(sequence) AS max_seq
66
+ FROM events
67
+ WHERE type = ?
68
+ GROUP BY issue_id
69
+ ) latest ON e.sequence = latest.max_seq
70
+ ORDER BY e.sequence ASC`);
62
71
  const purgeTypeStmt = db.prepare(`DELETE FROM events WHERE type = ?`);
63
72
  let writeQueue = [];
64
73
  let flushScheduled = false;
@@ -163,6 +172,14 @@ function createEventStore(db) {
163
172
  function queryByType(type, limit = 100) {
164
173
  return queryByTypeStmt.all([type, limit]).map(rowToStored).reverse();
165
174
  }
175
+ function queryLatestPerIssue(type) {
176
+ return queryLatestPerIssueStmt.all([type]).map(rowToStored);
177
+ }
178
+ function queryByTypesSince(types, afterSequence) {
179
+ if (types.length === 0) return [];
180
+ const placeholders = types.map(() => "?").join(", ");
181
+ return db.prepare(`SELECT sequence, type, timestamp, payload FROM events WHERE sequence > ? AND type IN (${placeholders}) ORDER BY sequence ASC`).all([afterSequence, ...types]).map(rowToStored);
182
+ }
166
183
  function emitStored(event) {
167
184
  emitter.emit("event", event);
168
185
  }
@@ -172,6 +189,8 @@ function createEventStore(db) {
172
189
  emitOnly,
173
190
  readFrom,
174
191
  queryByType,
192
+ queryLatestPerIssue,
193
+ queryByTypesSince,
175
194
  subscribe,
176
195
  compact,
177
196
  purgeType,
@@ -236,4 +255,4 @@ var init_event_store = __esmMin((() => {
236
255
  //#endregion
237
256
  export { init_event_store as a, initEventStore as i, getEventStore as n, openEventDb as o, getSharedDb as r, createEventStore as t };
238
257
 
239
- //# sourceMappingURL=event-store-CQL6NeqB.js.map
258
+ //# sourceMappingURL=event-store-CrHcVC5_.js.map
@@ -1,6 +1,6 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Jn as extractPrefixSync, Tn as init_projects, Yn as init_issue_id, kn as listProjectsSync, mr as init_errors } from "./config-yaml-DySPNmKN.js";
3
- import { d as init_cost_sync, f as insertCostEventSync } from "./cost-sync-BsN6ER0n.js";
2
+ import { Fr as init_errors, Gn as init_projects, Yn as listProjectsSync, gr as init_issue_id, hr as extractPrefixSync } from "./config-yaml-CxdwhAIA.js";
3
+ import { d as init_cost_sync, f as insertCostEventSync } from "./cost-sync-tOCCGnEt.js";
4
4
  import "effect";
5
5
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from "fs";
6
6
  import { join } from "path";
@@ -245,4 +245,4 @@ var init_events = __esmMin((() => {
245
245
  //#endregion
246
246
  export { readEventsFromLineSync as a, tailEventsSync as c, init_events as i, init_wal as l, deduplicateEventsSync as n, readEventsSync as o, getLastEventMetadataSync as r, replaceEventsFileSync as s, appendCostEventSync as t };
247
247
 
248
- //# sourceMappingURL=events-DTfAe4My.js.map
248
+ //# sourceMappingURL=events-BNrvchBg.js.map
@@ -1,3 +1,3 @@
1
- import { i as init_events, o as readEventsSync } from "./events-DTfAe4My.js";
1
+ import { i as init_events, o as readEventsSync } from "./events-BNrvchBg.js";
2
2
  init_events();
3
3
  export { readEventsSync };
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { cr as LinearApiError, f as loadConfigSync, mr as init_errors, or as GitHubApiError, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
3
- import { n as init_dist_src, t as Octokit } from "./dist-src-BSoS7mkd.js";
4
- import { a as TrackerAuthError, i as NotImplementedError, o as init_interface, r as IssueNotFoundError } from "./rally-api-C8e_1JRi.js";
5
- import { n as init_rally, t as RallyTracker } from "./rally-CyWT_lNO.js";
2
+ import { Dr as GitHubApiError, Fr as init_errors, f as loadConfigSync, kr as LinearApiError, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
+ import { n as init_dist_src, t as Octokit } from "./dist-src-C0adpegX.js";
4
+ import { a as TrackerAuthError, i as NotImplementedError, o as init_interface, r as IssueNotFoundError } from "./rally-api-8Ptlp2os.js";
5
+ import { n as init_rally, t as RallyTracker } from "./rally-CPysR4T_.js";
6
6
  import { Effect } from "effect";
7
7
  import { LinearClient } from "@linear/sdk";
8
8
  //#region ../../lib/tracker/linear.ts
@@ -719,4 +719,4 @@ var init_factory = __esmMin((() => {
719
719
  //#endregion
720
720
  export { init_linear as a, LinearTracker as i, createTrackerFromConfig as n, init_factory as r, createTracker as t };
721
721
 
722
- //# sourceMappingURL=factory-CFibJuaw.js.map
722
+ //# sourceMappingURL=factory-Cmm9Hsho.js.map
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
3
- import { r as updateFeatureRegistryOwnership, t as init_feature_registry_storage } from "./feature-registry-storage-BdPuLcBX.js";
4
- import { t as init_providers } from "./providers-qQAwGQDW.js";
2
+ import { t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
+ import { r as updateFeatureRegistryOwnership, t as init_feature_registry_storage } from "./feature-registry-storage-DJEFx1Pf.js";
4
+ import { t as init_providers } from "./providers-BJQSnAAp.js";
5
5
  import { basename } from "node:path";
6
6
  import { Schema } from "effect";
7
7
  //#region ../../lib/registry/feature-registry-population.ts
@@ -40,4 +40,4 @@ var init_feature_registry_population = __esmMin((() => {
40
40
  //#endregion
41
41
  export { recordFeatureRegistryLifecycle as n, init_feature_registry_population as t };
42
42
 
43
- //# sourceMappingURL=feature-registry-population-DKZFMbFt.js.map
43
+ //# sourceMappingURL=feature-registry-population-B6HpNWRy.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Br as getOverdeckHome, Vr as init_paths } from "./config-yaml-DySPNmKN.js";
2
+ import { ci as getOverdeckHome, li as init_paths } from "./config-yaml-CxdwhAIA.js";
3
3
  import { n as openDatabase, t as init_driver } from "./driver-CKVGi51s.js";
4
4
  import { dirname, join } from "node:path";
5
5
  import { mkdirSync } from "node:fs";
@@ -263,4 +263,4 @@ var init_feature_registry_storage = __esmMin((() => {
263
263
  //#endregion
264
264
  export { listFeatureRegistryEntries as n, updateFeatureRegistryOwnership as r, init_feature_registry_storage as t };
265
265
 
266
- //# sourceMappingURL=feature-registry-storage-BdPuLcBX.js.map
266
+ //# sourceMappingURL=feature-registry-storage-DJEFx1Pf.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-DySPNmKN.js";
2
+ import { f as loadConfigSync, t as init_config_yaml } from "./config-yaml-CxdwhAIA.js";
3
3
  //#region ../../lib/background-ai/features.ts
4
4
  /**
5
5
  * The single gate every background AI caller must consult before invoking a
@@ -18,4 +18,4 @@ var init_features = __esmMin((() => {
18
18
  //#endregion
19
19
  export { isBackgroundFeatureEnabled as n, init_features as t };
20
20
 
21
- //# sourceMappingURL=features-ez2271oH.js.map
21
+ //# sourceMappingURL=features-D5km80UI.js.map
@@ -1,3 +1,3 @@
1
- import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-7mqqwrX6.js";
1
+ import { n as resolveIssueFeedbackTarget, r as surfaceIssueFeedbackNeedsYou, t as init_feedback_target } from "./feedback-target-DSxEL6lP.js";
2
2
  init_feedback_target();
3
3
  export { resolveIssueFeedbackTarget, surfaceIssueFeedbackNeedsYou };
@@ -1,7 +1,7 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Nt as readIssueRecordSync, Ot as init_record, Tn as init_projects, yn as getProjectSync, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
- import { n as updateIssueRecord, t as init_record_update } from "./record-update-dE1Aw83j.js";
4
- import { H as sessionExists, M as listSessionNames, w as init_tmux } from "./tmux-R7N7y-Mh.js";
2
+ import { Gn as init_projects, Pt as init_record, ar as resolveProjectFromIssueSync, zn as getProjectSync, zt as readIssueRecordSync } from "./config-yaml-CxdwhAIA.js";
3
+ import { i as updateIssueRecord, r as init_record_update } from "./record-update-DaOKS7Wb.js";
4
+ import { H as sessionExists, M as listSessionNames, w as init_tmux } from "./tmux-CfDHob9M.js";
5
5
  import { Effect } from "effect";
6
6
  //#region ../../lib/cloister/feedback-target.ts
7
7
  async function isLiveSession(agentId) {
@@ -108,7 +108,7 @@ async function resolveIssueFeedbackTarget(issueId, opts = {}) {
108
108
  */
109
109
  async function resurrectAgentForFeedback(agentId, issueId) {
110
110
  try {
111
- const { getAgentStateSync, clearAgentPausedSync, clearAgentTroubledSync } = await import("./agent-state-Bc3tzUC8.js");
111
+ const { getAgentStateSync, clearAgentPausedSync, clearAgentTroubledSync } = await import("./agent-state-CYXJVG72.js");
112
112
  const state = getAgentStateSync(agentId);
113
113
  if (!state) return false;
114
114
  if (state.paused === true) {
@@ -124,7 +124,7 @@ async function resurrectAgentForFeedback(agentId, issueId) {
124
124
  console.warn(`[feedback-target] ${agentId} is gated (troubled=${state.troubled === true}, failures=${state.consecutiveFailures ?? 0}) — clearing for one resurrection attempt to deliver ${issueId} feedback; failure tracking re-trips the gate on another crash`);
125
125
  clearAgentTroubledSync(agentId);
126
126
  }
127
- const { resumeAgent } = await import("./resume-BFv1PGpA.js");
127
+ const { resumeAgent } = await import("./resume-mOREjlYu.js");
128
128
  const result = await resumeAgent(agentId);
129
129
  if (!result.success) {
130
130
  console.warn(`[feedback-target] Failed to resurrect ${agentId} for ${issueId} feedback: ${result.error}`);
@@ -138,8 +138,8 @@ async function resurrectAgentForFeedback(agentId, issueId) {
138
138
  }
139
139
  async function surfaceIssueFeedbackNeedsYou(issueId, reason, details = {}) {
140
140
  try {
141
- const { markWorkspaceStuck } = await import("./review-status-btEYlaxA.js");
142
- markWorkspaceStuck(issueId, "feedback_delivery_needs_you", {
141
+ const { markWorkspaceStuck, FEEDBACK_DELIVERY_STUCK_REASON } = await import("./review-status-Dma9SFaN.js");
142
+ markWorkspaceStuck(issueId, FEEDBACK_DELIVERY_STUCK_REASON, {
143
143
  reason,
144
144
  ...details
145
145
  });
@@ -157,4 +157,4 @@ var init_feedback_target = __esmMin((() => {
157
157
  //#endregion
158
158
  export { resolveIssueFeedbackTarget as n, surfaceIssueFeedbackNeedsYou as r, init_feedback_target as t };
159
159
 
160
- //# sourceMappingURL=feedback-target-7mqqwrX6.js.map
160
+ //# sourceMappingURL=feedback-target-DSxEL6lP.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as __esmMin } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Tn as init_projects, zn as resolveProjectFromIssueSync } from "./config-yaml-DySPNmKN.js";
3
- import { I as getWorkspacePanPaths } from "./io-C9kF1wtJ.js";
4
- import { c as clearFeedback, l as readFeedback, t as init_pan_dir, u as writeFeedback } from "./pan-dir-B0c3w0Ya.js";
5
- import { a as init_lifecycle_io, n as appendFeedbackEntryForIssue, o as readContinueStateForIssue, r as clearFeedbackForIssue, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-BREGpnLk.js";
2
+ import { Gn as init_projects, ar as resolveProjectFromIssueSync } from "./config-yaml-CxdwhAIA.js";
3
+ import { I as getWorkspacePanPaths } from "./io-B00PBNku.js";
4
+ import { c as clearFeedback, l as readFeedback, t as init_pan_dir, u as writeFeedback } from "./pan-dir-DMzF5wne.js";
5
+ import { a as init_lifecycle_io, n as appendFeedbackEntryForIssue, o as readContinueStateForIssue, r as clearFeedbackForIssue, t as appendContinueSessionEntryForIssue } from "./lifecycle-io-DCo6s6ks.js";
6
6
  import { Data, Effect } from "effect";
7
7
  import { existsSync } from "fs";
8
8
  import { join } from "path";
@@ -149,4 +149,4 @@ var init_feedback_writer = __esmMin((() => {
149
149
  //#endregion
150
150
  export { writeFeedbackFile as a, init_feedback_writer as i, archiveFeedbackFiles as n, clearFeedbackFiles as r, FeedbackWriteError as t };
151
151
 
152
- //# sourceMappingURL=feedback-writer-CY5L1lB7.js.map
152
+ //# sourceMappingURL=feedback-writer-C27Hak8a.js.map
@@ -1,3 +1,3 @@
1
- import { a as writeFeedbackFile, i as init_feedback_writer, n as archiveFeedbackFiles, r as clearFeedbackFiles, t as FeedbackWriteError } from "./feedback-writer-CY5L1lB7.js";
1
+ import { a as writeFeedbackFile, i as init_feedback_writer, n as archiveFeedbackFiles, r as clearFeedbackFiles, t as FeedbackWriteError } from "./feedback-writer-C27Hak8a.js";
2
2
  init_feedback_writer();
3
3
  export { FeedbackWriteError, archiveFeedbackFiles, clearFeedbackFiles, writeFeedbackFile };
@@ -1,16 +1,17 @@
1
1
  import { a as __toCommonJS } from "./rolldown-runtime-DNCzzKnI.js";
2
- import { Ht as flushAutoCommits, Tn as init_projects, Ut as init_auto_commit, Wt as queueAutoCommit, fn as findProjectByPathSync, nn as init_state_read_home, rn as resolveStateReadHomeSync, vn as getProjectSwarmHotspots } from "./config-yaml-DySPNmKN.js";
3
- import { S as FlywheelStatus, d as OrderBookIndexEntry, t as init_src, u as OrderBook, x as FlywheelRunId } from "./src-DtcUOZCq.js";
4
- import { c as getReviewStatusSync, l as init_review_status } from "./review-status-kZj_KyCk.js";
5
- import { a as countAgentsByStatusRole, o as init_agents } from "./agents-EbI0zCJl.js";
6
- import { Gn as getAgentDir, b as init_agents$1, ft as stopAgent, ut as spawnRun } from "./queries-CjNIf-Ub.js";
7
- import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-Yx5DdmVJ.js";
8
- import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-s0-oKybJ.js";
9
- import { d as isFlywheelAutoPickupBacklog, f as isFlywheelGloballyPaused, i as getFlywheelActiveRunId, p as isFlywheelRequireUatBeforeMerge, s as init_control_settings, x as setFlywheelGloballyPaused, y as setFlywheelActiveRunId } from "./control-settings-BQp7_4uD.js";
10
- import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-D909zgeH.js";
11
- import { l as computeCohort, m as init_pickup, n as LEGACY_PARKED_LABELS } from "./pickup-DUCLWrJY.js";
12
- import { a as declaredIssueFootprint, i as computePredictedConflictSignals, s as pickFromSequence } from "./flywheel-merge-order-UU0tiUld.js";
13
- import { i as gatherProjectLensSignals, n as init_pipeline_membership, o as init_pipeline_membership_gather, r as resolvePipelineMembership } from "./pipeline-membership-mY3GprlK.js";
2
+ import { Cn as resolveStateReadHomeSync, Gn as init_projects, Mn as findProjectByPathSync, Rn as getProjectSwarmHotspots, Sn as init_state_read_home, cn as flushAutoCommits, ln as init_auto_commit, un as queueAutoCommit } from "./config-yaml-CxdwhAIA.js";
3
+ import { C as FlywheelStatus, S as FlywheelRunId, d as OrderBook, f as OrderBookIndexEntry, t as init_src } from "./src-B948bGVR.js";
4
+ import { d as getReviewStatusSync, p as init_review_status } from "./review-status-CGvlA4o_.js";
5
+ import { a as countAgentsByStatusRole, o as init_agents } from "./agents-J5mEnekq.js";
6
+ import { $n as getAgentDir, Er as init_resume_contract, Tr as buildResumeContract, b as init_agents$1, dt as spawnRun, pt as stopAgent } from "./queries-C-MUZaIy.js";
7
+ import { n as init_issue_service_singleton, r as issue_service_singleton_exports } from "./issue-service-singleton-C6ZduvuY.js";
8
+ import { o as getInternalTokenSync, s as init_internal_token, t as INTERNAL_TOKEN_HEADER } from "./internal-token-DzK385vD.js";
9
+ import { C as setFlywheelGloballyPaused, c as init_control_settings, f as isFlywheelAutoPickupBacklog, i as getFlywheelActiveRunId, m as isFlywheelRequireUatBeforeMerge, p as isFlywheelGloballyPaused, x as setFlywheelActiveRunId } from "./control-settings-CiqGxXnc.js";
10
+ import { n as parseSequenceMd, t as init_sequence_io } from "./sequence-io-Bmf1EZM5.js";
11
+ import { h as init_pickup, r as LEGACY_PARKED_LABELS, u as computeCohort } from "./pickup-DWhqzliO.js";
12
+ import { a as gatherProjectLensSignals, s as init_pipeline_membership_gather } from "./pipeline-membership-gather-CeVGnNJ2.js";
13
+ import { n as init_pipeline_membership, r as resolvePipelineMembership } from "./pipeline-membership-D9SBvItj.js";
14
+ import { a as computePredictedConflictSignals, l as pickFromSequence, o as declaredIssueFootprint } from "./flywheel-merge-order-D_xLMbJU.js";
14
15
  import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
15
16
  import { Effect, Schema } from "effect";
16
17
  import { homedir } from "node:os";
@@ -60,6 +61,20 @@ function orderBookIndexPath(stateRoot) {
60
61
  function backlogSequencePath(stateRoot) {
61
62
  return join(stateRoot, "backlog", "sequence.md");
62
63
  }
64
+ async function readOrderBookAsync(stateRoot, bookId) {
65
+ const path = orderBookPath(stateRoot, bookId);
66
+ let value;
67
+ try {
68
+ value = JSON.parse(await readFile(path, "utf8"));
69
+ } catch (error) {
70
+ if (error.code === "ENOENT") return null;
71
+ throw new Error(`Could not parse order book ${bookId}: ${error instanceof Error ? error.message : String(error)}`);
72
+ }
73
+ const parsed = parseOrderBookJson(value);
74
+ if (!parsed.ok) throw new Error(`Could not parse order book ${bookId}: ${parsed.error}`);
75
+ if (parsed.book.id !== bookId) throw new Error(`Order book ${bookId} contains mismatched id ${parsed.book.id}`);
76
+ return parsed.book;
77
+ }
63
78
  function readOrderBook(stateRoot, bookId) {
64
79
  const path = orderBookPath(stateRoot, bookId);
65
80
  if (!existsSync(path)) return null;
@@ -208,6 +223,9 @@ function listBooks(stateRoot) {
208
223
  function getBook(stateRoot, bookId) {
209
224
  return readOrderBook(stateRoot, bookId);
210
225
  }
226
+ function getBookAsync(stateRoot, bookId) {
227
+ return readOrderBookAsync(stateRoot, bookId);
228
+ }
211
229
  function membership(stateRoot) {
212
230
  const result = /* @__PURE__ */ new Map();
213
231
  for (const book of listBooks(stateRoot)) {
@@ -509,8 +527,13 @@ function enrichFlywheelStatusWithOrders(status, book, progress) {
509
527
  }
510
528
  async function mechanicallyEnrichOrdersStatus(status, options) {
511
529
  const launch = await readFlywheelLaunchMetadata(status.runId, options);
530
+ const { scope: _claimedScope, ...unscoped } = status;
531
+ const scoped = launch?.scope ? {
532
+ ...unscoped,
533
+ scope: launch.scope
534
+ } : unscoped;
512
535
  if (!launch?.orders) {
513
- const { orders: _untrustedOrders, ...booklessStatus } = status;
536
+ const { orders: _untrustedOrders, ...booklessStatus } = scoped;
514
537
  return booklessStatus;
515
538
  }
516
539
  const stateRoot = options.orderStateRoot?.(launch.workspace) ?? (() => {
@@ -522,7 +545,7 @@ async function mechanicallyEnrichOrdersStatus(status, options) {
522
545
  if (!book) throw new Error(`Flywheel run ${status.runId} references missing order book ${launch.orders.bookId}`);
523
546
  const progress = (options.computeOrderProgress ?? computeBookProgress)(book);
524
547
  if (progress.drained && book.status === "running") await (options.setOrderStatus ?? setStatus)(stateRoot, book.id, "drained", { runId: book.runId });
525
- return enrichFlywheelStatusWithOrders(status, book, progress);
548
+ return enrichFlywheelStatusWithOrders(scoped, book, progress);
526
549
  }
527
550
  async function writeLatestFlywheelStatus(status, options = {}) {
528
551
  const enriched = await mechanicallyEnrichOrdersStatus(status, options);
@@ -546,6 +569,7 @@ function decodeLaunchMetadata(payload) {
546
569
  const orders = record.orders;
547
570
  if (!orders || typeof orders !== "object" || typeof orders.bookId !== "string" || !orders.bookId) throw new Error("Invalid Flywheel launch metadata: orders.bookId");
548
571
  }
572
+ if (record.scope !== void 0 && record.scope !== "pan-only" && record.scope !== "all-tracked-projects") throw new Error("Invalid Flywheel launch metadata: scope");
549
573
  return record;
550
574
  }
551
575
  async function writeFlywheelLaunchMetadata(metadata, options = {}) {
@@ -657,6 +681,7 @@ async function getFlywheelRunDetail(runId, options = {}) {
657
681
  status,
658
682
  latest: withLiveAgentsActive(latest, liveCount),
659
683
  ...latest.orders ? { orders: latest.orders } : {},
684
+ ...latest.scope ? { scope: latest.scope } : {},
660
685
  paths: {
661
686
  latest: join(runDir, "latest.json"),
662
687
  ...await fileExists(reportPath) ? { report: reportPath } : {},
@@ -803,6 +828,7 @@ init_control_settings();
803
828
  init_pickup();
804
829
  init_pipeline_membership_gather();
805
830
  init_pipeline_membership();
831
+ init_resume_contract();
806
832
  const FLYWHEEL_ORCHESTRATOR_AGENT_ID = "flywheel-orchestrator";
807
833
  function isIssueInResolvedPipeline(issueId, memberships) {
808
834
  return memberships.some((membership) => membership.issueId.toUpperCase() === issueId.toUpperCase() && membership.inPipeline);
@@ -817,7 +843,7 @@ async function activeOrderBookIssues(projectRoot, runId, deps = {}) {
817
843
  return project ? resolveStateReadHomeSync(project).root : null;
818
844
  })();
819
845
  if (!stateRoot) return /* @__PURE__ */ new Set();
820
- const book = (deps.getBook ?? getBook)(stateRoot, bookId);
846
+ const book = await (deps.getBook ?? getBookAsync)(stateRoot, bookId);
821
847
  return new Set(book?.items.map((item) => item.issue.toUpperCase()) ?? []);
822
848
  }
823
849
  const FlywheelRunIdSchema = Schema.String.check(Schema.isPattern(/^RUN-\d+$/));
@@ -980,8 +1006,8 @@ function isFlywheelDevcontainerRuntime(env = process.env) {
980
1006
  * resume + context compaction — the pre-PAN-2006 resume prompt only pointed at
981
1007
  * FLYWHEEL-STATE.md and a long-running orchestrator could drift off-brief.
982
1008
  */
983
- function buildFlywheelResumePrompt(configSection, briefContent) {
984
- return `FLYWHEEL RESUME: You were paused by the operator. Resume the tick loop from your prior state. Check \`docs/FLYWHEEL-STATE.md\` and the latest status snapshot for context.${configSection}${briefContent ? `\n\n--- Standing brief (re-read it — it governs pickup, unblocking, and never-block) ---\n\n${briefContent}` : ""}`;
1009
+ function buildFlywheelResumePrompt(configSection, briefContent, cause = "system") {
1010
+ return `${`FLYWHEEL RESUME: ${buildResumeContract(cause)} Resume the tick loop from your prior state, run a full tick now, and call ScheduleWakeup(delaySeconds:1000) to arm the next tick. Check \`docs/FLYWHEEL-STATE.md\` and the latest status snapshot for context.`}${configSection}${briefContent ? `\n\n--- Standing brief (re-read it — it governs pickup, unblocking, and never-block) ---\n\n${briefContent}` : ""}`;
985
1011
  }
986
1012
  function withOrderBookBriefOverlay(briefContent, overlayPath, overlayContent) {
987
1013
  if (!overlayContent) return briefContent;
@@ -1003,7 +1029,7 @@ async function spawnFlywheelAgent(runId, options = {}) {
1003
1029
  return spawnRun(runId, "flywheel", {
1004
1030
  agentId: FLYWHEEL_ORCHESTRATOR_AGENT_ID,
1005
1031
  workspace,
1006
- prompt: options.resumeSessionId ? buildFlywheelResumePrompt(await flywheelRunConfigurationSection(options, runId), briefContent) : options.prompt ?? await defaultFlywheelPrompt(runId, {
1032
+ prompt: options.resumeSessionId ? buildFlywheelResumePrompt(await flywheelRunConfigurationSection(options, runId), briefContent, options.resumeCause) : options.prompt ?? await defaultFlywheelPrompt(runId, {
1007
1033
  ...options,
1008
1034
  briefPath
1009
1035
  }, briefContent),
@@ -1013,7 +1039,8 @@ async function spawnFlywheelAgent(runId, options = {}) {
1013
1039
  allowHost: true,
1014
1040
  registerConversation: true,
1015
1041
  resumeSessionId: options.resumeSessionId,
1016
- flywheelRunId: runId
1042
+ flywheelRunId: runId,
1043
+ startedBy: `flywheel:${runId}`
1017
1044
  });
1018
1045
  }
1019
1046
  function withFlywheelAutonomyOptions(options) {
@@ -1081,4 +1108,4 @@ async function resumeFlywheel(options = {}) {
1081
1108
  //#endregion
1082
1109
  export { advanceQueue as A, getBook as B, readCurrentLatestFlywheelStatus as C, writeFlywheelLaunchMetadata as D, subscribeLatestFlywheelStatus as E, setItemRequirements as F, liveOrderIssueLookup as H, setSettings as I, setStatus as L, moveItem as M, removeItem as N, writeLatestFlywheelStatus as O, renameBook as P, backlogCandidates as R, nextFlywheelRunId as S, resolveLiveFlywheelRunId as T, listBooks as V, clearFlywheelGate as _, isFlywheelDevcontainerRuntime as a, isFlywheelRunId as b, pauseFlywheel as c, spawnFlywheel as d, spawnFlywheelAgent as f, abortFlywheelRun as g, resolvePrimaryWorktreeRoot as h, buildFlywheelResumePrompt as i, createBook as j, addItems as k, resumeFlywheel as l, requireFlywheelBrief as m, abortSpawnedFlywheel as n, isIssueInResolvedPipeline as o, buildClassifyLookups as p, activeOrderBookIssues as r, loadResumeSessionId as s, FLYWHEEL_ORCHESTRATOR_AGENT_ID as t, saveResumeSessionId as u, getFlywheelRunDetail as v, readFlywheelLaunchMetadata as w, listFlywheelRuns as x, getFlywheelRunDir as y, computeBookProgress as z };
1083
1110
 
1084
- //# sourceMappingURL=flywheel-DHrgCphM.js.map
1111
+ //# sourceMappingURL=flywheel-BHx8XuMr.js.map
@@ -1,2 +1,2 @@
1
- import { c as pauseFlywheel, l as resumeFlywheel } from "./flywheel-DHrgCphM.js";
1
+ import { c as pauseFlywheel, l as resumeFlywheel } from "./flywheel-BHx8XuMr.js";
2
2
  export { pauseFlywheel, resumeFlywheel };
@@ -1,16 +1,16 @@
1
- import { Tn as init_projects, f as loadConfigSync, fn as findProjectByPathSync, nn as init_state_read_home, rn as resolveStateReadHomeSync, t as init_config_yaml, tt as resolveModel } from "./config-yaml-DySPNmKN.js";
2
- import { H as sessionExists, w as init_tmux } from "./tmux-R7N7y-Mh.js";
3
- import { S as FlywheelStatus, f as FlywheelStats, t as init_src } from "./src-DtcUOZCq.js";
4
- import { b as init_agents } from "./queries-CjNIf-Ub.js";
5
- import { s as init_internal_token } from "./internal-token-s0-oKybJ.js";
6
- import { d as isFlywheelAutoPickupBacklog, i as getFlywheelActiveRunId, p as isFlywheelRequireUatBeforeMerge, s as init_control_settings } from "./control-settings-BQp7_4uD.js";
7
- import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-3lNZkyT4.js";
8
- import { f as init_github_app } from "./github-app-C3QrAUd0.js";
9
- import "./substrate-bug-weights-service-B-FwCs5V.js";
10
- import { t as init_sequence_io } from "./sequence-io-D909zgeH.js";
11
- import { A as advanceQueue, B as getBook, D as writeFlywheelLaunchMetadata, L as setStatus, O as writeLatestFlywheelStatus, S as nextFlywheelRunId, _ as clearFlywheelGate, d as spawnFlywheel, h as resolvePrimaryWorktreeRoot, m as requireFlywheelBrief, n as abortSpawnedFlywheel, t as FLYWHEEL_ORCHESTRATOR_AGENT_ID, v as getFlywheelRunDetail, w as readFlywheelLaunchMetadata, x as listFlywheelRuns, y as getFlywheelRunDir, z as computeBookProgress } from "./flywheel-DHrgCphM.js";
12
- import { r as computeMergeQueue } from "./flywheel-merge-order-UU0tiUld.js";
13
- import { r as validateBookForStart } from "./validate-IfDGkaVR.js";
1
+ import { Cn as resolveStateReadHomeSync, Gn as init_projects, Mn as findProjectByPathSync, Sn as init_state_read_home, f as loadConfigSync, t as init_config_yaml, tt as resolveModel } from "./config-yaml-CxdwhAIA.js";
2
+ import { H as sessionExists, w as init_tmux } from "./tmux-CfDHob9M.js";
3
+ import { C as FlywheelStatus, p as FlywheelStats, t as init_src } from "./src-B948bGVR.js";
4
+ import { b as init_agents } from "./queries-C-MUZaIy.js";
5
+ import { s as init_internal_token } from "./internal-token-DzK385vD.js";
6
+ import { c as init_control_settings, f as isFlywheelAutoPickupBacklog, i as getFlywheelActiveRunId, m as isFlywheelRequireUatBeforeMerge } from "./control-settings-CiqGxXnc.js";
7
+ import { n as resolveHarness, t as init_harness_resolve } from "./harness-resolve-BAJu5MX8.js";
8
+ import { f as init_github_app } from "./github-app-CmNk0zLU.js";
9
+ import "./substrate-bug-weights-service-CzIyyWFT.js";
10
+ import { t as init_sequence_io } from "./sequence-io-Bmf1EZM5.js";
11
+ import { A as advanceQueue, B as getBook, D as writeFlywheelLaunchMetadata, L as setStatus, O as writeLatestFlywheelStatus, S as nextFlywheelRunId, _ as clearFlywheelGate, d as spawnFlywheel, h as resolvePrimaryWorktreeRoot, m as requireFlywheelBrief, n as abortSpawnedFlywheel, t as FLYWHEEL_ORCHESTRATOR_AGENT_ID, v as getFlywheelRunDetail, w as readFlywheelLaunchMetadata, x as listFlywheelRuns, y as getFlywheelRunDir, z as computeBookProgress } from "./flywheel-BHx8XuMr.js";
12
+ import { r as computeMergeQueueFromCandidates, s as listEligibleCandidatesByProject } from "./flywheel-merge-order-D_xLMbJU.js";
13
+ import { r as validateBookForStart } from "./validate-B0C8p66t.js";
14
14
  import { join } from "node:path";
15
15
  import { Effect, Schema } from "effect";
16
16
  import { freemem, totalmem } from "node:os";
@@ -428,7 +428,8 @@ function clearFlywheelRunGate(runId) {
428
428
  if (getFlywheelActiveRunId() === runId) clearFlywheelGate();
429
429
  }
430
430
  async function buildFlywheelStateReport(status, cwd) {
431
- return formatFlywheelStateReport(status, await Effect.runPromise(computeMergeQueue(status.activePipeline, cwd).pipe(Effect.provide(layer))));
431
+ const candidates = listEligibleCandidatesByProject(cwd);
432
+ return formatFlywheelStateReport(status, await Effect.runPromise(computeMergeQueueFromCandidates(candidates, cwd).pipe(Effect.provide(layer))));
432
433
  }
433
434
  async function persistFlywheelStateReport(status, cwd, report) {
434
435
  const runNumber = runNumberFromRunId(status.runId);
@@ -474,4 +475,4 @@ createFlywheelCompleteCommand({
474
475
  //#endregion
475
476
  export { flywheelReportCommand, startFlywheelRun };
476
477
 
477
- //# sourceMappingURL=flywheel-DzGtWnJ1.js.map
478
+ //# sourceMappingURL=flywheel-f662Q-y2.js.map