specrails-desktop 2.64.1 → 2.65.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 (1117) hide show
  1. package/README.md +1 -1
  2. package/cli/dist/status.js +3 -0
  3. package/client/dist/assets/ActivityFeedPage-ByVKYII-.js +1 -0
  4. package/client/dist/assets/AgentBrowserCapture-BGUTjhUr.js +1 -0
  5. package/client/dist/assets/AgentModeAnalyticsPane-CtOLDDjB.js +2 -0
  6. package/client/dist/assets/AgentModeCodePane-CDhUKarT.js +2 -0
  7. package/client/dist/assets/AgentModeJobsPane-BAa_oEHJ.js +1 -0
  8. package/client/dist/assets/AgentsPage-D32hG4Ve.js +120 -0
  9. package/client/dist/assets/AnalyticsPage-BU50zeG6.js +5 -0
  10. package/client/dist/assets/BudgetCard-DP_jxwaD.js +55 -0
  11. package/client/dist/assets/CodePage-jiYnKGpp.js +3 -0
  12. package/client/dist/assets/CostValue-Bvn8674q.js +1 -0
  13. package/client/dist/assets/DesktopAnalyticsPage-CF__H4e3.js +1 -0
  14. package/client/dist/assets/DocView-RrAp70zp.js +11 -0
  15. package/client/dist/assets/DocsDialog-DkqHU-JF.js +1 -0
  16. package/client/dist/assets/DocsPage-C6X089zC.js +1 -0
  17. package/client/dist/assets/ExportDropdown-C5-o8y3K.js +1 -0
  18. package/client/dist/assets/HelpHint-Crf9_uoR.js +1 -0
  19. package/client/dist/assets/IntegrationsPage-aflU3KHK.js +1 -0
  20. package/client/dist/assets/InteractiveJobComposer-CEMMhyyJ.js +19 -0
  21. package/client/dist/assets/JobDetailModal-BVJ6hyRs.js +1 -0
  22. package/client/dist/assets/JobDetailPage-DHzBUmox.js +1 -0
  23. package/client/dist/assets/JobsPage-o-LAqkwC.js +1 -0
  24. package/client/dist/assets/LoopBuilderPage-DbSVmXBM.js +1 -0
  25. package/client/dist/assets/LoopPreviewModal-DbJcVyN1.js +1 -0
  26. package/client/dist/assets/{LoopWindowSurface-DE0v2K1p.js → LoopWindowSurface-Co1ZK26V.js} +1 -1
  27. package/client/dist/assets/LoopsPage-C4lgkPXB.js +2 -0
  28. package/client/dist/assets/MinimizedChatsContext-742ypO8n.js +1 -0
  29. package/client/dist/assets/PluginsPage-Acks9ges.js +2 -0
  30. package/client/dist/assets/RailTrack-BfLmBzBh.js +1 -0
  31. package/client/dist/assets/{RepositoryScopeSelector-2eSqR9WK.js → RepositoryScopeSelector-DcxbKI9w.js} +1 -1
  32. package/client/dist/assets/ReviewPacketPage-CAVSIOAJ.js +7 -0
  33. package/client/dist/assets/TemplatePreviewModal-C23SYCTm.js +1 -0
  34. package/client/dist/assets/TicketDetailModalContext-B-Gtm6Ob.js +23 -0
  35. package/client/dist/assets/Trans-C6J0cLyh.js +1 -0
  36. package/client/dist/assets/a11y-prefs-BqoP5goK.js +1 -0
  37. package/client/dist/assets/activity-BBWfoUOG.js +1 -0
  38. package/client/dist/assets/activity-BM_skann.js +1 -0
  39. package/client/dist/assets/activity-Cevl82ke.js +1 -0
  40. package/client/dist/assets/activity-CmACk5W5.js +1 -0
  41. package/client/dist/assets/activity-D9LBw3PQ.js +1 -0
  42. package/client/dist/assets/activity-Dspbb9lz.js +1 -0
  43. package/client/dist/assets/activity-FPjYIjv9.js +1 -0
  44. package/client/dist/assets/activity-nLCKMUKt.js +1 -0
  45. package/client/dist/assets/addspec-BI4jDMhA.js +1 -0
  46. package/client/dist/assets/addspec-BldTv7Tl.js +1 -0
  47. package/client/dist/assets/addspec-Cdq-2EcC.js +1 -0
  48. package/client/dist/assets/addspec-DH5M16BQ.js +1 -0
  49. package/client/dist/assets/addspec-DOFo9pD5.js +1 -0
  50. package/client/dist/assets/addspec-DPkwhdmL.js +1 -0
  51. package/client/dist/assets/addspec-Dzy12Pv3.js +1 -0
  52. package/client/dist/assets/addspec-skTs6EEW.js +1 -0
  53. package/client/dist/assets/agent-B_UEUy7Y.js +1 -0
  54. package/client/dist/assets/agent-BarjlhTA.js +1 -0
  55. package/client/dist/assets/agent-BfqIITo5.js +1 -0
  56. package/client/dist/assets/agent-Bt9a7Kyj.js +1 -0
  57. package/client/dist/assets/agent-C3689RwP.js +1 -0
  58. package/client/dist/assets/agent-CrmboTAi.js +1 -0
  59. package/client/dist/assets/agent-DcsoTnuE.js +1 -0
  60. package/client/dist/assets/agent-GDZoYwd4.js +1 -0
  61. package/client/dist/assets/{agentRuntime-es2ymSl-.js → agentRuntime-BYH70bKY.js} +1 -1
  62. package/client/dist/assets/agentRuntime-BijLh8I9.js +1 -0
  63. package/client/dist/assets/{agentRuntime-BzuwQQgn.js → agentRuntime-BvyuETPe.js} +1 -1
  64. package/client/dist/assets/{agentRuntime-BDvbJMmS.js → agentRuntime-C2WI6HQh.js} +1 -1
  65. package/client/dist/assets/{agentRuntime-BKJfv5YD.js → agentRuntime-CZPIlQsr.js} +1 -1
  66. package/client/dist/assets/{agentRuntime-DiCldqGG.js → agentRuntime-D2dDvCyJ.js} +1 -1
  67. package/client/dist/assets/agentRuntime-DWZedEbn.js +1 -0
  68. package/client/dist/assets/agentRuntime-DkIruUNw.js +1 -0
  69. package/client/dist/assets/agents-35_PDKx9.js +1 -0
  70. package/client/dist/assets/agents-8fZnHhEQ.js +1 -0
  71. package/client/dist/assets/agents-Bgimtw8z.js +1 -0
  72. package/client/dist/assets/agents-C4P160Us.js +1 -0
  73. package/client/dist/assets/agents-Clg67zbp.js +1 -0
  74. package/client/dist/assets/agents-DJfF4o6G.js +1 -0
  75. package/client/dist/assets/agents-Dc9-Y5cw.js +1 -0
  76. package/client/dist/assets/agents-EN1Zl4YZ.js +1 -0
  77. package/client/dist/assets/agentstudio-Bm4-NYaG.js +1 -0
  78. package/client/dist/assets/agentstudio-CD1fuj2o.js +1 -0
  79. package/client/dist/assets/agentstudio-CQGWFSst.js +1 -0
  80. package/client/dist/assets/agentstudio-CqVSb65S.js +1 -0
  81. package/client/dist/assets/agentstudio-DIE_HjsX.js +1 -0
  82. package/client/dist/assets/agentstudio-D_OmQK-k.js +1 -0
  83. package/client/dist/assets/agentstudio-Djz9aUfb.js +1 -0
  84. package/client/dist/assets/agentstudio-Qa3v9o5J.js +1 -0
  85. package/client/dist/assets/{aiedit-DNXxq_Dr.js → aiedit-1VzLs37W.js} +1 -1
  86. package/client/dist/assets/{aiedit-DCjA7jLJ.js → aiedit-BNp6GSik.js} +1 -1
  87. package/client/dist/assets/{aiedit-BoG24nlg.js → aiedit-BOY5xRPi.js} +1 -1
  88. package/client/dist/assets/{aiedit-iIjz2_Qk.js → aiedit-BrqMZvbc.js} +1 -1
  89. package/client/dist/assets/{aiedit-CjlSRQVP.js → aiedit-CVgtl7hm.js} +1 -1
  90. package/client/dist/assets/{aiedit-DQ-0_pvE.js → aiedit-CrFW9Jd2.js} +1 -1
  91. package/client/dist/assets/{aiedit-olnv3QSt.js → aiedit-YE2lILp7.js} +1 -1
  92. package/client/dist/assets/{aiedit-B0KUbpB6.js → aiedit-iA_R1AVQ.js} +1 -1
  93. package/client/dist/assets/analytics-3w0t-4ic.js +1 -0
  94. package/client/dist/assets/analytics-BRi4KQD6.js +1 -0
  95. package/client/dist/assets/analytics-BtjAqzke.js +1 -0
  96. package/client/dist/assets/analytics-COSQ1h47.js +1 -0
  97. package/client/dist/assets/analytics-CP2HjESk.js +1 -0
  98. package/client/dist/assets/analytics-DY65TC62.js +1 -0
  99. package/client/dist/assets/analytics-Den_vvxn.js +1 -0
  100. package/client/dist/assets/analytics-LmBS96O8.js +1 -0
  101. package/client/dist/assets/api-DOGbyfTO.js +2 -0
  102. package/client/dist/assets/builder-BMVvSr4v.js +1 -0
  103. package/client/dist/assets/builder-BN-MuLZt.js +1 -0
  104. package/client/dist/assets/builder-BQOZi4CF.js +1 -0
  105. package/client/dist/assets/builder-BjUPjsyu.js +1 -0
  106. package/client/dist/assets/builder-BoBtN18T.js +1 -0
  107. package/client/dist/assets/builder-C5g5NhxL.js +1 -0
  108. package/client/dist/assets/builder-RUHXw3yx.js +1 -0
  109. package/client/dist/assets/builder-fyS_AiyC.js +1 -0
  110. package/client/dist/assets/button-CHPkroew.js +1 -0
  111. package/client/dist/assets/chat-C9L5T7KI.js +1 -0
  112. package/client/dist/assets/chevron-right-CwMAj0w_.js +1 -0
  113. package/client/dist/assets/chevron-up-BAMuP0XD.js +1 -0
  114. package/client/dist/assets/chunk-OB3PAWPO-BBaq6pUk.js +3 -0
  115. package/client/dist/assets/code-4le5IIbf.js +1 -0
  116. package/client/dist/assets/code-B-jCVIbm.js +1 -0
  117. package/client/dist/assets/code-BRfrn5ix.js +1 -0
  118. package/client/dist/assets/code-CC9NCrDM.js +1 -0
  119. package/client/dist/assets/code-CK6pm8wY.js +1 -0
  120. package/client/dist/assets/code-DDiOzd6c.js +1 -0
  121. package/client/dist/assets/code-tGifiyf5.js +1 -0
  122. package/client/dist/assets/code-xkn8kQTg.js +1 -0
  123. package/client/dist/assets/commands-Bv1QshHR.js +1 -0
  124. package/client/dist/assets/commands-BvxTxboW.js +1 -0
  125. package/client/dist/assets/commands-C5ORR0fO.js +1 -0
  126. package/client/dist/assets/commands-CBKMFSTV.js +1 -0
  127. package/client/dist/assets/commands-CFJIRsJv.js +1 -0
  128. package/client/dist/assets/commands-D9o3ZcXl.js +1 -0
  129. package/client/dist/assets/commands-DNox0Edk.js +1 -0
  130. package/client/dist/assets/commands-DmIUMLdV.js +1 -0
  131. package/client/dist/assets/common-5H4TkaoI.js +1 -0
  132. package/client/dist/assets/common-9S3OdPjx.js +1 -0
  133. package/client/dist/assets/common-BqnwIcjs.js +1 -0
  134. package/client/dist/assets/common-CQP3VafS.js +1 -0
  135. package/client/dist/assets/common-CZnAfkB2.js +1 -0
  136. package/client/dist/assets/common-D5sNttV4.js +1 -0
  137. package/client/dist/assets/common-k_qX9nlv.js +1 -0
  138. package/client/dist/assets/common-s4HIi9XI.js +1 -0
  139. package/client/dist/assets/compass-B7guwBlY.js +1 -0
  140. package/client/dist/assets/confirm-dialog-ChZdHL3Q.js +1 -0
  141. package/client/dist/assets/copy-DOPlLymH.js +1 -0
  142. package/client/dist/assets/core-BozBzB6Y.js +1 -0
  143. package/client/dist/assets/dashboard-6zGLGcEz.js +1 -0
  144. package/client/dist/assets/dashboard-8Gi0FBDq.js +1 -0
  145. package/client/dist/assets/dashboard-B7E5YrSy.js +1 -0
  146. package/client/dist/assets/dashboard-BhdKV8xK.js +1 -0
  147. package/client/dist/assets/dashboard-Bu3zzH_s.js +1 -0
  148. package/client/dist/assets/dashboard-Ce_6rELA.js +1 -0
  149. package/client/dist/assets/dashboard-DWY-oz8P.js +1 -0
  150. package/client/dist/assets/dashboard-gUzlWk0o.js +1 -0
  151. package/client/dist/assets/date-input-Cdlr8kHz.js +1 -0
  152. package/client/dist/assets/dialog-C23lB2iP.js +5 -0
  153. package/client/dist/assets/dist-Di-oOFkX.js +1 -0
  154. package/client/dist/assets/dist-js-CBmS6MsJ.js +1 -0
  155. package/client/dist/assets/{dist-js-Rlh4FLH5.js → dist-js-DaJmKapi.js} +1 -1
  156. package/client/dist/assets/dropdown-menu-Bfp2CK6H.js +1 -0
  157. package/client/dist/assets/empty-state-D5w9OWj-.js +1 -0
  158. package/client/dist/assets/es2015-DfnECntk.js +41 -0
  159. package/client/dist/assets/esm-BKF6CE7v.js +1 -0
  160. package/client/dist/assets/event-BEnMLqAi.js +1 -0
  161. package/client/dist/assets/explore--NOz9LCN.js +1 -0
  162. package/client/dist/assets/explore-B2ulH6dO.js +1 -0
  163. package/client/dist/assets/explore-BD-QiLdg.js +1 -0
  164. package/client/dist/assets/explore-BOqd4_1j.js +1 -0
  165. package/client/dist/assets/explore-Be_Zh5zu.js +1 -0
  166. package/client/dist/assets/explore-CLjzPSKo.js +1 -0
  167. package/client/dist/assets/explore-D_-vHm29.js +1 -0
  168. package/client/dist/assets/explore-yEQTF6ro.js +1 -0
  169. package/client/dist/assets/file-text-CNXzL3wj.js +1 -0
  170. package/client/dist/assets/format-BODoFIw6.js +1 -0
  171. package/client/dist/assets/formatDistanceToNow-DLMIOS0N.js +1 -0
  172. package/client/dist/assets/getTimezoneOffsetInMilliseconds-O61feXch.js +1 -0
  173. package/client/dist/assets/git-compare-arrows-Cu6tICCq.js +1 -0
  174. package/client/dist/assets/humanise-command-CB4ybLwq.js +1 -0
  175. package/client/dist/assets/inbox-BLZ8cm6_.js +1 -0
  176. package/client/dist/assets/inbox-BQ3VmNYY.js +1 -0
  177. package/client/dist/assets/inbox-BdcXWCuT.js +1 -0
  178. package/client/dist/assets/inbox-CF1PHjns.js +1 -0
  179. package/client/dist/assets/inbox-CFNPDhso.js +1 -0
  180. package/client/dist/assets/inbox-DIttK_NW.js +1 -0
  181. package/client/dist/assets/inbox-Dfdv1Ykl.js +1 -0
  182. package/client/dist/assets/inbox-JS1inmeO.js +1 -0
  183. package/client/dist/assets/index-4UWY7Xyz.css +2 -0
  184. package/client/dist/assets/index-DHzB0T26.js +120 -0
  185. package/client/dist/assets/integrations-BcKgzgPD.js +1 -0
  186. package/client/dist/assets/integrations-BmX_XyJq.js +1 -0
  187. package/client/dist/assets/integrations-CHpwMjlY.js +1 -0
  188. package/client/dist/assets/integrations-CT3kr8e-.js +1 -0
  189. package/client/dist/assets/integrations-C_5XAkgz.js +1 -0
  190. package/client/dist/assets/integrations-Ct9zLX7N.js +1 -0
  191. package/client/dist/assets/integrations-DEYemxUv.js +1 -0
  192. package/client/dist/assets/integrations-DWvsB_WB.js +1 -0
  193. package/client/dist/assets/{jira-Cq6yvN4q.js → jira-B_ERkFRv.js} +1 -1
  194. package/client/dist/assets/jira-Bn-A5lwD.js +1 -0
  195. package/client/dist/assets/jira-C71Ybnhp.js +1 -0
  196. package/client/dist/assets/jira-CkwjeJz6.js +1 -0
  197. package/client/dist/assets/jira-D9pSLXjI.js +1 -0
  198. package/client/dist/assets/jira-DBRS_lcp.js +1 -0
  199. package/client/dist/assets/jira-DHS6CsKh.js +1 -0
  200. package/client/dist/assets/jira-MInHRUb1.js +1 -0
  201. package/client/dist/assets/jira-api-DHme7Upx.js +1 -0
  202. package/client/dist/assets/jobs-BMLTDo63.js +1 -0
  203. package/client/dist/assets/jobs-BO8q4Mi1.js +1 -0
  204. package/client/dist/assets/jobs-Ck8uOWMM.js +1 -0
  205. package/client/dist/assets/jobs-CyFfPCpg.js +1 -0
  206. package/client/dist/assets/jobs-DT5s4fZ6.js +1 -0
  207. package/client/dist/assets/jobs-DZAgVPcD.js +1 -0
  208. package/client/dist/assets/jobs-b5gPYaKr.js +1 -0
  209. package/client/dist/assets/jobs-xsZK1440.js +1 -0
  210. package/client/dist/assets/launch-forecast-BTa-p3RP.js +1 -0
  211. package/client/dist/assets/{loop-layout-DtxX27Jz.css → loop-layout-DLioOiRN.css} +1 -1
  212. package/client/dist/assets/loop-layout-Sl9cfTvs.js +7 -0
  213. package/client/dist/assets/loops-BEEOVJDR.js +1 -0
  214. package/client/dist/assets/loops-BcrQ2vk7.js +1 -0
  215. package/client/dist/assets/loops-BjWxzJIZ.js +1 -0
  216. package/client/dist/assets/loops-BogV595N.js +1 -0
  217. package/client/dist/assets/loops-CU0BLZiz.js +1 -0
  218. package/client/dist/assets/loops-CrNBgi1G.js +1 -0
  219. package/client/dist/assets/loops-CwalwS_i.js +1 -0
  220. package/client/dist/assets/loops-_TDVN-fX.js +1 -0
  221. package/client/dist/assets/mcp-BNs8gxoL.js +1 -0
  222. package/client/dist/assets/mcp-BvRh_xO5.js +1 -0
  223. package/client/dist/assets/mcp-C2F1pghi.js +1 -0
  224. package/client/dist/assets/mcp-D9RLKAs2.js +1 -0
  225. package/client/dist/assets/mcp-DAghcsR0.js +1 -0
  226. package/client/dist/assets/mcp-DWWAPi1G.js +1 -0
  227. package/client/dist/assets/mcp-DbGSFC3f.js +1 -0
  228. package/client/dist/assets/mcp-FelCicrv.js +1 -0
  229. package/client/dist/assets/narration-C3NBkAR4.js +1 -0
  230. package/client/dist/assets/narration-CkoJq-Lf.js +1 -0
  231. package/client/dist/assets/narration-Cr0NeW9K.js +1 -0
  232. package/client/dist/assets/narration-DJUXOs-W.js +1 -0
  233. package/client/dist/assets/narration-DgL8TMvN.js +1 -0
  234. package/client/dist/assets/narration-DjBafgv0.js +1 -0
  235. package/client/dist/assets/narration-Dle6Iv0c.js +1 -0
  236. package/client/dist/assets/narration-MYlfktga.js +1 -0
  237. package/client/dist/assets/nav-BSQ8KW1c.js +1 -0
  238. package/client/dist/assets/nav-BauVof8Z.js +1 -0
  239. package/client/dist/assets/nav-BfOAH1se.js +1 -0
  240. package/client/dist/assets/nav-D3bOsipX.js +1 -0
  241. package/client/dist/assets/nav-DOMMhlLx.js +1 -0
  242. package/client/dist/assets/nav-DPzVlgZU.js +1 -0
  243. package/client/dist/assets/nav-DZJbFbah.js +1 -0
  244. package/client/dist/assets/nav-D_5aojd2.js +1 -0
  245. package/client/dist/assets/notify-error-BsWANx1T.js +1 -0
  246. package/client/dist/assets/onboarding-BdZQnNm3.js +1 -0
  247. package/client/dist/assets/onboarding-CJQEv1vp.js +1 -0
  248. package/client/dist/assets/onboarding-CWJGYUW3.js +1 -0
  249. package/client/dist/assets/onboarding-ChfYN7dA.js +1 -0
  250. package/client/dist/assets/onboarding-CjvDUR3V.js +1 -0
  251. package/client/dist/assets/onboarding-I6vS-zTB.js +1 -0
  252. package/client/dist/assets/onboarding-dgC_9dTB.js +1 -0
  253. package/client/dist/assets/onboarding-mlXSyKzX.js +1 -0
  254. package/client/dist/assets/origin-03nTuaOb.js +1 -0
  255. package/client/dist/assets/packet-BjpyRnZr.js +1 -0
  256. package/client/dist/assets/packet-BwgG5mBt.js +1 -0
  257. package/client/dist/assets/packet-C3eAUFkV.js +1 -0
  258. package/client/dist/assets/packet-C8wZuSld.js +1 -0
  259. package/client/dist/assets/packet-CNXEy_85.js +1 -0
  260. package/client/dist/assets/packet-DsV5Aa_8.js +1 -0
  261. package/client/dist/assets/packet-aasskOE7.js +1 -0
  262. package/client/dist/assets/packet-phxCc2gJ.js +1 -0
  263. package/client/dist/assets/page-header-BStSHkP8.js +1 -0
  264. package/client/dist/assets/project-repositories-DJPeAVBK.js +1 -0
  265. package/client/dist/assets/{provider-capabilities-lePfeT_Y.js → provider-capabilities-DtwcTme4.js} +1 -1
  266. package/client/dist/assets/recovery-BPDOsC92.js +1 -0
  267. package/client/dist/assets/recovery-BluNHoXM.js +1 -0
  268. package/client/dist/assets/recovery-CRvEmB0C.js +1 -0
  269. package/client/dist/assets/recovery-CeIoRnkR.js +1 -0
  270. package/client/dist/assets/recovery-DHCo8KGi.js +1 -0
  271. package/client/dist/assets/recovery-OxAIpbBF.js +1 -0
  272. package/client/dist/assets/recovery-XXexYGOJ.js +1 -0
  273. package/client/dist/assets/recovery-pITlc--v.js +1 -0
  274. package/client/dist/assets/refresh-cw-DfyTkbsf.js +1 -0
  275. package/client/dist/assets/select-xA3pSmqE.js +1 -0
  276. package/client/dist/assets/settings--yzDbX9r.js +1 -0
  277. package/client/dist/assets/settings-5_heTv8s.js +1 -0
  278. package/client/dist/assets/settings-BSf27MDg.js +1 -0
  279. package/client/dist/assets/settings-BSj6FakR.js +1 -0
  280. package/client/dist/assets/settings-BZDo_8Nn.js +1 -0
  281. package/client/dist/assets/settings-BdWgmNc0.js +1 -0
  282. package/client/dist/assets/settings-DRouxKqb.js +1 -0
  283. package/client/dist/assets/settings-DnWFoY-F.js +1 -0
  284. package/client/dist/assets/setup-BJWy62ri.js +1 -0
  285. package/client/dist/assets/setup-BgKOIuzc.js +1 -0
  286. package/client/dist/assets/setup-BvVIyUlz.js +1 -0
  287. package/client/dist/assets/setup-BxCk2pe1.js +1 -0
  288. package/client/dist/assets/setup-C-xQTL7R.js +1 -0
  289. package/client/dist/assets/setup-CbaVoiwV.js +1 -0
  290. package/client/dist/assets/setup-DxTBkX3P.js +1 -0
  291. package/client/dist/assets/setup-oGoVAzOD.js +1 -0
  292. package/client/dist/assets/specs-7tAb4IKr.js +1 -0
  293. package/client/dist/assets/specs-BUcY4s5v.js +1 -0
  294. package/client/dist/assets/specs-Bk5LeBAA.js +1 -0
  295. package/client/dist/assets/specs-CAA4Lrlg.js +1 -0
  296. package/client/dist/assets/specs-CS091AnA.js +1 -0
  297. package/client/dist/assets/specs-DJ6gmFcK.js +1 -0
  298. package/client/dist/assets/specs-GfCcrBSC.js +1 -0
  299. package/client/dist/assets/specs-xQgyc7WL.js +1 -0
  300. package/client/dist/assets/spending-CVH8VREb.js +1 -0
  301. package/client/dist/assets/square-Co6h5vZg.js +1 -0
  302. package/client/dist/assets/tauri-shell-43ixPGfa.js +2 -0
  303. package/client/dist/assets/terminal-0v9sBylD.js +1 -0
  304. package/client/dist/assets/terminal-AbUAmCxE.js +1 -0
  305. package/client/dist/assets/terminal-BJayIbIP.js +1 -0
  306. package/client/dist/assets/terminal-C2RUlXyi.js +1 -0
  307. package/client/dist/assets/terminal-CMmSb_Nj.js +1 -0
  308. package/client/dist/assets/terminal-DKWjj7HJ.js +1 -0
  309. package/client/dist/assets/terminal-KlFu7_pV.js +1 -0
  310. package/client/dist/assets/terminal-i99yqFvm.js +1 -0
  311. package/client/dist/assets/tickets-846Oq3i3.js +1 -0
  312. package/client/dist/assets/tickets-B5LJTe_b.js +1 -0
  313. package/client/dist/assets/tickets-Bfo2GGmH.js +1 -0
  314. package/client/dist/assets/tickets-BhdZ1yY2.js +1 -0
  315. package/client/dist/assets/tickets-CgjWJHAW.js +1 -0
  316. package/client/dist/assets/tickets-Ct9DbDUR.js +1 -0
  317. package/client/dist/assets/tickets-rptLEJB1.js +1 -0
  318. package/client/dist/assets/tickets-xQ6DpYdu.js +1 -0
  319. package/client/dist/assets/trending-up-BGvb4zZt.js +1 -0
  320. package/client/dist/assets/undo-6zuS4-sL.js +1 -0
  321. package/client/dist/assets/undo-BeM4gDOP.js +1 -0
  322. package/client/dist/assets/undo-BeppX8xS.js +1 -0
  323. package/client/dist/assets/undo-BqvNZ5MG.js +1 -0
  324. package/client/dist/assets/undo-BzwEPf_k.js +1 -0
  325. package/client/dist/assets/undo-CJ9Cu1NN.js +1 -0
  326. package/client/dist/assets/undo-ds8nMFbX.js +1 -0
  327. package/client/dist/assets/undo-x_gA-knG.js +1 -0
  328. package/client/dist/assets/useDesktop-BuOp2-MR.js +1 -0
  329. package/client/dist/assets/useRuntimeRuns-BRS6ncnO.js +1 -0
  330. package/client/dist/assets/utils-ELimjS2Y.js +1 -0
  331. package/client/dist/assets/wrench-Br2n1Lxd.js +1 -0
  332. package/client/dist/index.html +75 -60
  333. package/docs/ci-cd.md +29 -1
  334. package/docs/cli.md +10 -31
  335. package/docs/codex.md +1 -1
  336. package/docs/creating-specs.md +15 -12
  337. package/docs/customizing.md +16 -13
  338. package/docs/getting-started.md +12 -11
  339. package/docs/guide/de/agents/1-meet-the-agents.md +1 -1
  340. package/docs/guide/de/getting-started/2-installing-and-first-run.md +2 -0
  341. package/docs/guide/de/getting-started/3-try-the-sample-project.md +35 -0
  342. package/docs/guide/de/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  343. package/docs/guide/de/getting-started/6-universal-search.md +34 -0
  344. package/docs/guide/de/insights/1-analytics-and-cost-tracking.md +20 -6
  345. package/docs/guide/de/insights/2-the-integrated-terminal.md +1 -1
  346. package/docs/guide/de/insights/3-code-explorer.md +1 -1
  347. package/docs/guide/de/integrations/1-ai-providers.md +1 -1
  348. package/docs/guide/de/integrations/2-plugins.md +1 -1
  349. package/docs/guide/de/integrations/3-jira-integration.md +3 -3
  350. package/docs/guide/de/integrations/4-mobile-companion.md +1 -1
  351. package/docs/guide/de/integrations/5-mcp-server.md +1 -1
  352. package/docs/guide/de/integrations/6-agent-chat.md +12 -5
  353. package/docs/guide/de/integrations/8-flow-mode.md +69 -0
  354. package/docs/guide/de/pipeline/1-rails-and-jobs.md +21 -1
  355. package/docs/guide/de/pipeline/2-the-job-detail-view.md +12 -0
  356. package/docs/guide/de/pipeline/3-reviewing-a-delivery.md +43 -0
  357. package/docs/guide/de/pipeline/4-picking-an-engine-per-rail.md +2 -2
  358. package/docs/guide/de/pipeline/5-the-loop-builder.md +1 -1
  359. package/docs/guide/de/settings/1-themes.md +1 -1
  360. package/docs/guide/de/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  361. package/docs/guide/de/settings/5-project-environment.md +1 -1
  362. package/docs/guide/de/settings/6-updates.md +24 -0
  363. package/docs/guide/de/settings/7-existing-projects.md +33 -0
  364. package/docs/guide/de/settings/8-accessibility.md +23 -0
  365. package/docs/guide/de/specs/1-specs-and-the-backlog.md +41 -3
  366. package/docs/guide/de/specs/2-add-spec-quick-mode.md +1 -1
  367. package/docs/guide/de/specs/3-add-spec-explore-mode.md +1 -1
  368. package/docs/guide/en/agents/1-meet-the-agents.md +1 -1
  369. package/docs/guide/en/getting-started/1-what-is-specrails.md +1 -1
  370. package/docs/guide/en/getting-started/2-installing-and-first-run.md +2 -0
  371. package/docs/guide/en/getting-started/3-try-the-sample-project.md +35 -0
  372. package/docs/guide/en/getting-started/5-the-dashboard-tour.md +52 -0
  373. package/docs/guide/en/getting-started/6-universal-search.md +34 -0
  374. package/docs/guide/en/insights/1-analytics-and-cost-tracking.md +24 -10
  375. package/docs/guide/en/insights/2-the-integrated-terminal.md +1 -1
  376. package/docs/guide/en/insights/3-code-explorer.md +5 -5
  377. package/docs/guide/en/integrations/1-ai-providers.md +1 -1
  378. package/docs/guide/en/integrations/2-plugins.md +1 -1
  379. package/docs/guide/en/integrations/3-jira-integration.md +4 -4
  380. package/docs/guide/en/integrations/4-mobile-companion.md +1 -1
  381. package/docs/guide/en/integrations/5-mcp-server.md +4 -4
  382. package/docs/guide/en/integrations/6-agent-chat.md +12 -5
  383. package/docs/guide/en/integrations/8-flow-mode.md +69 -0
  384. package/docs/guide/en/pipeline/1-rails-and-jobs.md +22 -3
  385. package/docs/guide/en/pipeline/2-the-job-detail-view.md +19 -7
  386. package/docs/guide/en/pipeline/3-reviewing-a-delivery.md +43 -0
  387. package/docs/guide/en/pipeline/4-picking-an-engine-per-rail.md +2 -2
  388. package/docs/guide/en/pipeline/5-the-loop-builder.md +2 -2
  389. package/docs/guide/en/settings/1-themes.md +1 -1
  390. package/docs/guide/en/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  391. package/docs/guide/en/settings/5-project-environment.md +1 -1
  392. package/docs/guide/en/settings/6-updates.md +24 -0
  393. package/docs/guide/en/settings/7-existing-projects.md +33 -0
  394. package/docs/guide/en/settings/8-accessibility.md +23 -0
  395. package/docs/guide/en/specs/1-specs-and-the-backlog.md +42 -6
  396. package/docs/guide/en/specs/2-add-spec-quick-mode.md +1 -1
  397. package/docs/guide/en/specs/3-add-spec-explore-mode.md +2 -2
  398. package/docs/guide/es/agents/1-meet-the-agents.md +1 -1
  399. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +1 -1
  400. package/docs/guide/es/agents/3-customizing-models-per-agent.md +2 -2
  401. package/docs/guide/es/agents/4-custom-agents-catalog.md +1 -1
  402. package/docs/guide/es/getting-started/1-what-is-specrails.md +3 -3
  403. package/docs/guide/es/getting-started/2-installing-and-first-run.md +2 -0
  404. package/docs/guide/es/getting-started/3-try-the-sample-project.md +35 -0
  405. package/docs/guide/es/getting-started/5-the-dashboard-tour.md +52 -0
  406. package/docs/guide/es/getting-started/6-universal-search.md +34 -0
  407. package/docs/guide/es/insights/1-analytics-and-cost-tracking.md +26 -12
  408. package/docs/guide/es/insights/2-the-integrated-terminal.md +1 -1
  409. package/docs/guide/es/insights/3-code-explorer.md +5 -5
  410. package/docs/guide/es/integrations/1-ai-providers.md +1 -1
  411. package/docs/guide/es/integrations/2-plugins.md +1 -1
  412. package/docs/guide/es/integrations/3-jira-integration.md +4 -4
  413. package/docs/guide/es/integrations/4-mobile-companion.md +1 -1
  414. package/docs/guide/es/integrations/5-mcp-server.md +4 -4
  415. package/docs/guide/es/integrations/6-agent-chat.md +14 -7
  416. package/docs/guide/es/integrations/7-local-engines.md +1 -1
  417. package/docs/guide/es/integrations/8-flow-mode.md +69 -0
  418. package/docs/guide/es/pipeline/1-rails-and-jobs.md +33 -13
  419. package/docs/guide/es/pipeline/2-the-job-detail-view.md +38 -26
  420. package/docs/guide/es/pipeline/3-reviewing-a-delivery.md +43 -0
  421. package/docs/guide/es/pipeline/4-picking-an-engine-per-rail.md +2 -2
  422. package/docs/guide/es/pipeline/5-the-loop-builder.md +4 -4
  423. package/docs/guide/es/settings/1-themes.md +1 -1
  424. package/docs/guide/es/settings/3-pipeline-telemetry-and-diagnostics.md +10 -10
  425. package/docs/guide/es/settings/5-project-environment.md +1 -1
  426. package/docs/guide/es/settings/6-updates.md +24 -0
  427. package/docs/guide/es/settings/7-existing-projects.md +33 -0
  428. package/docs/guide/es/settings/8-accessibility.md +23 -0
  429. package/docs/guide/es/specs/1-specs-and-the-backlog.md +43 -7
  430. package/docs/guide/es/specs/2-add-spec-quick-mode.md +1 -1
  431. package/docs/guide/es/specs/3-add-spec-explore-mode.md +3 -3
  432. package/docs/guide/fr/agents/1-meet-the-agents.md +1 -1
  433. package/docs/guide/fr/getting-started/2-installing-and-first-run.md +2 -0
  434. package/docs/guide/fr/getting-started/3-try-the-sample-project.md +35 -0
  435. package/docs/guide/fr/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  436. package/docs/guide/fr/getting-started/6-universal-search.md +34 -0
  437. package/docs/guide/fr/insights/1-analytics-and-cost-tracking.md +18 -4
  438. package/docs/guide/fr/insights/2-the-integrated-terminal.md +1 -1
  439. package/docs/guide/fr/insights/3-code-explorer.md +1 -1
  440. package/docs/guide/fr/integrations/1-ai-providers.md +1 -1
  441. package/docs/guide/fr/integrations/2-plugins.md +1 -1
  442. package/docs/guide/fr/integrations/3-jira-integration.md +3 -3
  443. package/docs/guide/fr/integrations/4-mobile-companion.md +1 -1
  444. package/docs/guide/fr/integrations/5-mcp-server.md +1 -1
  445. package/docs/guide/fr/integrations/6-agent-chat.md +11 -4
  446. package/docs/guide/fr/integrations/8-flow-mode.md +69 -0
  447. package/docs/guide/fr/pipeline/1-rails-and-jobs.md +21 -1
  448. package/docs/guide/fr/pipeline/2-the-job-detail-view.md +12 -0
  449. package/docs/guide/fr/pipeline/3-reviewing-a-delivery.md +43 -0
  450. package/docs/guide/fr/pipeline/4-picking-an-engine-per-rail.md +2 -2
  451. package/docs/guide/fr/pipeline/5-the-loop-builder.md +1 -1
  452. package/docs/guide/fr/settings/1-themes.md +1 -1
  453. package/docs/guide/fr/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  454. package/docs/guide/fr/settings/5-project-environment.md +1 -1
  455. package/docs/guide/fr/settings/6-updates.md +24 -0
  456. package/docs/guide/fr/settings/7-existing-projects.md +33 -0
  457. package/docs/guide/fr/settings/8-accessibility.md +23 -0
  458. package/docs/guide/fr/specs/1-specs-and-the-backlog.md +41 -3
  459. package/docs/guide/fr/specs/2-add-spec-quick-mode.md +1 -1
  460. package/docs/guide/fr/specs/3-add-spec-explore-mode.md +1 -1
  461. package/docs/guide/it/agents/1-meet-the-agents.md +1 -1
  462. package/docs/guide/it/getting-started/2-installing-and-first-run.md +2 -0
  463. package/docs/guide/it/getting-started/3-try-the-sample-project.md +35 -0
  464. package/docs/guide/it/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  465. package/docs/guide/it/getting-started/6-universal-search.md +34 -0
  466. package/docs/guide/it/insights/1-analytics-and-cost-tracking.md +18 -4
  467. package/docs/guide/it/insights/2-the-integrated-terminal.md +1 -1
  468. package/docs/guide/it/insights/3-code-explorer.md +1 -1
  469. package/docs/guide/it/integrations/1-ai-providers.md +1 -1
  470. package/docs/guide/it/integrations/2-plugins.md +1 -1
  471. package/docs/guide/it/integrations/3-jira-integration.md +3 -3
  472. package/docs/guide/it/integrations/4-mobile-companion.md +1 -1
  473. package/docs/guide/it/integrations/5-mcp-server.md +1 -1
  474. package/docs/guide/it/integrations/6-agent-chat.md +11 -4
  475. package/docs/guide/it/integrations/8-flow-mode.md +69 -0
  476. package/docs/guide/it/pipeline/1-rails-and-jobs.md +21 -1
  477. package/docs/guide/it/pipeline/2-the-job-detail-view.md +12 -0
  478. package/docs/guide/it/pipeline/3-reviewing-a-delivery.md +43 -0
  479. package/docs/guide/it/pipeline/4-picking-an-engine-per-rail.md +2 -2
  480. package/docs/guide/it/pipeline/5-the-loop-builder.md +1 -1
  481. package/docs/guide/it/settings/1-themes.md +1 -1
  482. package/docs/guide/it/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  483. package/docs/guide/it/settings/5-project-environment.md +1 -1
  484. package/docs/guide/it/settings/6-updates.md +24 -0
  485. package/docs/guide/it/settings/7-existing-projects.md +33 -0
  486. package/docs/guide/it/settings/8-accessibility.md +23 -0
  487. package/docs/guide/it/specs/1-specs-and-the-backlog.md +41 -3
  488. package/docs/guide/it/specs/2-add-spec-quick-mode.md +1 -1
  489. package/docs/guide/it/specs/3-add-spec-explore-mode.md +1 -1
  490. package/docs/guide/ja/agents/1-meet-the-agents.md +1 -1
  491. package/docs/guide/ja/getting-started/2-installing-and-first-run.md +2 -0
  492. package/docs/guide/ja/getting-started/3-try-the-sample-project.md +35 -0
  493. package/docs/guide/ja/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  494. package/docs/guide/ja/getting-started/6-universal-search.md +34 -0
  495. package/docs/guide/ja/insights/1-analytics-and-cost-tracking.md +18 -4
  496. package/docs/guide/ja/insights/2-the-integrated-terminal.md +1 -1
  497. package/docs/guide/ja/insights/3-code-explorer.md +1 -1
  498. package/docs/guide/ja/integrations/1-ai-providers.md +1 -1
  499. package/docs/guide/ja/integrations/2-plugins.md +1 -1
  500. package/docs/guide/ja/integrations/3-jira-integration.md +3 -3
  501. package/docs/guide/ja/integrations/4-mobile-companion.md +1 -1
  502. package/docs/guide/ja/integrations/5-mcp-server.md +1 -1
  503. package/docs/guide/ja/integrations/6-agent-chat.md +11 -4
  504. package/docs/guide/ja/integrations/8-flow-mode.md +69 -0
  505. package/docs/guide/ja/pipeline/1-rails-and-jobs.md +21 -1
  506. package/docs/guide/ja/pipeline/2-the-job-detail-view.md +12 -0
  507. package/docs/guide/ja/pipeline/3-reviewing-a-delivery.md +43 -0
  508. package/docs/guide/ja/pipeline/4-picking-an-engine-per-rail.md +2 -2
  509. package/docs/guide/ja/pipeline/5-the-loop-builder.md +1 -1
  510. package/docs/guide/ja/settings/1-themes.md +1 -1
  511. package/docs/guide/ja/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  512. package/docs/guide/ja/settings/5-project-environment.md +1 -1
  513. package/docs/guide/ja/settings/6-updates.md +24 -0
  514. package/docs/guide/ja/settings/7-existing-projects.md +33 -0
  515. package/docs/guide/ja/settings/8-accessibility.md +23 -0
  516. package/docs/guide/ja/specs/1-specs-and-the-backlog.md +41 -3
  517. package/docs/guide/ja/specs/2-add-spec-quick-mode.md +1 -1
  518. package/docs/guide/ja/specs/3-add-spec-explore-mode.md +1 -1
  519. package/docs/guide/pt/agents/1-meet-the-agents.md +1 -1
  520. package/docs/guide/pt/getting-started/2-installing-and-first-run.md +2 -0
  521. package/docs/guide/pt/getting-started/3-try-the-sample-project.md +35 -0
  522. package/docs/guide/pt/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  523. package/docs/guide/pt/getting-started/6-universal-search.md +34 -0
  524. package/docs/guide/pt/insights/1-analytics-and-cost-tracking.md +18 -4
  525. package/docs/guide/pt/insights/2-the-integrated-terminal.md +1 -1
  526. package/docs/guide/pt/insights/3-code-explorer.md +1 -1
  527. package/docs/guide/pt/integrations/1-ai-providers.md +1 -1
  528. package/docs/guide/pt/integrations/2-plugins.md +1 -1
  529. package/docs/guide/pt/integrations/3-jira-integration.md +3 -3
  530. package/docs/guide/pt/integrations/4-mobile-companion.md +1 -1
  531. package/docs/guide/pt/integrations/5-mcp-server.md +1 -1
  532. package/docs/guide/pt/integrations/6-agent-chat.md +12 -5
  533. package/docs/guide/pt/integrations/8-flow-mode.md +69 -0
  534. package/docs/guide/pt/pipeline/1-rails-and-jobs.md +21 -1
  535. package/docs/guide/pt/pipeline/2-the-job-detail-view.md +12 -0
  536. package/docs/guide/pt/pipeline/3-reviewing-a-delivery.md +43 -0
  537. package/docs/guide/pt/pipeline/4-picking-an-engine-per-rail.md +2 -2
  538. package/docs/guide/pt/pipeline/5-the-loop-builder.md +1 -1
  539. package/docs/guide/pt/settings/1-themes.md +1 -1
  540. package/docs/guide/pt/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  541. package/docs/guide/pt/settings/5-project-environment.md +1 -1
  542. package/docs/guide/pt/settings/6-updates.md +24 -0
  543. package/docs/guide/pt/settings/7-existing-projects.md +33 -0
  544. package/docs/guide/pt/settings/8-accessibility.md +23 -0
  545. package/docs/guide/pt/specs/1-specs-and-the-backlog.md +41 -3
  546. package/docs/guide/pt/specs/2-add-spec-quick-mode.md +1 -1
  547. package/docs/guide/pt/specs/3-add-spec-explore-mode.md +1 -1
  548. package/docs/guide/zh/agents/1-meet-the-agents.md +1 -1
  549. package/docs/guide/zh/getting-started/2-installing-and-first-run.md +2 -0
  550. package/docs/guide/zh/getting-started/3-try-the-sample-project.md +35 -0
  551. package/docs/guide/zh/getting-started/{4-the-dashboard-tour.md → 5-the-dashboard-tour.md} +7 -3
  552. package/docs/guide/zh/getting-started/6-universal-search.md +34 -0
  553. package/docs/guide/zh/insights/1-analytics-and-cost-tracking.md +18 -4
  554. package/docs/guide/zh/insights/2-the-integrated-terminal.md +1 -1
  555. package/docs/guide/zh/insights/3-code-explorer.md +1 -1
  556. package/docs/guide/zh/integrations/1-ai-providers.md +1 -1
  557. package/docs/guide/zh/integrations/2-plugins.md +1 -1
  558. package/docs/guide/zh/integrations/3-jira-integration.md +3 -3
  559. package/docs/guide/zh/integrations/4-mobile-companion.md +1 -1
  560. package/docs/guide/zh/integrations/5-mcp-server.md +1 -1
  561. package/docs/guide/zh/integrations/6-agent-chat.md +11 -4
  562. package/docs/guide/zh/integrations/8-flow-mode.md +69 -0
  563. package/docs/guide/zh/pipeline/1-rails-and-jobs.md +21 -1
  564. package/docs/guide/zh/pipeline/2-the-job-detail-view.md +12 -0
  565. package/docs/guide/zh/pipeline/3-reviewing-a-delivery.md +43 -0
  566. package/docs/guide/zh/pipeline/4-picking-an-engine-per-rail.md +2 -2
  567. package/docs/guide/zh/pipeline/5-the-loop-builder.md +1 -1
  568. package/docs/guide/zh/settings/1-themes.md +1 -1
  569. package/docs/guide/zh/settings/3-pipeline-telemetry-and-diagnostics.md +2 -2
  570. package/docs/guide/zh/settings/5-project-environment.md +1 -1
  571. package/docs/guide/zh/settings/6-updates.md +24 -0
  572. package/docs/guide/zh/settings/7-existing-projects.md +33 -0
  573. package/docs/guide/zh/settings/8-accessibility.md +23 -0
  574. package/docs/guide/zh/specs/1-specs-and-the-backlog.md +41 -3
  575. package/docs/guide/zh/specs/2-add-spec-quick-mode.md +1 -1
  576. package/docs/guide/zh/specs/3-add-spec-explore-mode.md +1 -1
  577. package/docs/internals/README.md +8 -0
  578. package/docs/internals/adding-a-provider.md +19 -2
  579. package/docs/internals/agent-actions-audit.md +101 -0
  580. package/docs/internals/agent-sessions.md +36 -1
  581. package/docs/internals/api-reference.md +190 -45
  582. package/docs/internals/architecture.md +53 -47
  583. package/docs/internals/companion-inbox-decisions.md +42 -0
  584. package/docs/internals/companion-rails-as-loops-contract.md +17 -6
  585. package/docs/internals/configuration.md +140 -9
  586. package/docs/internals/core-runtime-updates.md +4 -4
  587. package/docs/internals/existing-project-anchoring.md +168 -0
  588. package/docs/internals/flow-mode.md +668 -0
  589. package/docs/internals/legacy-implementation-notes.md +13 -0
  590. package/docs/internals/local-testing-feedback-2026-10.md +210 -0
  591. package/docs/internals/mcp-mission-audit.md +4 -0
  592. package/docs/internals/mission-rail-cards.md +10 -5
  593. package/docs/internals/mission-read-only-policy.md +152 -0
  594. package/docs/internals/modal-standard.md +181 -0
  595. package/docs/internals/openspec-workflow.md +32 -0
  596. package/docs/internals/operations-runbook.md +30 -0
  597. package/docs/internals/profiles.md +6 -3
  598. package/docs/internals/programmatic-agent-runtime.md +8 -0
  599. package/docs/internals/project-builder.md +1 -1
  600. package/docs/internals/review-packet.md +161 -9
  601. package/docs/internals/safe-pr-review-flow.md +135 -6
  602. package/docs/internals/source-map.md +413 -18
  603. package/docs/internals/spec-addenda.md +10 -0
  604. package/docs/internals/spec-triage.md +140 -0
  605. package/docs/internals/visual-design-audit.md +15 -2
  606. package/docs/local-providers.md +3 -0
  607. package/docs/mcp.md +21 -3
  608. package/docs/platforms/macos.md +1 -1
  609. package/docs/platforms/windows.md +2 -2
  610. package/docs/running-pipelines.md +22 -6
  611. package/docs/tracking-cost.md +54 -10
  612. package/local-runner/dist/specrails-local-runner.js +3851 -1178
  613. package/mcp-bridge/dist/specrails-mcp.js +3864 -1143
  614. package/package.json +10 -9
  615. package/server/dist/agent-mcp-config.js +37 -1
  616. package/server/dist/api-version.js +19 -0
  617. package/server/dist/command-resolver.js +4 -2
  618. package/server/dist/core-compat.js +1 -1
  619. package/server/dist/core-execution.js +2 -1
  620. package/server/dist/core-update-manager.js +71 -13
  621. package/server/dist/db/job-search.js +248 -0
  622. package/server/dist/db/jobs.js +6 -0
  623. package/server/dist/db/migrations.js +239 -0
  624. package/server/dist/db.js +9 -2
  625. package/server/dist/desktop-db.js +99 -5
  626. package/server/dist/desktop-router.js +126 -13
  627. package/server/dist/docs-router.js +67 -1
  628. package/server/dist/feature-flags.js +22 -0
  629. package/server/dist/index.js +30 -15
  630. package/server/dist/jira/jira-adf.js +13 -1
  631. package/server/dist/jira/jira-clarifications.js +146 -0
  632. package/server/dist/jira/jira-client.js +8 -1
  633. package/server/dist/jira/jira-db.js +41 -0
  634. package/server/dist/jira/jira-sync-manager.js +328 -25
  635. package/server/dist/mcp/guide.js +17 -7
  636. package/server/dist/mcp/tools/agents.js +1 -1
  637. package/server/dist/mcp/tools/analytics.js +15 -3
  638. package/server/dist/mcp/tools/app-settings.js +14 -1
  639. package/server/dist/mcp/tools/chat.js +1 -1
  640. package/server/dist/mcp/tools/env.js +4 -2
  641. package/server/dist/mcp/tools/jobs.js +96 -7
  642. package/server/dist/mcp/tools/loops.js +1 -1
  643. package/server/dist/mcp/tools/meta.js +10 -13
  644. package/server/dist/mcp/tools/rails.js +15 -1
  645. package/server/dist/mcp/tools/setup.js +1 -1
  646. package/server/dist/mcp/tools/specs.js +8 -5
  647. package/server/dist/mcp/tools/support.js +6 -3
  648. package/server/dist/mcp/tools/types.js +38 -1
  649. package/server/dist/mobile/mobile-admin-router.js +0 -16
  650. package/server/dist/mobile/mobile-gateway.js +0 -18
  651. package/server/dist/mobile/mobile-inbox.js +240 -0
  652. package/server/dist/mobile/mobile-missions.js +6 -8
  653. package/server/dist/mobile/mobile-router.js +9 -9
  654. package/server/dist/mobile/mobile-webrtc-peer.js +4 -54
  655. package/server/dist/mobile/mobile-ws.js +27 -4
  656. package/server/dist/modules/accounting/runtime/ai-invocations.js +4 -0
  657. package/server/dist/modules/accounting/runtime/decision-times.js +102 -0
  658. package/server/dist/modules/accounting/runtime/loop-economics.js +284 -0
  659. package/server/dist/modules/accounting/runtime/spending.js +7 -2
  660. package/server/dist/modules/accounting/runtime/what-if.js +87 -0
  661. package/server/dist/modules/agent-runtime/runtime/agent-runtime-bridge.js +86 -5
  662. package/server/dist/modules/agent-runtime/runtime/agent-runtime-controls.js +28 -2
  663. package/server/dist/modules/agent-runtime/runtime/agent-runtime-metrics.js +15 -2
  664. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings-router.js +21 -2
  665. package/server/dist/modules/agent-runtime/runtime/core-capabilities.js +55 -0
  666. package/server/dist/modules/agent-sessions/adapters/host-process.js +1 -1
  667. package/server/dist/modules/agent-sessions/domain/availability.js +16 -0
  668. package/server/dist/modules/agent-sessions/domain/protocol.js +8 -1
  669. package/server/dist/modules/agent-sessions/index.js +3 -1
  670. package/server/dist/modules/agent-sessions/runtime/core-sessions-availability.js +16 -0
  671. package/server/dist/modules/agents/runtime/agent-refine-manager.js +3 -1
  672. package/server/dist/modules/agents/runtime/agent-store.js +60 -73
  673. package/server/dist/modules/audit/adapters/http.js +66 -0
  674. package/server/dist/modules/audit/adapters/runtime.js +60 -0
  675. package/server/dist/modules/audit/adapters/sqlite.js +73 -0
  676. package/server/dist/modules/audit/application.js +190 -0
  677. package/server/dist/modules/audit/domain.js +434 -0
  678. package/server/dist/modules/audit/index.js +27 -0
  679. package/server/dist/modules/audit/ports.js +2 -0
  680. package/server/dist/modules/browser/runtime/browser-capture-manager.js +18 -141
  681. package/server/dist/modules/browser/runtime/browser-capture-types.js +1 -10
  682. package/server/dist/modules/browser/runtime/browser-playwright.js +0 -19
  683. package/server/dist/modules/code/runtime/file-provenance.js +23 -0
  684. package/server/dist/modules/conversations/runtime/chat-manager.js +5 -2
  685. package/server/dist/modules/delivery/adapters/decisions/chains.js +1 -0
  686. package/server/dist/modules/delivery/adapters/decisions/create.js +19 -1
  687. package/server/dist/modules/delivery/adapters/decisions/discard.js +2 -0
  688. package/server/dist/modules/delivery/adapters/decisions/local-changes.js +427 -0
  689. package/server/dist/modules/delivery/adapters/decisions/merge-local.js +80 -6
  690. package/server/dist/modules/delivery/adapters/decisions/observations.js +5 -0
  691. package/server/dist/modules/delivery/adapters/decisions/ownership.js +2 -1
  692. package/server/dist/modules/delivery/adapters/decisions/transitions.js +9 -0
  693. package/server/dist/modules/delivery/adapters/review-wip-store.js +37 -0
  694. package/server/dist/modules/delivery/domain/review-wip.js +71 -0
  695. package/server/dist/modules/delivery/index.js +9 -1
  696. package/server/dist/modules/delivery/runtime/delivery-changes.js +355 -0
  697. package/server/dist/modules/delivery/runtime/delivery-evidence.js +249 -8
  698. package/server/dist/modules/delivery/runtime/flow-review-legacy.js +99 -0
  699. package/server/dist/modules/delivery/runtime/flow-review-outcome.js +107 -0
  700. package/server/dist/modules/delivery/runtime/flow-worktree-handoff.js +32 -0
  701. package/server/dist/modules/delivery/runtime/flow-worktree-return.js +87 -0
  702. package/server/dist/modules/delivery/runtime/isolated-worktree.js +380 -0
  703. package/server/dist/modules/delivery/runtime/local-restore-branch.js +325 -0
  704. package/server/dist/modules/delivery/runtime/local-restore-resolver.js +48 -0
  705. package/server/dist/modules/delivery/runtime/local-stash.js +423 -0
  706. package/server/dist/modules/delivery/runtime/multi-repo-execution.js +27 -1
  707. package/server/dist/modules/delivery/runtime/phase3-harvest.js +40 -0
  708. package/server/dist/modules/delivery/runtime/pr-body.js +50 -0
  709. package/server/dist/modules/delivery/runtime/rail-isolated-launch.js +169 -166
  710. package/server/dist/modules/delivery/runtime/rail-launch-parser.js +5 -2
  711. package/server/dist/modules/delivery/runtime/rail-pr-decision.js +7 -1
  712. package/server/dist/modules/delivery/runtime/rail-pr-store.js +193 -12
  713. package/server/dist/modules/delivery/runtime/rails-router.js +267 -5
  714. package/server/dist/modules/delivery/runtime/review-brief.js +208 -0
  715. package/server/dist/modules/delivery/runtime/review-packet.js +41 -2
  716. package/server/dist/modules/delivery/runtime/review-wip-gate.js +67 -0
  717. package/server/dist/modules/delivery/runtime/run-records.js +267 -0
  718. package/server/dist/modules/delivery/runtime/run-review-diagnosis.js +102 -0
  719. package/server/dist/modules/execution/adapters/budget-storage.js +76 -0
  720. package/server/dist/modules/execution/application/enforce-budget.js +17 -2
  721. package/server/dist/modules/execution/domain/agent-env.js +98 -0
  722. package/server/dist/modules/execution/domain/daily-budget.js +36 -0
  723. package/server/dist/modules/execution/domain/spend-caps.js +166 -0
  724. package/server/dist/modules/execution/index.js +34 -1
  725. package/server/dist/modules/execution/runtime/budget-overview.js +76 -0
  726. package/server/dist/modules/execution/runtime/daily-budget-gate.js +86 -0
  727. package/server/dist/modules/execution/runtime/interactive-job-session.js +8 -0
  728. package/server/dist/modules/execution/runtime/launch-forecast.js +33 -0
  729. package/server/dist/modules/execution/runtime/queue-manager.js +54 -15
  730. package/server/dist/modules/execution/runtime/run-duration-stats.js +31 -13
  731. package/server/dist/modules/flow/adapters/bindings.js +1089 -0
  732. package/server/dist/modules/flow/adapters/http.js +147 -0
  733. package/server/dist/modules/flow/adapters/sqlite.js +121 -0
  734. package/server/dist/modules/flow/application.js +805 -0
  735. package/server/dist/modules/flow/domain.js +790 -0
  736. package/server/dist/modules/flow/index.js +34 -0
  737. package/server/dist/modules/flow/ports.js +2 -0
  738. package/server/dist/modules/inbox/adapters/http.js +21 -0
  739. package/server/dist/modules/inbox/adapters/project-source.js +233 -0
  740. package/server/dist/modules/inbox/application.js +28 -0
  741. package/server/dist/modules/inbox/domain.js +43 -0
  742. package/server/dist/modules/inbox/index.js +10 -0
  743. package/server/dist/modules/inbox/ports.js +2 -0
  744. package/server/dist/modules/loops/runtime/loop-definition-run.js +9 -0
  745. package/server/dist/modules/loops/runtime/loop-definition.js +5 -2
  746. package/server/dist/modules/loops/runtime/loop-executors.js +90 -9
  747. package/server/dist/modules/loops/runtime/loop-factory.js +30 -2
  748. package/server/dist/modules/loops/runtime/loop-flow-spec-recipe.js +166 -0
  749. package/server/dist/modules/loops/runtime/loop-graph.js +1 -1
  750. package/server/dist/modules/loops/runtime/loop-role-engines.js +4 -1
  751. package/server/dist/modules/loops/runtime/loop-run-manager.js +267 -10
  752. package/server/dist/modules/loops/runtime/loop-runs-store.js +21 -5
  753. package/server/dist/modules/loops/runtime/loop-templates.js +55 -12
  754. package/server/dist/modules/missions/runtime/agent-chat-manager.js +283 -20
  755. package/server/dist/modules/missions/runtime/agent-chat-router.js +96 -21
  756. package/server/dist/modules/missions/runtime/agent-failure-briefing.js +11 -3
  757. package/server/dist/modules/missions/runtime/agent-fence-promotion.js +9 -1
  758. package/server/dist/modules/missions/runtime/agent-flow-prompt.js +64 -0
  759. package/server/dist/modules/missions/runtime/agent-input-store.js +9 -4
  760. package/server/dist/modules/missions/runtime/agent-operator-prompt.js +100 -14
  761. package/server/dist/modules/missions/runtime/agent-session-store.js +88 -27
  762. package/server/dist/modules/missions/runtime/core-session-runner.js +89 -9
  763. package/server/dist/modules/missions/runtime/flow-turn-context.js +17 -0
  764. package/server/dist/modules/missions/runtime/mission-core-sessions.js +295 -55
  765. package/server/dist/modules/missions/runtime/mission-run-notify.js +2 -0
  766. package/server/dist/modules/missions/runtime/mission-session-projector.js +56 -19
  767. package/server/dist/modules/missions/runtime/mission-tool-policy.js +47 -0
  768. package/server/dist/modules/onboarding/adapters/http.js +78 -0
  769. package/server/dist/modules/onboarding/adapters/providers.js +41 -0
  770. package/server/dist/modules/onboarding/adapters/runtime.js +130 -0
  771. package/server/dist/modules/onboarding/application.js +133 -0
  772. package/server/dist/modules/onboarding/catalog.js +217 -0
  773. package/server/dist/modules/onboarding/domain.js +102 -0
  774. package/server/dist/modules/onboarding/index.js +20 -0
  775. package/server/dist/modules/onboarding/ports.js +2 -0
  776. package/server/dist/modules/project-rules/adapters/http.js +91 -0
  777. package/server/dist/modules/project-rules/domain.js +122 -0
  778. package/server/dist/modules/project-rules/runtime/rules-inventory-runs.js +97 -0
  779. package/server/dist/modules/project-rules/runtime/rules-store.js +109 -0
  780. package/server/dist/modules/project-settings/adapters/http.js +13 -0
  781. package/server/dist/modules/project-settings/adapters/sqlite.js +78 -8
  782. package/server/dist/modules/project-settings/domain.js +47 -1
  783. package/server/dist/modules/project-settings/index.js +7 -1
  784. package/server/dist/modules/recovery/adapters/sqlite.js +28 -0
  785. package/server/dist/modules/recovery/domain.js +162 -0
  786. package/server/dist/modules/recovery/index.js +16 -0
  787. package/server/dist/modules/specs/adapters/timeline-http.js +101 -0
  788. package/server/dist/modules/specs/domain/handoff-labels.js +371 -0
  789. package/server/dist/modules/specs/domain/handoff.js +260 -0
  790. package/server/dist/modules/specs/domain/non-goals.js +101 -0
  791. package/server/dist/modules/specs/domain/timeline.js +164 -0
  792. package/server/dist/modules/specs/domain/triage.js +320 -0
  793. package/server/dist/modules/specs/runtime/contract-refine-runner.js +3 -2
  794. package/server/dist/modules/specs/runtime/generated-spec-parser.js +75 -0
  795. package/server/dist/modules/specs/runtime/proposal-manager.js +4 -3
  796. package/server/dist/modules/specs/runtime/smash-runner.js +2 -1
  797. package/server/dist/modules/specs/runtime/spec-addenda.js +31 -0
  798. package/server/dist/modules/specs/runtime/spec-draft-parser.js +6 -1
  799. package/server/dist/modules/specs/runtime/spec-generation.js +431 -0
  800. package/server/dist/modules/specs/runtime/spec-handoff.js +103 -0
  801. package/server/dist/modules/specs/runtime/spec-history.js +376 -0
  802. package/server/dist/modules/specs/runtime/spec-launcher-manager.js +4 -3
  803. package/server/dist/modules/specs/runtime/spec-search.js +117 -0
  804. package/server/dist/modules/specs/runtime/ticket-store.js +47 -2
  805. package/server/dist/modules/specs/runtime/ticket-trash-service.js +62 -0
  806. package/server/dist/modules/specs/runtime/ticket-trash.js +193 -0
  807. package/server/dist/modules/specs/runtime/triage-runner.js +171 -0
  808. package/server/dist/modules/specs/runtime/triage.js +365 -0
  809. package/server/dist/modules/terminals/domain/app-urls.js +96 -0
  810. package/server/dist/modules/terminals/runtime/app-urls.js +77 -0
  811. package/server/dist/modules/terminals/runtime/background-process-service.js +25 -28
  812. package/server/dist/openspec-shim.js +1 -1
  813. package/server/dist/project-env.js +60 -0
  814. package/server/dist/project-git.js +65 -0
  815. package/server/dist/project-registry.js +264 -27
  816. package/server/dist/project-router-background-processes.js +27 -3
  817. package/server/dist/project-router-git.js +30 -0
  818. package/server/dist/project-router-helpers.js +5 -30
  819. package/server/dist/project-router-jobs.js +49 -1
  820. package/server/dist/project-router-loop-runs.js +72 -2
  821. package/server/dist/project-router-rules.js +54 -0
  822. package/server/dist/project-router-search.js +52 -0
  823. package/server/dist/project-router-settings.js +6 -0
  824. package/server/dist/project-router-setup.js +1 -1
  825. package/server/dist/project-router-spending.js +138 -0
  826. package/server/dist/project-router-tickets.js +246 -427
  827. package/server/dist/project-router.js +7 -0
  828. package/server/dist/providers/claude-adapter.js +25 -3
  829. package/server/dist/providers/codex-adapter.js +9 -1
  830. package/server/dist/providers/gemini-adapter.js +6 -1
  831. package/server/dist/providers/kimi-adapter.js +2 -0
  832. package/server/dist/providers/local-adapter.js +2 -0
  833. package/server/dist/providers/runtime.js +8 -0
  834. package/server/dist/schemas/agent-runtime.schema.json +3 -1
  835. package/server/dist/schemas/workflow-definition.schema.json +1 -0
  836. package/server/dist/setup-manager.js +19 -1
  837. package/server/dist/transient-children.js +25 -8
  838. package/server/dist/update-channel.js +21 -0
  839. package/server/dist/util/search-snippet.js +74 -0
  840. package/server/dist/worktree-manager.js +19 -8
  841. package/client/dist/assets/ActivityFeedPage-Dtp7EyHc.js +0 -1
  842. package/client/dist/assets/AgentBrowserCapture-CLqlEFw8.js +0 -1
  843. package/client/dist/assets/AgentModeAnalyticsPane-B8_hM3Tw.js +0 -2
  844. package/client/dist/assets/AgentModeCodePane-CNF8ZNjE.js +0 -2
  845. package/client/dist/assets/AgentModeJobsPane-CJpJbO9m.js +0 -1
  846. package/client/dist/assets/AgentsPage-BC8XSR79.js +0 -120
  847. package/client/dist/assets/AnalyticsPage-Cdv4jLtW.js +0 -1
  848. package/client/dist/assets/BarChart-BDMqVFJy.js +0 -55
  849. package/client/dist/assets/CodePage-DI1kegAr.js +0 -3
  850. package/client/dist/assets/DesktopAnalyticsPage-Bdp8E8U6.js +0 -1
  851. package/client/dist/assets/DocsDialog-Bm4RS7FX.js +0 -11
  852. package/client/dist/assets/DocsPage-DihYcU8r.js +0 -11
  853. package/client/dist/assets/ExportDropdown-Bb1lHx3r.js +0 -1
  854. package/client/dist/assets/IntegrationsPage-EAipiDWm.js +0 -1
  855. package/client/dist/assets/InteractiveJobComposer-BO6ASN-2.js +0 -19
  856. package/client/dist/assets/JobDetailModal-CuPYq7tP.js +0 -1
  857. package/client/dist/assets/JobDetailPage-BusMjJi9.js +0 -1
  858. package/client/dist/assets/JobsPage-C0QbsF2d.js +0 -1
  859. package/client/dist/assets/LoopBuilderPage-B7TlU4iS.js +0 -1
  860. package/client/dist/assets/LoopPreviewModal-BRWtXOD2.js +0 -1
  861. package/client/dist/assets/LoopsPage-C4q1DmCE.js +0 -2
  862. package/client/dist/assets/MinimizedChatsContext-DHfigjHS.js +0 -1
  863. package/client/dist/assets/PluginsPage-Z1JHSMdR.js +0 -2
  864. package/client/dist/assets/ProjectSettingsDialog-BUNj0tvN.js +0 -1
  865. package/client/dist/assets/RepositoryDeliveries-B4ybHOyB.js +0 -5
  866. package/client/dist/assets/ReviewPacketPage-hwfPNjyy.js +0 -4
  867. package/client/dist/assets/TemplatePreviewModal-V7FpMWuw.js +0 -1
  868. package/client/dist/assets/TicketDetailModalContext-Dkwo2cDs.js +0 -16
  869. package/client/dist/assets/Trans-BbFxRFtR.js +0 -1
  870. package/client/dist/assets/activity-B-rp4h_v.js +0 -1
  871. package/client/dist/assets/activity-C6kJpm9q.js +0 -1
  872. package/client/dist/assets/activity-CGx4kb_j.js +0 -1
  873. package/client/dist/assets/activity-CnoX2bH7.js +0 -1
  874. package/client/dist/assets/activity-DAyekdlt.js +0 -1
  875. package/client/dist/assets/activity-DCxtpT7j.js +0 -1
  876. package/client/dist/assets/activity-DiyjsgQV.js +0 -1
  877. package/client/dist/assets/activity-JzwRaWPD.js +0 -1
  878. package/client/dist/assets/addspec-BOvgmcgk.js +0 -1
  879. package/client/dist/assets/addspec-Clmyfn_R.js +0 -1
  880. package/client/dist/assets/addspec-CsNaBpHp.js +0 -1
  881. package/client/dist/assets/addspec-D2tvWmmV.js +0 -1
  882. package/client/dist/assets/addspec-D3nFwvD0.js +0 -1
  883. package/client/dist/assets/addspec-DVLEhK3w.js +0 -1
  884. package/client/dist/assets/addspec-DXbK-tb0.js +0 -1
  885. package/client/dist/assets/addspec-OHG8DFEn.js +0 -1
  886. package/client/dist/assets/agent-5bSixVzz.js +0 -1
  887. package/client/dist/assets/agent-BR4EHfhq.js +0 -1
  888. package/client/dist/assets/agent-C0IKkJP8.js +0 -1
  889. package/client/dist/assets/agent-C7li9ayC.js +0 -1
  890. package/client/dist/assets/agent-D0dRmEen.js +0 -1
  891. package/client/dist/assets/agent-DZVGHm7H.js +0 -1
  892. package/client/dist/assets/agent-Dip4h2YE.js +0 -1
  893. package/client/dist/assets/agent-Pp-P-n1p.js +0 -1
  894. package/client/dist/assets/agentRuntime-BxF81z52.js +0 -1
  895. package/client/dist/assets/agentRuntime-BxYS5V7u.js +0 -1
  896. package/client/dist/assets/agentRuntime-Dc9HG3BA.js +0 -1
  897. package/client/dist/assets/agents-B6ZsnARo.js +0 -1
  898. package/client/dist/assets/agents-BORdhe0K.js +0 -1
  899. package/client/dist/assets/agents-C6aq9Oqs.js +0 -1
  900. package/client/dist/assets/agents-Cbsc4bcX.js +0 -1
  901. package/client/dist/assets/agents-D0uYR6hq.js +0 -1
  902. package/client/dist/assets/agents-Doe1sHY5.js +0 -1
  903. package/client/dist/assets/agents-DyNi_I9m.js +0 -1
  904. package/client/dist/assets/agents-StKxiTg0.js +0 -1
  905. package/client/dist/assets/agentstudio-7cYCXn-L.js +0 -1
  906. package/client/dist/assets/agentstudio-BHWQh8G3.js +0 -1
  907. package/client/dist/assets/agentstudio-BjnWHyRs.js +0 -1
  908. package/client/dist/assets/agentstudio-BkV8vcK4.js +0 -1
  909. package/client/dist/assets/agentstudio-BzugqB_N.js +0 -1
  910. package/client/dist/assets/agentstudio-CWbp7KvH.js +0 -1
  911. package/client/dist/assets/agentstudio-DG6plf5o.js +0 -1
  912. package/client/dist/assets/agentstudio-DkZVF-Cc.js +0 -1
  913. package/client/dist/assets/analytics-B1DIQd4m.js +0 -1
  914. package/client/dist/assets/analytics-BAIZ9vE_.js +0 -1
  915. package/client/dist/assets/analytics-BTqgmgBd.js +0 -1
  916. package/client/dist/assets/analytics-BWynXPEm.js +0 -1
  917. package/client/dist/assets/analytics-DGcUsQ44.js +0 -1
  918. package/client/dist/assets/analytics-GnSnpJ4W.js +0 -1
  919. package/client/dist/assets/analytics-TWgYaoO0.js +0 -1
  920. package/client/dist/assets/analytics-kJy6Tuko.js +0 -1
  921. package/client/dist/assets/atom-one-dark-qiGhVQxg.js +0 -1
  922. package/client/dist/assets/builder-B9gorTnT.js +0 -1
  923. package/client/dist/assets/builder-Bvw5s3Mi.js +0 -1
  924. package/client/dist/assets/builder-CL5l4dU3.js +0 -1
  925. package/client/dist/assets/builder-CVDTVrQX.js +0 -1
  926. package/client/dist/assets/builder-CpS9liE9.js +0 -1
  927. package/client/dist/assets/builder-DNctIL9Q.js +0 -1
  928. package/client/dist/assets/builder-De2NxX6o.js +0 -1
  929. package/client/dist/assets/builder-DeYT7Y-m.js +0 -1
  930. package/client/dist/assets/button-4FS1ZDTp.js +0 -1
  931. package/client/dist/assets/chat-D_I7nU5K.js +0 -1
  932. package/client/dist/assets/chevron-up-6EFqEHBj.js +0 -1
  933. package/client/dist/assets/chunk-OB3PAWPO-B1EMk45A.js +0 -3
  934. package/client/dist/assets/clsx-CjueKrWZ.js +0 -1
  935. package/client/dist/assets/code-B37GRg9C.js +0 -1
  936. package/client/dist/assets/code-BBOEZbf9.js +0 -1
  937. package/client/dist/assets/code-BRm-jcyx.js +0 -1
  938. package/client/dist/assets/code-CF7w62CR.js +0 -1
  939. package/client/dist/assets/code-CLuvJt2r.js +0 -1
  940. package/client/dist/assets/code-D0RCm59f.js +0 -1
  941. package/client/dist/assets/code-DaZ-ZwCT.js +0 -1
  942. package/client/dist/assets/code-iIHkGaCL.js +0 -1
  943. package/client/dist/assets/commands-0XjAftla.js +0 -1
  944. package/client/dist/assets/commands-BAWSYHjQ.js +0 -1
  945. package/client/dist/assets/commands-BBwowgiE.js +0 -1
  946. package/client/dist/assets/commands-BacjIZLN.js +0 -1
  947. package/client/dist/assets/commands-Bs62IAZ3.js +0 -1
  948. package/client/dist/assets/commands-CLPdh-Hh.js +0 -1
  949. package/client/dist/assets/commands-DlbFzgrp.js +0 -1
  950. package/client/dist/assets/commands-LjPSsi5F.js +0 -1
  951. package/client/dist/assets/common-Bdi0qN4S.js +0 -1
  952. package/client/dist/assets/common-Bhb9zN1P.js +0 -1
  953. package/client/dist/assets/common-BykKlZg1.js +0 -1
  954. package/client/dist/assets/common-CvnNNSJA.js +0 -1
  955. package/client/dist/assets/common-D5zk_mqq.js +0 -1
  956. package/client/dist/assets/common-DQNO_al5.js +0 -1
  957. package/client/dist/assets/common-Dax30Vmp.js +0 -1
  958. package/client/dist/assets/common-DkllpVSb.js +0 -1
  959. package/client/dist/assets/core-B3mKBIh5.js +0 -1
  960. package/client/dist/assets/dashboard-B1ndRHuC.js +0 -1
  961. package/client/dist/assets/dashboard-BX7KXiqA.js +0 -1
  962. package/client/dist/assets/dashboard-B_BSNxcN.js +0 -1
  963. package/client/dist/assets/dashboard-CCeFN7-V.js +0 -1
  964. package/client/dist/assets/dashboard-CRl0WtFJ.js +0 -1
  965. package/client/dist/assets/dashboard-XGdQ5mjw.js +0 -1
  966. package/client/dist/assets/dashboard-_oltA6Jd.js +0 -1
  967. package/client/dist/assets/dashboard-bAuf5KVk.js +0 -1
  968. package/client/dist/assets/dialog-DtdR05v1.js +0 -45
  969. package/client/dist/assets/dist-js-CJ_2XX1Y.js +0 -1
  970. package/client/dist/assets/event-Bt7f3wXe.js +0 -1
  971. package/client/dist/assets/explore-BG99VGpL.js +0 -1
  972. package/client/dist/assets/explore-C0TjprJW.js +0 -1
  973. package/client/dist/assets/explore-C2dgEo7q.js +0 -1
  974. package/client/dist/assets/explore-C8NDHbob.js +0 -1
  975. package/client/dist/assets/explore-CWWgzQGR.js +0 -1
  976. package/client/dist/assets/explore-CcQXpdtS.js +0 -1
  977. package/client/dist/assets/explore-DgBACn39.js +0 -1
  978. package/client/dist/assets/explore-DsXAgnmJ.js +0 -1
  979. package/client/dist/assets/file-text-C0blZHLh.js +0 -1
  980. package/client/dist/assets/formatDistanceToNow-NjPHBLfB.js +0 -1
  981. package/client/dist/assets/getTimezoneOffsetInMilliseconds-vJ7qUoqN.js +0 -1
  982. package/client/dist/assets/git-branch-yf6LE1Bw.js +0 -1
  983. package/client/dist/assets/index-BgbCbIua.css +0 -2
  984. package/client/dist/assets/index-Ce4yZtKf.js +0 -83
  985. package/client/dist/assets/integrations-BkpRUbvp.js +0 -1
  986. package/client/dist/assets/integrations-Bo8qbJf4.js +0 -1
  987. package/client/dist/assets/integrations-CmSrKzZb.js +0 -1
  988. package/client/dist/assets/integrations-DGtq26Rr.js +0 -1
  989. package/client/dist/assets/integrations-De38GFnQ.js +0 -1
  990. package/client/dist/assets/integrations-Dw6zdtb-.js +0 -1
  991. package/client/dist/assets/integrations-Dwl9KQp0.js +0 -1
  992. package/client/dist/assets/integrations-Refg_d2I.js +0 -1
  993. package/client/dist/assets/jira-B6OYw4CJ.js +0 -1
  994. package/client/dist/assets/jira-BTF6RaOe.js +0 -1
  995. package/client/dist/assets/jira-CEetIB2q.js +0 -1
  996. package/client/dist/assets/jira-CIzsZLw5.js +0 -1
  997. package/client/dist/assets/jira-Daw9tmpI.js +0 -1
  998. package/client/dist/assets/jira-FXr7u2lh.js +0 -1
  999. package/client/dist/assets/jira-LaNQn7yl.js +0 -1
  1000. package/client/dist/assets/jira-api-Cabj-H0J.js +0 -1
  1001. package/client/dist/assets/job-time-BCL7wee9.js +0 -1
  1002. package/client/dist/assets/jobs-ARwD85B9.js +0 -1
  1003. package/client/dist/assets/jobs-BMF1w4WT.js +0 -1
  1004. package/client/dist/assets/jobs-CBfzGLwm.js +0 -1
  1005. package/client/dist/assets/jobs-CPjiluBY.js +0 -1
  1006. package/client/dist/assets/jobs-CQQd58pY.js +0 -1
  1007. package/client/dist/assets/jobs-De3EqaO0.js +0 -1
  1008. package/client/dist/assets/jobs-Du9-Ei9a.js +0 -1
  1009. package/client/dist/assets/jobs-qMHbnxwC.js +0 -1
  1010. package/client/dist/assets/layers-BCLTgHXO.js +0 -1
  1011. package/client/dist/assets/loader-circle-BqV9xYGf.js +0 -1
  1012. package/client/dist/assets/loop-layout-CyXj9223.js +0 -7
  1013. package/client/dist/assets/loops-B2PhQLKR.js +0 -1
  1014. package/client/dist/assets/loops-BqbF46st.js +0 -1
  1015. package/client/dist/assets/loops-CINnHbfI.js +0 -1
  1016. package/client/dist/assets/loops-D-3XhH04.js +0 -1
  1017. package/client/dist/assets/loops-DKkEEjZ_.js +0 -1
  1018. package/client/dist/assets/loops-DzWR5-v6.js +0 -1
  1019. package/client/dist/assets/loops-WyWDkhok.js +0 -1
  1020. package/client/dist/assets/loops-scD5fIBf.js +0 -1
  1021. package/client/dist/assets/mcp-6rMoZfEO.js +0 -1
  1022. package/client/dist/assets/mcp-BD8sL5mP.js +0 -1
  1023. package/client/dist/assets/mcp-BkcA3I5s.js +0 -1
  1024. package/client/dist/assets/mcp-CCpSelOh.js +0 -1
  1025. package/client/dist/assets/mcp-CUAN6ORK.js +0 -1
  1026. package/client/dist/assets/mcp-CqbRxRTE.js +0 -1
  1027. package/client/dist/assets/mcp-DP2YfVhO.js +0 -1
  1028. package/client/dist/assets/mcp-DUVQamDz.js +0 -1
  1029. package/client/dist/assets/narration-BEKMVxGm.js +0 -1
  1030. package/client/dist/assets/narration-CjLwGKap.js +0 -1
  1031. package/client/dist/assets/narration-DANWuGsW.js +0 -1
  1032. package/client/dist/assets/narration-DGeEDWiT.js +0 -1
  1033. package/client/dist/assets/narration-DJgpGwIP.js +0 -1
  1034. package/client/dist/assets/narration-DbHnz0qV.js +0 -1
  1035. package/client/dist/assets/narration-bZSsTZG8.js +0 -1
  1036. package/client/dist/assets/narration-i6aKJKEc.js +0 -1
  1037. package/client/dist/assets/nav--u7iPYlS.js +0 -1
  1038. package/client/dist/assets/nav-C5Jgfaby.js +0 -1
  1039. package/client/dist/assets/nav-CAna_Wpt.js +0 -1
  1040. package/client/dist/assets/nav-CCLqeyHo.js +0 -1
  1041. package/client/dist/assets/nav-Cf3c90Jk.js +0 -1
  1042. package/client/dist/assets/nav-DMYQaQjR.js +0 -1
  1043. package/client/dist/assets/nav-Df_PkZ9F.js +0 -1
  1044. package/client/dist/assets/nav-VyNGBJwj.js +0 -1
  1045. package/client/dist/assets/packet-8nn9RsU7.js +0 -1
  1046. package/client/dist/assets/packet-B0H15elv.js +0 -1
  1047. package/client/dist/assets/packet-BQvBgrwh.js +0 -1
  1048. package/client/dist/assets/packet-BR7mO0-a.js +0 -1
  1049. package/client/dist/assets/packet-BgcQ6q_K.js +0 -1
  1050. package/client/dist/assets/packet-D2s92Jnn.js +0 -1
  1051. package/client/dist/assets/packet-YbtcD1HS.js +0 -1
  1052. package/client/dist/assets/packet-c0Qj_9eX.js +0 -1
  1053. package/client/dist/assets/project-repositories-Cnnuj9Ia.js +0 -1
  1054. package/client/dist/assets/rotate-ccw-DalJAQQX.js +0 -1
  1055. package/client/dist/assets/settings-B1NV8Ow9.js +0 -1
  1056. package/client/dist/assets/settings-BQ8XFZeE.js +0 -1
  1057. package/client/dist/assets/settings-BRkxfBbO.js +0 -1
  1058. package/client/dist/assets/settings-C_CcU1dP.js +0 -1
  1059. package/client/dist/assets/settings-Cto9n0eL.js +0 -1
  1060. package/client/dist/assets/settings-Pyw8uYtL.js +0 -1
  1061. package/client/dist/assets/settings-b3HVCNNd.js +0 -1
  1062. package/client/dist/assets/settings-hdive4u6.js +0 -1
  1063. package/client/dist/assets/setup-Be485n2u.js +0 -1
  1064. package/client/dist/assets/setup-CKGUxKr-.js +0 -1
  1065. package/client/dist/assets/setup-Ck1Uwd7_.js +0 -1
  1066. package/client/dist/assets/setup-Cm774a6v.js +0 -1
  1067. package/client/dist/assets/setup-DIqMQpxt.js +0 -1
  1068. package/client/dist/assets/setup-DfCsoNFL.js +0 -1
  1069. package/client/dist/assets/setup-DkeE8mP0.js +0 -1
  1070. package/client/dist/assets/setup-xVntVaz1.js +0 -1
  1071. package/client/dist/assets/specs-Bqvtz2kz.js +0 -1
  1072. package/client/dist/assets/specs-CKes-kz6.js +0 -1
  1073. package/client/dist/assets/specs-CfXxPDNB.js +0 -1
  1074. package/client/dist/assets/specs-CyF9HuTI.js +0 -1
  1075. package/client/dist/assets/specs-DMj035Mt.js +0 -1
  1076. package/client/dist/assets/specs-DfIdoU5L.js +0 -1
  1077. package/client/dist/assets/specs-j5pGLQeU.js +0 -1
  1078. package/client/dist/assets/specs-xW5pkkB7.js +0 -1
  1079. package/client/dist/assets/spending-CQnrWiR3.js +0 -1
  1080. package/client/dist/assets/square-D0JTbRSR.js +0 -1
  1081. package/client/dist/assets/tauri-shell-DE6LfGPw.js +0 -2
  1082. package/client/dist/assets/terminal-BAzpHtpY.js +0 -1
  1083. package/client/dist/assets/terminal-C7dHeR3x.js +0 -1
  1084. package/client/dist/assets/terminal-CMla5Qsz.js +0 -1
  1085. package/client/dist/assets/terminal-CdNXH-n9.js +0 -1
  1086. package/client/dist/assets/terminal-Cw5bZsmV.js +0 -1
  1087. package/client/dist/assets/terminal-DFUP4eNv.js +0 -1
  1088. package/client/dist/assets/terminal-DGqljeK_.js +0 -1
  1089. package/client/dist/assets/terminal-cU70NodO.js +0 -1
  1090. package/client/dist/assets/tickets--tiSOCcn.js +0 -1
  1091. package/client/dist/assets/tickets-BUJ3DMWU.js +0 -1
  1092. package/client/dist/assets/tickets-C1WNPODq.js +0 -1
  1093. package/client/dist/assets/tickets-CDjhWmiE.js +0 -1
  1094. package/client/dist/assets/tickets-CLgPC3uO.js +0 -1
  1095. package/client/dist/assets/tickets-D41ZMQpf.js +0 -1
  1096. package/client/dist/assets/tickets-DEaQC06P.js +0 -1
  1097. package/client/dist/assets/tickets-kcMzbLCp.js +0 -1
  1098. package/client/dist/assets/trash-D8zYUmTg.js +0 -1
  1099. package/client/dist/assets/useDesktop-BjLT0_EE.js +0 -1
  1100. package/client/dist/assets/useRuntimeRuns-C97qEqMg.js +0 -1
  1101. package/client/dist/assets/useSharedWebSocket-Bj4LMp7b.js +0 -2
  1102. package/client/dist/assets/utils-BC4DHlz2.js +0 -1
  1103. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +0 -48
  1104. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +0 -48
  1105. package/server/dist/mobile/mobile-preview-channel.js +0 -179
  1106. package/server/dist/mobile/mobile-preview.js +0 -366
  1107. package/server/dist/modules/browser/domain/preview-origins.js +0 -117
  1108. package/server/dist/modules/browser/runtime/preview-targets.js +0 -80
  1109. /package/client/dist/assets/{atom-one-dark-B-oHczHB.css → DocView-B-oHczHB.css} +0 -0
  1110. /package/docs/guide/de/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1111. /package/docs/guide/en/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1112. /package/docs/guide/es/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1113. /package/docs/guide/fr/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1114. /package/docs/guide/it/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1115. /package/docs/guide/ja/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1116. /package/docs/guide/pt/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1117. /package/docs/guide/zh/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
