Production broke after a three-day sprint and two hundred commits. Hunting the culprit by hand is linear and slow. Git bisect turns it into a logarithmic search, and git bisect run automates the entire hunt. Here is the exact workflow, the test script template, and the CI integration that catches regressions before the next standup.
The rebase-vs-merge debate is a proxy for a more useful question: what should the history of `main` look like a year from now? Here is the policy that answers it, applied to feature branches, long-lived branches, and the cases where you really should preserve the merge.