election_title: "Bloc STAR — no faction has a majority, and the second-largest wins nothing"

scenario_description: |-
  One hundred and one voters fill FOUR seats from TEN candidates. No faction has
  a majority: Blue 40%, Green 35%, Amber 26%. Jaya runs as an independent and is
  nobody's favourite — every faction scores Jaya 3 or 4.

    - Seat 1: Jaya 324 leads the scoring round outright, ahead of Ada 227 and
      Bram 219. Jaya beats Ada in the runoff 61-40.
    - Seat 2: Ada 227 v Bram 219 — both Blue. Ada wins 8-0, with 93 of the 101
      voters expressing no preference between two candidates they scored equally.
    - Seat 3: Bram 219 v Gita 190 — Gita (Amber) wins the runoff 54-47.
    - Seat 4: Bram 219 v Dov 189 — Bram wins 60-41.

  Council: Jaya, Ada, Gita, Bram. No rung of the tie-break ladder is consulted.

  Two things here are worth slowing down for.

  FIRST — Jaya. A candidate with no faction at all wins the first seat, on
  breadth rather than depth: 3s and 4s from everybody add up to more than 5s from
  40% of the electorate. That is the thing a 0-5 ballot can see and a choose-one
  ballot cannot, and it is Bloc STAR working WELL. Jaya is elected under every
  method tried here.

  SECOND — Green. The second-largest faction, 35% of the electorate, elects
  NOBODY. Its best candidate Dov scores 189, behind Bram's 219, so Dov only
  reaches a runoff in the final round and loses it. Meanwhile Amber, at 26%, wins
  a seat. Bloc STAR's seat allocation does not track faction size, and here it
  is not even monotone in it: a smaller faction is represented and a larger one
  is not.

  Proportional STAR gives each of the three factions one seat plus the
  independent — Allocated Score returns Ada, Dov, Gita and Jaya. That is the
  clean statement of the difference: the same ballots, one count answering "who
  is most liked?" four times over, the other asking "who is not yet
  represented?" Read that result as a seat COUNT per faction, not as a list of
  names: THREE of the four seats are decided by a tie-break (see below).

  Reproduced on BetterVoting (election vthdwc), which counts the SAME 101
  ballots twice. The BLOC STAR race — the subject of this file — matches the LH
  count exactly, with tieBreakType 'none'.

  The STAR-PR race does NOT, and the reason is worth writing down: that count is
  TIE-DEPENDENT. After Jaya is elected, a Hare quota of 25.25 voters is spent —
  the 21 ballots scoring Jaya 4 are consumed outright and the 80 scoring Jaya 3
  are reduced to weight 303/320 — and at that point Ada and Bram hold EXACTLY
  the same reweighted score, 2727/16. Gita and Hank are likewise tied at 303/2,
  and Dov, Esme and Ines at 2121/16.
  Each faction's candidates are scored identically by every bloc but one, so
  reweighting lands them on the same number. LH breaks it to Ada and Gita; BV
  breaks it to Bram and Hank, and elects Jaya, Bram, Dov, Hank.

  Note the count: the engine prints THREE [Lot-decided tie - rare] banners here,
  not two. Seat 3 goes to a lot as well - Dov against Esme, once Ada's quota is
  spent - and it is easy to miss because both engines' lots land on Dov, so it
  never shows up in an LH-vs-BV diff. Two ties DIVERGE; three ties DECIDE a seat,
  and those are different counts. It strengthens rather than weakens the advice
  above: quote the seat count. Three of these four names are a coin toss, and the
  faction spread - Blue, Green, Amber, independent, one each - is identical on
  both engines' paths.

  Neither engine is wrong. This is the last rung of the ladder — LH's published
  lot against BV's seeded shuffle — and it is the one place the two are known to
  differ. (BV labels every STAR_PR race tieBreakType 'random' whether or not a
  tie occurred; that mislabel is bettervoting#1507. Here the tie is real.)

  So quote the seat COUNT, not the names, when using this case for the
  proportional half of the lesson: every proportional method gives Blue, Green
  and Amber one seat each plus the independent, which is the point. Which of two
  tied Blue candidates takes Blue's seat is a coin toss, and the file does not
  pretend otherwise. Frozen export: bloc_no_majority_bridge_bv_export.json.
  Live results: https://bettervoting.com/vthdwc/results

num_winners: 4
voting_method: Bloc STAR
ballots: |-
  Count:Ada,Bram,Ceci,Dov,Esme,Finn,Gita,Hank,Ines,Jaya
  32:5,5,4,0,0,0,1,1,1,3   # Blue loyalists
  8:5,4,4,1,1,1,0,0,0,4    # Blue leaners
  28:0,0,0,5,5,4,1,1,1,3   # Green loyalists
  7:1,1,1,5,4,4,0,0,0,4    # Green leaners
  20:1,1,1,0,0,0,5,5,4,3   # Amber loyalists
  6:0,0,0,1,1,1,5,4,4,4    # Amber leaners

bv_test_id: BV2291
bv_election_id: vthdwc
bv_results_url: https://bettervoting.com/vthdwc/results

expected_winners:
  - Jaya
  - Ada
  - Gita
  - Bram

# file: bloc_no_majority_bridge.yaml
