5fbe514db6
The reminder query joined customer_accounts on events.customer_account_id — a column the events table doesn't have (events store the recipient inline as customer_email/host_email, like the gallery emails). So the query threw, the run failed, and no pre-event email went out for an event that has an email but no CRM customer account. Latent in the legacy pass (gated off by default); surfaced the moment the pre_event_email flow ran notify_pre_event. Both runEventReminderPass and sendReminderForEvent now read the recipient from the event's own columns (customer_email || host_email, name from customer_name || host_name) via SELECT events.* — no join, safe on installs predating the customer_email column. Regression test covers an event with a direct email and no customer account.