fix(coverage): restore trusted LLVM 19 producer pin - #1057
Conversation
Bind Rust coverage to reviewed llvm-cov-19 executables so a runner PATH change cannot silently replace the producer. Darwin trusted-uv tests exercise the linux x86_64 installer path.
Materialize a base Python lock only when every package line is an exact SHA-256 pin or a two-token relative -r/--requirement include of a candidate lock path. A lone --require-hashes directive, ./dotted paths, and -r other-hashes.txt no longer enter the trusted build context.
Restore opencode-review-dispatch.yml to the reviewed review-agent blob and bind LLVM 19 coverage tools in scripts/ci/ensure_rust_llvm19.sh.
Keep the runtime check in the default-branch coverage image and ensure_rust_toolchain guard so a pull-request-head helper cannot change the coverage producer. Pair the review-dispatch blob SHA with that workflow and fail closed when the reviewed paths drift. Co-authored-by: Seongho Bae <[email protected]>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
|
Important Review available on request
Reviews should be triggered manually for repositories with fewer than 10 stars. Select Trigger review above or comment ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The LLVM 19 quality CI already watches opencode-review-dispatch.yml, but the hourly NVIDIA NIM gate that owns REVIEW_DISPATCH_BLOB_SHA does not. Pair the blob pin in the workflow that retriggers on a producer rewrite so a later trusted-image change cannot leave the independent review-dispatch identity stale. Co-authored-by: Seongho Bae <[email protected]>
There was a problem hiding this comment.
Stale comment
Review
Head
a2d4924frestores the trusted LLVM 19 producer pin and now fail-closes when that pin drifts from the independent review-dispatch identity.What is sound
- Coverage image,
docker run --env, andensure_rust_toolchainall bind/usr/bin/llvm-cov-19and/usr/bin/llvm-profdata-19. The helper is a readable extract, not the enforcement point.REVIEW_DISPATCH_BLOB_SHA=de1c4800d362bda4a90c31a0c8e39687a782afb4matchesgit hash-objectof.github/workflows/opencode-review-dispatch.yml.- The follow-up commit watches
tests/test_pr_review_autofix_nvidia_nim_contract.pyfrom the LLVM quality CI and asserts the blob pin there. The hourly NVIDIA NIM quality workflow still does not watchopencode-review-dispatch.yml, so that pairing check has to live in the workflow that actually retriggers on a producer rewrite.- Local contract: 8 passed, 1 skipped (this host has no
/usr/bin/llvm-cov-19). Quality CI already passed on7b7686d6.Do not merge #827 while its head still omits the trusted 19 lines. This is the landing vehicle.
Next operator action
- Merge this PR after required checks on
a2d4924fcomplete.- Rebuild the trusted coverage image from default-branch
opencode-review-dispatch.ymlbefore treating DiskSage or fast-mlsirm Rust coverage as current-head evidence.- Close or retire #827 after this merge. Do not open a third LLVM-pin PR.
Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Review
Head a2d4924f is the LLVM 19 landing vehicle. Local contract evidence: 31 passed, 1 skipped on tests/test_opencode_rust_coverage_toolchain_contract.py and tests/test_pr_review_autofix_nvidia_nim_contract.py (skip is host missing /usr/bin/llvm-cov-19). git hash-object of .github/workflows/opencode-review-dispatch.yml equals REVIEW_DISPATCH_BLOB_SHA=de1c4800d362bda4a90c31a0c8e39687a782afb4.
What is sound
- Trusted coverage image installs
llvm-19, bindsENV LLVM_COV=/usr/bin/llvm-cov-19andENV LLVM_PROFDATA=/usr/bin/llvm-profdata-19, andRUN test -xboth paths. - Isolated
docker run --envpasses the same literals;ensure_rust_toolchainfail-closes beforecargo llvm-cov;failures != 0exits the sandbox. scripts/ci/ensure_rust_llvm19.shis a readable extract only. It is not the enforcement point.- Quality CI watches
opencode-review-dispatch.ymland the NVIDIA NIM contract so a producer rewrite cannot leave the independent review-dispatch blob stale. Hourly NIM quality still does not watchopencode-review-dispatch.yml; that split is the documented control separation. - Review-agent credentials, model keys, and approval authority are unchanged.
Do not merge #827. That head (55a7292a) still omits the trusted 19-line producer pin in opencode-review-dispatch.yml.
Next operator action
Merge this PR after the required OpenCode, Strix, and Noema reviews complete. The next default-branch repository_dispatch rebuilds the coverage image with --no-cache; treat that successful run as the first current-head LLVM 19 evidence. Then close or leave closed #827 so a helper-only pin cannot land.
Sent by Cursor Automation: Fix Issues
|
Merge loop: exact remaining blocker is queued required checks on head |


Why this change
PR #827 extracted the LLVM 19 check into
scripts/ci/ensure_rust_llvm19.shand left.github/workflows/opencode-review-dispatch.ymlidentical tomain. That helper is current-head source. The coverage sandbox measures untrusted PR trees, so a helper-only pin cannot bind the coverage producer.The previously approved head
2acaa179already had the trusted 19-line binding:llvm-19in the coverage image,ENV+RUN test -x,docker run --env, and theensure_rust_toolchainfail-closed guard. This PR restores that trusted path and pairsREVIEW_DISPATCH_BLOB_SHAwith the updated workflow blob.What operators should do next
Review the restored producer pin, then merge this branch instead of #827. After merge, rebuild the trusted coverage image from default-branch
opencode-review-dispatch.ymlbefore treating Rust coverage as current-head evidence.Do not merge #827 while its head still omits the trusted 19 lines.
Verification
Focused contract tests passed locally:
tests/test_opencode_rust_coverage_toolchain_contract.py,tests/test_pr_review_autofix_nvidia_nim_contract.py, and related dispatch/coverage tests (46 passed, 1 skipped when the host lacks/usr/bin/llvm-cov-19).Trust boundary
The runtime check stays in trusted default-branch workflow source. The helper is a readable extract and override-resistant contract, not the enforcement point. Updating
opencode-review-dispatch.ymlupdates the independent review-dispatch blob SHA pin; it does not move review-agent credentials or approval authority.Refs #827 and #816.