Skip to content

01_STAR/04_Real_Elections — real BetterVoting races, read end to end

Constructed examples make one idea clear; real elections prove the method survives contact with real ballots. Every set here is a live BetterVoting race imported into this repo and reconciled line by line against the LH engine — so you can see both how a result looks in the BV interface and how it tallies in an independent implementation.

That reconciliation is also how this repo finds BetterVoting bugs: where the two disagree, the disagreement is the lesson.

Levels follow the curriculum: 🟢 101 · 🟡 201 · 🔴 301.

Set Level What it shows
"What Makes the Best Pet?" 🟡 201 The whole pipeline on one race: 7 candidates, 461 ballots, raw ballots → winner, read section by section. The worked example behind the runoff percentages lesson.
Runoff reversals on BV 🟡 201 Real elections where the Scoring-Round leader loses the Automatic Runoff to the finalist more voters prefer — STAR's headline behavior, not a constructed one. Two-view: BV screenshots beside the engine report.
Abstain, blank & zero handling 🟡 201 Where BetterVoting and the engine diverge: BV counts an all-equal ballot (0,0 and 5,5) as an abstention, the engine counts an explicit score as a real vote. The visible symptom is BV's "0 tallied votes yet a winner" (#884).
Goodberry's Best Flavor 2026 🟢 101 Open now — a live poll, not an import: ten frozen-custard flavors, paper ballots at the Cary NC shop plus a QR code, no seed ballots. The frozen export is the mint-time snapshot (zero votes), so this set is the before picture; re-freeze it when the poll closes and the reconciliation joins the rows above.

Related: the constructed teaching progression → 02_Examples · the tie behaviors these races run into → 03_Criteria · every BV-backed case in the library → the BV registry.