@wardby/cli 0.7.0 → 0.8.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 (304) hide show
  1. package/.env.example +5 -5
  2. package/README.md +6 -1
  3. package/deploy/local/docker-compose.quickstart-coding.yml +6 -0
  4. package/dist/claude-coding-worker/driver.d.ts +12 -0
  5. package/dist/claude-coding-worker/driver.js +29 -7
  6. package/dist/claude-coding-worker/main.js +5 -1
  7. package/dist/claude-coding-worker/sdk.js +17 -1
  8. package/dist/claude-plugin/command.d.ts +61 -0
  9. package/dist/claude-plugin/command.js +376 -0
  10. package/dist/cli-help.d.ts +1 -1
  11. package/dist/cli-help.js +2 -1
  12. package/dist/cli.js +47 -3
  13. package/dist/coding/code-host.d.ts +16 -0
  14. package/dist/coding/code-host.js +60 -0
  15. package/dist/coding/mcp-token.d.ts +12 -0
  16. package/dist/coding/mcp-token.js +26 -0
  17. package/dist/coding/protocol.js +2 -0
  18. package/dist/coding/redact.js +6 -1
  19. package/dist/coding/transcript/recorder.d.ts +5 -4
  20. package/dist/coding/transcript/recorder.js +1 -1
  21. package/dist/coding-worker/debug-trace.d.ts +3 -1
  22. package/dist/coding-worker/debug-trace.js +4 -2
  23. package/dist/coding-worker/driver.js +8 -1
  24. package/dist/coding-worker/main.js +5 -1
  25. package/dist/coding-worker/mcp-config.d.ts +27 -0
  26. package/dist/coding-worker/mcp-config.js +32 -0
  27. package/dist/coding-worker/sdk.d.ts +36 -0
  28. package/dist/coding-worker/sdk.js +28 -1
  29. package/dist/coding-worker/types.d.ts +4 -0
  30. package/dist/config/mcp-call-limit.d.ts +8 -0
  31. package/dist/config/mcp-call-limit.js +18 -0
  32. package/dist/config/mcp-servers.d.ts +8 -0
  33. package/dist/config/mcp-servers.js +12 -0
  34. package/dist/config/test-simulators.d.ts +10 -0
  35. package/dist/config/test-simulators.js +28 -0
  36. package/dist/config/tool-timeout.d.ts +1 -0
  37. package/dist/config/tool-timeout.js +18 -0
  38. package/dist/core/coding-mcp.d.ts +36 -0
  39. package/dist/core/coding-mcp.js +253 -0
  40. package/dist/core/coding-repository.d.ts +46 -0
  41. package/dist/core/coding-repository.js +92 -0
  42. package/dist/core/delegation-slots.d.ts +27 -0
  43. package/dist/core/delegation-slots.js +44 -0
  44. package/dist/core/dispatch.d.ts +6 -2
  45. package/dist/core/dispatch.js +36 -11
  46. package/dist/core/error-code.js +1 -0
  47. package/dist/core/grants.d.ts +28 -3
  48. package/dist/core/grants.js +46 -4
  49. package/dist/core/host-events.js +7 -3
  50. package/dist/core/host-status.js +2 -2
  51. package/dist/core/issue-status.js +4 -3
  52. package/dist/core/mark-ready.d.ts +1 -1
  53. package/dist/core/mark-ready.js +1 -1
  54. package/dist/core/mcp-client/client.d.ts +47 -0
  55. package/dist/core/mcp-client/client.js +141 -0
  56. package/dist/core/mcp-client/jsonrpc.d.ts +15 -0
  57. package/dist/core/mcp-client/jsonrpc.js +54 -0
  58. package/dist/core/mcp-client/results.d.ts +13 -0
  59. package/dist/core/mcp-client/results.js +42 -0
  60. package/dist/core/mcp-servers.d.ts +90 -0
  61. package/dist/core/mcp-servers.js +230 -0
  62. package/dist/core/mcp-tools.d.ts +108 -0
  63. package/dist/core/mcp-tools.js +287 -0
  64. package/dist/core/merge-order-check.js +38 -19
  65. package/dist/core/notification-dispatcher.js +2 -1
  66. package/dist/core/related-pull-requests.js +26 -10
  67. package/dist/core/review-fix.js +2 -2
  68. package/dist/core/review-host-tools.js +3 -1
  69. package/dist/core/runner.d.ts +66 -16
  70. package/dist/core/runner.js +281 -73
  71. package/dist/core/secret-broker-config.d.ts +2 -0
  72. package/dist/core/secret-broker-config.js +1 -1
  73. package/dist/core/secret-guard.d.ts +5 -2
  74. package/dist/core/secret-guard.js +22 -7
  75. package/dist/core/secrets.d.ts +11 -1
  76. package/dist/core/secrets.js +27 -1
  77. package/dist/core/serializable-retry.d.ts +18 -0
  78. package/dist/core/serializable-retry.js +43 -0
  79. package/dist/core/tool-admin.d.ts +5 -1
  80. package/dist/core/tool-admin.js +7 -2
  81. package/dist/core/tool-names.d.ts +13 -0
  82. package/dist/core/tool-names.js +20 -0
  83. package/dist/core/webhooks.d.ts +4 -0
  84. package/dist/core/webhooks.js +68 -49
  85. package/dist/core/workflow-run-events.js +2 -1
  86. package/dist/generated/prisma/browser.d.ts +31 -0
  87. package/dist/generated/prisma/client.d.ts +31 -0
  88. package/dist/generated/prisma/commonInputTypes.d.ts +50 -50
  89. package/dist/generated/prisma/internal/class.d.ts +66 -0
  90. package/dist/generated/prisma/internal/class.js +4 -4
  91. package/dist/generated/prisma/internal/prismaNamespace.d.ts +530 -1
  92. package/dist/generated/prisma/internal/prismaNamespace.js +75 -2
  93. package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +79 -0
  94. package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +75 -2
  95. package/dist/generated/prisma/models/Agent.d.ts +271 -0
  96. package/dist/generated/prisma/models/AgentMcpServer.d.ts +1412 -0
  97. package/dist/generated/prisma/models/AgentMcpServer.js +1 -0
  98. package/dist/generated/prisma/models/AgentRepository.d.ts +40 -1
  99. package/dist/generated/prisma/models/AuthUser.d.ts +1 -1
  100. package/dist/generated/prisma/models/CodingAgentProfile.d.ts +0 -7
  101. package/dist/generated/prisma/models/CodingProxySession.d.ts +119 -2
  102. package/dist/generated/prisma/models/CodingRun.d.ts +76 -1
  103. package/dist/generated/prisma/models/HostProvider.d.ts +2176 -0
  104. package/dist/generated/prisma/models/HostProvider.js +1 -0
  105. package/dist/generated/prisma/models/HostProviderCredential.d.ts +1285 -0
  106. package/dist/generated/prisma/models/HostProviderCredential.js +1 -0
  107. package/dist/generated/prisma/models/HostProviderOperation.d.ts +1470 -0
  108. package/dist/generated/prisma/models/HostProviderOperation.js +1 -0
  109. package/dist/generated/prisma/models/HostProviderTrustedAccount.d.ts +1145 -0
  110. package/dist/generated/prisma/models/HostProviderTrustedAccount.js +1 -0
  111. package/dist/generated/prisma/models/McpServer.d.ts +1500 -0
  112. package/dist/generated/prisma/models/McpServer.js +1 -0
  113. package/dist/generated/prisma/models/NativeGatewayCall.d.ts +39 -1
  114. package/dist/generated/prisma/models/Principal.d.ts +167 -0
  115. package/dist/generated/prisma/models/ResourceGrant.d.ts +1 -1
  116. package/dist/generated/prisma/models/Secret.d.ts +387 -0
  117. package/dist/generated/prisma/models/Tool.d.ts +223 -1
  118. package/dist/generated/prisma/models.d.ts +6 -0
  119. package/dist/help/search.js +12 -3
  120. package/dist/help-index.json +719 -47
  121. package/dist/import/create.js +16 -1
  122. package/dist/import/neutral-schema.d.ts +1 -0
  123. package/dist/import/neutral-schema.js +2 -0
  124. package/dist/mcp/auth/grants-cli.d.ts +6 -4
  125. package/dist/mcp/auth/grants-cli.js +42 -3
  126. package/dist/mcp/auth/resource-server.d.ts +3 -1
  127. package/dist/mcp/auth/resource-server.js +17 -2
  128. package/dist/mcp/context.d.ts +3 -0
  129. package/dist/mcp/index.js +11 -0
  130. package/dist/mcp/tools/agents.js +100 -15
  131. package/dist/mcp/tools/grants.js +66 -28
  132. package/dist/mcp/tools/host-providers.d.ts +2 -0
  133. package/dist/mcp/tools/host-providers.js +215 -0
  134. package/dist/mcp/tools/mcp-servers.d.ts +26 -0
  135. package/dist/mcp/tools/mcp-servers.js +481 -0
  136. package/dist/mcp/tools/repositories.js +50 -10
  137. package/dist/mcp/tools/runs.js +178 -18
  138. package/dist/mcp/tools/secret-elicitation.d.ts +2 -0
  139. package/dist/mcp/tools/secret-elicitation.js +25 -2
  140. package/dist/mcp/tools/secrets.js +38 -4
  141. package/dist/mcp/tools/tools.d.ts +6 -4
  142. package/dist/mcp/tools/tools.js +40 -8
  143. package/dist/mcp/tools/trigger.js +28 -6
  144. package/dist/mcp/transport/http-limits.d.ts +2 -0
  145. package/dist/mcp/transport/http-limits.js +6 -2
  146. package/dist/mcp/webhooks/ingress.js +10 -0
  147. package/dist/native-worker/gateway-server.d.ts +14 -0
  148. package/dist/native-worker/gateway-server.js +28 -7
  149. package/dist/native-worker/gateway.d.ts +2 -0
  150. package/dist/native-worker/gateway.js +5 -1
  151. package/dist/native-worker/http-server.d.ts +4 -0
  152. package/dist/native-worker/http-server.js +51 -0
  153. package/dist/native-worker/ledger.d.ts +6 -2
  154. package/dist/native-worker/ledger.js +5 -4
  155. package/dist/native-worker/protocol.d.ts +1 -0
  156. package/dist/native-worker/protocol.js +4 -1
  157. package/dist/providers/coding-proxy/capability-hash.d.ts +2 -0
  158. package/dist/providers/coding-proxy/capability-hash.js +5 -0
  159. package/dist/providers/coding-proxy/mcp-route.d.ts +34 -0
  160. package/dist/providers/coding-proxy/mcp-route.js +166 -0
  161. package/dist/providers/coding-proxy/memory-ledger.d.ts +2 -0
  162. package/dist/providers/coding-proxy/memory-ledger.js +15 -0
  163. package/dist/providers/coding-proxy/prisma-ledger.d.ts +1 -0
  164. package/dist/providers/coding-proxy/prisma-ledger.js +30 -2
  165. package/dist/providers/coding-proxy/proxy.d.ts +7 -1
  166. package/dist/providers/coding-proxy/proxy.js +134 -34
  167. package/dist/providers/coding-proxy/runtime.d.ts +6 -0
  168. package/dist/providers/coding-proxy/runtime.js +32 -1
  169. package/dist/providers/coding-proxy/server.d.ts +3 -0
  170. package/dist/providers/coding-proxy/server.js +10 -0
  171. package/dist/providers/coding-proxy/types.d.ts +13 -0
  172. package/dist/providers/executor/composition.js +5 -0
  173. package/dist/providers/executor/container.d.ts +33 -1
  174. package/dist/providers/executor/container.js +76 -7
  175. package/dist/providers/host-tools/invoke.d.ts +37 -0
  176. package/dist/providers/host-tools/invoke.js +117 -0
  177. package/dist/providers/host-tools/operations.d.ts +65 -0
  178. package/dist/providers/host-tools/operations.js +149 -0
  179. package/dist/providers/host-tools/registry.d.ts +79 -0
  180. package/dist/providers/host-tools/registry.js +362 -0
  181. package/dist/providers/host-tools/request-guard.d.ts +17 -0
  182. package/dist/providers/host-tools/request-guard.js +99 -0
  183. package/dist/providers/host-tools/self-test.d.ts +64 -0
  184. package/dist/providers/host-tools/self-test.js +142 -0
  185. package/dist/providers/jobs/docker-isolation.d.ts +2 -2
  186. package/dist/providers/jobs/docker-isolation.js +30 -8
  187. package/dist/providers/jobs/docker.d.ts +8 -0
  188. package/dist/providers/jobs/docker.js +33 -9
  189. package/dist/providers/jobs/kubernetes-isolation.d.ts +3 -1
  190. package/dist/providers/jobs/kubernetes-isolation.js +15 -2
  191. package/dist/providers/jobs/kubernetes.d.ts +5 -0
  192. package/dist/providers/jobs/kubernetes.js +6 -1
  193. package/dist/providers/jobs/types.d.ts +6 -0
  194. package/dist/providers/review-host/types.d.ts +6 -4
  195. package/dist/providers/review-host/types.js +1 -1
  196. package/dist/providers/vcs/git.d.ts +6 -2
  197. package/dist/providers/vcs/git.js +15 -4
  198. package/dist/providers/vcs/github.d.ts +2 -71
  199. package/dist/providers/vcs/github.js +8 -11
  200. package/dist/providers/vcs/index.d.ts +1 -1
  201. package/dist/providers/vcs/index.js +1 -1
  202. package/dist/providers/vcs/remote.d.ts +4 -0
  203. package/dist/providers/vcs/remote.js +7 -1
  204. package/dist/providers/vcs/routing.d.ts +12 -6
  205. package/dist/providers/vcs/routing.js +21 -6
  206. package/dist/providers/vcs/types.d.ts +71 -3
  207. package/dist/quickstart/index.d.ts +5 -0
  208. package/dist/quickstart/index.js +21 -0
  209. package/dist/quickstart-images.json +1 -1
  210. package/dist/sandbox/eval-core.d.ts +12 -2
  211. package/dist/sandbox/eval-core.js +20 -4
  212. package/dist/sandbox/host-functions.d.ts +4 -0
  213. package/dist/sandbox/host-functions.js +7 -2
  214. package/dist/sandbox/limits.d.ts +4 -1
  215. package/dist/sandbox/limits.js +4 -1
  216. package/dist/sandbox/run-in-sandbox.d.ts +6 -0
  217. package/dist/sandbox/run-in-sandbox.js +14 -2
  218. package/dist/sandbox/safe-fetch.d.ts +2 -0
  219. package/dist/sandbox/safe-fetch.js +1 -1
  220. package/dist/sandbox/secret-broker.d.ts +1 -0
  221. package/dist/sandbox/secret-broker.js +1 -1
  222. package/dist/sandbox/tool-timeout.d.ts +32 -0
  223. package/dist/sandbox/tool-timeout.js +52 -0
  224. package/dist/sandbox/user-tool.d.ts +8 -1
  225. package/dist/sandbox/user-tool.js +9 -3
  226. package/dist/viewer/graph.js +2 -1
  227. package/dist/wardby-bin.js +5 -0
  228. package/docs/README.md +11 -1
  229. package/docs/agent-recipes.md +37 -4
  230. package/docs/architecture-runtime.md +1 -1
  231. package/docs/claude-code-plugin.md +164 -0
  232. package/docs/code-review-agents.md +6 -0
  233. package/docs/coding-agent-setup.md +77 -1
  234. package/docs/coding-worker-byo-images.md +4 -2
  235. package/docs/coding-worker-isolation.md +78 -7
  236. package/docs/debugging-agent-runs.md +242 -0
  237. package/docs/getting-started-gke.md +5 -4
  238. package/docs/getting-started-identity-provider.md +43 -37
  239. package/docs/getting-started.md +8 -0
  240. package/docs/host-providers.md +294 -0
  241. package/docs/mcp-servers.md +254 -0
  242. package/docs/native-sandbox.md +25 -9
  243. package/docs/security-deployment.md +110 -31
  244. package/docs/tool-secrets.md +3 -0
  245. package/docs/viewer-api.md +6 -0
  246. package/docs/viewer-api.openapi.yml +1 -1
  247. package/help/admin-viewer.md +4 -0
  248. package/help/agent-recipes.md +33 -2
  249. package/help/brokered-secrets.md +3 -0
  250. package/help/build-claude-code-image.md +1 -1
  251. package/help/claude-code-run-pane.md +40 -0
  252. package/help/errors/coding-mcp-pins-unavailable.md +35 -0
  253. package/help/errors/database-auth-invalid.md +1 -1
  254. package/help/errors/host-provider-error.md +40 -0
  255. package/help/errors/host-tool-failed.md +36 -0
  256. package/help/errors/mcp-call-limit.md +22 -0
  257. package/help/errors/mcp-call-timeout.md +22 -0
  258. package/help/errors/mcp-server-auth-failed.md +22 -0
  259. package/help/errors/mcp-server-credentials-unavailable.md +45 -0
  260. package/help/errors/mcp-server-error.md +28 -0
  261. package/help/errors/mcp-server-unreachable.md +22 -0
  262. package/help/errors/mcp-servers-off.md +21 -0
  263. package/help/errors/mcp-tool-not-allowed.md +26 -0
  264. package/help/errors/mcp-tool-removed.md +22 -0
  265. package/help/errors/mcp-unavailable.md +25 -0
  266. package/help/errors/native-sandbox-capacity.md +1 -1
  267. package/help/errors/native-sandbox-deadline-exceeded.md +1 -1
  268. package/help/errors/native-sandbox-docker-failed.md +1 -1
  269. package/help/errors/native-sandbox-gateway-error.md +1 -1
  270. package/help/errors/native-sandbox-gateway-unavailable.md +1 -1
  271. package/help/errors/native-sandbox-image-not-pinned.md +1 -1
  272. package/help/errors/native-sandbox-isolation-mismatch.md +1 -1
  273. package/help/errors/native-sandbox-network-unenforced.md +1 -1
  274. package/help/errors/native-sandbox-requires-catalog.md +1 -1
  275. package/help/errors/native-sandbox-unavailable.md +1 -1
  276. package/help/errors/native-sandbox-warm-delivery-failed.md +1 -1
  277. package/help/errors/native-sandbox-worker-exited.md +1 -1
  278. package/help/errors/native-sandbox-worker-lost.md +1 -1
  279. package/help/errors/native-sandbox-worker-unready.md +1 -1
  280. package/help/errors/repository-not-listed.md +36 -0
  281. package/help/errors/repository-required.md +36 -0
  282. package/help/errors/tool-timeout.md +38 -0
  283. package/help/host-providers.md +40 -0
  284. package/help/identity-and-access.md +4 -1
  285. package/help/mcp-servers.md +73 -0
  286. package/help/mcp.md +7 -2
  287. package/help/native-capabilities.md +27 -1
  288. package/help/native-sandbox.md +1 -1
  289. package/help/operating-agents.md +16 -0
  290. package/help/related-pull-requests.md +7 -3
  291. package/help/repo-instructions-and-skills.md +3 -1
  292. package/help/resume-runs-locally.md +3 -0
  293. package/help/stop-run.md +1 -1
  294. package/help/troubleshooting/coding-workers.md +9 -1
  295. package/help/troubleshooting/debugging-agent-runs.md +29 -0
  296. package/package.json +2 -1
  297. package/prisma/migrations/20261102000000_host_providers/migration.sql +56 -0
  298. package/prisma/migrations/20261104000000_coding_agent_repository_list/migration.sql +5 -0
  299. package/prisma/migrations/20261106000000_tool_timeout/migration.sql +4 -0
  300. package/prisma/migrations/20261107000000_mcp_servers/migration.sql +33 -0
  301. package/prisma/migrations/20261108000000_coding_mcp/migration.sql +5 -0
  302. package/prisma/migrations/20261109000000_task_run_index/migration.sql +3 -0
  303. package/prisma/schema.prisma +159 -14
  304. package/scripts/git-askpass.sh +1 -1
