swarm repositories / source
aboutsummaryrefslogtreecommitdiff
path: root/docs/bootstrap-retrofit.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/bootstrap-retrofit.md')
-rw-r--r--docs/bootstrap-retrofit.md13
1 files changed, 11 insertions, 2 deletions
diff --git a/docs/bootstrap-retrofit.md b/docs/bootstrap-retrofit.md
index c099e5f..f9cc38c 100644
--- a/docs/bootstrap-retrofit.md
+++ b/docs/bootstrap-retrofit.md
@@ -11,6 +11,7 @@ Migrate the repo toward the `rust-starter` posture while staying diff-aware:
- preserve justified local carve-outs
- delete duplicated policy only after it has been re-homed into the manifest
- never paste the fresh template wholesale over a living repo
+- move stale hardcoded Rust versions toward the latest system toolchain unless an explicit external MSRV constraint forbids it
- add or preserve project-local Cargo target-dir config under `/data/main/cargo-target/<project-slug>`
- add a hard source-file line cap without erasing stricter local limits or justified generated-code exemptions
@@ -26,6 +27,7 @@ Before editing, inspect all of the places the repo may already encode lint polic
- any existing auto-fix or canonicalization commands
- `clippy.toml`
- `rust-toolchain.toml`
+- active `rustc --version` and `cargo --version`
- editor settings
- existing oversized source files, checked-in generated code, and any current file-length checks
@@ -94,9 +96,15 @@ Do not overwrite local agent instructions; merge the doctrine link into them.
This is intentionally infectious. Future agents should read the Rust style
doctrine by entering the target repo, not only by invoking this bootstrap skill.
-### 2. Pin or refresh the toolchain
+### 2. Use the latest system Rust toolchain
-Add `rust-toolchain.toml` if missing. If present but floating, pin it.
+Inspect the active system `rustc --version` and `cargo --version`. Do not paste
+a Rust version from this starter and do not preserve a stale numeric toolchain
+pin unless the target repo has an explicit external MSRV or compatibility
+constraint.
+
+If the target records `rust-version`, derive it from the active system `rustc`
+unless that explicit constraint says otherwise.
### 3. Install project-local Cargo target config
@@ -191,6 +199,7 @@ If the repo wants CI to detect canonicalization drift rather than rewriting file
- every member crate inherits that policy explicitly
- scripts and CI no longer restate Clippy allowlists
- scripts, CI, and manifest-owned command vectors do not pass `--target-dir`
+- the target uses the latest system Rust toolchain unless an explicit external MSRV or compatibility constraint says otherwise
- manifest-owned canonicalization exists where the repo wants auto-fixes, instead of living in shell aliases or tribal memory
- valid repo-specific exceptions remain intact and justified
- stricter pre-existing rules remain stricter