RAG solved retrieval. Nobody solved understanding.
When an AI agent asks "how is the Acme relationship going?", the retrieval stack fans out to six systems and returns 40 documents. The agent dutifully summarizes them. The problem: it doesn't know that three of those documents are about the same deal, two are duplicates from different sync timestamps, and one contradicts the others on the revenue number.
The agent has data. It doesn't have context.
Entity resolution is the process of determining that records in different systems refer to the same real-world entity. "John Smith" in Salesforce, "jsmith@acme.com" in Slack, "JSmith" in Jira, and "J. Smith" in Notion are all the same person. A human with access to all four systems figures this out in seconds. An AI agent with a RAG pipeline has no mechanism to do it at all.
This matters more than most people think, because the downstream consequences compound. If the agent doesn't resolve the entity, it can't walk the relationship graph correctly. It doesn't know that J. Smith works at Acme Corp, which has a $42M deal in pipeline, which has a P1 ticket open, which was discussed in a Slack escalation thread two hours ago. Each of those facts lives in a different system under a different identifier. Without entity resolution, they're six disconnected mentions. With it, they're one unified picture.
We believe entity resolution should be a first-class primitive in the AI agent stack — not something bolted on after retrieval, not a data-cleaning step you run in batch every night, but a real-time operation that happens at query time as part of the context-delivery path.
This is the core architectural bet behind mantle. When you ask mantle "how is the Acme relationship going?", the first thing that happens isn't a vector search. It's an entity resolution step: resolve "Acme" to a canonical entity ID (acme_corp_12847, matched across 4 sources, confidence 0.97). Then walk the knowledge graph from that node: contacts, deals, tickets, conversations, documents. Then deduplicate, rank by freshness and relevance, reconcile conflicts, and deliver the result as a quality-scored MCP message with provenance for every claim.
The result isn't 40 documents. It's 8 unique, ranked, reconciled facts with a 94/100 quality score and a clear audit trail showing where each one came from. That's the difference between retrieval and understanding.
We're building this at mantleai.dev. Pre-release, growing the connector library one integration at a time. If you think entity resolution is the wrong primitive to start with, we'd genuinely love to hear why.