A $3.4B US real-estate investment firm
Thirteen years of records. One box that answers
Thirteen years of records nobody could query fast. We built one box that answers across all of it, cites every number, and refuses when the data is not there.

The situation
- Executives act on these answers: a wrong number is worse than none.
- One client's data had to stay out of another client's answers, with proof.
What we built
- One coordinator sends each question to one of 5+ specialist agents, each holding a different part of the data.
- Every claim is checked against its source before it is served.
Measured
What this system holds
1.000Correct every time it held backIt scored 1.000 for this: when the data was not there, it said so instead of guessing.One production system, at every release. It does not measure how often it should have refused.
0No client's data in another's answersOne client's records never turned up in another client's answers. Checked in both of the places the system stores its search index.We only tested the client pairs somebody wrote a test for. That is a floor, not proof.
29M+Holds at real data volumeMore than 1.3 million documents, broken into more than 29 million searchable pieces, every one of them citable.Scale shows the method holds, not that an answer is right.
What held
- Live and in daily use. The honesty checks still pass at every release.
The stack
- Claude on AWS Bedrock
- OpenAI embeddings
- Voyage reranker
- PostgreSQL + pgvector
- FastAPI

