Concept · living document
A contact database accumulates a specific kind of debt: the same fact about the same person stated in many places, at different ages, at different levels of precision. The phone number in a signature vs the one in the field. The company in an old note vs the current headline. Two spellings of the same spouse. No single entry is exactly wrong, but the book as a whole starts disagreeing with itself, and every automated touch built on top of it inherits whichever version it happens to read. For an agent that's an embarrassing text to a dead number. For a firm-level view it's worse: pooled data multiplies every disagreement across every book that mentions the same human.
Extract every factual claim from the corpus, resolve the claims to canonical entities, then flag every place two claims about the same subject disagree. The output isn't just a contradiction list; the same pass maps redundancy (facts stated in the most places, drifted furthest in wording) and thin spots (subjects the data barely covers). It's a fact-checker where the reference text and the text under test are the same corpus.
I ran the full pipeline against a real corpus first: Cloze's public help content. 665 articles, 2,292 extracted claims, 1,990 canonical entities, 41 flagged contradictions. Then the part that matters: I hand-reviewed a sample of twenty flags, and none held up as a true contradiction. Every flag traced to fragmentation — facts restated partially, at different dates, in different contexts, until they merely look like disagreement.
That reads like a null result and is the opposite. The audit's real discovery is that the corpus's disease was fragmentation, not wrongness, and fragmentation is measurable: 125 features documented redundantly, 50 covered thinly, a ranked worklist of which facts have drifted furthest. A tool that reports "your flags were artifacts, and here is what is actually wrong" is more useful than one that inflates its hit rate. The hand-review is part of the method, not an embarrassment to it.
Contact data is the same shape, with higher stakes. Claims live in fields, signatures, notes, and threads; entities are people, companies, and households; disagreement is a stale phone number or a contact whose two records tell different stories. The audit becomes a hygiene loop that runs continuously rather than a cleanup that runs once:
The proof run executed locally against public content in an afternoon; nothing proprietary was touched. Pointing the pipeline at a book is an extraction pass and a resolution pass over data the CRM already holds, and the output is a worklist, not a mutation. Read-only, reversible, no product changes required.
A living document: the source note is the single source of truth and this page re-renders from it on every site regeneration. Last built 2026-09-21.