Repository navigation
Preserve Rust toolchain lookup in Triage sandbox - #2076
Merged
Merged
Conversation
Merged
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
Triage's private
HOMEhid user-installed Rust tools in a minimal environment. Preserve the host toolchain paths while keeping new Cargo caches under the private home.prepare_home isolate HOME and Harness state + preserve RUSTUP_HOME and prepend the installed Cargo bin directory keep host mounts read-onlyAGENTS.mdnow requires final affected checks for sessions that modify repository files; read-only sessions such as Triage run tests when needed to verify a bug claim.Closes #2048
Evidence
Execution evidence
cargo test --bin thirdshift sandbox::triage::tests::read_machine_keeps_home_installed_rust_tools_available -- --exact --nocaptureFailed:
exit status: 127: /bin/sh: 1: cargo: not found(0 passed, 1 failed). A diagnosis control using the same mounts with explicit toolchain paths succeeded.After: The same command passed:
1 passed; 0 failed.cargo test --bin thirdshift sandbox::triage::tests -- --nocapture: 5 passed, including host write denial, private Harness settings, and socket confinement.CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=3 scripts/affected-tests mainselected the full Rust suite. The duplicate local run was intentionally interrupted after all CI checks passed for the exact head9f258188c010696ac10aa915402454be148a94d8, followingdocs/testing.md's instruction to reuse successful CI. No test failures preceded the interruption; three active tests received SIGINT. Local compilation took 3m 56s; the selector ran for 999.53s before cancellation.Confirmed cause:
prepare_homeredirectedHOMEwithout retaining the original Rust installation's lookup paths. The regression starts withoutCARGO_HOME,RUSTUP_HOME, or Cargo's inherited toolchain selection and with/usr/bin:/binonPATH. Real rustup shims now resolve fixturecargoandrustc; host writes fail and new Cargo cache files stay in the worktree.Test seam: the prepared Triage
Launch, executed through real Bubblewrap, with a fixture home and Rust installation.Review coverage
Independent reviews against
refs/remotes/origin/main(259c1c8d): Standards 0 findings, Spec 0 findings. Each reviewer read both changed files,AGENTS.mdandsrc/sandbox/triage.rs. No changed file was left unread; no generated output was excluded. Reports and counts are retained in the Session's.thirdshift-review-QNPoGf/directory.Unaddressed findings
Standards
None.
Spec
None.
Security
None.
Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Revert restores the previous environment setup and validation instruction.
Blast Radius: Triage
Affects Rust tool lookup in
--read-machinesessions and this repository's agent validation guidance. Host filesystem write restrictions remain enforced.Built with codex codex-cli 0.167.2 · gpt-6.1-sol · xhigh