• v1.0.2 109e009210

    Fix metric bucket anchoring and add global whole-table metrics
    Generate Documentation / generate-docs (push) Canceled after 0s
    Run package tests for all dbs / test-postgres (push) Canceled after 0s
    Run package tests for all dbs / test-other-dbs (bigquery) (push) Canceled after 0s
    Run package tests for all dbs / test-other-dbs (redshift) (push) Canceled after 0s
    Run package tests for all dbs / test-other-dbs (snowflake) (push) Canceled after 0s
    Run package tests for all dbs / clean-up-schemas (bigquery) (push) Canceled after 0s
    Run package tests for all dbs / clean-up-schemas (redshift) (push) Canceled after 0s
    Run package tests for all dbs / clean-up-schemas (snowflake) (push) Canceled after 0s

    m7xlab_repository_root released this 2026-10-14 22:15:58 +03:00 | 0 commits to main since this release

    Metrics reported row_count 0/1 against tables that plainly had 10+ rows.

    1. The metric bucket was [run_date - 1d, run_date) - it ENDED at midnight at
      the start of the run day. A model stamping dbt_updated_at = CURRENT_DATETIME() writes rows during the run, so every row fell outside
      the bucket that run had just computed. Incremental merges that re-stamp
      rows each run then pushed them into the wrong bucket or out of every
      bucket. The bucket now covers the run's calendar day:
      [midnight of run date, +1d). interval_length_sec stays 86400 and the
      daily series is unchanged.

    2. There was no way to see a table as a whole. metrics_base_insert now also
      emits global__<metric> computed over the whole table (where true)
      alongside the windowed series, so metrics stay meaningful for models whose
      time_filter holds historical/backfilled timestamps that miss the current
      bucket. A model with no time filter already computed globally and is not
      duplicated. Disable with f2dq:emit_global_metrics: false.

    3. overview.json metric rows dropped time_window_start, so no consumer could
      tell a bucket's width or spot an empty one. It is exported now.

    Also: keep the guard that skips save_test_history when the f2dq_test_history
    relation does not exist.

    The integration_tests project pins the original re_data bucket anchoring and
    f2dq:emit_global_metrics: false because its expected_*.csv seeds encode the
    values that bucket produces and cannot be regenerated without the upstream
    multi-database harness.

    Co-authored-by: Cursor cursoragent@cursor.com

    Downloads