@@ -116,9 +116,9 @@
116
116
  margin: 0;
117
117
  background: var(--splash-bg);
118
118
  color: var(--splash-fg);
119
- font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
120
119
  }
121
120
  #specrails-splash {
121
+ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
122
122
  position: fixed;
123
123
  inset: 0;
124
124
  display: flex;
@@ -204,87 +204,102 @@
204
204
  .specrails-splash__mark .pill { opacity: 1; }
205
205
  }
206
206
  </style>
207
- <script type="module" crossorigin src="/assets/index-Ce4yZtKf.js"></script>
207
+ <script type="module" crossorigin src="/assets/index-DHzB0T26.js"></script>
208
208
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
209
209
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-BbYvbtY8.js">
210
210
  <link rel="modulepreload" crossorigin href="/assets/react-dom-DDD8FYaU.js">
211
211
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
212
- <link rel="modulepreload" crossorigin href="/assets/chunk-OB3PAWPO-B1EMk45A.js">
213
- <link rel="modulepreload" crossorigin href="/assets/tauri-shell-DE6LfGPw.js">
214
- <link rel="modulepreload" crossorigin href="/assets/activity-DiyjsgQV.js">
215
- <link rel="modulepreload" crossorigin href="/assets/addspec-BOvgmcgk.js">
216
- <link rel="modulepreload" crossorigin href="/assets/agent-Dip4h2YE.js">
217
- <link rel="modulepreload" crossorigin href="/assets/agentRuntime-BxYS5V7u.js">
218
- <link rel="modulepreload" crossorigin href="/assets/agents-Doe1sHY5.js">
219
- <link rel="modulepreload" crossorigin href="/assets/agentstudio-BzugqB_N.js">
220
- <link rel="modulepreload" crossorigin href="/assets/aiedit-iIjz2_Qk.js">
221
- <link rel="modulepreload" crossorigin href="/assets/analytics-BWynXPEm.js">
212
+ <link rel="modulepreload" crossorigin href="/assets/chunk-OB3PAWPO-BBaq6pUk.js">
213
+ <link rel="modulepreload" crossorigin href="/assets/tauri-shell-43ixPGfa.js">
214
+ <link rel="modulepreload" crossorigin href="/assets/activity-Cevl82ke.js">
215
+ <link rel="modulepreload" crossorigin href="/assets/addspec-DOFo9pD5.js">
216
+ <link rel="modulepreload" crossorigin href="/assets/agent-DcsoTnuE.js">
217
+ <link rel="modulepreload" crossorigin href="/assets/agentRuntime-BijLh8I9.js">
218
+ <link rel="modulepreload" crossorigin href="/assets/agents-EN1Zl4YZ.js">
219
+ <link rel="modulepreload" crossorigin href="/assets/agentstudio-DIE_HjsX.js">
220
+ <link rel="modulepreload" crossorigin href="/assets/aiedit-BrqMZvbc.js">
221
+ <link rel="modulepreload" crossorigin href="/assets/analytics-BRi4KQD6.js">
222
222
  <link rel="modulepreload" crossorigin href="/assets/attachments-B53PG733.js">
223
223
  <link rel="modulepreload" crossorigin href="/assets/browser-CG0PE1j_.js">
224
- <link rel="modulepreload" crossorigin href="/assets/builder-CpS9liE9.js">
224
+ <link rel="modulepreload" crossorigin href="/assets/builder-BMVvSr4v.js">
225
225
  <link rel="modulepreload" crossorigin href="/assets/chat-BGD7MXAy.js">
226
- <link rel="modulepreload" crossorigin href="/assets/code-DaZ-ZwCT.js">
227
- <link rel="modulepreload" crossorigin href="/assets/commands-BAWSYHjQ.js">
228
- <link rel="modulepreload" crossorigin href="/assets/common-Bdi0qN4S.js">
229
- <link rel="modulepreload" crossorigin href="/assets/dashboard-XGdQ5mjw.js">
230
- <link rel="modulepreload" crossorigin href="/assets/explore-DgBACn39.js">
231
- <link rel="modulepreload" crossorigin href="/assets/integrations-Dwl9KQp0.js">
232
- <link rel="modulepreload" crossorigin href="/assets/jira-FXr7u2lh.js">
233
- <link rel="modulepreload" crossorigin href="/assets/jobs-De3EqaO0.js">
234
- <link rel="modulepreload" crossorigin href="/assets/loops-WyWDkhok.js">
235
- <link rel="modulepreload" crossorigin href="/assets/mcp-CUAN6ORK.js">
236
- <link rel="modulepreload" crossorigin href="/assets/narration-DbHnz0qV.js">
237
- <link rel="modulepreload" crossorigin href="/assets/nav--u7iPYlS.js">
238
- <link rel="modulepreload" crossorigin href="/assets/packet-B0H15elv.js">
239
- <link rel="modulepreload" crossorigin href="/assets/settings-Pyw8uYtL.js">
240
- <link rel="modulepreload" crossorigin href="/assets/setup-CKGUxKr-.js">
241
- <link rel="modulepreload" crossorigin href="/assets/specs-DfIdoU5L.js">
226
+ <link rel="modulepreload" crossorigin href="/assets/code-CK6pm8wY.js">
227
+ <link rel="modulepreload" crossorigin href="/assets/commands-DNox0Edk.js">
228
+ <link rel="modulepreload" crossorigin href="/assets/common-5H4TkaoI.js">
229
+ <link rel="modulepreload" crossorigin href="/assets/dashboard-6zGLGcEz.js">
230
+ <link rel="modulepreload" crossorigin href="/assets/explore--NOz9LCN.js">
231
+ <link rel="modulepreload" crossorigin href="/assets/inbox-CFNPDhso.js">
232
+ <link rel="modulepreload" crossorigin href="/assets/integrations-BmX_XyJq.js">
233
+ <link rel="modulepreload" crossorigin href="/assets/jira-CkwjeJz6.js">
234
+ <link rel="modulepreload" crossorigin href="/assets/jobs-DT5s4fZ6.js">
235
+ <link rel="modulepreload" crossorigin href="/assets/loops-BogV595N.js">
236
+ <link rel="modulepreload" crossorigin href="/assets/mcp-DbGSFC3f.js">
237
+ <link rel="modulepreload" crossorigin href="/assets/narration-MYlfktga.js">
238
+ <link rel="modulepreload" crossorigin href="/assets/nav-DZJbFbah.js">
239
+ <link rel="modulepreload" crossorigin href="/assets/onboarding-BdZQnNm3.js">
240
+ <link rel="modulepreload" crossorigin href="/assets/packet-aasskOE7.js">
241
+ <link rel="modulepreload" crossorigin href="/assets/recovery-pITlc--v.js">
242
+ <link rel="modulepreload" crossorigin href="/assets/settings-DnWFoY-F.js">
243
+ <link rel="modulepreload" crossorigin href="/assets/setup-DxTBkX3P.js">
244
+ <link rel="modulepreload" crossorigin href="/assets/specs-7tAb4IKr.js">
242
245
  <link rel="modulepreload" crossorigin href="/assets/subscriptionUsage-CdlE5Mg1.js">
243
- <link rel="modulepreload" crossorigin href="/assets/terminal-BAzpHtpY.js">
244
- <link rel="modulepreload" crossorigin href="/assets/tickets-D41ZMQpf.js">
246
+ <link rel="modulepreload" crossorigin href="/assets/terminal-AbUAmCxE.js">
247
+ <link rel="modulepreload" crossorigin href="/assets/tickets-Bfo2GGmH.js">
248
+ <link rel="modulepreload" crossorigin href="/assets/undo-ds8nMFbX.js">
245
249
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-DtODIU64.js">
246
- <link rel="modulepreload" crossorigin href="/assets/useSharedWebSocket-Bj4LMp7b.js">
247
- <link rel="modulepreload" crossorigin href="/assets/Trans-BbFxRFtR.js">
248
- <link rel="modulepreload" crossorigin href="/assets/useDesktop-BjLT0_EE.js">
249
- <link rel="modulepreload" crossorigin href="/assets/provider-capabilities-lePfeT_Y.js">
250
+ <link rel="modulepreload" crossorigin href="/assets/origin-03nTuaOb.js">
251
+ <link rel="modulepreload" crossorigin href="/assets/api-DOGbyfTO.js">
252
+ <link rel="modulepreload" crossorigin href="/assets/Trans-C6J0cLyh.js">
253
+ <link rel="modulepreload" crossorigin href="/assets/core-BozBzB6Y.js">
254
+ <link rel="modulepreload" crossorigin href="/assets/notify-error-BsWANx1T.js">
255
+ <link rel="modulepreload" crossorigin href="/assets/provider-capabilities-DtwcTme4.js">
250
256
  <link rel="modulepreload" crossorigin href="/assets/save-LmPSfsvZ.js">
