Severity: P0, P1, P2 and P3
Last updated .
What do P0, P1, P2 and P3 mean?
Every MergeSafe finding has a severity from P0 (Critical) to P3 (Low); P0 and P1 findings block a merge and fail the mergesafe-review check run, while P2 and P3 findings never block.
| Severity | Examples | Effect on the score |
|---|---|---|
| P0 Critical | A security hole, data loss or corruption, a crash on a main path. | Blocks merge: any verified P0 scores 1/5. |
| P1 High | A feature that does not work, a check that silently passes when it should fail. | Blocks merge: one P1 scores 3/5, two or more 2/5. |
| P2 Medium | An edge-case bug, docs that drifted from the code, a slow path that rarely runs. | Does not block. Up to two P2s still score 4.5/5; more score 4/5. |
| P3 Low | Nits and style, missing-test suggestions. | Does not block: P3s alone score 4.5/5. |
How severity shows up
- Each inline comment opens with a badge such as P1 High · Correctness: the severity and a category (Correctness, Security, SQL, Performance, Tests and others).
- The summary lists P0 and P1 findings in a table and folds P2 and P3 into a collapsed section.
- The check run fails while any P0 or P1 is open, verified or not.
- Missing tests are always P3. A feature that does nothing, or a check that silently passes, is at least P1.
If you disagree with a severity
Reply to the finding with your reasoning. It is judged again and either withdrawn or downgraded to P3, so it no longer blocks. See Replying to a finding.
Related: Merge readiness and the glossary entry P0 and P1 severity.
Next: Merge readiness score →