spb/qc-election
Public
Python 66.6%
HTML 24.8%
CSS 4.9%
JavaScript 3.6%
-
Mon, Aug 31, 2026 1
-
Directive maître — baselines de replay, Course à 64, connecteurs primaires
…
- Replay : baselines « dernier sondage » et « moyenne 14 j » scorées à chaque horizon et agrégées (modèle 3,71 bat dernier-sondage 3,84; moyenne-14j 3,49 gagne l'EAM ponctuelle — consigné honnêtement dans STATISTICAL_DEBT comme recherche ouverte : la valeur du modèle est la DISTRIBUTION, les baselines n'ont ni intervalles ni probabilités) - Course à 64 (/api/battlegrounds.paths_to_64 + section /circonscriptions) : pour chaque parti, échelle des sièges du plus sûr au plus décisif, 64e siège de la majorité surligné (PQ : Maskinongé 43 %, marge 0,9 pp), marge attendue = swing minimal de bascule, onglets par parti - Connecteurs PRIMAIRES des 7 firmes (ingest/pollster_reports.py) : veille des pages de publications (Firecrawl), archivage des rapports (data/raw/reports), extraction PAR RÈGLES avec niveau de confiance, FILE DE RÉVISION (Poll excluded=True « révision requise » — jamais d'entrée silencieuse), réconciliation Wikipédia, statut de source consigné (Pallas/Synopsis murées = connecteurs désactivés de fait). Test live Léger : 5 rapports archivés, 0 création sous le seuil de confiance — comportement voulu - Tests invariants (§qualité) : 127 sièges/simulation, P(victoire) somme à 1, probabilités [0,1], extraction primaire (35/35 verts) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
-
-
Sun, Aug 30, 2026 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>
-