kind: llman.sdd.spec
name: "nightly-toolchain-governance"
purpose: "TBD - created by archiving change deps-and-toolchain-upgrade. Update Purpose after archive."
valid_scope[2]: src/,tests/
requirements[3]{req_id,title,statement}:
  r1,Pinned nightly is the single build baseline,"The repository MUST define a single pinned nightly toolchain baseline in `rust-toolchain.toml`, and maintainers MUST treat it as the authoritative local build toolchain."
  r2,Nightly bump uses explicit validation gates,"When the pinned nightly date is upgraded, maintainers MUST validate the new baseline with the project quality gates before considering the bump complete."
  r3,Nightly bump must be reversible,"Nightly baseline updates MUST keep a documented rollback path to the previous known-good pinned nightly."
scenarios[3]{req_id,id,given,when,then}:
  r1,"developer-environment-resolves-toolchain-baseline","",a developer runs project build or check commands in this repository,the effective Rust toolchain resolves to the pinned nightly baseline defined by the repository
  r2,"maintainer-upgrades-pinned-nightly-date","","`rust-toolchain.toml` is changed to a newer nightly date","the change passes nightly-based formatting, lint, tests, and release build checks"
  r3,"new-nightly-introduces-a-blocking-regression","",a regression blocks merge or release after a nightly bump,maintainers can restore the prior pinned nightly baseline and recover a green build without rewriting unrelated code
