less ~/notes/conflict-resolution-is-a-business-decision.md

Conflict resolution is a business decision, not a technical one

25 Jul 2026· 2 min read
PostgreSQLOffline-firstNode.js

A driver loses signal at 13:40. At 14:02 he hands a parcel to a customer, gets a signature, and taps delivered on a phone with no connectivity. At 14:30 a dispatcher looks at a job that has not moved in an hour, assumes he is stuck in traffic, and reassigns it. Given what the office can see, that is arguably the correct decision. At 17:00 the driver reaches wifi and his delivery arrives against a row that changed underneath him.

Last write wins gives it to the dispatcher, because 14:30 is later than 14:02. The system now believes a parcel sitting in a customer kitchen is still out for delivery, and dispatches a second van to collect it. That is not a merge conflict, it is the database lying about the physical world. Server-authoritative is the same outcome wearing a nicer hat: the server state is not more true than the field, only more recent, and recency is not truth. The server did not see the parcel change hands; the driver did. The office is authoritative about intent, not about reality, and conflating those two is the root error.

Newest timestamp wins raises the question of whose clock. A field phone drifts, gets set by hand, jumps on a timezone change, and can be modified by anyone who wants to. Building a consistency model on a hostile client system clock is a wish, not a design. And asking a human every time produces forty prompts on a bad day, at which point a dispatcher starts clicking whichever button is on the left. A prompt that fires constantly is a prompt nobody reads, and false alarms are not harmless: they destroy the value of the true ones.

The rule I settled on is that physical truth outranks administrative intent. A delivery happened; it is an event in the world and irreversible. A reassignment is an intention about what should happen. When a plan collides with an event, the event wins and the plan is told it was overtaken by reality. Encoded as a rank, that makes a cancellation unable to un-deliver a parcel, because a cancellation is an office decision and a delivery is a fact.

The thesis is in the title. Technology can detect the conflict; only the business can say who is right. This rule is correct for parcels and shop visits and would be wrong for a trading desk where a cancellation may carry legal weight and the office holds information the field does not. The rules encode a domain judgment, and pretending otherwise would be the real mistake.