Codex working notes for this repo. Start with CLAUDE.md for the full project guide.
- Always run Rust tooling through a globally-installed
soldr. - Never run bare
cargo,rustc,rustfmt,clippy-driver,python, orpip. - Never run
uv run soldr ...— soldr is no longer installed into the repo-local uv environment (see issue #251). Install soldr globally (e.g.uv tool install soldror the install script at https://github.com/zackees/soldr) and call it directly. - Approved Rust forms in this repo are:
soldr cargo ...soldr rustc ...soldr rustfmt ...
- Repo hooks enforce this.
- soldr resolves each tool via
rustup whichso the rustup-managed toolchain is always used instead of a stale system or Chocolatey install. - The normal Cargo path is
soldr cargo ..., so repo Rust builds use soldr's managed zccache path by default; do not add repo-specificRUSTC_WRAPPERwiring for standard builds. - If you bypass them, you can hit wrong-toolchain errors.
soldr cargo check --workspace --all-targets
soldr cargo test -p fbuild-build -- --ignored
soldr cargo clippy --workspace --all-targets -- -D warnings
soldr cargo fmt --all
soldr rustfmt --check crates/fbuild-build/src/compiler.rs
uv run test
uv run test --full
uv run test -p fbuild-build -- some_test_nameuv run python ci/zccache_setup.pyThis configures rustc-wrapper = "zccache" for local wrapper-mode experiments. Standard builds should use soldr above.
- Install globally with
uv tool install soldror follow https://github.com/zackees/soldr. - Then re-run the failing command.
- First check whether you used one of the approved wrapper forms above.
- If not, rerun it the required way before debugging anything else.
- If the pinned toolchain is missing, run
./installviauv run --script install. Read CLAUDE.md for repo instructions.