Summary
It should be possible to natively re-tally an STV election on SecurePoll (through votewiki's interface) should the need arise. Most commonly this will be if a candidate withdraws shortly after the election.
Background
- We are not currently able to re-tally STV elections.
- Unlike other types of elections, when a candidate withdraws from consideration after being elected (or, more unlikely, is disqualified after the vote occurs), the next-latest elimination is not necessarily the rightful electee. This is because voters can rank multiple candidates, and these rankings can change if one of the candidates is no longer in consideration.
- Re-tallying the STV election with withdrawn candidates missing means the result is fair and takes into account voters' preferences as intended.
- The key situation here would be if the withdrawn candidate had a lot of additional votes for a candidate who would have otherwise been eliminated fairly early.
Prereqs
Design
Acceptance criteria
- broadly, election types should be able to define tally modifier parameters. In practice, only STV will use this now but in the interest of not making STV extra special, let's make it a feature for all election types (but again, only implemented by STV )
- the STV election type supports a tally modification - eliminated candidates
- parameter should allow 1+ candidates to be considered eliminated
- on tally calculation, candidates set in parameter should immediately be eliminated and the calculation should proceed according to the STV algorithm
- the tally summary (assuming /tally/{electionId}) should denote that a tally's calculation will be modified by the specified parameter
- the tally results (assuming /tallyResults/{tallyId}) should also denote that a modifier is being applied

