specrails-desktop 2.64.2 → 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 (1116) 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/project-env.js +60 -0
  813. package/server/dist/project-git.js +65 -0
  814. package/server/dist/project-registry.js +264 -27
  815. package/server/dist/project-router-background-processes.js +27 -3
  816. package/server/dist/project-router-git.js +30 -0
  817. package/server/dist/project-router-helpers.js +5 -30
  818. package/server/dist/project-router-jobs.js +49 -1
  819. package/server/dist/project-router-loop-runs.js +72 -2
  820. package/server/dist/project-router-rules.js +54 -0
  821. package/server/dist/project-router-search.js +52 -0
  822. package/server/dist/project-router-settings.js +6 -0
  823. package/server/dist/project-router-setup.js +1 -1
  824. package/server/dist/project-router-spending.js +138 -0
  825. package/server/dist/project-router-tickets.js +246 -427
  826. package/server/dist/project-router.js +7 -0
  827. package/server/dist/providers/claude-adapter.js +25 -3
  828. package/server/dist/providers/codex-adapter.js +9 -1
  829. package/server/dist/providers/gemini-adapter.js +6 -1
  830. package/server/dist/providers/kimi-adapter.js +2 -0
  831. package/server/dist/providers/local-adapter.js +2 -0
  832. package/server/dist/providers/runtime.js +8 -0
  833. package/server/dist/schemas/agent-runtime.schema.json +3 -1
  834. package/server/dist/schemas/workflow-definition.schema.json +1 -0
  835. package/server/dist/setup-manager.js +19 -1
  836. package/server/dist/transient-children.js +25 -8
  837. package/server/dist/update-channel.js +21 -0
  838. package/server/dist/util/search-snippet.js +74 -0
  839. package/server/dist/worktree-manager.js +19 -8
  840. package/client/dist/assets/ActivityFeedPage-Dtp7EyHc.js +0 -1
  841. package/client/dist/assets/AgentBrowserCapture-CLqlEFw8.js +0 -1
  842. package/client/dist/assets/AgentModeAnalyticsPane-B8_hM3Tw.js +0 -2
  843. package/client/dist/assets/AgentModeCodePane-CNF8ZNjE.js +0 -2
  844. package/client/dist/assets/AgentModeJobsPane-CJpJbO9m.js +0 -1
  845. package/client/dist/assets/AgentsPage-BC8XSR79.js +0 -120
  846. package/client/dist/assets/AnalyticsPage-Cdv4jLtW.js +0 -1
  847. package/client/dist/assets/BarChart-BDMqVFJy.js +0 -55
  848. package/client/dist/assets/CodePage-DI1kegAr.js +0 -3
  849. package/client/dist/assets/DesktopAnalyticsPage-Bdp8E8U6.js +0 -1
  850. package/client/dist/assets/DocsDialog-Bm4RS7FX.js +0 -11
  851. package/client/dist/assets/DocsPage-DihYcU8r.js +0 -11
  852. package/client/dist/assets/ExportDropdown-Bb1lHx3r.js +0 -1
  853. package/client/dist/assets/IntegrationsPage-EAipiDWm.js +0 -1
  854. package/client/dist/assets/InteractiveJobComposer-BO6ASN-2.js +0 -19
  855. package/client/dist/assets/JobDetailModal-CuPYq7tP.js +0 -1
  856. package/client/dist/assets/JobDetailPage-BusMjJi9.js +0 -1
  857. package/client/dist/assets/JobsPage-C0QbsF2d.js +0 -1
  858. package/client/dist/assets/LoopBuilderPage-B7TlU4iS.js +0 -1
  859. package/client/dist/assets/LoopPreviewModal-BRWtXOD2.js +0 -1
  860. package/client/dist/assets/LoopsPage-C4q1DmCE.js +0 -2
  861. package/client/dist/assets/MinimizedChatsContext-DHfigjHS.js +0 -1
  862. package/client/dist/assets/PluginsPage-Z1JHSMdR.js +0 -2
  863. package/client/dist/assets/ProjectSettingsDialog-BUNj0tvN.js +0 -1
  864. package/client/dist/assets/RepositoryDeliveries-B4ybHOyB.js +0 -5
  865. package/client/dist/assets/ReviewPacketPage-hwfPNjyy.js +0 -4
  866. package/client/dist/assets/TemplatePreviewModal-V7FpMWuw.js +0 -1
  867. package/client/dist/assets/TicketDetailModalContext-Dkwo2cDs.js +0 -16
  868. package/client/dist/assets/Trans-BbFxRFtR.js +0 -1
  869. package/client/dist/assets/activity-B-rp4h_v.js +0 -1
  870. package/client/dist/assets/activity-C6kJpm9q.js +0 -1
  871. package/client/dist/assets/activity-CGx4kb_j.js +0 -1
  872. package/client/dist/assets/activity-CnoX2bH7.js +0 -1
  873. package/client/dist/assets/activity-DAyekdlt.js +0 -1
  874. package/client/dist/assets/activity-DCxtpT7j.js +0 -1
  875. package/client/dist/assets/activity-DiyjsgQV.js +0 -1
  876. package/client/dist/assets/activity-JzwRaWPD.js +0 -1
  877. package/client/dist/assets/addspec-BOvgmcgk.js +0 -1
  878. package/client/dist/assets/addspec-Clmyfn_R.js +0 -1
  879. package/client/dist/assets/addspec-CsNaBpHp.js +0 -1
  880. package/client/dist/assets/addspec-D2tvWmmV.js +0 -1
  881. package/client/dist/assets/addspec-D3nFwvD0.js +0 -1
  882. package/client/dist/assets/addspec-DVLEhK3w.js +0 -1
  883. package/client/dist/assets/addspec-DXbK-tb0.js +0 -1
  884. package/client/dist/assets/addspec-OHG8DFEn.js +0 -1
  885. package/client/dist/assets/agent-5bSixVzz.js +0 -1
  886. package/client/dist/assets/agent-BR4EHfhq.js +0 -1
  887. package/client/dist/assets/agent-C0IKkJP8.js +0 -1
  888. package/client/dist/assets/agent-C7li9ayC.js +0 -1
  889. package/client/dist/assets/agent-D0dRmEen.js +0 -1
  890. package/client/dist/assets/agent-DZVGHm7H.js +0 -1
  891. package/client/dist/assets/agent-Dip4h2YE.js +0 -1
  892. package/client/dist/assets/agent-Pp-P-n1p.js +0 -1
  893. package/client/dist/assets/agentRuntime-BxF81z52.js +0 -1
  894. package/client/dist/assets/agentRuntime-BxYS5V7u.js +0 -1
  895. package/client/dist/assets/agentRuntime-Dc9HG3BA.js +0 -1
  896. package/client/dist/assets/agents-B6ZsnARo.js +0 -1
  897. package/client/dist/assets/agents-BORdhe0K.js +0 -1
  898. package/client/dist/assets/agents-C6aq9Oqs.js +0 -1
  899. package/client/dist/assets/agents-Cbsc4bcX.js +0 -1
  900. package/client/dist/assets/agents-D0uYR6hq.js +0 -1
  901. package/client/dist/assets/agents-Doe1sHY5.js +0 -1
  902. package/client/dist/assets/agents-DyNi_I9m.js +0 -1
  903. package/client/dist/assets/agents-StKxiTg0.js +0 -1
  904. package/client/dist/assets/agentstudio-7cYCXn-L.js +0 -1
  905. package/client/dist/assets/agentstudio-BHWQh8G3.js +0 -1
  906. package/client/dist/assets/agentstudio-BjnWHyRs.js +0 -1
  907. package/client/dist/assets/agentstudio-BkV8vcK4.js +0 -1
  908. package/client/dist/assets/agentstudio-BzugqB_N.js +0 -1
  909. package/client/dist/assets/agentstudio-CWbp7KvH.js +0 -1
  910. package/client/dist/assets/agentstudio-DG6plf5o.js +0 -1
  911. package/client/dist/assets/agentstudio-DkZVF-Cc.js +0 -1
  912. package/client/dist/assets/analytics-B1DIQd4m.js +0 -1
  913. package/client/dist/assets/analytics-BAIZ9vE_.js +0 -1
  914. package/client/dist/assets/analytics-BTqgmgBd.js +0 -1
  915. package/client/dist/assets/analytics-BWynXPEm.js +0 -1
  916. package/client/dist/assets/analytics-DGcUsQ44.js +0 -1
  917. package/client/dist/assets/analytics-GnSnpJ4W.js +0 -1
  918. package/client/dist/assets/analytics-TWgYaoO0.js +0 -1
  919. package/client/dist/assets/analytics-kJy6Tuko.js +0 -1
  920. package/client/dist/assets/atom-one-dark-qiGhVQxg.js +0 -1
  921. package/client/dist/assets/builder-B9gorTnT.js +0 -1
  922. package/client/dist/assets/builder-Bvw5s3Mi.js +0 -1
  923. package/client/dist/assets/builder-CL5l4dU3.js +0 -1
  924. package/client/dist/assets/builder-CVDTVrQX.js +0 -1
  925. package/client/dist/assets/builder-CpS9liE9.js +0 -1
  926. package/client/dist/assets/builder-DNctIL9Q.js +0 -1
  927. package/client/dist/assets/builder-De2NxX6o.js +0 -1
  928. package/client/dist/assets/builder-DeYT7Y-m.js +0 -1
  929. package/client/dist/assets/button-4FS1ZDTp.js +0 -1
  930. package/client/dist/assets/chat-D_I7nU5K.js +0 -1
  931. package/client/dist/assets/chevron-up-6EFqEHBj.js +0 -1
  932. package/client/dist/assets/chunk-OB3PAWPO-B1EMk45A.js +0 -3
  933. package/client/dist/assets/clsx-CjueKrWZ.js +0 -1
  934. package/client/dist/assets/code-B37GRg9C.js +0 -1
  935. package/client/dist/assets/code-BBOEZbf9.js +0 -1
  936. package/client/dist/assets/code-BRm-jcyx.js +0 -1
  937. package/client/dist/assets/code-CF7w62CR.js +0 -1
  938. package/client/dist/assets/code-CLuvJt2r.js +0 -1
  939. package/client/dist/assets/code-D0RCm59f.js +0 -1
  940. package/client/dist/assets/code-DaZ-ZwCT.js +0 -1
  941. package/client/dist/assets/code-iIHkGaCL.js +0 -1
  942. package/client/dist/assets/commands-0XjAftla.js +0 -1
  943. package/client/dist/assets/commands-BAWSYHjQ.js +0 -1
  944. package/client/dist/assets/commands-BBwowgiE.js +0 -1
  945. package/client/dist/assets/commands-BacjIZLN.js +0 -1
  946. package/client/dist/assets/commands-Bs62IAZ3.js +0 -1
  947. package/client/dist/assets/commands-CLPdh-Hh.js +0 -1
  948. package/client/dist/assets/commands-DlbFzgrp.js +0 -1
  949. package/client/dist/assets/commands-LjPSsi5F.js +0 -1
  950. package/client/dist/assets/common-Bdi0qN4S.js +0 -1
  951. package/client/dist/assets/common-Bhb9zN1P.js +0 -1
  952. package/client/dist/assets/common-BykKlZg1.js +0 -1
  953. package/client/dist/assets/common-CvnNNSJA.js +0 -1
  954. package/client/dist/assets/common-D5zk_mqq.js +0 -1
  955. package/client/dist/assets/common-DQNO_al5.js +0 -1
  956. package/client/dist/assets/common-Dax30Vmp.js +0 -1
  957. package/client/dist/assets/common-DkllpVSb.js +0 -1
  958. package/client/dist/assets/core-B3mKBIh5.js +0 -1
  959. package/client/dist/assets/dashboard-B1ndRHuC.js +0 -1
  960. package/client/dist/assets/dashboard-BX7KXiqA.js +0 -1
  961. package/client/dist/assets/dashboard-B_BSNxcN.js +0 -1
  962. package/client/dist/assets/dashboard-CCeFN7-V.js +0 -1
  963. package/client/dist/assets/dashboard-CRl0WtFJ.js +0 -1
  964. package/client/dist/assets/dashboard-XGdQ5mjw.js +0 -1
  965. package/client/dist/assets/dashboard-_oltA6Jd.js +0 -1
  966. package/client/dist/assets/dashboard-bAuf5KVk.js +0 -1
  967. package/client/dist/assets/dialog-DtdR05v1.js +0 -45
  968. package/client/dist/assets/dist-js-CJ_2XX1Y.js +0 -1
  969. package/client/dist/assets/event-Bt7f3wXe.js +0 -1
  970. package/client/dist/assets/explore-BG99VGpL.js +0 -1
  971. package/client/dist/assets/explore-C0TjprJW.js +0 -1
  972. package/client/dist/assets/explore-C2dgEo7q.js +0 -1
  973. package/client/dist/assets/explore-C8NDHbob.js +0 -1
  974. package/client/dist/assets/explore-CWWgzQGR.js +0 -1
  975. package/client/dist/assets/explore-CcQXpdtS.js +0 -1
  976. package/client/dist/assets/explore-DgBACn39.js +0 -1
  977. package/client/dist/assets/explore-DsXAgnmJ.js +0 -1
  978. package/client/dist/assets/file-text-C0blZHLh.js +0 -1
  979. package/client/dist/assets/formatDistanceToNow-NjPHBLfB.js +0 -1
  980. package/client/dist/assets/getTimezoneOffsetInMilliseconds-vJ7qUoqN.js +0 -1
  981. package/client/dist/assets/git-branch-yf6LE1Bw.js +0 -1
  982. package/client/dist/assets/index-BgbCbIua.css +0 -2
  983. package/client/dist/assets/index-Ce4yZtKf.js +0 -83
  984. package/client/dist/assets/integrations-BkpRUbvp.js +0 -1
  985. package/client/dist/assets/integrations-Bo8qbJf4.js +0 -1
  986. package/client/dist/assets/integrations-CmSrKzZb.js +0 -1
  987. package/client/dist/assets/integrations-DGtq26Rr.js +0 -1
  988. package/client/dist/assets/integrations-De38GFnQ.js +0 -1
  989. package/client/dist/assets/integrations-Dw6zdtb-.js +0 -1
  990. package/client/dist/assets/integrations-Dwl9KQp0.js +0 -1
  991. package/client/dist/assets/integrations-Refg_d2I.js +0 -1
  992. package/client/dist/assets/jira-B6OYw4CJ.js +0 -1
  993. package/client/dist/assets/jira-BTF6RaOe.js +0 -1
  994. package/client/dist/assets/jira-CEetIB2q.js +0 -1
  995. package/client/dist/assets/jira-CIzsZLw5.js +0 -1
  996. package/client/dist/assets/jira-Daw9tmpI.js +0 -1
  997. package/client/dist/assets/jira-FXr7u2lh.js +0 -1
  998. package/client/dist/assets/jira-LaNQn7yl.js +0 -1
  999. package/client/dist/assets/jira-api-Cabj-H0J.js +0 -1
  1000. package/client/dist/assets/job-time-BCL7wee9.js +0 -1
  1001. package/client/dist/assets/jobs-ARwD85B9.js +0 -1
  1002. package/client/dist/assets/jobs-BMF1w4WT.js +0 -1
  1003. package/client/dist/assets/jobs-CBfzGLwm.js +0 -1
  1004. package/client/dist/assets/jobs-CPjiluBY.js +0 -1
  1005. package/client/dist/assets/jobs-CQQd58pY.js +0 -1
  1006. package/client/dist/assets/jobs-De3EqaO0.js +0 -1
  1007. package/client/dist/assets/jobs-Du9-Ei9a.js +0 -1
  1008. package/client/dist/assets/jobs-qMHbnxwC.js +0 -1
  1009. package/client/dist/assets/layers-BCLTgHXO.js +0 -1
  1010. package/client/dist/assets/loader-circle-BqV9xYGf.js +0 -1
  1011. package/client/dist/assets/loop-layout-CyXj9223.js +0 -7
  1012. package/client/dist/assets/loops-B2PhQLKR.js +0 -1
  1013. package/client/dist/assets/loops-BqbF46st.js +0 -1
  1014. package/client/dist/assets/loops-CINnHbfI.js +0 -1
  1015. package/client/dist/assets/loops-D-3XhH04.js +0 -1
  1016. package/client/dist/assets/loops-DKkEEjZ_.js +0 -1
  1017. package/client/dist/assets/loops-DzWR5-v6.js +0 -1
  1018. package/client/dist/assets/loops-WyWDkhok.js +0 -1
  1019. package/client/dist/assets/loops-scD5fIBf.js +0 -1
  1020. package/client/dist/assets/mcp-6rMoZfEO.js +0 -1
  1021. package/client/dist/assets/mcp-BD8sL5mP.js +0 -1
  1022. package/client/dist/assets/mcp-BkcA3I5s.js +0 -1
  1023. package/client/dist/assets/mcp-CCpSelOh.js +0 -1
  1024. package/client/dist/assets/mcp-CUAN6ORK.js +0 -1
  1025. package/client/dist/assets/mcp-CqbRxRTE.js +0 -1
  1026. package/client/dist/assets/mcp-DP2YfVhO.js +0 -1
  1027. package/client/dist/assets/mcp-DUVQamDz.js +0 -1
  1028. package/client/dist/assets/narration-BEKMVxGm.js +0 -1
  1029. package/client/dist/assets/narration-CjLwGKap.js +0 -1
  1030. package/client/dist/assets/narration-DANWuGsW.js +0 -1
  1031. package/client/dist/assets/narration-DGeEDWiT.js +0 -1
  1032. package/client/dist/assets/narration-DJgpGwIP.js +0 -1
  1033. package/client/dist/assets/narration-DbHnz0qV.js +0 -1
  1034. package/client/dist/assets/narration-bZSsTZG8.js +0 -1
  1035. package/client/dist/assets/narration-i6aKJKEc.js +0 -1
  1036. package/client/dist/assets/nav--u7iPYlS.js +0 -1
  1037. package/client/dist/assets/nav-C5Jgfaby.js +0 -1
  1038. package/client/dist/assets/nav-CAna_Wpt.js +0 -1
  1039. package/client/dist/assets/nav-CCLqeyHo.js +0 -1
  1040. package/client/dist/assets/nav-Cf3c90Jk.js +0 -1
  1041. package/client/dist/assets/nav-DMYQaQjR.js +0 -1
  1042. package/client/dist/assets/nav-Df_PkZ9F.js +0 -1
  1043. package/client/dist/assets/nav-VyNGBJwj.js +0 -1
  1044. package/client/dist/assets/packet-8nn9RsU7.js +0 -1
  1045. package/client/dist/assets/packet-B0H15elv.js +0 -1
  1046. package/client/dist/assets/packet-BQvBgrwh.js +0 -1
  1047. package/client/dist/assets/packet-BR7mO0-a.js +0 -1
  1048. package/client/dist/assets/packet-BgcQ6q_K.js +0 -1
  1049. package/client/dist/assets/packet-D2s92Jnn.js +0 -1
  1050. package/client/dist/assets/packet-YbtcD1HS.js +0 -1
  1051. package/client/dist/assets/packet-c0Qj_9eX.js +0 -1
  1052. package/client/dist/assets/project-repositories-Cnnuj9Ia.js +0 -1
  1053. package/client/dist/assets/rotate-ccw-DalJAQQX.js +0 -1
  1054. package/client/dist/assets/settings-B1NV8Ow9.js +0 -1
  1055. package/client/dist/assets/settings-BQ8XFZeE.js +0 -1
  1056. package/client/dist/assets/settings-BRkxfBbO.js +0 -1
  1057. package/client/dist/assets/settings-C_CcU1dP.js +0 -1
  1058. package/client/dist/assets/settings-Cto9n0eL.js +0 -1
  1059. package/client/dist/assets/settings-Pyw8uYtL.js +0 -1
  1060. package/client/dist/assets/settings-b3HVCNNd.js +0 -1
  1061. package/client/dist/assets/settings-hdive4u6.js +0 -1
  1062. package/client/dist/assets/setup-Be485n2u.js +0 -1
  1063. package/client/dist/assets/setup-CKGUxKr-.js +0 -1
  1064. package/client/dist/assets/setup-Ck1Uwd7_.js +0 -1
  1065. package/client/dist/assets/setup-Cm774a6v.js +0 -1
  1066. package/client/dist/assets/setup-DIqMQpxt.js +0 -1
  1067. package/client/dist/assets/setup-DfCsoNFL.js +0 -1
  1068. package/client/dist/assets/setup-DkeE8mP0.js +0 -1
  1069. package/client/dist/assets/setup-xVntVaz1.js +0 -1
  1070. package/client/dist/assets/specs-Bqvtz2kz.js +0 -1
  1071. package/client/dist/assets/specs-CKes-kz6.js +0 -1
  1072. package/client/dist/assets/specs-CfXxPDNB.js +0 -1
  1073. package/client/dist/assets/specs-CyF9HuTI.js +0 -1
  1074. package/client/dist/assets/specs-DMj035Mt.js +0 -1
  1075. package/client/dist/assets/specs-DfIdoU5L.js +0 -1
  1076. package/client/dist/assets/specs-j5pGLQeU.js +0 -1
  1077. package/client/dist/assets/specs-xW5pkkB7.js +0 -1
  1078. package/client/dist/assets/spending-CQnrWiR3.js +0 -1
  1079. package/client/dist/assets/square-D0JTbRSR.js +0 -1
  1080. package/client/dist/assets/tauri-shell-DE6LfGPw.js +0 -2
  1081. package/client/dist/assets/terminal-BAzpHtpY.js +0 -1
  1082. package/client/dist/assets/terminal-C7dHeR3x.js +0 -1
  1083. package/client/dist/assets/terminal-CMla5Qsz.js +0 -1
  1084. package/client/dist/assets/terminal-CdNXH-n9.js +0 -1
  1085. package/client/dist/assets/terminal-Cw5bZsmV.js +0 -1
  1086. package/client/dist/assets/terminal-DFUP4eNv.js +0 -1
  1087. package/client/dist/assets/terminal-DGqljeK_.js +0 -1
  1088. package/client/dist/assets/terminal-cU70NodO.js +0 -1
  1089. package/client/dist/assets/tickets--tiSOCcn.js +0 -1
  1090. package/client/dist/assets/tickets-BUJ3DMWU.js +0 -1
  1091. package/client/dist/assets/tickets-C1WNPODq.js +0 -1
  1092. package/client/dist/assets/tickets-CDjhWmiE.js +0 -1
  1093. package/client/dist/assets/tickets-CLgPC3uO.js +0 -1
  1094. package/client/dist/assets/tickets-D41ZMQpf.js +0 -1
  1095. package/client/dist/assets/tickets-DEaQC06P.js +0 -1
  1096. package/client/dist/assets/tickets-kcMzbLCp.js +0 -1
  1097. package/client/dist/assets/trash-D8zYUmTg.js +0 -1
  1098. package/client/dist/assets/useDesktop-BjLT0_EE.js +0 -1
  1099. package/client/dist/assets/useRuntimeRuns-C97qEqMg.js +0 -1
  1100. package/client/dist/assets/useSharedWebSocket-Bj4LMp7b.js +0 -2
  1101. package/client/dist/assets/utils-BC4DHlz2.js +0 -1
  1102. package/docs/guide/en/getting-started/4-the-dashboard-tour.md +0 -48
  1103. package/docs/guide/es/getting-started/4-the-dashboard-tour.md +0 -48
  1104. package/server/dist/mobile/mobile-preview-channel.js +0 -179
  1105. package/server/dist/mobile/mobile-preview.js +0 -366
  1106. package/server/dist/modules/browser/domain/preview-origins.js +0 -117
  1107. package/server/dist/modules/browser/runtime/preview-targets.js +0 -80
  1108. /package/client/dist/assets/{atom-one-dark-B-oHczHB.css → DocView-B-oHczHB.css} +0 -0
  1109. /package/docs/guide/de/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1110. /package/docs/guide/en/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1111. /package/docs/guide/es/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1112. /package/docs/guide/fr/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1113. /package/docs/guide/it/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1114. /package/docs/guide/ja/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1115. /package/docs/guide/pt/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
  1116. /package/docs/guide/zh/getting-started/{3-adding-your-first-project.md → 4-adding-your-first-project.md} +0 -0
@@ -0,0 +1,43 @@
1
+ <!-- guide-revision: mission-first-v1 -->
2
+
3
+ # Relire une livraison dans l'app {#review-a-delivery}
4
+
5
+ Une livraison prête à être relue a deux vues : **Aperçu** (le verdict, les preuves et les boutons de décision) et **Modifications** (ce que la livraison a réellement changé). Ouvrez la revue avec le bouton **Relire** de la livraison, puis choisissez **Modifications**.
6
+
7
+ ## Lire les modifications
8
+
9
+ La liste de fichiers à gauche montre chaque fichier modifié avec son statut (ajouté, modifié, supprimé, renommé), ses compteurs de lignes `+` et `−` et une coche une fois que vous le marquez comme vu. Le diff à droite charge un fichier à la fois : une grosse modification reste fluide. Passez de la disposition **Unifié** à **Côte à côte** ; Specrails retient votre choix. Un fichier très volumineux affiche ses premières lignes avec **Charger le diff complet du fichier** ; un fichier binaire est indiqué comme tel.
10
+
11
+ Les modifications sont mesurées depuis le point où la livraison s'est détachée de sa branche de base : ce qui a été ajouté à la base ensuite n'apparaît pas. Tant qu'une livraison n'a pas de branche combinée, vous pouvez choisir la branche de quelle spec lire.
12
+
13
+ ## Notes du relecteur sur le code
14
+
15
+ Les constats du relecteur, les risques signalés et les commentaires de revue que l'exécution devait résoudre apparaissent sous la ligne concernée. Les notes qui ne désignent ni fichier ni ligne sont listées au-dessus de la liste de fichiers : rien n'est caché. Les anciennes livraisons, et les relecteurs qui n'ont pas indiqué d'endroit, affichent leurs constats dans cette liste.
16
+
17
+ ## Demander à l'agent de modifier quelque chose
18
+
19
+ Sélectionnez des lignes en cliquant sur leurs numéros (Maj-clic étend la plage), choisissez **Demander une modification à l'agent** et décrivez la modification. Specrails l'enregistre comme retour de revue sur la spec, avec le fichier, la plage de lignes et le code sélectionné, et affiche un message avec un lien vers la spec. La prochaine exécution sur cette spec en tiendra compte. Pour la lancer tout de suite, utilisez **Demander des modifications** dans l'Aperçu. Il n'y a pas de fils de commentaires entre personnes ici ; discutez avec votre équipe sur GitHub.
20
+
21
+ ## Ouvrir dans votre éditeur
22
+
23
+ **Ouvrir dans l'éditeur** ouvre le fichier, à la ligne sélectionnée, dans VS Code, Cursor ou un IDE JetBrains. Choisissez l'éditeur dans **Réglages → Code → Éditeur**. Le fichier s'ouvre depuis votre propre copie du projet, où la branche de la revue n'est peut-être pas extraite.
24
+
25
+ ## Choisir ce qu'il advient d'une livraison {#pr-decision}
26
+
27
+ Une exécution terminée ne vous demande qu'une chose : que faire de son résultat. La carte affiche un bouton principal pour l'étape suivante (créer la PR, la publier ou la vérifier) et, à côté, **Relire**, qui ouvre le dossier de relecture en langage clair. Tout le reste se trouve sous **Plus d'actions** :
28
+
29
+ - **Changer de branche** place la branche dans le dossier de votre projet pour que vous l'essayiez.
30
+ - **Intégrer en local** fusionne le résultat dans votre branche de base sur cet ordinateur. Pas besoin de GitHub, et vous confirmez d'abord.
31
+ - **Abandonner** supprime le résultat et sa branche. Vous confirmez d'abord.
32
+
33
+ Si une action échoue, la notification dit ce qui n'a pas pu être fait et propose **Réessayer**.
34
+
35
+ ## Clavier
36
+
37
+ | Touche | Action |
38
+ | --- | --- |
39
+ | `j` / `k` | Fichier modifié suivant / précédent |
40
+ | `n` / `p` | Note du relecteur suivante / précédente |
41
+ | `v` | Marquer le fichier comme vu |
42
+
43
+ Les touches sont ignorées pendant que vous saisissez dans un champ. Marquer un fichier comme vu reste privé : si le fichier change dans une révision ultérieure, il affiche **Modifié depuis votre lecture** et redevient non vu.
@@ -1,4 +1,4 @@
1
- # Choisir un moteur par rail
1
+ # Choisir un moteur par rail {#provider-capabilities}
2
2
 
