Skip to content
This repository has been archived by the owner on Nov 11, 2019. It is now read-only.

Random Number flow

Chris Thompson edited this page Aug 1, 2018 · 2 revisions

Starting from the manifest file, the "NumBallots" column is accumulated and stored as "ballot_manifest_info.sequence_end".

The maximum "sequence_end" is used as the upper bound for random numbers. The random numbers are generated when starting a round and are stored in the database as "round.audit_subsequence". These random numbers are then used to find which "ballot_manifest_info" would hold it.

That ballot_manifest_info is then used to find which cast_vote_record we are going to audit by joining on county_id, scanner_id, batch_id, record_id(aka cvrNumber). If a cast_vote_record is not found with these attributes a Discrepency (will need to) be created.

When requesting ballot information for each round these are the columns and attributes that are rendered in the response:

  cast_vote_record: cvr_number, ballot_type, id, audit_flag

  ballot_manifest_info:  scanner_id, batch_id, storage_location, position(computed), imprintedId(computed)

As the audit takes place AuditedCVRs are created that are linked to a CVR. They are in the "cast_vote_record" table with "record_type = 'AUDITOR_ENTERED'"

Clone this wiki locally