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.
84 lines
3.9 KiB
YAML
84 lines
3.9 KiB
YAML
classifications:
|
|
- name: no-ads
|
|
description: >-
|
|
A commit message contains a co-authored-by line or other advertising
|
|
for an AI model, such as a "generated with" footer.
|
|
polarity: negative
|
|
threshold: 80
|
|
- name: no-secrets
|
|
description: >-
|
|
The diff adds a secret as literal text: a password, API key, access
|
|
token or private key. A path or name that points at a secret is not
|
|
one.
|
|
polarity: negative
|
|
threshold: 60
|
|
- name: no-lint-suppression
|
|
description: >-
|
|
The diff adds a Rust `#[allow(clippy::...)]` or `#![allow(clippy::...)]`
|
|
attribute instead of fixing what the lint reports.
|
|
polarity: negative
|
|
threshold: 70
|
|
- name: no-debug-leftovers
|
|
description: >-
|
|
The diff adds leftover debugging: a `dbg!` call, a print statement
|
|
that only inspects a value, or a block of commented-out code.
|
|
polarity: negative
|
|
threshold: 70
|
|
- name: no-dead-code
|
|
description: >-
|
|
The diff adds a function, type, option or module that nothing in the
|
|
diff calls, uses or registers, and that is not a test, a trait
|
|
implementation or public API.
|
|
polarity: negative
|
|
threshold: 75
|
|
- name: no-binary-blobs
|
|
description: >-
|
|
The diff adds binary data to the repository: a binary file, or text
|
|
that encodes one, such as base64, hex or PEM-armoured data, a long
|
|
byte array, or a data URI. This holds for test fixtures too. A hash,
|
|
a lockfile pin, a commit id or a short token is not a blob, and neither
|
|
is a text asset such as SVG, CSS or JSON.
|
|
polarity: negative
|
|
threshold: 70
|
|
- name: tests-with-behaviour
|
|
description: >-
|
|
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
|
|
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. 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. A diff
|
|
that changes nothing an operator or user sees makes the question not
|
|
applicable: a pure internal refactor, a move between modules or
|
|
crates, a rename of private items, or an edit to comments and doc
|
|
comments.
|
|
polarity: positive
|
|
threshold: 65
|
|
- name: one-purpose
|
|
description: >-
|
|
Every change in the diff serves what the commit messages say the PR
|
|
does, and nothing unrelated is bundled in.
|
|
polarity: positive
|
|
threshold: 65
|