ReadonlyrowsReadonlytotalsReadonlyfilesScanned: numberFiles present in the news/ directory (before any filter).
ReadonlyfilesMatched: numberFiles that passed --lang / --date-* / --tier filters and contributed to the report. Equal to filesScanned when no filters are active.
ReadonlyfilesWithViolations: numberReadonlytotalViolations: numberReadonlytierCounts: Record<Tier, number>Readonlyuncategorised: number
Main scan. Returns
{ rows, totals }so callers (tests, CLI) can decide how to surface the result.