RespondIt AI, 2025 to 2026
Reports that can't make things up
Every client gets a report on how their AI agent performed. When I started drafting them with an LLM, the drafts read well and some of them were wrong.
Context
The reports go to housing authority leadership. They cover resolution rate, why people called, and where calls went. Leadership uses them to decide staffing and whether the AI is worth paying for.
Two problems surfaced. LLM drafts would occasionally state figures that didn't trace to the call data, or offer a cause no one had established. And separately, three changes in how calls were recorded had been quietly moving the headline metric.
What I did
- Moved the math out of the model. Metrics are computed deterministically from the call export. The LLM writes prose around numbers it's given; it doesn't produce them.
- Put gates between the draft and the client. A figure-trace gate checks that every number in the draft maps back to the data. A compliance gate blocks unverified causes and quantifiers. Drafts that fail go back; they don't ship.
- Redefined "resolved." I audited how the CRM recorded call outcomes and replaced "ended without a transfer" with a stricter definition. Then I restated every client's headline number under it, even where that cut the figure nearly in half.
- Turned it into a product. It started as a reusable skill, then became a console with versioned prompts, figure tracing, and a revision thread where a client's reply becomes a tracked revision.
Result
- The compliance gate caught an invented cause before an August report went to a client.
- One forensic report was blocked six times before it shipped with zero violations.
- Every client's headline metric moved to the same strict definition of "resolved."
- Reporting went from something I wrote by hand to a system with standing rules: no unverified quantifiers, template what can be templated, withhold rather than guess.
What it taught me
The right response to a flattering number is to find out what it's counting. A report is only useful if leadership can act on it without double-checking it.