dbt artifacts are machine-readable JSON files produced in the target/ directory after compilation, execution, and documentation commands. These files capture the full dependency graph, execution timings, and warehouse catalog metadata, serving as the foundational data source for Slim CI state comparison and data observability platforms.
The role of compiled artifacts
Every time you run dbt commands, dbt compiles your project configuration and records its state into structured JSON files. Rather than querying the warehouse information schema repeatedly, downstream tools and CI systems parse these artifacts to understand project structure and execution health.
Storing these files in cloud storage after production runs allows external systems to track how pipelines evolve over time.
Three primary JSON files
The three core artifact files capture distinct stages of project execution:
- manifest.json is produced whenever dbt compiles the project. It contains a complete representation of the DAG, including every model, test, source, macro, configuration, and SQL query. Slim CI compares the current branch manifest against a production manifest to identify modified models via state:modified. Lineage visualization and cataloging tools use it to map dependencies.
- run_results.json is created after commands like dbt run, dbt test, or dbt build. It records the execution status (success, error, skipped), runtime in seconds, number of rows affected, and warehouse adapter messages for every executed node.
- catalog.json is generated by dbt docs generate. It queries database information schemas to extract physical column names, data types, table sizes, and row counts, powering the interactive dbt documentation website.
In addition, sources.json is generated by dbt source freshness to record source table update timestamps and freshness status.
Observability and tooling integration
These artifact files feed directly into modern data observability and governance tooling:
- Observability platforms like Elementary and Monte Carlo parse run_results.json to detect runtime spikes, test failures, and silent data anomalies.
- Cost monitoring tools combine execution times with warehouse query logs to calculate the dollar cost of running each model.
- Internal developer portals read manifest.json to generate enterprise data catalogs and automated documentation.
Using artifacts decouples metadata analysis from warehouse compute resources.