> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rapidreview.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Findings and severity

> What a Rapid Review finding contains, what Critical, Major and Minor mean, and why only some findings are posted; read this when you want to understand a finding's severity, area or Refactor label, or a message about the comment limit, findings not tied to a changed line, or the severity floor.

## What does Critical, Major or Minor mean?

Each finding shows its severity before its title: Critical, Major or Minor. Rapid Review judges every finding with the same rubric:

* **Critical:** data loss, an outage, or an exploitable security issue. Data loss means users' or production data. A tool losing output that a re-run restores doesn't count.
* **Major:** significant impact on normal use.
* **Minor:** narrow impact, such as an edge case, a confusing result or a rarely used path.

A finding Rapid Review didn't judge shows no level. The Rapid Review app calls it "Not judged".

## What is a finding's area?

Each finding has one area:

* **Correctness:** the code likely behaves wrongly at run time.
* **Security:** the code introduces or weakens a security boundary.
* **Reliability:** the code can cause a crash, race, leak, deadlock or poor failure recovery.
* **Compatibility:** the code can break a caller, a stored format, a protocol or public behaviour.
* **Test gap:** important behaviour lacks targeted tests.

## What kinds of problems does a review look for?

The reviewer reports defects the change introduces: a concrete input or state that makes the changed code behave wrongly, fail, leak or break a caller. It doesn't report style, naming, formatting, missing documentation or problems in unchanged code.

Alongside the main review, every review also looks specifically for:

* wrong or missing conditions on a value, such as null, empty or zero values, off-by-one errors, boundaries, wrong comparisons and wrong defaults;
* text that is built, read, quoted or escaped wrongly for some inputs, such as markup, URLs, paths, headers, shell commands, SQL, regular expressions, format strings and encodings.

## What is a finding marked Refactor?

Some repositories also get comments labelled **Refactor**. They point out a function a pull request adds that repeats other functions in the repository, where one refactoring could remove the repetition. A Refactor comment has no severity, and it ranks after every finding that has one.

## Why were only some findings posted as comments?

A review posts a limited number of inline comments, most severe first. When it found more, the check says how many lower-ranked findings exceeded the comment limit. Refactor comments rank after every finding with a severity.

Findings that aren't tied to a changed line aren't inline comments, so the limit doesn't apply to them. They're listed in the review's text and in the check.

## What does "not tied to a changed line" mean?

A finding about a line that GitHub's diff doesn't show can't be an inline comment. Rapid Review lists such findings in the review's text, each with its explanation, and in the check under "Not tied to a changed line", with the line the reviewer cited where it gave one.

They count as findings: the check's title then reads, for example, "1 finding not tied to a changed line" rather than "No findings".

## What does "Below the severity floor" mean?

A repository, or the account that owns it, can have a severity floor: `minor`, `major` or `critical`. A finding judged below the floor is held back:

* it isn't posted as a comment or listed in the review;
* it isn't counted in the summary comment or the check's title;
* the check lists it under "Below the severity floor".

Where the check's title would otherwise say "No findings", it says how many findings it held back, for example "No findings at or above Major; 2 below the severity floor".

Some findings are posted whatever the floor: a finding without a severity, a Refactor comment, and a finding that's already on the pull request.

Without a floor, findings of every severity are posted. A repository whose floor is `minor` posts every severity, whatever its account's floor.

## Can I set a minimum severity for my repository?

A severity floor, for a repository or for a whole account, is set on Rapid Review's side. You can't set one in `.rapid-review.yml`, and the Rapid Review app has no setting for it.

Without a floor, findings of every severity are posted.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.