Skip to content

terminal-bench: Wait for Docker and make background-shell require a background task - #1255

Open
max-rozen-oss-db wants to merge 2 commits into
mainfrom
bench-wait-for-docker
Open

max-rozen-oss-db wants to merge 2 commits into
mainfrom
bench-wait-for-docker

Conversation

@max-rozen-oss-db

@max-rozen-oss-db max-rozen-oss-db commented Oct 22, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes two flaky Terminal Bench failures.

  • Harbor · Claude · Linux (run): harbor's preflight gives docker info 10s and failed with "Docker daemon is not running". The same runner reached Docker fine 13 minutes later. A new step waits up to 120s for docker info before harbor runs.
  • Native · Claude · Windows (run): background-shell never required a background task. Haiku ran the job in the foreground and always passed. Opus backgrounded it, ended its turn, and claude -p killed the job. Opus failed all 3 of its attempts across the last 7 runs.

background-shell now tests background tasks directly:

  • slow_job.py prints a token and waits for the agent to write it to ack.txt, then runs 90s more and prints the result. A foreground call can't finish it.
  • The verifier checks for the ack, the finished job, and the result. For Claude it also checks the transcript for a run_in_background call that started slow_job.py. Codex logs aren't stream-json, so Codex is covered by the ack alone.

Expect the Claude lanes to fail this task if a model ends its turn while the job runs.

Testing

  • Oracle passes through run_native.py (91s).
  • Transcript check against old logs: Haiku's foreground run fails, Opus's background run passes, the Codex log is skipped.
  • zizmor clean on the workflow.

This pull request and its description were written by the Isaac LLM tool (Claude Code, session 276df331-02af-4bc3-84a4-5e458f178db2).

…ground

Harbor's preflight gives `docker info` 10 seconds, which failed the TB2 step on a
fresh runner. Wait up to two minutes for the daemon first.

When Smart Router picks Opus for background-shell, Claude backgrounds the job and
ends its turn, and `claude -p` kills the job. Disable background tasks for that
task so Claude waits in the foreground, as Haiku already does.

Co-authored-by: Isaac <no-reply@databricks.com>
The job now prints a token and waits for the agent to ack it in ack.txt, so a
foreground call can never finish it. The verifier also checks that Claude
started the job with run_in_background. Drops the earlier change that disabled
background tasks for this task.

Co-authored-by: Isaac <no-reply@databricks.com>
@max-rozen-oss-db max-rozen-oss-db changed the title terminal-bench: Wait for Docker and keep background-shell in the foreground terminal-bench: Wait for Docker and make background-shell require a background task Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant