Fixes#5708. A negative rule on the repo's own review-classifier rules: binary
files and text that encodes them (base64, hex, PEM, byte arrays, data URIs)
are refused, test fixtures included. Hashes, lockfile pins, commit ids, short
tokens and text assets are not blobs.
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.
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.
Eight classifications in .hyperhive/review-classifier.yml: no AI
advertising in commit messages, no committed secrets, no clippy
allow attributes, no debug leftovers, no dead code, tests with
behaviour changes, docs with operator-facing changes, one purpose per PR.
A swarm-controller test parses the real file so it can't rot, and the
rust source fileset in nix/rust.nix includes it so the test finds it
in the build sandbox.