You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If you configure Number of Winners > the number of candidates you have configured in the Candidates tab you get the following error
2024-02-15 08:55:30 EST SEVERE: numberOfWinners must be an integer from 0 to [numberOfConfiguredCandidates]!
from line 700 in ContestConfig.java in 1.4.0
So for example I configured one candidate and set the Number of Winners to 3 and got
I imagine this check failed validation because when you have less configured candidates than the configured number of winners you don't need to run any tabulation rounds: each configured candidate is automatically elected. If I only have two candidates running for 3 City Council seats then I don't need to count any votes to know that those two will be elected.
What I Expect To Happen
A more detailed message like
"The number of declared Candidates (numDeclaredCandidates) must be greater than or equal to the Number Of Winners (numberOfWinners) for Multi-Winner contests.
OR
Another option we are discussing is to let this pass config validation. When it gets to the tabulation I expect it will get to the logic that says "Do we have less continuing candidates than the configured number of winners? If so, elect them"
I lean towards RCTab producing output with winners in this example, because that can be certified as an election result whereas this halting exception cannot.
The text was updated successfully, but these errors were encountered:
yezr
changed the title
Configuring Number of Winners > Number of Declared Candidates results in confusing error message
WIP Configuring Number of Winners > Number of Declared Candidates results in confusing error message
Feb 15, 2024
I'm implementing allowing this to proceed, but I realize that we may need some customized behavior here depending on statute.
I can see two types of statutes being out there:
while (number of remaining candidates > number of candidates to be elected):
If anybody is over the threshold, elect and surplus transfer
else, if nobody is over threshold, eliminate until somebody is over the threshold or until you need to elect all remaining candidates
Versus:
if any candidate is over the threshold, elect the one with the highest # of votes and then do a surplus transfer
if no candidate is over the threshold, eliminate until somebody is, or until everybody needs to be elected
The difference is this:
The former has a single round and everybody is elected
The latter will have a few rounds of surplus transfers, only electing people as they meet the threshold
I have assumed that we only care about the former, since that's what all statutes I've read do, but I do want to flag this assumption
RCTab Version: 1.4.0 and 1.3.1
What Happened
If you configure Number of Winners > the number of candidates you have configured in the Candidates tab you get the following error
2024-02-15 08:55:30 EST SEVERE: numberOfWinners must be an integer from 0 to [numberOfConfiguredCandidates]!
from line 700 in ContestConfig.java in 1.4.0
So for example I configured one candidate and set the Number of Winners to 3 and got
![image](https://private-user-images.githubusercontent.com/8996546/305097687-b6c42633-5cd2-4e9d-a2e4-ca7f89a060a8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIyODU5MDYsIm5iZiI6MTcyMjI4NTYwNiwicGF0aCI6Ii84OTk2NTQ2LzMwNTA5NzY4Ny1iNmM0MjYzMy01Y2QyLTRlOWQtYTJlNC1jYTdmODlhMDYwYTgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcyOSUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MjlUMjA0MDA2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YzVkNzE4ZWJiOTlkYTk3MWFkN2MxYTEwMzE2MTc4Y2RlNWFjODdlZmZmNTU0NTA2OWRlN2Y1YWJlMzg1NmQ2MiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.rUwaAduPZQvAFZyl1oAIq_F6Yil3d7a11AaZO-oPV_4)
I imagine this check failed validation because when you have less configured candidates than the configured number of winners you don't need to run any tabulation rounds: each configured candidate is automatically elected. If I only have two candidates running for 3 City Council seats then I don't need to count any votes to know that those two will be elected.
What I Expect To Happen
A more detailed message like
OR
Another option we are discussing is to let this pass config validation. When it gets to the tabulation I expect it will get to the logic that says "Do we have less continuing candidates than the configured number of winners? If so, elect them"
I lean towards RCTab producing output with winners in this example, because that can be certified as an election result whereas this halting exception cannot.
The text was updated successfully, but these errors were encountered: