Address CI test failures after Rust voting cutover
Triage and resolve failures from Gitea Actions run 3636, job 4801 on the Rust voting cutover branch. Classify each failing test by ownership: retain Rails coverage for authorization, rendering and integration boundaries; remove or consolidate Rails examples that only duplicate sufficiently covered canonical Rust behavior; when a legacy expectation conflicts with Rust semantics, treat the Rust behavior as suspect and verify/fix the domain behavior rather than updating the test mechanically. Preserve Rust as the sole voting runtime with no Rails fallback or dual writes.\n\nAcceptance criteria\n- The selected CI failures are classified with evidence from the relevant Rails and Rust coverage.\n- Retained behavior is fixed at the correct boundary, including Rust where its semantics are wrong.\n- Redundant obsolete Rails tests are removed or rewritten without losing meaningful boundary coverage.\n- Focused tests and project-appropriate Rust/Rails validation pass. Verified outcome - Classified all 39 failures from run 3636 into five causes. - Preserved Rails boundary coverage for case lifecycle, casting-vote rendering and public display; removed the obsolete ended-points-preview assertion. - Made Rust poll state authoritative for public voting display and kept speaker broadcasts best effort. - Stabilized point-selection browser coverage by waiting for typed Stimulus payloads and committed Turbo state. - Focused affected suite passed with 455 examples and no failures; changed-code RuboCop passed. - Gitea Actions run 3637, job 4802 passed on commit 1d7191dfc.
Checklist
3 of 3 complete- Classify CI run 3636 failures by Rust ownership and retained Rails boundary coverage
- Fix retained case lifecycle, casting-vote, and public display behavior without Rails voting fallback
- Remove obsolete duplicate coverage and pass focused validation plus changed-Ruby RuboCop
- Area
- Kaukus
- Kind
- Bug
- Priority
- High
- Task ID
tsk_8ce98uanrx- Updated