From 2d7be650da5e60236dfde9368982112b8a9afe41 Mon Sep 17 00:00:00 2001 From: Chili Palmer Date: Thu, 20 Aug 2026 21:04:50 +0200 Subject: [PATCH] enforce antislop in the quality gate - Pin the required Antislop release and document installation - Reject Antislop findings during quality checks --- README.md | 9 +++++---- scripts/quality-gate.sh | 8 ++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 5f9082a..dd16173 100644 --- a/README.md +++ b/README.md @@ -117,16 +117,17 @@ cargo run -- imported.agnd --import tasks.ics ## Development quality gate Compiler warnings are denied by project configuration. Before accepting any -change, run the complete gate: +change, install the pinned Antislop release and run the complete gate: ```sh +cargo install antislop --version 0.3.0 --locked ./scripts/quality-gate.sh ``` It requires clean `cargo fmt --check` output, runs Clippy across every target and -feature with `-D warnings`, executes all tests, builds warning-free documentation, -and produces the release binary. Any warning, formatting difference, test failure, -or build failure stops the gate. +feature with `-D warnings`, rejects Antislop findings, executes all tests, builds +warning-free documentation, and produces the release binary. Any finding, warning, +formatting difference, test failure, or build failure stops the gate. ## Essential keys diff --git a/scripts/quality-gate.sh b/scripts/quality-gate.sh index 9c6ad15..7aca809 100755 --- a/scripts/quality-gate.sh +++ b/scripts/quality-gate.sh @@ -8,6 +8,14 @@ cargo fmt --all -- --check # and automated Clippy runs have the same, visible contract. cargo clippy --all-targets --all-features -- -D warnings +antislop_version=0.3.0 +if ! command -v antislop >/dev/null 2>&1 || + [[ "$(antislop --version)" != "antislop ${antislop_version}" ]]; then + echo "antislop ${antislop_version} is required; install it with: cargo install antislop --version ${antislop_version} --locked" >&2 + exit 1 +fi +antislop . + cargo test --all-targets --all-features RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features cargo build --release --all-targets --all-features