Commit Graph

  • 50fafeecf3 feat: add motion semantic drift analysis script sgeboers 2026-04-05 12:24:46 +02:00
  • 846e9cf67f fix: import canonical parties from config, simplify theme consistency check sgeboers 2026-04-05 10:05:46 +02:00
  • bad9cd758d docs: add SVD theme divergence solution doc and validation hook sgeboers 2026-04-05 09:58:53 +02:00
  • c71710433a fix: correct axis 4 theme to match actual party positions (NSC/BBB vs D66/CDA/JA21) sgeboers 2026-04-05 02:20:44 +02:00
  • bce0ed56de fix: add semantic left_pole/right_pole labels to SVD axes sgeboers 2026-04-05 02:11:19 +02:00
  • f775e41c96 test: add canonical party set validation for SVD flip direction sgeboers 2026-04-05 02:04:31 +02:00
  • 0a39fa0fe3 docs: add SVD axis labels design spec sgeboers 2026-04-05 01:49:26 +02:00
  • ea6e33fa3f chore: regenerate uv.lock (resolve pytest source ambiguity) sgeboers 2026-04-05 01:42:50 +02:00
  • da4d73a881 ci: replace trajectory debug prints with logger.debug (safe_auto) sgeboers 2026-04-05 01:19:49 +02:00
  • 310083421b Merge: accept main version of explorer.py to resolve svd-tab-redesign conflicts sgeboers 2026-04-05 01:06:48 +02:00
  • 27486726b8 docs: add learning about agent push access to gitea sgeboers 2026-04-05 00:53:07 +02:00
  • 414c16ae9e refactor: extract data loading and trajectory logic from explorer.py sgeboers 2026-04-05 00:51:30 +02:00
  • 154762a4c8 docs: refresh 2 stale references in solutions docs sgeboers 2026-04-05 00:46:57 +02:00
  • 5afbad11ad feat: add right-wing party axis validation sgeboers 2026-04-05 00:36:58 +02:00
  • 5ddf2cd85a chore: confirm deletion of stale files sgeboers 2026-04-04 18:47:27 +02:00
  • eb71328967 chore: commit remaining modified files from refactoring sgeboers 2026-04-04 18:47:12 +02:00
  • 805cc7e284 docs: add session ledger files and logic-errors docs sgeboers 2026-04-04 18:47:05 +02:00
  • 1dbf8da3a2 docs: move active plan to docs/plans/ sgeboers 2026-04-04 18:47:01 +02:00
  • f376300804 refactor: delete stale files and consolidate .mindmodel structure sgeboers 2026-04-04 18:46:53 +02:00
  • 0308d20f12 docs: add AGENTS.md with docs/solutions reference and SVD label best practice sgeboers 2026-04-04 18:36:05 +02:00
  • 92c3c0ee01 fix: update Components 2, 4, 5, 6 SVD labels based on voting pattern analysis sgeboers 2026-04-04 18:29:48 +02:00
  • f7fc908b58 fix: update Component 1 label to coalition-opposition reality sgeboers 2026-04-04 18:25:19 +02:00
  • bfe37c6806 fix: align report generation with JSON output for positive/negative separation sgeboers 2026-04-04 18:19:31 +02:00
  • e77f0ec9e3 fix: update SVD_THEMES labels to match actual motion content sgeboers 2026-04-04 18:09:46 +02:00
  • 33edb334c4 feat: implement exclusive SVD motion assignment with label review report sgeboers 2026-04-04 17:55:28 +02:00
  • ee8ffea6e2 fix: add health check wait to ansible deploy sgeboers 2026-04-02 22:46:01 +02:00
  • d8bee43c15 feat: add voting discipline analysis paragraph under political compass sgeboers 2026-04-02 22:03:57 +02:00
  • f5f0c8d6b1 feat: add year selector for SVD components 3-10 sgeboers 2026-04-02 21:49:12 +02:00
  • 5f7126f53f docs: add voting discipline analysis sgeboers 2026-04-02 21:47:08 +02:00
  • abd3281044 refactor: remove Stemgedrag cohesie section and fallback axis message sgeboers 2026-04-02 21:46:24 +02:00
  • a5e95c33d7 refactor: use scatter plot format for SVD components 3-10 sgeboers 2026-04-02 21:39:09 +02:00
  • fa019d8a9c test: add test for auto-flip computation for all components sgeboers 2026-04-02 21:21:58 +02:00
  • ed2b4c1fae test: add tests for 1D party position chart sgeboers 2026-04-02 21:19:23 +02:00
  • 95183fec5b test: update tests for unified SVD label system (Task 7) sgeboers 2026-04-02 21:08:50 +02:00
  • ba24ad4fe6 feat: auto-compute flip directions for all SVD components (Task 6) sgeboers 2026-04-02 21:07:46 +02:00
  • bda803089a feat: add 1D party position charts for SVD components 3-10 (Task 5) sgeboers 2026-04-02 21:07:11 +02:00
  • 5b3cf23d36 refactor: use svd_labels for fallback labels in explorer and axis_classifier (Task 4) sgeboers 2026-04-02 21:05:30 +02:00
  • 36b58ad50d refactor: use svd_labels module for fallback labels in axis_classifier (Task 3) sgeboers 2026-04-02 21:02:53 +02:00
  • 5b1be26050 refactor: move SVD_THEMES to module level for import (Task 2) sgeboers 2026-04-02 21:02:03 +02:00
  • a1c3e92fab docs: add SVD label unification implementation plan sgeboers 2026-04-02 20:45:44 +02:00
  • bed776f295 docs: add SVD label unification design spec sgeboers 2026-04-02 20:40:56 +02:00
  • c9c59dd166 feat(diagnostics): enhance trajectory diagnostic script with real data mode sgeboers 2026-04-01 01:59:41 +02:00
  • 7e202e15be test(trajectory): fix test quality issues sgeboers 2026-04-01 01:57:59 +02:00
  • 8bc43b67fd test(trajectory): add tests for plot rendering with edge cases sgeboers 2026-04-01 01:56:04 +02:00
  • 31e1dd4371 fix(trajectory): correct import for diagnose_trajectories sgeboers 2026-04-01 01:51:14 +02:00
  • 5cd031777c fix(trajectory): improve fallback handling and diagnostics when trace_count is 0 sgeboers 2026-04-01 01:49:14 +02:00
  • 8e67b89a1d fix(trajectory): fix division by zero and None handling in name normalization sgeboers 2026-04-01 01:46:13 +02:00
  • 0b79709847 fix(trajectory): normalize MP names to improve party_map matching sgeboers 2026-04-01 01:43:39 +02:00
  • 26bdb4c61c refactor(trajectory): fix code quality issues in centroid diagnostics sgeboers 2026-04-01 01:40:40 +02:00
  • 7d93753530 fix(trajectory): add diagnostics to compute_party_centroids for NaN detection sgeboers 2026-04-01 01:35:57 +02:00
  • 385a25853c diagnose(trajectory): add diagnostics to identify why trace_count is 0 sgeboers 2026-04-01 01:31:49 +02:00
  • 24796f97d3 test: add trajectory pipeline integration test sgeboers 2026-03-31 15:08:50 +02:00
  • 69208e0bf6 fix: skip second trace loop when helper succeeds to avoid duplicate traces sgeboers 2026-03-31 15:04:45 +02:00
  • 5d1328f824 chore: add TRAJ DEBUG print checkpoints to build_trajectories_tab sgeboers 2026-03-31 14:55:08 +02:00
  • 1a83f0f319 docs: add trajectory plots debugging plan sgeboers 2026-03-31 02:12:49 +02:00
  • 9f98dbae60 Add debug st.info before st.plotly_chart to diagnose invisible chart sgeboers 2026-03-31 01:49:38 +02:00
  • 72d1c20340 Show error and diagnostics when st.plotly_chart fails instead of silent pass sgeboers 2026-03-31 01:38:30 +02:00
  • baee50f3a5 feat(explorer): extend diagnostic inspector to surface mp samples/counts sgeboers 2026-03-31 00:28:14 +02:00
  • 0f2db0a9be chore(explorer): add get_debug_trajectories_enabled helper sgeboers 2026-03-31 00:22:26 +02:00
  • 525cd157c0 docs: add diagnose-no-plot-trajectories design (2026-03-30) sgeboers 2026-03-30 23:57:18 +02:00
  • ce1fc86bcb docs(design): add fix-missing-trajectories design sgeboers 2026-03-30 22:24:05 +02:00
  • c059d5d955 Fix compass orientation and simplify CI display sgeboers 2026-03-30 18:31:39 +02:00
  • b7129b3755 Extract _load_mp_vectors_by_party helper and fix cache key sgeboers 2026-03-29 23:41:15 +02:00
  • 3938eecc53 Add bootstrap CIs to party axis chart with error bars and diamond markers sgeboers 2026-03-29 23:35:53 +02:00
  • 88110b0aaa Fix update_existing_motions: single write connection and module-level duckdb import sgeboers 2026-03-29 23:28:40 +02:00
  • be8887f6f8 Add --skip-details, --update-existing flags to download_past_year.py with tests sgeboers 2026-03-29 23:25:04 +02:00
  • 72a8dd2721 Fix RNG re-seeding per party and vectorize bootstrap loop sgeboers 2026-03-29 23:17:33 +02:00
  • cd8aeec997 Add compute_party_bootstrap_cis() to political_axis.py with tests sgeboers 2026-03-29 23:13:30 +02:00
  • ef96edf478 Remove stale ad-hoc JSON analysis files sgeboers 2026-03-29 23:09:37 +02:00
  • 10c9b78d16 Add .worktrees/ to .gitignore sgeboers 2026-03-29 23:08:34 +02:00
  • ff4ce0f9b2 Add design spec for bootstrap CIs and data enrichment sgeboers 2026-03-29 22:57:36 +02:00
  • db9a61094b Fix SVD_THEMES after self-review: PC2 label, indicatief markers, accuracy sgeboers 2026-03-29 21:55:36 +02:00
  • a92315701f docs: improve SVD axis analysis with corrected methodology, party sizes, and review fixes sgeboers 2026-03-29 21:48:35 +02:00
  • fd63585fe5 docs: detailed SVD axis analysis with method, findings, doubts and conclusions sgeboers 2026-03-29 21:30:21 +02:00
  • f96e804b67 update: refresh SVD axis labels based on current parliament motions (2025-2026) sgeboers 2026-03-29 21:24:14 +02:00
  • fc16664c5e fix: open DuckDB read_only in trajectory helpers to avoid lock conflict with Streamlit sgeboers 2026-03-29 21:10:33 +02:00
  • 98b2583efd fix: scree plot now shows true EVR from Procrustes-aligned multi-window SVD sgeboers 2026-03-29 21:06:51 +02:00
  • e0f17e8b83 Revert "fix: use annual-only windows for SVD to restore EVR (~20% PC1)" sgeboers 2026-03-29 20:58:49 +02:00
  • ffd8b191ef fix: use annual-only windows for SVD to restore EVR (~20% PC1) sgeboers 2026-03-29 20:12:24 +02:00
  • 2cca1000ca refactor: move _render_axis_motions to module level sgeboers 2026-03-29 19:43:13 +02:00
  • ab9b91e4a8 fix: close duckdb connections safely, swap x/y_axis vectors, fix EVR caption after axis swap sgeboers 2026-03-29 19:42:22 +02:00
  • ea3c68ece9 refactor: extract _render_axis_motions helper, use literal emoji in expander sgeboers 2026-03-29 19:37:26 +02:00
  • 37300f2c4e feat: add motion expander to compass tab — shows top motions per axis sgeboers 2026-03-29 19:34:45 +02:00
  • 9d219d63ee test: add neither-axis-LR edge case + document swap pass-through sgeboers 2026-03-29 19:33:09 +02:00
  • 74b3f10d07 feat: add axis swap — left-right goes on horizontal axis when detected sgeboers 2026-03-29 19:29:32 +02:00
  • 95c5ab9302 fix: generate interpretation string when motion path wins without ideology sgeboers 2026-03-29 19:26:43 +02:00
  • 1ff280e0e3 feat: restructure classify_axes — motion projection as primary label source sgeboers 2026-03-29 19:20:56 +02:00
  • 62daad321e fix: add outer exception handling to motion helpers in axis_classifier sgeboers 2026-03-29 19:18:33 +02:00
  • 96224be6ee feat: add motion-loading helpers to axis_classifier sgeboers 2026-03-29 19:16:57 +02:00
  • 1e52a8a8cc fix: deterministic tie handling and regex matching in _classify_from_titles sgeboers 2026-03-29 19:15:31 +02:00
  • 71e4b68926 fix: correct docstring for _classify_from_titles return value sgeboers 2026-03-29 15:00:08 +02:00
  • f8d9af7d9d feat: add _classify_from_titles keyword classifier to axis_classifier sgeboers 2026-03-29 14:57:19 +02:00
  • 6c4dd81723 feat: expose global_mean in compute_2d_axes axes dict sgeboers 2026-03-29 14:50:05 +02:00
  • 93a2287c04 docs: add motion-driven axis labeling implementation plan sgeboers 2026-03-29 14:36:28 +02:00
  • 9dcf6201bb Add design spec for motion-driven axis labeling sgeboers 2026-03-29 14:19:54 +02:00
  • 392fd3afce fix: add per-window X-axis orientation correction sgeboers 2026-03-29 01:15:21 +01:00
  • 34c08a40fa feat: use dynamic axis labels in compass and trajectories UI sgeboers 2026-03-29 01:04:54 +01:00
  • 5ec1f7af75 feat: add axis classifier with party ideology reference data sgeboers 2026-03-29 01:00:55 +01:00
  • 23849c9cb6 docs: add axis classification implementation plan sgeboers 2026-03-29 00:58:53 +01:00
  • 6b811364c5 docs: add deployment note to axis classification spec sgeboers 2026-03-29 00:53:54 +01:00