Skip to content

docs: let a losing candidate verify a tie-break themselves - #1555

Open
masiarek wants to merge 1 commit into
Equal-Vote:mainfrom
masiarek:docs/tie-verification
Open

masiarek wants to merge 1 commit into
Equal-Vote:mainfrom
masiarek:docs/tie-verification

Conversation

@masiarek

Copy link
Copy Markdown
Collaborator

Description

Adds docs/help/verifying_a_tie_break.md — the deep companion to the ties page.

A tie-break is the most contestable moment in an election, and "the computer shuffled them" is not an answer that survives a challenge. This page is for the person who lost the tie, and for anyone who has to certify a result to people who weren't in the room.

What it documents:

  • The full tie-breaking order is published, not just the winner — on the results page and in the download, with each candidate's position, the tied set, and the kind of tie-break applied. There's nothing to request; it's already there.
  • The shuffle is deterministic, so re-running the count cannot produce a different answer. An administrator cannot re-roll it.
  • The ordering couldn't have been known in advance, because the ballot count feeds it and only settles when voting ends.
  • It's reproducible by an outsider — the algorithm was chosen to be language-agnostic for exactly that reason.

A warning callout for the trap that will otherwise sink a hand-check: the shuffle uses the raw ballot count from the download, while the results page shows a tally count excluding uncountable ballots. Checking with the wrong number yields the wrong order and looks like evidence of fraud. This is the single most likely cause of a false alarm.

The limits section is why the page is worth publishing. It states plainly that verification proves the published order follows from the published inputs — and does not establish that the ballot set is complete or correct (a separate question), and does not make the outcome fair in any wider sense. A verification page that overclaims is worse than none, because it invites a reader to believe they've checked more than they have.

It also includes the step people skip: confirm the tie-break was needed at all. A correct shuffle applied to a tie that shouldn't have existed is still a wrong result.

Verification. Local build (github-pages, Jekyll 3.9): renders, sits under the BetterVoting Documentation parent, no unrewritten .md hrefs. Links only to pages on main.

Screenshots / Videos (frontend only)

n/a — documentation.

Related Issues

Completes the ties cluster with #1553 (ties rewrite) and #1554 (choosing a rule). All three independent; any merge order works.

A tie-break is the most contestable moment in an election, and 'the computer
shuffled them' is not an answer that survives a challenge. This is the deep
companion to the ties page: what BetterVoting publishes about a tie-break, how
to check it independently, and -- as importantly -- what checking it does not
prove.

Written for the person who LOST the tie, and for anyone who has to certify a
result to people who were not in the room. Calm and precise rather than
reassuring; this reader may be upset and will not be helped by breeziness.

What it documents:

- The full tie-breaking ORDER is published, not just the winner -- on the
  results page and in the download, with each candidate's position, the tied
  set, and the kind of tie-break applied. There is nothing to request; it is
  already there.
- The shuffle is deterministic, so re-running the count cannot produce a
  different answer. An administrator cannot re-roll it.
- The ordering could not have been known in advance, because the ballot count
  feeds it and only settles when voting ends.
- The algorithm was chosen to be language-agnostic precisely so an outsider can
  reimplement it and compare.
- A warning callout for the trap that will otherwise sink a hand-check: the
  shuffle uses the RAW ballot count from the download, while the results page
  shows a TALLY count that excludes uncountable ballots. Checking with the wrong
  number produces the wrong order and looks like evidence of fraud.

The limits section is the reason the page is worth publishing. It states that
verification proves the published order follows from the published inputs, and
does NOT establish that the ballot set is complete or correct -- that is a
separate question -- and does not make the outcome fair in any wider sense. A
verification page that overclaims is worse than no page, because it invites
someone to believe they have checked more than they have.

Also includes step 5, the step people skip: confirm the tie-break was needed at
all. A correct shuffle applied to a tie that should not have existed is still a
wrong result.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@netlify

netlify Bot commented Aug 17, 2026

Copy link
Copy Markdown

Deploy Preview for bettervoting ready!

Name Link
🔨 Latest commit 86e5308
🔍 Latest deploy log https://app.netlify.com/projects/bettervoting/deploys/6a8275c80e73180008ff9fa3
😎 Deploy Preview https://deploy-preview-1555--bettervoting.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@masiarek, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 3 minutes

Limit details: You’ve used all 1 included review currently available under your plan.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 43ff9c69-db1c-48f4-a8b2-dad678013684

📥 Commits

Reviewing files that changed from the base of the PR and between 7bc75a8 and 86e5308.

📒 Files selected for processing (1)
  • docs/help/verifying_a_tie_break.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant