Sources, DBTs, and visualizations

Docs Concepts

Sources, DBTs, and visualizations

The three primitives. Everything in ST-1 is one of these.

ST-1 has three primitives. They compose into the lineage graph you see on every project overview.

Source

An uploaded dataset — CSV, TSV, Parquet, JSONL. Sources are immutable: cleanup, normalization, and any transformation belong in a downstream DBT, not in the source itself. The Parquet file on the server is the canonical bytes; the schema profile is recomputed at ingest.

DBT (derived table)

A SQL SELECT over sources or other DBTs. Internal to ST-1 — not dbt-core. The SQL is canonical: edit it anytime and downstream tables and visualizations re-render. The materialized Parquet next to the DBT is just a cache.

Common patterns:

  • Cleanup DBTs — named <source>_clean, baked from the Quality panel’s suggested fixes.
  • Promoted filters— when you cross-filter a dataset and want to keep that view, “Promote to DBT” materializes the predicate as a new DBT.
  • Analysis rollups — group-bys and aggregations, authored as the AI works.

Visualization

A saved chart bound to a dataset. The spec is JSON — a kind plus options — and the chart re-renders reactively when upstream filters change. Click on a column summary in the dataset detail page; every chart that reads from that dataset (or any DBT downstream) repaints in the same frame.

Lineage

Every DBT records the IDs of its parents. The project overview renders this as a DAG you can click through. Delete a source and every downstream DBT and visualization tells you it’s broken — explicit, not silent.