This repo is the source of truth for bootstrapping or ratcheting Rust lint posture. Choose exactly one surface: - Fresh bootstrap: read [docs/bootstrap-fresh.md](/home/main/programming/projects/rust_starter/docs/bootstrap-fresh.md) and adapt the files under [template/fresh](/home/main/programming/projects/rust_starter/template/fresh). - Retrofit: read [docs/bootstrap-retrofit.md](/home/main/programming/projects/rust_starter/docs/bootstrap-retrofit.md), then diff the target repo against [template/fresh](/home/main/programming/projects/rust_starter/template/fresh) and [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md). House rules: - Keep lint semantics in root `Cargo.toml`; keep runners, CI, and editor config orchestration-only. - Make every member crate opt into `[lints] workspace = true`. - Pin an exact stable toolchain in `rust-toolchain.toml`. - Prefer `#[expect(..., reason = "...")]` for temporary local suppressions. - Retrofit is ratchet work: preserve stricter local policy and justified local carve-outs; do not blindly paste the template. Use [docs/rust-linting-proposal.md](/home/main/programming/projects/rust_starter/docs/rust-linting-proposal.md) for rationale and policy details, not as a paste target.