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

Add guardrails for duplicate/excess answers in no-guess-queue mode. #2395

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jpd236
Copy link
Contributor

@jpd236 jpd236 commented Jan 5, 2025

These guardrails exist for guess-queue mode but were missing from no-guess-queue mode. This change brings parity between the two modes.

Note that:

  1. This is not a firm guarantee against (unintended) duplicate answers, since two submissions made at ~the same time won't detect the presence of the other submission in time. Only a read-modify-write transaction would prevent this.

  2. If duplicate answers are submitted, clearing one answer in no-guess-queue mode will mark the puzzle as incorrect and clear the answer, while leaving a correct guess in place. This is an inconsistent state. The workaround is to clear all copies of the answer and resubmit it.

See #2276

These guardrails exist for guess-queue mode but were missing from
no-guess-queue mode. This change brings parity between the two modes.

Note that:

1. This is not a firm guarantee against (unintended) duplicate answers,
since two submissions made at ~the same time won't detect the presence
of the other submission in time. Only a read-modify-write transaction
would prevent this.

2. If duplicate answers _are_ submitted, clearing one answer in
no-guess-queue mode will mark the puzzle as incorrect and clear the
answer, while leaving a correct guess in place. This is an inconsistent
state. The workaround is to clear all copies of the answer and resubmit
it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant