Use it · 14
An investigation in Reason
For a “why” question. Reason plans its way through the model, writes and runs queries, reads the rows, follows up, and asks back when the question could mean two things. It never answers a question it has quietly reinterpreted.
- Someone asks why. Why a number moved, what is behind a total. The question can be long, and the conversation remembers what has been established so far.
- An investigation starts. The language model is given the question, what the conversation has settled, and an index of the model of the data, and it works in steps that are each shown as they happen.
- It searches and reads the model. It looks things up and reads one thing at a time: its values, its keys, how it joins. It can also stop and ask the person which of two meanings they intend.
- Every query it writes is checked before it runs. That it is a plain read. That it does not touch the database's own system tables. That it answers the question that was asked, by a second reader. And that its joins are the ones the model declares. A query that fails goes back to be rewritten, with the reason.
- It runs on their database, read-only. The rows come back to the investigation, which reads them and decides what to look at next.
- What it found is recorded as a finding. A line that states the answer, the numbers that carry it, a chart, and the SQL to look at, with the model and the connection it was answered from.
- Three second readers go over the finding at once. One lists what could make it wrong, one gives a second opinion, one proposes what to ask next. Their notes stay on the finding.
- The person reads the finding, and can read how it was reached. Every step the investigation took, each query and why it was run, is kept and can be opened.