The most severe finding is a warning, or a check failed to run (status error).
2
At least one critical finding.
3
pydebuprep itself failed: bad arguments, an invalid or unreadable configuration file, an unreadable baseline, unwritable output.
130
Interrupted (Ctrl-C).
Skipped checks (not root, a tool not installed) don't affect the exit code.
A check that errors (a command timed out or failed unexpectedly) raises the
code to at least 1, so a host never looks healthy just because a check couldn't
look.
--min-severity and the configuration's min_severity hide findings from the
display only; the exit code still counts them.
Changes since the baseline count like other findings.