Dimension 1 — Retrieval hit
Did we fetch the right source?
Gate: must cite
Pass = answer cites the exact policy section it relied on. No citation = fail, even if the wording sounds right.
- Source ID recorded for every answer.
- Stale or superseded policy version = fail.
Dimension 2 — Grounding
Does the answer stay inside the source?
Gate: no invention
Pass = every claim traceable to the cited source. Any invented detail = fail.
- Quotes beat paraphrase for regulated answers.
- Uncertainty must be stated, not smoothed over.
Dimension 3 — Refusal quality
When unsure, does it route cleanly?
Gate: clean handoff
Pass = plain-language stop reason, what happens next, time estimate, full context handed to the human.
- Legal, access, and billing-edge decisions always route to a human.
- Handoff that drops context = fail.
Dimension 4 — Observability
Can we see what the agent did?
Gate: full trace
Every answer logs query, retrieved sources with versions, confidence, policy path taken, and outcome.
- Dashboard: containment, citation rate, reopen rate, and eval pass rate week over week.
- Any answer without a trace = fail, treated like a wrong answer.
Dimension 5 — Human-in-the-loop
Where do humans stay in control?
Gate: review path
Low-confidence and high-stakes answers queue for agent review before or after send; each reviewed miss becomes a golden-set eval.
- Weekly review inbox: edge cases triaged, labels corrected, eval set extended.
- High-stakes categories never auto-send, regardless of confidence.
Field example
How one miss became one eval
From the case study
- Ticket: “Can I get a refund after the renewal date?” Bot answered yes with no citation.
- Scores: retrieval fail (wrong policy version), grounding fail (invented exception), refusal fail (should have routed). Observability flagged the missing trace; human review added it to the golden set.
- Action: added as a golden-set eval; launch gate stays red until this class passes.