Why this matters
Mixed concerns hide logic changes and slow reviews.
Do not combine mechanical changes (formatting, renames) with behavioral changes. If unavoidable, separate commits and call out which commits are mechanical.
Mixed concerns hide logic changes and slow reviews.
Side-by-side examples engineers can pattern-match during review.
Refactors + feature + formatting in a single squashed commit.Commit 1: format/rename only
Commit 2: business logic change
Commit 3: docsRename files + change logic silentlyMechanical commit separated from logicFrom the same buckets as this rule.
If the PR claims to fix a specific issue (e.g., 'Fixes #123' / 'Fix PAY-123'), validate it against the real production error. - If an observability MCP is available (Sentry/Datadog/Bugsnag): fetch the event/stack trace and confirm the change addresses the root cause. - Require a regression test (or a clearly documented reason why a test cannot be added). Call out fixes that only hide symptoms (catch-and-ignore, broader retries, defaulting values) without removing the underlying failure mode.