251
- <link rel="modulepreload" crossorigin href="/assets/spending-CQnrWiR3.js">
252
- <link rel="modulepreload" crossorigin href="/assets/chevron-up-6EFqEHBj.js">
257
+ <link rel="modulepreload" crossorigin href="/assets/es2015-DfnECntk.js">
258
+ <link rel="modulepreload" crossorigin href="/assets/dist-Di-oOFkX.js">
259
+ <link rel="modulepreload" crossorigin href="/assets/utils-ELimjS2Y.js">
260
+ <link rel="modulepreload" crossorigin href="/assets/HelpHint-Crf9_uoR.js">
261
+ <link rel="modulepreload" crossorigin href="/assets/spending-CVH8VREb.js">
262
+ <link rel="modulepreload" crossorigin href="/assets/chevron-up-BAMuP0XD.js">
253
263
  <link rel="modulepreload" crossorigin href="/assets/sparkles-CCfUdFGY.js">
254
264
  <link rel="modulepreload" crossorigin href="/assets/x-Bu7X_eR2.js">
255
- <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-DHfigjHS.js">
265
+ <link rel="modulepreload" crossorigin href="/assets/dialog-C23lB2iP.js">
266
+ <link rel="modulepreload" crossorigin href="/assets/useDesktop-BuOp2-MR.js">
267
+ <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-742ypO8n.js">
256
268
  <link rel="modulepreload" crossorigin href="/assets/ban-wqfdzoXt.js">
257
- <link rel="modulepreload" crossorigin href="/assets/file-text-C0blZHLh.js">
269
+ <link rel="modulepreload" crossorigin href="/assets/chevron-right-CwMAj0w_.js">
258
270
  <link rel="modulepreload" crossorigin href="/assets/circle-x-D2ttKotB.js">
259
271
  <link rel="modulepreload" crossorigin href="/assets/download-C9wP_42h.js">
272
+ <link rel="modulepreload" crossorigin href="/assets/dropdown-menu-Bfp2CK6H.js">
260
273
  <link rel="modulepreload" crossorigin href="/assets/external-link-CZ6Q-v1-.js">
261
- <link rel="modulepreload" crossorigin href="/assets/git-branch-yf6LE1Bw.js">
262
- <link rel="modulepreload" crossorigin href="/assets/layers-BCLTgHXO.js">
263
- <link rel="modulepreload" crossorigin href="/assets/loader-circle-BqV9xYGf.js">
274
+ <link rel="modulepreload" crossorigin href="/assets/file-text-CNXzL3wj.js">
275
+ <link rel="modulepreload" crossorigin href="/assets/square-Co6h5vZg.js">
276
+ <link rel="modulepreload" crossorigin href="/assets/button-CHPkroew.js">
277
+ <link rel="modulepreload" crossorigin href="/assets/confirm-dialog-ChZdHL3Q.js">
264
278
  <link rel="modulepreload" crossorigin href="/assets/pencil-CxrRbDwb.js">
265
- <link rel="modulepreload" crossorigin href="/assets/square-D0JTbRSR.js">
266
279
  <link rel="modulepreload" crossorigin href="/assets/plus-fHDdjBk1.js">
267
- <link rel="modulepreload" crossorigin href="/assets/rotate-ccw-DalJAQQX.js">
280
+ <link rel="modulepreload" crossorigin href="/assets/refresh-cw-DfyTkbsf.js">
268
281
  <link rel="modulepreload" crossorigin href="/assets/search-BDVp3fkH.js">
269
- <link rel="modulepreload" crossorigin href="/assets/trash-D8zYUmTg.js">
270
282
  <link rel="modulepreload" crossorigin href="/assets/triangle-alert-Cxpn8bqr.js">
271
- <link rel="modulepreload" crossorigin href="/assets/jira-api-Cabj-H0J.js">
283
+ <link rel="modulepreload" crossorigin href="/assets/wrench-Br2n1Lxd.js">
272
284
  <link rel="modulepreload" crossorigin href="/assets/zap-bugHyWzQ.js">
273
- <link rel="modulepreload" crossorigin href="/assets/clsx-CjueKrWZ.js">
274
- <link rel="modulepreload" crossorigin href="/assets/utils-BC4DHlz2.js">
275
- <link rel="modulepreload" crossorigin href="/assets/dialog-DtdR05v1.js">
285
+ <link rel="modulepreload" crossorigin href="/assets/a11y-prefs-BqoP5goK.js">
276
286
  <link rel="modulepreload" crossorigin href="/assets/lib-DWJfei6y.js">
277
- <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-vJ7qUoqN.js">
278
- <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-NjPHBLfB.js">
279
- <link rel="modulepreload" crossorigin href="/assets/button-4FS1ZDTp.js">
280
- <link rel="modulepreload" crossorigin href="/assets/project-repositories-Cnnuj9Ia.js">
281
- <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-2eSqR9WK.js">
282
- <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-Dkwo2cDs.js">
283
- <link rel="modulepreload" crossorigin href="/assets/core-B3mKBIh5.js">
284
- <link rel="modulepreload" crossorigin href="/assets/RepositoryDeliveries-B4ybHOyB.js">
285
- <link rel="modulepreload" crossorigin href="/assets/useRuntimeRuns-C97qEqMg.js">
286
- <link rel="modulepreload" crossorigin href="/assets/event-Bt7f3wXe.js">
287
- <link rel="stylesheet" crossorigin href="/assets/index-BgbCbIua.css">
287
+ <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-O61feXch.js">
288
+ <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-DLMIOS0N.js">
289
+ <link rel="modulepreload" crossorigin href="/assets/select-xA3pSmqE.js">
290
+ <link rel="modulepreload" crossorigin href="/assets/empty-state-D5w9OWj-.js">
291
+ <link rel="modulepreload" crossorigin href="/assets/launch-forecast-BTa-p3RP.js">
292
+ <link rel="modulepreload" crossorigin href="/assets/format-BODoFIw6.js">
293
+ <link rel="modulepreload" crossorigin href="/assets/RailTrack-BfLmBzBh.js">
294
+ <link rel="modulepreload" crossorigin href="/assets/jira-api-DHme7Upx.js">
295
+ <link rel="modulepreload" crossorigin href="/assets/project-repositories-DJPeAVBK.js">
296
+ <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-DcxbKI9w.js">
297
+ <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-B-Gtm6Ob.js">
298
+ <link rel="modulepreload" crossorigin href="/assets/compass-B7guwBlY.js">
299
+ <link rel="modulepreload" crossorigin href="/assets/copy-DOPlLymH.js">
300
+ <link rel="modulepreload" crossorigin href="/assets/useRuntimeRuns-BRS6ncnO.js">
301
+ <link rel="modulepreload" crossorigin href="/assets/event-BEnMLqAi.js">
302
+ <link rel="stylesheet" crossorigin href="/assets/index-4UWY7Xyz.css">
288
303
  </head>
289
304
  <body>
290
305
  <div id="specrails-splash" aria-hidden="false" role="status" aria-label="Loading Specrails">
package/docs/ci-cd.md CHANGED
@@ -36,6 +36,34 @@ npm publication is serialized across versions and checks the current `latest` ve
36
36
 
