alint and typos install via cargo in the contributor role, but their tasks carry no cargo environment -- they assume cargo is already on the connecting shell's PATH. That holds on a warm box converged in role order, and fails two real ways, both hit on desktop-derek 2026-08-26: a first converge (contributor runs via soe's dependency chain before developer-rust bootstraps rustup) and any tag-scoped run that skips developer-rust. The failure is a warn, so the box quietly loses its alint and typos passes in hyperi-ci.
Fix shape: give the contributor cargo tasks the same resolved environment developer-rust's cargo tasks use (~/.cargo/bin on PATH, plus /opt/homebrew/opt/rustup/bin on macOS), or hoist that env to one shared place -- which is the same hoist the five homebrew_env copies and 78 rescue bodies are waiting on.
Done when a converge of --tags contributor on a host with rustup installed but a bare login PATH installs both tools.
alint and typos install via cargo in the contributor role, but their tasks carry no cargo environment -- they assume cargo is already on the connecting shell's PATH. That holds on a warm box converged in role order, and fails two real ways, both hit on desktop-derek 2026-08-26: a first converge (contributor runs via soe's dependency chain before developer-rust bootstraps rustup) and any tag-scoped run that skips developer-rust. The failure is a warn, so the box quietly loses its alint and typos passes in hyperi-ci.
Fix shape: give the contributor cargo tasks the same resolved environment developer-rust's cargo tasks use (~/.cargo/bin on PATH, plus /opt/homebrew/opt/rustup/bin on macOS), or hoist that env to one shared place -- which is the same hoist the five homebrew_env copies and 78 rescue bodies are waiting on.
Done when a converge of --tags contributor on a host with rustup installed but a bare login PATH installs both tools.