Goal
Add a current-cycle-only Missouri election scraper and API reader using official Missouri Secretary of State sources.
Official sources
Scope
Discover the active primary/general election rather than hard-coding archival URLs.
Parse certified candidates in ballot order: office, district, party, name, and withdrawal status.
Parse only certified 2026 measures: official title, fair ballot language, fiscal statement, election date, full-text/certificate URLs, and provenance.
Ingest official results when published; before election night, fail soft with a clear unavailable diagnostic.
Persist through the provider-neutral election model from Add North Carolina and Texas civic data scrapers #181 with checksums, source versions, certification status, and citations.
Exclude candidate addresses/contact information and all voter-level data. Do not expose historical-cycle browsing.
Acceptance criteria
Deterministic fixtures/tests cover ballot order, withdrawals, parties/districts, certified measures, and unavailable/updated results.
Shared retry/backoff, respectful concurrency, idempotent upserts, max-items env contract, API reader, and documentation.
Scraper/API/DB tests and typechecks pass.
No API key is required.
Goal
Add a current-cycle-only Missouri election scraper and API reader using official Missouri Secretary of State sources.
Official sources
Scope
Acceptance criteria
No API key is required.