Handle early negative source votes#291
Conversation
|
STAFF ENGINEER REVIEW: CHANGES REQUESTED — two blockers before this can land.
Security/structural scan notes: no new secrets, dependency/workflow changes, or new SQL string interpolation found in the changed files. GitHub |
|
STAFF ENGINEER REVIEW: CHANGES REQUESTED — The early-reject callback is not idempotent under concurrent moderator votes. Two threshold-crossing callbacks can both close/post and the second replacement poll can hit uq_meme_source_candidate_poll_active_global, turning a normal vote into a webhook error. Please make close/post idempotent, for example with a status-guarded close or replacement-poll reuse, then re-request review. |
Summary
Verification
Operational note
Prod currently has poll #4 for https://t.me/ravememe open with 0 likes / 8 dislikes. The available DB credential here is analyst_readonly, so I did not mutate prod DB directly. After merge/deploy, the source voting cycle should close it through the write-enabled app environment and post the next poll.