Talk-to-data · governed metrics · measured, not claimed
Ask a question in English. See exactly how it was answered — and how often it’s wrong.
A small talk-to-data assistant over a synthetic beverage-company dataset. Every answer shows the SQL it is equivalent to, the parse trace, and the access policy that was applied. A written evaluation harness (124 questions, gold answers computed independently) reports where it fails.
Rule-based · no LLM is calledSynthetic dataRuns fully in your browserNot affiliated with any company
How it actually works — read this first
This is not an LLM. Questions are parsed by a deterministic pipeline of regular expressions and lookups against a governed semantic model (data/semantic_model.json) and a role policy (data/policy.json). Same question → same answer, every time. Nothing leaves your browser; there is no server and no API call.
- Why build it rule-based? To make the surrounding system — the semantic layer, access control, refusal behaviour, audit log and evaluation harness — the point of the exercise. The harness is engine-agnostic: an LLM-backed engine could be dropped in behind the same ask(question, role) contract and scored by the same script.
- What it can’t do: free-form language, typos, other languages, conversation memory, arbitrary math (shares, averages, thresholds). It says so and refuses rather than guess; see the failure analysis.
Try it
Pick a role first — the role comes from this selector (standing in for a login session), never from the words of your question.
Loading synthetic dataset…
Audit log (this session)
Every request — answered or refused — is recorded. The log stores metadata, not answer values. It lives in memory in your browser and disappears on reload; a production version would write to an append-only store.
| # | Role | Question | Outcome | Reason | Scope applied |
|---|
No requests yet.
The data (synthetic)
All figures in this demo are computer-generated (build_data.py, fixed seed). “Fictional Spirits Co.” and its brands do not exist. No employer data, schema or figures are used anywhere in this project.