From 111cd41c4c1dd43378b75dec071906518eee1962 Mon Sep 17 00:00:00 2001 From: atlas Date: Wed, 14 Oct 2026 18:44:15 +0200 Subject: [PATCH] review classifier: tests-with-behaviour asks for tests of the logic, not of every line of glue --- .hyperhive/review-classifier.yml | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/.hyperhive/review-classifier.yml b/.hyperhive/review-classifier.yml index 709c0adf..74667a1b 100644 --- a/.hyperhive/review-classifier.yml +++ b/.hyperhive/review-classifier.yml @@ -33,14 +33,21 @@ classifications: threshold: 75 - name: tests-with-behaviour description: >- - Every change to Rust or application code behaviour comes with a new or - updated test 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 NixOS - module assertion, a Grafana/alerting rule, or the literal text of a log - or tracing message is not held to this either. A PR that changes - behaviour and tests together matches. + The decision-making logic a change adds or alters in Rust or + application code has a new or updated test that exercises it: pure + functions, state transitions, request and response handling, parsing, + validation. A new code path with real logic and no test does not + match, and neither does a bug fix with no regression test. Thin glue + needs no test of its own: UI component wiring, JSX or markup, a + routing table, registering an event listener, re-exporting, or + calling a function that is already tested. 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. So is a diff that changes only + documentation. A NixOS module assertion, a Grafana/alerting rule, or + the literal text of a log or tracing message is not held to this + either. A PR that changes logic and tests together matches. polarity: positive threshold: 65 - name: docs-updated