From a9f22a1aa914556371995be08f0a52d32199c9f4 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 22 Mar 2026 23:59:31 +0000 Subject: [PATCH 1/3] docs(ai): add reminder to always run full test suite https://claude.ai/code/session_01KKiNFj2QH1VCLR2AHyEvN4 --- .github/copilot-instructions.md | 1 + AGENTS.md | 1 + CLAUDE.md | 1 + CONTRIBUTING.md | 2 ++ template/ai-instructions/shared.md | 1 + 5 files changed, 6 insertions(+) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 7afa4d56..e7d7b1bd 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -16,3 +16,4 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` - Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/AGENTS.md b/AGENTS.md index 7afa4d56..e7d7b1bd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,3 +16,4 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` - Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/CLAUDE.md b/CLAUDE.md index f27d3302..0be5682d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -16,4 +16,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` - Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. - `gh` (GitHub CLI) is not installed — do not attempt to use it diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 10d1b7e4..cd42ba28 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -342,3 +342,5 @@ The CI script `test.sh` runs all of these across 5 feature combinations. You can ```sh FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh ``` + +**Important:** Always run the full test suite before committing, even for seemingly trivial changes such as documentation edits, comment changes, or config updates. Any change can break formatting, linting, building, tests, or doc generation across the different feature combinations. diff --git a/template/ai-instructions/shared.md b/template/ai-instructions/shared.md index 7afa4d56..e7d7b1bd 100644 --- a/template/ai-instructions/shared.md +++ b/template/ai-instructions/shared.md @@ -16,3 +16,4 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` - Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. From 3da0af985cc9f11e1a2e097ca0afabf7252e1cc5 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 23 Mar 2026 00:12:05 +0000 Subject: [PATCH 2/3] docs(ai): add hint to follow `RUSTFLAGS` suggestions from failing tests https://claude.ai/code/session_01KKiNFj2QH1VCLR2AHyEvN4 --- .github/copilot-instructions.md | 2 +- AGENTS.md | 2 +- CLAUDE.md | 2 +- CONTRIBUTING.md | 6 +++++- template/ai-instructions/shared.md | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index e7d7b1bd..b01c7f94 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/AGENTS.md b/AGENTS.md index e7d7b1bd..b01c7f94 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/CLAUDE.md b/CLAUDE.md index 0be5682d..8f3913ec 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,6 +15,6 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. - `gh` (GitHub CLI) is not installed — do not attempt to use it diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cd42ba28..df9a29c4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -343,4 +343,8 @@ The CI script `test.sh` runs all of these across 5 feature combinations. You can FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh ``` -**Important:** Always run the full test suite before committing, even for seemingly trivial changes such as documentation edits, comment changes, or config updates. Any change can break formatting, linting, building, tests, or doc generation across the different feature combinations. +> [!IMPORTANT] +> Always run the full test suite before committing, even for seemingly trivial changes such as documentation edits, comment changes, or config updates. Any change can break formatting, linting, building, tests, or doc generation across the different feature combinations. + +> [!NOTE] +> Some tests may fail with a hint about `RUSTFLAGS` and `--cfg` flags (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root). Follow the hint and rerun. diff --git a/template/ai-instructions/shared.md b/template/ai-instructions/shared.md index e7d7b1bd..b01c7f94 100644 --- a/template/ai-instructions/shared.md +++ b/template/ai-instructions/shared.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. From 1106913937338e1239cc694eb8a001e5f6ea9d27 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 23 Mar 2026 00:16:19 +0000 Subject: [PATCH 3/3] docs(ai): use generic `pdu_test_skip_*` pattern instead of specific flag name https://claude.ai/code/session_01KKiNFj2QH1VCLR2AHyEvN4 --- .github/copilot-instructions.md | 2 +- AGENTS.md | 2 +- CLAUDE.md | 2 +- CONTRIBUTING.md | 2 +- template/ai-instructions/shared.md | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index b01c7f94..e24c5900 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg pdu_test_skip_*`, follow the hint and rerun with the suggested flags. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/AGENTS.md b/AGENTS.md index b01c7f94..e24c5900 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg pdu_test_skip_*`, follow the hint and rerun with the suggested flags. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. diff --git a/CLAUDE.md b/CLAUDE.md index 8f3913ec..84945705 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,6 +15,6 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg pdu_test_skip_*`, follow the hint and rerun with the suggested flags. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks. - `gh` (GitHub CLI) is not installed — do not attempt to use it diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index df9a29c4..444a1460 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -347,4 +347,4 @@ FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh > Always run the full test suite before committing, even for seemingly trivial changes such as documentation edits, comment changes, or config updates. Any change can break formatting, linting, building, tests, or doc generation across the different feature combinations. > [!NOTE] -> Some tests may fail with a hint about `RUSTFLAGS` and `--cfg` flags (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root). Follow the hint and rerun. +> Some tests may fail with a hint about `RUSTFLAGS` and `--cfg pdu_test_skip_*` flags. Follow the hint and rerun with the suggested flags. diff --git a/template/ai-instructions/shared.md b/template/ai-instructions/shared.md index b01c7f94..e24c5900 100644 --- a/template/ai-instructions/shared.md +++ b/template/ai-instructions/shared.md @@ -15,5 +15,5 @@ Read and follow the CONTRIBUTING.md file in this repository for all code style c - Custom errors: `#[derive(Debug, Display, Error)]` - Minimize `unwrap()` in non-test code — use proper error handling - Install toolchain before running tests: `rustup toolchain install "$(< rust-toolchain)" && rustup component add --toolchain "$(< rust-toolchain)" rustfmt clippy` -- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg`, follow the hint (e.g. `RUSTFLAGS='--cfg pdu_test_skip_fs_errors'` when running as root) and rerun. +- Run `FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh` to validate changes. If a test fails with a hint about `RUSTFLAGS` and `--cfg pdu_test_skip_*`, follow the hint and rerun with the suggested flags. - **ALWAYS run the full test suite** (`FMT=true LINT=true BUILD=true TEST=true DOC=true ./test.sh`) before committing, regardless of how trivial the change seems — this includes documentation-only changes, comment edits, config changes, and refactors. The test suite checks formatting, linting, building, tests, and docs across multiple feature combinations; any type of change can break any of these checks.