---
title: Overton window analysis narrative architecture
date: 2026-06-06
category: best-practices
module: analysis/right_wing
problem_type: architecture_pattern
component: development_workflow
severity: medium
applies_when:
  - "organizing multi-report analytical projects into a coherent narrative"
  - "connecting static reports to live dashboards"
  - "identifying gaps between parallel analytical tracks"
tags:
  - overton-window
  - narrative-architecture
  - report-organization
  - dashboard-integration
  - quarto
---

# Overton window analysis narrative architecture

## Context

The Overton window analysis produced 17 reports across `reports/overton_window/`, 3 live Streamlit Explorer dashboards, and a project-local scoring skill — but these pieces were built incrementally across sessions and never organized into a coherent narrative. The reports cross-reference each other inconsistently, overlap with dashboard data, and lack a clear reading order.

## Guidance

### 1. Three-tier narrative structure

Organize analytical outputs into three tiers, each with a different audience and purpose:

| Tier | Audience | Format | Content |
|------|----------|--------|---------|
| **Narrative spine** | Everyone | Quarto article (`.qmd`) | The coherent story: what happened, why, and what it means |
| **Detailed appendices** | Researchers | Markdown reports in `reports/overton_window/` | Per-indicator deep dives with full methodology |
| **Live exploration** | Power users | Streamlit Explorer tab | Interactive drill-down into the underlying data |

The narrative spine references appendices for detail. Appendices reference each other where analyses overlap. The live dashboard links back to the narrative via explanatory text.

### 2. Centrist definition must be consistent across all outputs

The strict 4-party definition (D66, CDA, CU, NSC) is the canonical one — it isolates the genuine center and produces cleaner signals. The 6-party definition (adding VVD, BBB) appeared in early iterations and survives in some reports. Every public-facing output must use the strict definition or explicitly note when the wide definition is used for comparison.

### 3. Live dashboards are part of the story

The Streamlit Explorer already shows the SVD compass (Tab A), party trajectories (Tab B), and component decomposition (Tab C) — all of which directly visualize Overton window dynamics. The gap is that:

- No tab explicitly labels itself as "Overton analysis"
- No tab shows right-wing motion centrist support trends
- No tab shows 2D extremity scoring results
- The browser.py/search.py tabs exist but aren't wired

Adding a dedicated "Overton Window" tab or retrofitting the existing compass tab with an Overton context panel connects the static analysis to the live data surface.

### 4. Quarto bridges static reports and interactive dashboards

Static HTML (overton_report.html) is a dead-end artifact — it can't be updated without regeneration and can't be filtered or zoomed. Quarto `.qmd` files with embedded Plotly charts solve this:

- Interactive centrist support trend lines with hover tooltips
- Filterable 2D extremity scatter plots
- Linked views between SVD drift and centrist support
- Self-contained HTML output with embedded data

The existing `plotly` dependency (6.6.0) works directly in Quarto's Jupyter engine.

### 5. Remove, don't accumulate

Not every report earned its place. Remove:
- `findings_report.md` — fully superseded by synthesis
- `blog_post.html` — replace with Quarto version
- Duplicate analysis between breakpoint and synthesis — keep breakpoint as appendix only

### 6. Master build script for reproducibility

A single `analysis/right_wing/build_all_reports.py` that runs every analysis script in dependency order and verifies output existence. This guarantees that any future researcher can regenerate the entire Overton analysis from the same database state.

## Why This Matters

Without narrative architecture, a multi-session analytical project produces a fragmented artifact: individual reports are technically correct but nobody can follow the story from question to answer. The three-tier structure (narrative spine → appendices → live dashboard) maps to how different readers consume the work: skim the spine, drill into appendices for detail, explore the dashboard for their own questions.

## When to Apply

- Any analytical project that spans multiple sessions and produces more than 5 output files
- When static reports overlap with live dashboards
- When reports need to survive beyond the session that created them

## Related

- `reports/overton_window/overton_window_synthesis.md` — current master synthesis
- `reports/overton_window/overton_report.html` — current static HTML deliverable
- `.opencode/skills/score-extremity/SKILL.md` — 2D scoring methodology
- `docs/solutions/best-practices/overton-window-shift-methodology-2026-05-24.md` — 7-step methodology
