Skip to content

fix: update SDK submodule with portable Python bundling for commit0#613

Closed
simonrosenberg wants to merge 1 commit intomainfrom
fix/commit0-portable-python
Closed

fix: update SDK submodule with portable Python bundling for commit0#613
simonrosenberg wants to merge 1 commit intomainfrom
fix/commit0-portable-python

Conversation

@simonrosenberg
Copy link
Copy Markdown
Collaborator

Summary

Problem

Since SDK v1.15.0 (Mar 26), the agent-server Dockerfile builds a venv with symlinks to /usr/local/bin/python3 (from the builder's python:3.13-bookworm). Commit0 base images are Ubuntu 22.04 with Python at /usr/bin/python3, so the container fails to start:

exec: "/agent-server/.venv/bin/python": stat /usr/local/bin/python3: no such file or directory

Fix

The SDK fix bundles the Python runtime (interpreter + stdlib + libpython) into /agent-server/.python/ and repoints venv symlinks at it, making the image portable across any base image.

Test plan

  • Built commit0 image locally with docker.io/wentingzhao/tinydb:v0 base — starts successfully
  • Verified Python resolves: Python: /agent-server/.venv/bin/python 3.13.12
  • Rebuild commit0 eval images and run evaluation end-to-end

Depends on: OpenHands/software-agent-sdk#2678

Fixes #607

🤖 Generated with Claude Code

Update SDK submodule to include the Python runtime bundling fix
(OpenHands/software-agent-sdk#2678). The agent-server Dockerfile now
bundles Python into /agent-server/.python/, making the venv portable
across base images.

This fixes commit0 evaluations where all runtime pods were stuck in
pending because the agent-server container couldn't start — the venv
symlinked to /usr/local/bin/python3 which doesn't exist in commit0's
Ubuntu 22.04 base images.

Fixes #607

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link
Copy Markdown
Collaborator

@all-hands-bot all-hands-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Acceptable - Pragmatic fix for a real problem, but with execution issues that need addressing.

[CRITICAL ISSUES]

Dependency on Unmerged Code: You're updating the submodule to commit 45510235 from SDK PR #2678, which is still OPEN and not merged. This creates fragile state - if that PR changes or never merges, this becomes an orphaned dependency. Either:

  1. Wait for #2678 to merge, then update, OR
  2. If urgency demands it, clearly document this is a temporary pin and commit to updating once #2678 lands

Branch Severely Out of Date: This branch is 25 commits behind main. The merge will be a mess. Rebase on current main before proceeding.

Incomplete Testing: Your test plan shows [ ] for "Rebuild commit0 eval images and run evaluation end-to-end" - the ONE test that actually proves this fixes issue #607. Until that checkbox is ticked, you haven't proven the fix works in the real scenario.

[IMPROVEMENT OPPORTUNITIES]

Missing Evidence Section: The PR description mentions local testing but provides no concrete runtime proof. Add an Evidence section showing:

  • The exact command(s) used to build the commit0 image with the new SDK
  • The command to run a commit0 evaluation
  • Output proving the pods start successfully (not stuck in pending)
  • Python version verification in the running container

Tests alone don't count - show the real end-to-end behavior.

VERDICT

Needs rework: Don't merge until:

  1. Branch is rebased on current main
  2. End-to-end evaluation is complete (not just image build)
  3. Evidence is provided in PR description
  4. Decision made on SDK PR #2678 dependency

KEY INSIGHT

The technical solution (bundling Python runtime for portability) is solid pragmatism. The problem is real, the fix is reasonable. But you're trying to merge an outdated branch that depends on unmerged upstream code, and you haven't proven the fix actually works end-to-end. Finish the job, then ship it.

@simonrosenberg
Copy link
Copy Markdown
Collaborator Author

Closing in favor of #612 which tracks the same submodule bump. Added root cause context to #612.

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.

commit0: runtime pods stuck in pending, all instances fail

2 participants