37
37
  Release admission uses the current run/attempt of the named CI workflow and the exact SHA, repository, branch and event. The metadata workflow consumes no artifacts from an untrusted pull request. [Workflow-run trust and event behavior](https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows), [workflow runs API](https://docs.github.com/en/rest/actions/workflow-runs).
38
38
 
39
+ ## Update channels
40
+
41
+ Desktop offers two update channels, chosen in **App settings ▸ Updates ▸ Update channel** and stored as the app setting `updateChannel` (`GET/PUT /api/settings`):
42
+
43
+ | Channel | Desktop updater manifest | Core (npm dist-tag) |
44
+ |---|---|---|
45
+ | `latest` (default) | `releases/latest/download/latest.json`, the newest release, written by `Desktop Release` | `latest` |
46
+ | `stable` | `releases/download/stable/latest.json`, the promoted release | `stable`; while Core publishes no `stable` dist-tag the check falls back to `latest` and reports `channelFallback: true` |
47
+
48
+ **Mechanism.** `stable` is a single moving GitHub **pre-release** tagged `stable`. Its assets are verbatim copies of the promoted version's `latest.json` and `manifest.json`, plus `stable.json` (`{ version, tag, sha, promotedAt }`). The copied `latest.json` still points at that version's signed installers, so promotion rebuilds and re-signs nothing, and the updater's signature check is unchanged. Because the pointer is a pre-release created with `--latest=false`, it never becomes the repository's "latest" release, so the `latest` channel, `release-policy.mjs latest` and specrails.dev downloads are unaffected. The `stable` tag is only an anchor for that release; it is not a version tag and does not match the `v*` trigger of `Desktop Release`.
49
+
50
+ The updater endpoint compiled into `tauri.conf.json` stays the `latest` manifest. The app checks through the native command `check_app_update(channel)` (`src-tauri/src/app_updates.rs`), which rebuilds the updater with the selected channel's endpoint and hands the stock plugin `Update` back to the UI, so download, signature verification and install use the plugin unchanged. A `stable` check before the first promotion fails with `stable-channel-unavailable`; the app says so instead of silently switching the user to `latest`.
51
+
52
+ **Promoting a release to stable.** Run the `Promote Stable` workflow (`.github/workflows/promote-stable.yml`, `workflow_dispatch` only) with `version=X.Y.Z`:
53
+
54
+ ```sh
55
+ gh workflow run promote-stable.yml -f version=2.64.2 -f allow_rollback=false
56
+ ```
57
+
58
+ `node scripts/release-policy.mjs stable-promotion` admits the promotion only when:
59
+
60
+ - `vX.Y.Z` is a published GitHub release (not a draft or prerelease) carrying `latest.json`;
61
+ - it was published at least **7 days** ago (`STABLE_SOAK_DAYS`);
62
+ - the exact commit of the tag has a successful `CI` push run on `main` in this repository;
63
+ - it does not move stable to an older version, unless `allow_rollback=true` is set for an incident rollback.
64
+
65
+ Only then does the job copy the assets onto the `stable` pre-release (creating it on first use). Nothing is promoted automatically; promoting is a deliberate maintainer action, typically monthly. Core's `stable` dist-tag is promoted in specrails-core on the same cadence; Desktop needs no change when it appears.
66
+
39
67
  ## Native validation without publication
40
68
 
41
69
  Manually running `Desktop Release` defaults to `validation_only=true`. Select a trusted branch in this repository: admission requires successful push CI for that exact branch and SHA, and refuses evidence from another branch, a pull request or a fork. Selecting an existing matching release tag instead requires its main push CI. Validation builds retain their artifacts in GitHub Actions; macOS signing/notarization remains mandatory and the existing Windows installer signing policy is unchanged. The entire GitHub Release publication job is skipped. A passing validation build does not publish a release or move an update channel.
@@ -50,7 +78,7 @@ The macOS job retains `artifacts/chromium-signing/` as the `chromium-signing-mac
50
78
 
51
79
  ### Download channel
52
80
 
53
- GitHub Releases is the only Desktop download channel. Each release carries the canonical installers, the Tauri updater assets and `manifest.json` (version, sha256 and size per platform, with GitHub asset URLs). The Tauri updater reads `releases/latest/download/latest.json`; specrails.dev reads the latest release through the GitHub API. Nothing is uploaded to Hostinger, so a release has no second publication step to recover.
81
+ GitHub Releases is the only Desktop download channel. Each release carries the canonical installers, the Tauri updater assets and `manifest.json` (version, sha256 and size per platform, with GitHub asset URLs). The Tauri updater reads `releases/latest/download/latest.json` on the `latest` channel and the `stable` pointer on the `stable` channel (see [Update channels](#update-channels)); specrails.dev reads the latest release through the GitHub API. Nothing is uploaded to Hostinger, so a release has no second publication step to recover.
54
82
 
55
83
  - `RELEASE_PAT` must be authorized for release-please's pull requests and releases. It also permits tag pushes to trigger publication workflows; events created with the repository's ordinary `GITHUB_TOKEN` generally do not trigger another workflow.
56
84
  - Publication uses one of two credentials. When the `NPM_TOKEN` secret is set, it must authenticate an account with publishing permission for `specrails-desktop` (npm now requires such tokens to be granular with *bypass 2FA*, and they expire within 90 days); the workflow checks authentication and gives an explicit error before publishing. When the secret is empty, the job publishes through npm **trusted publishing**: it installs npm 11, removes the empty token line that `setup-node` writes, and lets npm exchange the job's OIDC identity (`id-token: write`) for a short-lived publish grant. That path only works once the package's *Trusted publisher* on npmjs.com names this repository (`fjpulidop/specrails-desktop`) and workflow file (`npm-publish.yml`, no environment); registry configuration is never changed from here. Provenance does **not** grant publishing permission in either mode. An npm `E404` during publication is npm's answer to an unauthorized publish and does not identify which token or permission failed; an `E403` mentioning two-factor authentication means the stored token lacks *bypass 2FA*. [npm publishing and provenance](https://docs.github.com/en/actions/tutorials/publish-packages/publish-nodejs-packages).
package/docs/cli.md CHANGED
@@ -4,7 +4,7 @@ The `specrails-desktop` CLI does three things:
4
4
 
5
5
  1. **Manages the app server** — start, stop, status.
6
6
  2. **Manages projects** — list, add, remove.
7
- 3. **Routes commands into the running server** — implement specs, run health checks, pass raw prompts to your AI CLI.
7
+ 3. **Routes commands into the running server** — implement specs, retry a failed run, pass raw prompts to your AI CLI.
8
8
 
9
9
  Everything here is grouped by what you're trying to do, not by alphabetical order of flags.
10
10
 
@@ -43,7 +43,7 @@ specrails-desktop --status # one-shot status, compact text output
43
43
  specrails-desktop --jobs # see the note below
44
44
  ```
45
45
 
46
- `--status` prints a compact status line that includes the app version. The bare `status` subcommand prints whether the app is running (with its PID and URL) plus the registered project count and names — but no version. Both are plain text, handy to read or grep, not JSON.
46
+ `--status` prints a compact status line that includes the app version and, from servers that report it, the HTTP API version (`api: v1`, from `apiVersion` in `/api/health`). Scripts can also read the `X-Specrails-Api-Version` response header or `GET /api/meta`; see the [versioning policy](internals/api-reference.md#versioning-and-deprecation-policy). The bare `status` subcommand prints whether the app is running (with its PID and URL) plus the registered project count and names — but no version. Both are plain text, handy to read or grep, not JSON.
47
47
 
48
48
  > **Note on `--jobs`:** there is no app-level `/api/jobs` route, so the server returns 404 and `--jobs` prints `jobs history requires manager with SQLite persistence (#57)` and exits non-zero against a running server. Job history lives **per project** — view it on the project's **Jobs** page (right sidebar) in the dashboard instead.
49
49
 
@@ -62,7 +62,7 @@ specrails-desktop add . # register the current directory
62
62
  specrails-desktop add /path/to/project # or an explicit path
63
63
  ```
64
64
 
65
- Registers the project with the app. The path can be **absolute or relative** (it's resolved against your current directory) and must exist. If the project doesn't have specrails-core installed, the next dashboard visit triggers the setup wizard.
65
+ Registers the project with the app. The path can be **absolute or relative** (it's resolved against your current directory) and must exist. The app then assembles the project's Specrails workspace in the background (outside your repository), exactly as when you add it from the dashboard; there is no setup wizard.
66
66
 
67
67
  ### Remove
68
68
 
@@ -70,7 +70,7 @@ Registers the project with the app. The path can be **absolute or relative** (it
70
70
  specrails-desktop remove <project-id>
71
71
  ```
72
72
 
73
- Unregisters the project (use the **ID** from `specrails-desktop list`). Does **not** delete the project directory or its specrails-core installation. To re-register, just `add` it again — job history under `~/.specrails/projects/<slug>/jobs.sqlite` is preserved.
73
+ Unregisters the project (use the **ID** from `specrails-desktop list`). Does **not** delete the project directory. To re-register, just `add` it again — job history under `~/.specrails/projects/<slug>/jobs.sqlite` is preserved.
74
74
 
75
75
  ## Run things in the active project
76
76
 
@@ -103,37 +103,16 @@ specrails-desktop implement "#40" "#41" "#43"
103
103
  `implement` accepts several specs and runs them in one aggregate job. The old
104
104
  `batch-implement` verb was removed; typing it still works and runs `implement`.
105
105
 
106
- ### Health check
107
-
108
- ```bash
109
- specrails-desktop health-check
110
- ```
111
-
112
- Runs `/specrails:health-check`: a comprehensive codebase health pass (tests, linting, coverage, complexity, dependency audit), comparing against previous runs to surface regressions.
113
-
114
- ### Compatibility check
115
-
116
- ```bash
117
- specrails-desktop compat-check
118
- ```
119
-
120
- Runs `/specrails:compat-check`: snapshots the current API surface and detects breaking changes against a prior baseline, generating a migration guide when breaking changes are found.
121
-
122
106
  ### Known verbs
123
107
 
124
- These are all shorthand for `/specrails:<verb>` — the app auto-prefixes:
108
+ These are shorthand for `/specrails:<verb>` — the app auto-prefixes them. They are the only commands Core 6 ships:
125
109
 
126
110
  | Verb | What it does |
127
111
  |------|--------------|
128
- | `implement` | Queue a rail job for one or more specs (one aggregate run) |
129
- | `why` | Explain why a chunk of code looks the way it does |
130
- | `propose-spec` | Explore an idea and produce a structured spec proposal |
131
- | `get-backlog-specs` | View the prioritised spec backlog |
132
- | `auto-propose-backlog-specs` | Auto-propose new spec ideas from the backlog |
133
- | `refactor-recommender` | Scan the codebase and recommend high-leverage refactors |
134
- | `health-check` | Run the codebase health check |
135
- | `compat-check` | Detect breaking API changes against a baseline |
136
- | `enrich` | Run the agent enrichment workflow |
112
+ | `implement` | Queue a job for one or more specs (one aggregate run) |
113
+ | `retry` | Resume a failed `implement` run from its last successful phase |
114
+
115
+ The removed `batch-implement` verb still maps to `implement`. Commands retired from Core (for example `why`, `health-check`, `compat-check`, `refactor-recommender`, `propose-spec`, `get-backlog-specs`, `auto-propose-backlog-specs`, `enrich`) are no longer verbs: typing one is passed through as a raw prompt.
137
116
 
138
117
  ### Pass a raw prompt
139
118
 
@@ -191,7 +170,7 @@ If you invoke a command that routes work (`implement`, a raw prompt, …) while
191
170
  [specrails-desktop] manager not running — invoking claude directly
192
171
  ```
193
172
 
194
- This fallback has two important limitations:
173
+ This fallback has one important limitation:
195
174
 
196
175
  - **Nothing is recorded.** There's no queue, no job in the Dashboard, and nothing written to Analytics.
197
176
 
package/docs/codex.md CHANGED
@@ -77,7 +77,7 @@ still takes precedence.
77
77
  | **Reasoning efforts** | `low`–`xhigh` | model-dependent | none | `low`/`high`/`max`, K3 only |
78
78
  | **Agent profiles** | ✅ | legacy | legacy | ✅ provider-scoped |
79
79
  | **Implement** | ✅ | ✅ | ✅ | ✅ |
80
- | **Freestyle** | ✅ | ❌ | ❌ | ✅ |
80
+ | **Freestyle** | ✅ (+ interactive chat) | ✅ non-interactive | ✅ non-interactive | ✅ non-interactive |
81
81
  | **Pure-output transforms** | capability-dependent | capability-dependent | capability-dependent | ❌ fail closed |
82
82
  | **Session resume** | `--resume` | `exec resume` | `--resume` | bound `--session=<id>` after resume hint |
83
83
  | **Native cost report** | exact | estimated | estimated | unavailable |
@@ -4,7 +4,7 @@ A **spec** in specrails-desktop is a description of work you want done — what
4
4
 
5
5
  ## Creating a spec
6
6
 
7
- Open the Dashboard and click **Add** (the Plus button on the SpecsBoard toolbar). The **Add Spec** dialog opens with three modes:
7
+ Open the Dashboard and click **New spec** (the Plus button on the SpecsBoard toolbar). The **Add Spec** dialog opens with three modes:
8
8
 
9
9
  - **Quick** — you describe what you want; the AI writes the full spec.
10
10
  - **Explore** — you converse with the AI and shape the spec turn by turn.
@@ -181,27 +181,30 @@ Every spec card shows a status indicator that stays consistent across view modes
181
181
 
182
182
  ## Filtering and sorting
183
183
 
184
- The SpecsBoard toolbar always shows these four controls plus the Add button:
184
+ The SpecsBoard toolbar has two rows that line up with the Rails toolbar across the splitter.
185
185
 
186
- - **Status filter** — a single-select dropdown with three values: **All**, **ToDo**, **Done**. Defaults to **All**, which shows everything (including drafts and done specs).
187
- - **Label dropdown** — multi-select across every label used in the project.
188
- - **Sort** — **Default**, **Ticket #**, or **Priority**, each with an ascending/descending toggle.
189
- - **View toggle** — switch between List view and Post-it view (see below).
186
+ **Row 1** (left to right):
190
187
 
191
- Two more filters appear **only once your board has the data for them**, so don't be surprised if you see five or six controls. Both are surfaced only on **Jira-linked** projects:
188
+ - **Search** — narrows the board by title, `#number` (or a bare number), label or Jira key, as you type. Press `/` anywhere on the board to jump to it; `Esc` clears it, a second `Esc` leaves the field. Search is not saved: it resets when you switch projects.
189
+ - **Filters** — one button for every filter beyond status. A badge shows how many values are active. It opens a panel with a section per dimension, each with its own **Clear**:
190
+ - **Labels** — multi-select across every label in the project (a "Find a label" box appears once there are more than eight).
191
+ - **Epic**, **Sprint** and **Jira status** — shown only on **Jira-linked** projects that carry that data. Jira status lists the board's real workflow statuses (e.g. "Code Review") grouped under the state they map to.
192
+ - **Sort and view** — **Default**, **Ticket #**, **Priority** (plus **Jira key** on Jira-linked projects), the ascending/descending toggle, and the List / Post-it switch. On a narrow column they fold into one menu.
193
+ - **New spec** — the primary action (also `⌘↵`).
192
194
 
193
- - **Epic filter** — appears once at least one spec carries a Jira epic, letting you narrow the board to one epic's children.
194
- - **Sprint filter** — appears when specs carry Jira sprint data.
195
+ **Row 2** is the **status selector**: **Active** (default: draft, todo, in progress, on review), **All**, then one segment per status, each with a live count. On a narrow column the less-used statuses fold into **More**; the status you picked always stays visible.
195
196
 
196
- On a **Jira-linked** project the Sort dropdown also gains a fourth mode, **Jira key**, so you can order the board by Jira ticket number.
197
+ **Row 3** appears only while a search or filter narrows the board: one removable chip per active value, "x of y" specs, and **Clear all**, which clears search and filters but keeps your status pick.
197
198
 
198
- Priority itself is set per spec from the right-click menu (below), not from a toolbar filter — there is no priority filter and no search box on the board.
199
+ Filters and the status pick are remembered per project; status and Jira status are also mirrored to the URL.
200
+
201
+ Priority itself is set per spec from the right-click menu (below), not from a toolbar filter — there is no priority filter.
199
202
 
200
203
  ## Right-click context menu
201
204
 
202
205
  Right-click any spec card (in any view mode):
203
206
 
204
- - **Delete ticket** — with confirmation.
207
+ - **Delete ticket** — applies at once and offers **Undo** (also **⌘Z** / **Ctrl+Z**) for about eight seconds. The spec moves to **Settings → Recently deleted** for 30 days, where it can be restored or deleted permanently.
205
208
  - **Change status → Todo / Done**
206
209
  - **Set priority → Critical / High / Medium / Low**
207
210
 
@@ -4,7 +4,7 @@ Every setting you can change, grouped by where you'll find it.
4
4
 
5
5
  ## Themes
6
6
 
7
- Open **Desktop Settings** (gear icon at the bottom of the Arc sidebar) → **Appearance**.
7
+ Open **App settings** (gear icon at the bottom of the left sidebar) → **Appearance**.
8
8
 
9
9
  Five built-in themes:
10
10
 
@@ -33,16 +33,19 @@ The active theme persists to `desktop_settings.ui_theme` on the server and mirro
33
33
 
34
34
  Both sidebars cycle through the same three states with their pin icon:
35
35
 
36
- - **Pinned-open** — always wide.
37
- - **Pinned-collapsed** — always a narrow strip of icons.
38
- - **Unpinned** *(default)* — collapsed strip that expands on hover.
36
+ - **Pinned-open** — always wide; the content makes room for it. The **left** sidebar starts here.
37
+ - **Pinned-collapsed** — always a narrow strip of icons. On the left strip each project shows a two-letter tile (for example **SD** for *specrails-desktop*), with a badge when one of its missions needs you.
38
+ - **Unpinned** — a narrow strip that opens when you rest the pointer on it (or move keyboard focus into it) and closes shortly after you leave. It opens *over* the content, so nothing underneath jumps. The **right** sidebar starts here.
39
39
 
40
- Keyboard shortcuts:
40
+ In a window 1100px wide or narrower, a pinned-open sidebar behaves as unpinned so the content keeps its room; widen the window and it docks again. Drag a sidebar's inner edge to resize it (or focus the edge and use the arrow keys; **Home** resets).
41
+
42
+ Keyboard shortcuts (the VS Code / Cursor convention):
41
43
 
42
44
  | Shortcut | Action |
43
45
  |----------|--------|
44
- | `Cmd+B` / `Ctrl+B` | Cycle the **right** project sidebar (Chat) |
45
- | `⌥⌘B` / `Ctrl+Alt+B` | Cycle the **left** Arc sidebar |
46
+ | `Cmd+B` / `Ctrl+B` | Cycle the **left** sidebar (projects and missions) |
47
+ | `⌥⌘B` / `Ctrl+Alt+B` | Cycle the **right** sidebar (project sections, or **On workspace** in Mission mode) |
48
+ | `⌘[` `⌘]` / `Ctrl+[` `Ctrl+]` or `Alt+←` `Alt+→` | **Back / Forward** through the places you have visited (also the title-bar **← →** buttons and the mouse back/forward buttons; ignored while typing) |
46
49
 
47
50
  State is per-machine (local UI preference, not synced).
48
51
 
@@ -67,7 +70,7 @@ A custom instruction appended to every **Implement** rail job, after the ticket
67
70
 
68
71
  ### Freestyle pre-prompt
69
72
 
70
- The instruction sent to the selected provider for **Freestyle** rails. Freestyle skips the OpenSpec pipeline — it hands that provider this pre-prompt plus the spec text and lets it implement autonomously. Claude currently advertise Freestyle support. The spec text is appended automatically after the pre-prompt. Leave it blank to use the built-in default.
73
+ The instruction sent to the selected provider for **Freestyle** rails. Freestyle skips the OpenSpec pipeline — it hands that provider this pre-prompt plus the spec text and lets it implement autonomously. Claude, Codex, Gemini, Kimi and local engines support Freestyle; only Claude adds the interactive in-job chat. The spec text is appended automatically after the pre-prompt. Leave it blank to use the built-in default.
71
74
 
72
75
  ### Telemetry
73
76
 
@@ -75,13 +78,13 @@ Opt-in OpenTelemetry capture for rail runs.
75
78
 
76
79
  | Setting | Behaviour |
77
80
  |---------|-----------|
78
- | **Enable pipeline telemetry** | Default OFF. When ON, every rail spawn gets OTLP env vars injected. Each rail's traces/metrics/logs are captured to a `.ndjson.gz` blob. |
81
+ | **Enable pipeline telemetry** | Default ON (a project without a saved choice records telemetry). When ON, every queued pipeline job spawn gets OTLP env vars injected (see Scope below). Each rail's traces/metrics/logs are captured to a `.ndjson.gz` blob. |
79
82
 
80
83
  When telemetry is on, the **Diagnostic ZIP** button appears on every job's detail page. The ZIP contains `job-metadata.json`, `telemetry.ndjson`, `logs.txt`, `summary.md`, and per-job snapshots of the agent profile and active plugins.
81
84
 
82
85
  Retention: raw blobs > 7 days old are compacted at startup (file deleted, aggregates kept).
83
86
 
84
- Scope: rails only. The sidebar chat, Explore, AI Edit, and the setup wizard are not instrumented (telemetry env injection happens only in the queue manager).
87
+ Scope: jobs that run through the project's job queue (CLI pipeline runs: rails when Loops are disabled, and `implement` commands from the CLI). Telemetry env injection happens only in the queue manager, so loop runs (the default rail path), the sidebar chat, Explore, AI Edit and missions are not instrumented.
85
88
 
86
89
  ### Terminal panel
87
90
 
@@ -104,7 +107,7 @@ See [terminal.md](terminal.md) for the full reference of keyboard shortcuts and
104
107
 
105
108
  ## App-wide settings
106
109
 
107
- Open **Desktop Settings** from the Arc sidebar. These apply across every project.
110
+ Open **App settings** from the bottom of the left sidebar. These apply across every project.
108
111
 
109
112
  | Section | What it does |
110
113
  |---------|--------------|
@@ -136,7 +139,7 @@ Most settings live in the UI. A few app-level switches are env-only because they
136
139
 
137
140
  | Variable | Effect |
138
141
  |----------|--------|
139
- | `SPECRAILS_CORE_BIN` | Override the `specrails-core` binary (default: `npx --yes --prefer-online specrails-core@^5.1.0` — the 5.1.0 floor is the release that quotes the command path in its Windows shell runner, so OpenSpec init works from an install directory with spaces; it is also the version bundled with the app) |
142
+ | `SPECRAILS_CORE_BIN` | Override the `specrails-core` binary (default: the Core bundled with the desktop app; without a bundle, `npx --yes --prefer-online specrails-core@^6.0.0`, the `CORE_PACKAGE_SPEC` range in `server/core-package.ts`) |
140
143
  | `SPECRAILS_TECH_URL` | Override the specrails-tech proxy base URL |
141
144
  | `SPECRAILS_LOGIN_SHELL_TIMEOUT_MS` | Budget in milliseconds for reading configured project environment names from your login shell (default `10000`, max `120000`). Raise it when the Environment card shows **Shell timed out**. See the [project environment guide](guide/en/settings/5-project-environment.md) |
142
145
  | `SPECRAILS_AGENTS_SECTION=false` | Hide the Agents section from every project |
@@ -161,7 +164,7 @@ These feature flags are **default ON**. Set the flag to `false` to hide the feat
161
164
  | `VITE_FEATURE_TERMINAL_PANEL=false` | Hide the bottom terminal panel |
162
165
  | `VITE_FEATURE_AGENTS_SECTION=false` | Hide the Agents section |
163
166
  | `VITE_FEATURE_CODE_EXPLORER=false` | Hide the Code section |
164
- | `VITE_FEATURE_JIRA=false` | Hide the Jira integration UI (settings section + spec badges) |
167
+ | `VITE_FEATURE_JIRA=false` | Hide the Jira integration UI (Plugins entry + spec badges) |
165
168
  | `VITE_FEATURE_INTERACTIVE_JOBS=false` | Hide the in-job chat UI (the composer on Job Detail / the job modal, plus its Finalize / Wrap-up actions) |
166
169
  | `VITE_FEATURE_EXPLORE_REVIEW=false` | Disable the Review step in the Explore shell |
167
170
  | `VITE_FEATURE_EXPLORE_PREMIUM_UX=false` | Disable the "Conectando…/Pensando…/Consultando código…" pills above the Explore streaming bubble |
@@ -1,6 +1,6 @@
1
1
  # Getting started
2
2
 
3
- This guide walks you from "I just heard about specrails-desktop" to "I just shipped my first AI-driven change" in about ten minutes. No prior knowledge of specrails-core required — the app installs it for you.
3
+ This guide walks you from "I just heard about specrails-desktop" to "I just shipped my first AI-driven change" in about ten minutes. No prior knowledge of specrails-core required — the app sets it up for you.
4
4
 
5
5
  ## What you'll need
6
6
 
@@ -8,7 +8,7 @@ This guide walks you from "I just heard about specrails-desktop" to "I just ship
8
8
 
9
9
  If you install with **npm** (Option 2 below) you'll also need **Node.js 20+** and **`git`** on your PATH. The **desktop app** bundles its own Node and Git runtimes, so you don't need those installed separately.
10
10
 
11
- That's it. specrails-desktop will install specrails-core in your project on first run if it isn't there yet.
11
+ That's it. specrails-desktop sets up specrails-core for each project automatically, outside your repository.
12
12
 
13
13
  ## Install
14
14
 
@@ -38,7 +38,7 @@ By default the app binds to `http://127.0.0.1:4200`. Open it in your browser.
38
38
 
39
39
  There are two ways. Pick whichever feels natural.
40
40
 
41
- **From the dashboard:**
41
+ **From the dashboard:** click **+ Add project** in the sidebar. Choose **Existing project** and pick the repository folder (the display name defaults to the folder name), or choose **New project** to describe an idea and let the Project Builder bootstrap a repository with a Milestone-1 backlog (see [Project builder](internals/project-builder.md)).
42
42
 
43
43
  **From the CLI:**
44
44
 
@@ -47,15 +47,16 @@ specrails-desktop add /path/to/your/project
47
47
  specrails-desktop list # verify
48
48
  ```
49
49
 
50
- ### If the project doesn't have specrails-core yet
50
+ ### What happens after you add it
51
51
 
52
- The setup wizard runs automatically. Three steps:
52
+ There is no setup wizard. The project registers immediately and Specrails assembles its workspace in the background:
53
53
 
54
- 1. **Configure** — pick a model preset (Balanced / Budget / Max) and optionally override the model per agent. There are no role files to choose or install: the three pipeline roles (`sr-architect`, `sr-developer`, `sr-reviewer`) are defined by the Core engine's runtime, and their definitions, provider and model live in **Settings → Agent runtime**.
55
- 2. **Install** — the app runs the installer (`npx --yes --prefer-online specrails-core@^5.1.0 init --yes --from-config <config>`) non-interactively and streams the output live. The version is pinned to the core release the app ships with — it never silently jumps to a new major.
56
- 3. **Done** — a summary tells you how many commands landed; its **Agents** tile counts only the project's custom roles (`custom-*`), because the baseline roles are not installed as files. Click **Continue to project**.
54
+ - **AI CLIs are auto-detected.** The app uses every supported CLI it finds on your machine (Claude, Codex). If none is detected, the Add Project dialog shows a warning, but registration is never blocked; the project picks up a provider as soon as one is detected.
55
+ - **The workspace lives outside your repository.** For each detected provider the app runs specrails-core `init` (from the bundled Core in the desktop app, or `npx specrails-core@^6.0.0` when no bundle is present) into `~/.specrails/projects/<slug>/workspace`. Your repository stays pristine: the framework files are not scaffolded into it.
56
+ - **Progress shows on the project's sidebar entry.** A small indicator ("Setting up workspace…") appears while assembly runs. If a provider fails, the entry shows "Workspace setup failed — click to retry"; the retry only re-runs the providers that failed.
57
+ - **Roles and models are configured in the app, not installed as files.** The pipeline roles (`sr-architect`, `sr-developer`, `sr-reviewer`) are defined by the Core engine's runtime; their provider and model live in **Settings → Agent runtime**. Per-agent overrides live in agent profiles on the **Agents** page.
57
58
 
58
- That's the whole onboarding. No tier picker, no second wizard. You can manage agents and their per-agent models later from the **Agents** page (Profiles tab).
59
+ The Core version is pinned to the major the app ships with (Core 6); it never silently jumps to a new major. Newer Core releases within that major are offered through the voluntary update channel (see [Core runtime updates](internals/core-runtime-updates.md)).
59
60
 
60
61
  ## Your first spec
61
62
 
@@ -119,9 +120,9 @@ lsof -i :4200 # macOS / Linux
119
120
 
120
121
  On macOS, this usually means the app was launched from Finder/Dock and didn't pick up Homebrew/Volta paths. The app resolves PATH at startup automatically, but if it still fails, see [platforms/macos.md](platforms/macos.md).
121
122
 
122
- **The setup wizard fails on `npx specrails-core init`**
123
+ **The sidebar shows "Workspace setup failed"**
123
124
 
124
- Most likely Node is missing from the shell environment that launched the app, or whichever AI CLI your project uses isn't authenticated:
125
+ Click the entry to retry. If it keeps failing, the usual causes are a missing Node runtime in the environment that launched the app (npm installs only; the desktop app bundles Node) or an AI CLI that isn't authenticated:
125
126
 
126
127
  - **Claude** — sign in to the `claude` CLI or set `ANTHROPIC_API_KEY`.
127
128
  - **Codex** — sign in to the `codex` CLI.
@@ -1,4 +1,4 @@
1
- # Die Agents im Überblick
1
+ # Die Agents im Überblick {#agents}
2
2
 
3
3
  Wenn du eine **Implement**-Rail startest, übergibt Specrails deine Spec nicht einfach einer einzigen KI und hofft auf das Beste. Stattdessen arbeitet ein kleines Team spezialisierter *Agents*, jeder mit einer einzigen Aufgabe und in einer bewusst gewählten Reihenfolge. Diese Seite stellt dir vor, wer zu diesem Team gehört und was jeder Einzelne tut.
4
4
 
@@ -39,3 +39,5 @@ Du siehst:
39
39
  Das ist das gesamte Onboarding – kein Konto anzulegen, keine Registrierung. specrails läuft komplett auf deinem Rechner.
40
40
 
41
41
  Klicke auf **Dein erstes Projekt hinzufügen** und weiter geht's mit [Dein erstes Projekt hinzufügen](adding-your-first-project).
42
+
43
+ Oder starte mit dem [Beispielprojekt](try-the-sample-project): einem kleinen Spiel und drei fertigen Specs, mit den Kosten vorab.
@@ -0,0 +1,35 @@
1
+ # Das Beispielprojekt ausprobieren
2
+
3
+ Du willst sehen, wie aus einer Spec eine geprüfte Änderung wird, bevor du specrails auf deinen eigenen Code richtest? Das **Beispielprojekt** ist ein kleines Tic-Tac-Toe-Webspiel mit drei fertigen Specs. Es dauert ein paar Minuten und endet bei einem echten **Review-Paket**.
4
+
5
+ ## Starten
6
+
7
+ Klicke auf dem Startbildschirm auf **Am Beispielprojekt ausprobieren** (neben **Erstes Projekt hinzufügen**). Der Dialog sagt dir, bevor etwas passiert:
8
+
9
+ - **Was angelegt wird**: ein kleines Webspiel in einem eigenen Git-Repository, mit drei Specs, die schon auf deinem Board liegen.
10
+ - **Wo**: standardmäßig `~/Specrails Samples/tic-tac-toe` in deinem Home-Ordner. Du kannst den Ordner ändern; ein vorhandener Ordner wird nie überschrieben.
11
+ - **Was ein Lauf kosten würde**: eine Schätzung wie „≈ 0,30–1 $ · etwa 3–5 Min.“. Dollar werden nur gezeigt, wenn dein Anbieter nutzungsabhängig abrechnet. Bei einem Abo steht dort, dass keine Zusatzkosten entstehen, und bei einer lokalen Engine fallen keine API-Kosten an.
12
+
13
+ Das Anlegen des Beispiels kostet nichts und führt nichts aus. Klicke auf **Beispielprojekt anlegen**, und du landest auf dem Board.
14
+
15
+ ## Die drei Schritte
16
+
17
+ Eine kleine Anleitungskarte zeigt Schritt für Schritt auf das echte Board. Du kannst sie jederzeit schließen; sie schrumpft zu einer Pille **Beispielprojekt**, über die **Anleitung anzeigen** sie zurückholt.
18
+
19
+ 1. **Die Spec.** Die drei Specs sind für dich geschrieben. Jede sagt, was zu bauen ist und woran man erkennt, dass sie fertig ist.
20
+ 2. **Die Rail.** Klicke auf **Erste Spec ausführen**. Das Beispiel ist günstig und begrenzt eingestellt: Schnellmodus, das günstigste verfügbare Modell und ein weiches Limit pro Lauf (der Lauf pausiert und fragt nach, bevor er 1 $ überschreitet). Hast du eine lokale Engine eingerichtet, kannst du sie stattdessen wählen – ohne API-Kosten.
21
+ 3. **Das Review.** Nichts wird von allein gemergt. Wenn der Lauf endet, zeigt ein **Review-Paket**, was sich geändert hat, und lässt dich es annehmen oder verwerfen.
22
+
23
+ ## Kein KI-Anbieter bereit?
24
+
25
+ Bevor der Lauf angeboten wird, prüft specrails, ob ein Anbieter installiert und angemeldet ist. Ist keiner bereit, bekommst du stattdessen **Aufgezeichneten Lauf ansehen**: die Wiedergabe eines fertigen Laufs, die bei einem Review-Paket endet. Sie ist deutlich als Aufzeichnung gekennzeichnet; nichts läuft und nichts wird berechnet. Installiere einen Anbieter oder melde dich an und wähle **Erneut prüfen**, um zu einem echten Lauf zu wechseln.
26
+
27
+ ## Danach: dein eigenes Projekt
28
+
29
+ Die Anleitung endet mit **Jetzt eigenes Projekt hinzufügen**. Wenn du mit dem Beispiel fertig bist, entfernt **Beispiel entfernen** es mit einem Klick. Der Ordner bleibt auf der Festplatte, außer du hakst **Beispielordner auch löschen** an – das lässt sich nicht rückgängig machen.
30
+
31
+ ## Die Plattform-Tour wiederholen
32
+
33
+ Die Tour ist nicht mehr auf dem Startbildschirm. Öffne **Docs** und wähle **Tour wiederholen**, oder öffne die Befehlspalette und tippe „Tour wiederholen“. Sie steht auch unter **Einstellungen ▸ Darstellung**.
34
+
35
+ Weiter: [Erstes Projekt hinzufügen](adding-your-first-project).