Watch data-quality drift and recheck only dependent reports

For: Data platform owner or analytics engineering lead

Pattern: WatchtowerNeeds a connectorDesigned for 20 to 800 agents

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.

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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.

  1. Planner

    A strong reasoning model keeps the lineage map and decides which dependants a drift can affect.

    Decisions here:1. Scope check

  2. 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.

  3. 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

  4. 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?

  5. 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 use

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.

Pattern: Map, verify, reduceNeeds scale6 decisionsDesigned for 40 to 1,500 agents

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.

Pattern: Cross-examinationNeeds scale6 decisionsDesigned for 40 to 2,000 agents