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

# Comment categories and severities

> What each category and severity on a CodeWarden comment means, and how they affect what is published.

Every inline comment carries one category and one severity, shown as badges at the top of the comment and kept in a hidden marker at the bottom, which CodeWarden reads back when someone replies.

## Categories

| Category | What it means |
| - | - |
| `bug` | The code produces a wrong result, or crashes on an input it can actually receive. |
| `security` | A security hole: an authorization gap, an injection, a secret exposed, and so on. |
| `performance` | Code that will not scale, such as an N+1 query. |
| `logic` | Logic that contradicts what the surrounding code clearly intends, code that does something different from what the pull request description specifically says, or a test that cannot fail. |
| `acceptance` | Code that does something different from what the linked [Jira ticket](/integrations/jira) states. Only appears when a ticket was read. |
| `fix` | Code that would still raise the error recorded in the linked [Sentry issue](/integrations/sentry). Only appears when an issue was read. |

### About "a test that cannot fail"

Missing tests are never reported. A test in the diff that would still pass with the behaviour it names broken is reported, as `logic`: for example an assertion over a collection the test never fills, or an assertion whose two sides are the same expression. The comment says which input makes it pass while the code is broken.

## Severities

A severity is `high`, `medium` or `low`: the model's own judgment of how bad the defect is. Every finding is still a defect; `low` is never a style remark.

**Severity does not decide what is published.** Every severity is published. Findings are sorted by severity, then by the model's confidence, and the comment cap from [`profile`](/configure/codewarden-yml#profile) keeps the top of that list. A `low` finding is published only when nothing worse needs the room.

This is deliberate. On one pull request, the same N+1 query on the same line of the same commit came back `medium` in three runs and `low` in three others. A label that unstable cannot be the thing that decides whether a real defect reaches you.

## Confidence

The model also gives each finding a confidence between 0 and 1. Findings below **0.7** are not published. The confidence of each comment, published or dropped, is shown on the review's page in the console.

## What is never a comment

Style, naming, formatting, import order, a missing test, missing documentation, a missing type annotation, suggestions that begin with "consider", and anything about code the model was not shown. These are refused by design and cannot be turned on in `.codewarden.yml`.

## Reacting to a comment

React with 👍 or 👎 on a comment to say whether it helped. The [measurements](/console/measurements) page shows how many 👎 reactions the counted comments received. To argue with a comment, reply with `@codewardenapp`: see [Talking to CodeWarden](/bot/mentions).


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