PR Checks / Frontend Typecheck + Tests (pull_request) Successful in 1m18s
PR Checks / Backend Smoke (pull_request) Successful in 11s
PR Checks / Build Backend (no push) (pull_request) Successful in 18s
PR Checks / Build Frontend (no push) (pull_request) Successful in 1m35s
PR Checks / Build Pipeline (no push) (pull_request) Successful in 1m21s
PR Checks / AI Code Review (Claude) (pull_request) Successful in 19s
fact_ks4_destinations and fact_ks5_destinations join dim_school, so the daily build's stg_gias_establishments+ and the monthly Ofsted build's dim_school+ both selected them. They also read stg_ees_ks4/ks5_destinations, which only the manually triggered EES DAG builds. Where that DAG hasn't run since the destinations models landed, dbt_build fails with "relation staging.stg_ees_ks4_destinations does not exist", and sync_typesense and invalidate_cache never run. Production's register data has been stuck at about 25 Aug 2026. Both builds now exclude the descendants of the two EES staging models, as the daily build already does for the KS2/KS4 lineage models. The EES DAG still rebuilds the marts when their data changes. test_dag_selectors reads the model graph from the SQL (CI has no dbt) and checks that every scheduled build only reads models it or the daily build builds. It failed for the daily and monthly Ofsted builds before this change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>