← IncidentsIntermediate

The Column Two Teams Owned

Read what each party saw, commit to a cause, and only then find out which of them was right. The root cause, why the obvious reading was wrong, and the fixes are all held back until you have answered.

The symptom

What was reported, before anyone knew what was happening.

A migration renamed status to order_status on the orders table at 03:00. The orders service deployed cleanly. At 08:00 the fulfilment service began marking every order as unshippable, and the analytics warehouse silently loaded nulls for five days before anyone noticed.

What each party saw, and what each concluded

The evidence, in the form it actually arrived in — several parties, several partial views, several confident conclusions.

WhoWhat they could actually seeWhat they concludedVerdict
Orders teamThe table is in our database, in our repository, covered by our migrations.We own this schema and may change it.✕ wrong
Fulfilment serviceSELECT status FROM orders failing, then a fallback path returning a default of unknown.Unknown status means not ready to ship.✕ wrong
Warehouse ingestionA column it maps by name no longer present; wrote nulls per its lenient-mapping configuration.Partial data is better than a failed load.✕ wrong
Orders on-callTheir own service healthy after the migration.The migration succeeded.✓ right

3 of 4 parties reasoned correctly from what they could see and still reached the wrong conclusion. Nobody in this table is careless. Each one acted on complete-looking local information, and the information was local. That gap — between what a node can observe and what is true — is the whole domain, and one of these readings will usually be yours.

Commit before you read on

The migration was correct, reviewed and reversible, and the owning team followed its own process. Commit before reading on: identify what "ownership" was being asserted, what it should have covered, and why the fulfilment service’s failure was worse than a crash would have been.

Write it down even if you are unsure. An unwritten guess quietly becomes “that is what I thought” the moment you read the answer.

Everything below stays hidden until you commit. Being wrong here is the exercise — the answer looks obvious the moment you read it, which is exactly why reading it first teaches nothing.