Reading a report
The summary
52 files, 11591 lines, configuration from built-in defaults
score 98/100, graded excellent (90 to 100)The grade always travels with its numeric range, so the label is never the only information you have.
The configuration line matters more than it looks. It states whether a slopometer.toml was loaded and which one, because a score computed under someone else's thresholds is a different measurement.
The categories
Compact by default
Each bar is a proportion of 100, not a scale against other codebases. A category with nothing to inspect reads not applicable rather than scoring perfectly, because nothing was checked and so nothing is known. A category with too little code to support a rate is marked low confidence rather than given a number the sample cannot justify.
--explain prints the density, the half density, and each severity tier's contribution underneath every scored category.
The findings
src/lib.rs 9 findings
HIGH src/lib.rs:904:13 the failure path is unhandled here
rust/unwrap-in-library
MED src/lib.rs:712:24 this resolves a fallible value by panicking
rust/expect-in-librarySeverity is shown as text, not only as colour, so a report read without colour loses nothing. The rule identifier sits on its own line, which keeps long messages readable at ordinary terminal widths.
Unconfirmed findings
Some rules depend on facts the analyzer cannot always establish. Whether a trait really has one implementor depends on resolving the whole crate, and a macro can hide a declaration entirely.
When a rule fires on evidence it could not fully establish, the finding is reported as unconfirmed: it never affects the score, and it is hidden unless you ask.
slopometer . --show-unconfirmedThe default output states how many were omitted, so nothing disappears quietly. Confidence covers when this happens and why.
Diagnostics
Files that failed to parse and detectors that errored are surfaced in both output modes. A report is never quietly based on less than the whole codebase.