Roadmap
The trust primitives (compiler, branches, run records, lineage, contracts, cost attribution) are production-grade on Databricks. Here is the state of everything else.
Shipped and production-grade
Section titled “Shipped and production-grade”- Databricks is the production target for 2026: SQL Statement API, Unity Catalog, OAuth M2M, adaptive concurrency, and schema-prefix branches (warehouse-native
SHALLOW CLONEis a follow-up). - The compiler. Typed column-level inference, the diagnostic codes, and the LSP all run the same in CI and in your editor.
- Branches and run records. Named branches as isolated schemas, and a content-addressed record of each run that you inspect and verify against the ledger with
rocky replay. (Re-execution from the pinned record is on the 2026 roadmap.) - Cost attribution. Per-model cost on every run record, with
[budget]blocks that fail a run on overspend. - The AI compile-validate loop.
rocky aigenerates a model, compiles it, and auto-fixes parse errors before it lands. - Deterministic surrogate keys. A model declares a
[[surrogate_key]]block, androcky runinjects a dialect-correct hash column at materialization on DuckDB, Databricks, Snowflake, and BigQuery. On a given warehouse the value matches what dbt Core’sdbt_utils.generate_surrogate_keyproduces over the same columns, so a key joins across a Rocky/dbt Core boundary either way. - Named and inline tests. Define a data-quality assertion once in
models/test_definitions.tomland apply it by name with[[use_test]], overriding the column, severity, or filter at the use site, the declarative analogue of dbt Core’s generic tests. Inline[[tests]]keep working alongside. References resolve at load, so a typo fails the load instead of silently dropping a check. See data quality checks. - Fixture-driven unit tests. A model’s sidecar declares
[[test]]blocks with mocked upstream inputs (given) and an expected output (expect).rocky testseeds a fresh in-memory DuckDB, materializes the model against the fixtures, and compares the result, with no warehouse connection. See testing. - Config groups. A config group in
models/groups/<name>.tomlfans shared routing and strategy out to every model that opts in withgroup = "<name>", so a one-line change flows to the whole group. Withenforce = truethe group’s fields become binding: a member that locally diverges from the group-controlled schema or strategy fails the load instead of drifting silently. - Model tags. A model declares a
[tags]block of governance attributes (domain,tier,owner), and a config group can supply a[tags]baseline every member inherits, with the model’s own tags overriding per key. Resolved tags surface onrocky compile --output jsonfor orchestrators to read. rocky emit-sql. Renders the runnable SQL each transformation model would produce, offline with no warehouse connection, to stdout or one file per model. A Rocky project always reduces to plain SQL in dependency order, so adopting Rocky is never a one-way door. See No lock-in.
- Snowflake, BigQuery, and Trino. Connection, execution, and the core run loop work. Conformance coverage is still growing, and we test against live warehouses, so corner cases get reported and fixed quickly. If your enterprise warehouse is Snowflake or BigQuery and you need it production-grade today, open a discussion. We want the failure reports.
- Iceberg. REST-catalog source discovery works. Content-addressed writes round-trip as Iceberg through Delta UniForm, end-to-end.
On the 2026 roadmap
Section titled “On the 2026 roadmap”- Iceberg-native writes without the Delta intermediate.
- The wider AI surface. The loop is shipped; the larger workflow (rename a column, regenerate the downstream models and their assertions, run the tests, ship) is the next step.
- A semantic layer. Rocky’s typed IR is the right home for one. Until it exists, integrate with Cube, the dbt Semantic Layer, or your existing metric store.
Handled by an integration, not built in
Section titled “Handled by an integration, not built in”- Extraction from SaaS sources. Use Fivetran, Airbyte, Stitch, or warehouse-native CDC. Rocky discovers what they land and takes over from there.
- Orchestration beyond Dagster. Dagster is first-class, and
rocky servecovers small standalone teams. Airflow and Prefect call therockybinary like any other CLI; native integrations are not shipped.
Tell us where it hurts
Section titled “Tell us where it hurts”The roadmap is shaped by where production pipelines are getting hurt. If one of these gaps blocks your team, open a discussion.