--- 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