- drop endgameArchive table, remove archive() function - replace archived boolean with deleted on endgameSubmissions - add submit_day timestamp column - replace round-based slip manager with /rubgram/admin/calendar route - add monthly jsonb column to endgameSettings for month checkmark toggle - add toggleMonth server action with SimpleTooltip UI - fix publicQueue SQL bug (ambiguous column reference + precedence) - wipe() now sets deleted=true instead of round-based archive - cancel() uses soft-delete (deleted=true) instead of hard-delete - guard calendar page with adminCheck - update count route to exclude deleted submissions
Track donation lifecycle across form, widget, admin, and backend: - Form: donation_completed, donation_*_failed, donation_slip_conflict, donation_artifact_conflict - Widget: donation_widget_displayed, donation_widget_tts_failed, donation_widget_animation_end, donation_widget_connected, donation_widget_heartbeat_failure - Admin: donation_admin_test_popup, donation_admin_widget_reload, donation_admin_resend - Backend: donation_widget_state_playing, donation_widget_state_shown, donation_resent