fix: make the Trust Manifest MUST rules satisfiable by the spec's own examples#81
Open
liady wants to merge 1 commit into
Open
fix: make the Trust Manifest MUST rules satisfiable by the spec's own examples#81liady wants to merge 1 commit into
liady wants to merge 1 commit into
Conversation
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.
Fixes #70.
Two normative MUSTs could not be satisfied by the Claude Plugins appendix examples:
The identity binding rule assumed every
identifierhas a publisher domain segment, butidentifieris an open format and the appendix usesurn:claude-plugin:...identifiers with no domain at all. A consumer following the rule as written would have to reject the Trust Manifests in the spec's own examples. The rule is now scoped to identifiers that carry a publisher domain segment (such as theurn:airform), with a fallback to other verification (attestations, signatures) for formats that don't.Digest Format requires consumers to reject digests weaker than SHA-256, yet the appendix mapped the marketplace's git commit
shatosourceDigestassha1:.... A commit SHA is a revision identifier, not a content digest of anything a consumer can fetch and hash, so the mapping now lands it in entrymetadata.sourceShainstead, and the examples no longer carrysourceDigestvalues that consumers are required to reject.A dedicated
sourceRevisionfield on the Provenance Link (as floated in the issue) would be a schema addition and would need its own ADR, so it is intentionally out of scope here.