Skip to content

Research note

PRAETOR: In M&A Diligence, the Value Is in the Connections — So I Made an Agent That Cross-References

M&A due diligence is thousands of documents, a hard exclusivity clock, and value that lives in the threads across workstreams — a lawsuit Legal finds is a provision Finance must book. Humans lose those threads across siloed teams. PRAETOR runs 9 specialist agents in parallel, cross-references their findings into one register, and renders a cited verdict.

Siddharth Jain4 min readAgentic AIM&AMulti-AgentProvenanceDue Diligence

M&A due diligence is the textbook case for multi-agent AI: thousands of documents, a hard exclusivity clock, and value that lives in the connections across workstreams. A lawsuit Legal finds is a provision Finance has to book and a disclosure the seller must make. The signal is rarely inside one workstream — it is in the thread that runs between them, and that thread is exactly what humans lose across siloed teams under deadline. PRAETOR is built to hold those threads.

Try the live demo →

Pick any company on Earth

PRAETOR starts three ways. You can search the global GLEIF universe — millions of legal entities — on a rotating 3D globe (react-globe.gl) that flies to the target's HQ city and runs screening-led diligence. You can upload a company report (PDF / DOCX / TXT) and have the agents read it, screen the named company, and web-search its current standing. Or you can run a US ticker through the full SEC EDGAR pipeline: 10-K items, the DEF 14A proxy, the EX-21 subsidiary list, EX-10 material contracts, and XBRL financials.

Then nine specialist agents run in parallel, each with one job: INTEGRITAS (sanctions / PEP / ultimate-beneficial-owner unwind), FISCUS (quality-of-earnings from XBRL), LEX (contracts and litigation), AGORA, CENSUS, PEOPLE, CYBER, ESG, and PULSE — a live web pulse for "is this company healthy right now?" via Groq's compound web-search model.

The synthesis step is the actual product

Running nine agents is not the hard part — anyone can fan out nine LLM calls. The value is what happens next. PRAETOR de-duplicates and cross-references findings across workstreams into one ranked red-flag register, then derives a valuation-impact layer from it: price adjustments, escrow, indemnities, conditions precedent. A networkx deal knowledge graph (entities plus OWNS / DIRECTOR_OF edges, with UBO unwind) is what lets a name in a sanctions hit connect to a director in a proxy connect to a subsidiary in an EX-21. That graph, a SQLite medallion lakehouse, and a BM25 + hashing-embedding hybrid index all run in-process and keyless.

Finally TRIBUNAL — a deterministic decision rule — renders GO / NO-GO / CONDITIONAL with ranked rationale, deal-breakers, and protections. The LLM only writes the prose around a verdict the rule already decided.

Agents extract findings deterministically from real sources; the LLM narrates and ranks. Facts come from the filing, not the model.

The provenance guarantee is enforced where it cannot be bypassed: the Finding constructor itself rejects any finding without a source_ref. It is not a prompt asking for citations — it is an invariant in the type. Every claim traces to a filing-and-item, a registry record, or a web article. Same backbone as RegRadar and Recoupe: the verifiable is computed; the language is generated on top.

The honest result: the audit that found 25 things

Here is the story I am proudest of, and it is not a flattering one. I ran a multi-agent adversarial audit against PRAETOR — each finding double-verified by two independent verifiers — and it surfaced 25 real issues: a path-traversal bug, imprecise regexes, a missed 10-K Item-15 note section, geocoder collisions sending the globe to the wrong city. All 25 were fixed and re-verified. The same audit drove false-positive control to 0 false-HIGH on the First Solar case — including reclassifying an offensive IP lawsuit as an asset rather than a liability, and stopping boilerplate risk-factor language from tripping HIGH findings.

A diligence engine that flatters itself is worthless; the whole point is to be the skeptic. Reporting that an adversarial pass found 25 problems — and showing they are fixed — is what makes the verdict believable. It is the same instinct as AEOLUS reporting the unglamorous lost-revenue spread instead of hiding it.

It runs on real data only — SEC EDGAR, the real OFAC SDN list, OpenSanctions, GLEIF, GDELT adverse media, GeoNames — and is keyless and offline-capable by design; one Groq key only enriches narration and the PULSE web pulse. High-severity findings raise human sign-off gates, and every step writes to a replayable audit log. PRAETOR drafts; humans decide.

What this taught me

  1. Cross-referencing is the moat, not the agents. N parallel chatbots is a demo. The register that connects a sanctions hit to a director to a subsidiary is the thing a buyer actually pays for.
  2. Enforce provenance in the type, not the prompt. A source_ref-required constructor cannot be talked out of citing. A system instruction can.
  3. Adversarially audit your own system, and publish what it finds. The 25 fixes and the 0 false-HIGH are more convincing than any "it works great" claim could be.

M&A diligence is one of a dozen finance workflows with the same shape: real public data, codifiable decision rules, regulatory pressure for a defensible, sourced verdict. PRAETOR is my answer to what that looks like when an agent does the first pass — for any company on Earth, in minutes, with a human on the final gate.

Try the live demo → · Source on GitHub → · Full case study →

Request coverage

I am pivoting from manufacturing AI to finance: open to roles, mentorship, and collaborators in fintech, quant, and bank AI.