What is built, and what is next.
Three lists, in the order things actually move. Shipped means it runs today, building means it is underway, exploring means the shape is not settled.
No dates on this page. An item moves when the correctness guarantee still holds after it, not when a quarter ends.
Shipped
Running in the product today, against real sources.
Read-only connections
PostgreSQL, MySQL, SQL Server, ClickHouse, Trino, DuckDB, CSV and Excel. Each one is tested under a timeout, introspected, and rolled back completely if anything fails.
A semantic model per source
Introspection turns tables into models and foreign keys into relationships, giving every data source a graph the compiler can reason over.
The typed query path
The agent fills a query of models, aggregations, dimensions and filters. A pure compiler turns it into SQL, and a Rust engine unparses it for your dialect.
Fan-out protection and refusals
A deterministic dedup plan on primary keys, or a named refusal on an ambiguous join path, a missing key, or two independently inflated models.
Provenance on every result
Semantic means the compiler produced it. Raw means it came from labelled fallback SQL. The label travels with the number onto the chart and the dashboard tile.
Chat, charts and dashboards
Persistent sessions bound to a source you choose, validated charts that carry their own rows, and pinned tiles that re-run their query rather than showing a stale picture.
The sandboxed interpreter
Python for the harder maths, in a per-session container with the result set as a file, capped resources, no network by default, and no credentials.
Workspaces, projects and roles
Owner, admin, member and viewer, resolved at the API boundary. Non-members receive a 404, and a workspace can never be left without an owner.
Building
Designed and underway. These are the next things to land.
Semantic authoring in the app
Curate the generated model without leaving iDash: rename fields into business language, hide what should not be queried, and mark which tables are safe to aggregate.
Curated named metrics
Define revenue once, with its filters and its grain, so every question that mentions it resolves to the same calculation on every surface.
Row and column level access
Policy attached to the model and resolved from the authenticated session. The plumbing exists in the engine; populating it from tenant context is the work.
Dedup for two inflated models
Today a question that inflates two models independently is refused. The plan is a multi-step dedup that handles both, so the refusal becomes an answer.
Warehouse connectors
Snowflake, BigQuery, Redshift and Databricks on the same path as everything else: read-only credential, introspection pass, and the same dedup guarantee.
Streaming that survives a proxy
Keepalive on the answer stream so a long-running question is not cut short by an idle timeout between the browser and the API.
A retry taxonomy
Tell a timeout apart from a bad credential, a compiler refusal and a model error, then retry only what is worth retrying and say plainly what the rest was.
Per-source prompts and memory
Guidance attached to a data source, and corrections a team makes once. The vocabulary of your business should not have to be re-taught every session.
Exploring
Researched, wanted, and not yet settled in shape.
Reuse of verified answers
Recall a prior question and its query only after a human has verified that pair, gated on that verification rather than on similarity alone.
Unique constraints as keys
A table with a unique constraint but no declared primary key can, in principle, be deduped. Reading those constraints would let more questions compile.
Curation that survives a migration
Reconnecting regenerates the model wholesale today. Human curation should survive a schema change, with a clear diff of what moved.
Files as a first class source
A proper upload flow for spreadsheets and extracts, which is also what brings the working SQLite connector back into the catalog.
The layer as an endpoint
Expose the semantic layer over a standard protocol so outside agents and tools query the same models, under the same refusals and the same provenance labels.
Start with what already ships.
The shipped list is enough to answer a real question about your own data today.