Sven Geboers
5706e86777
feat(overton): coherent narrative architecture — Quarto article, Explorer Overton tab, report cleanup
...
- U1: Remove stale findings_report.md and blog_post.html, add cross-reference
headers to all 13 appendix reports, switch HTML report to canonical 4-party
centrist definition
- U2: Create Quarto narrative spine (overton_window.qmd) with 9 sections and
6 interactive Plotly charts. Includes 'About Stemwijzer' platform section.
- U3: Add Overton tab to Explorer (centrist support trend, right-wing motion
browser, explore-further links). Add Overton context expander to Kompas tab
and 2024 breakpoint annotation to Trajectories tab.
- U4: Create build_all_reports.py master regeneration script (3-phase,
dependency-ordered, --skip-llm support)
- U5: Update README with Research section, create reports/overton_window/README.md
reading guide, update STATUS.md with broader platform framing
Plan: docs/plans/2026-06-06-001-overton-coherent-narrative-plan.md
282 tests pass.
2 weeks ago
Sven Geboers
a3154f72df
refactor: extract shared helpers to common.py, fix bugs, add TDD tests
...
- Created analysis/right_wing/common.py with all shared helpers:
Constants: CANONICAL_CENTRIST, COALITION, BREAK_YEAR, etc.
Functions: _conn, cohens_d, build_party_name_map, parse_lead_submitter,
motion_passed, quarter_sort_key, find_inflection_point
- Fixed bugs:
1. ai_provider.py: requests.Timeout now caught alongside ConnectionError
2. voting_margin.py: Removed walrus operator misuse, fixed Mann-Whitney test
- Updated 13 consuming files to import from common.py
- Added 35 TDD tests in tests/right_wing/test_common.py
- 282 tests pass (was 247)
3 weeks ago
Sven Geboers
2d5b28fe1b
feat(overton): coalition coding fix + regenerate breakpoint analysis
3 weeks ago
Sven Geboers
711a410df3
chore: simplify Overton scripts, update README, add stemwijzer.db to gitignore
...
- Extracted EXTREMITY_BUCKET_ORDER constant and _extremity_bucket() helper (4 duplications removed)
- Merged two-pass query loop in compute_yearly_baseline into single pass
- Removed unused import (mticker), dead code (year_titles_map), 12 obvious comments
- Extracted _fmt_axis() helper in SVD drift script
- Updated README analysis/ description to include right-wing motion analysis
4 weeks ago
Sven Geboers
2a081ade25
fix(overton): strict centrist definition + left support analysis
...
- Reclassified centrist to {D66, CDA, CU, NSC} — removing VVD/BBB
which are center-right coalition partners
- Added centrist_support_strict (0.251→0.507, d=+0.65), center_right_support,
and left_support_mp columns via migration script
- Figure 1 now shows center-right (VVD/BBB) support as orange dashed line
- New Figure 3: bar chart of left-party support for right-wing motions
(0.268→0.202, left opposition hardened)
- New report Section 6 covering left-wing support trends
- All analysis now uses strict centrist definition throughout
1 month ago
Sven Geboers
e478235c84
fix(overton): correct SVD axis interpretation, drop pass rate, synthesis rewrite
...
- SVD axis 2 sign corrected: negative = nationalist (PVV -0.56, FVD -0.36), positive = kosmopolitisch (Volt +0.27). Centrists moved LEFT on both axes while right-wing moved further right culturally (+0.146 gap). 'Acceptance without conversion' named as unifying interpretation.
- U1: Figure 1 merged to single panel, pass rate removed, 5 centrist_support lines
- U2: Pass rate columns dropped from all breakpoint tables, PR narrative cut
- U3: Findings report rewritten: SVD section replaced, synthesis restructured into 3 tiers, extremity LLM bias qualified
- U4: Axis labels and sign convention added to svd_stability_report.md
- Added centrist_support_mp column (MP-weighted, correlates 0.998 with party-level)
1 month ago
Sven Geboers
76b499cdc0
feat(analysis): Overton window breakpoint analysis with opposition control and SVD drift
...
Quantify 2024 breakpoint in centrist support (d=+0.68 overall, d=+0.85 opposition-only),
domain decomposition, extremity-stratified pass rates, and manual LLM audit (75% agreement).
SVD center drift aborted due to axis instability (9/10 consecutive window pairs fail stability threshold).
1 month ago