feat(catalog): add attested-delivery plugin + harden pin enforcement - #1
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Adds the new attested-delivery external plugin entry to the marketplace catalog and strengthens CI admission so the catalog cannot reference mutable or non-resolving external plugin pins.
Changes:
- Add a
git-subdir+url/path+ref+shacatalog entry forattested-delivery. - Update
catalog-admissionworkflow to run on every PR and fail closed on missing/invalid pins, plus verify that pinned SHAs actually contain a plugin manifest. - Update plugin-subdir documentation schema (
repo/subdir→url/path) and describe the stricter admission invariants.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
docs/how-to/add-a-plugin.md |
Updates the documented external plugin source schema and clarifies the stricter admission gate behavior. |
.github/workflows/catalog-admission.yml |
Runs admission on all PRs and adds a fail-closed “pinned SHA resolves to plugin.json” check. |
.claude-plugin/marketplace.json |
Adds the new attested-delivery external plugin entry pinned by sha. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Catalog the attested-delivery plugin (agents + skills) hosted in the .github/ subdir of attested-delivery/.github via a git-subdir source. SHA is a PLACEHOLDER (current .github main) — the plugin is staged-not-committed there; bump to its real merge commit before this leaves draft. - catalog-admission now runs on EVERY pull request (not only marketplace.json changes) so it can be a required status check, and additionally REJECTS any external pin whose sha does not resolve to a .claude-plugin/plugin.json — a sha string alone is no longer sufficient. - Fix the git-subdir schema in docs/how-to (url/path, not repo/subdir) per the canonical Anthropic docs.
Re-pin the plugin entry from the placeholder SHA to the .github v0.1.0 release (f211de9, ref v0.1.0), which contains .github/.claude-plugin/plugin.json so the new fail-closed resolver check passes.
zircote
force-pushed
the
feat/catalog-attested-delivery-plugin
branch
from
June 23, 2026 02:41
257b476 to
33a64b0
Compare
…attestations Switch the attested-delivery plugin entry from url/path to canonical repo/subdir (the schema the shared verify engine reads), and teach the resolver to accept both forms. With .github v0.1.0 now attested, catalog-admission verifies the release's SLSA provenance fail-closed.
…engine fix claude plugin validate requires the url/path form for git-subdir (not repo/subdir). Revert the attested-delivery plugin entry to url/path (keep v0.1.0 / f211de9), and re-pin catalog-admission's verify engine to the .github SHA that resolves repo from url (36cdbd7). Now: claude-validate, the resolver, and the fail-closed attestation verify against .github v0.1.0 all pass.
- catalog-admission resolver: accept https/git@/ssh URL forms and normalize trailing slash before .git; a non-github URL yields an invalid slug and fails closed (Copilot). - add-a-plugin: list the fail-closed attestation-verify invariant in the catalog-admission section.
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.
Summary
Introduces the
attested-deliveryplugin (agents + skills, hosted in the.github/subdir ofattested-delivery/.github) to the marketplace catalog, and hardens pin enforcement so the catalog cannot point at an unpinned or non-resolving plugin.The plugin's 11 files are currently staged, not committed in
.github, so no commit contains it yet. The entry is pinned to the current.githubmain (b266315) as a placeholder, andcatalog-admissioncorrectly fails on it (that commit has no.github/.claude-plugin/plugin.json). Bumpshato the commit that lands the plugin (you're merging them together), then mark ready — admission will go green.Changes
git-subdir→url+path: .github+ref+sha) forattested-delivery.catalog-admissionnow runs on every PR (not onlymarketplace.jsonchanges) so it can be a required status check.refwithout asha, and rejects any external pin whoseshadoes not resolve to a real.claude-plugin/plugin.json— a 40-char string alone is no longer enough.docs/how-to/add-a-plugin.mdgit-subdir schema corrected tourl/path(wasrepo/subdir) per canonical Anthropic docs.Required-check action (owner)
Add
catalog-admissionto branch protection required checks so the pin requirement is enforced at merge.