4.8 KiB
| title | date | category | module | problem_type | component | severity | applies_when | tags |
|---|---|---|---|---|---|---|---|---|
| Overton window analysis narrative architecture | 2026-06-06 | best-practices | analysis/right_wing | architecture_pattern | development_workflow | medium | [organizing multi-report analytical projects into a coherent narrative connecting static reports to live dashboards identifying gaps between parallel analytical tracks] | [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 synthesisblog_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 synthesisreports/overton_window/overton_report.html— current static HTML deliverable.opencode/skills/score-extremity/SKILL.md— 2D scoring methodologydocs/solutions/best-practices/overton-window-shift-methodology-2026-05-24.md— 7-step methodology