@ashlr/hub 3.10.1 → 3.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (471) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/README.md +343 -82
  3. package/dist/authority-surface.json +80 -15
  4. package/dist/build-identity.json +2 -2
  5. package/dist/cli/cloud.d.ts +39 -0
  6. package/dist/cli/cloud.js +448 -0
  7. package/dist/cli/cloud.js.map +1 -0
  8. package/dist/cli/completions.js +4 -0
  9. package/dist/cli/completions.js.map +1 -1
  10. package/dist/cli/help.js +2 -0
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/index.d.ts +1 -0
  13. package/dist/cli/index.js +10 -0
  14. package/dist/cli/index.js.map +1 -1
  15. package/dist/core/cloud/backlog.d.ts +17 -0
  16. package/dist/core/cloud/backlog.js +177 -0
  17. package/dist/core/cloud/backlog.js.map +1 -0
  18. package/dist/core/cloud/budget.d.ts +19 -0
  19. package/dist/core/cloud/budget.js +99 -0
  20. package/dist/core/cloud/budget.js.map +1 -0
  21. package/dist/core/cloud/checkout.d.ts +41 -0
  22. package/dist/core/cloud/checkout.js +168 -0
  23. package/dist/core/cloud/checkout.js.map +1 -0
  24. package/dist/core/cloud/cloud-api.d.ts +86 -0
  25. package/dist/core/cloud/cloud-api.js +599 -0
  26. package/dist/core/cloud/cloud-api.js.map +1 -0
  27. package/dist/core/cloud/delivery-contract.d.ts +25 -0
  28. package/dist/core/cloud/delivery-contract.js +138 -0
  29. package/dist/core/cloud/delivery-contract.js.map +1 -0
  30. package/dist/core/cloud/improvement-backlog.d.ts +11 -0
  31. package/dist/core/cloud/improvement-backlog.js +26 -0
  32. package/dist/core/cloud/improvement-backlog.js.map +1 -0
  33. package/dist/core/cloud/launcher.d.ts +68 -0
  34. package/dist/core/cloud/launcher.js +312 -0
  35. package/dist/core/cloud/launcher.js.map +1 -0
  36. package/dist/core/cloud/service.d.ts +51 -0
  37. package/dist/core/cloud/service.js +215 -0
  38. package/dist/core/cloud/service.js.map +1 -0
  39. package/dist/core/cloud/store.d.ts +41 -0
  40. package/dist/core/cloud/store.js +278 -0
  41. package/dist/core/cloud/store.js.map +1 -0
  42. package/dist/core/cloud/tracker.d.ts +30 -0
  43. package/dist/core/cloud/tracker.js +152 -0
  44. package/dist/core/cloud/tracker.js.map +1 -0
  45. package/dist/core/cloud/types.d.ts +233 -0
  46. package/dist/core/cloud/types.js +73 -0
  47. package/dist/core/cloud/types.js.map +1 -0
  48. package/dist/core/universe/builtins/preparation/manifest.json +1 -1
  49. package/dist/core/universe/builtins/preparation/preparation-bridge.mjs +5 -4
  50. package/dist/core/universe/builtins/preparation/preparation-verification-fixtures.mjs +4 -3
  51. package/dist/core/universe/campaign.js +9 -1
  52. package/dist/core/universe/campaign.js.map +1 -1
  53. package/dist/core/universe/runner.d.ts +3 -0
  54. package/dist/core/universe/runner.js +7 -3
  55. package/dist/core/universe/runner.js.map +1 -1
  56. package/dist/core/verse/activity-api.d.ts +3 -1
  57. package/dist/core/verse/activity-api.js +16 -1
  58. package/dist/core/verse/activity-api.js.map +1 -1
  59. package/dist/core/verse/activity.d.ts +7 -0
  60. package/dist/core/verse/activity.js +23 -0
  61. package/dist/core/verse/activity.js.map +1 -1
  62. package/dist/core/verse/compaction-point.d.ts +55 -0
  63. package/dist/core/verse/compaction-point.js +75 -0
  64. package/dist/core/verse/compaction-point.js.map +1 -0
  65. package/dist/core/verse/context-math.d.ts +1 -38
  66. package/dist/core/verse/context-math.js +5 -59
  67. package/dist/core/verse/context-math.js.map +1 -1
  68. package/dist/core/verse/verse-api.d.ts +1 -1
  69. package/dist/core/verse/verse-api.js +2 -0
  70. package/dist/core/verse/verse-api.js.map +1 -1
  71. package/dist/core/vision/leader-cloud.d.ts +63 -0
  72. package/dist/core/vision/leader-cloud.js +134 -0
  73. package/dist/core/vision/leader-cloud.js.map +1 -0
  74. package/dist/core/vision/leader.d.ts +6 -0
  75. package/dist/core/vision/leader.js +12 -1
  76. package/dist/core/vision/leader.js.map +1 -1
  77. package/dist/core/web/public/next/assets/{ActionMenu-BBB7VYjz.js → ActionMenu-_DhtX2gO.js} +2 -2
  78. package/dist/core/web/public/next/assets/{ActionMenu-BBB7VYjz.js.map → ActionMenu-_DhtX2gO.js.map} +1 -1
  79. package/dist/core/web/public/next/assets/Advanced-CAAfaBke.js +2 -0
  80. package/dist/core/web/public/next/assets/Advanced-CAAfaBke.js.map +1 -0
  81. package/dist/core/web/public/next/assets/App-BAywyjE8.js +7 -0
  82. package/dist/core/web/public/next/assets/{App-CbDCLAxn.js.map → App-BAywyjE8.js.map} +1 -1
  83. package/dist/core/web/public/next/assets/AppsSection-CUypKeog.js +2 -0
  84. package/dist/core/web/public/next/assets/AppsSection-CUypKeog.js.map +1 -0
  85. package/dist/core/web/public/next/assets/{AreaTrend-BgnK0wAy.js → AreaTrend-CblDqC8Q.js} +2 -2
  86. package/dist/core/web/public/next/assets/{AreaTrend-BgnK0wAy.js.map → AreaTrend-CblDqC8Q.js.map} +1 -1
  87. package/dist/core/web/public/next/assets/AutonomySection-D3d8lYO3.js +2 -0
  88. package/dist/core/web/public/next/assets/{AutonomySection-BF5UCsMv.js.map → AutonomySection-D3d8lYO3.js.map} +1 -1
  89. package/dist/core/web/public/next/assets/BranchBar-DU0jAV1E.js +2 -0
  90. package/dist/core/web/public/next/assets/{BranchBar-nfSb59Kv.js.map → BranchBar-DU0jAV1E.js.map} +1 -1
  91. package/dist/core/web/public/next/assets/{BudgetControl-BESM12dO.js → BudgetControl-Mm1ZL4u6.js} +2 -2
  92. package/dist/core/web/public/next/assets/{BudgetControl-BESM12dO.js.map → BudgetControl-Mm1ZL4u6.js.map} +1 -1
  93. package/dist/core/web/public/next/assets/{BurnDown-D1AfskPT.js → BurnDown-C1fgcFqo.js} +2 -2
  94. package/dist/core/web/public/next/assets/{BurnDown-D1AfskPT.js.map → BurnDown-C1fgcFqo.js.map} +1 -1
  95. package/dist/core/web/public/next/assets/{Button-Cr_qkQEc.js → Button-DqgLUZvd.js} +2 -2
  96. package/dist/core/web/public/next/assets/{Button-Cr_qkQEc.js.map → Button-DqgLUZvd.js.map} +1 -1
  97. package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js +2 -0
  98. package/dist/core/web/public/next/assets/CapacityStrip-nWFHvqFB.js.map +1 -0
  99. package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js +3 -0
  100. package/dist/core/web/public/next/assets/ChatSection-DUZNpiVr.js.map +1 -0
  101. package/dist/core/web/public/next/assets/CloudBudgetForm-2OW38o_C.js +2 -0
  102. package/dist/core/web/public/next/assets/CloudBudgetForm-2OW38o_C.js.map +1 -0
  103. package/dist/core/web/public/next/assets/CommandPalette-C5w2o1-r.js +2 -0
  104. package/dist/core/web/public/next/assets/{CommandPalette-lLV-OR63.js.map → CommandPalette-C5w2o1-r.js.map} +1 -1
  105. package/dist/core/web/public/next/assets/CommandSection-Bx2knNqY.js +2 -0
  106. package/dist/core/web/public/next/assets/CommandSection-Bx2knNqY.js.map +1 -0
  107. package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js +2 -0
  108. package/dist/core/web/public/next/assets/ConfirmDialog-B7ZwCQOX.js.map +1 -0
  109. package/dist/core/web/public/next/assets/ConfirmDialog-Dx15x0Ho.css +1 -0
  110. package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js +2 -0
  111. package/dist/core/web/public/next/assets/Dialog-BpgcEW6b.js.map +1 -0
  112. package/dist/core/web/public/next/assets/Dialog-tQ8kFulD.css +1 -0
  113. package/dist/core/web/public/next/assets/{DiffPane-BVxhK-cy.js → DiffPane-DpqRUtCx.js} +2 -2
  114. package/dist/core/web/public/next/assets/{DiffPane-BVxhK-cy.js.map → DiffPane-DpqRUtCx.js.map} +1 -1
  115. package/dist/core/web/public/next/assets/{DiffViewer-yCdw9J-Y.js → DiffViewer-CoV5-nUf.js} +2 -2
  116. package/dist/core/web/public/next/assets/{DiffViewer-yCdw9J-Y.js.map → DiffViewer-CoV5-nUf.js.map} +1 -1
  117. package/dist/core/web/public/next/assets/DockHost-C0Pq7Jak.js +2 -0
  118. package/dist/core/web/public/next/assets/{DockHost-BZReKwos.js.map → DockHost-C0Pq7Jak.js.map} +1 -1
  119. package/dist/core/web/public/next/assets/{EmptyState-D1GDxVZy.js → EmptyState-DYW29ncw.js} +2 -2
  120. package/dist/core/web/public/next/assets/{EmptyState-D1GDxVZy.js.map → EmptyState-DYW29ncw.js.map} +1 -1
  121. package/dist/core/web/public/next/assets/{Epistemic-DRp4dBfB.js → Epistemic-DVx6oHzp.js} +2 -2
  122. package/dist/core/web/public/next/assets/{Epistemic-DRp4dBfB.js.map → Epistemic-DVx6oHzp.js.map} +1 -1
  123. package/dist/core/web/public/next/assets/FleetSection-DSETviPK.js +3 -0
  124. package/dist/core/web/public/next/assets/FleetSection-DSETviPK.js.map +1 -0
  125. package/dist/core/web/public/next/assets/{Funnel-zvDj3He4.js → Funnel-DxiGqJrt.js} +2 -2
  126. package/dist/core/web/public/next/assets/{Funnel-zvDj3He4.js.map → Funnel-DxiGqJrt.js.map} +1 -1
  127. package/dist/core/web/public/next/assets/GearTray-C3I89sIt.js +2 -0
  128. package/dist/core/web/public/next/assets/{GearTray-CkviqjYr.js.map → GearTray-C3I89sIt.js.map} +1 -1
  129. package/dist/core/web/public/next/assets/{GrowthSection-Bg5sW0jI.js → GrowthSection-C3m2bPEz.js} +2 -2
  130. package/dist/core/web/public/next/assets/{GrowthSection-Bg5sW0jI.js.map → GrowthSection-C3m2bPEz.js.map} +1 -1
  131. package/dist/core/web/public/next/assets/HandoffDialog-Bjb96a0N.js +2 -0
  132. package/dist/core/web/public/next/assets/{HandoffDialog-DcPj1ri9.js.map → HandoffDialog-Bjb96a0N.js.map} +1 -1
  133. package/dist/core/web/public/next/assets/{Input-Ci7TD96x.js → Input-ekTehVaH.js} +2 -2
  134. package/dist/core/web/public/next/assets/{Input-Ci7TD96x.js.map → Input-ekTehVaH.js.map} +1 -1
  135. package/dist/core/web/public/next/assets/LeaderCard-85VBbbaZ.js +2 -0
  136. package/dist/core/web/public/next/assets/{LeaderCard-BSFTlMRF.js.map → LeaderCard-85VBbbaZ.js.map} +1 -1
  137. package/dist/core/web/public/next/assets/{MatrixHeatmap-DojKZe9L.js → MatrixHeatmap-Bo8j0QPC.js} +2 -2
  138. package/dist/core/web/public/next/assets/{MatrixHeatmap-DojKZe9L.js.map → MatrixHeatmap-Bo8j0QPC.js.map} +1 -1
  139. package/dist/core/web/public/next/assets/McpSection-DvHFaVyp.js +2 -0
  140. package/dist/core/web/public/next/assets/{McpSection-CvcYu1X_.js.map → McpSection-DvHFaVyp.js.map} +1 -1
  141. package/dist/core/web/public/next/assets/{MessageMarkdown-BrLCrb73.js → MessageMarkdown-fsY_ltVa.js} +3 -3
  142. package/dist/core/web/public/next/assets/{MessageMarkdown-BrLCrb73.js.map → MessageMarkdown-fsY_ltVa.js.map} +1 -1
  143. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-CjmdBw2p.js → MessageMarkdownRenderer-DDdtu82l.js} +2 -2
  144. package/dist/core/web/public/next/assets/{MessageMarkdownRenderer-CjmdBw2p.js.map → MessageMarkdownRenderer-DDdtu82l.js.map} +1 -1
  145. package/dist/core/web/public/next/assets/{Meter-DTHbmhQg.js → Meter-CeGDXdDM.js} +2 -2
  146. package/dist/core/web/public/next/assets/{Meter-DTHbmhQg.js.map → Meter-CeGDXdDM.js.map} +1 -1
  147. package/dist/core/web/public/next/assets/MindSection-CDVhHvXl.js +2 -0
  148. package/dist/core/web/public/next/assets/{MindSection-DcO9fmYe.js.map → MindSection-CDVhHvXl.js.map} +1 -1
  149. package/dist/core/web/public/next/assets/MutationTokenDialog-CrfJ0PdD.css +1 -0
  150. package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js +2 -0
  151. package/dist/core/web/public/next/assets/MutationTokenDialog-DTQzEOHR.js.map +1 -0
  152. package/dist/core/web/public/next/assets/NeedsYouDrawer-6AuN0BF3.js +2 -0
  153. package/dist/core/web/public/next/assets/{NeedsYouDrawer-hiTINupk.js.map → NeedsYouDrawer-6AuN0BF3.js.map} +1 -1
  154. package/dist/core/web/public/next/assets/{NeedsYouList-B4Z37Phx.js → NeedsYouList-ChnRmbSk.js} +2 -2
  155. package/dist/core/web/public/next/assets/{NeedsYouList-B4Z37Phx.js.map → NeedsYouList-ChnRmbSk.js.map} +1 -1
  156. package/dist/core/web/public/next/assets/NewChatDialog-B06E7sqg.js +3 -0
  157. package/dist/core/web/public/next/assets/{NewChatDialog-utSckh7C.js.map → NewChatDialog-B06E7sqg.js.map} +1 -1
  158. package/dist/core/web/public/next/assets/OnboardingFlow-C2M3zov9.js +2 -0
  159. package/dist/core/web/public/next/assets/{OnboardingFlow-7N3YSUHN.js.map → OnboardingFlow-C2M3zov9.js.map} +1 -1
  160. package/dist/core/web/public/next/assets/PreviewPane-Bd6HsX1k.js +2 -0
  161. package/dist/core/web/public/next/assets/{PreviewPane-CqzkaAjG.js.map → PreviewPane-Bd6HsX1k.js.map} +1 -1
  162. package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js +2 -0
  163. package/dist/core/web/public/next/assets/ProviderLogo-Bz7KR5j3.js.map +1 -0
  164. package/dist/core/web/public/next/assets/RailStatus-CctCuuLy.js +2 -0
  165. package/dist/core/web/public/next/assets/{RailStatus-sZhApA8k.js.map → RailStatus-CctCuuLy.js.map} +1 -1
  166. package/dist/core/web/public/next/assets/{RefreshIndicator-C1uQIegT.js → RefreshIndicator-CKY5BGdD.js} +2 -2
  167. package/dist/core/web/public/next/assets/{RefreshIndicator-C1uQIegT.js.map → RefreshIndicator-CKY5BGdD.js.map} +1 -1
  168. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-CM_8pJs6.css → ResourcePoolConsoleApp-BX9JLkT4.css} +1 -1
  169. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-DXjjV6Sh.js → ResourcePoolConsoleApp-CspIsW_G.js} +5 -5
  170. package/dist/core/web/public/next/assets/{ResourcePoolConsoleApp-DXjjV6Sh.js.map → ResourcePoolConsoleApp-CspIsW_G.js.map} +1 -1
  171. package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js +3 -0
  172. package/dist/core/web/public/next/assets/ResourcesChrome-B7fHZ6zX.js.map +1 -0
  173. package/dist/core/web/public/next/assets/ResourcesChrome-uZEqC2EM.css +1 -0
  174. package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js +2 -0
  175. package/dist/core/web/public/next/assets/ResourcesDrawer-B7-N9n7-.js.map +1 -0
  176. package/dist/core/web/public/next/assets/ResourcesDrawer-CSKIO_wZ.css +1 -0
  177. package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js +2 -0
  178. package/dist/core/web/public/next/assets/RouteErrorBoundary-C_B11J0s.js.map +1 -0
  179. package/dist/core/web/public/next/assets/RouteErrorBoundary-DdxhTdZ6.css +1 -0
  180. package/dist/core/web/public/next/assets/RunInCloudAction-_juw4EXd.js +2 -0
  181. package/dist/core/web/public/next/assets/RunInCloudAction-_juw4EXd.js.map +1 -0
  182. package/dist/core/web/public/next/assets/SeatSelector-D_YXvkPy.js +3 -0
  183. package/dist/core/web/public/next/assets/{SeatSelector-CT92PqM_.js.map → SeatSelector-D_YXvkPy.js.map} +1 -1
  184. package/dist/core/web/public/next/assets/{Segmented-BMvq-FfD.js → Segmented-DnKP6rr7.js} +2 -2
  185. package/dist/core/web/public/next/assets/{Segmented-BMvq-FfD.js.map → Segmented-DnKP6rr7.js.map} +1 -1
  186. package/dist/core/web/public/next/assets/{Select-DkdeoSQn.js → Select-DlbUupTX.js} +2 -2
  187. package/dist/core/web/public/next/assets/{Select-DkdeoSQn.js.map → Select-DlbUupTX.js.map} +1 -1
  188. package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js +2 -0
  189. package/dist/core/web/public/next/assets/SessionGate-DnuTZACL.js.map +1 -0
  190. package/dist/core/web/public/next/assets/SessionGate-DvMpXNpJ.css +1 -0
  191. package/dist/core/web/public/next/assets/SessionInsightChip-C33-k-Q5.js +2 -0
  192. package/dist/core/web/public/next/assets/{SessionInsightChip-CwlakUYU.js.map → SessionInsightChip-C33-k-Q5.js.map} +1 -1
  193. package/dist/core/web/public/next/assets/{SessionSearch-DFByh2NZ.js → SessionSearch-DhhR9Csg.js} +2 -2
  194. package/dist/core/web/public/next/assets/{SessionSearch-DFByh2NZ.js.map → SessionSearch-DhhR9Csg.js.map} +1 -1
  195. package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js +2 -0
  196. package/dist/core/web/public/next/assets/SettingsSection-C0xQvCz3.js.map +1 -0
  197. package/dist/core/web/public/next/assets/Sheet-BvNYOYv5.js +2 -0
  198. package/dist/core/web/public/next/assets/{Sheet-C7APkGPt.js.map → Sheet-BvNYOYv5.js.map} +1 -1
  199. package/dist/core/web/public/next/assets/ShortcutsOverlay-1nUBVO-Z.js +2 -0
  200. package/dist/core/web/public/next/assets/{ShortcutsOverlay-ZPyXUS_I.js.map → ShortcutsOverlay-1nUBVO-Z.js.map} +1 -1
  201. package/dist/core/web/public/next/assets/Sidebar-YrVvvBNM.js +3 -0
  202. package/dist/core/web/public/next/assets/{Sidebar-Chsgazmk.js.map → Sidebar-YrVvvBNM.js.map} +1 -1
  203. package/dist/core/web/public/next/assets/{Slider-B0kjW7cd.js → Slider-B2c-dbQb.js} +2 -2
  204. package/dist/core/web/public/next/assets/{Slider-B0kjW7cd.js.map → Slider-B2c-dbQb.js.map} +1 -1
  205. package/dist/core/web/public/next/assets/{StatusBadge-wv4e6f8b.js → StatusBadge-Q9YYkijx.js} +2 -2
  206. package/dist/core/web/public/next/assets/{StatusBadge-wv4e6f8b.js.map → StatusBadge-Q9YYkijx.js.map} +1 -1
  207. package/dist/core/web/public/next/assets/{StepBand-Db8WPw8J.js → StepBand-Ci-C0GUG.js} +2 -2
  208. package/dist/core/web/public/next/assets/{StepBand-Db8WPw8J.js.map → StepBand-Ci-C0GUG.js.map} +1 -1
  209. package/dist/core/web/public/next/assets/{Surface-BkDrQ4t3.js → Surface-DBovMq4P.js} +2 -2
  210. package/dist/core/web/public/next/assets/{Surface-BkDrQ4t3.js.map → Surface-DBovMq4P.js.map} +1 -1
  211. package/dist/core/web/public/next/assets/{Swimlane-Dcve56cP.js → Swimlane-Cdc4TqDe.js} +2 -2
  212. package/dist/core/web/public/next/assets/{Swimlane-Dcve56cP.js.map → Swimlane-Cdc4TqDe.js.map} +1 -1
  213. package/dist/core/web/public/next/assets/{Switch-DamlpSMY.js → Switch-CUrvzO2k.js} +2 -2
  214. package/dist/core/web/public/next/assets/{Switch-DamlpSMY.js.map → Switch-CUrvzO2k.js.map} +1 -1
  215. package/dist/core/web/public/next/assets/{Tag-Cs4tudBN.js → Tag-Bv8u6APt.js} +2 -2
  216. package/dist/core/web/public/next/assets/{Tag-Cs4tudBN.js.map → Tag-Bv8u6APt.js.map} +1 -1
  217. package/dist/core/web/public/next/assets/TerminalPane-BE4Xlqi5.js +7 -0
  218. package/dist/core/web/public/next/assets/{TerminalPane-BDkKFych.js.map → TerminalPane-BE4Xlqi5.js.map} +1 -1
  219. package/dist/core/web/public/next/assets/UniverseConsoleApp-BGwejf0m.js +2 -0
  220. package/dist/core/web/public/next/assets/{UniverseConsoleApp-BE72VyBL.js.map → UniverseConsoleApp-BGwejf0m.js.map} +1 -1
  221. package/dist/core/web/public/next/assets/{UniverseConsoleApp-Dh7A-hLD.css → UniverseConsoleApp-DfuT-wFw.css} +1 -1
  222. package/dist/core/web/public/next/assets/{UniverseView-BbmYY2P4.js → UniverseView-CgKa-WXC.js} +4 -4
  223. package/dist/core/web/public/next/assets/{UniverseView-BbmYY2P4.js.map → UniverseView-CgKa-WXC.js.map} +1 -1
  224. package/dist/core/web/public/next/assets/UsageSection-CazsHm1f.js +2 -0
  225. package/dist/core/web/public/next/assets/UsageSection-CazsHm1f.js.map +1 -0
  226. package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js +3 -0
  227. package/dist/core/web/public/next/assets/VerseConsoleApp-CTF3Shs0.js.map +1 -0
  228. package/dist/core/web/public/next/assets/VerseConsoleApp-Cxqr-3qc.css +1 -0
  229. package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js +10 -0
  230. package/dist/core/web/public/next/assets/Workspace-CgdyXiEV.js.map +1 -0
  231. package/dist/core/web/public/next/assets/Workspace-Dwri2jFJ.css +1 -0
  232. package/dist/core/web/public/next/assets/actions-MtxBGS5B.js +2 -0
  233. package/dist/core/web/public/next/assets/{actions-BnjZy8a-.js.map → actions-MtxBGS5B.js.map} +1 -1
  234. package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js +2 -0
  235. package/dist/core/web/public/next/assets/apps-model-CDFvmsQV.js.map +1 -0
  236. package/dist/core/web/public/next/assets/budget-queries-CP7hgR-p.js +2 -0
  237. package/dist/core/web/public/next/assets/{budget-queries-Cp6vO7FH.js.map → budget-queries-CP7hgR-p.js.map} +1 -1
  238. package/dist/core/web/public/next/assets/{capacity-strip-model-9-Yb211u.js → capacity-strip-model-fHfu5cph.js} +2 -2
  239. package/dist/core/web/public/next/assets/{capacity-strip-model-9-Yb211u.js.map → capacity-strip-model-fHfu5cph.js.map} +1 -1
  240. package/dist/core/web/public/next/assets/{charts-BmbKhjqw.js → charts-Bis9WSiS.js} +2 -2
  241. package/dist/core/web/public/next/assets/{charts-BmbKhjqw.js.map → charts-Bis9WSiS.js.map} +1 -1
  242. package/dist/core/web/public/next/assets/cloud-C1KPNRHC.css +1 -0
  243. package/dist/core/web/public/next/assets/cloud-queries-BsOepFz6.js +2 -0
  244. package/dist/core/web/public/next/assets/cloud-queries-BsOepFz6.js.map +1 -0
  245. package/dist/core/web/public/next/assets/cloud.module-DoFnr8ZH.js +2 -0
  246. package/dist/core/web/public/next/assets/cloud.module-DoFnr8ZH.js.map +1 -0
  247. package/dist/core/web/public/next/assets/{command-bus-DHJJLWh8.js → command-bus-CMvbYP5K.js} +2 -2
  248. package/dist/core/web/public/next/assets/{command-bus-DHJJLWh8.js.map → command-bus-CMvbYP5K.js.map} +1 -1
  249. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js +2 -0
  250. package/dist/core/web/public/next/assets/command-catalog-Bb_PxC5w.js.map +1 -0
  251. package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js +2 -0
  252. package/dist/core/web/public/next/assets/compaction-point-VL9oegWS.js.map +1 -0
  253. package/dist/core/web/public/next/assets/{composer-keys-CYz4U4Bg.js → composer-keys-su0g1h9o.js} +2 -2
  254. package/dist/core/web/public/next/assets/{composer-keys-CYz4U4Bg.js.map → composer-keys-su0g1h9o.js.map} +1 -1
  255. package/dist/core/web/public/next/assets/context-model-Ci3Ch9t5.js +2 -0
  256. package/dist/core/web/public/next/assets/{context-model-DeJ28uSZ.js.map → context-model-Ci3Ch9t5.js.map} +1 -1
  257. package/dist/core/web/public/next/assets/context-model-CjiJTnf1.js +2 -0
  258. package/dist/core/web/public/next/assets/{context-model-BGznyHNQ.js.map → context-model-CjiJTnf1.js.map} +1 -1
  259. package/dist/core/web/public/next/assets/context-queries-BDXT6LQ3.js +2 -0
  260. package/dist/core/web/public/next/assets/{context-queries-_mEgy4eg.js.map → context-queries-BDXT6LQ3.js.map} +1 -1
  261. package/dist/core/web/public/next/assets/control-queries-Dv-h1Clu.js +2 -0
  262. package/dist/core/web/public/next/assets/{control-queries-C4TG8blN.js.map → control-queries-Dv-h1Clu.js.map} +1 -1
  263. package/dist/core/web/public/next/assets/{dock-icons-BB7Fi6hT.js → dock-icons-t--Eugrd.js} +2 -2
  264. package/dist/core/web/public/next/assets/{dock-icons-BB7Fi6hT.js.map → dock-icons-t--Eugrd.js.map} +1 -1
  265. package/dist/core/web/public/next/assets/{dock-store-CdHQRP8s.js → dock-store-qIu7kSQE.js} +2 -2
  266. package/dist/core/web/public/next/assets/{dock-store-CdHQRP8s.js.map → dock-store-qIu7kSQE.js.map} +1 -1
  267. package/dist/core/web/public/next/assets/{fleet-model-B4FKC7fH.js → fleet-model-IRbwfhkR.js} +2 -2
  268. package/dist/core/web/public/next/assets/{fleet-model-B4FKC7fH.js.map → fleet-model-IRbwfhkR.js.map} +1 -1
  269. package/dist/core/web/public/next/assets/fleet-queries-7FVNByX1.js +2 -0
  270. package/dist/core/web/public/next/assets/fleet-queries-7FVNByX1.js.map +1 -0
  271. package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js +2 -0
  272. package/dist/core/web/public/next/assets/focus-trap-QqQxQdvH.js.map +1 -0
  273. package/dist/core/web/public/next/assets/{format-lW58rL2y.js → format-CaMmVQCn.js} +2 -2
  274. package/dist/core/web/public/next/assets/{format-lW58rL2y.js.map → format-CaMmVQCn.js.map} +1 -1
  275. package/dist/core/web/public/next/assets/git-model-B4S_GUNA.js +5 -0
  276. package/dist/core/web/public/next/assets/{git-model-DaGw1SzS.js.map → git-model-B4S_GUNA.js.map} +1 -1
  277. package/dist/core/web/public/next/assets/global-BkNl4e6E.js +2 -0
  278. package/dist/core/web/public/next/assets/global-BkNl4e6E.js.map +1 -0
  279. package/dist/core/web/public/next/assets/global-BlI2BYa1.css +1 -0
  280. package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js +3 -0
  281. package/dist/core/web/public/next/assets/guarded-action-DHiL8tY5.js.map +1 -0
  282. package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js +2 -0
  283. package/dist/core/web/public/next/assets/guarded-runners-DmGEkM2P.js.map +1 -0
  284. package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js +2 -0
  285. package/dist/core/web/public/next/assets/icon-base-NtFmP2yB.js.map +1 -0
  286. package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js +2 -0
  287. package/dist/core/web/public/next/assets/icons-C5EFt_Ts.js.map +1 -0
  288. package/dist/core/web/public/next/assets/{index-Dk8R-3a7.js → index-DbDw9UAs.js} +3 -3
  289. package/dist/core/web/public/next/assets/{index-Dk8R-3a7.js.map → index-DbDw9UAs.js.map} +1 -1
  290. package/dist/core/web/public/next/assets/{live-model-44wEU6I8.js → live-model-DEwrl7_A.js} +2 -2
  291. package/dist/core/web/public/next/assets/{live-model-44wEU6I8.js.map → live-model-DEwrl7_A.js.map} +1 -1
  292. package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js +2 -0
  293. package/dist/core/web/public/next/assets/local-model-DFyjKX0b.js.map +1 -0
  294. package/dist/core/web/public/next/assets/{mind.module-BOABBdi_.js → mind.module-CLhqMQak.js} +2 -2
  295. package/dist/core/web/public/next/assets/{mind.module-BOABBdi_.js.map → mind.module-CLhqMQak.js.map} +1 -1
  296. package/dist/core/web/public/next/assets/mutations-Kvzsg-iK.js +2 -0
  297. package/dist/core/web/public/next/assets/{mutations-DjXM3IDg.js.map → mutations-Kvzsg-iK.js.map} +1 -1
  298. package/dist/core/web/public/next/assets/nav-C0IunEYF.js +2 -0
  299. package/dist/core/web/public/next/assets/nav-C0IunEYF.js.map +1 -0
  300. package/dist/core/web/public/next/assets/overnight-queries-C_AfcL7q.js +2 -0
  301. package/dist/core/web/public/next/assets/{overnight-queries-Be_eossf.js.map → overnight-queries-C_AfcL7q.js.map} +1 -1
  302. package/dist/core/web/public/next/assets/preloaded-CctOitLu.js +2 -0
  303. package/dist/core/web/public/next/assets/preloaded-CctOitLu.js.map +1 -0
  304. package/dist/core/web/public/next/assets/primitives-CbAGCNKt.js +1 -0
  305. package/dist/core/web/public/next/assets/{queries-CYEVCq5r.js → queries-THD05gHP.js} +2 -2
  306. package/dist/core/web/public/next/assets/{queries-CYEVCq5r.js.map → queries-THD05gHP.js.map} +1 -1
  307. package/dist/core/web/public/next/assets/reasoning-pref-BVPu0SME.js +2 -0
  308. package/dist/core/web/public/next/assets/{reasoning-pref-a_ZP6GzU.js.map → reasoning-pref-BVPu0SME.js.map} +1 -1
  309. package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js +2 -0
  310. package/dist/core/web/public/next/assets/reveal-anchor-wCT5b4m3.js.map +1 -0
  311. package/dist/core/web/public/next/assets/seat-subscription-CR_VylsK.js +2 -0
  312. package/dist/core/web/public/next/assets/{seat-subscription-CRigL-GE.js.map → seat-subscription-CR_VylsK.js.map} +1 -1
  313. package/dist/core/web/public/next/assets/{section-visibility-u7q-Q9AA.js → section-visibility-B0xXUQJ0.js} +2 -2
  314. package/dist/core/web/public/next/assets/{section-visibility-u7q-Q9AA.js.map → section-visibility-B0xXUQJ0.js.map} +1 -1
  315. package/dist/core/web/public/next/assets/{sidebar-model-i4WRuQ6j.js → sidebar-model-C5wVXGpb.js} +2 -2
  316. package/dist/core/web/public/next/assets/{sidebar-model-i4WRuQ6j.js.map → sidebar-model-C5wVXGpb.js.map} +1 -1
  317. package/dist/core/web/public/next/assets/slots-DDd8cEoh.js +3 -0
  318. package/dist/core/web/public/next/assets/{slots-CV9ZuLQU.js.map → slots-DDd8cEoh.js.map} +1 -1
  319. package/dist/core/web/public/next/assets/surface-data-BFxAlefI.js +2 -0
  320. package/dist/core/web/public/next/assets/{surface-data-DLvmUX9z.js.map → surface-data-BFxAlefI.js.map} +1 -1
  321. package/dist/core/web/public/next/assets/surface-prefetch-CHusyO9q.js +2 -0
  322. package/dist/core/web/public/next/assets/surface-prefetch-CHusyO9q.js.map +1 -0
  323. package/dist/core/web/public/next/assets/{tasks-model-DWs5u9RO.js → tasks-model-DvkWveXs.js} +2 -2
  324. package/dist/core/web/public/next/assets/{tasks-model-DWs5u9RO.js.map → tasks-model-DvkWveXs.js.map} +1 -1
  325. package/dist/core/web/public/next/assets/{terminal-icons-Ct9cZsEK.js → terminal-icons-Dp6pJgV2.js} +2 -2
  326. package/dist/core/web/public/next/assets/{terminal-icons-Ct9cZsEK.js.map → terminal-icons-Dp6pJgV2.js.map} +1 -1
  327. package/dist/core/web/public/next/assets/types-D5XOdyw8.js +2 -0
  328. package/dist/core/web/public/next/assets/types-D5XOdyw8.js.map +1 -0
  329. package/dist/core/web/public/next/assets/{usage-queries-CI_y9oWZ.js → usage-queries-CUTmnegA.js} +2 -2
  330. package/dist/core/web/public/next/assets/{usage-queries-CI_y9oWZ.js.map → usage-queries-CUTmnegA.js.map} +1 -1
  331. package/dist/core/web/public/next/assets/use-guarded-action-UCX2u1t1.js +2 -0
  332. package/dist/core/web/public/next/assets/{use-guarded-action-DVCtLzSo.js.map → use-guarded-action-UCX2u1t1.js.map} +1 -1
  333. package/dist/core/web/public/next/assets/{use-ticker-C3LQ2IYs.js → use-ticker-OXAjob3y.js} +2 -2
  334. package/dist/core/web/public/next/assets/{use-ticker-C3LQ2IYs.js.map → use-ticker-OXAjob3y.js.map} +1 -1
  335. package/dist/core/web/public/next/assets/use-token-gate-CDDRAoKH.js +2 -0
  336. package/dist/core/web/public/next/assets/{use-token-gate-B5gOFkeH.js.map → use-token-gate-CDDRAoKH.js.map} +1 -1
  337. package/dist/core/web/public/next/assets/useChartWidth-BW6SwYIK.css +1 -0
  338. package/dist/core/web/public/next/assets/useChartWidth-D9M7kUw7.js +2 -0
  339. package/dist/core/web/public/next/assets/{useChartWidth-0APW0BR3.js.map → useChartWidth-D9M7kUw7.js.map} +1 -1
  340. package/dist/core/web/public/next/assets/{useSeatsRefresh-BN8bso-n.js → useSeatsRefresh-B2dCVcj9.js} +2 -2
  341. package/dist/core/web/public/next/assets/{useSeatsRefresh-BN8bso-n.js.map → useSeatsRefresh-B2dCVcj9.js.map} +1 -1
  342. package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js +2 -0
  343. package/dist/core/web/public/next/assets/useVerseTranscript-BL3CljSI.js.map +1 -0
  344. package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js +2 -0
  345. package/dist/core/web/public/next/assets/verse-icons-DASWdYuE.js.map +1 -0
  346. package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js +2 -0
  347. package/dist/core/web/public/next/assets/verse-model-BQ0Y2CSr.js.map +1 -0
  348. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js +3 -0
  349. package/dist/core/web/public/next/assets/verse-store-b_Lek_c5.js.map +1 -0
  350. package/dist/core/web/public/next/assets/verse-ui-store-D7YXi63q.js +3 -0
  351. package/dist/core/web/public/next/assets/{verse-ui-store-Dy4HuDBV.js.map → verse-ui-store-D7YXi63q.js.map} +1 -1
  352. package/dist/core/web/public/next/assets/{viewport-DDoJ_xVq.js → viewport-BYGH5EgA.js} +2 -2
  353. package/dist/core/web/public/next/assets/{viewport-DDoJ_xVq.js.map → viewport-BYGH5EgA.js.map} +1 -1
  354. package/dist/core/web/public/next/assets/{warmup-BsL2LdR-.js → warmup-AsqwWCUi.js} +3 -3
  355. package/dist/core/web/public/next/assets/{warmup-BsL2LdR-.js.map → warmup-AsqwWCUi.js.map} +1 -1
  356. package/dist/core/web/public/next/assets/{workspace-model-Dd3LmIym.js → workspace-model-CXorJr0G.js} +2 -2
  357. package/dist/core/web/public/next/assets/{workspace-model-Dd3LmIym.js.map → workspace-model-CXorJr0G.js.map} +1 -1
  358. package/dist/core/web/public/next/index.html +1 -1
  359. package/dist/release-dependency-inventory.json +1 -1
  360. package/package.json +5 -2
  361. package/dist/cli/activation.d.ts +0 -41
  362. package/dist/cli/activation.js +0 -485
  363. package/dist/cli/activation.js.map +0 -1
  364. package/dist/core/fleet/generated-repair-resolution.d.ts +0 -36
  365. package/dist/core/fleet/generated-repair-resolution.js +0 -245
  366. package/dist/core/fleet/generated-repair-resolution.js.map +0 -1
  367. package/dist/core/local-runtime/llama/port.d.ts +0 -17
  368. package/dist/core/local-runtime/llama/port.js +0 -47
  369. package/dist/core/local-runtime/llama/port.js.map +0 -1
  370. package/dist/core/local-runtime/llama/proxy-host.d.ts +0 -54
  371. package/dist/core/local-runtime/llama/proxy-host.js +0 -159
  372. package/dist/core/local-runtime/llama/proxy-host.js.map +0 -1
  373. package/dist/core/local-runtime/llama/proxy-process.d.ts +0 -148
  374. package/dist/core/local-runtime/llama/proxy-process.js +0 -250
  375. package/dist/core/local-runtime/llama/proxy-process.js.map +0 -1
  376. package/dist/core/local-runtime/llama/proxy-record.d.ts +0 -40
  377. package/dist/core/local-runtime/llama/proxy-record.js +0 -133
  378. package/dist/core/local-runtime/llama/proxy-record.js.map +0 -1
  379. package/dist/core/local-runtime/llama/proxy-supervisor.d.ts +0 -118
  380. package/dist/core/local-runtime/llama/proxy-supervisor.js +0 -511
  381. package/dist/core/local-runtime/llama/proxy-supervisor.js.map +0 -1
  382. package/dist/core/web/public/next/assets/Advanced-xVYFAeA8.js +0 -2
  383. package/dist/core/web/public/next/assets/Advanced-xVYFAeA8.js.map +0 -1
  384. package/dist/core/web/public/next/assets/App-CbDCLAxn.js +0 -7
  385. package/dist/core/web/public/next/assets/AppsSection-B5HWJi9I.js +0 -2
  386. package/dist/core/web/public/next/assets/AppsSection-B5HWJi9I.js.map +0 -1
  387. package/dist/core/web/public/next/assets/AutonomySection-BF5UCsMv.js +0 -2
  388. package/dist/core/web/public/next/assets/BranchBar-nfSb59Kv.js +0 -2
  389. package/dist/core/web/public/next/assets/CapacityStrip-DqqYnLek.js +0 -2
  390. package/dist/core/web/public/next/assets/CapacityStrip-DqqYnLek.js.map +0 -1
  391. package/dist/core/web/public/next/assets/ChatSection-DoqjyVoj.js +0 -3
  392. package/dist/core/web/public/next/assets/ChatSection-DoqjyVoj.js.map +0 -1
  393. package/dist/core/web/public/next/assets/CommandPalette-lLV-OR63.js +0 -2
  394. package/dist/core/web/public/next/assets/CommandSection-fiZ4DJpM.js +0 -2
  395. package/dist/core/web/public/next/assets/CommandSection-fiZ4DJpM.js.map +0 -1
  396. package/dist/core/web/public/next/assets/DockHost-BZReKwos.js +0 -2
  397. package/dist/core/web/public/next/assets/FleetSection-rPLy_NPo.js +0 -3
  398. package/dist/core/web/public/next/assets/FleetSection-rPLy_NPo.js.map +0 -1
  399. package/dist/core/web/public/next/assets/GearTray-CkviqjYr.js +0 -2
  400. package/dist/core/web/public/next/assets/HandoffDialog-DcPj1ri9.js +0 -2
  401. package/dist/core/web/public/next/assets/LeaderCard-BSFTlMRF.js +0 -2
  402. package/dist/core/web/public/next/assets/McpSection-CvcYu1X_.js +0 -2
  403. package/dist/core/web/public/next/assets/MindSection-DcO9fmYe.js +0 -2
  404. package/dist/core/web/public/next/assets/MutationTokenDialog-Cqn2uPV6.js +0 -2
  405. package/dist/core/web/public/next/assets/MutationTokenDialog-Cqn2uPV6.js.map +0 -1
  406. package/dist/core/web/public/next/assets/MutationTokenDialog-Cum_DqQZ.css +0 -1
  407. package/dist/core/web/public/next/assets/NeedsYouDrawer-hiTINupk.js +0 -2
  408. package/dist/core/web/public/next/assets/NewChatDialog-utSckh7C.js +0 -3
  409. package/dist/core/web/public/next/assets/OnboardingFlow-7N3YSUHN.js +0 -2
  410. package/dist/core/web/public/next/assets/PreviewPane-CqzkaAjG.js +0 -2
  411. package/dist/core/web/public/next/assets/RailStatus-sZhApA8k.js +0 -2
  412. package/dist/core/web/public/next/assets/RouteErrorBoundary-6RMd_aZg.css +0 -1
  413. package/dist/core/web/public/next/assets/RouteErrorBoundary-D1LZxQjN.js +0 -2
  414. package/dist/core/web/public/next/assets/RouteErrorBoundary-D1LZxQjN.js.map +0 -1
  415. package/dist/core/web/public/next/assets/SeatSelector-CT92PqM_.js +0 -3
  416. package/dist/core/web/public/next/assets/SessionInsightChip-CwlakUYU.js +0 -2
  417. package/dist/core/web/public/next/assets/SettingsSection-DgSaHFK4.js +0 -2
  418. package/dist/core/web/public/next/assets/SettingsSection-DgSaHFK4.js.map +0 -1
  419. package/dist/core/web/public/next/assets/Sheet-C7APkGPt.js +0 -2
  420. package/dist/core/web/public/next/assets/ShortcutsOverlay-ZPyXUS_I.js +0 -2
  421. package/dist/core/web/public/next/assets/Sidebar-Chsgazmk.js +0 -3
  422. package/dist/core/web/public/next/assets/TerminalPane-BDkKFych.js +0 -7
  423. package/dist/core/web/public/next/assets/UniverseConsoleApp-BE72VyBL.js +0 -2
  424. package/dist/core/web/public/next/assets/UsageSection-DsC5WmLk.js +0 -2
  425. package/dist/core/web/public/next/assets/UsageSection-DsC5WmLk.js.map +0 -1
  426. package/dist/core/web/public/next/assets/VerseConsoleApp-CXJWDiEM.css +0 -1
  427. package/dist/core/web/public/next/assets/VerseConsoleApp-Dq_hREXs.js +0 -3
  428. package/dist/core/web/public/next/assets/VerseConsoleApp-Dq_hREXs.js.map +0 -1
  429. package/dist/core/web/public/next/assets/Workspace-BYW9dm90.css +0 -1
  430. package/dist/core/web/public/next/assets/Workspace-CKvVEPFq.js +0 -10
  431. package/dist/core/web/public/next/assets/Workspace-CKvVEPFq.js.map +0 -1
  432. package/dist/core/web/public/next/assets/actions-BnjZy8a-.js +0 -2
  433. package/dist/core/web/public/next/assets/budget-queries-Cp6vO7FH.js +0 -2
  434. package/dist/core/web/public/next/assets/command-catalog-s3W6Z96D.js +0 -2
  435. package/dist/core/web/public/next/assets/command-catalog-s3W6Z96D.js.map +0 -1
  436. package/dist/core/web/public/next/assets/context-model-BGznyHNQ.js +0 -2
  437. package/dist/core/web/public/next/assets/context-model-DeJ28uSZ.js +0 -2
  438. package/dist/core/web/public/next/assets/context-queries-_mEgy4eg.js +0 -2
  439. package/dist/core/web/public/next/assets/control-queries-C4TG8blN.js +0 -2
  440. package/dist/core/web/public/next/assets/dock-panes-mnIwSpRp.js +0 -2
  441. package/dist/core/web/public/next/assets/dock-panes-mnIwSpRp.js.map +0 -1
  442. package/dist/core/web/public/next/assets/git-model-DaGw1SzS.js +0 -5
  443. package/dist/core/web/public/next/assets/global-DG1fmn4y.js +0 -2
  444. package/dist/core/web/public/next/assets/global-DG1fmn4y.js.map +0 -1
  445. package/dist/core/web/public/next/assets/global-_tOCFt9y.css +0 -1
  446. package/dist/core/web/public/next/assets/guarded-action--lguLXfz.js +0 -2
  447. package/dist/core/web/public/next/assets/guarded-action--lguLXfz.js.map +0 -1
  448. package/dist/core/web/public/next/assets/icons-YPgbel-I.js +0 -2
  449. package/dist/core/web/public/next/assets/icons-YPgbel-I.js.map +0 -1
  450. package/dist/core/web/public/next/assets/mutations-DjXM3IDg.js +0 -2
  451. package/dist/core/web/public/next/assets/overnight-queries-Be_eossf.js +0 -2
  452. package/dist/core/web/public/next/assets/primitives-Dl3SEQvh.js +0 -1
  453. package/dist/core/web/public/next/assets/reasoning-pref-a_ZP6GzU.js +0 -2
  454. package/dist/core/web/public/next/assets/seat-subscription-CRigL-GE.js +0 -2
  455. package/dist/core/web/public/next/assets/slots-CV9ZuLQU.js +0 -3
  456. package/dist/core/web/public/next/assets/surface-data-DLvmUX9z.js +0 -2
  457. package/dist/core/web/public/next/assets/surface-prefetch-Ct2JwXvL.js +0 -2
  458. package/dist/core/web/public/next/assets/surface-prefetch-Ct2JwXvL.js.map +0 -1
  459. package/dist/core/web/public/next/assets/use-guarded-action-DVCtLzSo.js +0 -2
  460. package/dist/core/web/public/next/assets/use-token-gate-B5gOFkeH.js +0 -2
  461. package/dist/core/web/public/next/assets/useActivity-C3R1Sudh.js +0 -2
  462. package/dist/core/web/public/next/assets/useActivity-C3R1Sudh.js.map +0 -1
  463. package/dist/core/web/public/next/assets/useChartWidth-0APW0BR3.js +0 -2
  464. package/dist/core/web/public/next/assets/useChartWidth-BAtVgn2n.css +0 -1
  465. package/dist/core/web/public/next/assets/verse-model-yHPwjf-7.js +0 -2
  466. package/dist/core/web/public/next/assets/verse-model-yHPwjf-7.js.map +0 -1
  467. package/dist/core/web/public/next/assets/verse-queries-2PxoBISm.js +0 -2
  468. package/dist/core/web/public/next/assets/verse-queries-2PxoBISm.js.map +0 -1
  469. package/dist/core/web/public/next/assets/verse-store-DHTuZpYa.js +0 -3
  470. package/dist/core/web/public/next/assets/verse-store-DHTuZpYa.js.map +0 -1
  471. package/dist/core/web/public/next/assets/verse-ui-store-Dy4HuDBV.js +0 -3
