# Overton Window Analysis — Reading Guide

This directory contains the complete Overton window analysis: a quantitative investigation into whether the Dutch parliamentary center shifted rightward between 2016 and 2026.

**Verdict:** The Overton window did not shift right. Right-wing parties moderated toward it. The shift may be temporary.

## Where to Start

1. **[Interactive Article](overton_window.qmd)** — The narrative spine. 9 sections with interactive Plotly charts telling the story from question to answer. Render with `quarto render overton_window.qmd`.

2. **[Synthesis Report](overton_window_synthesis.md)** — The detailed synthesis of all indicators, uncertainty hierarchy, and the "acceptance through moderation" verdict.

3. **[HTML Dashboard](overton_report.html)** — Standalone visual report with gravity-controlled charts, 2D extremity heatmap, and three example motions.

## Live Exploration

Explore the data interactively in the Stemwijzer Explorer (`uv run streamlit run Home.py`):

- **Overton tab** — Centrist support trends, right-wing motion browser, summary statistics
- **Kompas tab** — SVD party positions (the axes behind the spatial divergence finding)
- **Trajectories tab** — Party drift over time (with 2024 breakpoint annotation)
- **SVD Components tab** — Which motions drive each ideological axis

## Appendix Reports

Each report covers one analytical dimension:

| Report | What it answers |
|--------|----------------|
| [Breakpoint Analysis](breakpoint_analysis.md) | When did centrist support surge? How much? |
| [Temporal Trajectory](temporal_trajectory.md) | Quarterly resolution — was it gradual or sudden? |
| [Causal Timing](causal_timing.md) | Electoral jump vs coalition-driven? |
| [SVD Drift](svd_stability_report.md) | Did party positions converge or diverge? |
| [2D Extremity Temporal](extremity_2d_temporal.md) | Did motion content become more extreme? |
| [2D Correlation](2d_extremity_correlation_report.md) | Are style and substance independent? (r=0.43) |
| [Party Differentiation](party_differentiation.md) | Which right-wing party drove the shift? (JA21) |
| [Left-Wing Response](left_wing_response.md) | Did left parties harden opposition? |
| [Mechanism Classification](mechanism_classification.md) | How do right-wing motions gain centrist support? |
| [Mechanism Validation](mechanism_validation.md) | Inter-rater reliability (κ=0.41) |
| [Voting Margin](voting_margin.md) | Continuous margin vs binary pass/fail |
| [Success Correlation](success_correlation.md) | Do high-CS motions actually pass more? |
| [Predictive Model](predictive_model.md) | Can we predict centrist support? (AUC=0.81) |

## Methodology

- **7-step methodology:** [docs/solutions/best-practices/overton-window-shift-methodology-2026-05-24.md](../../docs/solutions/best-practices/overton-window-shift-methodology-2026-05-24.md)
- **Extended analysis:** [docs/solutions/best-practices/overton-extended-analysis-methodology-2026-05-26.md](../../docs/solutions/best-practices/overton-extended-analysis-methodology-2026-05-26.md)
- **Domain decomposition:** [docs/solutions/best-practices/domain-decomposition-hidden-overton-variance-2026-05-25.md](../../docs/solutions/best-practices/domain-decomposition-hidden-overton-variance-2026-05-25.md)

## Reproducibility

Regenerate all reports with:

```bash
uv run python analysis/right_wing/build_all_reports.py --skip-llm
```

## Status

See [STATUS.md](STATUS.md) for the complete analysis status, data sources, and canonical numbers.
