From bb5f2961d19af924f518ae2961426c92a3dd9447 Mon Sep 17 00:00:00 2001 From: Sven Geboers Date: Sun, 29 Mar 2026 00:52:11 +0100 Subject: [PATCH] docs: fix two spec ambiguities in axis classification design - Clarify CSV path derivation from db_path (same data/ directory) - Handle current_parliament window exclusion from modal label voting --- .../specs/2026-03-29-axis-classification-design.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/specs/2026-03-29-axis-classification-design.md b/docs/superpowers/specs/2026-03-29-axis-classification-design.md index 67d93bf..899e85b 100644 --- a/docs/superpowers/specs/2026-03-29-axis-classification-design.md +++ b/docs/superpowers/specs/2026-03-29-axis-classification-design.md @@ -160,6 +160,10 @@ Single public function: `classify_axes(positions_by_window, axes, db_path)`. The function is pure except for reading two CSV files (cached module-level after first load). +CSV paths are derived from `db_path`: `Path(db_path).parent / "party_ideologies.csv"` and +`Path(db_path).parent / "coalition_membership.csv"`. Both files live in the same `data/` directory +as the database. + **Algorithm per window:** 1. Collect parties that appear in both `positions_by_window[window_id]` and `party_ideologies.csv`. @@ -184,7 +188,9 @@ The function is pure except for reading two CSV files (cached module-level after 6. Repeat steps 3–5 for Y-axis using `party_y`. 7. After processing all windows, pick global X label = modal label across annual windows only (quarterly windows participate in quality tracking but not in the modal vote, to avoid - over-weighting). + over-weighting). The `current_parliament` window is excluded from modal voting entirely and + from the coalition dimension (no year to look up); it still gets x_quality and x_interpretation + based on the left_right and progressive correlations. **Interpretation strings (Dutch):**