Why an AI customer assistant should never write the number
When a customer asks what they owe, the answer must be right to the cent. How Kav keeps the words a model writes apart from the numbers your own system supplies.
A language model is very good at phrasing. It is not a source of truth. Ask it to summarise a property-tax balance and it may round, swap a digit, or fill in a due date that sounds plausible. In any service that bills, permits or books, that isn't a matter of style — it's a wrong debt, delivered to a resident in the city's name.
The rule
In Kav, the model never writes a number. Amounts, dates, reference numbers and statuses reach the resident through a display template, fed directly by the output of the city's own system. The model chooses which template to show and writes the sentences around it. It never types the values themselves.
What that looks like
- Every capability that returns information declares which of its fields are numeric, and which template displays them.
- A capability that touches personal data also declares the level of assurance it requires and its data class — "financial", for example — so it is never cached and never shown to someone who shouldn't see it.
- The resident sees a card with the amount, the property and the due date, and the sentence above it is written in their own language.
Why it matters to a city
When a wrong number cannot be produced, nobody has to hope it won't be. That's the difference between a system that was tested well and one built so that this mistake simply can't happen — and in a service where every answer is given in the city's name, only the second one is enough.