| DBT_PROJECT_DIR | Yes | Path to dbt project root (where dbt_project.yml lives). |
| DBT_TARGET_DIR | No | dbt target dir for manifest.json/run_results.json (default: $DBT_PROJECT_DIR/target). |
| DBT_RUN_HISTORY_DIR | No | Optional dir for archived run_results.json history (glob-scanned). |
| DQ_BACKEND | No | DQ result table backend: 'bigquery' (default) or 'postgres'. |
| DQ_RESULTS_TABLE | No | Fully qualified DQ checks table, e.g. 'project.data_ops.quality_checks'. |
| DQ_SCORE_TABLE | No | Fully qualified DQ score-daily table, e.g. 'project.data_ops.quality_score_daily'. |
| GOOGLE_APPLICATION_CREDENTIALS | No | Service account key path for BigQuery (ADC fallback supported). |
| BQ_PROJECT_ID | No | Explicit BigQuery project ID for DQ queries. |
| PG_CONNECTION_STRING | No | Postgres connection string when DQ_BACKEND=postgres. Secret. |
| DBT_ALLOW_WRITE | No | Reserved for future write tools. Default read-only. |
| DQ_SCHEMA | No | DQ result-table schema preset: 'generic' (default) or 'us-all'. Use DQ_COL_* env vars to override individual columns on top of the preset. |
| DQ_COL_RUN_AT | No | Override for the timestamp/date column on the DQ checks table. Default depends on DQ_SCHEMA preset. |
| DQ_COL_CHECK_TYPE | No | Override for the check-type column on the DQ checks table. Default 'check_type'. |
| DQ_COL_STATUS | No | Override for the status column on the DQ checks table. Default 'status'. |
| DQ_COL_DATASET | No | Override for the dataset/source column on the DQ checks table. Default depends on preset. |
| DQ_COL_TABLE_NAME | No | Override for the table/target-name column on the DQ checks table. Default depends on preset. |
| DQ_COL_SEVERITY | No | Override for the severity/dimension column on the DQ checks table. Default depends on preset. |
| DQ_COL_FAILURE_COUNT | No | Override for the numeric failure-count column on the DQ checks table. Default depends on preset. |
| DQ_COL_MESSAGE | No | Override for the message column on the DQ checks table. Default depends on preset. |
| DQ_COL_CHECK_NAME | No | Override for the check_name column on the DQ checks table. Set to 'none'/'null'/'-' to synthesize check_name from check_type and table_name. |
| DQ_COL_SCORE_DATE | No | Override for the date column on the DQ score-daily table. Default depends on preset. |
| DQ_COL_SCOPE | No | Override for the scope column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no per-scope rollup. |
| DQ_COL_TIER | No | Override for the tier column on the DQ score-daily table. Set to 'none'/'null'/'-' if the table has no tier dimension. |
| DQ_TIER1_TARGET_PCT | No | When no tier column is configured (us-all preset or DQ_COL_TIER=none), the overall_score threshold dq-tier-status compares against (default 99.5). Superseded by DBT_SLA_CONFIG_PATH tier_sla.1 if both are set. |
| DBT_SLA_CONFIG_PATH | No | Optional path to a YAML file that defines tier_sla (per-tier overall_score targets) and dbt_sla (test/freshness pass rates). When set, dq-tier-status and dq-tier-by-source read tier targets from this file, and dbt-sla-status compares run_results / sources pass rates against dbt_sla.test_pass_pct / freshness_pass_pct. Mtime cached. |
| DBT_TOOLS | No | Comma-separated category allowlist (dbt,quality,meta). |
| DBT_DISABLE | No | Comma-separated category disablelist. |