Watch data-quality drift and recheck only dependent reports
For: Data platform owner or analytics engineering lead
The pain today
A source field changes meaning or starts arriving empty. Tests pass because the schema is unchanged, and the drift is found much later in a board report.
The ask
“Watch the tables and pipeline run summaries I connected. When a column's profile or documented meaning changes, tell me which models, metrics and reports depend on it, show the evidence of the change, and recheck only those definitions.”
Plain words, as you would say it to a colleague. Edit it to fit your case before you send it.
What you attach or connect
- Column profiles per pipeline run
- Pipeline run logs and summaries
- Lineage between tables, models and reports
- Column and table documentation
The unit of work
One worker task per one drifting column paired with one dependent model.
Why a swarm fits
Thousands of columns are profiled each run, but a drift touches only its own dependants. Each check needs one column's before and after profile and one model's logic.
Not for
Row-level validation or real-time alerting. Rule-based tests and monitors do that better and cheaper.
The decision tree
5 typed decisions, each with an action for every answer
At fixed moments in a run, the engine puts one narrow question to a decision model. The decision model never writes text: it answers yes or no with a probability, picks from listed options, or gives a score, about a small slice of the material. The engine then does exactly what this tree says, which is what makes the run auditable. The thresholds are the template's design values, not measured results.
Planner, while planning
Scope checkA choice among options
Before work starts on a unit
Does this column's profile differ between the two named runs by more than its documented seasonal or calendar pattern explains?
Sees only: One column's profiles from two runs and its documented expected pattern
Why: Filters routine variation so downstream rechecks are triggered only by real drift.
- Unexplained shiftthenAccept
- Explained by documented patternthenSkip this unit
- No documented pattern to comparethenEscalate to a strong model
After workers, the judge checks
Evidence checkYes or no, with a probability
After a worker answers
Does the quoted line of this model's logic filter, join or aggregate on the drifting column, so that the shift can alter its output?
Sees only: The drift description and the quoted lines of one dependent model
Why: Lineage says a model touches a column; only the logic says whether the drift matters to it.
- Yes: 0.85 or higherthenAccept
- Unsure: 0.50 up to 0.85thenEscalate to a strong model
- No: below 0.50thenReject and retry
Reconciler, while merging
Conflict checkYes or no, with a probability
While reconciling
Do the column's current values contradict what its documentation says the column contains?
Sees only: The column's documented meaning and a summary of its current profile
Why: A change of meaning with an unchanged schema is the drift that tests never catch.
- Yes: 0.70 or higherthenMark unresolved
- Unsure: 0.30 up to 0.70thenEscalate to a strong model
- No: below 0.30thenAccept
Run control, between rounds
Another round?Yes or no, with a probability
Between rounds
Do the exposed models found in this round feed further models or reports that have not yet been checked?
Sees only: The exposed models and their recorded downstream dependants
Why: Walks the lineage only as far as exposure actually reaches.
- Yes: 0.60 or higherthenContinue
- Unsure: 0.30 up to 0.60thenContinue
- No: below 0.30thenStop
Accountable person, before anything is settled
Person decidesYes or no, with a probability
Before anything is reported as settled
Is any exposed dependant a report or metric that has already been published to its readers for the affected period?
Sees only: One drift note and its list of exposed reports with publication dates
Why: Whether a drift is a defect and whether to restate are calls for the platform and report owners.
Accountable: The data platform owner decides whether a drift is a defect; report owners decide on restatement.
- Yes: 0.40 or higherthenAsk a person
- Unsure: 0.15 up to 0.40thenAsk a person
- No: below 0.15thenAccept
The fleet: who does what
Model tiers by role, not brands: you choose the models. Strong reasoning models plan and reconcile, small fast models do the wide work, and the judge is a decision model from a different family, so it does not share the workers' blind spots.
Planner
A strong reasoning model keeps the lineage map and decides which dependants a drift can affect.
Decisions here:1. Scope check
Workers
Small fast workers from an open-weight family, one per drift and dependent model, reading profile and logic.
Designed for 20 to 800 agents, one worker task per one drifting column paired with one dependent model. Each worker receives only its own unit.
Judge, from a different model family
A decision model from a different family checks that the drift is real and that the model's logic is exposed to it.
Decisions here:2. Evidence check
Reconciler
A strong reasoning model writes one drift note per source and lists reports whose meaning may have changed.
Decisions here:3. Conflict check4. Another round?
Accountable person
The data platform owner decides whether a drift is a defect; report owners decide on restatement.
Decisions here:5. Person decides
Checked before anything is accepted
- A drift is reported only with before and after profiles from named runs
- Seasonal or calendar effects documented for the column are checked before flagging
- Every exposed model quotes the line of logic that uses the column
- Dependants judged unaffected are listed with the reason
What comes back
- Drift note per source column, with before and after profiles
- Models, metrics and reports exposed to the drift
- Dependants rechecked and found unaffected
- Lineage gaps that blocked a check
What to measure
- Time from a drift appearing to the report owner being told
- Share of drift notes engineers judge worth acting on
- Drifts discovered by report readers before the run caught them
- Cost per pipeline run watched
Names of measures only. No result is claimed for this template.
Templates open in the workspace chat with the ask filled in. Nothing runs until you send it.
Get early accessSign in to useMore in Data and analytics
Find conflicting definitions across the data dictionary
For: Data governance lead or analytics engineering manager
Active customer, net revenue and churn are each defined several ways across tables, models and dashboards.
Find themes in survey free text without cherry-picking
For: Insights analyst or customer research lead with thousands of open-text answers
Open-text answers get a skim and a word cloud.
Cross-check a source-to-target mapping before migration
For: Data migration lead or solution architect moving a legacy system to a new platform
The mapping sheet has thousands of fields, filled in by different people from column names.