Conversation flows

Testing a flow with the simulator

Five personas, real validators, and copy resolved from the exact catalogue the translation gate checks — walking a flow before a resident ever does.

By The Kav team Published 2 min read

The simulator sits docked beside the flow tree, and it's built to be more than a preview: it runs the exact mechanisms a resident's real conversation runs, not a mock of them.

Five personas, one click each

Pick a fixture — verified owner, unregistered visitor, blocked account, minor, or delegate — and walk the flow exactly as that person would experience it, with no real resident data touched.

What it actually exercises

  • Copy. Resolves through the same catalogue the build-time translation gate checks. An unseeded key doesn't get quietly skipped — it renders as ⟦the key itself⟧, precisely what a real resident in that language would see, so a missing translation is something you catch here rather than something support hears about later.
  • Validation. Real validators run, including the national-ID check-digit algorithm — so a retry message, an attempt quota and its extension offer are actually triggered and read, not merely assumed to exist because you wrote them.
  • Routing. The simulator follows the node under your cursor, highlighting it live in the tree. "Why did it go there?" becomes something you watch happen rather than something you trace through the graph by hand.

What the persona supplies — and what it deliberately doesn't

A persona fixture supplies everything outside the flow itself: which rule outcome came back, the resident's step-up assurance ceiling, a capability's canned result. It never evaluates a rule on its own — the simulator runs server-side, on the exact same compiled evaluator production uses. Nothing in this panel can quietly disagree with what a resident actually gets, because it isn't a separate implementation to disagree in the first place.

Run the "blocked account" persona through every flow with a hand-off node before you publish it. It's the persona least likely to get walked out of habit, and the one most likely to expose a hand-off with no proper refusal message behind it.

Because the simulator is the real evaluator and not a re-implementation, a bug in the flow shows up identically here and in production — there's nothing this screen is capable of hiding from you.