3
3
  ## Quand le sélecteur apparaît
4
4
 
@@ -19,7 +19,7 @@ Les quatre exécutent **Implement** :
19
19
  | Moteur | À privilégier quand… | Notes |
20
20
  |--------|--------------------|-------|
21
21
  | **Claude** | Vous avez besoin du coût natif, de l'interaction persistante ou de politiques d'outils strictes. | Profils, Freestyle et transforms structurés. |
22
- | **Codex** | Vous préférez la CLI Codex d'OpenAI ou vous voulez comparer les implémentations entre fournisseurs. | `codex` ≥ 0.128.0. Pas de rapport de coût natif — l'application complète le coût à partir de sa table de tarifs. Les profils ne s'appliquent pas. |
22
+ | **Codex** | Vous préférez la CLI Codex d'OpenAI ou vous voulez comparer les implémentations entre fournisseurs. | `codex` ≥ 0.128.0. Pas de rapport de coût natif — l'application complète le coût à partir de sa table de tarifs. Les profils ne s'appliquent pas. Freestyle fonctionne, sans chat interactif. |
23
23
 
24
24
  ## Un flux de travail pratique
25
25
 
@@ -1,4 +1,4 @@
1
- # Le Loop Builder
1
+ # Le Loop Builder {#loop-builder}
2
2
 
3
3
  ## Workflows Core
4
4
 
@@ -1,4 +1,4 @@
1
- # Thèmes
1
+ # Thèmes {#themes}
2
2
 
3
3
  Donnez à Specrails l'allure qui vous plaît. L'application est livrée avec cinq thèmes peaufinés à la main que vous pouvez changer instantanément — sans redémarrage, sans recompilation, sans rien à configurer.
4
4
 
@@ -1,4 +1,4 @@
1
- # Télémétrie & diagnostics du pipeline
1
+ # Télémétrie & diagnostics du pipeline {#telemetry}
2
2
 
3
3
  La télémétrie enregistre les diagnostics du pipeline localement. Elle est **activée par défaut** pour les projets sans préférence enregistrée. Vous pouvez la désactiver par projet ; les choix explicitement enregistrés sont conservés.
4
4
 
@@ -20,7 +20,7 @@ La télémétrie se configure **par projet** :
20
20
 
21
21
  ### Ce qui est couvert
22
22
 
23
- La télémétrie s'applique aux **jobs de pipeline** (les exécutions de rail en file Architect → Developer → Reviewer → Ship). Les sessions interactives comme le chat et l'assistant de configuration en sont volontairement exclues — la télémétrie est conçue pour les exécutions de pipeline répétables et inspectables, pas pour les conversations ponctuelles.
23
+ La télémétrie s'applique aux jobs qui passent par la **file de jobs** du projet : les exécutions de pipeline de la CLI (les rails quand les Loops sont désactivés, et les commandes `implement` envoyées depuis la CLI `specrails-desktop`). Les exécutions de loop — le mode d'exécution par défaut des rails — et les sessions interactives comme le chat, Explore et les missions ne sont pas instrumentées.
24
24
 
25
25
  ## Où vivent les données
26
26
 
@@ -1,4 +1,4 @@
1
- # Environnement du projet
1
+ # Environnement du projet {#project-environment}
2
2
 
3
3
  Certains projets ont besoin d'un identifiant à l'exécution, comme `NODE_AUTH_TOKEN` pour des paquets npm privés. Dans **Paramètres du projet → Environnement**, ajoutez les **noms** des variables dont vos rails et vos loops ont besoin. Specrails enregistre uniquement les noms, jamais les valeurs.
4
4
 
@@ -0,0 +1,24 @@
1
+ # Mises à jour {#updates}
2
+
3
+ Specrails tient à jour deux choses : l'application **Specrails Desktop** elle-même et le framework **specrails-core** utilisé par vos projets. Les deux se trouvent dans **Paramètres ▸ Mises à jour**.
4
+
5
+ ## Canal de mise à jour
6
+
7
+ Choisissez à quel rythme vous recevez les nouvelles versions :
8
+
9
+ - **Dernière** (par défaut) : chaque version dès sa sortie. Vous obtenez les nouveautés et les correctifs en premier.
10
+ - **Stable** : uniquement les versions restées au moins une semaine sur Dernière avec une CI verte, puis promues par les mainteneurs. À choisir si votre équipe préfère des mises à jour moins nombreuses et bien testées.
11
+
12
+ Le canal s'applique à l'application et à specrails-core. Si specrails-core n'a pas encore de version stable, Core suit Dernière et la carte Core vous l'indique.
13
+
14
+ Sur Stable, si aucune version n'a encore été promue, **Rechercher des mises à jour** vous le signale au lieu de proposer une version de Dernière.
15
+
16
+ ## Comment arrivent les mises à jour
17
+
18
+ - **Specrails Desktop** vérifie au lancement puis toutes les 6 heures. Quand une mise à jour est disponible, une carte apparaît pour télécharger, installer et redémarrer. Vous pouvez aussi cliquer sur **Rechercher des mises à jour**.
19
+ - **specrails-core** ne se met jamais à jour tout seul. Cliquez sur **Rechercher des mises à jour** dans la carte Core, puis sur **Mettre à jour**. Vos projets passent au nouveau framework sans redémarrer l'application.
20
+
21
+ ## Bon à savoir
22
+
23
+ - Passer de Dernière à Stable ne vous fait jamais revenir en arrière. Vous restez sur votre version jusqu'à ce que Stable la rattrape.
24
+ - Chaque mise à jour est signée et vérifiée avant installation, sur les deux canaux.
@@ -0,0 +1,33 @@
1
+ # Travailler dans un projet existant {#existing-projects}
2
+
3
+ Ces fonctions aident les runs à respecter un projet qui existe déjà : ce qu'une spec laisse de côté, les questions de l'architecte avant de planifier, les exigences qu'un test prouve vraiment, la façon de décrire l'ancien code avant de le modifier et les règles que votre équipe a déjà écrites. Chacune nécessite une version de specrails-core qui la prend en charge ; en attendant, son interrupteur est grisé avec une note pour mettre Core à jour.
4
+
5
+ ## Hors périmètre
6
+
7
+ Chaque spec peut lister ce qu'elle ne change volontairement **pas**. Quick et Explore le remplissent pour vous ; dans la fenêtre de la spec il apparaît comme **Hors périmètre** sous la description, un élément par ligne, et se modifie comme n'importe quel champ. Les agents le reçoivent avec la spec à chaque lancement.
8
+
9
+ ## Questions de l'architecte dans Jira
10
+
11
+ Dans **Réglages ▸ Ancrage dans les projets existants**, activez **Publier les clarifications de l'architecte dans Jira**. Quand un run s'arrête parce que l'architecte a besoin d'une réponse, ou continue sur des hypothèses, Specrails les publie en un commentaire sur le ticket Jira lié. Répondez à ce commentaire dans Jira : la réponse est ajoutée à la spec comme clarification et le prochain run de la spec la lit. Vous pouvez toujours répondre à un run en pause depuis l'application.
12
+
13
+ ## Exigences démontrées
14
+
15
+ Quand un test nomme l'exigence qu'il prouve (`[spec:<capacité>/<exigence>]` dans son titre), la page de revue affiche **Exigences démontrées X/Y** : les exigences prouvées par un test réussi, celles qui n'en ont pas encore et celles que le changement a touchées. Les analyses montrent la même chose par loop. Pour faire échouer la CI quand une exigence modifiée n'a pas de test, ajoutez `specrails-core pipeline trace --check --tests-passed` après vos tests.
16
+
17
+ La bibliothèque de loops propose aussi **Balayage de dérive**, un loop en lecture seule qui compare ce que dit chaque spec avec ce que fait le code et liste chaque contradiction. Il ne modifie rien.
18
+
19
+ ## Baseline au contact
20
+
21
+ Activez **Baseline au contact** pour qu'un changement qui atteint du code qu'aucune spec ne décrit commence par le décrire : des tests du comportement actuel, prouvés sur le code inchangé, et une courte spec de l'existant. La page de revue affiche **Spec créée là où le travail est passé** avec le module, les exigences et les tests, et son coût est affiché à part. Si ces tests échouent sur le code inchangé, le run s'arrête avant de modifier le module et le signale.
22
+
23
+ ## Règles du projet {#project-rules}
24
+
25
+ **Réglages ▸ Règles du projet** liste les contrôles que votre projet exécute déjà (lint, types, tests, CI) et chaque règle écrite dans des fichiers comme `CLAUDE.md` ou `AGENTS.md`, classées en :
26
+
27
+ - **Appliquée** : un contrôle la garantit déjà.
28
+ - **Automatisable** : un contrôle le pourrait. **Créer la spec** la transforme en spec en un clic.
29
+ - **Humaine uniquement** : quelqu'un doit regarder. Elles apparaissent sur chaque page de revue sous **Regard humain requis**.
30
+
31
+ Les règles que Core n'a pas encore pu classer (par exemple juste après l'ajout du projet, quand l'inventaire tourne hors ligne) apparaissent comme **Non classée** ; **Relancer l'inventaire** avec un fournisseur configuré les classe.
32
+
33
+ **Relancer l'inventaire** actualise la liste. Quand un projet n'a pas encore de commandes de vérification, les réglages de l'agent runtime proposent d'abord ces contrôles.
@@ -0,0 +1,23 @@
1
+ # Accessibilité et personnalisation {#accessibility}
2
+
3
+ Specrails s'adapte à votre façon de travailler. Tout se trouve dans **Réglages ▸ Apparence**, s'applique immédiatement et est enregistré sur cet ordinateur.
4
+
5
+ ## Densité {#density}
6
+
7
+ **Confortable** garde cartes et lignes aérées. **Compacte** en affiche davantage : le tableau des specs démarre en lignes compactes, la liste des jobs resserre ses lignes et le récit du job resserre sa chronologie. Une vue enregistrée du tableau garde sa propre disposition : une vue enregistrée en cartes post-it s'ouvre toujours en cartes post-it. Si le tableau de ce projet a déjà sa propre disposition, **L’appliquer aussi au tableau**, sous le choix, lui fait suivre à nouveau la densité.
8
+
9
+ ## Réduire les animations {#reduce-motion}
10
+
11
+ **Suivre le système** respecte votre système d'exploitation. **Réduire** désactive animations et transitions dans Specrails quoi que dise le système : la pastille du rail reste à sa position, les points d'activité cessent de pulser et le halo du Builder ainsi que les effets de thème restent immobiles. **Animations complètes** anime même quand le système en demande moins.
12
+
13
+ ## Déplacer une spec au clavier {#keyboard-moves}
14
+
15
+ Placez le focus sur une carte de spec dans le tableau (Tab ou flèches) et appuyez sur **M**. Un petit sélecteur liste les statuts et les rails ; choisissez avec les flèches et **Entrée**. Cela revient à y glisser la carte, y compris pour les specs liées à Jira, qui suivent votre workflow Jira. Si la carte fait partie d'une sélection multiple (**X** sélectionne la carte ciblée), le déplacement s'applique à toutes les specs sélectionnées. La palette de commandes propose la même chose sous **Déplacer la spec ciblée…**. **M** ne fait rien pendant que vous saisissez dans un champ.
16
+
17
+ ## Annonces d'exécution pour lecteurs d'écran {#live-status}
18
+
19
+ Specrails annonce les changements des runs via une région live polie, pour le projet que vous regardez : un run démarré, en pause, qui a besoin de vous, échoué, terminé ou dont la revue est prête. Les rafales sont regroupées et les répétitions ignorées : un rail très actif ne submerge jamais le lecteur. Les notifications d'annulation s'annoncent déjà d'elles-mêmes.
20
+
21
+ ## Focus clavier {#focus}
22
+
23
+ Chaque bouton, lien, élément de menu, carte et ligne d'arbre affiche un anneau de focus visible quand vous l'atteignez au clavier. Les informations qui n'existaient que dans une infobulle, comme la référence de spec sur la bande d'un rail, sont aussi accessibles au clavier et aux lecteurs d'écran.
@@ -1,4 +1,4 @@
1
- # Les specs et le backlog
1
+ # Les specs et le backlog {#specs-backlog}
2
2
 
3
3
  Une **spec** est l'unité de travail que le pipeline IA met en œuvre. Voyez-la comme un ticket : un titre, une description de ce que vous voulez réaliser, une priorité et, en option, des labels. Quand vous lancez le pipeline, les agents IA lisent la spec et agissent à partir d'elle — une spec claire est donc l'élément le plus important pour obtenir un bon résultat.
4
4
 
@@ -13,7 +13,27 @@ Le tableau propose deux modes d'affichage, basculables depuis un bouton de la ba
13
13
  - **Vue post-it** (par défaut) — des tuiles façon cartes avec de courts résumés.
14
14
  - **Vue liste** — des lignes compactes sur une seule ligne.
15
15
 
16
- Le **sélecteur de statuts** de la barre d'outils affiche chaque statut sous forme de puce avec un compteur en direct — plus deux groupes intelligents : **Actives** (le défaut — tout ce qui bouge encore : brouillons, à faire, en cours et en révision) et **Tous** (tout, avec Terminé épinglé en bas). Votre choix est mémorisé par projet et reflété dans l'URL : un rafraîchissement ou un lien partagé restaure la vue exacte. Sur les projets connectés à Jira, un menu déroulant **statut Jira** supplémentaire apparaît, listant les *vrais* statuts du workflow du board (leurs noms bruts, p. ex. « Code Review », chacun avec son compteur en direct) regroupés sous l'état auquel ils correspondent — il se combine avec les puces de statut. Vous pouvez aussi filtrer par **label**, et trier par **Par défaut**, **Ticket #** ou **Priorité** (chacun avec un sens croissant/décroissant).
16
+ La barre d'outils des Specs a deux rangées. La première réunit un champ de **recherche** (appuyez sur `/` pour y aller ; il cherche dans le titre, le `#numéro`, les étiquettes ou la clé Jira), un unique bouton **Filtres**, les contrôles de tri et d'affichage, et **Nouvelle spec**. La seconde rangée est le **sélecteur de statuts** : chaque statut sous forme de segment avec un compteur en direct, plus deux groupes intelligents, **Actives** (le défaut : tout ce qui bouge encore, soit brouillons, à faire, en cours et en révision) et **Tous** (tout, avec Terminé épinglé en bas). Quand la colonne est étroite, les statuts les moins utilisés se replient dans un menu **Plus**, et le statut choisi reste toujours visible. Votre choix est mémorisé par projet et reflété dans l'URL : un rafraîchissement ou un lien partagé restaure la vue exacte. **Filtres** ouvre un seul panneau avec une section par dimension : **étiquettes** (sélection multiple) et, sur les projets connectés à Jira, **epic**, **sprint** et **statut Jira** (les *vrais* statuts du workflow du board, p. ex. « Code Review », regroupés sous l'état auquel ils correspondent et combinés avec le sélecteur de statuts). Tant qu'une recherche ou un filtre restreint le board, une troisième rangée affiche chacun sous forme de puce amovible, indique « x sur y » specs et propose **Tout effacer** (qui conserve le statut choisi). Triez par **Par défaut**, **Ticket #** ou **Priorité**, chacun avec un sens croissant/décroissant.
17
+
18
+ ### Sélectionner plusieurs specs
19
+
20
+ Triez en lot plutôt qu'une spec à la fois. Appuyez sur `x` sur une carte ciblée, cliquez sur une carte avec `Ctrl`/`⌘`, ou cliquez avec `Maj` pour sélectionner une plage (une plage reste dans une colonne : les specs actives ou le groupe Terminé). `Ctrl`/`⌘`+`A` sélectionne toute la colonne où vous êtes, et `Échap` efface la sélection. Chaque carte affiche une case au survol ou au focus, et les cartes sélectionnées ont une bordure mise en évidence. Aucune de ces touches n'agit pendant que vous saisissez du texte dans la recherche.
21
+
22
+ Dès qu'une spec est sélectionnée, une barre flottante apparaît en bas du tableau avec le nombre et les actions :
23
+
24
+ - **Déplacer vers** change le statut. Les specs locales reçoivent les statuts locaux ; celles qui viennent de Jira reçoivent les vrais statuts du workflow du tableau Jira et passent par la même file Jira qu'un déplacement individuel.
25
+ - **Libellé** ajoute un libellé à la sélection, ou retire un libellé que les specs portent.
26
+ - **Priorité** définit une même priorité pour toutes.
27
+ - **Ajouter à un rail** place la sélection sur un rail.
28
+ - **Tout lancer** donne à chaque spec sélectionnée son propre rail libre et les démarre en parallèle, après la même confirmation et le même contrôle du budget quotidien que *Tout lancer* des rails. Les specs qui ne peuvent pas encore être lancées (par exemple en revue sans PR ouverte) ou qui ne trouvent pas de rail libre sont ignorées et comptées dans le récapitulatif.
29
+ - **Supprimer** les envoie dans *Récemment supprimées*.
30
+ - **Effacer** (ou `Échap`) abandonne la sélection.
31
+
32
+ La suppression et les changements de statut, de libellés ou de priorité s'annulent en une seule étape : un seul message *Annuler* (ou `⌘Z`) restaure toutes les specs modifiées. Si certaines échouent, un seul message indique combien ont réussi et combien ont échoué. La sélection ne contient que des specs visibles : un filtre qui masque une spec sélectionnée la retire de la sélection.
33
+
34
+ ### Vues enregistrées
35
+
36
+ Le bouton **Vues**, à côté de **Filtres**, enregistre le tableau tel qu'il est : le sélecteur de statut, les filtres, le tri et la densité (pas le texte de recherche). Choisissez **Enregistrer la vue actuelle…**, nommez-la (« Prêtes à lancer », « Sprint 42 », « En échec cette semaine ») et retrouvez-la ensuite dans le même menu. **Gérer les vues…** renomme une vue, la met à jour avec le tableau actuel, copie son lien ou la supprime. Les vues appartiennent au projet. Un lien copié (`?view=…`) applique la vue lorsqu'il est ouvert dans cette application, et la palette de commandes (`⌘K`) peut enregistrer la vue actuelle ou passer à une autre.
17
37
 
18
38
  ## Les statuts
19
39
 
@@ -38,7 +58,7 @@ Les brouillons sont la seule exception : un brouillon peut n'avoir *aucune* prio
38
58
 
39
59
  ## Créer une spec
40
60
 
