election_title: "Crowded field, rung 7 — 7 candidates, 65 voters, counted by Approval"

scenario_description: |-
  RUNG 3, counted by Approval. Felix wins on 36 while the Condorcet winner Diego takes
  22 — third from last, on the same fixed approve-at-4 rule that elected him at both
  earlier rungs.

  Diego's collapse is the crowded-field effect in a form all its own. He is nearly
  everyone's second or third choice, but a wider field pushes each bloc's approval line
  past him: the blocs at 12 and 16 now have Clara, Elsa or Felix sitting where Diego used
  to be on their ballot. Approval reads where you drew the line, not whom you preferred.

  Same caveat as rung 2, doubled — quote this column only with the cutoff attached.

  Same 65 voters and the same fixed candidate positions as crowded_field_c7_star.yaml;
  the approval ballot is that file's 0–5 ballot thresholded at 4 (approve everyone you
  would score 4 or 5). Change the cutoff in build_ladder.py and this file changes with it.

  Construction: build_ladder.py in this folder. 65 voters in seven blocs at 0, 4, 8, 12,
  16, 20, 24 (sizes 6, 10, 13, 9, 12, 8, 7); candidates fixed at Ana 1 · Bruno 6 ·
  Clara 9 · Diego 11 · Elsa 14 · Felix 16 · Greta 22; utility = minus distance; scores =
  each bloc's own min-max scaling onto 0–5. Nothing is tuned, and no count at any rung is
  settled by a tie-break.

voting_method: Approval
num_winners: 1

lot_numbers: [Ana, Bruno, Clara, Diego, Elsa, Felix, Greta]

ballots: |-
  Count:Ana,Bruno,Clara,Diego,Elsa,Felix,Greta
  6:1,1,0,0,0,0,0    # bloc at 0
  10:1,1,1,0,0,0,0    # bloc at 4
  13:0,1,1,1,0,0,0    # bloc at 8
  9:0,0,1,1,1,1,0    # bloc at 12
  12:0,0,0,0,1,1,0    # bloc at 16
  8:0,0,0,0,1,1,1    # bloc at 20
  7:0,0,0,0,0,1,1    # bloc at 24

expected_winners:
  - Felix
