Repository navigation
perf(artifact-delivery): serve a warm run from its ready build - #506
Merged
Merged
Conversation
A warm run requested a new Resolution, waited for the queue, then waited again while the build re-signed the same bytes: 5.6 to 9.2 s in 14 production runs on 2026-10-07. When a ready public build of the same Repository, commit, Skill folder and policy passes every reuse check, the POST now answers with that ready Resolution, as GET would, and queues nothing. A request that names no commit resolves on GitHub first, within 2.5 s, using the cached commit and tree reads. When no ready build fits, the build gets the request pinned to that commit and folder, as a registry name already is. The run sweep keeps building every check.
Contributor
🤖 MERGED
GitHub merged this pull request. No material findings were recorded. The pull request closed. |
Contributor
There was a problem hiding this comment.
Harlan Agent Kit posted this automated review. AI open source policy.
Automated Review: BLOCKED.
Contributor
There was a problem hiding this comment.
Harlan Agent Kit posted this automated review. AI open source policy.
Automated Review: BLOCKED.
#510 lets a ready build serve only a CLI that reads what it holds, so the warm run passes the CLI's linked-files capability to findReusableBuild.
#510 loads a Skill through a streaming read and the signer hashes the stored object as a stream.
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
None. Launch prep for
skilld runlatency, approved by Harlan.❓ Type of change
📚 Description
A warm run built its Skill again. It requested a new Resolution, waited for the queue, and waited while the build re-signed bytes R2 already held. In 14 production runs on 2026-10-07, a warm run took 5.6 to 9.2 s, 6.8 s at the median. The queue wait and the build took 1.2 s and 4.5 s at the median.
POST /api/v1/resolutionsnow answers a public request from the ready build of the same Repository, commit, Skill folder and policy. The answer is that ready Resolution, with the same shapeGET /api/v1/resolutions/:idreturns, so released CLIs parse it. Nothing is queued. The ready build must pass the checks a reused build passes: the trusted root verifies its attestation, it names the current policy, its check results pass, and R2 still holds its bytes.serveReady, so every sweep check still builds.artifact-resolution-servedwide event with its miss reason.After this change a warm run makes the POST, then the trusted root, grant and download requests. In the same 14 runs those three took 40 ms, 147 ms and 157 ms at the median.