The last-write-wins rule someone had to design
Two systems hold the same customer and they disagree. Which record wins? That is not a default the database picks for you. It is a decision a human made, and AI needs that decision made out loud.
The last-write-wins rule someone had to design
Two systems both say they know your customer’s address, and the two addresses do not match. Something has to decide which one is true. That decision feels like it should be automatic. It is not. Someone sat down and designed it, and if no one did, your data is quietly picking winners at random.
The conflict nobody scoped
An engineering lead who has moved close to three billion records between business systems keeps returning to this as her sharpest example. One system lets you create duplicate customers. The next one does not. So the same person exists twice in the source and has to become one record in the destination, and when their two versions disagree on a field, something must choose. Her platform defaults to last write wins, meaning the most recently updated record takes the field. That sounds obvious until you sit with it.
Last write wins is a rule, not a law of nature. She had to choose it. She could have chosen “the system of record for this field always wins,” or “the most complete record wins,” or “flag the conflict for a human.” Each choice produces a different customer at the end, with a different address, a different phone, a different history. The database did not hand her the answer. She designed the answer, and then every record flowed through it.
AI assumes the rule exists, and inherits it if it does not
Here is why this matters the moment AI enters. A model reasons over whatever record the pipeline hands it. If two sources conflicted and no one designed the resolution, then somewhere upstream an arbitrary choice already got made, maybe alphabetical order, maybe whichever job ran last, maybe a silent overwrite nobody logged. The model treats that accidental winner as the truth. It has no idea a conflict ever happened. It cannot ask which source was more reliable, because the conflict was resolved and forgotten before the data reached it.
So the quality of every AI decision rests partly on a conflict-resolution rule that most teams never wrote down. AI features generally need something on the order of 85% accuracy to hold up, and if the field the model relies on was set by an undesigned tiebreak, that accuracy is built on a coin flip. The model looks wrong. The real cause is a merge rule that was never a decision.
Why it stays invisible
In a pilot the conflict does not appear, because the curated sample was deduplicated and reconciled by a person before the demo. The two-versions-of-one-customer problem was quietly resolved by hand, off camera, so the pilot never had to design the rule. Then production arrives with live conflicts on day one, and if no rule exists, the pipeline improvises one, differently each time. The migration lead’s method exists to prevent exactly this. She phases the migration, runs the core entities, and has a human reconcile the conflicts before she reruns the tool for incremental records. The reconciliation is where the winner gets chosen on purpose instead of by accident.
Make the rule explicit before the model relies on it
The fix is not complicated, it is just work someone has to own. For each field that can conflict across sources, write down which source wins and why. Last write wins is a fine choice for some fields and a terrible one for others. A customer’s most recent typo should not beat a verified value just because it was typed later. The point is that the choice should be a choice, documented, so the data feeding the model has a known provenance instead of a mystery.
How we approach it at Density Labs
In the AI Opportunity Assessment, our fixed two week, $2,500 engagement, we look for the fields where two systems can disagree about the same entity and ask a direct question: what rule decides the winner, and did anyone actually design it. Where the answer is an undesigned default, we flag it, because that is a silent input to every model that reads the field. We would rather write the resolution rule in week one than trace a wrong answer back to an accidental tiebreak in month four.
When two sources disagree, the model does not get to vote. Someone already voted for it. Make sure it was on purpose.