Problem
#53 replaced the old Rust toolchain resolution logic with soldr, but the repo still exposes repo-local _cargo, _rustc, and _rustfmt scripts. Those wrappers now mostly add another indirection layer around soldr:
./_cargo -> uv run soldr cargo "$@"
./_rustc -> uv run soldr rustc "$@"
./_rustfmt -> uv run soldr rustfmt "$@"
That means developers and agents still have to remember fbuild-specific _ commands even though soldr already solves the underlying problem: selecting the correct rustup-managed toolchain from rust-toolchain.toml via rustup which.
The desired steady state is simpler: fbuild should not require or recommend _cargo, _rustc, _rustfmt, or other repo-specific Rust build tool shims. Use soldr ... directly, with uv run soldr ... where the dev-tool virtualenv is needed.
Proposed fix
-
Update docs and agent guidance to prefer direct soldr commands:
uv run soldr cargo ...
uv run soldr rustc ...
uv run soldr rustfmt ...
uv run soldr clippy-driver ...
-
Remove _cargo, _rustc, and _rustfmt if no CI/job/script still depends on them.
-
Update any scripts, docs, hooks, or examples that mention _cargo, _rustc, or _rustfmt.
-
Keep soldr responsible for maintaining the correct Rust tool version by resolving through rustup and the checked-in rust-toolchain.toml.
Acceptance criteria
Related
Problem
#53 replaced the old Rust toolchain resolution logic with
soldr, but the repo still exposes repo-local_cargo,_rustc, and_rustfmtscripts. Those wrappers now mostly add another indirection layer aroundsoldr:That means developers and agents still have to remember fbuild-specific
_commands even thoughsoldralready solves the underlying problem: selecting the correct rustup-managed toolchain fromrust-toolchain.tomlviarustup which.The desired steady state is simpler: fbuild should not require or recommend
_cargo,_rustc,_rustfmt, or other repo-specific Rust build tool shims. Usesoldr ...directly, withuv run soldr ...where the dev-tool virtualenv is needed.Proposed fix
Update docs and agent guidance to prefer direct
soldrcommands:uv run soldr cargo ...uv run soldr rustc ...uv run soldr rustfmt ...uv run soldr clippy-driver ...Remove
_cargo,_rustc, and_rustfmtif no CI/job/script still depends on them.Update any scripts, docs, hooks, or examples that mention
_cargo,_rustc, or_rustfmt.Keep
soldrresponsible for maintaining the correct Rust tool version by resolving through rustup and the checked-inrust-toolchain.toml.Acceptance criteria
rg "_cargo|_rustc|_rustfmt"has no remaining user-facing recommendations, except historical references if explicitly needed._cargo,_rustc, and_rustfmtare removed, or any remaining wrapper has a documented compatibility reason and is no longer recommended.uv run soldr .../soldr ...directly.ci/hooks/tool_guard.pycontinues to allowsoldr ...and does not require repo-local_tools.uv run soldr cargo check --workspace --all-targetsworks as the canonical Rust check command.Related
soldr. This follow-up removes the leftover repo-local_*command surface instead of keeping it as the recommended workflow.