Twice the feedback was the bug: the success banner lives at the top of the page and the user acts at the bottom of a 136-row list — so a working "pick edition" read as broken (it worked both times; the data proves it). showToast() pins transient confirmations to the viewport bottom (role=status, carries buttons, auto-dismisses), and pick- edition/edit-saved use it. Better: state stops being transient at all — any row whose edition ballot is open shows a persistent "ballot in Review" link where its button was, so the answer to "where did it go?" lives on the row forever. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016jXZFSTZQKzAC8fqpWSz9g