package/README.md CHANGED
@@ -1,11 +1,10 @@
1
1
  <a id="ashlr-universe"></a>
2
2
 
3
- # Ashlrverse
3
+ # Ashlr Verse
4
4
 
5
- **Build the self-improving engineering fleet. Give it direction, resources, and evidence—not an endless queue of prompts.**
5
+ **One console for every coding agent you run: your subscriptions, your local models, Claude cloud sessions and a fleet that merges only inside a scope you sign.**
6
6
 
7
- **[verse.ashlr.ai](https://verse.ashlr.ai)** — Ashlr Verse, the operator console: every account you own
8
- behind one surface, plus a local model that keeps working after the quota runs out.
7
+ **[verse.ashlr.ai](https://verse.ashlr.ai)**
9
8
 
10
9
 
11
10
  ![Ashlr Verse — the operator console: an expandable section rail, a project sidebar, and every connected account with its live usage windows](docs/images/verse-console.png)
@@ -17,34 +16,283 @@ behind one surface, plus a local model that keeps working after the quota runs o
17
16
 
18
17
  ---
19
18
 
20
- ## What is this?
19
+ ## What it is
21
20
 
22
- Ashlrverse is building an open, agent-native operating system for engineers and
23
- builders: a fleet that can discover worthwhile work, build competing approaches,
24
- evaluate real outcomes, and improve how it works. Its
25
- [North Star](docs/NORTH-STAR.md) is useful accepted engineering changes per token
26
- and hour—not more generated code or busier dashboards.
21
+ **Ashlr Verse** is an operator console for coding agents. Every Claude, Codex
22
+ and Grok account you own becomes a *seat*, and so does every tool-capable local
23
+ model. You chat with any of them in one workbench. You watch and bound an
24
+ autonomous fleet that works your enrolled repositories. And you hand work to
25
+ Claude Code cloud sessions that keep running on your Claude credits after the
26
+ subscription window is spent.
27
+
28
+ It ships as a macOS desktop app and as the `ashlr` CLI (`@ashlr/hub`), which
29
+ serves the same console in a browser on macOS, Linux and Windows. Under the
30
+ console is the Hub kernel: the CLI, the Universe experiment runtime and
31
+ account-aware resource pools.
32
+
33
+ Names stay compatible. The repository is `ashlr-hub`, the package is
34
+ `@ashlr/hub`, the command is `ashlr`, and experiments remain `ashlr universe`
35
+ with the `@ashlr/hub/universe` SDK. "Ashlrverse" is the wider project; existing
36
+ manifests, schemas and stores need no naming migration.
37
+
38
+ The user guide is [`docs/VERSE.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/VERSE.md).
39
+
40
+ ---
41
+
42
+ ## The desktop app (macOS)
43
+
44
+ The desktop app is a native window around Verse, with a menu-bar item,
45
+ notifications while it is hidden, a Dock badge for Needs-you items and the
46
+ Terminal pane in the chat dock. It bundles the `ashlr` CLI, so it needs no
47
+ separate Node.js install to run.
48
+
49
+ ### Install
50
+
51
+ There is no public installer and the build is unsigned. You build it once on
52
+ your Mac and keep it in the Dock. The full sequence, prerequisites (Rust with
53
+ `tauri-cli` 2, Bun, Node, Xcode command line tools) and the checks that the
54
+ bundle carries the current assets are in
55
+ [Desktop app](https://github.com/ashlrai/ashlr-hub/blob/master/docs/VERSE.md#desktop-app-macos).
56
+ In short, from the repository root:
57
+
58
+ ```sh
59
+ npm ci
60
+ npm run build:binary # the CLI as one executable, web assets included
61
+ node desktop/scripts/prepare-sidecar.mjs # stage it inside the app
62
+ cd desktop && npm run icons && CI=true cargo tauri build
63
+ rm -rf /Applications/Ashlr.app
64
+ cp -R src-tauri/target/release/bundle/macos/Ashlr.app /Applications/
65
+ ```
66
+
67
+ Run all of those steps every time. A bare `cargo tauri build` wraps a new shell
68
+ around whatever web assets an earlier build left behind.
69
+
70
+ ### Open
71
+
72
+ The first time, right-click `Ashlr.app` and choose **Open**, because the build is
73
+ unsigned. After that it opens normally. A small launch window says what is
74
+ happening while the bundled server starts on `127.0.0.1:7777`. The Verse window
75
+ then opens with its tokens already handed over, so there is nothing to paste.
76
+ Closing the window hides it to the menu bar; **Quit** stops the server.
77
+
78
+ On first launch a two-minute tour shows which seats this Mac can use, whether
79
+ there is a local model, and the three ways to stop things.
80
+
81
+ ### Sign in your seats
82
+
83
+ A seat is one account and the CLI that drives it, pinned to its own profile so a
84
+ turn can never land on the wrong account. Verse never asks for or stores a
85
+ credential; each vendor CLI signs itself in.
86
+
87
+ 1. **Prepare a private profile** for each account. For the Claude seat the cloud
88
+ lane uses:
89
+
90
+ ```sh
91
+ ashlr resources profile prepare --provider claude \
92
+ --directory ~/.ashlr/native-profiles/claude-a \
93
+ --executable /absolute/path/to/the/claude/binary --json
94
+ ```
95
+
96
+ Use `--provider codex` or `--provider grok` for those accounts, with a new
97
+ directory each time. Nothing is signed in yet.
98
+ 2. **Sign in** with the `loginCommand` the command printed: `auth login
99
+ --claudeai` for Claude, `login` for Codex, `--no-auto-update login --oauth`
100
+ for Grok. Finish the vendor's browser flow as the intended account.
101
+ 3. **List the account** in `~/.ashlr/account-connections/connections.json`,
102
+ using the `command` from step 1:
103
+
104
+ ```json
105
+ {
106
+ "schemaVersion": 1,
107
+ "intervalMs": 30000,
108
+ "accounts": [
109
+ { "id": "claude-a", "label": "Claude Max", "provider": "claude",
110
+ "command": ["/absolute/node", "/Users/you/.ashlr/native-profiles/claude-a/launcher.mjs"] }
111
+ ]
112
+ }
113
+ ```
114
+
115
+ 4. **Reopen Verse.** The account appears as a seat in the composer and in
116
+ **Apps & Accounts**, which shows its health, windows and resets. A background
117
+ sweep checks every seat every 10 minutes with status commands only.
118
+ **Reconnect** opens the seat's own login in Terminal.
119
+
120
+ Local models need no sign-in. If Ollama is running, every tag that supports tool
121
+ use becomes a local seat. The account commissioning details, including how to
122
+ check identity and quota, are in
123
+ [Resource Pools](docs/RESOURCE-POOLS.md#commission-native-accounts-and-local-capacity).
124
+
125
+ ---
126
+
127
+ ## The CLI
128
+
129
+ The same console runs from the CLI on macOS, Linux and Windows. It needs Node.js
130
+ 22.15 or newer and Git.
131
+
132
+ ```sh
133
+ npm install -g @ashlr/hub
134
+ ashlr --version
135
+ ashlr verse # start the server and open http://127.0.0.1:7777/verse/
136
+ ```
137
+
138
+ `ashlr verse` prints two tokens. Paste the **read token** into the page once. It
139
+ asks for the **mutation token** the first time you start a chat or change
140
+ something. The server listens on `127.0.0.1` only, and neither token is written
141
+ to disk. `ashlr verse --no-open --json` prints one machine-readable line instead
142
+ of the banner.
143
+
144
+ What differs from the desktop app: the chat dock's Terminal pane needs the
145
+ desktop app's runtime (the browser gets **Open in Terminal.app** instead), and
146
+ the custody helper behind autonomy is macOS-only (a Secure Enclave key and Touch
147
+ ID).
148
+
149
+ ---
27
150
 
28
- **Hub is its local kernel**: the CLI, experiment runtime, account-aware resource
29
- pools and visual control room. Today it turns a pinned Git seed, an objective
30
- and a resource budget into competing, evaluated artifacts.
151
+ ## Quickstart
152
+
153
+ 1. **Install** the desktop app or the CLI (above), and open Verse.
154
+ 2. **Sign in your seats** (above). Start `ollama serve` for local seats.
155
+ 3. **Open a project.** **New chat** (⌘N) picks a seat and a folder; in the
156
+ desktop app **Choose folder…** opens the native picker. Saving a folder as a
157
+ project never enrolls it for unattended work.
158
+ 4. **Chat.** The composer takes attachments, `@` files and `/` commands, and
159
+ queues up to 3 turns while one runs. The context meter shows the model's real
160
+ window and compaction point; **Continue in a fresh chat** hands off with a
161
+ note built without a model call. ⌘K reaches every chat, action and seat; ⌘J
162
+ opens Needs you.
163
+ 5. **Optionally run the local fast lane.** `ashlr local-runtime start --slots 4`
164
+ starts llama-server with batching slots, and
165
+ `ASHLR_VERSE_LOCAL_DISPATCH=llama-server` in Verse's environment sends local
166
+ turns to it. Model discovery stays on Ollama.
167
+ 6. **Optionally hand work to the cloud.** **New cloud task** on Command, or
168
+ `ashlr cloud launch "<task>" --repo owner/name` ([cloud lane](#the-cloud-lane)).
169
+ 7. **Optionally turn on autonomy** with the one-time setup below.
170
+
171
+ ---
172
+
173
+ ## Turn on autonomy: the one-time `ashlr authority setup`
174
+
175
+ Autonomy ships **dormant**. Nothing merges, and no standing grant exists, until
176
+ you run the guided setup once on your Mac. Until a grant is signed, live fleet
177
+ ticks refuse: the compiled daemon and conductor trust roots are empty, and a
178
+ signed standing grant is the only other way a tick is admitted. The dry run
179
+ still works.
180
+
181
+ ```sh
182
+ ashlr authority setup --dry-run # print every step and what it would do
183
+ ashlr authority setup # do them, pausing only where you must act
184
+ ashlr authority status # grant, switch, Stop, rollout stage, ledger, custody
185
+ ```
186
+
187
+ `setup` performs each step it can and **pauses only for the steps marked ✋**,
188
+ which no agent may do. It prints exactly what it did and can be re-run safely.
189
+
190
+ 1. ✋ **Install the custody helper:** `sudo scripts/install-custody.sh`
191
+ (root-owned, in `/usr/local/libexec/`).
192
+ 2. ✋ **Create the Secure Enclave key** (Touch ID). The private key never leaves
193
+ this Mac's Secure Enclave.
194
+ 3. ✋ **Compile the public key in.** Setup opens a PR adding it to
195
+ `src/core/authority/trust-roots.ts`. You merge it, run `npm run build`,
196
+ install the release as usual and restart the daemon.
197
+ 4. ✋ **Create the `ashlr-fleet` GitHub App** (one browser page) and **install
198
+ it** on the enrolled repos (one more click). Its private key goes straight
199
+ into the custody Keychain item; the PEM never touches disk.
200
+ 5. ✋ **Store a Claude token:** run `claude setup-token` and paste it when
201
+ asked. Only tool-less judge and Leader calls ever see it.
202
+ 6. **Apply the rulesets** (`ashlr authority protect --print`, then `--apply`):
203
+ required checks, no force-push or deletion, and bypass for your admin role
204
+ but never for the App.
205
+ 7. **Create the canary** repository `fleet-canary` with its CI workflow, using
206
+ your own `gh` login (the App cannot write workflows).
207
+ 8. ✋ **Retire the old key.** Confirm moving `~/.ashlr/activation/` out of
208
+ `~/.ashlr`; archive it offline, then delete it.
209
+ 9. **Rotate the provenance HMAC key** (`ashlr authority rotate-provenance`).
210
+ 10. ✋ **Sign the first grant** (Touch ID) and, optionally, set the switch to
211
+ Autonomous. The grant starts on the shadow stage of its rollout ladder.
212
+
213
+ After that, the only recurring step is one Touch ID every 30 days, or after a
214
+ deploy that changes authority code.
215
+
216
+ **What a grant allows.** A standing grant names the repositories, engines, risk
217
+ and size caps, spend ceiling and Leader classes, and is valid for at most 30
218
+ days. Effective policy is the minimum of the grant, the config and compiled
219
+ ceilings (medium risk, 10 files / 300 lines, 24 merges per repo per day).
220
+ Lowering never asks: the switch (Off, Propose, Autonomous) goes down instantly,
221
+ **Stop** writes `~/.ashlr/KILL`, and **Revoke** needs a new grant to resume.
222
+ Every merge happens on GitHub, pinned to the head SHA, after the gates and a
223
+ judge from a different model family. CI and a fresh re-run watch it for two
224
+ hours, and a red merge is reverted automatically. The full model is in
225
+ [`docs/STANDING-AUTHORITY.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/STANDING-AUTHORITY.md).
226
+
227
+ **Budget modes** decide how much of each seat autonomy may use. They are set in
228
+ `~/.ashlr/budget.json` and from the budget pill on Command. Under **balanced**
229
+ (the default), Claude keeps 40 % of its weekly window for you, and autonomy
230
+ never uses it while its five-hour window is above 70 %. Grok keeps no reserve.
231
+ Local models are free and unlimited. **all-in** drops the reserves, and
232
+ **reserve** keeps 85 % of every paid window for you. Codex is off for autonomy
233
+ until you switch it on. A seat whose usage cannot be read is never eligible.
234
+ Your own chats ignore reserves.
235
+
236
+ ---
237
+
238
+ ## Resources, on every page
239
+
240
+ Press **⌘.** (or click the tab on the right edge, or run "Show resources" from ⌘K) to open the Resources drawer:
241
+ every Claude, Codex and Grok account with its live 5-hour and weekly windows, the share kept for you, reset times
242
+ and Reconnect / Check again; your local models with runtime state and context windows; and your cloud credits.
243
+ It opens over your work or pins as a column beside it, and a dot on the edge tab tells you at a glance whether
244
+ everything is usable.
245
+
246
+ ## The cloud lane
247
+
248
+ New in 3.11. Verse can start **Claude Code cloud sessions** (claude.ai/code) and
249
+ track what they deliver. They run on your Claude account, including its cloud
250
+ credits, so they keep working after the subscription window is spent.
251
+
252
+ - **Start one** from Command (**New cloud task**), from a chat (**Run in cloud**
253
+ in the composer's ⋯ sheet), or with `ashlr cloud launch "<task>"`. Verse can
254
+ also work through its own improvement backlog: **Improve Verse** launches the
255
+ next item now, and with self-improvement on the server launches at most 4 a
256
+ day on its own.
257
+ - **Every task delivers to GitHub.** Verse cannot read a session back, so each
258
+ task pushes the branch `ashlr-cloud/<taskId>` and opens a **draft** PR with a
259
+ report block. Verse follows it with `gh` and lists it in Needs you when the PR
260
+ is open. **Nothing in the lane merges.**
261
+ - **Spend is an estimate, and is labelled as one.** Claude does not expose the
262
+ credit balance. Verse counts $3 per launched session against $250 by default,
263
+ and you correct it after checking
264
+ [claude.ai/settings/usage](https://claude.ai/settings/usage). Limits: 4 at
265
+ once, 20 a day, and self-improvement stops at a $40 reserve.
266
+ - **It launches only as the `claude-a` seat**, signed in with a claude.ai
267
+ account. Cloud sessions refuse API keys.
268
+ - **Turn it off:** `ashlr cloud budget --self-improve off` stops launches Verse
269
+ starts itself, and `ASHLR_CLOUD_AUTO=0` stops the background scheduler.
270
+
271
+ How it works, the delivery contract, the budget math and every failure code:
272
+ [`docs/CLOUD.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/CLOUD.md).
273
+
274
+ ---
31
275
 
32
- The current local loop is concrete: run isolated variants, freeze their artifacts,
33
- evaluate against a fixed comparator, retain the best result in each niche, and
34
- reuse those winners as later-generation parents. Provider-backed generation and
35
- resource routing are separately configured; ecosystem projects remain independent.
276
+ ## Reference
36
277
 
37
- Ashlrverse is the public product name. Compatibility names stay unchanged:
38
- the repository is `ashlr-hub`, the package is `@ashlr/hub`, and experiment commands
39
- remain `ashlr universe` with the `@ashlr/hub/universe` SDK. Existing manifests,
40
- schemas and stores do not need a naming migration.
278
+ The sections below document the Hub underneath the console: the Universe
279
+ experiment kernel, resource pools, and the legacy enrolled-repository fleet with
280
+ its dashboard and CLI.
41
281
 
42
- ### See the loop work
282
+ ### Universe experiments
283
+
284
+ Universe turns a pinned Git seed, an objective and a resource budget into
285
+ competing, evaluated artifacts. It runs isolated variants, freezes their
286
+ artifacts, evaluates them against a fixed comparator, keeps the best result in
287
+ each niche, and reuses those winners as parents in later generations. Its
288
+ [North Star](docs/NORTH-STAR.md) is useful accepted engineering changes per token
289
+ and hour, not more generated code.
43
290
 
44
291
  Start with the [executable demo](docs/DEMO.md): two generations, three competing
45
292
  variants, seven correctness cases, two retained niches and a deliberately broken
46
- candidate that must lose. It runs real code without a model account. The candidate
47
- transformations are scripted, so this demonstrates the mechanism—not AI productivity.
293
+ candidate that must lose. It runs real code without a model account. The
294
+ candidate transformations are scripted, so it demonstrates the mechanism, not AI
295
+ productivity.
48
296
 
49
297
  ![Two demo generations: compact code shrinks from 274 to 47 bytes and readable code from 317 to 210 bytes; all retained variants pass seven cases and the broken sorting variant is rejected.](https://raw.githubusercontent.com/ashlrai/ashlr-hub/master/docs/images/universe-demo.png)
50
298
 
@@ -52,14 +300,7 @@ Recorded deterministic fixture at source `914ebd1f566c0dc4f0a95479d9c4f464289e73
52
300
  Arrows show parent reuse; byte reductions are not measured AI engineering yield.
53
301
  Read the [demo evidence and reproduction guide](docs/DEMO.md#recorded-example).
54
302
 
55
- The [Ashlrverse observatory source](https://github.com/ashlrai/ashlr-hub/blob/master/examples/universe-site/README.md)
56
- adds a space-themed landing page and interactive lineage replay of that recorded
57
- experiment. It is credential-free presentation code, not a live fleet dashboard;
58
- its [original artwork and provenance](https://github.com/ashlrai/ashlr-hub/blob/master/examples/universe-site/ASSETS.md)
59
- are included so contributors can reproduce the experience.
60
-
61
- From a trusted checkout on **macOS with Node.js 24+ and Git**, install and build
62
- locally, then create a fresh private experiment store:
303
+ From a trusted checkout on **macOS with Node.js 24+ and Git**:
63
304
 
64
305
  ```sh
65
306
  npm ci
@@ -69,17 +310,9 @@ node bin/ashlr universe demo --root "$ASHLR_DEMO_ROOT" --json
69
310
  node bin/ashlr universe console --root "$ASHLR_DEMO_ROOT"
70
311
  ```
71
312
 
72
- Open the printed loopback URL and enter its private read token to inspect trials,
73
- parents and the evidence graph. The console observes; it does not launch work.
74
- Installation/build run trusted repository scripts; the demo creates local files
75
- and executes bounded sandboxed code. See the [demo guide](docs/DEMO.md) for expected
76
- results, prerequisites and recovery. No GitHub Actions are needed.
77
-
78
- **Source and distribution are different.** This checkout describes the 3.4.0
79
- development line. On 2026-09-09, npm `latest` and `candidate` both resolve to
80
- `@ashlr/hub@3.3.2`; installing that package does not install this Universe demo.
81
- See the [release record](https://github.com/ashlrai/ashlr-hub/blob/master/docs/RELEASING.md) before choosing an artifact. Neither
82
- source availability nor a successful demo commissions an unattended provider fleet.
313
+ Open the printed loopback URL and enter its private read token to inspect
314
+ trials, parents and the evidence graph. The console observes; it does not launch
315
+ work. See the [demo guide](docs/DEMO.md) for expected results and recovery.
83
316
 
84
317
  | Build your next step | Guide |
85
318
  |---------------------|-------|
@@ -89,39 +322,55 @@ source availability nor a successful demo commissions an unattended provider fle
89
322
  | Run a verified package independently of this checkout | [Pinned local runtime](docs/ASHLR-UNIVERSE.md#install-a-pinned-local-runtime) |
90
323
  | Understand the components or contribute | [Architecture](docs/ARCHITECTURE.md#current-runtime-map) · [Documentation map](docs/README.md) |
91
324
 
92
- ### Existing fleet runtime
325
+ ### Resource pools
93
326
 
94
- For explicitly enrolled account and local-model tasks, the new
95
- [resource pool runner](docs/RESOURCE-POOLS.md) combines quota windows, rolling task
96
- caps, and shared-account concurrency before dispatch. `ashlr resources pool`
327
+ For explicitly enrolled account and local-model tasks, the
328
+ [resource pool runner](docs/RESOURCE-POOLS.md) combines quota windows, rolling
329
+ task caps and shared-account concurrency before dispatch. `ashlr resources pool`
97
330
  records assignments and reported usage without switching credentials or starting
98
- a daemon. It is separate from Universe's evaluator and is not yet a commissioned
99
- unattended multi-account fleet.
331
+ a daemon. It is separate from Universe's evaluator.
100
332
 
101
- Use `ashlr resources pool console` with the same explicit pool files to open its
333
+ `ashlr resources pool console` opens its
102
334
  [operations desk](docs/RESOURCE-POOLS.md#operate-the-resource-console): account
103
335
  capacity lanes, routing exclusions, dispatch activity and token evidence. Adding
104
336
  `--execute --workspace /absolute/worktree` enables a durable foreground queue with
105
- task submission, pause/resume, cancellation and session-local output. The console
106
- separates owned dispatches from reservations with unknown process liveness.
337
+ task submission, pause/resume, cancellation and session-local output.
107
338
 
108
- ashlr-hub is a single Node binary containing an autonomous agent fleet for enrolled repositories. In the current production build, compiled daemon and conductor trust roots are empty, so live non-dry fleet execution is deliberately dormant; verified dry-run, status, and local-console paths remain available.
339
+ ### The legacy enrolled-repository fleet
109
340
 
110
- When an independently provisioned runtime admits it, the fleet scans your backlog, dispatches sandboxed agent swarms across multiple backends (local Ollama/LM Studio, Claude Code, Codex, any OpenAI-compatible API), and deposits proposed diffs into an **Approval Inbox**. By default, nothing touches a branch until you explicitly approve it. A separate, default-off auto-merge subsystem can be enabled only with explicit authority and fail-closed verification. The kill-switch is a single file.
341
+ ashlr-hub also contains the original autonomous fleet for enrolled repositories.
342
+ In the current production build its compiled daemon and conductor trust roots are
343
+ empty, so live non-dry fleet execution is dormant unless a standing grant (above)
344
+ admits the tick; verified dry-run, status and local-console paths remain
345
+ available.
111
346
 
112
- It is also a local unifying harness: one CLI and web dashboard that indexes your enrolled projects, aggregates all your MCP servers into a single gateway, tracks real spend, and provides `ashlr run` / `ashlr swarm` for ad-hoc work.
347
+ When admitted, the fleet scans your backlog, dispatches sandboxed agent swarms
348
+ across multiple backends (local Ollama/LM Studio, Claude Code, Codex, any
349
+ OpenAI-compatible API), and deposits proposed diffs into an **Approval Inbox**.
350
+ Without a grant, nothing touches a branch until you explicitly approve it. The
351
+ kill-switch is a single file.
352
+
353
+ It is also a local harness: one CLI and web dashboard that indexes your enrolled
354
+ projects, aggregates your MCP servers into a single gateway, tracks real spend,
355
+ and provides `ashlr run` / `ashlr swarm` for ad-hoc work.
113
356
 
114
357
  ### Authority defaults
115
358
 
116
- First activation currently stops at observation: run `ashlr preflight`, enroll a repo, and complete a dry-run. Empty compiled trust roots refuse live non-dry daemon and conductor effects, and resident service mutation has no production authority. Existing proposals can still be inspected, but no dry-run or readiness result widens runtime authority.
359
+ Without a standing grant, first activation stops at observation: run
360
+ `ashlr preflight`, enroll a repo, and complete a dry-run. Empty compiled trust
361
+ roots refuse live non-dry daemon and conductor effects, and resident service
362
+ mutation has no production authority. No dry-run or readiness result widens
363
+ runtime authority.
117
364
 
118
365
  | Path | Default | Required authority | Possible outward effect |
119
366
  |------|---------|--------------------|-------------------------|
120
- | Daemon generation | **Dormant in production** | A separately provisioned compiled trust root; the shipped roots are empty | Dry-run/status only; live non-dry dispatch refuses before effects |
367
+ | Daemon generation | **Dormant in production** | A signed standing grant (`ashlr authority setup`) or a separately provisioned compiled trust root; the shipped roots are empty | Dry-run/status only; live non-dry dispatch refuses before effects |
368
+ | Standing-grant merge | **Off until setup** | A Touch ID-signed grant, the merge gates and a cross-family judge | Merge on GitHub pinned to the head SHA, watched for two hours and reverted if red |
121
369
  | Inbox apply | Manual | Explicit `ashlr inbox approve`, confirmation, enrollment, kill-switch clear | Applies to a dedicated local branch; never silently edits the working tree |
122
370
  | Protected PR submit | Operator-invoked | Explicit `ashlr inbox submit`, caller confirmation, signed frontier provenance, fresh verification, and live protected-remote evidence | Opens one review PR; never merges `main` or contacts a model. `--yes` is caller intent, not an authenticated human receipt. |
123
- | Autonomous merge | **Off** | `foundry.autoMerge.enabled: true` plus the selected tier, judge-backed verification, or evidence authority gates | Local merge or protected remote PR, depending on policy; every refusal is fail-closed |
371
+ | Legacy autonomous merge | **Off** | `foundry.autoMerge.enabled: true` plus the selected tier, judge-backed verification, or evidence authority gates | Local merge or protected remote PR, depending on policy; every refusal is fail-closed |
124
372
  | Judge-free evidence merge | **Off** | Base- and diff-bound deterministic verification, signed provenance/evidence, strict scope/risk policy, and live protected-branch checks | Protected remote PR handoff only; no local fallback, self-target merge, partial capture, or build/CI/manifest change |
373
+ | Cloud task | Operator-invoked, or self-improvement under its budget | The cloud budget gates and a signed-in `claude-a` seat | A draft PR on `ashlr-cloud/<taskId>`; never merges |
125
374
  | Deploy | Never performed by the daemon | Explicit `ashlr ship --deploy <target> --confirm` after pre-ship checks | Runs the selected production deploy command |
126
375
  | OS service mutation | **Temporarily unavailable** | No production install/reinstall/repair/restart authority is currently issued | Existing services expose status and uninstall only; no live one-shot or resident start is admitted |
127
376
 
@@ -129,9 +378,9 @@ No successful test, model verdict, or proposal record grants deployment or servi
129
378
 
130
379
  ---
131
380
 
132
- ## What makes it different
381
+ ## The legacy autonomous loop
133
382
 
134
- Most AI coding tools are request-response: you ask, the model answers. Ashlr's source architecture defines a **continuous autonomous loop**, but the current production entrypoints keep its non-dry daemon and conductor effects dormant because their compiled trust roots are empty:
383
+ Most AI coding tools are request-response: you ask, the model answers. Ashlr's source architecture defines a **continuous autonomous loop**. Without a signed standing grant, the current production entrypoints keep its non-dry daemon and conductor effects dormant because their compiled trust roots are empty:
135
384
 
136
385
  ```
137
386
  End-State Spec (your vision)
@@ -147,7 +396,7 @@ End-State Spec (your vision)
147
396
  → Scorecard feedback (outcomes feed learned routing)
148
397
  ```
149
398
 
150
- **What this architecture unlocks once an independently provisioned runtime admits it:**
399
+ **What this architecture unlocks once a standing grant or an independently provisioned runtime admits it:**
151
400
 
152
401
  - The fleet works your backlog while you sleep.
153
402
  - You review proposals with `ashlr inbox`, not a chat window.
@@ -169,7 +418,7 @@ separate [execution boundaries](docs/ARCHITECTURE.md#current-runtime-map).
169
418
 
170
419
  ---
171
420
 
172
- ## Quickstart
421
+ ## Legacy fleet quickstart
173
422
 
174
423
  For Universe experiments and the resource fleet map, follow the
175
424
  [current-source quickstart](docs/QUICKSTART.md#run-the-current-universe-kernel).
@@ -179,20 +428,9 @@ have a separate [commissioning procedure](docs/RESOURCE-POOLS.md#commission-nati
179
428
  The instructions below cover the **general Hub and legacy fleet configuration**.
180
429
  They do not install an unreleased source feature or activate the dormant daemon.
181
430
 
182
- ### Requirements
183
-
184
- - Node.js 22.15+
185
- - Git
186
- - A configured backend only for commands that invoke a model; no model is required for the deterministic Universe demo or saved-evidence inspection
187
-
188
- ### Install
189
-
190
- ```sh
191
- npm install -g @ashlr/hub
192
- ashlr --version
193
- ```
431
+ ### Install from source
194
432
 
195
- Or from source:
433
+ The npm install is [above](#the-cli). To run from a checkout instead:
196
434
 
197
435
  ```sh
198
436
  git clone https://github.com/ashlrai/ashlr-hub
@@ -241,8 +479,9 @@ Prints what the fleet would work on. Creates no proposals, spends $0.
241
479
  ashlr daemon start --once
242
480
  ```
243
481
 
244
- The current production build refuses this non-dry command before dispatch or
245
- proposal creation because its compiled daemon trust roots are empty. Use
482
+ Without a signed standing grant, the current production build refuses this
483
+ non-dry command before dispatch or proposal creation because its compiled daemon
484
+ trust roots are empty. Use
246
485
  `ashlr daemon status`, the dry-run above, and Mission Control for verified
247
486
  observation. A test-only injected trust root is not production activation.
248
487
 
@@ -506,6 +745,12 @@ next actions point at work the daemon can select now instead of phantom backlog.
506
745
 
507
746
  | Command | What it does |
508
747
  |---------|-------------|
748
+ | `ashlr verse [--port N] [--no-open] [--json]` | Start the Verse console at `127.0.0.1:7777/verse/` |
749
+ | `ashlr authority setup/status/switch/stop/grant/revoke/ledger` | Standing authority: the one-time setup, Touch ID grants, the autonomy switch, Stop and the ledger |
750
+ | `ashlr leader show/run/tick/veto` | The Leader: latest memo, a run when due, due class-B actions, veto |
751
+ | `ashlr cloud launch/list/refresh/improve/budget/backlog` | The cloud lane: Claude Code cloud sessions, their budget and the self-improvement backlog |
752
+ | `ashlr local-runtime start/stop/status` | Supervised llama-server with batching slots for local seats |
753
+ | `ashlr resources profile prepare/repin` | Prepare or re-pin a private native profile for one account |
509
754
  | `ashlr setup` | First-activation checks; currently nonzero because resident service mutation is restricted |
510
755
  | `ashlr onboard <repo>` | Enroll one repo with walkthrough + dry run |
511
756
  | `ashlr enroll add/remove/list` | Manage enrolled repos |
@@ -589,7 +834,15 @@ Full invariant set: [`docs/SPEC-V4-FOUNDRY.md`](https://github.com/ashlrai/ashlr
589
834
  ├── foundry/
590
835
  │ └── provenance.key # HMAC signing key (0600, per-machine, never transmitted)
591
836
  ├── audit/ # Append-only confinement + action audit log
592
- └── manager/ # Manager judge scorecards
837
+ ├── manager/ # Manager judge scorecards
838
+ ├── native-profiles/ # One private profile per seat (launcher, command.json, native state)
839
+ ├── account-connections/ # connections.json: the seats Verse lists
840
+ ├── verse/ # Verse sessions, workspaces, project memory, attachments
841
+ ├── authority/ # Standing grants and the hash-chained ledger
842
+ ├── budget.json # Budget mode and per-seat overrides
843
+ ├── routing/
844
+ │ └── capacity-history.jsonl # Seat window readings behind the burn-downs
845
+ └── cloud/ # Cloud tasks, cloud budget, backlog and launch checkouts
593
846
  ```
594
847
 
595
848
  Per-repo memory lives in `<repo>/.ashlrcode/genome/`. The CLI is the sole writer of `~/.ashlr/`.
@@ -697,11 +950,15 @@ preflight soft-warns *consider locus.firm for production* (non-blocking).
697
950
  | **v5** (M50–M55) | Open Fleet — declarative engine registry, tri-tier trust, OS confinement, fleet intelligence, self-improving fleet, goal/loop conductor | Shipped |
698
951
  | **v5.1** (M320–M324) | Claude 5 Model Intelligence — Sonnet 5 workhorse routing, Fable 5 judge with Opus fallback, per-model ROI telemetry, cost-aware learned routing | Shipped |
699
952
  | **v6** (M331–M340) | Verification-First — verify-to-green repair loop, real-world outcome watcher, multi-model best-of-N, gateway shadow activation program, Models dashboard tab, SWE-bench regression gate | Shipped |
953
+ | **3.5–3.8** | Ashlr Verse — the operator console, local seats on llama.cpp, a native folder picker, bounded run windows, local-only that actually prevents spend | Shipped |
954
+ | **3.9** | Context — windows read from each CLI, visible compaction, standard and expansive modes, continue in a fresh chat, shared project memory | Shipped |
955
+ | **3.10** | Autonomy with custody and the workbench — Touch ID grants, budget modes, the Leader, five surfaces, ⌘K and ⌘J, the dock, live reasoning, charts, burn-down history | Shipped |
956
+ | **3.11** | The cloud lane — Claude Code cloud sessions on Claude credits, with an estimated budget and self-improvement — and the Resources drawer (⌘.) | Current |
700
957
 
701
- This release candidate was prepared against the public npm baseline **3.0.1**.
702
- A newer version is authoritative only after its protected tag workflow and the
703
- npm registry both confirm publication; repository or changelog state alone is
704
- not release evidence.
958
+ Releases are built and published locally (GitHub Actions is off); the procedure
959
+ is in [Releasing without CI](https://github.com/ashlrai/ashlr-hub/blob/master/docs/RELEASING-LOCALLY.md).
960
+ A version is published only once `npm view @ashlr/hub version` confirms it;
961
+ repository or changelog state alone is not release evidence.
705
962
 
706
963
  ---
707
964
 
@@ -718,6 +975,10 @@ Star and source-maintainer references. Start with these canonical guides:
718
975
 
719
976
  | Doc | What it covers |
720
977
  |-----|----------------|
978
+ | [`docs/VERSE.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/VERSE.md) | The Verse user guide: surfaces, chat workbench, seats, autonomy, the cloud lane, the desktop app |
979
+ | [`docs/CLOUD.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/CLOUD.md) | The cloud lane: launch mechanics, delivery contract, estimated budget, self-improvement, failure codes |
980
+ | [`docs/VERSE-CONTEXT.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/VERSE-CONTEXT.md) | Context windows, compaction, standard and expansive modes, handoff and shared memory |
981
+ | [`docs/STANDING-AUTHORITY.md`](https://github.com/ashlrai/ashlr-hub/blob/master/docs/STANDING-AUTHORITY.md) | Touch ID grants, the rollout ladder, merge gates and the ledger |
721
982
  | [`docs/NORTH-STAR.md`](docs/NORTH-STAR.md) | Target outcome: verified engineering yield, evolving objectives and independent ecosystem products |
722
983
  | [`docs/QUICKSTART.md`](docs/QUICKSTART.md) | Run the current local kernel, inspect results and choose the correct commissioning path |
723
984
  | [`docs/ASHLR-UNIVERSE.md`](docs/ASHLR-UNIVERSE.md) | Experiments, campaigns, portfolio orchestration, evidence graphs and pinned local runtime |