From 05ae9637cfae724b52955b33a48e42427ae8f9fe Mon Sep 17 00:00:00 2001 From: atlas Date: Tue, 13 Oct 2026 12:50:39 +0200 Subject: [PATCH 1/2] review classifier: a test-only diff satisfies tests-with-behaviour The rule asked for a test beside every behaviour change and had no answer for a diff that is itself a test. On #5207, whose only file is the module-eval fixture nix/module-eval/agent-queue-bao.nix, it answered "no match" at certainty 78 and requested changes. Name the test locations of this repo and make the question not applicable when every changed file is one of them. A PR that changes behaviour and tests together still matches, and a behaviour change with no test still fails. --- .hyperhive/review-classifier.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.hyperhive/review-classifier.yml b/.hyperhive/review-classifier.yml index 2070c1ea..8e75b360 100644 --- a/.hyperhive/review-classifier.yml +++ b/.hyperhive/review-classifier.yml @@ -34,7 +34,11 @@ classifications: - name: tests-with-behaviour description: >- Every change to how the code behaves comes with a new or updated test - that exercises it. + that exercises it. A diff whose changed files are all test code + (a fixture under `nix/module-eval/`, `nix/checks.nix`, a crate's + `tests/` directory, or Rust inside `#[cfg(test)]` or a `#[test]` + function) changes no behaviour: the question is not applicable. A PR + that changes behaviour and tests together matches. polarity: positive threshold: 65 - name: docs-updated From 683b942f344b14a007c1ced95826934046ef4602 Mon Sep 17 00:00:00 2001 From: atlas Date: Tue, 13 Oct 2026 12:58:59 +0200 Subject: [PATCH 2/2] review classifier: docs-updated counts option descriptions, skips internal options An option declared internal = true or visible = false is not shown to an operator, so adding or changing one needs no documentation. A nix option's own description renders into the generated options reference, so for a change to that option's default, type or meaning an updated description is its documentation, alongside docs/ and crate READMEs. A change in what a service does for operators across hosts (what it scrapes, serves or publishes) still needs a docs/ page or README, so a description edit does not excuse it. --- .hyperhive/review-classifier.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.hyperhive/review-classifier.yml b/.hyperhive/review-classifier.yml index 8e75b360..bb5f5fa2 100644 --- a/.hyperhive/review-classifier.yml +++ b/.hyperhive/review-classifier.yml @@ -45,7 +45,13 @@ classifications: description: >- A change to what an operator or user sees, such as a command, flag, option, endpoint, service or default, updates the matching page under - docs/ or the crate's README in the same diff. + docs/ or the crate's README in the same diff. For a nix option whose + own default, type or meaning changes, an updated `description` on that + option counts as the documentation. It does not cover a change in what + a service does for operators across hosts, such as what it scrapes, + serves or publishes: that needs a docs/ page or README. A nix option + declared `internal = true` or `visible = false` is not something an + operator sees, so adding or changing one needs none of these. polarity: positive threshold: 65 - name: one-purpose