Coverage
Hermetic, first-party. Do not add Codecov, Coveralls, Code Climate, or similar.
./Scripts/coverage.sh
Writes gitignored coverage/:
summary.txt/summary.md— line coverage by filecoverage.lcov— for local toolshtml/index.html— browsable report
CI already runs this on the test job and uploads coverage/ as an artifact. Open the HTML from the artifact; do not commit it.
Ignore patterns exclude .build and Tests/ so the denominator is package sources.
SKIP_TEST=1 ./Scripts/coverage.sh # rebuild the report from an existing profile