Repository navigation
feat(cli): register a shipped agent's published image with a2a-agent put --published - #306
Closed
earakely-scale wants to merge 2 commits into
Closed
earakely-scale wants to merge 2 commits into
earakely-scale wants to merge 2 commits into
Conversation
…put --published `agent-env a2a-agent put --id <id> --published claude-code` registers the image the installed release published for a shipped agent, by its tag and digest, with the agent's folder as its build context, so a hosted control plane can serve the released image without building or pushing one. It refuses when no image is published for the installed sources. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Closing: the hosted control plane that needed this registers a release's published image from its own tooling, with the same |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Each release publishes the shipped Claude Code agent's image to
ghcr.io/scaleapi/agentenv-claude-code:src-<hex>and records its digest in the wheel. A run that deploys the bundled agent already uses that image. A hosted control plane, though, serves agents registered by id in its own store, and the only ways to register one were:--dockerfile, which builds and pushes a copy;--image-ref, which stores no build context, soinstall/v1and the build fallback have nothing to build from.agent-env a2a-agent put --id <id> --published claude-coderegisters the released image withDockerImageArtifact.put_ref:published_digest;Nothing is built or pushed.
It refuses when no image is published for the installed sources, as with a git checkout, and nothing is written.
--publishedis one of the three image sources: exactly one of--dockerfile,--image-refand--publishedis allowed. It takes any shipped agent with a published image:claude-code, and since #308 and #315codex,openhandsandpitoo. Any other name is refused, with the names it can register.How it was tested
tst/unit/cli/a2a_agent_put_published_test.pycovers:image_ref_put_test.pytakes the new exclusivity message.ruff checkis clean, and the unit tier passes: 9592 passed, 49 skipped.Labelled
bump-version, so merging it cuts a release that a PyPI install can run--publishedfrom.🤖 Generated with Claude Code


Confidence Score: 5/5
The PR appears safe to merge; no blocking issues were found.Summary
Adds
a2a-agent put --publishedto register a shipped agent’s published image without building or pushing it during registration.No actionable issues found. The previous and current commits have different merge bases with the target, so this review covered the full PR diff. No previous review threads were supplied.
Diagram
%%{init: {'theme': 'neutral'}}%% flowchart TD A["put --published AGENT"] --> B["Find shipped agent"] B --> C{"Published digest exists?"} C -- No --> D["Exit before saving"] C -- Yes --> E["Save tag, digest, and build context"] E --> F["Register agent"] F --> G{"Skip validation?"} G -- No --> H["Run existing validation"] G -- Yes --> I["Done"]Reviews (2) · Last reviewed commit: "Merge remote-tracking branch 'origin/mai..." · Reviewed by Greptile