Freshness & Data Quality
Freshness & Data Quality
This page is the analytical view of corpus health: what does the indicator pool look like at this build? It is not operational freshness — Grafana owns "is the pipeline running" and "did the last run succeed." Here we answer "of the indicators we have, how many are still useful, and what shape is the data in?"
Indicator freshness by type
Each bar stacks freshness buckets for one indicator type. expired and
no_expiration are read directly off the indicator's expiration
timestamp; expiring_le_30d is anything still active but expiring
within 30 days; active_gt_30d is everything else.
TLP distribution
Traffic Light Protocol marking across all pulses in the corpus.
Data quality snapshot
One row, snapshotted from the most recent successful run.
dropped = present in raw.indicators but no longer attached to its
parent pulse on the latest sync. orphan = indicators whose pulse_id
doesn't match any pulse we hold (should be zero — flagged by a dbt
test). null_indicator_value likewise should be zero.
Brief input freshness
The Analyst Brief is generated from the brief_input
mart. Its generated_at timestamp is the moment the brief was rendered,
not necessarily the current build time.
