Free — no signup required

Introduction: The "Green Build" Lie

2 min read

Think of a shared Google Doc where two people are editing simultaneously. Person A renames a section heading. Person B adds a paragraph that references the old heading name. Both edits look fine in isolation — but when you combine them, the document is broken. This is exactly what happens to code repositories at scale.

The Scenario

You work at a high-velocity startup. You have 50 engineers.
1. Alice opens a PR to rename a function from calculatePrice() to getPrice(). CI passes (Green).
2. Bob opens a PR that adds a new feature using calculatePrice(). CI passes (Green).
3. Since both are green, the manager clicks "Merge" on both.

The Broken Trunk

Suddenly, the main branch is broken. Bob's code is calling a function calculatePrice() that Alice just deleted.
* Why did CI pass? Because Alice tested against main (before Bob). Bob tested against main (before Alice). Neither tested against Alice + Bob.

This is the Logical Merge Conflict (also called a Semantic Conflict). Standard CI cannot catch this because PRs are tested in isolation against the same base commit — not against each other.

As teams scale, the probability of this happening increases exponentially. With n PRs open simultaneously, there are up to n(n-1)/2 possible pairwise interactions that CI never checks. The result is a Broken Trunk: main is constantly failing, deployments are blocked, and engineers spend their day debugging problems they didn't create.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free