@ashlr/hub 3.12.0 → 3.13.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 (403) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/README.md +29 -16
  3. package/dist/authority-surface.json +89 -43
  4. package/dist/build-identity.json +2 -2
  5. package/dist/cli/authority.d.ts +145 -33
  6. package/dist/cli/authority.js +1196 -313
  7. package/dist/cli/authority.js.map +1 -1
  8. package/dist/cli/cloud.js +12 -3
  9. package/dist/cli/cloud.js.map +1 -1
  10. package/dist/core/authority/protected-paths.js +11 -0
  11. package/dist/core/authority/protected-paths.js.map +1 -1
  12. package/dist/core/authority/resident.d.ts +101 -0
  13. package/dist/core/authority/resident.js +246 -0
  14. package/dist/core/authority/resident.js.map +1 -0
  15. package/dist/core/authority/types.d.ts +43 -0
  16. package/dist/core/authority/types.js +6 -0
  17. package/dist/core/authority/types.js.map +1 -1
  18. package/dist/core/cloud/budget.js +11 -1
  19. package/dist/core/cloud/budget.js.map +1 -1
  20. package/dist/core/cloud/cloud-api.d.ts +25 -2
  21. package/dist/core/cloud/cloud-api.js +139 -5
  22. package/dist/core/cloud/cloud-api.js.map +1 -1
  23. package/dist/core/cloud/pr-actions.d.ts +93 -0
  24. package/dist/core/cloud/pr-actions.js +436 -0
  25. package/dist/core/cloud/pr-actions.js.map +1 -0
  26. package/dist/core/cloud/pr-preview.d.ts +128 -0
  27. package/dist/core/cloud/pr-preview.js +228 -0
  28. package/dist/core/cloud/pr-preview.js.map +1 -0
  29. package/dist/core/cloud/store.d.ts +2 -0
  30. package/dist/core/cloud/store.js +28 -0
  31. package/dist/core/cloud/store.js.map +1 -1
  32. package/dist/core/cloud/timeline-api.d.ts +24 -0
  33. package/dist/core/cloud/timeline-api.js +46 -0
  34. package/dist/core/cloud/timeline-api.js.map +1 -0
  35. package/dist/core/cloud/timeline-types.d.ts +62 -0
  36. package/dist/core/cloud/timeline-types.js +36 -0
  37. package/dist/core/cloud/timeline-types.js.map +1 -0
  38. package/dist/core/cloud/timeline.d.ts +102 -0
  39. package/dist/core/cloud/timeline.js +919 -0
  40. package/dist/core/cloud/timeline.js.map +1 -0
  41. package/dist/core/cloud/tracker.js +67 -0
  42. package/dist/core/cloud/tracker.js.map +1 -1
  43. package/dist/core/cloud/types.d.ts +38 -0
  44. package/dist/core/cloud/types.js +1 -1
  45. package/dist/core/cloud/types.js.map +1 -1
  46. package/dist/core/daemon/service-install-authority.d.ts +10 -2
  47. package/dist/core/daemon/service-install-authority.js +14 -5
  48. package/dist/core/daemon/service-install-authority.js.map +1 -1
  49. package/dist/core/daemon/service.d.ts +15 -0
  50. package/dist/core/daemon/service.js +26 -0
  51. package/dist/core/daemon/service.js.map +1 -1
  52. package/dist/core/fleet/cloud-intake.d.ts +95 -0
  53. package/dist/core/fleet/cloud-intake.js +557 -0
  54. package/dist/core/fleet/cloud-intake.js.map +1 -0
  55. package/dist/core/fleet/dispatch-router.d.ts +13 -0
  56. package/dist/core/fleet/dispatch-router.js +32 -8
  57. package/dist/core/fleet/dispatch-router.js.map +1 -1
  58. package/dist/core/fleet/fleet-merge-state.d.ts +10 -0
  59. package/dist/core/fleet/fleet-merge-state.js.map +1 -1
  60. package/dist/core/fleet/host-merge.d.ts +5 -0
  61. package/dist/core/fleet/host-merge.js +11 -0
  62. package/dist/core/fleet/host-merge.js.map +1 -1
  63. package/dist/core/fleet/merge-gates.d.ts +8 -0
  64. package/dist/core/fleet/merge-gates.js +25 -5
  65. package/dist/core/fleet/merge-gates.js.map +1 -1
  66. package/dist/core/fleet/standing-merge-pass.js +30 -0
  67. package/dist/core/fleet/standing-merge-pass.js.map +1 -1
  68. package/dist/core/fleet/tick-hooks-live.d.ts +9 -0
  69. package/dist/core/fleet/tick-hooks-live.js +44 -5
  70. package/dist/core/fleet/tick-hooks-live.js.map +1 -1
  71. package/dist/core/fleet/verify-check-run.d.ts +90 -0
  72. package/dist/core/fleet/verify-check-run.js +274 -0
  73. package/dist/core/fleet/verify-check-run.js.map +1 -0
  74. package/dist/core/routing/budget-api.d.ts +11 -0
  75. package/dist/core/routing/budget-api.js +64 -8
  76. package/dist/core/routing/budget-api.js.map +1 -1
  77. package/dist/core/routing/budget-store.d.ts +22 -1
  78. package/dist/core/routing/budget-store.js +22 -8
  79. package/dist/core/routing/budget-store.js.map +1 -1
  80. package/dist/core/verse/account-health.js +9 -3
  81. package/dist/core/verse/account-health.js.map +1 -1
  82. package/dist/core/verse/activity-api.d.ts +5 -1
  83. package/dist/core/verse/activity-api.js +62 -14
  84. package/dist/core/verse/activity-api.js.map +1 -1
  85. package/dist/core/verse/authority-api.d.ts +9 -1
  86. package/dist/core/verse/authority-api.js +82 -2
  87. package/dist/core/verse/authority-api.js.map +1 -1
  88. package/dist/core/verse/seat-readiness.d.ts +25 -0
  89. package/dist/core/verse/seat-readiness.js +43 -6
  90. package/dist/core/verse/seat-readiness.js.map +1 -1
  91. package/dist/core/verse/verse-api.d.ts +3 -1
  92. package/dist/core/verse/verse-api.js +6 -0
  93. package/dist/core/verse/verse-api.js.map +1 -1
  94. package/dist/core/web/public/next/assets/{ActionMenu-B4-39f2S.js → ActionMenu-Dwjk6rUQ.js} +2 -2
  95. package/dist/core/web/public/next/assets/{ActionMenu-B4-39f2S.js.map → ActionMenu-Dwjk6rUQ.js.map} +1 -1
  96. package/dist/core/web/public/next/assets/Advanced-cVYTAsfB.js +2 -0
  97. package/dist/core/web/public/next/assets/{Advanced-B-LqYXvd.js.map → Advanced-cVYTAsfB.js.map} +1 -1
  98. package/dist/core/web/public/next/assets/App-IsaWDsdF.js +7 -0
  99. package/dist/core/web/public/next/assets/{App-E2zCDRxm.js.map → App-IsaWDsdF.js.map} +1 -1
  100. package/dist/core/web/public/next/assets/AppsSection-DDqeSrty.js +2 -0
  101. package/dist/core/web/public/next/assets/{AppsSection-8wXPPhZb.js.map → AppsSection-DDqeSrty.js.map} +1 -1
  102. package/dist/core/web/public/next/assets/{AreaTrend-BFimExYn.js → AreaTrend-C32rUaxm.js} +2 -2
  103. package/dist/core/web/public/next/assets/{AreaTrend-BFimExYn.js.map → AreaTrend-C32rUaxm.js.map} +1 -1
  104. package/dist/core/web/public/next/assets/AutonomyOffState-CmSSTHVe.css +1 -0
  105. package/dist/core/web/public/next/assets/AutonomyOffState-CpFYS3tQ.js +3 -0
  106. package/dist/core/web/public/next/assets/AutonomyOffState-CpFYS3tQ.js.map +1 -0
  107. package/dist/core/web/public/next/assets/AutonomySection-Dwn8UtOy.js +2 -0
  108. package/dist/core/web/public/next/assets/{AutonomySection-B46igJKR.js.map → AutonomySection-Dwn8UtOy.js.map} +1 -1
  109. package/dist/core/web/public/next/assets/{BranchBar-BRkrEQGs.js → BranchBar-ISZ7xUCj.js} +2 -2
  110. package/dist/core/web/public/next/assets/{BranchBar-BRkrEQGs.js.map → BranchBar-ISZ7xUCj.js.map} +1 -1
  111. package/dist/core/web/public/next/assets/BudgetControl-BARVp-En.js +2 -0
  112. package/dist/core/web/public/next/assets/BudgetControl-BARVp-En.js.map +1 -0
  113. package/dist/core/web/public/next/assets/{Button-BhO-WKPp.js → Button-DtE0rlWD.js} +2 -2
  114. package/dist/core/web/public/next/assets/{Button-BhO-WKPp.js.map → Button-DtE0rlWD.js.map} +1 -1
  115. package/dist/core/web/public/next/assets/{CapacityStrip-CkFz5vq2.js → CapacityStrip-DKbKA_Aa.js} +2 -2
  116. package/dist/core/web/public/next/assets/{CapacityStrip-CkFz5vq2.js.map → CapacityStrip-DKbKA_Aa.js.map} +1 -1
  117. package/dist/core/web/public/next/assets/{ChartFrame-SygZ7B3x.js → ChartFrame-DK_BDXCt.js} +2 -2
  118. package/dist/core/web/public/next/assets/{ChartFrame-SygZ7B3x.js.map → ChartFrame-DK_BDXCt.js.map} +1 -1
  119. package/dist/core/web/public/next/assets/ChatSection-C9myY4ei.js +3 -0
  120. package/dist/core/web/public/next/assets/ChatSection-C9myY4ei.js.map +1 -0
  121. package/dist/core/web/public/next/assets/{CloudBudgetForm-Bd91iStN.js → CloudBudgetForm-CvjK4Oh6.js} +2 -2
  122. package/dist/core/web/public/next/assets/{CloudBudgetForm-Bd91iStN.js.map → CloudBudgetForm-CvjK4Oh6.js.map} +1 -1
  123. package/dist/core/web/public/next/assets/{CommandPalette-B6SgDJH-.js → CommandPalette-DzPsth0u.js} +2 -2
  124. package/dist/core/web/public/next/assets/{CommandPalette-B6SgDJH-.js.map → CommandPalette-DzPsth0u.js.map} +1 -1
  125. package/dist/core/web/public/next/assets/CommandSection-Brp73iox.js +3 -0
  126. package/dist/core/web/public/next/assets/CommandSection-Brp73iox.js.map +1 -0
  127. package/dist/core/web/public/next/assets/{ConfirmDialog-Bv4hdK2T.js → ConfirmDialog-CLUhzaBj.js} +2 -2
  128. package/dist/core/web/public/next/assets/{ConfirmDialog-Bv4hdK2T.js.map → ConfirmDialog-CLUhzaBj.js.map} +1 -1
  129. package/dist/core/web/public/next/assets/{DeleteChatDialog-CH1Ix8Eh.js → DeleteChatDialog-C_eDhV8b.js} +2 -2
  130. package/dist/core/web/public/next/assets/{DeleteChatDialog-CH1Ix8Eh.js.map → DeleteChatDialog-C_eDhV8b.js.map} +1 -1
  131. package/dist/core/web/public/next/assets/{Dialog-BSsIFNqD.js → Dialog-BRd_B9OE.js} +2 -2
  132. package/dist/core/web/public/next/assets/{Dialog-BSsIFNqD.js.map → Dialog-BRd_B9OE.js.map} +1 -1
  133. package/dist/core/web/public/next/assets/{DiffPane-BpNuJmth.js → DiffPane-Cpr9soB2.js} +2 -2
  134. package/dist/core/web/public/next/assets/{DiffPane-BpNuJmth.js.map → DiffPane-Cpr9soB2.js.map} +1 -1
  135. package/dist/core/web/public/next/assets/{DiffViewer-CJarUvs0.js → DiffViewer-CNwd0W3Q.js} +2 -2
  136. package/dist/core/web/public/next/assets/{DiffViewer-CJarUvs0.js.map → DiffViewer-CNwd0W3Q.js.map} +1 -1
  137. package/dist/core/web/public/next/assets/DockHost-BcEq2qaS.js +2 -0
  138. package/dist/core/web/public/next/assets/{DockHost-DW9q0NdR.js.map → DockHost-BcEq2qaS.js.map} +1 -1
  139. package/dist/core/web/public/next/assets/{EmptyState-DPrd2aak.js → EmptyState-DsN1H6MC.js} +2 -2
  140. package/dist/core/web/public/next/assets/{EmptyState-DPrd2aak.js.map → EmptyState-DsN1H6MC.js.map} +1 -1
  141. package/dist/core/web/public/next/assets/{Epistemic-D7MxSmED.js → Epistemic-fycQTBRO.js} +2 -2
  142. package/dist/core/web/public/next/assets/{Epistemic-D7MxSmED.js.map → Epistemic-fycQTBRO.js.map} +1 -1
  143. package/dist/core/web/public/next/assets/EvidenceTimeline-PBDAiSuG.css +1 -0
  144. package/dist/core/web/public/next/assets/EvidenceTimeline-sCCAdnBK.js +2 -0
  145. package/dist/core/web/public/next/assets/EvidenceTimeline-sCCAdnBK.js.map +1 -0
  146. package/dist/core/web/public/next/assets/{FleetSection-BdZN6rGS.js → FleetSection-BG8iGraG.js} +3 -3
  147. package/dist/core/web/public/next/assets/{FleetSection-BdZN6rGS.js.map → FleetSection-BG8iGraG.js.map} +1 -1
  148. package/dist/core/web/public/next/assets/{Funnel-BeNQZWv2.js → Funnel-B88_wpA4.js} +2 -2
  149. package/dist/core/web/public/next/assets/{Funnel-BeNQZWv2.js.map → Funnel-B88_wpA4.js.map} +1 -1
  150. package/dist/core/web/public/next/assets/{GearTray-CIPtzeIx.js → GearTray-CpDt0xwj.js} +2 -2
  151. package/dist/core/web/public/next/assets/{GearTray-CIPtzeIx.js.map → GearTray-CpDt0xwj.js.map} +1 -1
  152. package/dist/core/web/public/next/assets/{GrowthSection-iiQg6wvK.js → GrowthSection-BvZezOsX.js} +2 -2
  153. package/dist/core/web/public/next/assets/{GrowthSection-iiQg6wvK.js.map → GrowthSection-BvZezOsX.js.map} +1 -1
  154. package/dist/core/web/public/next/assets/{HandoffDialog-DrQ6ofuy.js → HandoffDialog-B1G6gQyk.js} +2 -2
  155. package/dist/core/web/public/next/assets/{HandoffDialog-DrQ6ofuy.js.map → HandoffDialog-B1G6gQyk.js.map} +1 -1
  156. package/dist/core/web/public/next/assets/{Input-C0MQxEM6.js → Input-CI0yBHmn.js} +2 -2
  157. package/dist/core/web/public/next/assets/{Input-C0MQxEM6.js.map → Input-CI0yBHmn.js.map} +1 -1
  158. package/dist/core/web/public/next/assets/{LeaderCard-BRr3_yE-.js → LeaderCard-BxxiEg4e.js} +2 -2
  159. package/dist/core/web/public/next/assets/{LeaderCard-BRr3_yE-.js.map → LeaderCard-BxxiEg4e.js.map} +1 -1
  160. package/dist/core/web/public/next/assets/{MatrixHeatmap-DZvZeWXL.js → MatrixHeatmap-iPFEU2Tv.js} +2 -2
  161. package/dist/core/web/public/next/assets/{MatrixHeatmap-DZvZeWXL.js.map → MatrixHeatmap-iPFEU2Tv.js.map} +1 -1
  162. package/dist/core/web/public/next/assets/McpSection-nuXer4K-.js +2 -0
  163. package/dist/core/web/public/next/assets/{McpSection-BRuCcTjT.js.map → McpSection-nuXer4K-.js.map} +1 -1
  164. package/dist/core/web/public/next/assets/{MessageMarkdown-bRvD5nSc.js → MessageMarkdown-BCe4TsXk.js} +3 -3
  165. package/dist/core/web/public/next/assets/{MessageMarkdown-bRvD5nSc.js.map → MessageMarkdown-BCe4TsXk.js.map} +1 -1
  166. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-FjjkPKA2.js → MessageMarkdownRenderer-DL3LU5kL.js} +2 -2
  167. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-FjjkPKA2.js.map → MessageMarkdownRenderer-DL3LU5kL.js.map} +1 -1
  168. package/dist/core/web/public/next/assets/{Meter-CFNLpwA-.js → Meter-b69LM0mU.js} +2 -2
  169. package/dist/core/web/public/next/assets/{Meter-CFNLpwA-.js.map → Meter-b69LM0mU.js.map} +1 -1
  170. package/dist/core/web/public/next/assets/{MindSection-BTIiQS8P.js → MindSection-Dc5v5rH3.js} +2 -2
  171. package/dist/core/web/public/next/assets/{MindSection-BTIiQS8P.js.map → MindSection-Dc5v5rH3.js.map} +1 -1
  172. package/dist/core/web/public/next/assets/{MutationTokenDialog-T7gv3a9r.js → MutationTokenDialog-Bm34BNVV.js} +2 -2
  173. package/dist/core/web/public/next/assets/{MutationTokenDialog-T7gv3a9r.js.map → MutationTokenDialog-Bm34BNVV.js.map} +1 -1
  174. package/dist/core/web/public/next/assets/NeedsYouDrawer-N1cWJjpz.js +3 -0
  175. package/dist/core/web/public/next/assets/NeedsYouDrawer-N1cWJjpz.js.map +1 -0
  176. package/dist/core/web/public/next/assets/NeedsYouList-CH6Mq-E_.css +1 -0
  177. package/dist/core/web/public/next/assets/NeedsYouList-D5Kk549g.js +2 -0
  178. package/dist/core/web/public/next/assets/{NeedsYouList-BgH8ezqf.js.map → NeedsYouList-D5Kk549g.js.map} +1 -1
  179. package/dist/core/web/public/next/assets/{NewChatDialog-Db5Xjrk8.js → NewChatDialog-BqFTWgHU.js} +2 -2
  180. package/dist/core/web/public/next/assets/{NewChatDialog-Db5Xjrk8.js.map → NewChatDialog-BqFTWgHU.js.map} +1 -1
  181. package/dist/core/web/public/next/assets/OnboardingFlow-DcDsguAM.js +3 -0
  182. package/dist/core/web/public/next/assets/OnboardingFlow-DcDsguAM.js.map +1 -0
  183. package/dist/core/web/public/next/assets/OnboardingGate-BZafM1Vf.js +3 -0
  184. package/dist/core/web/public/next/assets/{OnboardingGate-C4VXn7BJ.js.map → OnboardingGate-BZafM1Vf.js.map} +1 -1
  185. package/dist/core/web/public/next/assets/{PreviewPane-BPBbcROb.js → PreviewPane-zT3gK9TD.js} +2 -2
  186. package/dist/core/web/public/next/assets/{PreviewPane-BPBbcROb.js.map → PreviewPane-zT3gK9TD.js.map} +1 -1
  187. package/dist/core/web/public/next/assets/{ProviderLogo-CT2cSfkg.js → ProviderLogo-AwHn2sKm.js} +2 -2
  188. package/dist/core/web/public/next/assets/{ProviderLogo-CT2cSfkg.js.map → ProviderLogo-AwHn2sKm.js.map} +1 -1
  189. package/dist/core/web/public/next/assets/{RailStatus-Vgl0GYtd.js → RailStatus-xHrovWvI.js} +2 -2
  190. package/dist/core/web/public/next/assets/{RailStatus-Vgl0GYtd.js.map → RailStatus-xHrovWvI.js.map} +1 -1
  191. package/dist/core/web/public/next/assets/{RefreshIndicator-CSyqpY_q.js → RefreshIndicator-SEFZlMB2.js} +2 -2
  192. package/dist/core/web/public/next/assets/{RefreshIndicator-CSyqpY_q.js.map → RefreshIndicator-SEFZlMB2.js.map} +1 -1
  193. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BX2nkdmZ.js → ResourcePoolConsoleApp-CAxPQ4sZ.js} +3 -3
  194. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-BX2nkdmZ.js.map → ResourcePoolConsoleApp-CAxPQ4sZ.js.map} +1 -1
  195. package/dist/core/web/public/next/assets/ResourcesChrome-BnhnEdJe.js +3 -0
  196. package/dist/core/web/public/next/assets/{ResourcesChrome-B2U2lO1H.js.map → ResourcesChrome-BnhnEdJe.js.map} +1 -1
  197. package/dist/core/web/public/next/assets/{ResourcesDrawer-DlUKOjl9.js → ResourcesDrawer-BAFGodny.js} +2 -2
  198. package/dist/core/web/public/next/assets/{ResourcesDrawer-DlUKOjl9.js.map → ResourcesDrawer-BAFGodny.js.map} +1 -1
  199. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BaC7YVzR.js → RouteErrorBoundary-C8WGiixc.js} +2 -2
  200. package/dist/core/web/public/next/assets/{RouteErrorBoundary-BaC7YVzR.js.map → RouteErrorBoundary-C8WGiixc.js.map} +1 -1
  201. package/dist/core/web/public/next/assets/{RunInCloudAction-D5PDHJPE.js → RunInCloudAction-1-IPLYhf.js} +2 -2
  202. package/dist/core/web/public/next/assets/{RunInCloudAction-D5PDHJPE.js.map → RunInCloudAction-1-IPLYhf.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{SeatSelector-Cg75LInq.js → SeatSelector-DpwNiX8F.js} +2 -2
  204. package/dist/core/web/public/next/assets/{SeatSelector-Cg75LInq.js.map → SeatSelector-DpwNiX8F.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/{Segmented-CametjLt.js → Segmented-Wt1ATod9.js} +2 -2
  206. package/dist/core/web/public/next/assets/{Segmented-CametjLt.js.map → Segmented-Wt1ATod9.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/{Select-De52fghU.js → Select-By-V9lMc.js} +2 -2
  208. package/dist/core/web/public/next/assets/{Select-De52fghU.js.map → Select-By-V9lMc.js.map} +1 -1
  209. package/dist/core/web/public/next/assets/{SessionGate-CzlcNq3O.js → SessionGate-WROS02tK.js} +2 -2
  210. package/dist/core/web/public/next/assets/{SessionGate-CzlcNq3O.js.map → SessionGate-WROS02tK.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/{SessionInsightChip-Bk_Owa7u.js → SessionInsightChip-DNUcruwp.js} +2 -2
  212. package/dist/core/web/public/next/assets/{SessionInsightChip-Bk_Owa7u.js.map → SessionInsightChip-DNUcruwp.js.map} +1 -1
  213. package/dist/core/web/public/next/assets/{SessionSearch-C6C8DHN8.js → SessionSearch-UHtt7a8f.js} +2 -2
  214. package/dist/core/web/public/next/assets/{SessionSearch-C6C8DHN8.js.map → SessionSearch-UHtt7a8f.js.map} +1 -1
  215. package/dist/core/web/public/next/assets/{SettingsSection-mI9wQYZg.js → SettingsSection-Bf74l0Gj.js} +2 -2
  216. package/dist/core/web/public/next/assets/{SettingsSection-mI9wQYZg.js.map → SettingsSection-Bf74l0Gj.js.map} +1 -1
  217. package/dist/core/web/public/next/assets/SetupChecklist-BhZpFLsj.css +1 -0
  218. package/dist/core/web/public/next/assets/SetupChecklist-CzpEcfOl.js +2 -0
  219. package/dist/core/web/public/next/assets/SetupChecklist-CzpEcfOl.js.map +1 -0
  220. package/dist/core/web/public/next/assets/{Sheet-CJhK9Dqv.js → Sheet-HkBOBMTT.js} +2 -2
  221. package/dist/core/web/public/next/assets/{Sheet-CJhK9Dqv.js.map → Sheet-HkBOBMTT.js.map} +1 -1
  222. package/dist/core/web/public/next/assets/{ShortcutsOverlay-DDW-i9Fc.js → ShortcutsOverlay-DiigiT8H.js} +2 -2
  223. package/dist/core/web/public/next/assets/{ShortcutsOverlay-DDW-i9Fc.js.map → ShortcutsOverlay-DiigiT8H.js.map} +1 -1
  224. package/dist/core/web/public/next/assets/Sidebar-C9YtBYVZ.js +3 -0
  225. package/dist/core/web/public/next/assets/Sidebar-C9YtBYVZ.js.map +1 -0
  226. package/dist/core/web/public/next/assets/{Slider-Bwd9HfXl.js → Slider-DaEDws-b.js} +2 -2
  227. package/dist/core/web/public/next/assets/{Slider-Bwd9HfXl.js.map → Slider-DaEDws-b.js.map} +1 -1
  228. package/dist/core/web/public/next/assets/{StatTile-DPZ5yyaU.js → StatTile-CTX41O6y.js} +2 -2
  229. package/dist/core/web/public/next/assets/{StatTile-DPZ5yyaU.js.map → StatTile-CTX41O6y.js.map} +1 -1
  230. package/dist/core/web/public/next/assets/{StatusBadge-DHKRtttH.js → StatusBadge-CXG3iNL4.js} +2 -2
  231. package/dist/core/web/public/next/assets/{StatusBadge-DHKRtttH.js.map → StatusBadge-CXG3iNL4.js.map} +1 -1
  232. package/dist/core/web/public/next/assets/{StepBand-DQykLkk_.js → StepBand-jJTqYIdX.js} +2 -2
  233. package/dist/core/web/public/next/assets/{StepBand-DQykLkk_.js.map → StepBand-jJTqYIdX.js.map} +1 -1
  234. package/dist/core/web/public/next/assets/{Surface-D--LXgQm.js → Surface-5bNA08tK.js} +2 -2
  235. package/dist/core/web/public/next/assets/{Surface-D--LXgQm.js.map → Surface-5bNA08tK.js.map} +1 -1
  236. package/dist/core/web/public/next/assets/{Swimlane-BzH6OCee.js → Swimlane-LrslsGxw.js} +2 -2
  237. package/dist/core/web/public/next/assets/{Swimlane-BzH6OCee.js.map → Swimlane-LrslsGxw.js.map} +1 -1
  238. package/dist/core/web/public/next/assets/{Switch-PMixU6b0.js → Switch-BmCzfFnu.js} +2 -2
  239. package/dist/core/web/public/next/assets/{Switch-PMixU6b0.js.map → Switch-BmCzfFnu.js.map} +1 -1
  240. package/dist/core/web/public/next/assets/{Tag-fordBsrJ.js → Tag-WSUIaMVy.js} +2 -2
  241. package/dist/core/web/public/next/assets/{Tag-fordBsrJ.js.map → Tag-WSUIaMVy.js.map} +1 -1
  242. package/dist/core/web/public/next/assets/{TerminalPane-BSnGdUuF.js → TerminalPane-BVFgYX6K.js} +5 -5
  243. package/dist/core/web/public/next/assets/{TerminalPane-BSnGdUuF.js.map → TerminalPane-BVFgYX6K.js.map} +1 -1
  244. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DtXFhAhw.js → UniverseConsoleApp-BpphLqoz.js} +2 -2
  245. package/dist/core/web/public/next/assets/{UniverseConsoleApp-DtXFhAhw.js.map → UniverseConsoleApp-BpphLqoz.js.map} +1 -1
  246. package/dist/core/web/public/next/assets/{UniverseView-sWm3pnTW.js → UniverseView-DbpbSMwO.js} +4 -4
  247. package/dist/core/web/public/next/assets/{UniverseView-sWm3pnTW.js.map → UniverseView-DbpbSMwO.js.map} +1 -1
  248. package/dist/core/web/public/next/assets/{UsageSection-CiD1DbuF.js → UsageSection-CUlaKtws.js} +3 -3
  249. package/dist/core/web/public/next/assets/{UsageSection-CiD1DbuF.js.map → UsageSection-CUlaKtws.js.map} +1 -1
  250. package/dist/core/web/public/next/assets/VerseConsoleApp-DXDv1aOi.js +3 -0
  251. package/dist/core/web/public/next/assets/VerseConsoleApp-DXDv1aOi.js.map +1 -0
  252. package/dist/core/web/public/next/assets/{Workspace-BQSZFSeO.js → Workspace-RXy0pqp6.js} +5 -5
  253. package/dist/core/web/public/next/assets/{Workspace-BQSZFSeO.js.map → Workspace-RXy0pqp6.js.map} +1 -1
  254. package/dist/core/web/public/next/assets/{actions-Ci6I4C0l.js → actions-BZTidCXZ.js} +2 -2
  255. package/dist/core/web/public/next/assets/{actions-Ci6I4C0l.js.map → actions-BZTidCXZ.js.map} +1 -1
  256. package/dist/core/web/public/next/assets/{apps-model-DlwnfqwJ.js → apps-model-CHO133qt.js} +2 -2
  257. package/dist/core/web/public/next/assets/{apps-model-DlwnfqwJ.js.map → apps-model-CHO133qt.js.map} +1 -1
  258. package/dist/core/web/public/next/assets/{authority-model-BFuPezSo.js → authority-model-8NeAEwAF.js} +2 -2
  259. package/dist/core/web/public/next/assets/{authority-model-BFuPezSo.js.map → authority-model-8NeAEwAF.js.map} +1 -1
  260. package/dist/core/web/public/next/assets/{budget-queries-DsAjH8ac.js → budget-queries-DFF-3ICg.js} +2 -2
  261. package/dist/core/web/public/next/assets/{budget-queries-DsAjH8ac.js.map → budget-queries-DFF-3ICg.js.map} +1 -1
  262. package/dist/core/web/public/next/assets/{capacity-strip-model-Dn1cNOhz.js → capacity-strip-model-5ViUgUlP.js} +2 -2
  263. package/dist/core/web/public/next/assets/{capacity-strip-model-Dn1cNOhz.js.map → capacity-strip-model-5ViUgUlP.js.map} +1 -1
  264. package/dist/core/web/public/next/assets/{charts-C_xJbJiw.js → charts-CzxWrZn7.js} +2 -2
  265. package/dist/core/web/public/next/assets/{charts-C_xJbJiw.js.map → charts-CzxWrZn7.js.map} +1 -1
  266. package/dist/core/web/public/next/assets/cloud-model-CfRydq8N.js +2 -0
  267. package/dist/core/web/public/next/assets/{cloud-model-CX407gPY.js.map → cloud-model-CfRydq8N.js.map} +1 -1
  268. package/dist/core/web/public/next/assets/{cloud-queries-QAhpExlz.js → cloud-queries-DmptbjS8.js} +2 -2
  269. package/dist/core/web/public/next/assets/{cloud-queries-QAhpExlz.js.map → cloud-queries-DmptbjS8.js.map} +1 -1
  270. package/dist/core/web/public/next/assets/{command-catalog-CF0cQQac.js → command-catalog-ffCAijVY.js} +2 -2
  271. package/dist/core/web/public/next/assets/{command-catalog-CF0cQQac.js.map → command-catalog-ffCAijVY.js.map} +1 -1
  272. package/dist/core/web/public/next/assets/{context-model-DV1zCfAm.js → context-model-Bb15chFt.js} +2 -2
  273. package/dist/core/web/public/next/assets/{context-model-DV1zCfAm.js.map → context-model-Bb15chFt.js.map} +1 -1
  274. package/dist/core/web/public/next/assets/{context-model-Co4wh3SM.js → context-model-CDeyP0cA.js} +2 -2
  275. package/dist/core/web/public/next/assets/{context-model-Co4wh3SM.js.map → context-model-CDeyP0cA.js.map} +1 -1
  276. package/dist/core/web/public/next/assets/{context-queries-CktFQqSS.js → context-queries-_9bFWb9v.js} +2 -2
  277. package/dist/core/web/public/next/assets/{context-queries-CktFQqSS.js.map → context-queries-_9bFWb9v.js.map} +1 -1
  278. package/dist/core/web/public/next/assets/{control-queries-DAvlh_YM.js → control-queries-CXtmZZH6.js} +2 -2
  279. package/dist/core/web/public/next/assets/{control-queries-DAvlh_YM.js.map → control-queries-CXtmZZH6.js.map} +1 -1
  280. package/dist/core/web/public/next/assets/copy-setup-BIp0iaiZ.js +2 -0
  281. package/dist/core/web/public/next/assets/copy-setup-BIp0iaiZ.js.map +1 -0
  282. package/dist/core/web/public/next/assets/{dock-icons-BFuBbqJl.js → dock-icons-Cc43W7r4.js} +2 -2
  283. package/dist/core/web/public/next/assets/{dock-icons-BFuBbqJl.js.map → dock-icons-Cc43W7r4.js.map} +1 -1
  284. package/dist/core/web/public/next/assets/{fleet-model-Dfd5JyLR.js → fleet-model-DOK8ZtEt.js} +2 -2
  285. package/dist/core/web/public/next/assets/{fleet-model-Dfd5JyLR.js.map → fleet-model-DOK8ZtEt.js.map} +1 -1
  286. package/dist/core/web/public/next/assets/{fleet-queries-RtMTd5rR.js → fleet-queries-BeEAqD6y.js} +2 -2
  287. package/dist/core/web/public/next/assets/{fleet-queries-RtMTd5rR.js.map → fleet-queries-BeEAqD6y.js.map} +1 -1
  288. package/dist/core/web/public/next/assets/{focus-trap-BdrbWfC4.js → focus-trap-ChZ5EFfM.js} +2 -2
  289. package/dist/core/web/public/next/assets/{focus-trap-BdrbWfC4.js.map → focus-trap-ChZ5EFfM.js.map} +1 -1
  290. package/dist/core/web/public/next/assets/format-BmH2yWL6.js +2 -0
  291. package/dist/core/web/public/next/assets/format-BmH2yWL6.js.map +1 -0
  292. package/dist/core/web/public/next/assets/{git-model-_BnI_Ogh.js → git-model-BFwAVbxF.js} +2 -2
  293. package/dist/core/web/public/next/assets/{git-model-_BnI_Ogh.js.map → git-model-BFwAVbxF.js.map} +1 -1
  294. package/dist/core/web/public/next/assets/global-y_exIyAP.js +2 -0
  295. package/dist/core/web/public/next/assets/{global-CNNGMril.js.map → global-y_exIyAP.js.map} +1 -1
  296. package/dist/core/web/public/next/assets/{guarded-runners-DPh2d32e.js → guarded-runners-Cd4POBtI.js} +2 -2
  297. package/dist/core/web/public/next/assets/{guarded-runners-DPh2d32e.js.map → guarded-runners-Cd4POBtI.js.map} +1 -1
  298. package/dist/core/web/public/next/assets/{icons-0haWy6nh.js → icons-CygCEFWs.js} +2 -2
  299. package/dist/core/web/public/next/assets/{icons-0haWy6nh.js.map → icons-CygCEFWs.js.map} +1 -1
  300. package/dist/core/web/public/next/assets/{index-QesfXBsb.js → index-CyK31YRm.js} +3 -3
  301. package/dist/core/web/public/next/assets/{index-QesfXBsb.js.map → index-CyK31YRm.js.map} +1 -1
  302. package/dist/core/web/public/next/assets/{live-model-De-q0ZFK.js → live-model-D7hilYFk.js} +2 -2
  303. package/dist/core/web/public/next/assets/live-model-D7hilYFk.js.map +1 -0
  304. package/dist/core/web/public/next/assets/{mind.module-BrK2nFOL.js → mind.module-B15k0Y9q.js} +2 -2
  305. package/dist/core/web/public/next/assets/{mind.module-BrK2nFOL.js.map → mind.module-B15k0Y9q.js.map} +1 -1
  306. package/dist/core/web/public/next/assets/mutations-CWlxEMEm.js +2 -0
  307. package/dist/core/web/public/next/assets/{mutations-DTCtKCn_.js.map → mutations-CWlxEMEm.js.map} +1 -1
  308. package/dist/core/web/public/next/assets/{nav-KmGX0CVz.js → nav-mimleI0R.js} +2 -2
  309. package/dist/core/web/public/next/assets/{nav-KmGX0CVz.js.map → nav-mimleI0R.js.map} +1 -1
  310. package/dist/core/web/public/next/assets/{overnight-queries-mlO0xzsr.js → overnight-queries-DJ4mZKSj.js} +2 -2
  311. package/dist/core/web/public/next/assets/{overnight-queries-mlO0xzsr.js.map → overnight-queries-DJ4mZKSj.js.map} +1 -1
  312. package/dist/core/web/public/next/assets/primitives-DMijqcu0.js +1 -0
  313. package/dist/core/web/public/next/assets/{queries-CyBE8nsW.js → queries-Bw1McHTj.js} +2 -2
  314. package/dist/core/web/public/next/assets/{queries-CyBE8nsW.js.map → queries-Bw1McHTj.js.map} +1 -1
  315. package/dist/core/web/public/next/assets/{reasoning-pref-CaoA4_Vl.js → reasoning-pref-KkhI_5-j.js} +2 -2
  316. package/dist/core/web/public/next/assets/{reasoning-pref-CaoA4_Vl.js.map → reasoning-pref-KkhI_5-j.js.map} +1 -1
  317. package/dist/core/web/public/next/assets/{reveal-anchor-BP1VqnPU.js → reveal-anchor-CCCx_kfT.js} +2 -2
  318. package/dist/core/web/public/next/assets/{reveal-anchor-BP1VqnPU.js.map → reveal-anchor-CCCx_kfT.js.map} +1 -1
  319. package/dist/core/web/public/next/assets/{seat-subscription-C5Tvr0WQ.js → seat-subscription-BhUUz7VL.js} +2 -2
  320. package/dist/core/web/public/next/assets/{seat-subscription-C5Tvr0WQ.js.map → seat-subscription-BhUUz7VL.js.map} +1 -1
  321. package/dist/core/web/public/next/assets/{sidebar-model-B5Qk95k_.js → sidebar-model-Dcd437cf.js} +2 -2
  322. package/dist/core/web/public/next/assets/{sidebar-model-B5Qk95k_.js.map → sidebar-model-Dcd437cf.js.map} +1 -1
  323. package/dist/core/web/public/next/assets/{slots-DHKQDoE6.js → slots-BL_J5mmV.js} +3 -3
  324. package/dist/core/web/public/next/assets/{slots-DHKQDoE6.js.map → slots-BL_J5mmV.js.map} +1 -1
  325. package/dist/core/web/public/next/assets/{surface-data-CchClvHo.js → surface-data-C3UAQ4QX.js} +2 -2
  326. package/dist/core/web/public/next/assets/{surface-data-CchClvHo.js.map → surface-data-C3UAQ4QX.js.map} +1 -1
  327. package/dist/core/web/public/next/assets/surface-prefetch-BXKjPsV5.js +2 -0
  328. package/dist/core/web/public/next/assets/{surface-prefetch-BWr0LBQn.js.map → surface-prefetch-BXKjPsV5.js.map} +1 -1
  329. package/dist/core/web/public/next/assets/{tasks-model-D6WFVULI.js → tasks-model-CzHvclVm.js} +2 -2
  330. package/dist/core/web/public/next/assets/{tasks-model-D6WFVULI.js.map → tasks-model-CzHvclVm.js.map} +1 -1
  331. package/dist/core/web/public/next/assets/{terminal-icons-BvCvuXk2.js → terminal-icons-BwgQTQP0.js} +2 -2
  332. package/dist/core/web/public/next/assets/{terminal-icons-BvCvuXk2.js.map → terminal-icons-BwgQTQP0.js.map} +1 -1
  333. package/dist/core/web/public/next/assets/types-IYKrYLku.js +2 -0
  334. package/dist/core/web/public/next/assets/types-IYKrYLku.js.map +1 -0
  335. package/dist/core/web/public/next/assets/{usage-queries-D1SU1t7r.js → usage-queries-pXxvy54x.js} +2 -2
  336. package/dist/core/web/public/next/assets/{usage-queries-D1SU1t7r.js.map → usage-queries-pXxvy54x.js.map} +1 -1
  337. package/dist/core/web/public/next/assets/{use-guarded-action-BZmBv7CJ.js → use-guarded-action-EgVWjM5c.js} +2 -2
  338. package/dist/core/web/public/next/assets/{use-guarded-action-BZmBv7CJ.js.map → use-guarded-action-EgVWjM5c.js.map} +1 -1
  339. package/dist/core/web/public/next/assets/{use-ticker-CkJ4-0wU.js → use-ticker-BoqFxRFG.js} +2 -2
  340. package/dist/core/web/public/next/assets/{use-ticker-CkJ4-0wU.js.map → use-ticker-BoqFxRFG.js.map} +1 -1
  341. package/dist/core/web/public/next/assets/{use-token-gate-CYcfk_GS.js → use-token-gate-DSNIIpI6.js} +2 -2
  342. package/dist/core/web/public/next/assets/{use-token-gate-CYcfk_GS.js.map → use-token-gate-DSNIIpI6.js.map} +1 -1
  343. package/dist/core/web/public/next/assets/{useOnboarding-CujRS6PK.js → useOnboarding-Bk0VnkxQ.js} +2 -2
  344. package/dist/core/web/public/next/assets/{useOnboarding-CujRS6PK.js.map → useOnboarding-Bk0VnkxQ.js.map} +1 -1
  345. package/dist/core/web/public/next/assets/{useSeatsRefresh-BEaQdkZs.js → useSeatsRefresh-q7Id9RcW.js} +2 -2
  346. package/dist/core/web/public/next/assets/{useSeatsRefresh-BEaQdkZs.js.map → useSeatsRefresh-q7Id9RcW.js.map} +1 -1
  347. package/dist/core/web/public/next/assets/{useVerseTranscript-BQ0J6Xhx.js → useVerseTranscript-CqH51rt9.js} +2 -2
  348. package/dist/core/web/public/next/assets/{useVerseTranscript-BQ0J6Xhx.js.map → useVerseTranscript-CqH51rt9.js.map} +1 -1
  349. package/dist/core/web/public/next/assets/{verse-icons-DndgEgKS.js → verse-icons-DsG1dOQx.js} +2 -2
  350. package/dist/core/web/public/next/assets/{verse-icons-DndgEgKS.js.map → verse-icons-DsG1dOQx.js.map} +1 -1
  351. package/dist/core/web/public/next/assets/{verse-model-MMySehjj.js → verse-model-JTuvRBVK.js} +2 -2
  352. package/dist/core/web/public/next/assets/{verse-model-MMySehjj.js.map → verse-model-JTuvRBVK.js.map} +1 -1
  353. package/dist/core/web/public/next/assets/{warmup-CNEH_-be.js → warmup-Bv1RumVq.js} +3 -3
  354. package/dist/core/web/public/next/assets/{warmup-CNEH_-be.js.map → warmup-Bv1RumVq.js.map} +1 -1
  355. package/dist/core/web/public/next/assets/why-seat-model-Cau8qG6O.js +2 -0
  356. package/dist/core/web/public/next/assets/why-seat-model-Cau8qG6O.js.map +1 -0
  357. package/dist/core/web/public/next/assets/{workspace-model-Dukb2wwv.js → workspace-model-D-SLfads.js} +2 -2
  358. package/dist/core/web/public/next/assets/{workspace-model-Dukb2wwv.js.map → workspace-model-D-SLfads.js.map} +1 -1
  359. package/dist/core/web/public/next/index.html +1 -1
  360. package/dist/release-dependency-inventory.json +1 -1
  361. package/docs/AUTONOMY-GAP.md +1 -1
  362. package/package.json +1 -1
  363. package/dist/core/web/public/next/assets/Advanced-B-LqYXvd.js +0 -2
  364. package/dist/core/web/public/next/assets/App-E2zCDRxm.js +0 -7
  365. package/dist/core/web/public/next/assets/AppsSection-8wXPPhZb.js +0 -2
  366. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js +0 -2
  367. package/dist/core/web/public/next/assets/AutonomyOffState-B5eEkmiz.js.map +0 -1
  368. package/dist/core/web/public/next/assets/AutonomyOffState-DmbE71vI.css +0 -1
  369. package/dist/core/web/public/next/assets/AutonomySection-B46igJKR.js +0 -2
  370. package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js +0 -2
  371. package/dist/core/web/public/next/assets/BudgetControl-T_RjPrw9.js.map +0 -1
  372. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js +0 -3
  373. package/dist/core/web/public/next/assets/ChatSection-D6WybBpB.js.map +0 -1
  374. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js +0 -2
  375. package/dist/core/web/public/next/assets/CommandSection-DgMGoepd.js.map +0 -1
  376. package/dist/core/web/public/next/assets/DockHost-DW9q0NdR.js +0 -2
  377. package/dist/core/web/public/next/assets/McpSection-BRuCcTjT.js +0 -2
  378. package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js +0 -2
  379. package/dist/core/web/public/next/assets/NeedsYouDrawer-lYN4G_aM.js.map +0 -1
  380. package/dist/core/web/public/next/assets/NeedsYouList-BgH8ezqf.js +0 -2
  381. package/dist/core/web/public/next/assets/NeedsYouList-CruOt4JT.css +0 -1
  382. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js +0 -2
  383. package/dist/core/web/public/next/assets/OnboardingFlow-LoY-zuSe.js.map +0 -1
  384. package/dist/core/web/public/next/assets/OnboardingGate-C4VXn7BJ.js +0 -3
  385. package/dist/core/web/public/next/assets/ResourcesChrome-B2U2lO1H.js +0 -3
  386. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js +0 -3
  387. package/dist/core/web/public/next/assets/Sidebar-DT7ykaqS.js.map +0 -1
  388. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js +0 -3
  389. package/dist/core/web/public/next/assets/VerseConsoleApp-BCY5uSok.js.map +0 -1
  390. package/dist/core/web/public/next/assets/cloud-model-CX407gPY.js +0 -2
  391. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js +0 -2
  392. package/dist/core/web/public/next/assets/copy-setup-CqRSfELB.js.map +0 -1
  393. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js +0 -2
  394. package/dist/core/web/public/next/assets/format-Dk4Fmxax.js.map +0 -1
  395. package/dist/core/web/public/next/assets/global-CNNGMril.js +0 -2
  396. package/dist/core/web/public/next/assets/live-model-De-q0ZFK.js.map +0 -1
  397. package/dist/core/web/public/next/assets/mutations-DTCtKCn_.js +0 -2
  398. package/dist/core/web/public/next/assets/primitives-D0Fb3TtS.js +0 -1
  399. package/dist/core/web/public/next/assets/surface-prefetch-BWr0LBQn.js +0 -2
  400. package/dist/core/web/public/next/assets/types-D5XOdyw8.js +0 -2
  401. package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +0 -1
  402. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js +0 -2
  403. package/dist/core/web/public/next/assets/why-seat-model-jlDTwYSc.js.map +0 -1
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Cloud PR preview (3.13) — what the standing merge gates would say about a
3
+ * cloud task's pull request, computed from its SHA-pinned diff, so Needs-you
4
+ * can triage it: land it, close it, or bring it up to date.
5
+ *
6
+ * PURE: the diff, GitHub's view of the PR and the live policy come in; a
7
+ * verdict comes out. Fetching them is pr-actions.ts's job.
8
+ *
9
+ * NOTHING IS REIMPLEMENTED. Each diff check is the gate function the
10
+ * standing merge pass runs (standing-merge-pass.ts evaluateProposal):
11
+ *
12
+ * protected paths evaluateG1 (selfRepo for ashlr-hub)
13
+ * tampering evaluateG1b
14
+ * risk and size classifyRisk + measureAutoMergeDiffScope → evaluateG2,
15
+ * against the grant's caps (effectiveScopeCaps) — or the
16
+ * compiled STANDING_GRANT_CEILINGS when no grant covers
17
+ * the repo, the loosest any grant can ever be
18
+ * report vs diff turnIntegrity(claim, changedFileCountFromDiff) → evaluateG4
19
+ *
20
+ * and GitHub's own state stands in for the rest a human would look at
21
+ * (conflicts, behind base, required checks — the G7 "no checks ⇒ owner lane"
22
+ * rule included).
23
+ *
24
+ * WHAT THIS IS NOT: a landing decision. G0 (authority), G3 (verification off
25
+ * the current base), G5 and G6 (judge) run only inside the standing pass, and
26
+ * cloud PRs do not enter it yet (automatic landing arrives with cloud
27
+ * intake). `wouldAutoLand` means "every check the gates can make from the
28
+ * diff and GitHub passes" — the list Mason would otherwise read himself. The
29
+ * Tier-1 test-import half of G1 needs a checkout and is not run here; the
30
+ * other G1 rules, including every Tier-1 source path, are.
31
+ */
32
+ import { changedFileCountFromDiff, turnIntegrity } from '../classify/completion-claims.js';
33
+ import { STANDING_GRANT_CEILINGS } from '../authority/types.js';
34
+ import { measureAutoMergeDiffScope } from '../foundry/automerge-diff-scope.js';
35
+ import { classifyRisk } from '../inbox/merge.js';
36
+ import { evaluateG1, evaluateG1b, evaluateG2, evaluateG4 } from '../fleet/merge-gates.js';
37
+ import { MERGE_RISK_RANK } from '../fleet/fleet-types.js';
38
+ // ---------------------------------------------------------------------------
39
+ // Wire shapes (GET /api/verse/cloud/previews; web imports these as types only)
40
+ // ---------------------------------------------------------------------------
41
+ export const VERSE_CLOUD_PREVIEWS_PATH = '/api/verse/cloud/previews';
42
+ /** Needs-you id of a cloud task's PR item (cloud-api.ts cloudNeedsYouItems). */
43
+ export function cloudPrItemId(taskId) {
44
+ return `fleet:owner-lane-pr:cloud-${taskId}`;
45
+ }
46
+ /**
47
+ * The compiled ceilings as a policy: what the loosest grant could allow. A
48
+ * preview without a grant is still judged against real bounds, never none.
49
+ */
50
+ export function ceilingPolicy(repo, selfRepo) {
51
+ const c = STANDING_GRANT_CEILINGS;
52
+ return {
53
+ repo: {
54
+ nameWithOwner: repo,
55
+ stage: 'merge',
56
+ enforcement: 'server',
57
+ maxRisk: c.maxRisk,
58
+ maxFiles: c.maxFiles,
59
+ maxLines: c.maxLines,
60
+ maxMergesPerDay: c.maxMergesPerRepoPerDay,
61
+ selfRepo: selfRepo ? 'merge-non-authority' : null,
62
+ },
63
+ merge: {
64
+ maxFiles: c.maxFiles,
65
+ maxLines: c.maxLines,
66
+ selfRepo: 'merge-non-authority',
67
+ localAuthored: { ...c.localAuthored },
68
+ },
69
+ };
70
+ }
71
+ /**
72
+ * The claim a cloud report makes, in completion-claims' vocabulary. `done`
73
+ * and `partial` say work was done; `blocked` and `no-change` say none was —
74
+ * a diff under either is the "silent change" G4 refuses. No report asserts
75
+ * nothing (`unknown`, which G4 lets pass: it is not evidence either way).
76
+ */
77
+ export function claimOfReport(report) {
78
+ if (!report)
79
+ return 'unknown';
80
+ if (report.status === 'done' || report.status === 'partial')
81
+ return 'claims-change';
82
+ return 'reports-blocked';
83
+ }
84
+ const plural = (n, one, many) => `${n} ${n === 1 ? one : many}`;
85
+ /** The diff-only checks (protected, tamper, scope, claims). Cached per head SHA by pr-actions.ts. */
86
+ export function cloudPrDiffChecks(input) {
87
+ if (input.diff === null) {
88
+ return [{ id: 'protected', ok: false, text: 'Diff unavailable' }];
89
+ }
90
+ const diff = input.diff;
91
+ const scope = measureAutoMergeDiffScope(diff);
92
+ const out = [];
93
+ const g1 = evaluateG1({ paths: scope.ok ? scope.touchedPaths : null, selfRepo: input.selfRepo });
94
+ if (g1.verdict === 'pass')
95
+ out.push({ id: 'protected', ok: true, text: 'No protected paths' });
96
+ else if (g1.hits.length > 0) {
97
+ const more = g1.hits.length > 1 ? ` +${g1.hits.length - 1}` : '';
98
+ out.push({ id: 'protected', ok: false, text: `Protected: ${g1.hits[0].path}${more}` });
99
+ }
100
+ else
101
+ out.push({ id: 'protected', ok: false, text: 'Diff unreadable' });
102
+ const g1b = evaluateG1b(diff);
103
+ out.push(g1b.verdict === 'pass'
104
+ ? { id: 'tamper', ok: true, text: 'No test tampering' }
105
+ : { id: 'tamper', ok: false, text: g1b.code === 'test-tamper' ? 'Test tampering' : 'Tampering not ruled out' });
106
+ // classifyRisk reads only the diff; the rest of a Proposal is irrelevant here.
107
+ const risk = classifyRisk({ diff });
108
+ const policy = input.policy ?? ceilingPolicy(input.repo, input.selfRepo);
109
+ const g2 = evaluateG2({
110
+ partial: false,
111
+ // A cloud PR has no fleet proposal to sign; its identity is the pinned
112
+ // task branch and PR (tracker.ts). Provenance is the standing pass's
113
+ // question once cloud intake exists, not the preview's.
114
+ provenance: { ok: true },
115
+ risk,
116
+ scope: scope.ok ? { files: scope.files, changedLines: scope.changedLines } : null,
117
+ repoPolicy: policy.repo,
118
+ mergePolicy: policy.merge,
119
+ config: {},
120
+ // Claude cloud sessions are frontier-authored.
121
+ producerLocal: false,
122
+ });
123
+ const riskWord = `${risk[0].toUpperCase()}${risk.slice(1)} risk`;
124
+ if (!scope.ok)
125
+ out.push({ id: 'scope', ok: false, text: 'Diff unmeasurable' });
126
+ else if (g2.verdict === 'pass') {
127
+ out.push({ id: 'scope', ok: true, text: `${riskWord} · ${plural(scope.files, 'file', 'files')} · ${plural(scope.changedLines, 'line', 'lines')}` });
128
+ }
129
+ else if (risk === 'high') {
130
+ out.push({ id: 'scope', ok: false, text: 'High risk' });
131
+ }
132
+ else if (MERGE_RISK_RANK[risk] > MERGE_RISK_RANK[g2.caps.maxRisk]) {
133
+ // G2's own order: risk, then files, then lines.
134
+ out.push({ id: 'scope', ok: false, text: `${riskWord} (cap ${g2.caps.maxRisk})` });
135
+ }
136
+ else if (scope.files > g2.caps.maxFiles) {
137
+ out.push({ id: 'scope', ok: false, text: `${plural(scope.files, 'file', 'files')} (cap ${g2.caps.maxFiles})` });
138
+ }
139
+ else {
140
+ out.push({ id: 'scope', ok: false, text: `${plural(scope.changedLines, 'line', 'lines')} (cap ${g2.caps.maxLines})` });
141
+ }
142
+ const g4 = evaluateG4({
143
+ integrity: turnIntegrity(claimOfReport(input.report), changedFileCountFromDiff(diff)),
144
+ claim: claimOfReport(input.report),
145
+ classifier: 'heuristic',
146
+ });
147
+ if (g4.verdict !== 'pass')
148
+ out.push({ id: 'claims', ok: false, text: "Report doesn't match diff" });
149
+ else
150
+ out.push({ id: 'claims', ok: true, text: input.report ? 'Report matches diff' : 'No report' });
151
+ return out;
152
+ }
153
+ // ---------------------------------------------------------------------------
154
+ // GitHub checks and the verdict
155
+ // ---------------------------------------------------------------------------
156
+ export function isBehind(github) {
157
+ return (github.behindBy !== null && github.behindBy > 0) || github.mergeStateStatus === 'BEHIND';
158
+ }
159
+ export function cloudPrGithubChecks(github, baseBranch) {
160
+ const out = [];
161
+ if (github.mergeable === 'MERGEABLE' && github.mergeStateStatus !== 'DIRTY')
162
+ out.push({ id: 'conflicts', ok: true, text: 'No conflicts' });
163
+ else if (github.mergeable === 'CONFLICTING' || github.mergeStateStatus === 'DIRTY')
164
+ out.push({ id: 'conflicts', ok: false, text: `Conflicts with ${baseBranch}` });
165
+ else
166
+ out.push({ id: 'conflicts', ok: false, text: 'GitHub still checking' });
167
+ if (isBehind(github)) {
168
+ out.push({ id: 'behind', ok: false, text: github.behindBy && github.behindBy > 0 ? `${plural(github.behindBy, 'commit', 'commits')} behind` : `Behind ${baseBranch}` });
169
+ }
170
+ else if (github.behindBy === null)
171
+ out.push({ id: 'behind', ok: false, text: `Not compared with ${baseBranch}` });
172
+ else
173
+ out.push({ id: 'behind', ok: true, text: `Up to date with ${baseBranch}` });
174
+ const ci = {
175
+ green: { id: 'ci', ok: true, text: 'Checks green' },
176
+ red: { id: 'ci', ok: false, text: 'Checks failing' },
177
+ pending: { id: 'ci', ok: false, text: 'Checks running' },
178
+ // G7: a PR with no checks is never landed automatically.
179
+ none: { id: 'ci', ok: false, text: 'No checks reported' },
180
+ };
181
+ out.push(ci[github.checks]);
182
+ return out;
183
+ }
184
+ /** Land's own refusals (pr-actions.ts landCloudPr enforces the same). */
185
+ export function landRefusal(github, diffChecks, baseBranch) {
186
+ if (github.state !== 'OPEN')
187
+ return `The pull request is ${github.state === 'MERGED' ? 'already merged' : 'closed'}.`;
188
+ const protectedCheck = diffChecks.find((c) => c.id === 'protected');
189
+ if (!protectedCheck || !protectedCheck.ok) {
190
+ return protectedCheck && protectedCheck.text.startsWith('Protected: ')
191
+ ? `It touches a protected path (${protectedCheck.text.slice('Protected: '.length)}); land it on GitHub after review.`
192
+ : 'Its diff could not be checked for protected paths.';
193
+ }
194
+ if (github.mergeable === 'CONFLICTING' || github.mergeStateStatus === 'DIRTY')
195
+ return `It conflicts with ${baseBranch}.`;
196
+ if (github.mergeable !== 'MERGEABLE')
197
+ return 'GitHub has not finished checking whether it can merge. Try again in a minute.';
198
+ return null;
199
+ }
200
+ export function cloudPrPreview(input) {
201
+ const checks = [...input.diffChecks, ...cloudPrGithubChecks(input.github, input.baseBranch)];
202
+ const failing = checks.filter((c) => !c.ok);
203
+ const wouldAutoLand = failing.length === 0 && input.github.state === 'OPEN';
204
+ const scope = checks.find((c) => c.id === 'scope');
205
+ const refusal = landRefusal(input.github, input.diffChecks, input.baseBranch);
206
+ let reason;
207
+ if (input.github.state !== 'OPEN')
208
+ reason = refusal ?? 'The pull request is not open.';
209
+ else if (wouldAutoLand)
210
+ reason = `Clean: ${scope ? scope.text.replace(/ · /g, ', ').toLowerCase() : 'every check passes'}, checks green.`;
211
+ else
212
+ reason = `Held: ${failing.slice(0, 2).map((c) => c.text.charAt(0).toLowerCase() + c.text.slice(1)).join('; ')}${failing.length > 2 ? ` (+${failing.length - 2} more)` : ''}.`;
213
+ return {
214
+ taskId: input.taskId,
215
+ itemId: cloudPrItemId(input.taskId),
216
+ prNumber: input.prNumber,
217
+ headSha: input.github.headSha,
218
+ baseBranch: input.baseBranch,
219
+ open: input.github.state === 'OPEN',
220
+ wouldAutoLand,
221
+ reason,
222
+ landable: refusal === null ? { ok: true, reason: null } : { ok: false, reason: refusal },
223
+ behind: isBehind(input.github),
224
+ checks,
225
+ computedAt: input.now.toISOString(),
226
+ };
227
+ }
228
+ //# sourceMappingURL=pr-preview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-preview.js","sourceRoot":"","sources":["../../../src/core/cloud/pr-preview.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export declare const CLOUD_BUDGET_LIMITS: Readonly<{
15
15
  maxConcurrent: 20;
16
16
  maxSessionsPerDay: 500;
17
17
  maxSelfImprovePerDay: 100;
18
+ /** At least one: zero would stop self-improvement for good — the enabled switch does that, visibly. */
19
+ maxSelfImproveOpenPrs: 50;
18
20
  }>;
19
21
  /** `$ASHLR_HOME` when it is absolute, else `~/.ashlr` (resolved per call so a test HOME is honoured). */
20
22
  export declare function ashlrHome(): string;
@@ -51,6 +51,8 @@ export const CLOUD_BUDGET_LIMITS = Object.freeze({
51
51
  maxConcurrent: 20,
52
52
  maxSessionsPerDay: 500,
53
53
  maxSelfImprovePerDay: 100,
54
+ /** At least one: zero would stop self-improvement for good — the enabled switch does that, visibly. */
55
+ maxSelfImproveOpenPrs: 50,
54
56
  });
55
57
  // ---------------------------------------------------------------------------
56
58
  // Paths
@@ -121,6 +123,29 @@ function isDeliveryPin(value, repo) {
121
123
  return false;
122
124
  return value['url'].toLowerCase() === `https://github.com/${repo}/pull/${value['number']}`.toLowerCase();
123
125
  }
126
+ /** 3.13: a fleet App PR in the task's own repo (the intake never supersedes across repos). */
127
+ function isSupersededBy(value, repo) {
128
+ return isRecord(value)
129
+ && isString(value['repo']) && value['repo'].toLowerCase() === repo.toLowerCase()
130
+ && Number.isSafeInteger(value['number']) && value['number'] >= 1;
131
+ }
132
+ const SHA1_HEX = /^[0-9a-f]{40}$/;
133
+ const SHA256_HEX = /^[0-9a-f]{64}$/;
134
+ /** Inbox proposal ids are filename stems; the fleet merge state keys on the same shape. */
135
+ const PROPOSAL_ID = /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/;
136
+ /** 3.13: the intake memo — either a filed proposal (id + diff hash) or a refusal code, for one head. */
137
+ function isIntakeMemo(value) {
138
+ if (!isRecord(value) || !isString(value['headSha']) || !SHA1_HEX.test(value['headSha']))
139
+ return false;
140
+ if (!isString(value['at']) || !Number.isFinite(Date.parse(value['at'])))
141
+ return false;
142
+ const proposalId = value['proposalId'];
143
+ const diffHash = value['diffHash'];
144
+ const refused = value['refused'];
145
+ const filed = isString(proposalId) && PROPOSAL_ID.test(proposalId) && isString(diffHash) && SHA256_HEX.test(diffHash) && refused === null;
146
+ const declined = proposalId === null && diffHash === null && isString(refused) && refused.length > 0 && refused.length <= 200;
147
+ return filed || declined;
148
+ }
124
149
  /** Structural check of a persisted task. Hand-edited or foreign files fail it and are skipped by readers. */
125
150
  export function isCloudTask(value) {
126
151
  if (!isRecord(value))
@@ -147,6 +172,8 @@ export function isCloudTask(value) {
147
172
  && (value['pr'] === null || isPr(value['pr']))
148
173
  && (value['report'] === null || isReport(value['report']))
149
174
  && (value['deliveryPin'] === undefined || isDeliveryPin(value['deliveryPin'], value['repo']))
175
+ && (value['supersededBy'] === undefined || isSupersededBy(value['supersededBy'], value['repo']))
176
+ && (value['intake'] === undefined || isIntakeMemo(value['intake']))
150
177
  && typeof value['estimatedCostUsd'] === 'number' && Number.isFinite(value['estimatedCostUsd']) && value['estimatedCostUsd'] >= 0
151
178
  && isNullableString(value['backlogItemId'])
152
179
  && isNullableString(value['needsYouId']);
@@ -247,6 +274,7 @@ function mergeBudget(base, input) {
247
274
  repo,
248
275
  maxPerDay: clampCount(self['maxPerDay'], base.selfImprove.maxPerDay, 0, CLOUD_BUDGET_LIMITS.maxSelfImprovePerDay),
249
276
  reserveUsd: clampMoney(self['reserveUsd'], base.selfImprove.reserveUsd),
277
+ maxOpenPrs: clampCount(self['maxOpenPrs'], base.selfImprove.maxOpenPrs, 1, CLOUD_BUDGET_LIMITS.maxSelfImproveOpenPrs),
250
278
  },
251
279
  updatedAt: typeof src['updatedAt'] === 'string' && Number.isFinite(Date.parse(src['updatedAt'])) ? src['updatedAt'] : base.updatedAt,
252
280
  };
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/core/cloud/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/core/cloud/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Cloud task evidence timeline — HTTP module (3.13), mounted as
3
+ * 'cloud-timeline' in verse-api.ts.
4
+ *
5
+ * GET /api/verse/cloud/tasks/<id>/timeline → CloudTimelineResponse (timeline-types.ts)
6
+ * 404 unknown task, 400 bad id / any query
7
+ *
8
+ * READ-ONLY. A GET behind server.ts's read-session boundary like every
9
+ * Verse read; the mutation token is never needed. Any other verb on this
10
+ * path is a 404 (mutations are refused before this module by the mount).
11
+ *
12
+ * WHY its own module and not a route in cloud-api.ts: the cloud module is
13
+ * edited by other units, and this family only reads. It is mounted BEFORE
14
+ * 'cloud' because cloud-api.ts answers every /api/verse/cloud/* path it does
15
+ * not know with a 404; this module claims exactly one path shape and
16
+ * declines everything else without writing, so it can never shadow a cloud
17
+ * route.
18
+ *
19
+ * The heavy builder (timeline.ts: ledger, merge records, git) is imported
20
+ * only when the path matches, so a cold server pays nothing for this module
21
+ * on any other request.
22
+ */
23
+ import type { ApiModule } from '../verse/api-modules.js';
24
+ export declare const handleCloudTimelineApi: ApiModule;
@@ -0,0 +1,46 @@
1
+ import { sendJson } from '../web/api.js';
2
+ import { CLOUD_TIMELINE_PATH_RE } from './timeline-types.js';
3
+ import { CLOUD_TASK_ID_PATTERN } from './types.js';
4
+ export const handleCloudTimelineApi = async (_ctx, req, res, path, method) => {
5
+ const match = CLOUD_TIMELINE_PATH_RE.exec(path);
6
+ if (!match)
7
+ return false;
8
+ if (method !== 'GET') {
9
+ sendJson(res, 404, { error: `not found: ${method} ${path}` });
10
+ return true;
11
+ }
12
+ let query;
13
+ try {
14
+ query = new URL(req.url ?? '/', 'http://localhost').searchParams;
15
+ }
16
+ catch {
17
+ sendJson(res, 400, { code: 'VERSE_INVALID', error: 'Invalid query string.' });
18
+ return true;
19
+ }
20
+ const first = query.keys().next();
21
+ if (!first.done) {
22
+ sendJson(res, 400, { code: 'VERSE_INVALID', error: `Unknown query parameter: ${first.value}.` });
23
+ return true;
24
+ }
25
+ const id = match[1];
26
+ if (!CLOUD_TASK_ID_PATTERN.test(id)) {
27
+ sendJson(res, 400, { code: 'VERSE_INVALID', error: 'That is not a cloud task id.' });
28
+ return true;
29
+ }
30
+ try {
31
+ const { cloudTaskTimeline, timelineDepsForRoute } = await import('./timeline.js');
32
+ const timeline = await cloudTaskTimeline(id, timelineDepsForRoute());
33
+ if (!timeline) {
34
+ sendJson(res, 404, { error: 'No cloud task with that id.' });
35
+ return true;
36
+ }
37
+ sendJson(res, 200, timeline);
38
+ }
39
+ catch {
40
+ // Never the raw message: store and git errors can carry paths.
41
+ if (!res.headersSent)
42
+ sendJson(res, 500, { error: 'cloud timeline failed' });
43
+ }
44
+ return true;
45
+ };
46
+ //# sourceMappingURL=timeline-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-api.js","sourceRoot":"","sources":["../../../src/core/cloud/timeline-api.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAc,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IACtF,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAsB,CAAC;IAC3B,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,YAAY,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChB,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,4BAA4B,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;IACrB,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;QACrF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAClF,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;QAC/D,IAAI,CAAC,GAAG,CAAC,WAAW;YAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Cloud task evidence timeline — the HTTP contract (3.13).
3
+ *
4
+ * GET /api/verse/cloud/tasks/<id>/timeline → CloudTimelineResponse
5
+ *
6
+ * One ordered chain per cloud task, from the objective to what it cost:
7
+ *
8
+ * objective → launch → worker (model / account) → report (a CLAIM) → PR
9
+ * → diff → checks → merge gates → merge → release → health → cost
10
+ *
11
+ * Every step says where it came from (`source`) and how much it can be
12
+ * trusted (`verified`):
13
+ * true a record Verse (or GitHub, through the tracker) wrote itself —
14
+ * the task store, the fleet merge record, the hash-chained
15
+ * authority ledger, the post-merge watch, local git.
16
+ * false someone's say-so. The session's own report is ALWAYS this,
17
+ * and so is the cost, which is an estimate fixed at launch.
18
+ * 'unknown' nothing was recorded, or the record could not be read.
19
+ *
20
+ * Steps are always present and always in this order, so the chain reads the
21
+ * same for every task; a stage the task has not reached says so
22
+ * (`reached: false`) instead of disappearing.
23
+ *
24
+ * NODE-FREE on purpose: the web UI imports these types and the path helper.
25
+ */
26
+ export declare const CLOUD_TIMELINE_SCHEMA_VERSION: 1;
27
+ /** `/api/verse/cloud/tasks/<id>/timeline` — the id is checked against CLOUD_TASK_ID_PATTERN by the route. */
28
+ export declare const CLOUD_TIMELINE_PATH_RE: RegExp;
29
+ export declare function cloudTimelinePath(taskId: string): string;
30
+ export type TimelineStepKind = 'objective' | 'launch' | 'worker' | 'report' | 'pr' | 'diff' | 'checks' | 'gates' | 'merge' | 'release' | 'health' | 'cost';
31
+ /** The fixed order every timeline uses. */
32
+ export declare const TIMELINE_STEP_ORDER: readonly TimelineStepKind[];
33
+ export type TimelineVerified = true | false | 'unknown';
34
+ export interface TimelineLink {
35
+ /** https only: claude.ai, github.com. */
36
+ href: string;
37
+ label: string;
38
+ }
39
+ export interface TimelineStep {
40
+ kind: TimelineStepKind;
41
+ /** ISO time the evidence was recorded; null when no time was recorded (never guessed). */
42
+ at: string | null;
43
+ /** One short line ("PR #512 merged"). */
44
+ title: string;
45
+ /** Plain sentences; scrubbed. May be empty. */
46
+ detail: string;
47
+ /** Where the evidence came from, in operator words ("authority ledger", "session report"). */
48
+ source: string;
49
+ verified: TimelineVerified;
50
+ /** False while the task has not reached this stage (it may never). */
51
+ reached: boolean;
52
+ link?: TimelineLink;
53
+ }
54
+ export interface CloudTimelineResponse {
55
+ v: typeof CLOUD_TIMELINE_SCHEMA_VERSION;
56
+ generatedAt: string;
57
+ taskId: string;
58
+ repo: string;
59
+ title: string;
60
+ state: string;
61
+ steps: TimelineStep[];
62
+ }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Cloud task evidence timeline — the HTTP contract (3.13).
3
+ *
4
+ * GET /api/verse/cloud/tasks/<id>/timeline → CloudTimelineResponse
5
+ *
6
+ * One ordered chain per cloud task, from the objective to what it cost:
7
+ *
8
+ * objective → launch → worker (model / account) → report (a CLAIM) → PR
9
+ * → diff → checks → merge gates → merge → release → health → cost
10
+ *
11
+ * Every step says where it came from (`source`) and how much it can be
12
+ * trusted (`verified`):
13
+ * true a record Verse (or GitHub, through the tracker) wrote itself —
14
+ * the task store, the fleet merge record, the hash-chained
15
+ * authority ledger, the post-merge watch, local git.
16
+ * false someone's say-so. The session's own report is ALWAYS this,
17
+ * and so is the cost, which is an estimate fixed at launch.
18
+ * 'unknown' nothing was recorded, or the record could not be read.
19
+ *
20
+ * Steps are always present and always in this order, so the chain reads the
21
+ * same for every task; a stage the task has not reached says so
22
+ * (`reached: false`) instead of disappearing.
23
+ *
24
+ * NODE-FREE on purpose: the web UI imports these types and the path helper.
25
+ */
26
+ export const CLOUD_TIMELINE_SCHEMA_VERSION = 1;
27
+ /** `/api/verse/cloud/tasks/<id>/timeline` — the id is checked against CLOUD_TASK_ID_PATTERN by the route. */
28
+ export const CLOUD_TIMELINE_PATH_RE = /^\/api\/verse\/cloud\/tasks\/([^/]+)\/timeline$/;
29
+ export function cloudTimelinePath(taskId) {
30
+ return `/api/verse/cloud/tasks/${encodeURIComponent(taskId)}/timeline`;
31
+ }
32
+ /** The fixed order every timeline uses. */
33
+ export const TIMELINE_STEP_ORDER = [
34
+ 'objective', 'launch', 'worker', 'report', 'pr', 'diff', 'checks', 'gates', 'merge', 'release', 'health', 'cost',
35
+ ];
36
+ //# sourceMappingURL=timeline-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline-types.js","sourceRoot":"","sources":["../../../src/core/cloud/timeline-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAU,CAAC;AAExD,6GAA6G;AAC7G,MAAM,CAAC,MAAM,sBAAsB,GAAG,iDAAiD,CAAC;AAExF,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,0BAA0B,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC;AACzE,CAAC;AAgBD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,mBAAmB,GAAgC;IAC9D,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM;CACjH,CAAC"}