Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ballot-polling workarounds #913

Open
wants to merge 22 commits into
base: ballot-polling
Choose a base branch
from

Conversation

nealmcb
Copy link
Contributor

@nealmcb nealmcb commented Jun 10, 2018

Add some python scripts (parse_hart.py and analyze_rounds.py) to allow ColoradoRLA to be used to record audit board ballot interpretations in a ballot-polling audit.
See tools/rla_utils/README.md for more information.

nealmcb added 13 commits May 27, 2018 15:54
Parse contest_table.csv and print contest, choice, precinct
Parse and print contest, choice, precinct
As run on Orange County 2018 primary LAT file.
Fix contest counts
add --minprecinctcount
Sort contests by sequence they are noticed in
Does need (Vote for=1)
Add BallotType column
fix number of columns in line 4
also default minprecinctcount to "max number of precincts"
parse_hart.py: calculate, export outcomes, assuming all are 2-winner contests
analyze_rounds.py: parse all_contest_audit_details_by_cvr.json
  import outcomes
  calculate risk levels for all winner-loser pairs

doesn't audit risk of single-winner via majority yet
Fix call to sampler.generate_outputs() in publish_ballots_to_audit
Finish get_county_cvrs()

Also:
For each audited cvr, show imprinted_id, not db_id

Exit on upload failure reasons, explain why
Fix bug in get_county_dashboard() acvr default

Streamline logging of upload progress
Switch from 30 second interval for progress uploads to 3
New arg: '--progress-delay', Time to pause between upload progress queries. Default 3.0.
Fix some broken cvr and acvr download examples
Incorporate changes from crtest in November
main.py --ballot-polling-tally: temporary hard-coded random distribution of ACVR choices
from 2016 presidential election.

--num_samples: limit number of ACVRs entered

analyze_rounds.py: handle divide-by-zero, improve comments,

test data in contest_table_test.csv

simple test script in bptest.bash
parse_hart.py --cvr_contests option to filter out a subset of contests for CVR.
Deal with overflow in ballot_polling_risk_level
More documentation and transparency for bpatest.bash
nealmcb added 9 commits June 11, 2018 02:57
parse_hart:
Default to 2000-ballot CVRs, with margin of 7 to get about
1092 ballots audited to start, more possible.
skip non-selected contests

Use tsv output format in analyze_rounds, and limit to just selected contests
Allow analyze_rounds without exports argument
fix audit_cvrs branch name
shorter lines in README.md
fix some TODO comments
show outright majority sample sizes and risks
use ballot_polling_risk_level from rlacalc, delete the one in analyze_rounds.
And provide number of ACVRs entered.
Porting was just a one-line change :)
refactor out outright_risk() and loop fore each candidate
Need to compute risk of reporting incorrect outright win for each candidate
Fix indentation bug, looking at wrong winner
The sample size calculation needs the margin specific to the given risk calculation

New Risk_record class to collect necessary info, format in consistent way

Output for a given contest is now all collected together with more details

Switch to python3 for types.SimpleNamespace
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant