specrails-desktop 2.59.3 → 2.61.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 (166) hide show
  1. package/client/dist/assets/{ActivityFeedPage-BGEayjTY.js → ActivityFeedPage-Wi5XNgoG.js} +1 -1
  2. package/client/dist/assets/{AgentBrowserCapture-Qvg4y5Tr.js → AgentBrowserCapture-CkNWDZT3.js} +1 -1
  3. package/client/dist/assets/{AgentModeAnalyticsPane-CR7aFeLJ.js → AgentModeAnalyticsPane-CXz2j-Bt.js} +2 -2
  4. package/client/dist/assets/{AgentModeCodePane-gAd88Gng.js → AgentModeCodePane-DnsBPtpS.js} +2 -2
  5. package/client/dist/assets/{AgentModeJobsPane-EjCDuTow.js → AgentModeJobsPane-U1J6PaBo.js} +1 -1
  6. package/client/dist/assets/{AgentsPage-CRHHcp1V.js → AgentsPage-CXrqu5vo.js} +2 -2
  7. package/client/dist/assets/{AnalyticsPage-a0b1fNEl.js → AnalyticsPage-Cvtt-LOO.js} +1 -1
  8. package/client/dist/assets/{CodePage-BmV1m7l3.js → CodePage-D35o-MFO.js} +1 -1
  9. package/client/dist/assets/{DesktopAnalyticsPage-B87WmXOQ.js → DesktopAnalyticsPage-CsDFy5rp.js} +1 -1
  10. package/client/dist/assets/{DocsDialog-Co0O672q.js → DocsDialog-CSlMPemn.js} +1 -1
  11. package/client/dist/assets/{DocsPage-DxGI6A2T.js → DocsPage-BKlYAvWq.js} +1 -1
  12. package/client/dist/assets/{ExportDropdown-1Ce031vB.js → ExportDropdown-CweP_1GP.js} +1 -1
  13. package/client/dist/assets/InteractiveJobComposer-CFKvbQeJ.js +19 -0
  14. package/client/dist/assets/{JobDetailModal-DVLDVgzz.js → JobDetailModal-DYyGq1Vp.js} +1 -1
  15. package/client/dist/assets/{JobDetailPage-RcP9N-D-.js → JobDetailPage-C6gpdYvj.js} +1 -1
  16. package/client/dist/assets/{JobsPage-R9M4xQnp.js → JobsPage-CgS0pnKd.js} +1 -1
  17. package/client/dist/assets/LoopBuilderPage-jUp20DSZ.js +1 -0
  18. package/client/dist/assets/{LoopPreviewModal-DA2JeKWX.js → LoopPreviewModal-DkLRfsYX.js} +1 -1
  19. package/client/dist/assets/{LoopWindowSurface-BkkeD0hx.js → LoopWindowSurface-CuACkXFV.js} +1 -1
  20. package/client/dist/assets/{LoopsPage-BHv--iI7.js → LoopsPage-ClSrWzDd.js} +1 -1
  21. package/client/dist/assets/{MinimizedChatsContext-Bc9xHByW.js → MinimizedChatsContext-CroAs6Kh.js} +1 -1
  22. package/client/dist/assets/{PluginsPage-BEy62gxK.js → PluginsPage-nCKQOwRL.js} +1 -1
  23. package/client/dist/assets/{ProjectSettingsDialog-DDQ_f94T.js → ProjectSettingsDialog-BVDYwllU.js} +1 -1
  24. package/client/dist/assets/{RepositoryDeliveries-DIWDFLRM.js → RepositoryDeliveries-DJCm1pZr.js} +1 -1
  25. package/client/dist/assets/{RepositoryScopeSelector-D3PlHIM-.js → RepositoryScopeSelector-CeCr6Jz-.js} +1 -1
  26. package/client/dist/assets/{ReviewPacketPage-BXdPwmdE.js → ReviewPacketPage-kTErrEjx.js} +1 -1
  27. package/client/dist/assets/{TemplatePreviewModal-C7-G6lvI.js → TemplatePreviewModal-B8yd1AGU.js} +1 -1
  28. package/client/dist/assets/{TicketDetailModalContext-gGUv7gsQ.js → TicketDetailModalContext-YBJX3RmP.js} +1 -1
  29. package/client/dist/assets/{Trans-Br_OIUKP.js → Trans-D5eOjfvG.js} +1 -1
  30. package/client/dist/assets/agentRuntime-B-myNBUP.js +1 -0
  31. package/client/dist/assets/agentRuntime-Bjt7Ij6_.js +1 -0
  32. package/client/dist/assets/agentRuntime-C_yLPKDy.js +1 -0
  33. package/client/dist/assets/agentRuntime-D2kYQqNO.js +1 -0
  34. package/client/dist/assets/agentRuntime-DvhEe1um.js +1 -0
  35. package/client/dist/assets/agentRuntime-DxC6-9rN.js +1 -0
  36. package/client/dist/assets/agentRuntime-TKQyg137.js +1 -0
  37. package/client/dist/assets/agentRuntime-WSv8G0pW.js +1 -0
  38. package/client/dist/assets/agents-B6ZsnARo.js +1 -0
  39. package/client/dist/assets/agents-BORdhe0K.js +1 -0
  40. package/client/dist/assets/agents-C6aq9Oqs.js +1 -0
  41. package/client/dist/assets/agents-Cbsc4bcX.js +1 -0
  42. package/client/dist/assets/agents-D0uYR6hq.js +1 -0
  43. package/client/dist/assets/agents-Doe1sHY5.js +1 -0
  44. package/client/dist/assets/agents-DyNi_I9m.js +1 -0
  45. package/client/dist/assets/agents-StKxiTg0.js +1 -0
  46. package/client/dist/assets/agentstudio-7cYCXn-L.js +1 -0
  47. package/client/dist/assets/{agentstudio-QdAJIDef.js → agentstudio-BHWQh8G3.js} +1 -1
  48. package/client/dist/assets/agentstudio-BjnWHyRs.js +1 -0
  49. package/client/dist/assets/{agentstudio-fLXpRGIi.js → agentstudio-BkV8vcK4.js} +1 -1
  50. package/client/dist/assets/{agentstudio-BWAKeGgB.js → agentstudio-BzugqB_N.js} +1 -1
  51. package/client/dist/assets/{agentstudio-Cja8Sjcp.js → agentstudio-CWbp7KvH.js} +1 -1
  52. package/client/dist/assets/agentstudio-DG6plf5o.js +1 -0
  53. package/client/dist/assets/agentstudio-DkZVF-Cc.js +1 -0
  54. package/client/dist/assets/{formatDistanceToNow-Q7QPRFV4.js → formatDistanceToNow-DZ3VWsHq.js} +1 -1
  55. package/client/dist/assets/{getTimezoneOffsetInMilliseconds-Bq0CXBaJ.js → getTimezoneOffsetInMilliseconds-9JiGlFrx.js} +1 -1
  56. package/client/dist/assets/{index-DVkWHOR3.js → index-lTGJJTuk.js} +8 -8
  57. package/client/dist/assets/{jira-api-C2Tzc362.js → jira-api-Bp0zXwjg.js} +1 -1
  58. package/client/dist/assets/{loops-Cm55CXJ4.js → loops-B2PhQLKR.js} +1 -1
  59. package/client/dist/assets/{loops-3IutojWt.js → loops-BqbF46st.js} +1 -1
  60. package/client/dist/assets/{loops-BAosWtXE.js → loops-CINnHbfI.js} +1 -1
  61. package/client/dist/assets/{loops-kIJJkaxf.js → loops-D-3XhH04.js} +1 -1
  62. package/client/dist/assets/{loops-DHQtnfze.js → loops-DKkEEjZ_.js} +1 -1
  63. package/client/dist/assets/{loops-D7tL_Saw.js → loops-DzWR5-v6.js} +1 -1
  64. package/client/dist/assets/{loops--KWr0X-w.js → loops-WyWDkhok.js} +1 -1
  65. package/client/dist/assets/{loops-BISDssL5.js → loops-scD5fIBf.js} +1 -1
  66. package/client/dist/assets/{narration-DvLQBW9U.js → narration-BEKMVxGm.js} +1 -1
  67. package/client/dist/assets/{narration-CHI06czm.js → narration-CjLwGKap.js} +1 -1
  68. package/client/dist/assets/{narration-DjKB3pQZ.js → narration-DANWuGsW.js} +1 -1
  69. package/client/dist/assets/{narration-eSx3gR0W.js → narration-DGeEDWiT.js} +1 -1
  70. package/client/dist/assets/{narration-DtCYvRLM.js → narration-DJgpGwIP.js} +1 -1
  71. package/client/dist/assets/{narration-n3hOA7LY.js → narration-DbHnz0qV.js} +1 -1
  72. package/client/dist/assets/{narration-thJOeT2-.js → narration-bZSsTZG8.js} +1 -1
  73. package/client/dist/assets/{narration--hUhjM5v.js → narration-i6aKJKEc.js} +1 -1
  74. package/client/dist/assets/{project-repositories-DZKmieH3.js → project-repositories-CadLZOnr.js} +1 -1
  75. package/client/dist/assets/{spending-EXaboRU0.js → spending-DQDNtM8q.js} +1 -1
  76. package/client/dist/assets/{useDesktop-ChSmmJfc.js → useDesktop-DKNbOF0u.js} +1 -1
  77. package/client/dist/assets/{useRuntimeRuns-w9-5OzZl.js → useRuntimeRuns-D3YMw9qx.js} +1 -1
  78. package/client/dist/assets/{useSharedWebSocket-g0nTHfTT.js → useSharedWebSocket-DaWuiO0S.js} +2 -2
  79. package/client/dist/index.html +19 -19
  80. package/docs/getting-started.md +2 -2
  81. package/docs/guide/de/agents/1-meet-the-agents.md +1 -1
  82. package/docs/guide/de/agents/2-profiles-and-the-balanced-default.md +1 -1
  83. package/docs/guide/de/agents/3-customizing-models-per-agent.md +1 -1
  84. package/docs/guide/de/agents/4-custom-agents-catalog.md +3 -3
  85. package/docs/guide/en/agents/1-meet-the-agents.md +1 -1
  86. package/docs/guide/en/agents/2-profiles-and-the-balanced-default.md +1 -1
  87. package/docs/guide/en/agents/3-customizing-models-per-agent.md +1 -1
  88. package/docs/guide/en/agents/4-custom-agents-catalog.md +3 -3
  89. package/docs/guide/es/agents/1-meet-the-agents.md +1 -1
  90. package/docs/guide/es/agents/2-profiles-and-the-balanced-default.md +1 -1
  91. package/docs/guide/es/agents/3-customizing-models-per-agent.md +1 -1
  92. package/docs/guide/es/agents/4-custom-agents-catalog.md +3 -3
  93. package/docs/guide/fr/agents/1-meet-the-agents.md +1 -1
  94. package/docs/guide/fr/agents/2-profiles-and-the-balanced-default.md +1 -1
  95. package/docs/guide/fr/agents/3-customizing-models-per-agent.md +1 -1
  96. package/docs/guide/fr/agents/4-custom-agents-catalog.md +3 -3
  97. package/docs/guide/it/agents/1-meet-the-agents.md +1 -1
  98. package/docs/guide/it/agents/2-profiles-and-the-balanced-default.md +1 -1
  99. package/docs/guide/it/agents/3-customizing-models-per-agent.md +1 -1
  100. package/docs/guide/it/agents/4-custom-agents-catalog.md +3 -3
  101. package/docs/guide/ja/agents/1-meet-the-agents.md +1 -1
  102. package/docs/guide/ja/agents/2-profiles-and-the-balanced-default.md +1 -1
  103. package/docs/guide/ja/agents/3-customizing-models-per-agent.md +1 -1
  104. package/docs/guide/ja/agents/4-custom-agents-catalog.md +3 -3
  105. package/docs/guide/pt/agents/1-meet-the-agents.md +1 -1
  106. package/docs/guide/pt/agents/2-profiles-and-the-balanced-default.md +1 -1
  107. package/docs/guide/pt/agents/3-customizing-models-per-agent.md +1 -1
  108. package/docs/guide/pt/agents/4-custom-agents-catalog.md +3 -3
  109. package/docs/guide/zh/agents/1-meet-the-agents.md +1 -1
  110. package/docs/guide/zh/agents/2-profiles-and-the-balanced-default.md +1 -1
  111. package/docs/guide/zh/agents/3-customizing-models-per-agent.md +1 -1
  112. package/docs/guide/zh/agents/4-custom-agents-catalog.md +3 -3
  113. package/docs/internals/adding-a-provider.md +7 -6
  114. package/docs/internals/configuration.md +2 -0
  115. package/docs/internals/core-runtime-updates.md +22 -3
  116. package/docs/internals/profiles.md +17 -10
  117. package/docs/internals/programmatic-agent-runtime.md +2 -0
  118. package/docs/internals/review-packet.md +1 -1
  119. package/docs/internals/source-map.md +1 -1
  120. package/docs/running-pipelines.md +2 -2
  121. package/package.json +1 -1
  122. package/server/dist/core-compat.js +7 -3
  123. package/server/dist/mcp/guide.js +4 -3
  124. package/server/dist/modules/agent-runtime/runtime/agent-runtime-bridge.js +19 -3
  125. package/server/dist/modules/agent-runtime/runtime/agent-runtime-effective-config.js +2 -0
  126. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings-router.js +6 -2
  127. package/server/dist/modules/agent-runtime/runtime/agent-runtime-settings.js +42 -7
  128. package/server/dist/modules/agents/runtime/profiles-router.js +74 -36
  129. package/server/dist/modules/execution/runtime/queue-manager.js +7 -9
  130. package/server/dist/modules/loops/runtime/loop-agents.js +2 -5
  131. package/server/dist/modules/loops/runtime/loop-command-catalog.js +5 -5
  132. package/server/dist/modules/loops/runtime/loop-core-factory.js +2 -2
  133. package/server/dist/modules/loops/runtime/loop-definition.js +2 -1
  134. package/server/dist/modules/loops/runtime/loop-executors.js +0 -2
  135. package/server/dist/modules/loops/runtime/loop-factory.js +1 -1
  136. package/server/dist/modules/loops/runtime/loop-graph.js +8 -1
  137. package/server/dist/modules/loops/runtime/loop-implement-recipe.js +33 -13
  138. package/server/dist/modules/loops/runtime/loop-templates.js +3 -3
  139. package/server/dist/modules/loops/runtime/loops-router.js +3 -1
  140. package/server/dist/providers/gemini-agent-ack.js +13 -10
  141. package/server/dist/schemas/agent-runtime.schema.json +9 -7
  142. package/server/dist/setup-manager.js +28 -43
  143. package/server/dist/workspace-manager.js +13 -71
  144. package/client/dist/assets/InteractiveJobComposer-DkqR77pO.js +0 -19
  145. package/client/dist/assets/LoopBuilderPage-C4S-rkWp.js +0 -1
  146. package/client/dist/assets/agentRuntime-15Pkk6we.js +0 -1
  147. package/client/dist/assets/agentRuntime-Bpx3yWHK.js +0 -1
  148. package/client/dist/assets/agentRuntime-C78n13To.js +0 -1
  149. package/client/dist/assets/agentRuntime-CCI7XF4c.js +0 -1
  150. package/client/dist/assets/agentRuntime-CKDHe2-a.js +0 -1
  151. package/client/dist/assets/agentRuntime-Ddqvp2bP.js +0 -1
  152. package/client/dist/assets/agentRuntime-TXPQowKJ.js +0 -1
  153. package/client/dist/assets/agentRuntime-hqZRy08E.js +0 -1
  154. package/client/dist/assets/agents-CA5eT1d0.js +0 -1
  155. package/client/dist/assets/agents-CAgy-5uS.js +0 -1
  156. package/client/dist/assets/agents-CNm6Qzlv.js +0 -1
  157. package/client/dist/assets/agents-CTwbx-fb.js +0 -1
  158. package/client/dist/assets/agents-DEGV1Vao.js +0 -1
  159. package/client/dist/assets/agents-HsDF1aQU.js +0 -1
  160. package/client/dist/assets/agents-IQjdA-z9.js +0 -1
  161. package/client/dist/assets/agents-RkGoteXh.js +0 -1
  162. package/client/dist/assets/agentstudio-B2CTtQgZ.js +0 -1
  163. package/client/dist/assets/agentstudio-DtfPcr99.js +0 -1
  164. package/client/dist/assets/agentstudio-X70BKf6u.js +0 -1
  165. package/client/dist/assets/agentstudio-qXKqVnWS.js +0 -1
  166. package/server/dist/modules/loops/runtime/loop-agent-defaults.json +0 -6
@@ -204,7 +204,7 @@
204
204
  .specrails-splash__mark .pill { opacity: 1; }
205
205
  }
206
206
  </style>
207
- <script type="module" crossorigin src="/assets/index-DVkWHOR3.js"></script>
207
+ <script type="module" crossorigin src="/assets/index-lTGJJTuk.js"></script>
208
208
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-CNC7AqOf.js">
209
209
  <link rel="modulepreload" crossorigin href="/assets/jsx-runtime-zu2_FqZY.js">
210
210
  <link rel="modulepreload" crossorigin href="/assets/react-dom-DiWzBDP9.js">
@@ -214,9 +214,9 @@
214
214
  <link rel="modulepreload" crossorigin href="/assets/activity-DiyjsgQV.js">
215
215
  <link rel="modulepreload" crossorigin href="/assets/addspec-BOvgmcgk.js">
216
216
  <link rel="modulepreload" crossorigin href="/assets/agent-Z5s_GTP0.js">
217
- <link rel="modulepreload" crossorigin href="/assets/agentRuntime-Bpx3yWHK.js">
218
- <link rel="modulepreload" crossorigin href="/assets/agents-CTwbx-fb.js">
219
- <link rel="modulepreload" crossorigin href="/assets/agentstudio-BWAKeGgB.js">
217
+ <link rel="modulepreload" crossorigin href="/assets/agentRuntime-C_yLPKDy.js">
218
+ <link rel="modulepreload" crossorigin href="/assets/agents-Doe1sHY5.js">
219
+ <link rel="modulepreload" crossorigin href="/assets/agentstudio-BzugqB_N.js">
220
220
  <link rel="modulepreload" crossorigin href="/assets/aiedit-iIjz2_Qk.js">
