SPB Git forge

spb/qc-election

Public
20commits 1branches 0releases
4.9 MBsize
maindefault branch
20 days agolast push
Python 66.6% HTML 24.8% CSS 4.9% JavaScript 3.6%

History of backend/data/polls_2022.csv · clear filter

  1. Fri, Sep 4, 2026 1

  2. Sun, Aug 30, 2026 4

    1. QC Signal (refonte frontend complète) + distribution prédictive du prochain sondage
      …
      Frontend — design system « QC Signal » (sous-agent, 11 pages × 4 viewports,
      zéro erreur JS, zéro débordement, light+dark dédiés) :
      - Tokens complets (palettes, radius 8-24, spacing 4/8, ombres discrètes),
        échelle typo (metric-xl 64px, tabular-nums partout), navbar + fleur SVG,
        FORECAST STRIP sticky sur toutes les pages (P(1er) publiée + Δ veille)
      - Accueil recomposé : verdict éditorial → MAIN OUTCOME (métrique héroïque,
        intervalles VISUELS 24 ───●─── 86) → HÉMICYCLE SVG 127 sièges (marqueur
        majorité 64, hover IC) → OUTCOME BAR (majorité/minoritaire/autre) →
        cartes partis compactes data-first (sparklines, deltas neutres jamais
        vert/rouge) → mouvement + pivots
      - /aujourdhui briefing éditorial, /carte 75/25, tables sticky-header,
        composants deltaHTML/rangeHTML/emptyState/hemicycleSVG, skeletons
      - docs/DESIGN_SYSTEM.md + docs/UI_AUDIT.md (18 dettes retirées)
      
      Backend :
      - national/next_poll.py (§46-48) : P(prochain sondage | modèle) publiée à
        chaque run + SURPRISE de chaque nouveau sondage (z par parti, densité
        prédictive, verdict bruit/à surveiller/mouvement-ou-aberrant) mesurée
        contre la prédiction STOCKÉE du run précédent (jamais rétro-ajustée)
      - data/replay_report.json committé (LOEO 6 élections)
      - 33/33 tests
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 24 days ago · 1 file +910 −910
    2. v3.0.0 « 127 » — Phases A+B : validation, Social Intelligence, forecast par comté
      …
      Phase A (fondations) :
      - modeling/validation/ : scoring commun (EAM/RMSE, couverture 50/90/95, Brier,
        log loss, sharpness, biais) + cadre d'ABLATION (backtest 2022 par variante,
        deltas vs FULL publiés, data/ablation_report.json, /api/ablation,
        POST /api/admin/ablation)
      - Feature flags conservateurs (enable_social_volatility, enable_tipping_points,
        enable_ablation, enable_social_directional=OFF)
      - Observabilité Apify (table apify_runs) + /api/admin/data-health (§33-34)
      
      Phase B (Social Intelligence Layer) :
      - modeling/signals/social.py : métriques inter-plateformes normalisées
        (attention_z, velocity_z, breadth, cross_platform, stance_balance) +
        filtrage de coordination (quasi-doublons, rafales) → attention organique
      - modeling/signals/volatility.py : multiplicateur de variance unifié
        wiki+social, borné [1, 1,5], variance seulement (§16)
      - modeling/signals/event_detection.py : événements à confirmation croisée
        (≥2 familles : presse, social, Wikipédia), sans effet directionnel présumé
      
      Forecast par comté :
      - simulate.tipping_points : circonscriptions pivots de la majorité (méthode
        des simulations, 64e siège le plus sûr), stocké par run (§24)
      - Page /circonscriptions : 127 fiches (recherche, filtres, tri, détail complet
        IC 95 %/candidatures/2022), pivots avec barres de course, KPIs
      - /api/battlegrounds + API v3 (/api/v3/forecast|ridings|social|battlegrounds|
        events|beyond|calibration|ablation), compatibilité v1 conservée
      
      29/29 tests verts. METHODOLOGY §9 bis. ModelVersion 3.0.0.
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 24 days ago · 1 file +910 −910
    3. Frontend v3 « sharp » + ingestion de sondages parfaite (v2.1.1)
      …
      Frontend :
      - Refonte style.css : header compact blur, drawer hamburger mobile (verrou, backdrop,
        Escape), safe-areas, anti-zoom iOS 16px, cartes dégradées + hover lift, focus rings,
        skeleton shimmer, clamp typographique, prefers-reduced-motion
      - Charts : thème Inter, grille recessive, tooltips arrondis/blur, légendes cercle,
        dégradés sous courbe (areaGrad), traits lumineux (lineGlow), pastilles endLabel,
        barres à coins arrondis, ResizeObserver
      - Palette des partis validée (dataviz : CVD ΔE≥20, contraste ≥3:1, 2 surfaces)
      
      Sondages (« ça doit être parfait ») :
      - Parseur Wikipédia par SECTION (« Opinion polls »/« Campaign period » acceptées,
        ventilations langue/région et projections exclues) — plus de seuil de 20 rangées :
        la table de campagne entre dès sa 1re rangée
      - Mode de collecte par maison (design effects réels), vraie plage de terrain,
        indécis parsés
      - Upsert par (maison, fin de terrain) : n/MoE/chiffres révisés mis à jour, jamais
        dupliqués; purge des doublons hérités
      - Boucle de garantie radar→base (statut intégré/en attente), pipeline 3 h en campagne
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 24 days ago · 1 file +911 −911
    4. v2.0.0 « Au-delà des sondages » — fondamentaux, partielles, médias, marchés, veille Firecrawl
      …
      - Prior de fondamentaux : satisfaction gouvernementale + vote précédent + usure,
        régression ridge 1998-2022 (LOO), blend à poids décroissant w(t) vers le scrutin
      - Votes réels des 4 partielles 2023-2025 injectés dans le filtre de Kalman
        (swing local rétréci ×0,6, n équiv. 350, erreur excédentaire ±3 pp)
      - Ajustement médias borné ±0,35 pp (sentiment 14 j, tanh + seuil de volume)
      - Ensemble 88/12 modèle/Polymarket sur P(plus de sièges), publié partout
      - Veille continue Firecrawl : radar de nouveaux sondages, extraction de la
        satisfaction (Léger 40 % trouvée live), presse élargie au-delà des RSS
      - Décomposition du forecast couche par couche à chaque run (API /api/beyond)
      - Nouvelle page /signaux + carte « D'où vient le forecast » sur l'accueil
      - Backtest 2022 comparatif (mae v2 vs sondages seuls)
      - Tables byelections / web_signals / indicators, endpoints admin (watch,
        indicator, byelection), 8 nouveaux tests (22/22 verts)
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 25 days ago · 1 file +910 −910
  3. Thu, Aug 27, 2026 1

    1. QC Élection Forecast — plateforme de prévision électorale du Québec 2026
      …
      Modèle bayésien d'état latent (Kalman/alr) + house effects + Monte Carlo
      corrélé (erreurs systémique/régionale/locale), backtesting 2022 calibré,
      carte officielle DGEQ (127 circonscriptions), simulateur what-if, sentiment
      médiatique et marchés prédictifs en signaux auxiliaires. FastAPI + SQLite,
      frontend ECharts thèmes sombre/clair, responsive mobile. Déployée sur M2U64
      → https://www.qc-election.com (PM2 + ngrok).
      
      Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
      Simon-Pierre Boucher committed 27 days ago · 1 file +911