Repository navigation
feat: distribute canonical public skill archives in assistant releases - #6
Merged
Merged
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.
Build native assistant releases with the application's canonical public skill archives, so discovery clients can consume the same five product procedures that the runtime serves. The trusted build runs
cmd/skillpackfrom the exact app commit and includes its v0.2 index, five two-file archives, and app/packager provenance in the native package.The receiver accepts only a complete legacy inventory or a complete public inventory. It checks archive digests, exact canonical bytes, member allowlists, regular non-executable modes, bounded sizes, and deterministic ZIP metadata, including the fixed UTC timestamp extra emitted by Go and the legacy empty extra. Attestation, producer-attempt binding, independent upstream verification, immutable refs, read-only aggregate MCP, retries, and backport behavior retain their existing owners and protections; downloaded package contents are never executed.
Validation performed November 2 against
origin/mainat4feb218621f388d2be699805931357cef108781d:python3 -m unittest discover -s tests -v: 46 tests passed (105.683 seconds).3890a0b154cab2795ff1b474b1d1e6d57a71508d: passed independent verification of the checked-in legacy distribution.cmp, andunzip -t: passed.claude plugin validate .andclaude plugin validate plugins/hitkeep-analytics: passed; existing plugin directory warning for a missing icon.50b708079a28d9ebc3adffb94c8ca789dc543a35: two canonical syncs produced identical public files; repeated native ZIPs were identical; receiver unpack and independent upstream-byte verification passed.git diff --check origin/main...HEAD: passed; clean working tree and normal remote-push readback verified at4f2c2f8d4bc917629bbfaf61748c6636b04c88d1.Merge dependency: the app can pin this immutable branch commit for PR build preparation, but production delivery still requires
packager_committo be an ancestor of assistant main. Merge this PR preserving that exact commit before delivering an app release that consumes it; if this PR is squash-merged or rebased, update the app's immutable pin to the resulting reviewed main commit before release. The receiver must already contain this support when the new package inventory arrives. New builds also require the app commit to containcmd/skillpack; complete historical packages remain accepted.This PR prepares source only. No release, deployment, native-client installation, authenticated MCP session, or live payment was performed. Native MPP/x402/AP2 and Web Bot Auth remain unavailable and are outside this PR.
Companion PRs: application #449, website/docs #28, assistant skills #6, infrastructure #15. Integrate the assistant producer with a merge commit so the app's immutable pin remains an ancestor of assistant main. Runtime rollout and release publication remain separate.