MergeSeat
Open source · Apache 2.0 · a MergeSeat build

diligence-reader

Reads the whole acquisition data room. Writes the findings report, every sentence cited and checked against its source.

A recommendation with a number, findings ranked by money at stake, the material matter quantified with a deal action, the lesser issues, the open items.

View on GitHub

100 / 100
Rubric score on Project Atlas, two runs, spread 0
82 / 84
The RLM skill as shipped, same corpus, same grader
about $0.30
One end-to-end run of the 100-document room
$18.95
The whole build, 5 to 9 September 2026
01What you get

The room in, the report out.

You hand over the room as the seller left it, in whatever formats: PDF, spreadsheets, email, exports.

You get back a five-section findings report. Every sentence carries a citation to the page it came from. Every citation, figure and certainty word has been checked against that page by code before the report reaches you.

Model cost for a hundred-document room is about thirty cents. The tool gives the same answer if you run it twice. What it does not do is replace your judgement; it reads the whole room so your people start from a map instead of a pile, and it refuses to hand you a sentence it could not verify.

02How it works

Seven stages. Two call a model.

1Ingestcode

Files in seven formats into sections with anchors, plus an index of dates, amounts, names, identifiers, status words, versions.

2Notesmodel, one call per document

A note under a fixed schema. Every quote and figure is checked against the source by code.

3Mapcode

A document graph over shared identifiers, cross-references, dates and versions. The matter shows up as a cluster.

4Dossiercode

Per matter: the timeline, every name each function gave it, figures with sources, draft against final, reserve against estimate.

5Writemodel, one call

The five-section report from the dossier alone. Every sentence cites. Certainty words are copied, never raised.

6Verifycode

Every citation resolves, every number exists in its source, no certainty word climbed, decoys ranked below the matter. Failures go back to the writer once.

7Gradecode plus a subagent

Recall against the key, rubric score, spread between two runs.

03Work with us

Run on your room, or built inside your walls.

We run it on your room and you get the report.

Or we rebuild it inside your walls: the same seven stages on your own document types, your own checks and your own answer keys, so that nothing leaves them.

Message me

04Results

Four corpora, one key each.

SampleWhat it testsResult
atlas 100 documents, one matter across six functions, five decoys, a rubric recall 100, rubric 100, spread 0
northwind Eleven contracts, a change-of-control cliff on a 30.1% customer, a decoy on the same template recall 100
northstar-dental A numeric contradiction: 18.0% claimed, 11.7% in the workbook recall 100
yahoo Real SEC filings, Verizon and Yahoo 2016 to 2017, no planted facts recall 86.4

Five generated variants of atlas (misspelled names, an unnamed matter, a second matter, a doubled room, a control) score 94 to 100.

05Run it

Five commands. The price prints first.

git clone https://github.com/Muhanad-husn/diligence-reader.git
cd diligence-reader

pip install -e ".[dev]"
export OPENROUTER_API_KEY=...

python -m rlm.ingest  samples/atlas runs/atlas
python -m rlm.notes   samples/atlas runs/atlas
python -m rlm.map     samples/atlas runs/atlas
python -m rlm.dossier samples/atlas runs/atlas
python -m rlm.write   samples/atlas runs/atlas --passes 2

The tool counts the input tokens and prints the price before any model call, and refuses past the ceiling. Every dollar is in LEDGER.md.

06Why it was built this way

The rules the build kept.

The key is the only test.

A phase passes when its artefact carries every planted fact on all three gate samples, with no code change between them.

One artefact per phase, in order.

A fact dropped later is traced to the phase that dropped it and fixed there. Every later phase reruns.

Money is enforced by code.

LEDGER.md is written by the code that makes the call. Past a phase cap or the $50 total, the call refuses.

Cheapest model that passes.

Five candidates, a bake-off per model-calling phase, no preference, only the table.

07Credit

Built against a published run.

It is a fixed rebuild of a recursive language model run that John Adeojo published on his Project Atlas data room. His RLM improvises its program on every run. This tool keeps the shape of his winning run and replaces every improvised step with one that is the same every time. Seven stages: two call a model, the other five are code that produces the same bytes on every run.

The task, the room, the key, the rubric and the winning shape are John Adeojo's (brainqub3). The rebuild would not exist without a published run to measure against.