How the AI is evaluated
A language model is non-deterministic: the same prompt can return different answers. In a regulated lending context that is a liability, so the two things the model does — categorise transactions and explain the decision — are each measured against explicit standards before and after release.
Evaluations are the guardrails, not a nice-to-have
The model is a variable, not a fixture
A regulated domain is unforgiving
Two surfaces are evaluated — the decision is not one of them
The credit decision is deterministic code over the categorised totals. It is not a model output, so it is not evaluated as one. Only the two places a model actually speaks are held to these standards.
The categoriser
The rationale
Three ways to run a check
Each check is run in the cheapest way that fits it. Definitive things are code; subjective things are a model acting as judge; the hardest calls are human. Most robust systems are a hybrid of all three.
Code
LLM-as-judge
Human
The categoriser eval, measured against an independent ground truth
The labelled set is produced by a generator that assigns each transaction its true label at creation time — before the model sees anything. The score is agreement with labels the model had no hand in writing, not the model marking its own work.
What is measured
The categoriser runs over a synthetic set drawn from eight personas plus fourteen hand-authored hard cases — the deliberately ambiguous lines where a naïve rule would slip. It is scored on overall accuracy, per-category precision and recall, and a full confusion matrix, with a deterministic offline harness that fails the build if intended outcomes regress.
The rationale eval — what the explanation is held to
These dimensions define the standard the rationale must meet. Compliance, groundedness and outcome-faithfulness are hard gates: a breach blocks release. The judged dimensions are advisory. This is the design the checks implement.
Offline before release, online after
Evaluations are not run once. They gate every release and then keep watching production.
Offline — the release gate
Online — the standing watch
What these numbers do and do not prove
Synthetic personas measure consistency against a known generator, not absolute truth — an easier target than the genuine ambiguity of real statements. A deny-list catches the obvious compliance breaches but is a floor, not a ceiling; paraphrased advice is why a judge sits behind it. And the offline gate proves the deterministic path and the checks themselves are sound — it does not, on its own, certify the live model's every answer.
A production system would add human-reviewed labels from real data with inter-rater agreement, and the online layer above. This demo is explicit about which of those it does today and which it does not.