Repository navigation
fix(bench): send a User-Agent when ingest downloads results - #2321
Merged
Merged
Conversation
Contributor
📏 PR diffNote Actual code changed: 0 lines🟢 0 added 🔴 0 removed Tests, docs, fixtures, and helper scripts excluded.
Every changed line is classified once. |
Contributor
Verifier classifier: risk-1Head In both revisions, the changed downloader serves only benchmark CI ingestion and publication. Adding a User-Agent header cannot reach Jolt verifier acceptance. Risk: risk-1
gpt-6.1-sol, reasoning effort xhigh |
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
The benchmark ingest script now sends a descriptive
User-Agentheader on every download, because Cloudflare rejects Python's default one. The ingest script (scripts/bench/ingest.py) downloads a finished benchmark result and publishes it. In ingest run 42153703631, the result host's Cloudflare Browser Integrity Check answered the download with HTTP 403 (error code: 1010), the code Cloudflare returns when it blocks a client by its browser signature.All ingest downloads go through one function,
download(). It now setsUser-Agent: jolt-e2e-ingest/1 (+https://github.com/a16z/jolt)on each HTTPS request, both for public result URLs and for authenticated GitHub artifact requests. When a request redirects, the header stays on the redirected request, and theAuthorizationheader is still removed.I checked the header against the live host with a result URL that names a result that does not exist. Python's default
User-Agentgot HTTP 403, the Cloudflare block, and the newUser-Agentgot HTTP 404, the host's own not-found answer, so the new header passes the Cloudflare check. Not yet verified: a successful download of a real result. That needs a rerun of the calibration benchmark whose ingest failed; a calibration run benchmarks onemainrevision against itself on the benchmark host to measure noise for later PR comparisons.A separate failure was fixed on the host without a code change. The first failed calibration attempt left the cached Git checkout on the benchmark host,
jolt-bench, with a commit whose parent object was missing but was not recorded as a shallow boundary in.git/shallow. The next run's checkout walked from that commit into the missing parent and failed withinternal error in revision walk. Fetching that commit again with--depth=1recorded the boundary and repaired the cache once. Current checkout code already fetches with--depth=1, so this PR changes no Git handling.Changes
User-Agenton redirected requests, and removal ofAuthorizationon redirects.Testing
All 14 tests passed with:
Rust checks were not run because no Rust or Cargo files changed.
Security Considerations
HTTPS validation and redirect credential removal are unchanged. The proof and verifier code are unchanged.
Breaking Changes
None.