Skip to content

Commit 254c6ea

Browse files
AbirAbbasclaude
andcommitted
fix(go/docker): python3 + pytest in the runtime image; OpenRouter-only runtime note
Battle-testing the image surfaced two gaps: Python repos cannot produce test evidence in-container (no pytest), which fails evidence-based verification of correct work; and OpenRouter-only deployments inherit the compose default SWE_DEFAULT_RUNTIME=claude_code, silently degrading advisory/verification roles that then have no credential. Adds the test tooling to the image and documents the runtime setting. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 55610b6 commit 254c6ea

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

go/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ ENV DEBIAN_FRONTEND=noninteractive
6969
# OpenCode CLI (open_code runtime), Codex CLI (codex runtime), Claude Code CLI
7070
# (claude_code runtime).
7171
RUN apt-get update && apt-get install -y --no-install-recommends \
72-
git curl ca-certificates openssh-client jq nodejs npm && \
72+
git curl ca-certificates openssh-client jq nodejs npm \
73+
# Python test tooling: repos under build are frequently Python, and both
74+
# the verifier role and evidence-based audits need a runnable pytest —
75+
# without it, Python-repo verification is impossible in this image.
76+
python3 python3-pytest && \
7377
# GitHub CLI
7478
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
7579
| dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \

go/docs/pro-engine.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,13 @@ the standard pipeline, so the deliverables are unchanged.
5151
The engine inherits `OPENROUTER_API_KEY` and the control-plane coordinates
5252
(`AGENTFIELD_SERVER`, `AGENTFIELD_API_KEY`) from the node's environment.
5353

54+
**OpenRouter-only deployments:** the compose files default
55+
`SWE_DEFAULT_RUNTIME` to `claude_code`. The engine itself runs on OpenRouter
56+
regardless, but the node's advisory/verification roles follow
57+
`SWE_DEFAULT_RUNTIME` — with no Anthropic credential they fail and degrade to
58+
accept-with-debt fallbacks. If OpenRouter is your only credential, set
59+
`SWE_DEFAULT_RUNTIME=open_code` so every role uses the same provider.
60+
5461
## Rollout
5562

5663
The pro engine is an opt-in preview. It is planned to become the default in a

0 commit comments

Comments
 (0)