election_title: Quota Circus — STAR-PR with cliff, slate and gentle ballots (6 cand, 2 seats)
bv_test_id: BV2246
bv_election_id: qdh9qp
bv_results_url: https://bettervoting.com/qdh9qp/results

scenario_description: |-
  Proportional STAR meets the style circus: a north side voting in cliffs,
  slates and bullets (0s and 5s, nothing between) against a south side of
  gentle souls and sliver voters (3-5 only, zeros never) - plus floaters of
  pure noise. Two seats, six candidates. The question quota allocation has to
  answer: when one camp's ballots SHOUT (max scores) and the other camp's
  ballots hum (inflated 3-4s everywhere), whose quota fills first, and what's
  left to decide the second seat after the reweighting?

  The electorate (29 ballots, all individual rows):
    - north side: 17 voters (7 cliff35, 6 bullet, 4 slate)
    - south side: 8 voters (4 gentle, 3 cliff34, 1 nuanced)
    - floaters: 4 voters (2 chaos, 1 anyone_but, 1 flat)

  Ballot styles in play (taxonomy:
  01_STAR/01_Learn/voting_styles/README.md):
    - cliff35: cliff ballot: 0 or 3-5, nothing in between
    - cliff34: sliver ballot: 0 or 3-4 only
    - bullet: choose-one transplant: favorite 5, rest 0/blank
    - slate: partisan slate: equal 5s for the in-group, 0 outside
    - chaos: pure noise (fuzzing voter)
    - gentle: gentle soul: everything squeezed into 3-5, no zeros
    - anyone_but: 5 for everyone except the villain (0)
    - nuanced: full 0-5 range, honest gaps, ties allowed
    - flat: flat-liner: same score for everyone

  What the frozen seed produced: Seats: Amir, Bree. north side seats 2 of its
  2-name slate; south side seats 0 of its 2-name slate. Final seat round
  (reweighted totals): Bree 39.25 vs Cato 36.94.

  RANDOM-BUT-HUMAN, reproducible: generated by
  06_Other/ballot_style_lab/generate_ballot_styles.py (scenario
  'quota_circus', seed 34) - utilities sampled from the faction model above,
  then rendered through each voter's ballot style. Per
  07_Concepts/topics/simulate_utilities_not_ballots.md this is the
  'stress-test the tabulator' job (with human-shaped renderings), not a
  method-welfare comparison. Regenerate byte-identically: python
  generate_ballot_styles.py --emit quota_circus

voting_method: allocated
num_winners: 2
ballots: |-
  Amir, Bree, Cato, Della, Enzo, Faye
     5,    5,    0,     0,    0,    0
     0,    0,    4,     4,    0,    0
     5,    0,    0,     0,    0,    0
     5,    0,    0,     0,    0,    0
     -,    5,    -,     -,    -,    -
     5,    5,    0,     0,    5,    0
     1,    2,    2,     0,    2,    4
     0,    0,    4,     4,    0,    4
     1,    5,    2,     5,    3,    1
     5,    5,    0,     0,    0,    0
     5,    4,    0,     0,    0,    0
     5,    0,    0,     0,    0,    0
     0,    0,    4,     4,    0,    0
     4,    4,    5,     5,    3,    4
     5,    4,    0,     0,    0,    0
     5,    5,    0,     0,    0,    0
     5,    5,    0,     0,    0,    0
     3,    4,    5,     4,    3,    3
     5,    5,    5,     5,    5,    0
     5,    5,    0,     0,    0,    0
     0,    5,    0,     0,    0,    0
     0,    1,    5,     3,    0,    3
     5,    4,    0,     0,    0,    0
     -,    5,    -,     -,    -,    -
     5,    5,    0,     0,    0,    0
     3,    3,    5,     4,    3,    3
     5,    0,    0,     0,    0,    0
     5,    4,    5,     5,    3,    4
     0,    0,    0,     0,    0,    0

expected_winners:
  - Amir
  - Bree

# file: 08_c6_b29_quota-circus-pr-2-seats.yaml