221
221
  <link rel="modulepreload" crossorigin href="/assets/analytics-BWynXPEm.js">
222
222
  <link rel="modulepreload" crossorigin href="/assets/attachments-B53PG733.js">
@@ -231,9 +231,9 @@
231
231
  <link rel="modulepreload" crossorigin href="/assets/integrations-Dwl9KQp0.js">
232
232
  <link rel="modulepreload" crossorigin href="/assets/jira-FXr7u2lh.js">
233
233
  <link rel="modulepreload" crossorigin href="/assets/jobs-De3EqaO0.js">
234
- <link rel="modulepreload" crossorigin href="/assets/loops--KWr0X-w.js">
234
+ <link rel="modulepreload" crossorigin href="/assets/loops-WyWDkhok.js">
235
235
  <link rel="modulepreload" crossorigin href="/assets/mcp-CUAN6ORK.js">
236
- <link rel="modulepreload" crossorigin href="/assets/narration-n3hOA7LY.js">
236
+ <link rel="modulepreload" crossorigin href="/assets/narration-DbHnz0qV.js">
237
237
  <link rel="modulepreload" crossorigin href="/assets/nav--u7iPYlS.js">
238
238
  <link rel="modulepreload" crossorigin href="/assets/packet-B0H15elv.js">
239
239
  <link rel="modulepreload" crossorigin href="/assets/settings-Dbyd6gmj.js">
@@ -243,15 +243,15 @@
243
243
  <link rel="modulepreload" crossorigin href="/assets/terminal-BAzpHtpY.js">
244
244
  <link rel="modulepreload" crossorigin href="/assets/tickets-D41ZMQpf.js">
245
245
  <link rel="modulepreload" crossorigin href="/assets/createLucideIcon-Bjbbp_KS.js">
246
- <link rel="modulepreload" crossorigin href="/assets/useSharedWebSocket-g0nTHfTT.js">
247
- <link rel="modulepreload" crossorigin href="/assets/Trans-Br_OIUKP.js">
248
- <link rel="modulepreload" crossorigin href="/assets/useDesktop-ChSmmJfc.js">
246
+ <link rel="modulepreload" crossorigin href="/assets/useSharedWebSocket-DaWuiO0S.js">
247
+ <link rel="modulepreload" crossorigin href="/assets/Trans-D5eOjfvG.js">
248
+ <link rel="modulepreload" crossorigin href="/assets/useDesktop-DKNbOF0u.js">
249
249
  <link rel="modulepreload" crossorigin href="/assets/provider-capabilities-lePfeT_Y.js">
250
250
  <link rel="modulepreload" crossorigin href="/assets/save-OsUqVn99.js">
251
- <link rel="modulepreload" crossorigin href="/assets/spending-EXaboRU0.js">
251
+ <link rel="modulepreload" crossorigin href="/assets/spending-DQDNtM8q.js">
252
252
  <link rel="modulepreload" crossorigin href="/assets/sparkles-DrY8hb0X.js">
253
253
  <link rel="modulepreload" crossorigin href="/assets/x-CBMI9ejn.js">
254
- <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-Bc9xHByW.js">
254
+ <link rel="modulepreload" crossorigin href="/assets/MinimizedChatsContext-CroAs6Kh.js">
255
255
  <link rel="modulepreload" crossorigin href="/assets/zap-CUOlvtT1.js">
256
256
  <link rel="modulepreload" crossorigin href="/assets/file-text-BcLCfcWZ.js">
257
257
  <link rel="modulepreload" crossorigin href="/assets/circle-x-CMYsN4ZH.js">
@@ -266,20 +266,20 @@
266
266
  <link rel="modulepreload" crossorigin href="/assets/search-Cq_gE3Ik.js">
267
267
  <link rel="modulepreload" crossorigin href="/assets/trash-2-BOU3WdZZ.js">
268
268
  <link rel="modulepreload" crossorigin href="/assets/triangle-alert-H9T4jAmh.js">
269
- <link rel="modulepreload" crossorigin href="/assets/jira-api-C2Tzc362.js">
269
+ <link rel="modulepreload" crossorigin href="/assets/jira-api-Bp0zXwjg.js">
270
270
  <link rel="modulepreload" crossorigin href="/assets/clsx-CjueKrWZ.js">
271
271
  <link rel="modulepreload" crossorigin href="/assets/utils-BC4DHlz2.js">
272
272
  <link rel="modulepreload" crossorigin href="/assets/dialog-CMgps2MY.js">
273
273
  <link rel="modulepreload" crossorigin href="/assets/lib-CGdyxIWg.js">
274
- <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-Bq0CXBaJ.js">
275
- <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-Q7QPRFV4.js">
274
+ <link rel="modulepreload" crossorigin href="/assets/getTimezoneOffsetInMilliseconds-9JiGlFrx.js">
275
+ <link rel="modulepreload" crossorigin href="/assets/formatDistanceToNow-DZ3VWsHq.js">
276
276
  <link rel="modulepreload" crossorigin href="/assets/button-D1xExSTF.js">
277
- <link rel="modulepreload" crossorigin href="/assets/project-repositories-DZKmieH3.js">
278
- <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-D3PlHIM-.js">
279
- <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-gGUv7gsQ.js">
277
+ <link rel="modulepreload" crossorigin href="/assets/project-repositories-CadLZOnr.js">
278
+ <link rel="modulepreload" crossorigin href="/assets/RepositoryScopeSelector-CeCr6Jz-.js">
279
+ <link rel="modulepreload" crossorigin href="/assets/TicketDetailModalContext-YBJX3RmP.js">
280
280
  <link rel="modulepreload" crossorigin href="/assets/core-B3mKBIh5.js">
281
- <link rel="modulepreload" crossorigin href="/assets/RepositoryDeliveries-DIWDFLRM.js">
282
- <link rel="modulepreload" crossorigin href="/assets/useRuntimeRuns-w9-5OzZl.js">
281
+ <link rel="modulepreload" crossorigin href="/assets/RepositoryDeliveries-DJCm1pZr.js">
282
+ <link rel="modulepreload" crossorigin href="/assets/useRuntimeRuns-D3YMw9qx.js">
283
283
  <link rel="modulepreload" crossorigin href="/assets/event-Bt7f3wXe.js">
284
284
  <link rel="stylesheet" crossorigin href="/assets/index-Bfunvi6w.css">
285
285
  </head>
@@ -51,9 +51,9 @@ specrails-desktop list # verify
51
51
 
52
52
  The setup wizard runs automatically. Three steps:
53
53
 
54
- 1. **Configure** — choose which agents to install (the baseline trio `sr-architect`, `sr-developer`, `sr-reviewer` is always selected; optional agents like Test Writer or Security Reviewer are opt-in). Pick a model preset (Balanced / Budget / Max) and optionally override the model per agent.
54
+ 1. **Configure** — pick a model preset (Balanced / Budget / Max) and optionally override the model per agent. There are no role files to choose or install: the three pipeline roles (`sr-architect`, `sr-developer`, `sr-reviewer`) are defined by the Core engine's runtime, and their definitions, provider and model live in **Settings → Agent runtime**.
55
55
  2. **Install** — the app runs the installer (`npx --yes --prefer-online specrails-core@^5.1.0 init --yes --from-config <config>`) non-interactively and streams the output live. The version is pinned to the core release the app ships with — it never silently jumps to a new major.
56
- 3. **Done** — a summary tells you how many agents and commands landed. Click **Continue to project**.
56
+ 3. **Done** — a summary tells you how many commands landed; its **Agents** tile counts only the project's custom roles (`custom-*`), because the baseline roles are not installed as files. Click **Continue to project**.
57
57
 
58
58
  That's the whole onboarding. No tier picker, no second wizard. You can manage agents and their per-agent models later from the **Agents** page (Profiles tab).
59
59
 
@@ -28,7 +28,7 @@ Innerhalb eines Durchlaufs wird Arbeit *geroutet*. Eine Aufgabe trägt Tags, und
28
28
 
29
29
  ## Eine wichtige Idee vorab
30
30
 
31
- Die *Definition* jedes Agents – seine Anweisungen, seine Persönlichkeit, was er darf – ist **geteilt**. Sie lebt als Datei (`.claude/agents/<id>.md`), die mit deinem Repository mitreist, sodass dein ganzes Team denselben Architekten und denselben Reviewer nutzt.
31
+ Die *Definition* jedes Basis-Agents – seine Anweisungen, seine Persönlichkeit, was er darf – kommt aus der **Laufzeit** der Core-Engine, nicht aus einer Datei in deinem Repository. Es gibt nichts zu installieren und nichts synchron zu halten: Du liest die Definition jeder Rolle im Agents-Katalog und passt sie für alle Projekte unter **Einstellungen → Agenten-Laufzeit** an. Custom-Agents sind die Ausnahme – sie leben als Dateien (`.claude/agents/custom-*.md`), die mit deinem Repository mitreisen, sodass dein ganzes Team dieselben nutzt.
32
32
 
