Skip to content

fix(artifacts): a digest ref its registry refuses without credentials is kept, for Docker's own login to pull - #412

Open
earakely-scale wants to merge 1 commit into
mainfrom
fix/a-digest-ref-its-registry-refuses-is-kept
Open

earakely-scale wants to merge 1 commit into
mainfrom
fix/a-digest-ref-its-registry-refuses-is-kept

Conversation

@earakely-scale

@earakely-scale earakely-scale commented Oct 30, 2026 •

Copy link
Copy Markdown
Collaborator

A bundle whose images are in a private registry couldn't run on a recipient's machine with core's default stores, even with Docker logged in to that registry. Writing each image, put_ref checks its ref against the registry, and core reaches a private registry only with the image store's credentials. The local store holds none for it, so the registry answers 401 and the run stops. An ECR image store can read it, but then a run doesn't set up the gateway and service-db envs, which it does only in local stores.

Change

  • put_ref records a ref already pinned to a digest as given when its registry refuses to serve it to a store holding no credentials for it. The sandbox's Docker then pulls it with its own login. A tag still has to be resolved, and a refusal of the store's own credentials still fails.
  • The README bundle init writes says a digest-pinned image needs only docker login to its registry.

Verified

I exported a bundle from a dev task: two MCP servers whose images are in a private ECR, a universe, an agent, and a rubrics judge. I ran it with this branch installed alongside PyPI dependencies only, core's local stores, and Docker logged in to the registry. It passed 5/5 steps. On 0.9.1394 the same run stops writing its first env, with HTTP 401.

🤖 Generated with Claude Code

RetriggerView in GreptileConfidence Score: 5/5

The PR appears safe to merge.

Summary

Allows DockerImageArtifact.put_ref to keep a digest-pinned reference after an anonymous registry refusal.

  • Digest-pinned images can be registered when the store cannot check their private registry.

Reviews (1) · Last reviewed commit: "fix(artifacts): a digest ref its registr..." · Reviewed by Greptile

… is kept, for Docker's own login to pull

A bundle whose images are in a private registry couldn't run with core's default stores: put_ref checked each
digest-pinned ref against a registry the local store holds no credentials for, which answered 401, though Docker on
the machine was logged in to it. Such a ref is now recorded as given; a tag still has to be resolved, and a refusal of
the store's own credentials still fails. The README bundle init writes says a digest-pinned image needs only docker
login.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@earakely-scale
earakely-scale requested a review from a team as a code owner October 30, 2026 18:28

This branch has not been deployed

No deployments
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