Canadian MP voting cohesion (agent-curated)
Weekly per-MP voting-cohesion signals for Canada's House of Commons (session 45-1): each week the keyless openparliament.ca API is swept for every recorded division, all ballots, and each MP's vote-time party, riding and province. Party positions are RECOMPUTED from cast ballots and cross-checked against openparliament's own per-party disagreement figures (fail-loud on any mismatch; a disagreement-only mismatch is kept only when it reconciles as a verified upstream phantom (for example vote 45-1/3) and is logged loudly); ballot totals are verified against each vote's official yea/nay/paired totals. Per MP the panel carries ballots cast/paired/absent, ballots with party, rebellions, cohesion_rate (with-party / cast), a documented 0-100 cohesion_score, cohesion_rank, maverick_flag (cohesion < 0.95), and party unity rates/ranks; individual ballot rows are NOT stored. Who joins this: a political-risk desk joins per-MP cohesion to its legislator watchlist on mp_slug + as_of; a newsroom joins maverick_flag + party_unity_rank to whip-count coverage. Primary key (as_of, mp_slug); join keys mp_slug, mp_name, party, riding, province, as_of, country_code (CAN). Cohesion is null for MPs with zero cast ballots (for example the Speaker, who votes only to break ties); exact-tie 'Split' votes are excluded from cohesion; cohesion is a within-session relative measure, not comparable across parliaments.
- canada
- parliament
- government-of-canada
- signals