Skip to content

[runner] Daytona sandbox snapshot ships an older Codex than the runner pin #5537

Description

@mmabrouk

Symptom

On Daytona-backed runs, the Codex CLI pre-provisioned in the sandbox snapshot is older than the version the runner pins (@agentclientprotocol/codex-acp 1.1.7, bundling @openai/codex 0.145.0, pinned in services/runner/docker/Dockerfile.gh and Dockerfile.dev). During Codex harness QA (PR #5509, milestone 5) the older snapshot Codex rejected the current model generation (gpt-5.6 family), so a stale snapshot silently degrades which models a Daytona Codex run can use.

Why it happens

The local runner images pin the adapter at build time (decision D-005 in docs/design/codex-harness/decisions.md), so the daemon never fetches a floating version. The Daytona snapshot is built by a separate recipe that does not apply the same pin, so the two drift apart whenever the snapshot is rebuilt on a different date than the runner image.

Fix

Apply the same pinned install step (install-agent codex --agent-process-version 1.1.7, or whatever version the runner Dockerfiles pin at that time) in the snapshot build recipe, and treat the pin as one value with two consumers: bump the Dockerfiles and the snapshot recipe together.

Context

Follow-up recorded in docs/design/codex-harness/status.md and the final report on PR #5509. The snapshot recipe lives outside this repository, so this issue tracks the coordination, not a code change here.

https://claude.ai/code/session_01TNqjpdGV3SBZUazJj7AgA9

Metadata

Metadata

Assignees

No one assigned

    Labels

    BackendbugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions