Repository navigation
fix(coverage): make vendored crates readable by the sandbox user - #2592
Draft
seonghobae wants to merge 2 commits into
Draft
seonghobae wants to merge 2 commits into
seonghobae wants to merge 2 commits into
Conversation
Cargo crate archives carry files at mode 0640. `docker build` COPY preserves that mode and sets root as owner, and the coverage sandbox runs `cargo llvm-cov` as an unprivileged UID with a read-only image. Cargo then fails checksum verification with "Permission denied" on files such as vendor/fnv-1.0.7/README.md, so the 100% Rust coverage gate fails closed. The Python and VCS materializations already normalize with `chmod -R a+rX`; the Cargo vendor directory did not. Add the same normalization in the Dockerfile after the COPY, and pin the order in the contract test so it cannot be dropped. Observed in OpenCode review dispatch run 36658990734 for fast-mlsirm #2157 (coverage-evidence job 109915965581, 2026-10-01).
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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 |
seonghobae
marked this pull request as draft
October 9, 2026 06:29
This branch has not been deployed
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
0640after DockerCOPY./opt/base-rust-dependencieswithchmod -R a+rXbefore the unprivileged sandbox executes Cargo.opencode-review-dispatch.ymlblob is pinned byte-for-byte.Root cause
Crate archives can contain files at mode
0640. DockerCOPYpreserves those bits while making root the owner, so the unprivileged sandbox UID cannot read the vendored files and Cargo fails checksum verification withPermission denied.The production repair was already present at head
c64b958b3ba584d5a5818ef46b2623dbf9a80f11, but that workflow edit changed its Git blob from09bbf818…to9b689be2…without updating the separate pinned-review contract. That left the PR's own independent trust-boundary test RED.Exact-head evidence
87d062f4b4b439474ad6eb35d7d22c3d97aae83ee66d5bce2f521a7bd25edfbe2fc05c7c20f9dd29c64b958b3ba584d5a5818ef46b2623dbf9a80f119b689be2bcf7e24943e6ed3199ff24eaf0890ce99b689be2bcf7e24943e6ed3199ff24eaf0890ce9expected_sha=c64b958b3ba584d5a5818ef46b2623dbf9a80f11withforce=false.Test evidence
test_independent_review_agent_workflow_matches_reviewed_blobfailed because expected09bbf818…did not equal actual9b689be2….1 passed.opencode-review-dispatch.yml:884 passed, 3 skippedGITHUB_ACTIONS=true:884 passed, 3 skipped5156 passed, 11 skipped, 2 deselected, 40 subtests passed.git diff --check: clean.Merge posture
Draft / HOLD. Do not merge until:
coverage-evidencesucceeds on exact head87d062f4b4b439474ad6eb35d7d22c3d97aae83e;No bypass is requested or justified.