Each signal keeps its real units
Converting everything into a single abstract figure would obscure what is actually happening, so nothing is normalised away:Why density rather than totals
Count-based signals are normalised per 1,000 lines of code before ranking. Without that step a large repository would always rank worse than a small one purely on size, which tells you nothing useful. The Present, Elevated and High labels describe that density. They are not a grade. Type debt is omitted entirely on projects containing no TypeScript or JavaScript, rather than displayed as zero.Using the panel
Expand Quality Signals in the Workspace or Folder view for the ranked list, then select a signal to open the findings behind it. From the terminal,iris check <directory> prints the top three with their real values. Single-file checks do not print them, since one file does not constitute a distribution.
There is no Quality Signals gate
Quality Signals cannot fail a build. Enforcement uses explicit named limits instead:gateMaxDuplicateBlocks, gateMaxSecuritySmells, gateMaxSuppressions and gateMaxNamingViolations.
This is deliberate. When a gate fails it should name the specific standard that was exceeded and by how much, rather than reporting that a blended metric moved. A composite score gives no indication of what to change.