41
- Pour créer une spec, cliquez sur **Ajouter** (le bouton Plus de la barre d'outils du SpecsBoard). La fenêtre **Ajouter une spec** s'ouvre, avec plusieurs façons de travailler :
61
+ Pour créer une spec, cliquez sur **Nouvelle spec** (le bouton Plus de la barre d'outils du SpecsBoard). La fenêtre **Ajouter une spec** s'ouvre, avec plusieurs façons de travailler :
42
62
 
43
63
  - **Mode Quick** — vous décrivez ce que vous voulez et l'IA écrit la spec complète en un seul coup. Voir [Ajouter une spec — mode Quick](add-spec-quick-mode.md).
44
64
  - **Mode Explore** — vous échangez avec l'IA, qui vous aide à façonner la spec tour après tour. Voir [Ajouter une spec — mode Explore](add-spec-explore-mode.md).
@@ -50,6 +70,24 @@ Le choix dépend du degré de clarté de votre idée. Vous savez exactement ce q
50
70
 
51
71
  Quand une spec a déjà du travail derrière elle — une PR en revue, une fonctionnalité fusionnée — et que vous en voulez *plus*, ne réécrivez pas sa description : cela fait dériver la spec (et synchronise la dérive vers Jira) et force la prochaine exécution à tout replanifier. Ouvrez la spec et ajoutez plutôt un **addendum** : une courte note avec un type (demande de changement, retour de revue, clarification, contrainte) et vos mots. Les addenda ouverts accompagnent automatiquement le prochain lancement de cette spec sur n'importe quelle boucle — Implement, SDD Quick, Freestyle — de sorte que l'exécution ne change que ce que vous avez demandé, et le paquet de revue signale chacun comme appliqué, partiellement appliqué ou bloqué. Si l'exécution échoue ou si vous écartez la livraison, ils reviennent d'eux-mêmes à **Ouvert**. L'agent de mission peut les ajouter pour vous quand vous lui demandez de modifier une spec existante.
52
72
 
73
+ ## Relire une livraison : par où commencer
74
+
75
+ À la fin d'une exécution, son dossier de revue s'ouvre sur **Points à examiner** : la courte note du relecteur IA qui liste d'abord les endroits les plus risqués (élevé, puis moyen, puis faible, chacun avec un fichier et une ligne), le comportement qui change, les règles sur lesquelles le changement s'appuie, les chemins de code qu'aucun test n'exerce et les vérifications que seul un humain peut faire. Les mêmes risques, chemins non testés et vérifications figurent dans un court bloc en haut de la pull request, et la carte de mission affiche le risque principal sur une ligne. La note guide votre relecture, ce n'est pas un résultat de vérification : elle ne bloque jamais Accepter. Les exécutions faites avec un Specrails Core plus ancien n'ont pas de note et leur dossier reste identique.
76
+
77
+ ## Annuler, et Supprimés récemment {#recently-deleted}
78
+
79
+ Supprimer une spec, la déplacer vers un autre statut, modifier ses étiquettes ou la retirer d'un rail se fait aussitôt : pas de « Êtes-vous sûr ? » au préalable. À la place, une notification propose **Annuler** pendant environ huit secondes, et **⌘Z** (**Ctrl+Z** sous Windows et Linux) fait de même tant que vous ne tapez pas dans un champ. L'annulation est propre à chaque projet : changer de projet ferme la fenêtre.
80
+
81
+ Une spec supprimée (comme une mission supprimée) n'est pas perdue. Elle passe dans **Réglages → Supprimés récemment**, dans les paramètres du projet, où vous pouvez la **Restaurer** pendant 30 jours ou la **Supprimer définitivement**, ce qui demande confirmation. Après 30 jours, elle est supprimée pour de bon. Abandonner un travail non poussé, fermer de force une pull request et retirer un projet demandent toujours confirmation, car ils sont irréversibles. Une spec liée à Jira se déplace toujours avec **Déplacer vers** au lieu d'être supprimée.
82
+
83
+ ## La chronologie de la spec et la passation {#spec-timeline}
84
+
85
+ Ouvrez une spec et passez à l’onglet **Chronologie** pour lire toute son histoire au même endroit : les modifications et addenda, les missions qui l’ont touchée, chaque exécution avec ses phases et les actions de l’agent, les événements de la pull request et le verdict du relecteur avec ses constats. Les entrées sont regroupées par jour, les pastilles filtrent par type et chaque entrée renvoie à la mission, à l’exécution ou à la relecture dont elle provient. Les longs groupes (phases, actions de l’agent, tours de mission) sont repliés avec un compteur et se déplient sur place.
86
+
87
+ Le coût apparaît à côté de l’entrée qui l’a engendré, les deux sortes restant séparées : un montant communiqué par le fournisseur et un montant estimé d’après la grille tarifaire locale (marqué « est. »). Si un fournisseur est facturé via un forfait, la chronologie et les exports affichent des tours, jamais des dollars ; une exécution sans coût communiqué n’en affiche simplement pas.
88
+
89
+ **Exporter la passation** (le menu à côté des onglets, ou ⌘K → *Exporter la passation de #N*) produit un fichier Markdown ou une page HTML autonome avec le résumé, les décisions (addenda, clarifications, verdicts du relecteur), les statistiques du diff, le coût et ce qui reste ouvert (addenda ouverts et constats de relecture non résolus). **Copier comme description de PR** (aussi dans ⌘K) place une version plus courte en Markdown dans le presse-papiers. Les titres suivent la langue de l’application. Tout passe par le même masquage des secrets que l’audit des actions de l’agent, et la notification indique quand quelque chose a été masqué.
90
+
53
91
  ## Pour aller plus loin
54
92
 
55
93
  - [Ajouter une spec — mode Quick](add-spec-quick-mode.md) — la façon la plus rapide de transformer une idée en spec.
@@ -6,7 +6,7 @@ Le mode Quick, c'est pour quand vous savez déjà ce que vous voulez. Vous tapez
6
6
 
7
7
  Pour créer une spec rapidement :
8
8
 
9
- 1. Sur le Dashboard, cliquez sur **Ajouter** (le bouton Plus de la barre d'outils du SpecsBoard).
9
+ 1. Sur le Dashboard, cliquez sur **Nouvelle spec** (le bouton Plus de la barre d'outils du SpecsBoard).
10
10
  2. Choisissez le mode **Quick**.
11
11
  3. Tapez votre idée dans le champ de texte — une phrase ou un paragraphe, ce qui la capture le mieux.
12
12
  4. Cliquez pour générer.
@@ -22,7 +22,7 @@ Au fil de l'échange, un volet de brouillon affiche la spec dans son état actue
22
22
 
23
23
  C'est tout le cœur du mode Explore : vous n'êtes jamais face à un formulaire vide. Vous regardez toujours une spec réelle, qui évolue.
24
24
 
25
- ## Ce que l'IA voit : le curseur de contexte
25
+ ## Ce que l'IA voit : le curseur de contexte {#context-scope}
26
26
 
27
27
  Avant que l'IA ne réponde, vous décidez quelle part de votre projet elle peut voir. Un curseur de préréglages de contexte vous laisse arbitrer entre vitesse et profondeur :
28
28
 
@@ -1,4 +1,4 @@
1
- # Conosci gli agenti
1
+ # Conosci gli agenti {#agents}
2
2
 
3
3
  Quando avvii un rail di tipo **Implement**, Specrails non affida la tua spec a una singola AI sperando che vada bene. Mette al lavoro una piccola squadra di *agenti* specializzati, ognuno con un compito preciso, in un ordine ben pensato. Questa pagina ti presenta chi fa parte della squadra e di cosa si occupa ciascuno.
4
4
 
@@ -39,3 +39,5 @@ Vedrai:
39
39
  Questo è tutto l'onboarding — nessun account da creare, nessuna registrazione. Specrails funziona interamente sulla tua macchina.
40
40
 
41
41
  Clicca su **Aggiungi il tuo primo progetto** e prosegui con [Aggiungere il tuo primo progetto](adding-your-first-project).
42
+
43
+ Oppure inizia con il [progetto di esempio](try-the-sample-project): un piccolo gioco e tre spec già pronte, con il costo indicato in anticipo.
@@ -0,0 +1,35 @@
1
+ # Prova il progetto di esempio
2
+
3
+ Vuoi vedere una spec diventare una modifica rivista prima di puntare specrails al tuo codice? Il **progetto di esempio** è un piccolo gioco web del tris con tre spec già pronte. Richiede pochi minuti e termina in un vero **pacchetto di revisione**.
4
+
5
+ ## Avviarlo
6
+
7
+ Nella schermata di benvenuto, fai clic su **Provalo su un progetto di esempio** (accanto a **Aggiungi il tuo primo progetto**). La finestra ti dice, prima che accada qualsiasi cosa:
8
+
9
+ - **Cosa viene creato**: un piccolo gioco web nel suo repository git, con tre spec già sulla tua bacheca.
10
+ - **Dove**: per impostazione predefinita `~/Specrails Samples/tic-tac-toe`, nella tua cartella personale. Puoi cambiare cartella; una cartella esistente non viene mai sovrascritta.
11
+ - **Quanto costerebbe un'esecuzione**: una stima come «≈ $0,30–$1 · circa 3–5 min». Compare in dollari solo se il tuo provider fattura a consumo. Con un piano in abbonamento dice che non ci sono costi aggiuntivi, e con un motore locale non c'è alcun costo API.
12
+
13
+ Creare l'esempio non costa nulla e non esegue nulla. Fai clic su **Crea progetto di esempio** e arrivi alla Bacheca.
14
+
15
+ ## I tre passi
16
+
17
+ Una piccola scheda guida indica la vera Bacheca, un passo alla volta. Puoi chiuderla in qualsiasi momento; si riduce a una pillola **Progetto di esempio** da cui **Mostra la guida** la riporta.
18
+
19
+ 1. **La spec.** Le tre spec sono scritte per te. Ognuna dice cosa costruire e come capire che è finita.
20
+ 2. **Il rail.** Fai clic su **Esegui la prima spec**. L'esempio è impostato per essere economico e limitato: modalità rapida, il modello più economico disponibile e un tetto morbido per esecuzione (l'esecuzione si ferma e chiede prima di superare $1). Se hai un motore locale configurato puoi sceglierlo, senza costi API.
21
+ 3. **La revisione.** Nulla viene unito da solo. Quando l'esecuzione finisce, un **pacchetto di revisione** mostra cosa è cambiato e ti lascia accettarlo o scartarlo.
22
+
23
+ ## Nessun provider di IA pronto?
24
+
25
+ Prima di offrirti l'esecuzione, specrails controlla che un provider sia installato e con accesso effettuato. Se nessuno è pronto, ottieni **Guarda un'esecuzione registrata**: la riproduzione di un'esecuzione completata che termina in un pacchetto di revisione. È chiaramente indicata come registrazione; nulla viene eseguito e nulla viene addebitato. Installa un provider o accedi, poi scegli **Controlla di nuovo** per passare a un'esecuzione reale.
26
+
27
+ ## Poi, il tuo progetto
28
+
29
+ La guida termina con **Ora aggiungi il tuo progetto**. Quando hai finito con l'esempio, **Rimuovi l'esempio** lo rimuove con un clic. La cartella resta sul disco, a meno che tu non selezioni **Elimina anche la cartella dell'esempio**, che non può essere annullato.
30
+
31
+ ## Rivedere il tour della piattaforma
32
+
33
+ Il tour non è più nella schermata di benvenuto. Apri **Docs** e scegli **Rivedi il tour**, oppure apri la palette dei comandi e scrivi «Rivedi il tour». È anche in **Impostazioni ▸ Aspetto**.
34
+
35
+ Avanti: [Aggiungere il tuo primo progetto](adding-your-first-project).
@@ -37,11 +37,15 @@ Una sottile striscia corre lungo il bordo inferiore della finestra. È piccola m
37
37
  - **Spesa totale** (a destra) — un totale aggiornato di quanto hai speso, così il costo è sempre a portata di sguardo.
38
38
  - **Interruttore del terminale** (all'estrema destra) — apre il pannello del terminale integrato. Premi **Cmd+J** (macOS) o **Ctrl+J** (Windows/Linux) per aprirlo o chiuderlo in qualsiasi momento. È una shell completa, aperta direttamente nella cartella del tuo progetto.
39
39
 
40
- ## Qualche scorciatoia utile
40
+ ## Qualche scorciatoia utile {#shortcuts}
41
41
 
42
- - **Cmd/Ctrl+B** — fissa o comprimi le barre laterali.
42
+ - **Cmd/Ctrl+B** — fissa o comprimi la barra laterale sinistra; **Option+Cmd+B** (**Ctrl+Alt+B**) fa lo stesso con quella destra.
43
43
  - **Cmd/Ctrl+J** — apri o chiudi il pannello del terminale.
44
- - **Cmd/Ctrl+K** — apri la ricerca.
44
+ - **Cmd/Ctrl+K** — la palette dei comandi: cerca missioni, progetti e job ed **esegui azioni**. Digita un verbo ("nuova", "avvia", "sposta", "cambia") o inizia con **>** per elencare le azioni: Nuova spec (anche in Esplora), Avvia o Sposta una spec, Apri la sua revisione, Consegna o metti in pausa un Flow, Nuova missione, Cambia tema, Passa tra modalità Missione e Board, Apri le impostazioni dell'app o del progetto su una sezione, Esegui un loop, mostra/nascondi le barre laterali, Torna indietro o avanti, Annulla l'ultima modifica ed Eliminati di recente. Le azioni che richiedono una scelta (un rail, uno stato, un tema, una sezione) aprono una seconda pagina; **Backspace** a ricerca vuota torna indietro. Ogni azione mostra la propria scorciatoia da tastiera, così la palette insegna i tasti. Offre solo ciò che funziona dove ti trovi e rispetta le stesse regole dei pulsanti (una spec che non può essere avviata non viene proposta). A ricerca vuota elenca le tue **Azioni recenti** e i **Luoghi recenti**.
45
+ - **Cmd+[ / Cmd+]** (**Alt+← / Alt+→** su Windows/Linux), i pulsanti **← →** nella barra del titolo o i pulsanti indietro/avanti del mouse — tornano indietro o avanti tra i luoghi visitati: spec, missioni, job, progetti e pannelli a schermo intero. Clic destro (o pressione prolungata) su un pulsante mostra gli ultimi luoghi.
46
+ - **Cmd+Maiusc+I** (**Ctrl+Alt+I** su Windows e Linux) o il pulsante **Da gestire** nella barra del titolo — l'elenco **Da gestire**: tutto ciò che ti aspetta in tutti i progetti, in un'unica lista raggruppata per progetto. Raccoglie le revisioni pronte da decidere, le domande a cui un agente sta aspettando risposta, le esecuzioni fallite o bloccate, le esecuzioni in pausa per il budget giornaliero e gli aggiornamenti Jira che non si sono potuti sincronizzare. Ogni riga ha l'azione principale a portata di mano (**Apri revisione**, **Rispondi**, **Riprendi**, **Riprova**) più **Posticipa** (1 ora o fino a domani) e **Fatto**. Un elemento posticipato o fatto torna da solo se il suo stato cambia. Il pulsante mostra quanti elementi attendono e una notifica di limite del provider apre l'elenco. L'elenco è anche un link (`?inbox=1`) e un'azione della palette dei comandi.
47
+ - **M** — con una scheda spec a fuoco nella bacheca, apre un selettore per spostarla in uno stato o in un rail, l'equivalente da tastiera del trascinamento. Funziona anche su una selezione multipla, e la palette lo offre come **Sposta la spec a fuoco…**.
48
+ - **?** — la guida rapida alle scorciatoie. Scrivi nel suo campo di ricerca per filtrare le scorciatoie e trovare pagine e sezioni di questa guida, che si aprono nella guida senza lasciare la schermata. Le piccole icone **ⓘ** e i link **Scopri di più** accanto a impostazioni, rail, Flow, slider del contesto e budget aprono la guida nella sezione corrispondente allo stesso modo.
45
49
 
46
50
  ## Dove andare adesso
47
51
 
@@ -0,0 +1,34 @@
1
+ # Ricerca universale (⌘K)
2
+
3
+ Premi **⌘K** (**Ctrl+K** su Windows e Linux) per cercare quasi tutto in Specrails da un solo posto: missioni, specs, log dei job, file, impostazioni e questa guida. Scrivi una ricerca normale per cercare tra missioni, progetti, specs e job recenti come prima, oppure inizia con un **prefisso** per cercare in una sola fonte.
4
+
5
+ ## Prefissi
6
+
7
+ | Scrivi | Cerca | Invio apre |
8
+ | --- | --- | --- |
9
+ | `#` | Specs: titolo, riepilogo, descrizione, etichette, note fuori ambito, addendum e commenti. `#12` trova la spec 12. | La spec |
10
+ | `@` | Missioni: titolo e contenuto della conversazione. | La missione |
11
+ | `/` | Impostazioni (di Desktop e del progetto) per nome o per come le chiameresti. | La finestra delle impostazioni su quel blocco, visibile e con il focus |
12
+ | `f:` | File del progetto, per nome o percorso. | Il file nell’esplora codice |
13
+ | `log:` | Log dei job: comandi, nomi dei loop, titoli delle fasi e diagnosi degli errori. | Il job |
14
+ | `?` | Questa guida: titoli delle pagine e intestazioni. | La guida su quell’intestazione |
15
+
16
+ Quando scrivi un prefisso diventa un **chip** nella casella di ricerca e la casella conserva solo la tua ricerca. Premi **Backspace** a casella vuota (o clicca la × del chip) per togliere l’ambito. A casella vuota la palette elenca i prefissi sotto la casella; clicca su uno per iniziare. `>` continua a elencare le azioni, come prima.
17
+
18
+ ## Evidenziazione
19
+
20
+ I risultati mostrano un breve estratto attorno alla prima corrispondenza, con il testo trovato evidenziato. La ricerca ignora maiuscole e accenti, quindi `revision` trova «Révision».
21
+
22
+ ## Impostazioni
23
+
24
+ `/` conosce i principali blocchi di impostazioni, nella tua lingua: tema, lingua, editor, budget, notifiche, webhook, aggiornamenti, branch, ambiente, telemetria, regole e altro. Le impostazioni del progetto vengono proposte quando un progetto è aperto. Sceglierne una apre la finestra giusta su quel blocco. Senza prefisso, una corrispondenza forte (tre o più caratteri) aggiunge fino a tre impostazioni ai risultati normali. `/budget` trova anche il pannello Budget (limiti, proiezione, e se…), dove si trovano i limiti settimanale e mensile. Un comando con barra come `/implement` compare sotto le impostazioni, in un gruppo a parte, quindi il prefisso `/` non lo nasconde mai.
25
+
26
+ ## Log dei job
27
+
28
+ `log:` cerca in un indice compatto, non nell’output grezzo di un’esecuzione: il comando, il nome del loop, i titoli delle fasi e la breve diagnosi di un’esecuzione fallita, bloccata o ferma. Non memorizza mai flussi di token né output degli strumenti, quindi resta piccolo e veloce. È tenuto per progetto e contiene le esecuzioni più recenti.
29
+
30
+ ## Da sapere
31
+
32
+ - `#`, `f:` e `log:` cercano nel progetto attivo; apri prima un progetto.
33
+ - L’ambito dei file rispetta le regole di esclusione dell’esplora codice.
34
+ - Ogni gruppo mostra solo i risultati migliori; affina la ricerca per restringere.
@@ -6,15 +6,17 @@ Aprila dalla barra laterale destra (è etichettata **Analytics**). Tutto ciò ch
6
6
 
7
7
  ## Cosa conta come spesa
8
8
 
9
- Specrails tiene traccia di cinque tipi di attività AI, chiamati *origini*. A ciascuna è associato un colore coerente in tutti i grafici, così puoi riconoscerla a colpo d'occhio:
9
+ Specrails etichetta ogni esecuzione AI con un'*origine*: la parte dell'app che ha generato la spesa. Le origini principali hanno ciascuna un colore fisso e un proprio chip di filtro, così le riconosci a colpo d'occhio:
10
10
 
11
- - **Job** — un rail della pipeline che esegue Architect → Developer → Reviewer → Ship.
11
+ - **Job** — un job della pipeline messo in coda (Architect → Developer → Reviewer → Ship), comprese le esecuzioni Freestyle.
12
+ - **Loop** — ogni passo AI di un'esecuzione di loop. I rail girano come loop per impostazione predefinita, quindi gran parte della spesa dei rail finisce qui.
12
13
  - **Quick** — una spec generata tramite il percorso rapido di Add Spec.
13
14
  - **Explore** — una conversazione Explore in cui dai forma a una spec chiacchierando.
14
15
  - **Raffinamento** — un raffinamento assistito dall'AI su un agente o su un file.
15
- - **Riepiloghi file** — i riepiloghi in linguaggio semplice che alimentano il Code explorer.
16
+ - **SMASH** — la suddivisione di una spec epica in spec più piccole.
17
+ - **Riepiloghi file** — i riepiloghi in linguaggio semplice e le storie dei file che alimentano il Code explorer.
16
18
 
17
- Un paio di cose, di proposito, *non* vengono tracciate: sia la chat nella barra laterale sia il setup wizard avviano CLI AI, ma non compaiono mai nella tua spesa. Così la dashboard riflette lavoro reale e ripetibile, non chiacchiere occasionali.
19
+ Vengono tracciate anche origini minori, senza un chip proprio: la chat nella barra laterale, il launcher di spec OpenSpec, le proposte di spec, Agent Studio e la vecchia chat di setup. Anche le missioni fissate al progetto contano nella sua spesa. Nulla di ciò che esegue una CLI AI viene escluso, quindi i totali riflettono tutta l'attività AI del progetto.
18
20
 
19
21
  ## Leggere la dashboard
20
22
 
@@ -76,3 +78,15 @@ Le esportazioni rispettano i filtri di periodo e origine che hai attualmente app
76
78
  ## Sempre aggiornato
77
79
 
78
80
  Non devi ricaricare. Quando una nuova invocazione viene registrata in qualsiasi punto del progetto, la dashboard aperta si aggiorna in silenzio un istante dopo, così il meter di consumo tiene il passo con il lavoro man mano che si completa.
81
+
82
+ ## Budget giornalieri {#daily-budget}
83
+
84
+ Imposta un budget giornaliero per limitare quanto può costare una giornata. Tutti i limiti (giornaliero, settimanale, mensile e per esecuzione) si modificano in un unico posto: **Analisi → Budget**. **Impostazioni → Avanzate** e **Impostazioni del progetto → Budget** mostrano solo il limite giornaliero attuale, con un pulsante **Apri Budget** che porta lì.
85
+
86
+ Quando la spesa registrata della giornata raggiunge un budget, la coda si mette in pausa da sola, i rail e le esecuzioni dei loop non partono e mostrano *Budget giornaliero raggiunto*, e un’esecuzione di loop in corso si ferma tra un passo e l’altro, in pausa per il budget. Aumenta o rimuovi il budget, oppure attendi il reset giornaliero, poi riprendi.
87
+
88
+ Il budget del progetto conta la tua giornata locale; quello dell’intera app conta la giornata UTC. L’avviso di costo per job è un’impostazione separata.
89
+
90
+ **Limiti settimanali, mensili e per esecuzione.** I limiti più lunghi funzionano allo stesso modo. Apri **Analisi → Budget** per impostare un limite **settimanale** e uno **mensile**, per progetto e per l’intera app, e un **limite morbido per esecuzione** (*metti in pausa e chiedi a $X*). Le settimane iniziano il lunedì e i mesi il giorno 1, nel tuo fuso orario locale. Un limite settimanale o mensile mette in pausa le code, rifiuta gli avvii e ferma i loop in corso esattamente come il budget giornaliero; aumentalo o rimuovilo lì, oppure aspetta il ripristino. Quando il costo riportato di un’esecuzione raggiunge il limite per esecuzione, si mette in pausa e **Riprendi** chiede se continuare senza il limite o aumentarlo. Raggiungere un limite aggiunge anche un elemento **Aumenta limite** alla posta in arrivo.
91
+
92
+ Il pannello Budget mostra oggi, questa settimana e questo mese rispetto a ogni limite. La sua **proiezione** a fine mese è una stima (la media degli ultimi 14 giorni completi per i giorni rimasti, più quanto hai già speso) e non viene mai sommata alla spesa fatturata. **E se** ricalcola gli ultimi 30 giorni di uso di token registrato con un altro modello, usando il listino prezzi dell’app, e dice *Nessun prezzo* per un modello senza prezzo. Con un piano in abbonamento non c’è un costo in dollari per uso, quindi il pannello mostra turni e limiti del piano invece dei dollari.
@@ -1,4 +1,4 @@
1
- # Il terminale integrato
1
+ # Il terminale integrato {#integrated-terminal}
2
2
 
3
3
  Specrails ha un vero terminale incorporato — il pannello che scorre verso l'alto dal fondo della finestra, proprio come quello di VS Code o Cursor. Esegue la tua shell reale, nella directory reale del tuo progetto, così puoi lanciare `git`, `npm`, i test o qualunque altra cosa senza uscire dall'app.
4
4
 
@@ -1,4 +1,4 @@
1
- # Code explorer
1
+ # Code explorer {#code-explorer}
2
2
 
3
3
  La sezione **Code** ti offre una finestra amichevole e in sola lettura sul tuo repository — pensata in particolare per chi vuole capire cosa ha costruito l'AI senza dover vivere in un editor. Hai un albero dei file a sinistra, un visualizzatore di codice a destra e, sopra il codice, un riepilogo in linguaggio semplice di cosa fa davvero ogni file.
4
4
 
@@ -1,4 +1,4 @@
1
- # Provider AI (Claude, Codex)
1
+ # Provider AI (Claude, Codex) {#ai-providers}
2
2
 
3
3
  ## I due provider
4
4
 
@@ -1,4 +1,4 @@
1
- # Plugin (Integrazioni)
1
+ # Plugin (Integrazioni) {#plugins}
2
2
 
3
3
  La sezione **Integrazioni** è un marketplace per progetto di componenti aggiuntivi opzionali che ampliano ciò che l'AI può fare. Ogni progetto decide in autonomia quali plugin vuole — installare un plugin in un progetto non tocca mai gli altri.
4
4
 
@@ -15,7 +15,7 @@ Tutti i riscritti verso Jira passano attraverso un outbox durevole e resistente
15
15
 
16
16
  ## Connettere una board
17
17
 
18
- Ti connetti dalla pagina **Impostazioni** di un progetto (c'è anche un passo facoltativo "Configura Jira" alla fine della procedura guidata di Add Project). La procedura guidata di connessione ti accompagna passo dopo passo:
18
+ Ti connetti dalla pagina **Plugin** nella barra laterale sinistra: fai clic su **Installa** nella scheda Jira e scegli il progetto. La procedura guidata di connessione ti accompagna passo dopo passo:
19
19
 
20
20
  1. **Prova** — inserisci l'URL e le credenziali di Jira, e Specrails verifica la connessione.
21
21
  2. **Scegli un progetto** — scegli con quale progetto Jira sincronizzarti.
@@ -52,7 +52,7 @@ Così puoi sperimentare liberamente — attivala, esegui qualche rail, disattiva
52
52
 
53
53
  ## Il giorno per giorno
54
54
 
55
- Una volta connesso, la pagina Impostazioni del progetto mostra una **scheda di connessione** dove puoi:
55
+ Una volta connesso, la scheda Jira nella pagina **Plugin** passa a **Gestisci**. Scegli lì il progetto per aprire la sua **scheda di connessione**, dove puoi:
56
56
 
57
57
  - **Sincronizza ora** — forza un polling immediato invece di aspettare il timer.
58
58
  - **Riprova i dead-letter** — riesegui qualsiasi riscritto rimasto bloccato.
@@ -69,4 +69,4 @@ Le spec appoggiate a Jira mostrano un **badge con la chiave Jira** (come `PROJ-1
69
69
 
70
70
  ## Disattivarla
71
71
 
72
- Se in qualsiasi momento vuoi tornare completamente indietro, basta **Disconnettere** dalle Impostazioni. Le tue spec tornano al comportamento solo-locale e i metadati Jira semplicemente restano inutilizzati — niente viene distrutto.
72
+ Se in qualsiasi momento vuoi tornare completamente indietro, basta **Disconnettere** dalla scheda di connessione. Le tue spec tornano al comportamento solo-locale e i metadati Jira semplicemente restano inutilizzati — niente viene distrutto.
@@ -1,4 +1,4 @@
1
- # L'app companion per il telefono
1
+ # L'app companion per il telefono {#mobile-companion}
2
2
 
3
3
  Specrails ha un'app companion per il telefono così puoi tenere d'occhio i tuoi rail anche quando sei lontano dalla scrivania — guarda i job in esecuzione, vedili terminare e resta aggiornato senza dover stare davanti alla dashboard.
4
4
 
@@ -1,4 +1,4 @@
1
- # Controlla Specrails da qualsiasi AI (server MCP)
1
+ # Controlla Specrails da qualsiasi AI (server MCP) {#mcp-server}
2
2
 
3
3
  > **For agents (English):** use the [current connection runbook](../../../agents/mcp.md) for Claude and Codex. It includes verified bridge discovery, registration and read-only checks.
4
4
 
@@ -33,6 +33,8 @@ L'agente può toccare tutta l'app, quindi decidi tu quanta libertà ha tramite u
33
33
 
34
34
  Inizia da **Osserva** e alza il livello solo quando vuoi che l'agente agisca. Se prova qualcosa oltre il livello attuale, si ferma e ti dice esattamente quale livello attivare — non aggira mai il limite. Questo è distinto dai livelli di Impostazioni ▸ MCP, che regolano gli assistenti *esterni*; il livello qui riguarda solo questo agente interno all'app.
35
35
 
36
+ Alzare il livello **ad Autonomo** non avviene mai con un solo tasto: Shift+Tab da Opera mostra un avviso con **Passa ad Autonomo**, e un altro Shift+Tab torna invece a Osserva. Abbassare il livello è sempre immediato.
37
+
36
38
  ## Alcune cose che puoi chiedere
37
39
 
38
40
  Una volta su **Opera**, prova:
@@ -47,16 +49,21 @@ Una volta su **Opera**, prova:
47
49
 
48
50
  Le risposte arrivano fluide e già formattate (titoli, tabelle, elenchi), ciascuna con un piccolo pulsante **copia**. Un'etichetta di stato in basso mostra cosa sta facendo l'agente in questo momento — *Sto pensando…*, *MCP · jobs*, *Terminal* — così conosci sempre il suo stato.
49
51
 
52
+ I blocchi di codice mostrano il linguaggio e hanno il proprio pulsante **copia**. Se scorri verso l'alto mentre l'agente sta ancora scrivendo, sopra la casella compare la pillola **Nuovi messaggi**: cliccala per tornare all'ultima risposta.
53
+
50
54
  ## Dettagli pratici
51
55
 
52
56
  - **Super spec da una conversazione.** Chiedi all’agente di *dare forma* a una spec insieme a te invece di generarla in un colpo solo: prima legge il codice reale, ti fa qualche domanda e mostra la bozza che evolve come una card dal vivo nella conversazione. Al tuo sì crea la spec e — per impostazione predefinita — la arricchisce in background con un **Contract Layer** (percorsi file esatti, forme dei dati, invarianti) perché gli agenti che implementano non improvvisino. Di’ "senza contract layer" per saltare l’arricchimento.
53
57
  - **Clicca ciò che menziona.** In una missione fissata a un progetto, i numeri di spec (`#12`) e gli id di job/run nelle risposte dell'agente sono chip cliccabili: una spec apre il modale di dettaglio della board, un id di job apre la vista del job dal vivo. Se il riferimento non esiste più, compare una discreta nota "non trovato".
54
- - **La scheda di implementazione resta in vista.** Quando l'agente implementa delle spec, una scheda dal vivo segue il lavoro — e finché ha bisogno di qualcosa da te (creare la PR, pubblicarla, riprovare, scartare) resta **fissata appena sopra la casella dei messaggi**, per quanto scorra la conversazione; al suo posto nella cronologia compare un discreto segnaposto «fissata sopra». Più schede attive si impilano come piccoli chip (cliccane uno per portarla in primo piano), e un chevron riduce la scheda a una barra sottile. Una volta pubblicata la PR — o quando il lavoro viene unito o scartato — la scheda torna al suo posto nella cronologia della conversazione.
58
+ - **Una striscia per le tue esecuzioni.** Quando l'agente avvia del lavoro, un'unica striscia appena sopra la casella del messaggio lo segue: cosa sta facendo l'esecuzione, in parole semplici («Scrittura della spec dalle tue modifiche»), quante esecuzioni sono terminate, il tempo e il costo reale finora (`—` finché il provider non fattura). Quando un'esecuzione ha bisogno di te — creare la PR, riprovare, tornare in Flow — la striscia lo dice con un'icona e a parole e offre quell'unica azione; fai clic sulla striscia per aprire la scheda completa dell'esecuzione appena sopra (Esc la chiude). Con più esecuzioni, la striscia mostra prima quella che ha bisogno di te e un piccolo selettore («Rail 1 · Rail 2 · +1»). La conversazione conserva solo ciò che è successo — «Avviato su Rail 1», «Rail 1 non riuscito: …», «Consegnato: PR #812» — e ogni riga apre la sua esecuzione. Le missioni in attesa della tua decisione mostrano un punto nell'elenco delle missioni. Le azioni che avviano una nuova esecuzione a pagamento (**Rilancia**, **Recupera e riprova**) o che altri vedono (Crea PR, Pubblica) non partono mai dalla striscia: apre la scheda con il focus su quel pulsante, così confermi lì.
59
+ - **La striscia da tastiera.** **⌥R** (**Alt+R** su Windows/Linux) passa dalla casella del messaggio alla striscia della missione in cui ti trovi; premilo di nuovo per mostrare o nascondere i dettagli dell’esecuzione, e **Esc** ti riporta dov’eri. Fuori da un campo di testo, **⌥[** e **⌥]** passano da un’esecuzione all’altra. Con la striscia attiva, **P** sospende o riprende un Flow e **H** lo affida; queste lettere non fanno nulla altrove. Premi **?** per l’elenco completo.
55
60
  - **Cronologia dei prompt.** Con la casella vuota, premi **↑**/**↓** per scorrere ciò che hai chiesto prima (mostrato attenuato mentre scorri); inizia a scrivere per modificarlo, oppure premi Invio per inviarlo.
56
61
  - **Modifica la coda.** Hai inviato altro mentre l'agente era occupato? Finché ci sono messaggi in coda, **↑**/**↓** scorre *quelli*: la casella mostra il selezionato, lo modifichi sul posto e **Invio lo salva di nuovo in coda** (Esc annulla; la tua bozza non inviata torna com'era).
62
+ - **Rispondi con un tasto.** Quando l'agente propone delle scelte, ogni chip ha un numero: premi **⌥1**…**⌥9** (**Alt+1**…**Alt+9** su Windows/Linux) con la casella vuota per sceglierne una.
63
+ - **Annulla l'eliminazione di un messaggio in coda.** Eliminando un messaggio in coda compare **Annulla** per qualche secondo; lo rimette in coda.
57
64
  - **Riduci a icona, senza perdere nulla.** Clicca la ✕ per rimettere il pannello nella bolla — la conversazione continua a girare. Riaprilo e atterri sull'ultimo messaggio; nulla viene riscritto.
58
65
  - **Nuova conversazione.** Il pulsante **+** avvia un thread pulito; la cronologia vive a livello di app, sopra qualunque singolo progetto.
59
- - **Cambia missione.** Il selettore di missioni accanto al selettore di progetto elenca le conversazioni dalla più recente alla più vecchia — un punto pulsante segnala quelle in cui l'agente sta ancora lavorando, e un piccolo badge conta i messaggi in coda. La ricerca compare quando la lista supera le otto voci, e l'icona del cestino su ogni riga elimina una missione dopo una rapida conferma in linea — anche una in corso (prima avvisa, poi ferma l'agente).
66
+ - **Cambia missione.** Il selettore di missioni accanto al selettore di progetto elenca le conversazioni dalla più recente alla più vecchia — un punto pulsante segnala quelle in cui l'agente sta ancora lavorando, e un piccolo badge conta i messaggi in coda. La ricerca compare quando la lista supera le otto voci, e l'icona del cestino su ogni riga elimina subito una missione e mostra **Annulla** (o premi **⌘Z**) per qualche secondo; poi la missione resta per 30 giorni in **Eliminati di recente**, nelle impostazioni del progetto. Una missione in cui l'agente sta ancora lavorando chiede prima conferma, perché fermare l'agente non si può annullare.
60
67
  - **Trova una missione da ovunque.** Premi **⌘K** (o il pulsante **Cerca** della barra laterale in modalità Agente) e digita un frammento qualsiasi che ricordi — una parola del titolo *o* di ciò che è stato detto dentro. Le missioni corrispondono all'istante per titolo dalla memoria e, un battito dopo, arrivano le corrispondenze per contenuto con il passaggio evidenziato, più il progetto fissato e l'ultima attività. In modalità Agente le missioni sono il primo gruppo; sulla board stanno subito dopo i Progetti. Invio apre la missione.
61
68
 
62
69
  ## Card di lancio e card di esecuzione
@@ -69,9 +76,9 @@ Le risposte arrivano fluide e già formattate (titoli, tabelle, elenchi), ciascu
69
76
 
70
77
  ## Sotto-agenti
71
78
 
72
- Alcuni provider possono affidare parti di un compito a **sotto-agenti**: aiutanti che lavorano in parallelo e proseguono dopo la risposta dell'agente. I sotto-agenti sono **disattivati per impostazione predefinita** perché moltiplicano il costo di una richiesta.
79
+ Alcuni provider possono affidare parti di un compito a **sotto-agenti**: aiutanti che lavorano in parallelo e proseguono dopo la risposta dell'agente. I sotto-agenti sono **attivi per impostazione predefinita**; disattivali per progetto se vuoi contenere i costi, perché moltiplicano il costo di una richiesta.
73
80
 
74
- - **Attivali per progetto.** Apri **Impostazioni → Sotto-agenti** del progetto e attiva **Consenti sotto-agenti in questo progetto**. Vale per missioni, esplorazione e rifiniture del progetto; le pipeline Implement non sono mai interessate. Le missioni senza progetto seguono **Impostazioni dell'app → Provider di IA → Consenti sotto-agenti nelle missioni senza progetto**.
81
+ - **Disattivali per progetto.** Apri **Impostazioni → Sotto-agenti** del progetto e disattiva **Consenti sotto-agenti in questo progetto**. Vale per missioni, esplorazione e rifiniture del progetto; le pipeline Implement non sono mai interessate. Le missioni senza progetto seguono **Impostazioni dell'app → Provider di IA → Consenti sotto-agenti nelle missioni senza progetto**.
75
82
  - **Scegli chi li esegue.** In **Esegui i sotto-agenti con**, l'opzione predefinita **Come l'agente della missione** lascia che il CLI della missione li avvii nativamente: è la più veloce e condividono la sua cache del prompt. Scegli invece provider, modello ed effort per combinare provider — ad esempio una missione Codex con sotto-agenti Claude. Le missioni che usano già quel provider restano native con quel modello; con un altro provider Specrails avvia da sé ogni sotto-agente, che parte a freddo e può costare di più, ma ti dà più controllo e mostra il costo reale di ciascuno. Specrails chiede conferma prima del cambio, e quei sotto-agenti mostrano un badge del provider nella missione.
76
83
  - **Guardali lavorare.** Gli agenti avviati da una risposta compaiono come una riga compatta sotto quella risposta. Resta aperta mentre lavorano e, quando finiscono tutti, si chiude in un riepilogo con tempo e token totali. Espandi una riga per leggerne il risultato e il costo, o seguirne l'attività dal vivo. Ogni avvio resta al suo punto della conversazione, quindi i successivi non si mescolano mai ai precedenti. Ferma un agente in corso dalla sua riga, o tutti dalla riga di riepilogo.
77
84
  - **L'agente riprende da solo.** Quando gli agenti in background finiscono, l'agente prosegue e pubblica ciò che hanno trovato, con l'etichetta *Proseguito dopo gli agenti in background*.