Why the model does not write your dashboard's SQL

The Dashful team
19 ago 2026

The obvious way to build an AI reporting tool is to let the model write SQL when someone asks a question. It demos beautifully. It is also the reason so many of these tools quietly stop being used after a month.

The problem is not that models write bad SQL. They write decent SQL. The problem is that they write different SQL. Ask the same question in March and in June and you get two queries that are each defensible and do not agree. Now you have a dashboard nobody can sign off on, because the number moved and nobody can tell you whether the business moved or the prompt did.

Specs, not queries

In Dashful a dashboard is a declarative spec: which dataset, which measure, which grouping, which filters. A deterministic engine executes it. The same spec returns the same number today, next quarter, and after we ship a new model.

The agent is upstream of that. It helps you build the spec — proposing widgets, suggesting how two datasets relate — and then it is out of the loop. What runs against your data is the spec you approved, not a sentence that gets re-interpreted on every page load.

What the model still does

Plenty, and all of it in places where variation is fine:

  • Profiling files. Reading your columns, sampling values, working out types and grain.
  • Proposing structure. Which tables relate, on which keys, at which grain.
  • Explaining a figure. The analyst on each dashboard answers "why did this move" over the results as currently filtered — read-only, and scoped to that dashboard's tables.

The rule we kept coming back to: the model is allowed to propose, and a person is allowed to approve. Once something is approved it becomes a spec, and specs do not change their minds.