This is a small habit, but it has saved me more than once.
Before every production deploy, I run:
git diff --stat origin/main...HEAD
and
kubectl diff -f k8s/
The first tells me exactly what is changing in the release.
The second tells me exactly what the cluster will change.
No guesswork. No “I thought this file wasn’t included.” No accidental config drift.
When the output looks boring, I’m happy.
Boring deploys are usually healthy deploys.