@@ -162,8 +162,8 @@ yourself.`
162
162
  A router delegates once per run by default. For one native agent that splits a
163
163
  request across several repositories, attach one builder per repository and set
164
164
  the lead's `maxDelegationsPerRun` (1 to 20) with `create_agent` or
165
- `update_agent`. Each `delegate_to_<name>` call must go to a different
166
- sub-agent; the calls run one after another unless you also set
165
+ `update_agent`. A run delegates to each sub-agent and repository at most
166
+ once; the calls run one after another unless you also set
167
167
  `parallelDelegations: true`, which starts only the **consecutive**
168
168
  `delegate_to_*` calls of one turn together — a non-delegation call between
169
169
  two delegations splits them, nothing is reordered, and results return to the
@@ -208,6 +208,37 @@ pull request in it also gets a `wardby merge order` check run showing
208
208
  whether its earlier steps have merged yet; search help for "merge order
209
209
  check" for its states and for requiring it in branch protection.
210
210
 
211
+ **One coding agent across several repositories.** Instead of one builder per
212
+ repository, give one coding builder a list: its default in
213
+ `codingProfile.repository`, and each other repository with `link_repository`
214
+ (`access: "write"`, no triggers). The lead then names the repository on each
215
+ call, and may delegate to the same builder once per repository:
216
+
217
+ ```json
218
+ { "task": "Add the /quotes endpoint the client will call.", "repository": "your-org/api", "mergeOrder": 1 }
219
+ ```
220
+
221
+ ```json
222
+ { "task": "Add the quotes page that calls /quotes.", "repository": "your-org/web", "mergeOrder": 2 }
223
+ ```
224
+
225
+ Set `maxDelegationsPerRun` (up to 20) for the number of calls, and use
226
+ `mergeOrder` where the pull requests must land in order. A call without
227
+ `repository` is refused with `repository_required` (unless it continues a prior
228
+ run with `continuePriorRun`), and a repository not on the list with
229
+ `repository_not_listed`. A native sub-agent refuses `repository` with
230
+ `repository_requires_coding_agent`. The lead sees the list in the tool
231
+ definition only when it has the same owner as the builder, or another owner
232
+ with execute access to a builder that sets `allowWebhookTaskOverride`. All
233
+ repositories share the builder's toolchain, budget and prompt.
234
+
235
+ Being on the list lets a run work in a repository; it starts nothing there. Link
236
+ the lead and the reviewer on each listed GitHub repository with the triggers
237
+ they need, or a pull request opened there gets no review, mention follow-up, fix
238
+ round or mark-ready.
239
+
240
+ Search help for `repository_required` or `repository_not_listed` for what to do about those refusals.
241
+
211
242
  ## Step 3: confirm
212
243
 
213
244
  Summarize what you created: each agent's name and id, the sub-agent bindings,
@@ -67,6 +67,9 @@ alone never removes it. Every change is audited.
67
67
 
68
68
  ## Related
69
69
 
70
+ - [Host providers](../docs/host-providers.md): a provider's credentials must be brokered
71
+ secrets
72
+ - [Remote MCP servers](../docs/mcp-servers.md) (0.8.0+): a server's credentials are brokered secrets
70
73
  - Full guide: [`docs/tool-secrets.md`](../docs/tool-secrets.md)
71
74
  - [Use native agents, tools, and data](native-capabilities.md)
72
75
  - Errors: [`secret_brokered`](errors/secret-brokered.md),
@@ -4,7 +4,7 @@ title: Build a tool runner image for a Claude Code agent
4
4
  summary: A procedure an MCP assistant follows to build a custom image for a Claude Code coding agent (Ruby, Go, Java or another language) FROM the release's tool runner image, check it, and set it with workerImageRef.
5
5
  audience: operator
6
6
  tags: [claude-code, custom-image, workerImageRef, tool-runner, worker-image, other-language, ruby, toolchain]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Build a tool runner image for a Claude Code agent
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: claude-code-run-pane
3
+ title: See your runs in Claude Code (the wardby-runs plugin)
4
+ summary: Install the wardby-runs Claude Code plugin to see your runs beside the chat, grouped by pull request, with run details and Continue locally.
5
+ audience: operator
6
+ tags: [claude code, plugin, wardby-runs, pane, claude-plugin, runs, desktop, auto mode, permissions]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # See your runs in Claude Code
11
+
12
+ The `wardby-runs` plugin opens a pane in Claude Code that lists your wardby
13
+ runs, grouped by pull request, and shows each run's details. It uses the
14
+ `wardby` MCP server your session already has and only reads.
15
+
16
+ Install it, and allow its read-only tools for auto mode, with:
17
+
18
+ ```sh
19
+ npx @wardby/cli@latest claude-plugin install
20
+ ```
21
+
22
+ Add `--server-url https://<your wardby host>/mcp` if Claude Code has no MCP
23
+ server named `wardby` yet. Or install it yourself with
24
+ `/plugin install wardby-runs --marketplace wardby/wardby`. Then run
25
+ `/wardby-runs`.
26
+
27
+ If the pane says auto mode refused a call, allow `mcp__wardby__list_runs`,
28
+ `mcp__wardby__list_agents`, `mcp__wardby__get_run` and
29
+ `mcp__wardby__get_run_transcript` in `/permissions`.
30
+
31
+ In the terminal, the pane takes clicks and sits beside the chat only in Claude
32
+ Code's fullscreen view (`"tui": "fullscreen"`); otherwise use ctrl+x tab and the
33
+ keys it shows. The desktop app needs no setting.
34
+
35
+ `wardby quickstart` offers the pane when it connects Claude Code, and
36
+ `wardby doctor` and `wardby claude-plugin status` check the setup; `wardby claude-plugin
37
+ uninstall` removes the plugin and the rules install added. To continue a run
38
+ from the pane, see `resume-runs-locally`.
39
+
40
+ The full guide is [Claude Code plugin](../docs/claude-code-plugin.md).
@@ -0,0 +1,35 @@
1
+ ---
2
+ id: errors/coding-mcp-pins-unavailable
3
+ title: A coding run failed before launch because its MCP tools could not be read
4
+ summary: The run failed with coding_failure_mcp_pins_unavailable because wardby could not read the agent's MCP server attachments when it launched the run.
5
+ audience: operator
6
+ tags: [error, mcp, coding-agents, coding_failure_mcp_pins_unavailable, coding_mcp_pins_unavailable]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A coding run failed before launch because its MCP tools could not be read
11
+
12
+ ## What happened
13
+
14
+ The run's error starts with `coding_failure_mcp_pins_unavailable`, followed by
15
+ a diagnostic id. When wardby launches a coding run, it reads the MCP server
16
+ tools attached to the agent and fixes them for that run. That read failed, so
17
+ wardby failed the run rather than launch it without the tools it expected.
18
+ Nothing was launched, so the run made no changes.
19
+
20
+ The run's error contains only the code and the diagnostic id. The control
21
+ plane log has the real cause at `warn`, under the same diagnostic id, with
22
+ the internal code `coding_mcp_pins_unavailable`.
23
+
24
+ ## What to do
25
+
26
+ 1. Search the control plane log for the diagnostic id. The cause is usually
27
+ the database: a lost connection, a timeout, or a migration that has not
28
+ been applied.
29
+ 2. Fix the database problem, then trigger the agent again. A run that hit a
30
+ brief database outage usually works the next time.
31
+ 3. If it keeps happening and you don't need MCP tools on this agent, detach
32
+ its MCP servers with `detach_mcp_server`, or turn MCP servers off with
33
+ `WARDBY_MCP_SERVERS=off`. Either way, the run no longer reads them.
34
+
35
+ See [Remote MCP servers for coding agents](../../docs/mcp-servers.md#coding-agents).
@@ -4,7 +4,7 @@ title: Database authentication is misconfigured
4
4
  summary: DATABASE_AUTH or the database URL does not meet the rules for the chosen authentication mode, so the process refused to start.
5
5
  audience: operator
6
6
  tags: [error, database, rds, iam, deploy, database_auth_invalid, rds-iam]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Database authentication is misconfigured
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: errors/host-provider-error
3
+ title: Host provider refused (host_provider_*)
4
+ summary: Registering a host provider, approving its tools or rotating its secrets was refused with a host_provider_ code. Each code has one cause and one fix.
5
+ audience: operator
6
+ tags: [host_provider_not_found, host_provider_in_use, host_provider_webhook_secret_short, host provider, error]
7
+ appliesTo: >=0.8.0
8
+ ---
9
+
10
+ # Host provider refused
11
+
12
+ Nothing was changed. The message holds a code and secret or tool names, never a value.
13
+
14
+ ## Registering or approving
15
+
16
+ - `host_provider_not_found`: no provider has that name. Check it, or register it.
17
+ - `host_provider_missing_operation`: a required operation has no tool. Bind it in `tools`.
18
+ - `host_provider_operation_not_bound`: that isn't a known operation, or this provider doesn't bind it. Check the name.
19
+ - `host_provider_tool_not_found`: you own no tool with that name. Create it, or fix the name.
20
+ - `host_provider_tool_deleted`: the tool behind this operation was deleted, so there's nothing to approve. Bind a new one by registering again.
21
+ - `host_provider_secret_not_found`: you own no secret with that name. Create it, or fix the name.
22
+ - `host_provider_secret_not_brokered`: a credential isn't brokered. Broker it with `set_secret_broker`.
23
+ - `host_provider_secret_hosts`: its broker config misses a host. Allow every API host, and the git host for a repository credential.
24
+ - `host_provider_secret_placement`: it isn't placed in a header or query parameter. Change its placement.
25
+ - `host_provider_permission_secret_shared`: the permission secret is also a credential, or is used by another provider. Give it its own secret.
26
+ - `host_provider_webhook_secret_shared`: the webhook secret is also a credential or permission secret, or is attached to an agent. Give it its own secret, and detach it.
27
+ - `host_provider_webhook_secret_short`: the webhook secret is under 16 characters. Store a longer one.
28
+ - `host_provider_username_is_secret`: `gitUsername` equals a credential's value. Use the host's token username.
29
+
30
+ ## Using a provider's secrets
31
+
32
+ - `host_provider_webhook_secret_attached`: `attach_secret` or `wardby import` tried to attach a webhook secret to an agent. Don't: no tool may read it.
33
+ - `host_provider_secret_link_stale`: the browser link was requested before a provider used this secret. Request a new one with `hosts:admin`.
34
+ - `host_provider_webhook_secret_short` also refuses a rotation to a value under 16 characters. Enter a longer one; the same link still works.
35
+
36
+ ## Deleting
37
+
38
+ - `host_provider_in_use`: an agent links to one of its repositories. Remove those links first.
39
+
40
+ See [Host providers](../host-providers.md).
@@ -0,0 +1,36 @@
1
+ ---
2
+ id: errors/host-tool-failed
3
+ title: A host provider tool failed (host_tool_*, host_*)
4
+ summary: test_host_provider reports a fixed code for each failed operation; a tool's own message is dropped on purpose, so test the tool with dry_run_tool.
5
+ audience: operator
6
+ tags: [host_tool_failed, host_tool_timeout, host_tool_request_denied, host_tool_no_credential, host_forbidden]
7
+ appliesTo: >=0.8.0
8
+ ---
9
+
10
+ # A host provider tool failed
11
+
12
+ ## What happened
13
+
14
+ A tool's own text never reaches a report, a model or a comment, in case it holds something
15
+ private. So `test_host_provider` gives a fixed code for each operation.
16
+
17
+ ## What to do
18
+
19
+ - `host_unauthorized` or `host_forbidden`: the host refused the credential. Check the token and
20
+ its scopes. On the permission lookup, a repository token is often not enough.
21
+ - `host_not_found`, `host_conflict`, `host_rate_limited` or `host_unavailable`: the host answered
22
+ with that state. Check the repository, pull request or ref you named, or try again later.
23
+ - `host_tool_no_credential`: no `credentials` entry covers this repository, the secret can't be
24
+ decrypted, or the secret is no longer brokered or no longer allows every API host.
25
+ - `host_tool_request_denied`: the tool left its API hosts or repository path, used the wrong
26
+ method, set a header other than `accept`, `content-type`, `if-match` or `if-none-match`, sent a
27
+ `_method` or `x-http-method*` query key, sent a path a server could read as something else (dot-only segments, encoded separators), or made
28
+ more than three requests. No request follows a redirect: fetch the `Location` yourself.
29
+ - `host_tool_invalid_result` or `host_tool_invalid_params`: the tool doesn't match its
30
+ operation's shape.
31
+ - `host_tool_failed`: the tool threw an error. `dry_run_tool` shows errors that don't involve the request, for example with a stubbed response. It has no `host` credential, so a tool using `secrets: ["host"]` fails there for another reason.
32
+ - `host_tool_timeout`: it ran out of time or instructions.
33
+
34
+ To fix a tool, call `update_tool`, then `approve_host_provider_tools`.
35
+
36
+ See [Host providers](../host-providers.md).
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: errors/mcp-call-limit
3
+ title: A coding run used up its remote tool calls (mcp_call_limit)
4
+ summary: A Claude Code or Codex run made more remote MCP tool calls than WARDBY_MCP_MAX_CALLS_PER_RUN allows, so further calls are refused.
5
+ audience: operator
6
+ tags: [mcp, mcp_call_limit, WARDBY_MCP_MAX_CALLS_PER_RUN, coding agent, claude code, codex, call limit]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A coding run used up its remote tool calls
11
+
12
+ ## What happened
13
+
14
+ A call to a remote MCP tool returned `mcp_call_limit`. Each coding run (Claude Code or Codex) may make a fixed number of remote MCP tool calls, `100` by default. Every call counts, including calls that failed or timed out. Once the run reaches the limit, further calls are refused; the agent sees the refusal as the tool's result and the run goes on.
15
+
16
+ ## What to do
17
+
18
+ 1. Check whether the agent is looping on a tool, for example retrying a call that keeps failing. Fix the cause, or tighten the agent's instructions.
19
+ 2. If the run really needs more calls, ask the operator to raise `WARDBY_MCP_MAX_CALLS_PER_RUN` on the native gateway, which counts the calls, and on the server so both agree (a positive whole number; any other value stops start-up). Restart them to apply it.
20
+ 3. Native agents are not limited by this setting.
21
+
22
+ See [Remote MCP servers](../mcp-servers.md) and [Remote MCP servers for coding agents](../../docs/mcp-servers.md#coding-agents).
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: errors/mcp-call-timeout
3
+ title: A remote tool call ran out of time (mcp_call_timeout)
4
+ summary: A remote tool call hit its callTimeoutMs or the run's deadline, or was stopped.
5
+ audience: operator
6
+ tags: [mcp, mcp_call_timeout, callTimeoutMs, timeout, stop_run, WARDBY_TOOL_MAX_TIMEOUT_MS]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool call ran out of time
11
+
12
+ ## What happened
13
+
14
+ A call returned `mcp_call_timeout`: the server did not answer within the call's limit, the run's own time limit was reached, or `stop_run` stopped the call. Only this call failed.
15
+
16
+ ## What to do
17
+
18
+ 1. If the server is slow, raise `callTimeoutMs` with `attach_mcp_server` (default `30000`).
19
+ 2. The limit can't exceed `WARDBY_TOOL_MAX_TIMEOUT_MS`; ask the operator to raise that if needed.
20
+ 3. A call is also cut to the run's deadline; give the agent a longer run time if needed.
21
+
22
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: errors/mcp-server-auth-failed
3
+ title: A remote tool server refused the credentials (mcp_server_auth_failed)
4
+ summary: The MCP server answered 401 or 403; fix the brokered secret or its placement.
5
+ audience: operator
6
+ tags: [mcp, mcp_server_auth_failed, 401, 403, brokered, set_secret_broker]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool server refused the credentials
11
+
12
+ ## What happened
13
+
14
+ A call, or a register or refresh, failed with `mcp_server_auth_failed`: the server answered HTTP 401 or 403 to the credentials Wardby sent.
15
+
16
+ ## What to do
17
+
18
+ 1. Check that the token behind the server's `secretNames` is current and has access to the tool.
19
+ 2. Check the secret's placement with `set_secret_broker`, for example header `Authorization` with format `Bearer {value}`.
20
+ 3. Update the secret, then `refresh_mcp_server` to confirm. Secret values are never shown in the error.
21
+
22
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,45 @@
1
+ ---
2
+ id: errors/mcp-server-credentials-unavailable
3
+ title: A remote tool server's credentials can't be decrypted (mcp_server_credentials_unavailable)
4
+ summary: A brokered secret of an MCP server exists but this Wardby server can't decrypt it; check SECRET_APP_KEY.
5
+ audience: operator
6
+ tags: [mcp, mcp_server_credentials_unavailable, credentials, decrypt, SECRET_APP_KEY, register_mcp_server]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool server's credentials can't be decrypted
11
+
12
+ ## What happened
13
+
14
+ An agent's MCP tool call returned `mcp_server_credentials_unavailable`, or `register_mcp_server`,
15
+ `update_mcp_server` or `refresh_mcp_server` failed with it (as an HTTP 500 error). The server's
16
+ brokered secret exists, but the Wardby process that made the call could not decrypt its stored value.
17
+ Wardby did not contact the MCP server. The same cause has knock-on effects elsewhere in the run:
18
+ posting and `delegate_to_*` tools return `secret_check_unavailable`, the run's final text and error
19
+ are withheld, and `get_run` withholds the request (see [Secrets and tools](../../docs/tool-secrets.md)).
20
+
21
+ The usual causes:
22
+
23
+ - The Wardby processes don't share one `SECRET_APP_KEY`. The control plane, the scheduler and the
24
+ native gateway each decrypt secrets, so a process started with another key can't read a secret
25
+ the others saved.
26
+ - `SECRET_APP_KEY` was changed after the secret was saved.
27
+ - The stored value is damaged.
28
+
29
+ An agent that uses another owner's server through a grant sees the same code with a generic
30
+ message: "The MCP server's credentials can't be used; ask its owner to check it."
31
+
32
+ ## What to do
33
+
34
+ 1. Check that every Wardby process (control plane, scheduler, native gateway) gets the same
35
+ `SECRET_APP_KEY`. Fix the one that differs and restart it.
36
+ 2. If the key really changed, set the secret again with its new value (`create_secret` with the same
37
+ name), then run `refresh_mcp_server`.
38
+ 3. Operator logs carry one `warn` line per failure with `reason: "mcp_secret_decrypt_failed"`, the
39
+ server and the secret name (never the value or the cipher's error).
40
+
41
+ A secret that is missing, not brokered, or not brokered to the server's host is an input problem
42
+ instead and returns [`mcp_server_error`](mcp-server-error.md) or a 400 error from the register,
43
+ update and refresh tools.
44
+
45
+ See [Remote MCP servers](../mcp-servers.md) and [Secrets and tools](../../docs/tool-secrets.md).
@@ -0,0 +1,28 @@
1
+ ---
2
+ id: errors/mcp-server-error
3
+ title: A remote tool server returned an error (mcp_server_error)
4
+ summary: The MCP server answered with an HTTP error or a bad reply, asked for something Wardby doesn't support, or the tool reported an error.
5
+ audience: operator
6
+ tags: [mcp, mcp_server_error, isError, tools/call, credentials]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool server returned an error
11
+
12
+ ## What happened
13
+
14
+ A call returned `mcp_server_error`. One of these happened:
15
+
16
+ - the server answered with an HTTP status other than 2xx (not 401 or 403), or sent a reply Wardby could not read;
17
+ - the server's reply carried only a request of its own (sampling, elicitation or roots) and no answer: Wardby supports none of them, so the call fails;
18
+ - the tool ran and reported an error; the server's message is passed on with secret values removed;
19
+ - the server's secrets could not be loaded (missing, not brokered, or not brokered to the server's host). The server's owner sees which secret; an agent using a server shared with its owner sees only "The MCP server's credentials can't be used; ask its owner to check it."
20
+
21
+ ## What to do
22
+
23
+ 1. Read the message: a tool-reported error usually says what was wrong with the arguments.
24
+ 2. If the HTTP status is a 5xx, retry later or ask the server's operator.
25
+ 3. If the tool's input changed, `refresh_mcp_server` and review `get_mcp_server`.
26
+ 4. For a credentials message on a shared server, ask the server's owner to check its secrets with `get_mcp_server` and `list_secrets`.
27
+
28
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: errors/mcp-server-unreachable
3
+ title: A remote tool server could not be reached (mcp_server_unreachable)
4
+ summary: Wardby could not connect to a remote MCP server; check the URL, the server and its network path.
5
+ audience: operator
6
+ tags: [mcp, mcp_server_unreachable, unreachable, register_mcp_server, update_mcp_server]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool server could not be reached
11
+
12
+ ## What happened
13
+
14
+ An agent's MCP tool call returned `mcp_server_unreachable`, or `register_mcp_server` / `refresh_mcp_server` failed with it. Wardby could not open a connection to the server's URL (DNS, TLS, refused or reset connection). Only this call failed.
15
+
16
+ ## What to do
17
+
18
+ 1. Check the URL with `get_mcp_server` (the owner sees it) and that the server is up.
19
+ 2. Check that Wardby's network can reach the host over HTTPS on the default port.
20
+ 3. Fix the URL with `update_mcp_server`, then `refresh_mcp_server`.
21
+
22
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,21 @@
1
+ ---
2
+ id: errors/mcp-servers-off
3
+ title: Remote tool servers are turned off (mcp_servers_off)
4
+ summary: WARDBY_MCP_SERVERS=off: MCP server tools are refused and attached servers are left out of runs.
5
+ audience: operator
6
+ tags: [mcp, mcp_servers_off, WARDBY_MCP_SERVERS, off, admins]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # Remote tool servers are turned off
11
+
12
+ ## What happened
13
+
14
+ The Wardby MCP-server tools answered `mcp_servers_off` (403), or a run's MCP call did. The server has `WARDBY_MCP_SERVERS=off`. Attached servers' tools are left out of new runs. `detach_mcp_server` and `delete_mcp_server` still work, so you can clean up while the feature is off.
15
+
16
+ ## What to do
17
+
18
+ 1. Ask the operator to set `WARDBY_MCP_SERVERS` to `owners` or `admins` and restart.
19
+ 2. With `admins`, registering, updating and refreshing need `hosts:admin`.
20
+
21
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,26 @@
1
+ ---
2
+ id: errors/mcp-tool-not-allowed
3
+ title: A remote tool is no longer allowed (mcp_tool_not_allowed)
4
+ summary: The agent's MCP server was detached, the tool left its allowlist, or the agent's owner lost use access to a shared server.
5
+ audience: operator
6
+ tags: [mcp, mcp_tool_not_allowed, attach_mcp_server, detach_mcp_server, allowedTools, revoke_access]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool is no longer allowed
11
+
12
+ ## What happened
13
+
14
+ A call returned `mcp_tool_not_allowed`. Wardby checks the agent's attachment on every call, and since the run began one of these happened:
15
+
16
+ - the server was detached, or the tool left `allowedTools`;
17
+ - the server's owner deleted the server;
18
+ - the server is shared with the agent's owner, and its owner revoked that grant or lowered it to `read`. The agent's owner must own the server or hold `use` on it; when that ends, Wardby detaches the server from the agent too.
19
+
20
+ ## What to do
21
+
22
+ 1. Check `get_agent` for `mcpServers`.
23
+ 2. Re-attach with `attach_mcp_server` and include the tool in `allowedTools`. For a shared server, ask its owner for `use` again first.
24
+ 3. A run that started before the change still lists the tool, but every call re-checks the attachment, so the call is refused with this error.
25
+
26
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,22 @@
1
+ ---
2
+ id: errors/mcp-tool-removed
3
+ title: A remote tool is no longer on the server (mcp_tool_removed)
4
+ summary: The server's saved tool list no longer has the tool; check missingTools in get_agent.
5
+ audience: operator
6
+ tags: [mcp, mcp_tool_removed, missingTools, refresh_mcp_server]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # A remote tool is no longer on the server
11
+
12
+ ## What happened
13
+
14
+ A call returned `mcp_tool_removed`. After a `refresh_mcp_server`, the server's saved list no longer includes a tool the agent allows, so calls to it are refused. `get_agent` lists it under `missingTools`.
15
+
16
+ ## What to do
17
+
18
+ 1. Check `get_mcp_server` for the tool's current name; servers sometimes rename tools.
19
+ 2. Re-attach with `attach_mcp_server` using the new name.
20
+ 3. If the tool is back on the server, `refresh_mcp_server` makes it callable again.
21
+
22
+ See [Remote MCP servers](../mcp-servers.md).
@@ -0,0 +1,25 @@
1
+ ---
2
+ id: errors/mcp-unavailable
3
+ title: Remote MCP tools are unavailable to a coding run (mcp_unavailable)
4
+ summary: The coding proxy's MCP route has no native gateway to forward to, or could not reach it, so coding agents get no remote MCP tools.
5
+ audience: operator
6
+ tags: [mcp, mcp_unavailable, WARDBY_MCP_GATEWAY_URL, coding proxy, native gateway, coding agent]
7
+ appliesTo: ">=0.8.0"
8
+ ---
9
+
10
+ # Remote MCP tools are unavailable to a coding run
11
+
12
+ ## What happened
13
+
14
+ The coding proxy's `/mcp` route answered `503` or `502` with `mcp_unavailable`. A coding worker reaches its MCP tools only through that route, which forwards to the native gateway. It fails in one of two ways:
15
+
16
+ - `WARDBY_MCP_GATEWAY_URL` is not set on the proxy (`503`). The coding agent then runs without MCP tools; the run does not fail.
17
+ - The gateway could not be reached, timed out or answered too much (`502`). Only that request fails.
18
+
19
+ ## What to do
20
+
21
+ 1. Set `WARDBY_MCP_GATEWAY_URL` on the coding proxy to the native gateway's base URL, for example `http://<gateway host>:<port>`. The kind and GKE manifests set it to the in-cluster gateway.
22
+ 2. Check that the native gateway is running and that the proxy's network policy allows it to reach the gateway's HTTP port.
23
+ 3. Restart the proxy after changing the variable. An invalid value stops start-up.
24
+
25
+ See [Remote MCP servers for coding agents](../../docs/mcp-servers.md#coding-agents).
@@ -4,7 +4,7 @@ title: Native sandbox is at capacity
4
4
  summary: A sandbox run could not start because the concurrent sandbox run limit or the namespace ResourceQuota has no room; the run failed at start and was not queued.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, kubernetes, capacity, quota, native_sandbox_capacity]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native sandbox is at capacity
@@ -4,7 +4,7 @@ title: Native run deadline exceeded
4
4
  summary: A sandbox run passed its 60-minute maximum lifetime and its worker was stopped.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_deadline_exceeded]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native run deadline exceeded
@@ -4,7 +4,7 @@ title: Native worker Docker command failed
4
4
  summary: A Docker command Wardby ran to start or clean up a sandbox worker failed.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_docker_failed]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker Docker command failed
