A model that reads a book of business can say useful things about it: which producer's clients are leaving, what a contingent agreement means for the price, what to ask the seller. It can also, fluently, state a retention rate that nobody computed. In an acquisition that sentence ends up in a memo and a price. InsightRollup is built so it cannot.
The rule
- The engines compute every figure from the rows, in code, with a citation.
- The model explains — over numbered facts, in a fixed answer shape, citing fact ids.
- An answer carrying a number that is not in the facts is thrown away, and the engine's finding stands alone.
- With no model configured, every agent's engine findings stand, and the screen says so.
Facts first
Each agent receives its facts as a numbered list — label, value, source and citation — built from the engines' output for its playbook items. For the concentration analyst on an illustrative agency the facts include the top carrier's share of premium, each key producer's share and revenue, and the rows each rests on.
# the shape of a fact (illustrative values) {"label": "Top producer share of revenue", "value": "26.1%", "source": "book export", "cite": "Book export ironwood_book_export.csv: 367 rows (written in the 12 months to 2026-10-29, producer Rex Dalton)"}
The answer shape
The model answers in one JSON shape: a summary under thirty words, at most five findings of one
sentence each, each with the fact_ids it rests on, a confidence and open questions. The
agent prompts say it plainly: use only the facts; do not state any amount, date, percentage or count
that is not written in them; never invent a clause, a party or an insurer; put what the facts don't
settle in open questions.
(pandas over rows)"] --> F["Numbered facts
F1..Fn with citations"] F --> M["Model reasons
fixed JSON shape"] M --> V{"Valid shape?
Every number
in the facts?"} V -->|"yes"| K["Findings with fact ids;
prose stripped of markers"] V -->|"no"| X["Answer discarded;
engine finding stands"] F --> X style X fill:#fdecec,stroke:#e57373 style K fill:#e8f8f4,stroke:#22c1a4
The check
Before an answer is kept, its shape is validated and every number in its text is compared with the numbers in the facts it was given. A number that is not there — a rounded figure the engine did not produce, a percentage the model computed itself — makes the answer stray, and it is discarded. The run records why. Citations are carried as fact ids, not as “(F3)” markers in the prose; the text a person reads has them removed and the sources shown as chips.
When the model is off
Every screenshot on this site was captured with the model switched off, deliberately. It shows the floor: the engines' findings, cited, standing on their own; the prepared decisions unchanged; the traces saying “reasoned by rules”. The model adds explanation, connection and better questions — never a figure.
For the deal team
You can trust a number on screen because you can open its rows, and no number arrives any other way.
For IT
Grounding uses the shared insight_diligence findings schema and validators; tests use known-answer books and never call a real model.
For corp-dev leadership
The memo's figures are reproducible from the rows; a model can be changed without changing a single number.
Questions we get asked
Which model does it use?
The model in your own cloud account (Bedrock in the reference deployment), configured per environment; it can be switched off per product.
Can the model change a finding's severity?
No. Severities come from the engines and the rules. What the model adds is the agent's reading of them, and every prepared decision is labelled with whether it was reasoned by the model or stands on the engines.
Keep reading
The autonomy dial and prepared decisions
Draft, ask first — and why every acquisition action stops there.
Read articleThe seller's revenue the book won't support
An asking multiple of 2.9×, and a book 8.2% short of the seller's figure.
Read articleTwo producers, 55% of the revenue
Key-person risk turned into retention agreements before signing.
Read article