Pipeline. The localedit-api Worker pulls candidate events (Ticketmaster + Google/SerpApi), a Sonnet curator (web_search) writes each edition's bundle to KV, and the editions (static Pages) fetch /api/<edition>/events and render cards.
Editions. On Midtown (/midtown), ATL Out (/out), On Peachtree City (/ptc), ATL Afterdark (/afterdark). Each is its own Pages project; the Worker is shared.
Cadence. Cron runs Mon + Thu (Weekly Dispatch / Weekend Edition). The Run buttons above trigger a manual run (~2–3 min).
Submissions. Email → events-pending (free, no AI). Triage here: "Process" runs Claude to extract the event; "Approve" writes <edition>-events-manual, which merges live into that edition's bundle.
Afterdark. Curated picks plus a raw "see everything" firehose (/api/afterdark/all, Ticketmaster Dance/Electronic).
Deploy. Push to main → Workers Builds (Worker) + Pages (editions) auto-deploy. Curated data only refreshes on a curator run, not on deploy.