33
33
  Was **pro Projekt** gilt, ist die *Konfiguration* darüber: mit welchem Modell jeder Agent läuft und welche Kombination von Agents du für eine bestimmte Rail wählst. Genau dafür sind Profile da – und das ist die nächste Seite.
34
34
 
@@ -12,7 +12,7 @@ Du findest Profile im Bereich **Agents** jedes Projekts (rechte Seitenleiste →
12
12
 
13
13
  Von Haus aus löst ein Projekt auf ein sinnvolles **default**-Profil auf. Es enthält das Basis-Trio – `sr-architect`, `sr-developer`, `sr-reviewer` – und routet über eine einzige Auffangregel jede Aufgabe an den Developer. Die Modelle sind für den Alltag ausgewogen: ein leistungsfähiges Modell dort, wo es zählt, ohne bei jedem Schritt zur teuersten Option zu greifen.
14
14
 
15
- Falls dein Projekt die Agent-Modelle bereits auf die alte Weise konfiguriert hatte (in der Frontmatter der Agent-Dateien), liest der **Migrieren**-Button diese aus und baut ein `default`-Profil, das das heutige Verhalten exakt abbildet – verlustfrei, nichts ändert sich, bis du dich entscheidest, daran zu drehen.
15
+ Der Button **Aus aktuellen Agents migrieren** baut ein `default`-Profil aus dem Basis-Trio und den Custom-Agents, die das Projekt bereits hat – es bildet das heutige Verhalten exakt ab und braucht keine einzige Rollendatei. Trägt eine ältere Installation noch Agent-Dateien mit Modellen in der Frontmatter, bleiben diese Modelle erhalten; nichts ändert sich, bis du dich entscheidest, daran zu drehen.
16
16
 
17
17
  Die Kernaussage: **Du musst kein Profil erstellen, um Specrails zu nutzen.** Der Standard funktioniert einfach. Profile sind der Weg, weiterzugehen.
18
18
 
@@ -15,7 +15,7 @@ Wähle unter **Agents → Profile** ein Profil aus und öffne seinen Agent-Kette
15
15
 
16
16
  Die Modellwerte sind Aliasse – für Claude sind das `opus`, `sonnet` und `haiku` (am leistungsfähigsten → am schnellsten). Setze pro Agent den gewünschten Alias:
17
17
 
18
- - Lass das Modell eines Agents **leer**, um auf den Standard der Agent-Datei zurückzufallen.
18
+ - Lass das Modell eines Agents **leer**, um auf den eigenen Standard der Rolle zurückzufallen – beim Basis-Trio sind das Provider und Modell aus **Einstellungen → Agenten-Laufzeit**; ein Custom-Agent fällt auf die Frontmatter seiner Datei zurück.
19
19
  - Setze es ausdrücklich, um es nur für dieses Profil zu überschreiben.
20
20
 
21
21
  Speichere, und die nächste mit diesem Profil gestartete Rail nutzt die neuen Modelle. Bereits laufende Jobs behalten ihren Snapshot.
@@ -4,16 +4,16 @@ Profile entscheiden, *welche Agents mit welchen Modellen laufen*. Doch woher kom
4
4
 
5
5
  Öffne in einem beliebigen Projekt **Agents → Katalog**. Es ist eine schreibgeschützte Ansicht jedes Agents, der diesem Projekt zur Verfügung steht, in zwei Gruppen:
6
6
 
7
- - **Upstream-Agents** – die Agents, die mit `specrails-core` ausgeliefert werden: das Basis-Trio (`sr-architect`, `sr-developer`, `sr-reviewer`) und etwaige Spezialisten wie `sr-merge-resolver`.
7
+ - **Upstream-Agents** – die Rollen, die die Core-Engine zur Laufzeit definiert: das Basis-Trio (`sr-architect`, `sr-developer`, `sr-reviewer`). Sie sind keine Dateien in deinem Repo; der Katalog zeigt die live geltende Definition jeder Rolle schreibgeschützt an, bearbeiten kannst du sie unter **Einstellungen → Agenten-Laufzeit**.
8
8
  - **Custom-Agents** – Agents, die du selbst hinzugefügt hast, benannt als `custom-*`.
9
9
 
10
- Jeder Katalogeintrag zeigt, wofür der Agent da ist und welches Standardmodell er nutzt, sodass du die vollständige Aufstellung sehen kannst, bevor du Agents in eine Profil-Kette einbindest.
10
+ Jeder Katalogeintrag zeigt, wofür der Agent da ist; Custom-Agents zeigen zusätzlich ihr Standardmodell, während die Basis-Rollen mit Provider und Modell aus **Einstellungen → Agenten-Laufzeit** laufen. So siehst du in jedem Fall die vollständige Aufstellung, bevor du Agents in eine Profil-Kette einbindest.
11
11
 
12
12
  ## Einen Custom-Agent hinzufügen
13
13
 
14
14
  Weil sie in deinem Repo leben, sind Custom-Agents **committfähige Team-Assets**: Committe die Datei, und dein ganzes Team bekommt den Agent. Das spiegelt die Kernidee, die sich durch den gesamten Agents-Bereich zieht –
15
15
 
16
- > **Agent-Definitionen sind geteilt (sie leben im Repo und reisen mit `git` mit). Die Modellkonfiguration ist projektbezogen (sie lebt in Profilen).**
16
+ > **Custom-Agent-Definitionen sind geteilt (sie leben im Repo und reisen mit `git` mit); die Basis-Rollen definiert die Core-Laufzeit. Die Modellkonfiguration ist projektbezogen (sie lebt in Profilen).**
17
17
 
18
18
  ## Einen Custom-Agent einsetzen
19
19
 
@@ -28,7 +28,7 @@ Within a run, work is *routed*. A task carries tags, and a profile's routing rul
28
28
 
29
29
  ## One important idea, up front
30
30
 
31
- The *definition* of each agent — its instructions, its personality, what it's allowed to do — is **shared**. These live as files (`.claude/agents/<id>.md`) that travel with your repository, so your whole team runs the same architect, the same reviewer.
31
+ The *definition* of each baseline agent — its instructions, its personality, what it's allowed to do — comes from the Core engine's **runtime**, not from a file in your repository. There's nothing to install and nothing to keep in sync: read each role's definition in the Agents catalog and tune it for every project in **Settings → Agent runtime**. Custom agents are the exception — they live as files (`.claude/agents/custom-*.md`) that travel with your repository, so your whole team runs the same ones.
32
32
 
33
33
  What's **per-project** is the *configuration* on top: which model each agent runs with, and which combination of agents you pick for a given rail. That's what profiles are for — and that's the next page.
34
34
 
@@ -12,7 +12,7 @@ You'll find profiles in the **Agents** section of any project (right sidebar →
12
12
 
13
13
  Out of the box, a project resolves to a sensible **default** profile. It includes the baseline trio — `sr-architect`, `sr-developer`, `sr-reviewer` — and routes every task to the developer through a single catch-all rule. The models are balanced for everyday work: a capable model where it matters, without reaching for the most expensive option on every step.
14
14
 
15
- If your project already had agent models configured the old way (in the agent files' frontmatter), the **Migrate** button reads those and builds a `default` profile that mirrors today's behaviour exactly — zero loss, nothing changes until you decide to tune it.
15
+ The **Migrate from current agents** button builds a `default` profile from the baseline trio and whatever custom agents the project already has — it mirrors today's behaviour exactly and needs no role file to exist. If an older install still carries agent files with models in their frontmatter, those models are kept; nothing changes until you decide to tune it.
16
16
 
17
17
  The headline: **you don't have to create a profile to use Specrails.** The default just works. Profiles are how you go further.
18
18
 
@@ -15,7 +15,7 @@ In **Agents → Profiles**, select a profile and open its agent chain editor. Ea
15
15
 
16
16
  The model values are aliases — for Claude that's `opus`, `sonnet`, and `haiku` (most capable → fastest). Set the alias you want per agent:
17
17
 
18
- - Leave an agent's model **blank** to fall back to the agent file's own default.
18
+ - Leave an agent's model **blank** to fall back to the role's own default — for the baseline trio that's the provider and model set in **Settings → Agent runtime**; a custom agent falls back to its file's frontmatter.
19
19
  - Set it explicitly to override just for this profile.
20
20
 
21
21
  Save, and the next rail launched with that profile uses the new models. Jobs already running keep their snapshot.
@@ -4,16 +4,16 @@ Profiles decide *which agents run and with what models*. But where do the agents
4
4
 
5
5
  Open **Agents → Catalog** in any project. It's a read-only viewer of every agent available to that project, in two groups:
6
6
 
7
- - **Upstream agents** — the agents that ship with `specrails-core`: the baseline trio (`sr-architect`, `sr-developer`, `sr-reviewer`) and any specialists like `sr-merge-resolver`.
7
+ - **Upstream agents** — the roles the Core engine defines at runtime: the baseline trio (`sr-architect`, `sr-developer`, `sr-reviewer`). They're not files in your repo; the catalog shows each role's live definition read-only, and you edit it in **Settings → Agent runtime**.
8
8
  - **Custom agents** — agents you've added yourself, named `custom-*`.
9
9
 
10
- Each catalog entry shows what the agent is for and its default model, so you can see the full roster before wiring agents into a profile chain.
10
+ Each catalog entry shows what the agent is for; custom agents also show their default model, while the baseline roles run with the provider and model set in **Settings → Agent runtime**. Either way you can see the full roster before wiring agents into a profile chain.
11
11
 
12
12
  ## Adding a custom agent
13
13
 
14
14
  Because they live in your repo, custom agents are **committable team assets**: commit the file and your whole team gets the agent. This mirrors the core idea throughout the Agents section —
15
15
 
16
- > **Agent definitions are shared (they live in the repo and travel with `git`). Model configuration is per-project (it lives in profiles).**
16
+ > **Custom agent definitions are shared (they live in the repo and travel with `git`); the baseline roles are defined by the Core runtime. Model configuration is per-project (it lives in profiles).**
17
17
 
18
18
  ## Putting a custom agent to work
19
19
 
@@ -28,7 +28,7 @@ Dentro de una ejecución, el trabajo se *enruta*. Cada tarea lleva etiquetas, y
28
28
 
29
29
  ## Una idea importante, de entrada
30
30
 
31
- La *definición* de cada agente — sus instrucciones, su personalidad, lo que tiene permitido hacer — es **compartida**. Vive en archivos (`.claude/agents/<id>.md`) que viajan con tu repositorio, así que todo tu equipo ejecuta el mismo architect, el mismo reviewer.
31
+ La *definición* de cada agente base — sus instrucciones, su personalidad, lo que tiene permitido hacer — viene del **runtime** del motor Core, no de un archivo en tu repositorio. No hay nada que instalar ni que mantener sincronizado: lee la definición de cada rol en el catálogo de Agentes y ajústala para todos los proyectos en **Ajustes → Motor de agentes**. Los agentes personalizados son la excepción: viven en archivos (`.claude/agents/custom-*.md`) que viajan con tu repositorio, así que todo tu equipo ejecuta los mismos.
32
32
 
33
33
  Lo que es **por proyecto** es la *configuración* que se monta encima: con qué modelo corre cada agente y qué combinación de agentes eliges para un rail concreto. Para eso están los perfiles — y de eso trata la siguiente página.
34
34
 
@@ -12,7 +12,7 @@ Encontrarás los perfiles en la sección **Agentes** de cualquier proyecto (barr
12
12
 
13
13
  Desde el primer momento, un proyecto resuelve hacia un perfil **default** sensato. Incluye el trío base — `sr-architect`, `sr-developer`, `sr-reviewer` — y enruta cada tarea al developer mediante una única regla comodín. Los modelos están equilibrados para el trabajo del día a día: un modelo capaz donde importa, sin tirar de la opción más cara en cada paso.
14
14
 
15
- Si tu proyecto ya tenía los modelos de los agentes configurados a la antigua usanza (en el frontmatter de los archivos de agente), el botón **Migrar** los lee y construye un perfil `default` que replica el comportamiento actual exactamente — sin pérdidas, nada cambia hasta que tú decidas ajustarlo.
15
+ El botón **Migrar desde los agentes actuales** construye un perfil `default` a partir del trío base y de los agentes personalizados que el proyecto ya tenga — replica el comportamiento actual exactamente y no necesita que exista ningún archivo de rol. Si una instalación antigua aún conserva archivos de agente con modelos en su frontmatter, esos modelos se mantienen; nada cambia hasta que tú decidas ajustarlo.
16
16
 
17
17
  El titular: **no necesitas crear un perfil para usar Specrails.** El default simplemente funciona. Los perfiles son la forma de llegar más lejos.
18
18
 
@@ -15,7 +15,7 @@ En **Agentes → Perfiles**, selecciona un perfil y abre su editor de cadena de
15
15
 
16
16
  Los valores de modelo son alias — para Claude son `opus`, `sonnet` y `haiku` (de más capaz → más rápido). Asigna el alias que quieras por agente:
17
17
 
18
- - Deja el modelo de un agente **en blanco** para que recurra al default propio del archivo del agente.
18
+ - Deja el modelo de un agente **en blanco** para que recurra al default propio del rol — en el trío base son el proveedor y el modelo configurados en **Ajustes → Motor de agentes**; un agente personalizado recurre al frontmatter de su archivo.
19
19
  - Asígnalo explícitamente para sobrescribirlo solo en este perfil.
20
20
 
21
21
  Guarda, y el próximo rail lanzado con ese perfil usará los nuevos modelos. Los jobs que ya están en marcha conservan su snapshot.
@@ -4,16 +4,16 @@ Los perfiles deciden *qué agentes corren y con qué modelos*. Pero ¿de dónde
4
4
 
5
5
  Abre **Agentes → Catálogo** en cualquier proyecto. Es un visor de solo lectura de todos los agentes disponibles para ese proyecto, en dos grupos:
6
6
 
7
- - **Agentes upstream** — los agentes que vienen con `specrails-core`: el trío base (`sr-architect`, `sr-developer`, `sr-reviewer`) y cualquier especialista como `sr-merge-resolver`.
7
+ - **Agentes upstream** — los roles que el motor Core define en tiempo de ejecución: el trío base (`sr-architect`, `sr-developer`, `sr-reviewer`). No son archivos de tu repo; el catálogo muestra la definición viva de cada rol en modo solo lectura, y la editas en **Ajustes → Motor de agentes**.
8
8
  - **Agentes personalizados** — agentes que has añadido tú, con el nombre `custom-*`.
9
9
 
10
- Cada entrada del catálogo muestra para qué sirve el agente y su modelo por defecto, así que puedes ver la plantilla completa antes de conectar agentes a la cadena de un perfil.
10
+ Cada entrada del catálogo muestra para qué sirve el agente; los agentes personalizados muestran además su modelo por defecto, mientras que los roles base se ejecutan con el proveedor y el modelo configurados en **Ajustes → Motor de agentes**. En cualquier caso puedes ver la plantilla completa antes de conectar agentes a la cadena de un perfil.
11
11
 
12
12
  ## Añadir un agente personalizado
13
13
 
14
14
  Como viven en tu repo, los agentes personalizados son **activos de equipo commiteables**: commitea el archivo y todo tu equipo recibe el agente. Esto refleja la idea central de toda la sección Agentes —
15
15
 
16
- > **Las definiciones de los agentes son compartidas (viven en el repo y viajan con `git`). La configuración de modelos es por proyecto (vive en los perfiles).**
16
+ > **Las definiciones de los agentes personalizados son compartidas (viven en el repo y viajan con `git`); los roles base los define el runtime de Core. La configuración de modelos es por proyecto (vive en los perfiles).**
17
17
 
18
18
  ## Poner a trabajar un agente personalizado
19
19
 
@@ -28,7 +28,7 @@ Au sein d'une exécution, le travail est *routé*. Une tâche porte des tags, et
28
28
 
29
29
  ## Une idée importante, dès le départ
30
30
 
31
- La *définition* de chaque agent — ses instructions, sa personnalité, ce qu'il a le droit de faire — est **partagée**. Elle vit dans des fichiers (`.claude/agents/<id>.md`) qui voyagent avec votre dépôt, si bien que toute votre équipe fait tourner le même architecte, le même relecteur.
31
+ La *définition* de chaque agent de base — ses instructions, sa personnalité, ce qu'il a le droit de faire — vient du **runtime** du moteur Core, pas d'un fichier dans votre dépôt. Il n'y a rien à installer ni à garder synchronisé : lisez la définition de chaque rôle dans le catalogue des Agents et ajustez-la pour tous les projets dans **Paramètres → Moteur d’agents**. Les agents personnalisés sont l'exception : ils vivent dans des fichiers (`.claude/agents/custom-*.md`) qui voyagent avec votre dépôt, si bien que toute votre équipe fait tourner les mêmes.
32
32
 
33
33
  Ce qui est **propre à chaque projet**, c'est la *configuration* qui se superpose : quel modèle chaque agent utilise, et quelle combinaison d'agents vous choisissez pour un rail donné. C'est précisément à cela que servent les profils — et c'est l'objet de la page suivante.
34
34
 
@@ -12,7 +12,7 @@ Vous trouverez les profils dans la section **Agents** de n'importe quel projet (
12
12
 
13
13
  Par défaut, un projet se rabat sur un profil **default** sensé. Il inclut le trio de base — `sr-architect`, `sr-developer`, `sr-reviewer` — et route chaque tâche vers le développeur via une unique règle fourre-tout. Les modèles sont équilibrés pour le travail quotidien : un modèle compétent là où ça compte, sans dégainer l'option la plus chère à chaque étape.
14
14
 
15
- Si votre projet avait déjà des modèles d'agents configurés à l'ancienne (dans le frontmatter des fichiers d'agents), le bouton **Migrer** les lit et construit un profil `default` qui reproduit exactement le comportement actuel — aucune perte, rien ne change tant que vous ne décidez pas de l'ajuster.
15
+ Le bouton **Migrer depuis les agents actuels** construit un profil `default` à partir du trio de base et des agents personnalisés que le projet possède déjà — il reproduit exactement le comportement actuel et n'a besoin d'aucun fichier de rôle. Si une installation plus ancienne contient encore des fichiers d'agents avec des modèles dans leur frontmatter, ces modèles sont conservés ; rien ne change tant que vous ne décidez pas de l'ajuster.
16
16
 
17
17
  L'essentiel à retenir : **vous n'avez pas besoin de créer un profil pour utiliser Specrails.** Le défaut fait simplement le travail. Les profils, c'est la manière d'aller plus loin.
18
18
 
@@ -15,7 +15,7 @@ Dans **Agents → Profils**, sélectionnez un profil et ouvrez son éditeur de c
15
15
 
16
16
  Les valeurs de modèle sont des alias — pour Claude, ce sont `opus`, `sonnet` et `haiku` (du plus capable au plus rapide). Définissez l'alias souhaité par agent :
17
17
 
18
- - Laissez le modèle d'un agent **vide** pour revenir au défaut propre au fichier de l'agent.
18
+ - Laissez le modèle d'un agent **vide** pour revenir au défaut propre au rôle — pour le trio de base, ce sont le fournisseur et le modèle définis dans **Paramètres → Moteur d’agents** ; un agent personnalisé revient au frontmatter de son fichier.
19
19
  - Définissez-le explicitement pour le surcharger uniquement pour ce profil.
20
20
 
21
21
  Enregistrez, et le prochain rail lancé avec ce profil utilisera les nouveaux modèles. Les jobs déjà en cours conservent leur snapshot.
@@ -4,16 +4,16 @@ Les profils décident *quels agents s'exécutent et avec quels modèles*. Mais d
4
4
 
5
5
  Ouvrez **Agents → Catalogue** dans n'importe quel projet. C'est un visualiseur en lecture seule de tous les agents disponibles pour ce projet, répartis en deux groupes :
6
6
 
7
- - **Agents upstream** — les agents fournis avec `specrails-core` : le trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`) et d'éventuels spécialistes comme `sr-merge-resolver`.
7
+ - **Agents upstream** — les rôles que le moteur Core définit à l'exécution : le trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`). Ce ne sont pas des fichiers de votre dépôt ; le catalogue affiche la définition en vigueur de chaque rôle en lecture seule, et vous la modifiez dans **Paramètres → Moteur d’agents**.
8
8
  - **Agents personnalisés** — les agents que vous avez ajoutés vous-même, nommés `custom-*`.
9
9
 
10
- Chaque entrée du catalogue indique à quoi sert l'agent et son modèle par défaut, ce qui vous permet de voir l'effectif complet avant de câbler des agents dans la chaîne d'un profil.
10
+ Chaque entrée du catalogue indique à quoi sert l'agent ; les agents personnalisés affichent aussi leur modèle par défaut, tandis que les rôles de base tournent avec le fournisseur et le modèle définis dans **Paramètres → Moteur d’agents**. Dans tous les cas, vous voyez l'effectif complet avant de câbler des agents dans la chaîne d'un profil.
11
11
 
12
12
  ## Ajouter un agent personnalisé
13
13
 
14
14
  Parce qu'ils vivent dans votre dépôt, les agents personnalisés sont des **ressources d'équipe commitables** : commitez le fichier et toute votre équipe récupère l'agent. Cela reflète l'idée centrale qui traverse toute la section Agents —
15
15
 
16
- > **Les définitions d'agents sont partagées (elles vivent dans le dépôt et voyagent avec `git`). La configuration des modèles est propre au projet (elle vit dans les profils).**
16
+ > **Les définitions des agents personnalisés sont partagées (elles vivent dans le dépôt et voyagent avec `git`) ; les rôles de base sont définis par le runtime de Core. La configuration des modèles est propre au projet (elle vit dans les profils).**
17
17
 
18
18
  ## Mettre un agent personnalisé au travail
19
19
 
@@ -28,7 +28,7 @@ All'interno di un'esecuzione, il lavoro viene *instradato*. Un task porta con s
28
28
 
29
29
  ## Un'idea importante, da subito
30
30
 
31
- La *definizione* di ciascun agente — le sue istruzioni, la sua personalità, ciò che gli è consentito fare — è **condivisa**. Queste definizioni vivono come file (`.claude/agents/<id>.md`) che viaggiano insieme al tuo repository, così tutta la tua squadra usa lo stesso architect, lo stesso reviewer.
31
+ La *definizione* di ciascun agente di base — le sue istruzioni, la sua personalità, ciò che gli è consentito fare — arriva dal **runtime** dell'engine Core, non da un file nel tuo repository. Non c'è nulla da installare né da tenere sincronizzato: leggi la definizione di ogni ruolo nel catalogo degli Agenti e la regoli per tutti i progetti in **Impostazioni → Motore degli agenti**. Gli agenti personalizzati sono l'eccezione: vivono come file (`.claude/agents/custom-*.md`) che viaggiano insieme al tuo repository, così tutta la tua squadra usa gli stessi.
32
32
 
33
33
  Ciò che invece è **per progetto** è la *configurazione* che ci sta sopra: con quale modello gira ciascun agente e quale combinazione di agenti scegli per un dato rail. È a questo che servono i profili — ed è proprio l'argomento della prossima pagina.
34
34
 
@@ -12,7 +12,7 @@ Trovi i profili nella sezione **Agenti** di qualsiasi progetto (barra laterale d
12
12
 
13
13
  Fin da subito, un progetto si risolve verso un sensato profilo **default**. Include il trio di base — `sr-architect`, `sr-developer`, `sr-reviewer` — e instrada ogni task al developer tramite un'unica regola "cattura-tutto". I modelli sono bilanciati per il lavoro di tutti i giorni: un modello capace dove conta, senza ricorrere all'opzione più costosa a ogni passaggio.
14
14
 
15
- Se nel tuo progetto i modelli degli agenti erano già configurati alla vecchia maniera (nel frontmatter dei file agente), il pulsante **Migra** li legge e costruisce un profilo `default` che rispecchia esattamente il comportamento attuale — nessuna perdita, niente cambia finché non decidi tu di metterci mano.
15
+ Il pulsante **Migra dagli agenti attuali** costruisce un profilo `default` a partire dal trio di base e dagli agenti personalizzati che il progetto ha già — rispecchia esattamente il comportamento attuale e non ha bisogno di alcun file di ruolo. Se un'installazione più vecchia conserva ancora file agente con i modelli nel frontmatter, quei modelli vengono mantenuti; niente cambia finché non decidi tu di metterci mano.
16
16
 
17
17
  Il punto chiave: **non sei obbligato a creare un profilo per usare Specrails.** Il default funziona e basta. I profili sono il modo per andare oltre.
18
18
 
@@ -15,7 +15,7 @@ In **Agenti → Profili**, seleziona un profilo e apri il suo editor della caten
15
15
 
16
16
  I valori dei modelli sono alias — per Claude sono `opus`, `sonnet` e `haiku` (dal più capace → al più veloce). Imposta l'alias che desideri per ogni agente:
17
17
 
18
- - Lascia il modello di un agente **vuoto** per ricadere sul default presente nel file dell'agente.
18
+ - Lascia il modello di un agente **vuoto** per ricadere sul default proprio del ruolo — per il trio di base sono il provider e il modello impostati in **Impostazioni → Motore degli agenti**; un agente personalizzato ricade sul frontmatter del suo file.
19
19
  - Impostalo esplicitamente per fare l'override solo per questo profilo.
20
20
 
21
21
  Salva, e il prossimo rail avviato con quel profilo userà i nuovi modelli. I job già in esecuzione mantengono il loro snapshot.
@@ -4,16 +4,16 @@ I profili decidono *quali agenti girano e con quali modelli*. Ma da dove arrivan
4
4
 
5
5
  Apri **Agenti → Catalogo** in qualsiasi progetto. È un visualizzatore in sola lettura di ogni agente disponibile per quel progetto, suddiviso in due gruppi:
6
6
 
7
- - **Agenti upstream** — gli agenti forniti con `specrails-core`: il trio di base (`sr-architect`, `sr-developer`, `sr-reviewer`) ed eventuali specialisti come `sr-merge-resolver`.
7
+ - **Agenti upstream** — i ruoli che l'engine Core definisce a runtime: il trio di base (`sr-architect`, `sr-developer`, `sr-reviewer`). Non sono file nel tuo repo; il catalogo mostra in sola lettura la definizione attiva di ogni ruolo, e la modifichi in **Impostazioni → Motore degli agenti**.
8
8
  - **Agenti custom** — gli agenti che hai aggiunto tu, con nome `custom-*`.
9
9
 
10
- Ogni voce del catalogo mostra a cosa serve l'agente e il suo modello predefinito, così puoi vedere la rosa completa prima di collegare gli agenti a una catena di profilo.
10
+ Ogni voce del catalogo mostra a cosa serve l'agente; gli agenti personalizzati mostrano anche il loro modello predefinito, mentre i ruoli di base girano con il provider e il modello impostati in **Impostazioni → Motore degli agenti**. In ogni caso puoi vedere la rosa completa prima di collegare gli agenti a una catena di profilo.
11
11
 
12
12
  ## Aggiungere un agente custom
13
13
 
14
14
  Poiché vivono nel tuo repo, gli agenti custom sono **asset di squadra committabili**: committi il file e tutta la tua squadra ottiene l'agente. Questo riflette l'idea centrale che attraversa l'intera sezione Agenti —
15
15
 
16
- > **Le definizioni degli agenti sono condivise (vivono nel repo e viaggiano con `git`). La configurazione dei modelli è per progetto (vive nei profili).**
16
+ > **Le definizioni degli agenti personalizzati sono condivise (vivono nel repo e viaggiano con `git`); i ruoli di base li definisce il runtime di Core. La configurazione dei modelli è per progetto (vive nei profili).**
17
17
 
18
18
  ## Mettere al lavoro un agente custom
19
19
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  ## 最初に押さえておきたい大切な考え方
30
30
 
31
- 各エージェントの *定義* ——その指示内容、その個性、できることの範囲—— は **共有** されます。これらはファイル(`.claude/agents/<id>.md`)として存在し、リポジトリと一緒に移動します。そのため、チーム全体が同じアーキテクト、同じレビュアーを動かすことになります。
31
+ 基本エージェントの *定義* ——その指示内容、その個性、できることの範囲—— は、リポジトリ内のファイルではなく、Core エンジンの **ランタイム** から来ます。インストールするものも、同期を保つものもありません。各ロールの定義は Agents カタログで読め、**設定 → エージェント実行エンジン** ですべてのプロジェクト向けに調整できます。例外はカスタムエージェントです。こちらはファイル(`.claude/agents/custom-*.md`)として存在し、リポジトリと一緒に移動するので、チーム全体が同じものを動かすことになります。
32
32
 
33
33
  一方、**プロジェクトごと** になるのは、その上に重なる *設定* です: 各エージェントがどのモデルで動くか、そしてあるレールにどのエージェントの組み合わせを選ぶか。それこそがプロファイルの役割です —— そしてそれが次のページの話題です。
34
34
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  最初の状態では、プロジェクトは適切な **default** プロファイルに解決されます。これは基本のトリオ —— `sr-architect`、`sr-developer`、`sr-reviewer` —— を含み、単一の包括ルールを通じて、すべてのタスクをデベロッパーへルーティングします。モデルは日々の作業に向けてバランスよく選ばれており、肝心なところでは有能なモデルを使いつつ、すべてのステップで最も高価な選択肢に手を伸ばすことはありません。
14
14
 
15
- もしプロジェクトで、すでに従来の方法(エージェントファイルのフロントマター)でエージェントのモデルを設定していた場合は、**Migrate** ボタンがそれらを読み取り、今の動作をそのまま忠実に再現する `default` プロファイルを作成します —— 損失ゼロで、あなたが調整しようと決めるまで何も変わりません。
15
+ **現在のエージェントから移行** ボタンは、基本のトリオと、プロジェクトにすでにあるカスタムエージェントから `default` プロファイルを作成します —— 今の動作をそのまま忠実に再現し、ロールファイルは一つも必要ありません。古いインストールにフロントマターでモデルを指定したエージェントファイルがまだ残っていれば、そのモデルは引き継がれます。あなたが調整しようと決めるまで何も変わりません。
16
16
 
17
17
  要点はこうです: **Specrails を使うのにプロファイルを作る必要はありません。** デフォルトのままでちゃんと動きます。プロファイルは、そこからさらに踏み込むための手段です。
18
18
 
@@ -15,7 +15,7 @@
15
15
 
16
16
  モデルの値はエイリアスです —— Claude の場合は `opus`、`sonnet`、`haiku`(最も有能 → 最も高速)です。エージェントごとに、使いたいエイリアスを設定してください。
17
17
 
18
- - エージェントのモデルを **空欄** のままにすると、そのエージェントファイル自身のデフォルトにフォールバックします。
18
+ - エージェントのモデルを **空欄** のままにすると、そのロール自身のデフォルトにフォールバックします —— 基本のトリオなら **設定 → エージェント実行エンジン** で設定したプロバイダーとモデル、カスタムエージェントならそのファイルのフロントマターです。
19
19
  - 明示的に設定すると、このプロファイルだけで上書きします。
20
20
 
21
21
  保存すれば、そのプロファイルで次に起動されるレールは新しいモデルを使います。すでに実行中のジョブは、自分のスナップショットを保持します。
@@ -4,16 +4,16 @@
4
4
 
5
5
  どのプロジェクトでも **Agents → Catalog** を開いてください。そのプロジェクトで利用できるすべてのエージェントを、2つのグループに分けて表示する読み取り専用のビューアーです。
6
6
 
7
- - **アップストリームエージェント** —— `specrails-core` に付属するエージェント: 基本のトリオ(`sr-architect`、`sr-developer`、`sr-reviewer`)と、`sr-merge-resolver` のようなスペシャリストです。
7
+ - **アップストリームエージェント** —— Core エンジンがランタイムで定義するロール: 基本のトリオ(`sr-architect`、`sr-developer`、`sr-reviewer`)です。リポジトリ内のファイルではありません。カタログは各ロールの現在の定義を読み取り専用で表示し、編集は **設定 → エージェント実行エンジン** で行います。
8
8
  - **カスタムエージェント** —— あなた自身が追加した、`custom-*` という名前のエージェントです。
9
9
 
10
- 各カタログ項目には、そのエージェントが何のためのもので、どのデフォルトモデルを使うかが表示されるので、エージェントをプロファイルのチェーンに組み込む前に、全員の顔ぶれを確認できます。
10
+ 各カタログ項目には、そのエージェントが何のためのものかが表示されます。カスタムエージェントはデフォルトモデルも表示され、基本のロールは **設定 → エージェント実行エンジン** で設定したプロバイダーとモデルで動きます。いずれにせよ、エージェントをプロファイルのチェーンに組み込む前に、全員の顔ぶれを確認できます。
11
11
 
12
12
  ## カスタムエージェントを追加する
13
13
 
14
14
  カスタムエージェントはリポジトリの中に住んでいるので、**コミット可能なチームの資産** です: ファイルをコミットすれば、チーム全員がそのエージェントを手に入れます。これは Agents セクション全体を貫く中心的な考え方を映したものです ——
15
15
 
16
- > **エージェントの定義は共有されます(リポジトリの中に住み、`git` とともに移動します)。モデルの設定はプロジェクトごとです(プロファイルの中に住みます)。**
16
+ > **カスタムエージェントの定義は共有されます(リポジトリの中に住み、`git` とともに移動します)。基本のロールは Core のランタイムが定義します。モデルの設定はプロジェクトごとです(プロファイルの中に住みます)。**
17
17
 
18
18
  ## カスタムエージェントを実際に使う
19
19
 
@@ -28,7 +28,7 @@ Dentro de uma execução, o trabalho é *encaminhado*. Uma tarefa traz tags, e a
28
28
 
29
29
  ## Uma ideia importante, já agora
30
30
 
31
- A *definição* de cada agente — as suas instruções, a sua personalidade, o que lhe é permitido fazer — é **partilhada**. Vivem como ficheiros (`.claude/agents/<id>.md`) que viajam com o seu repositório, por isso toda a equipa corre o mesmo architect, o mesmo reviewer.
31
+ A *definição* de cada agente de base — as suas instruções, a sua personalidade, o que lhe é permitido fazer — vem do **runtime** do motor Core, não de um ficheiro no seu repositório. Não há nada para instalar nem para manter sincronizado: leia a definição de cada papel no catálogo de Agentes e afine-a para todos os projetos em **Configurações → Motor de agentes**. Os agentes personalizados são a exceção: vivem como ficheiros (`.claude/agents/custom-*.md`) que viajam com o seu repositório, por isso toda a equipa corre os mesmos.
32
32
 
33
33
  O que é **por projeto** é a *configuração* por cima: com que modelo cada agente corre, e que combinação de agentes escolhe para um dado rail. É para isso que servem os perfis — e esse é o tema da próxima página.
34
34
 
@@ -12,7 +12,7 @@ Vai encontrar os perfis na secção **Agentes** de qualquer projeto (barra later
12
12
 
13
13
  Logo à partida, um projeto resolve para um perfil **default** sensato. Inclui o trio de base — `sr-architect`, `sr-developer`, `sr-reviewer` — e encaminha todas as tarefas para o developer através de uma única regra do tipo apanha-tudo. Os modelos estão equilibrados para o trabalho do dia a dia: um modelo capaz onde importa, sem recorrer à opção mais cara em cada passo.
14
14
 
15
- Se o seu projeto já tinha os modelos dos agentes configurados à maneira antiga (no frontmatter dos ficheiros dos agentes), o botão **Migrar** lê esses valores e cria um perfil `default` que reflete exatamente o comportamento atual — sem perdas, nada muda até que decida afiná-lo.
15
+ O botão **Migrar a partir dos agentes atuais** cria um perfil `default` a partir do trio de base e dos agentes personalizados que o projeto já tem — reflete exatamente o comportamento atual e não precisa de nenhum ficheiro de papel. Se uma instalação mais antiga ainda guardar ficheiros de agentes com modelos no frontmatter, esses modelos são mantidos; nada muda até que decida afiná-lo.
16
16
 
17
17
  O ponto principal: **não precisa de criar um perfil para usar o Specrails.** A predefinição simplesmente funciona. Os perfis são a forma de ir mais além.
18
18
 
@@ -15,7 +15,7 @@ Em **Agentes → Perfis**, selecione um perfil e abra o seu editor de cadeia de
15
15
 
16
16
  Os valores de modelo são aliases — para o Claude são `opus`, `sonnet` e `haiku` (do mais capaz → ao mais rápido). Defina o alias que quiser por agente:
17
17
 
18
- - Deixe o modelo de um agente **em branco** para recorrer à predefinição do próprio ficheiro do agente.
18
+ - Deixe o modelo de um agente **em branco** para recorrer à predefinição do próprio papel — no trio de base são o fornecedor e o modelo definidos em **Configurações → Motor de agentes**; um agente personalizado recorre ao frontmatter do seu ficheiro.
19
19
  - Defina-o explicitamente para o substituir apenas neste perfil.
20
20
 
21
21
  Guarde, e o próximo rail lançado com esse perfil usa os novos modelos. Os jobs já em execução mantêm o seu snapshot.
@@ -4,16 +4,16 @@ Os perfis decidem *que agentes correm e com que modelos*. Mas de onde vêm os pr
4
4
 
5
5
  Abra **Agentes → Catálogo** em qualquer projeto. É um visualizador apenas de leitura de todos os agentes disponíveis para esse projeto, em dois grupos:
6
6
 
7
- - **Agentes upstream** — os agentes que vêm com o `specrails-core`: o trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`) e quaisquer especialistas como o `sr-merge-resolver`.
7
+ - **Agentes upstream** — os papéis que o motor Core define em tempo de execução: o trio de base (`sr-architect`, `sr-developer`, `sr-reviewer`). Não são ficheiros do seu repositório; o catálogo mostra a definição em vigor de cada papel apenas em leitura, e edita-a em **Configurações → Motor de agentes**.
8
8
  - **Agentes personalizados** — agentes que adicionou você mesmo, com o nome `custom-*`.
9
9
 
10
- Cada entrada do catálogo mostra para que serve o agente e o seu modelo predefinido, para que possa ver toda a equipa antes de ligar os agentes a uma cadeia de perfil.
10
+ Cada entrada do catálogo mostra para que serve o agente; os agentes personalizados mostram também o seu modelo predefinido, enquanto os papéis de base correm com o fornecedor e o modelo definidos em **Configurações → Motor de agentes**. Em qualquer caso, pode ver toda a equipa antes de ligar os agentes a uma cadeia de perfil.
11
11
 
12
12
  ## Adicionar um agente personalizado
13
13
 
14
14
  Como vivem no seu repositório, os agentes personalizados são **ativos de equipa que se podem committar**: faça commit do ficheiro e toda a equipa fica com o agente. Isto espelha a ideia central de toda a secção Agentes —
15
15
 
16
- > **As definições dos agentes são partilhadas (vivem no repositório e viajam com o `git`). A configuração dos modelos é por projeto (vive nos perfis).**
16
+ > **As definições dos agentes personalizados são partilhadas (vivem no repositório e viajam com o `git`); os papéis de base são definidos pelo runtime do Core. A configuração dos modelos é por projeto (vive nos perfis).**
17
17
 
18
18
  ## Pôr um agente personalizado a trabalhar
19
19
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  ## 一个需要先说清楚的重要观念
30
30
 
31
- 每个 Agent 的*定义*——它的指令、它的性格、它被允许做什么——是**共享的**。它们以文件的形式存在(`.claude/agents/<id>.md`),随你的代码仓库一起流转,因此你的整个团队跑的是同一个 architect、同一个 reviewer。
31
+ 每个基础 Agent 的*定义*——它的指令、它的性格、它被允许做什么——来自 Core 引擎的**运行时**,而不是你仓库里的某个文件。没有东西需要安装,也没有东西需要保持同步:在 Agents 目录里可以读到每个角色的定义,并在 **设置 → 代理运行引擎** 中为所有项目统一调校。自定义 Agent 是例外——它们以文件的形式存在(`.claude/agents/custom-*.md`),随你的代码仓库一起流转,因此你的整个团队跑的是同一批自定义 Agent。
32
32
 
33
33
  而**因项目而异**的,是叠加在其上的*配置*:每个 Agent 用哪个模型运行,以及你为某条 rail 挑选了哪一组 Agent 的组合。这正是 Profile 的用武之地——也是下一页的内容。
34
34
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  开箱即用时,项目会解析到一个合理的 **default** Profile。它包含基础三人组——`sr-architect`、`sr-developer`、`sr-reviewer`——并通过一条兜底规则把每个任务都路由给 developer。模型搭配在日常工作中保持均衡:在关键处用足够强的模型,而不会每一步都去动用最贵的那一个。
14
14
 
15
- 如果你的项目此前已经用老办法配置过 Agent 模型(写在 Agent 文件的 frontmatter 里),那么 **迁移** 按钮会读取这些配置,并构建出一个完整复刻当前行为的 `default` Profile——零损失,在你决定调校它之前什么都不会变。
15
+ **从当前 Agent 迁移** 按钮会基于基础三人组和项目里已有的自定义 Agent 构建出一个 `default` Profile——完整复刻当前行为,而且不需要任何角色文件存在。如果较旧的安装里仍留有在 frontmatter 中写了模型的 Agent 文件,这些模型会被保留;在你决定调校它之前什么都不会变。
16
16
 
17
17
  重点是:**你不必先创建 Profile 才能使用 Specrails。** 默认值就能正常工作。Profile 是你想更进一步时的手段。
18
18
 
@@ -15,7 +15,7 @@ Profile 让你能做的最有用的一件事,就是**为每一步挑选合适
15
15
 
16
16
  模型值是一些别名——对 Claude 而言就是 `opus`、`sonnet` 和 `haiku`(从最强 → 最快)。按 Agent 设置你想要的别名:
17
17
 
18
- - 把某个 Agent 的模型**留空**,即回退到该 Agent 文件自带的默认值。
18
+ - 把某个 Agent 的模型**留空**,即回退到该角色自身的默认值——基础三人组回退到 **设置 → 代理运行引擎** 中设置的提供商和模型;自定义 Agent 则回退到其文件的 frontmatter。
19
19
  - 显式设置它,则仅在此 Profile 内覆盖。
20
20
 
21
21
  保存之后,下一条用该 Profile 启动的 rail 就会使用新模型。已在运行的任务则保留它们的快照。
@@ -4,16 +4,16 @@ Profile 决定的是*哪些 Agent 运行、用什么模型*。但 Agent 本身
4
4
 
5
5
  在任意项目中打开 **Agents → 目录**。它是一个只读视图,列出该项目可用的每一个 Agent,分为两组:
6
6
 
7
- - **上游 Agent**——随 `specrails-core` 一起发布的 Agent:基础三人组(`sr-architect`、`sr-developer`、`sr-reviewer`)以及像 `sr-merge-resolver` 这样的任何专家型 Agent。
7
+ - **上游 Agent**——由 Core 引擎在运行时定义的角色:基础三人组(`sr-architect`、`sr-developer`、`sr-reviewer`)。它们不是你仓库里的文件;目录以只读方式展示每个角色当前生效的定义,编辑则在 **设置 → 代理运行引擎** 中进行。
8
8
  - **自定义 Agent**——你自己添加的 Agent,命名为 `custom-*`。
9
9
 
10
- 每个目录条目都会展示该 Agent 的用途和它的默认模型,这样在把 Agent 接入某条 Profile 链之前,你就能看清整支阵容。
10
+ 每个目录条目都会展示该 Agent 的用途;自定义 Agent 还会显示它的默认模型,而基础角色则使用 **设置 → 代理运行引擎** 中设置的提供商和模型运行。无论哪种,在把 Agent 接入某条 Profile 链之前,你都能看清整支阵容。
11
11
 
12
12
  ## 添加一个自定义 Agent
13
13
 
14
14
  由于它们就住在你的仓库里,自定义 Agent 是**可提交的团队资产**:提交这个文件,你的整个团队就都拥有了这个 Agent。这呼应了贯穿整个 Agents 区的核心观念——
15
15
 
16
- > **Agent 定义是共享的(它们住在仓库里,随 `git` 一起流转)。模型配置则因项目而异(它住在 Profile 里)。**
16
+ > **自定义 Agent 的定义是共享的(它们住在仓库里,随 `git` 一起流转);基础角色由 Core 运行时定义。模型配置则因项目而异(它住在 Profile 里)。**
17
17
 
18
18
  ## 让自定义 Agent 上岗
19
19