Skip to content

Evaluate dbt Core v2 (Rust/Fusion) — blocked on dbt-duckdb v2 + dagster-dbt Fusion support #58

@db-tycoon-stephen

Description

@db-tycoon-stephen

Context

At Snowflake Summit (June 2026), dbt Labs released dbt Core v2.0, a Rust rewrite on the Fusion runtime, still Apache 2.0 open source. Up to ~10x faster parse (~30x on 10k+ model projects). Currently alpha — pin explicitly: pip install dbt-core==2.0.0-alpha.1. APIs and on-disk formats may still change.

Probe results (2026-06-02, uv venv, Python 3.12)

  • uv pip install "dbt-core==2.0.0-alpha.1" installs cleanly with zero Python deps.
  • Payload is a 117 MB native arm64 Mach-O binary at .venv/bin/dbt (Fusion engine), shipped in a ~41.5 MB platform-specific wheel.
  • No importable dbt Python moduleimport dbt fails. v2 is CLI-only.
  • Full subcommand set present (run, build, compile, parse, login, …).

Why we can't adopt yet — two hard blockers

  1. No DuckDB adapter for v2. dbt-duckdb maxes at 1.10.1, which requires the dbt-core 1.x family (dbt-adapters 1.x, dbt-common 1.x). dbt-duckdb>=2.0no solution found. Fusion launch adapters are Snowflake/BigQuery/Databricks/Redshift only. Our stack is DuckDB/MotherDuck. dbt-core 2.0 + dbt-duckdb cannot coexist (uv silently keeps dbt-core 1.x).
  2. Dagster integration imports dbt as a Python module. src/tycoon/orchestration/assets/transforms.py uses from tycoon.dbt import dbt_project / dbt.cli([...]).stream() (the dagster-dbt manifest-parsing path). v2 has no Python module, so this breaks regardless of adapters.

The subprocess path (src/tycoon/commands/transform.py resolves .venv/bin/dbt then shutil.which) would be compatible — but adapters block it before that matters.

Exit criteria to revisit

  • A dbt-duckdb v2 adapter exists (compatible with dbt-core 2.x / Fusion).
  • dagster-dbt supports the Fusion engine / v2 on-disk manifest format.
  • dbt Core v2 is out of alpha (stable on-disk formats).

Possible follow-ups once unblocked

  • Add a Python-version + dbt-engine probe to doctor (which dbt the venv resolves, v1 vs v2).
  • Evaluate dbt lint (SQLFluff-compatible) and dbt Docs v2 for register dbt / data analyze flows.

Not targeted at v0.1.9 — tracking only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions