Skip to main content

Signal Intelligence

The dashboard continuously analyzes data streams to detect significant patterns and anomalies. Signals appear in the header badge (⚡) with confidence scores. For the canonical public methodology behind the news digest, story tracking, daily briefing, LLM grounding, and bias controls, see News Digest and Briefing methodology.

Intelligence Findings Badge

The header displays an Intelligence Findings badge that consolidates two types of alerts: Interaction: Clicking the badge—or clicking an individual alert—opens a detail modal showing:
  • Full alert description and context
  • Component breakdown (for composite alerts)
  • Affected countries or regions
  • Confidence score and priority level
  • Timestamp and trending direction
This provides a unified command center for all intelligence findings, whether generated by correlation analysis or module-specific threshold detection.

Signal Types

The system lists 14 distinct signal types across news, markets, military, and infrastructure domains: News & Source Signals Market Signals Infrastructure & Energy Signals Geopolitical & Military Signals

How It Works

The correlation engine maintains rolling snapshots of:
  • News topic frequency (by keyword extraction)
  • Market price changes
  • Prediction market probabilities
Each refresh cycle compares current state to previous snapshot, applying thresholds and deduplication to avoid alert fatigue. Signals include confidence scores (60-95%) based on the strength of the pattern.

Entity-Aware Correlation

The signal engine uses a registry-backed entity knowledge base to intelligently correlate market movements with news coverage. Rather than simple keyword matching, the system understands that “AVGO” (the ticker) relates to “Broadcom” (the company), “AI chips” (the sector), and entities like “Nvidia” (a competitor).

Entity Knowledge Base

Each entity in the registry contains:

Entity Types

How Entity Matching Works

When a market moves significantly (≥2%), the system:
  1. Looks up the ticker in the entity registry (e.g., AVGO → broadcom)
  2. Gathers all identifiers: aliases, keywords, sector peers, related entities
  3. Scans all news clusters for matches against any identifier
  4. Scores confidence based on match type:
    • Alias match (exact name): 95%
    • Keyword match (topic): 70%
    • Related entity match: 60%
If correlated news is found → “Market Move Explained” signal with the news headline. If no correlation after exhaustive search → “Silent Divergence” signal.

Example: Broadcom +2.5%

Without this system, the same move would generate a generic “Silent Divergence: AVGO +2.5%” signal.

Sector Coverage

The entity registry spans strategically significant sectors: This broad coverage enables correlation detection across diverse geopolitical and market events.

Entity Registry Architecture

The entity registry is a knowledge base with rich metadata for intelligent correlation:
Entity Types: Lookup Indexes: The registry provides multiple lookup paths for fast entity resolution:

Signal Deduplication

To prevent alert fatigue, signals use type-specific TTL (time-to-live) values for deduplication: Market signals use symbol-only keys (e.g., silent_divergence:AVGO) rather than including the price change. This means a stock moving +2.5% then +3.0% won’t trigger duplicate alerts—the first alert covers the story.

Market Alert Ledger

The same market-alert detectors also run server-side every 5 minutes in seed-market-alert-ledger, a section of the seed-bundle-derived-signals Railway service. The server scores the union of the seeded stock, commodity and crypto quotes, while the dashboard scores only its watchlist, so the alerted symbols can differ between the surfaces. A qualifying emission opens a 6-hour window in the persistent ledger correlation:market-alerts:ledger:v1, keyed by signal type, entity and deadline. A repeat emission inside the window increments that window’s sample count and opens no second row. The rolling 30-day scorecard at correlation:market-alerts:scorecard:v1 reports the hit rate, the base rate and the median lead time per signal type, with the archive read status of the latest resolution pass that read the archive and when it read. hitRate counts every resolved HIT or MISS row, while baseHitRate and pairedHitRate count only the rows whose control scored, so the like-for-like comparison is pairedHitRate against baseHitRate, not the overall hitRate. medianLeadTimeMs is the median over HIT rows. GET /api/forecast/v1/get-forecast-scorecard and the get_forecast_scorecard MCP tool serve the scorecard as marketAlerts and omit medianLeadTimeMs for a type with fewer than 30 hits, and for prediction_leads_news until 30 of its control windows scored. These are the gates the forecast accuracy scorecard applies, and its dataset download withholds the same medians. It carries the resolution rule and the base-rate rule verbatim as methodology:
An emission resolves HIT when a story first tracked by the English news digest within six hours after the emission has at least one Tier 1 or Tier 2 source and its title names the same entity: for a market, an alias match for the symbol’s registry entity or a whole-word match of the market name of four or more characters; for a prediction market, a topic keyword that appears in the question itself. It resolves MISS when six hours pass with no such story. It resolves VOID, and is not counted, when the story archive for its window expired before the resolver read it. Lead time is the gap between emission and the matching story’s first tracking. The base rate applies the same rule to a control window of the same length for the same entity that starts 24 hours before each scored emission, counted only when the archive covers the control window, no alert for that entity was open during it, and the emission and the control fall on the same side of a weekend in UTC.
A closed window is scored only while the digest archive still holds a story last seen at or before the window opened; an archive that expired and was rebuilt cannot prove that no story appeared, so such windows stay pending and void after six days. A control window is skipped, and not counted in the base rate, when the archive does not cover its start, when its start is older than six days, when any alert for the same entity was open, or still re-emitting while held, or held with no fresh row of its type to bump, during it, or when exactly one of the emission and the control start falls on a Saturday or Sunday in UTC, so a Monday emission is not scored against Sunday news. A row of a given type opens for a symbol only when the previous tick, no more than 15 minutes earlier, carried a quote for the symbol, and no held activity for the symbol is under way that holds the type. Held activity is the symbol’s rows, each from its emission to its window close or its last re-emission, whichever is later, and its runs of held alerts; spans no more than 15 minutes apart are one stretch, and a stretch is under way until 15 minutes after it ends. Any stretch under way holds a quiet-market alert (silent divergence, flow/price divergence), so one held move yields at most one row of each quiet type however the detector flips between explained and silent, and a dropout inside another type’s window does not reopen the move. A stretch holds an explained alert only when it has already rowed or held one, so a move that was silent and then found its news gets one explained row. After a seeder gap or a cold start, every alert still being emitted stays held; such a hold bumps a fresh row of its type or else records a run naming the type, so the move cannot reopen inside the gap. A seeder outage does not age a move: the ticks the seeder skipped observed nothing and count as one, so a move fresh at the last snapshot is one tick older on the first tick after it, however long the outage lasted. Stock quotes are not refreshed while US equity markets are closed, so a Monday gap-open on a symbol whose quote was stale over the weekend is held until the symbol has a baseline, and a move on a symbol that was already alerted on the previous tick is not distinguishable from that alert. A prediction alert whose question carries no topic keyword opens no row, because the rule could never score it.

Source Intelligence

Not all sources are equal. The system implements a dual classification to prioritize authoritative information.

Source Tiers (Authority Ranking)

When multiple sources report the same story, the lowest tier (most authoritative) source is displayed as the primary, with others listed as corroborating.

Source Types (Categorical)

Sources are also categorized by function for triangulation detection:
  • Wire - News agencies (Reuters, AP, AFP, Bloomberg)
  • Gov - Official government (White House, Pentagon, State Dept, Fed, SEC)
  • Intel - Defense/security specialists (Defense One, Bellingcat, Krebs)
  • Mainstream - Major news outlets (BBC, Guardian, NPR, Al Jazeera)
  • Market - Financial press (CNBC, MarketWatch, Financial Times)
  • Tech - Technology coverage (Hacker News, Ars Technica, MIT Tech Review)

Propaganda Risk Indicators

The dashboard visually flags sources with known state affiliations or propaganda risk, enabling users to appropriately weight information from these outlets. Risk Levels Every configured feed has an explicit per-dimension declaration of Reviewed or Unknown. CI requires that inventory to match the configured feed names exactly, so additions, removals, and alias changes cannot silently inherit a default. Absence from the reviewed registry defaults to Unknown, never Low. A missing badge only means independent journalism when the source has an explicit Low classification; unclassified feeds show ? Unreviewed so missing data cannot be mistaken for a positive editorial assessment. Flagged Sources (selected examples) Display Locations Propaganda risk badges appear in:
  • Cluster primary source: Badge next to the main source name
  • Publisher roster: In the expandable roster for a story, each publisher row shows its tier chip and the most severe risk marker across its feeds
  • Cluster view: Visible when expanding multi-source clusters
Why Include State Media? State-controlled outlets are included rather than filtered because:
  1. Signal Value: What state media reports (and omits) reveals government priorities
  2. Rapid Response: State media often breaks domestic news faster than international outlets
  3. Narrative Analysis: Understanding how events are framed by different governments
  4. Completeness: Excluding them creates blind spots in coverage
The badges ensure users can contextualize state media reports rather than unknowingly treating them as independent journalism.

Entity Extraction System

The dashboard extracts named entities (companies, countries, leaders, organizations) from news headlines to enable news-to-market correlation and entity-based filtering.

How It Works

Headlines are scanned against a curated entity index containing:

Entity Matching

Each entity has multiple match patterns for comprehensive detection:

Confidence Scoring

Entity extraction produces confidence scores based on match quality:

Market Correlation

When a market symbol moves significantly, the system searches news clusters for related entities:
  1. Symbol lookup - Find entity by market symbol (e.g., AAPL → Apple)
  2. News search - Find clusters mentioning the entity or related entities
  3. Confidence ranking - Sort by extraction confidence
  4. Result - “Market Move Explained” or “Silent Divergence” signal
This enables signals like:
  • Explained: “AVGO +5.2% — Broadcom mentioned across news clusters (AI chip demand)”
  • Silent: “AVGO +5.2% — No correlated news after entity search”

Signal Context (“Why It Matters”)

Every signal includes contextual information explaining its analytical significance:

Context Fields

Signal-Specific Context

This contextual layer transforms raw alerts into actionable intelligence by explaining the analytical reasoning behind each signal.

Energy Flow Detection

The correlation engine detects signals related to energy infrastructure and commodity markets.

Pipeline Keywords

The system monitors news for pipeline-related events: Infrastructure terms: pipeline, pipeline explosion, pipeline leak, pipeline attack, pipeline sabotage, pipeline disruption, nord stream, keystone, druzhba Flow indicators: gas flow, oil flow, supply disruption, transit halt, capacity reduction

Flow Drop Signals

When news mentions flow disruptions, two signal types may trigger:

Why This Matters

Energy supply disruptions create cascading effects:
  1. Immediate: Spot price volatility
  2. Short-term: Industrial production impacts
  3. Long-term: Geopolitical leverage shifts
Early detection of flow drops—especially when markets haven’t reacted—provides an information edge.

Signal Aggregator

The Signal Aggregator is the central nervous system that collects, groups, and summarizes intelligence signals from all data sources.

What It Aggregates

Country-Level Grouping

All signals are grouped by country code, creating a unified view:

Regional Convergence Detection

The aggregator identifies geographic convergence—when multiple signal types cluster in the same region:

Summary Output

The aggregator provides a real-time summary for dashboards and AI context:

Backed by endpoints