docs/panels/threat-timeline.mdx
The Threat Timeline panel (internal id threat-timeline) turns the threat-level metadata already attached to intelligence insights into a short-horizon distribution view. It helps analysts see whether the current environment is worsening, easing, or simply noisy instead of reading threat labels one item at a time.
A seven-day stacked timeline grouped by the canonical threat levels: critical, high, medium, low, and info.
Keyword fallback when their threat label came from the local classifier.Panel id is threat-timeline; canonical component is src/components/ThreatTimelinePanel.ts. The bucketing and fallback normalization live in src/components/threat-timeline-utils.ts.
'threat-timeline' in FULL_PANELS of src/config/panels.ts.The primary source is the existing intelligence insights snapshot read through @/services/insights-loader:
insights from /api/bootstrap?keys=insightsintelligence:insights:v1topStories[].threatLevel, topStories[].pubDate, title, source, link, and source countWhen the server insights snapshot is unavailable, the panel can fall back to the current clustered news events already held by the dashboard data loader. That fallback is degraded by design and is used only to preserve useful local context until the insights snapshot is available again.
The underlying insights seed is produced by the intelligence cron. The panel reads the cached bootstrap snapshot during dashboard data loading and refreshes alongside the existing AI Insights panel rather than adding a separate upstream pipeline.
Threat Timeline is free on the web. It has no premium flag in the full-variant panel registration.