Modern CI/CD pipelines are exceptionally good at automation.

They compile code, run tests, build artifacts, scan dependencies, deploy infrastructure, and promote releases.

But there is an important difference between automating a deployment and reasoning about whether a change should be deployed.

Consider a pull request containing:

DROP TABLE customer_transactions;