Bv129 1086 method name note
The result is correct — this is only the exported method name, but it's a slippery one. The method is stored as plain "STAR" in two places, with the seat count in a separate field:
Election.races[0].voting_method : "STAR" num_winners : 2
Results[0].votingMethod : "STAR"
So "Bloc STAR" is never written down — it's only implied by STAR ballot + more than one seat. Two consequences:
- The name alone is ambiguous.
votingMethod: "STAR"is single-winner STAR at 1 seat and Bloc STAR at 2. A consumer that keys on the method name without also readingnum_winnerswill mistabulate. - Editing one field silently changes the method. Bump
num_winnersbetween 1 and 2 without touchingvotingMethod, and the election flips between STAR and Bloc STAR with nothing in the name to flag it.
I don't think the stored value is necessarily wrong, though: votingMethod names the ballot / tabulation family (STAR = 0–5 scores) and num_winners names the seats, so "Bloc STAR" is arguably a derived label. If so, the tightest fix is display-side: derive and show "Bloc STAR" (STAR + more than one seat) wherever the method is named, rather than changing the stored field.
Worked reference — ballots, the exact export lines, and a strict engine that refuses voting_method: STAR + num_winners: 2 rather than guessing: https://github.com/masiarek/YAML/blob/master/02_STAR_Bloc/02_Examples/bv129_score_tiebreak_bloc.md