Skip to content

refactor(core): remove docker.base_commit, consume repo checkout state directly#1006

Merged
christso merged 2 commits intomainfrom
refactor/993-docker-checkout-state
Apr 9, 2026
Merged

refactor(core): remove docker.base_commit, consume repo checkout state directly#1006
christso merged 2 commits intomainfrom
refactor/993-docker-checkout-state

Conversation

@christso
Copy link
Copy Markdown
Collaborator

@christso christso commented Apr 9, 2026

Summary

  • Remove the deprecated workspace.docker.base_commit compatibility bridge — the repo-checkout model (workspace.repos[].checkout) is now the sole source of truth
  • Make source and path optional on RepoConfig to support Docker prebuilt images where repos exist inside the container
  • Add validation: source-less repos require workspace.docker config; guard host materialization against source-less repos
  • Update SWE-bench importer to emit workspace.repos[].checkout.base_commit instead of workspace.docker.base_commit

Test plan

  • All 1972 tests pass (bun run test)
  • Build succeeds (bun run build)
  • Typecheck passes (bun run typecheck)
  • Lint passes (bun run lint)
  • All 55 example YAML files valid (bun run validate:examples)
  • Pre-push hooks pass (build, typecheck, lint, test, validate)
  • Manual: parse a YAML with workspace.repos[].checkout.base_commit + Docker image

Closes #993

🤖 Generated with Claude Code

…e directly

Remove the deprecated `workspace.docker.base_commit` compatibility bridge.
The repo-checkout model (`workspace.repos[].checkout`) is now the sole
source of truth for checkout state. Make `source` and `path` optional on
`RepoConfig` to support Docker prebuilt images where repos exist inside
the container without needing a clone source.

- Remove `base_commit` from DockerWorkspaceConfig type, schema, parser,
  and validator deprecation warning
- Make `source` and `path` optional on RepoConfig type and schema
- Update parseRepoConfig() to handle optional source/path
- Add validation: source-less repos require workspace.docker config
- Remove this.config.base_commit fallback in resetContainerCheckout()
- Guard host materialization (RepoManager, PoolManager) against
  source-less repos
- Update SWE-bench importer to emit workspace.repos[].checkout
- Update tests, docs, skill reference, and regenerate eval-schema.json

Closes #993

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented Apr 9, 2026

Deploying agentv with  Cloudflare Pages  Cloudflare Pages

Latest commit: 270176e
Status: ✅  Deploy successful!
Preview URL: https://ae3632a4.agentv.pages.dev
Branch Preview URL: https://refactor-993-docker-checkout.agentv.pages.dev

View logs

- Fix stale docstring in import-huggingface.py field mapping
- Use `repo.path ?? '(none)'` in all validator location strings
- Update stale test name and JSDoc referencing removed base_commit

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@christso christso marked this pull request as ready for review April 9, 2026 06:04
@christso christso merged commit 0d1993a into main Apr 9, 2026
4 checks passed
@christso christso deleted the refactor/993-docker-checkout-state branch April 9, 2026 06:04
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.

Refactor Docker workspaces to consume repo checkout state directly

1 participant