Use when fixing a reported bug or a broken behaviour: proving the path is reachable, deciding whether it's actually broken, and writing the failing test before the fix.
Use when PHPStan or Psalm reports a type error on PHP code: resolving it with a less-strict type that satisfies both tools, declaring template parameters, the MixedAssignment and invariant-generic patterns, and tool-specific docblocks as the last resort.
Use when reviewing a diff, a PR or local changes: the severity classification and the evidence bar a finding must clear before it is reported.
Use when writing human-facing text (commit messages, PR descriptions, issue text, code comments and docblocks, README and docs, review replies): plain words, the AI tells to avoid, no em dashes.