@@ -4,7 +4,7 @@ title: Native worker's gateway call failed
4
4
  summary: The sandbox worker's call to the gateway failed with an error the run could not continue from.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_gateway_error]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker's gateway call failed
@@ -4,7 +4,7 @@ title: Native gateway Service unavailable
4
4
  summary: On Kubernetes, Wardby could not find a usable native gateway Service, so a sandbox run could not start.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, kubernetes, native_sandbox_gateway_unavailable]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native gateway Service unavailable
@@ -4,7 +4,7 @@ title: Native worker image not pinned
4
4
  summary: NATIVE_SANDBOX_WORKER_IMAGE is a mutable tag, so Wardby refused to launch a sandbox worker.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_image_not_pinned]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker image not pinned
@@ -4,7 +4,7 @@ title: Native worker pod differs from what Wardby built
4
4
  summary: On Kubernetes, the sandbox pod or its NetworkPolicy as stored by the cluster differs from what Wardby created, so the run failed before starting.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, kubernetes, native_sandbox_isolation_mismatch]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker pod differs from what Wardby built
@@ -4,7 +4,7 @@ title: Native worker network isolation not proven
4
4
  summary: On Kubernetes, Wardby could not prove a sandbox pod's network isolation in time, so it removed the pod and failed the run.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, kubernetes, native_sandbox_network_unenforced]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker network isolation not proven
@@ -4,7 +4,7 @@ title: Sandbox run has no model catalog entry
4
4
  summary: A sandbox-mode run could not start because no model catalog entry was recorded for it.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, model-catalog, native_sandbox_requires_catalog]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Sandbox run has no model catalog entry
@@ -4,7 +4,7 @@ title: Native execution mode unavailable
4
4
  summary: A run failed with native_sandbox_unavailable because its agent is in sandbox mode but the server has no native sandbox configured.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_unavailable]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native execution mode unavailable
@@ -4,7 +4,7 @@ title: Native sandbox warm worker could not take the run
4
4
  summary: A run claimed an idle warm-pool worker, delivering its input failed, and the worker could not be confirmed stopped within 30 seconds, so the run failed instead of cold-launching.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, warm-pool, kubernetes, docker, native_sandbox_warm_delivery_failed]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native sandbox warm worker could not take the run
@@ -4,7 +4,7 @@ title: Native worker exited without a result
4
4
  summary: The sandbox worker container ended without producing a result.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_worker_exited]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker exited without a result
@@ -4,7 +4,7 @@ title: Native worker lost
4
4
  summary: The sandbox worker container disappeared and was not relaunched.
5
5
  audience: operator
6
6
  tags: [error, native-agents, sandbox, native_sandbox_worker_lost]
7
- appliesTo: ">=0.5.4"
7
+ appliesTo: ">=0.6.0"
8
8
  ---
9
9
 
10
10
  # Native worker lost