The PHPStan baseline is a debt register, not configuration

0.12 shipped in December with a baseline generator, and it is the feature that makes static analysis adoptable on a codebase that has never had any.

$ vendor/bin/phpstan analyse --level=5 --generate-baseline
 Note: Using configuration file phpstan.neon.
 [OK] Baseline generated with 3,884 errors.

$ head -8 phpstan-baseline.neon
parameters:
  ignoreErrors:
    -
      message: "#^Access to an undefined property App\\Order::\\.$#"
      count: 4
      path: app/Order.php

The file is generated, committed, and read as a list of things that are wrong rather than a list of rules — which is the framing that keeps it shrinking. 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 lost. Before this, incremental adoption meant a hand-maintained pattern list that nobody dared prune.