Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/.hyperhive/review-classifier.yml

71 lines
3.2 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: 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.
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