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.