CustomMetricReportGenerator
Renders a CustomMetricReport as the two local artefacts aalekhMetrics writes:
markdown - a reviewable summary: system-wide metrics in one table, then a per-module table for each metric that carries module values (worst/highest first), plus any provider failures.
json - the same data machine-readable.
Both are pure string transforms - no Gradle, no I/O.