A generated file recording every existing error is the thing that makes static analysis adoptable on a codebase that has never had any.
$ vendor/bin/phpstan analyse --level=6 --generate-baseline
[OK] Baseline generated with 3,884 errors.
$ grep 'path:' phpstan-baseline.neon | awk -F/ '{print $2}'
| sort | uniq -c | sort -rn | head -4
2841 Legacy
602 Http
288 Billing
Reading it once by directory is worth an hour and usually changes what to do about it — seventy percent of the debt in one directory is a decision about that directory rather than a gradual cleanup. The count per message is what makes it a ratchet: fixing three of four occurrences fails the build until the count is updated, so partial progress is recorded rather than absorbed. After that first read, nobody should open the file again.