Repository navigation
feat(remote): read linked files from GitHub at the attested commit - #209
Merged
Merged
Conversation
skilld.dev can now sign Skills larger than the 64 MiB Artifact. It lists the largest files as linked files, by path, mode, size and Git blob SHA, and only for a client that asks. skilld asks on every Resolution, reads each linked file from raw.githubusercontent.com at the attested commit, and installs the Skill only when every one matches its blob SHA. The installed digest covers the linked files too.
2 of 6 tasks
Contributor
🤖 MERGED
GitHub merged this pull request. No material findings were recorded. The pull request closed. |
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.
🔗 Linked issue
Related to skilld-dev/skilld.dev#510, which lists linked files. Its ADR-0013 has the design.
❓ Type of change
📚 Description
skilld downloads an Artifact of at most 64 MiB. A larger Skill ran without the files that did not fit.
thvroyal/kimi-skills/kimi-xlsxlost its 73 MiB binary that way.skilld now sends
skilld-capabilities: linked-fileson each Resolution request. skilld.dev then lists the files that do not fit aslinkedFilesin the signed statement, each with its path, mode, size and Git blob SHA. After the Artifact verifies, skilld reads each linked file fromraw.githubusercontent.comat the attested commit. It installs the Skill only when every file has its attested size and blob SHA. The installed digest covers the linked files too.Linked files hold 256 MiB at most, and they count against the 2,000 file limit. A statement with nothing linked has no
linkedFilesfield, so it reads the same in released versions. skilld.dev never sends the field to a client that does not ask for it.