Variances

Variances are not suppressions. They are reviewed departures from a standard, attached to exact subjects with required rationale. When a value falls outside its standard but stays inside its approved boundary, the report lists it as a passing variance. If it falls outside that boundary too, the report lists a violation with the variance's rationale. Values that return within the original standard no longer appear as variances.

variances:
  src/parser/grammar.ts:
    kind: architectural
    reason: >
      Grammar definitions are intentionally centralized and easier to
      understand in a single file.
    metrics:
      scc.code_lines:
        max: 1274
      scc.complexity:
        max: 120
        reason: >
          Complexity is primarily driven by parser state generation.

Exact subjects

Variances target exact repository-relative paths, not glob patterns, so each departure maps to one reviewed file.

Per-metric reasons

A variance has an overall reason, and individual metric overrides can add a more specific reason when the general rationale is not enough.

Adding from the CLI

considered variance add \
  --subject src/parser/grammar.ts \
  --metric scc.code_lines \
  --kind architectural \
  --reason "Grammar definitions are intentionally centralized."

Adding a variance for a value that already satisfies its standard is rejected. Excluded subjects are also rejected. Omit the subject, metric, kind, or reason to enter it interactively; --metric-reason is optional. Adding another metric to the same subject preserves its other metric overrides, but can replace the subject's overall kind and reason.