-
Notifications
You must be signed in to change notification settings - Fork 0
Report Format
Each Signal report is a self-contained HTML file. This page explains what every section contains and how it is generated.
The header bar displays:
- Date/time — UTC timestamp of report generation
- Article count — total articles collected this run
- Source count — number of distinct sources
- Story cluster count — number of multi-source story clusters identified
-
Model badge — LLM provider used (
claudeor the Ollama model name)
These six sections are written by the LLM in Pass 5. The prompt instructs the model to write like a senior intelligence analyst briefing a senior official who has no access to news media.
2–3 paragraphs describing what is actually happening in American politics right now — not a list of stories, but a coherent picture of the current political moment. Prioritizes substance over noise.
Generated by: The FINAL_BRIEF prompt in pipeline/prompts.py
Who is driving events. What alliances, pressures, and conflicts are shaping outcomes. What motivations are in play that news coverage obscures.
The significant absences. What major story topics are being suppressed or ignored by one or both sides, and what that selective coverage pattern reveals.
Informed by: The blindspot analysis from Pass 4, which explicitly identifies stories covered only by left-leaning or only by right-leaning outlets.
Non-obvious relationships between stories, actors, or legislative actions. Coordinated narratives. Suspicious timing. Things that only become visible when looking across the full corpus simultaneously.
Informed by: The hidden_connections, narrative_patterns, and anomalies from Pass 4.
Specific items to monitor in the next 48–72 hours. Each item names the entity, vote, deadline, or development and explains why it matters.
Informed by: The recommended_watch list from Pass 4. Pass 4 also compares this against the previous run's watch list (delta_from_previous) to track what has materialized or escalated.
One paragraph. The analyst's honest assessment of the current political moment — the underlying dynamic that explains what is otherwise confusing or fragmented.
Below the brief sections, each multi-source story cluster has a card showing:
| Field | Source | Description |
|---|---|---|
| Headline | Pass 3 | The LLM's own neutral description of what actually happened |
| Consensus facts | Pass 3 | Facts reported consistently across ALL political orientations |
| Contested points | Pass 3 | Claims made by one side but not corroborated by others |
| Left framing | Pass 3 | How left-leaning outlets are framing the story |
| Right framing | Pass 3 | How right-leaning outlets are framing the story |
| Center framing | Pass 3 | How center outlets are framing the story |
| Left omissions | Pass 3 | What left outlets are NOT saying that appears in right coverage |
| Right omissions | Pass 3 | What right outlets are NOT saying that appears in left coverage |
| Assessment | Pass 3 | 2–3 sentence analyst assessment cutting through the spin |
| Significance | Pass 3 |
high / medium / low
|
| Source list | Collector | Links to each article with source name and bias tag |
Shows the hidden_connections array from Pass 4. Each connection identifies two or more entities and describes the non-obvious relationship between them across stories.
Shows the narrative_patterns array — themes or coordinated patterns that cut across multiple stories (e.g. "three separate stories all pivot to immigration despite originating in different topics").
Shows the anomalies array — things that seem unusually timed, out of character, or conspicuously absent given the current news environment.
Two sub-panels:
- Left-only coverage — stories where only left-leaning sources are reporting
- Right-only coverage — stories where only right-leaning sources are reporting
Plus the blindspot_analysis text: a 2–3 sentence assessment of what each side is systematically avoiding today.
Lists recommended_watch items with the delta_from_previous note showing what has changed since the last run.
A collapsible index of all articles collected this run, organized by source. Each entry shows the article title (linked), source name, and bias label.
Each report includes a ◁ Home button in the header that links back to ../index.html (the landing page). This uses a relative path so it works both locally and on GitHub Pages.
Reports are named brief_YYYYMMDD_HHMM.html where the timestamp is UTC at report generation time. All CSS, HTML structure, and content are inline in a single file — no external dependencies, no JavaScript frameworks. Reports can be saved locally, emailed, or viewed offline.
Signal · Repository · fleXRPL · Daily political intelligence — powered by local AI