DE//AGENT
Explore
Tutorial Lesson 9 of 10 · The Observability Series community intermediate

Incident drill: a broken upstream caught by freshness and lineage

The source job quietly changed from hourly to daily; the mart's 6h freshness SLA now fails by construction. Run the drill — confirm the breach from the diff, walk upstream with get_lineage, and report the impact set with owner, criticality and the earliest SLA that breaks.

At a glance

When A freshness alert fired and nobody knows which upstream moved; You are rehearsing incidents and want a drill with a provable paper trail
Where Data Observability
Why Freshness tells you something broke; lineage tells you what and who — the drill is the two in sequence.

Learning objectives

  • Confirm a freshness breach from a schedule diff in minutes
  • Walk upstream with get_lineage to find the source that slowed
  • Report the impact set — owner, criticality, earliest SLA — as the incident note

What you need

  • [object Object]
  • A lineage store reached through mcp-datahub or the lineage-graph plugin

Steps

  1. Confirm the trigger — a cron changed from hourly to daily, and a 6h freshness SLA will be violated. (from hook-freshness-pre-merge )
  2. Show the arithmetic — the check compares the schedule in the diff with the declared SLA and warns with the computed worst-case lag. (from hook-freshness-pre-merge )
  3. Name the guard that should have caught it — a hook that warns when a change would silently widen the freshness SLA of a source. (from hook-freshness-pre-merge )
  4. Walk upstream — get_lineage from the stale asset finds the source that stopped feeding on time. (from mcp-datahub )
  5. Walk downstream for impact — from the broken node to the published marts; report owner, criticality, and the earliest SLA that will break. (from skill-lineage-explainer )
  6. Ask the opening question out loud — "what breaks if I change this column?" is how the drill starts. (from skill-lineage-explainer )
  7. Run it from commands — /lineage-up to find the culprit, /impact to size the blast radius. (from plugin-lineage-graph )

Check yourself

  • You can state the breach, the worst-case lag, the broken source and the first SLA that breaks — in that order, with evidence.
  • The incident note names an owner and a criticality, not a dashboard link.

Worked example

The drill in four moves — from skill-lineage-explainer

1. breach:  cron hourly→daily vs 6h SLA — worst-case lag 24h
2. source:  get_lineage(stale mart) — the upstream source slowed
3. impact:  walk downstream, stop at published marts —
            owner, criticality, earliest SLA that breaks
4. page:    owner + evidence (the diff), not a screenshot

The command pair for the drill — from plugin-lineage-graph

/lineage-up <stale asset>    # find what feeds it, spot the slow source
/impact <broken column>      # list downstream consumers a change breaks

Sourced from

Security scan

Last sweep 2026-10-24: 0 finding(s), 0 marked as examples.

Common gotchas

  • The diff is evidence — the schedule change and the SLA it breaks are provable before anyone is paged.
  • An upstream that slowed rather than stopped still breaches a tight SLA — worst-case lag catches it.
  • Stop the walk at published marts — that is where owners and SLAs live, and where the walk ends.

Production considerations

  • Wire the freshness-pre-merge check into CI so this incident class dies before merge.
  • Keep the drill to four questions — breach, source, impact set, owner.

Diagram

incident drill
   |
   |- 1. breach:  cron hourly→daily vs 6h SLA ──▶ worst-case lag 24h
   |
   |- 2. source:  get_lineage(stale mart) ──▶ upstream source slowed
   |
   |- 3. impact:  walk downstream ──▶ mart_revenue (published) ──▶ owner, criticality, earliest SLA
   |
    --> 4. page: owner + evidence (the diff), not a dashboard screenshot

Registry stats

Verification community · Oct 24, 2026
Completeness 81
Trust multiplier ×0.75
Composite 31.15 · adequate
Freshness 0 days since last source check
Difficulty intermediate
Version 0.1.0
License CC-BY-4.0
Security flags 2