# Maine election results database — README / data dictionary (v3.18)

**What this is.** Town-level results for every contest we could obtain, **1820–2026** (Governor at county level from 1820; towns from 1868), in one table tied to the same place IDs (`unit_id`) as the registration database: the Maine Secretary of State's files for 1990–2026, the Governor & Council canvasses for 1940–1989, and (new in v3.1) the town returns printed in the *Maine Register* / *Maine State Year-Book* for 1868–1928. 1,218,732 town rows plus 26,952 county / district / statewide rows, 19,577 contests (counts as of v3.12).

**What changed in v3.18 (2026-10-22, PENDING-WORK P-178, Matt approved via Workflow Tasks).** Script `election-results/fix_v3.18.py`, re-runnable on a v3.17 unzip with the transcription files in `election-results/p178-transcription/`. Details in FLAGS §26. No existing vote figure changes.

* **Three more years of statewide ballot questions, town by town**, transcribed from the Law & Legislative Reference Library's scans of the Governor & Council canvass (the archived SOS files have no 1990–1994 referendum returns): **November 6, 1990** (Questions 1–9: the Sunday-sales initiative and eight bond issues / amendments; 507 places), **November 5, 1991** (Questions 1–9: the Maine Turnpike widening initiative and eight bonds / amendments; 507 places) and **November 8, 1994** (Questions 1–9: congressional term limits and eight bonds; 514 places), plus the **1991 Androscoggin County charter question** (14 towns; defeated 11,584–15,379). Every town column sums to the printed county total and the county totals to the statewide figures — no differences. `referendum_questions.csv` has the 28 questions with plain-language descriptions and outcomes.
* **The June 12, 1990 U.S. House District 1 Democratic primary**, town by town (143 places; Thomas Andrews 16,158, James Tierney 14,995, Elizabeth Mitchell 7,634, Linda Abromson 4,957, Ralph Conant 762), from the same library's scan; every column reconciles to the printed county and state totals. New person_id `abromson-linda`; the other four join their existing ids. The other June 1990 primaries are not loaded yet (PENDING-WORK).
* **Fix: stale winner names.** v3.15–v3.17 changed the display name of 100 winners (initials or short forms → the full name: "Chas. Jamieson" → "Charles Jamieson", "Rachel Ross" → "Rachel Talbot Ross", "Billy Faulkingham" → "Billy Bob Faulkingham", "H Seavey" → "Stedman Seavey" …) without changing `contests.csv` `winners`, so a rebuild of the site from v3.17 would have dropped those winners' marks wherever a builder takes the winner from `winners` (multi-seat races and races whose winner the canvass marks): a test build of the Election Results hub showed 3 of 4 Cumberland Senators in 1946 and the State Senate seat chart one short in 1946, 1952 and 1954. The people pages built from v3.17 were affected: their office lists left out those wins (Billy Bob Faulkingham's 2022 and 2024 House elections, Rachel Talbot Ross's, the 1946 Cumberland Senators …); the live hub had been built before the renames, and the place pages take winners from the votes, so neither showed the error. Each stale name is now the one candidate in that contest with the same surname; `winners_v3.18_renamed.csv` lists all 100.
* New era label `1990-1994 scanned canvass (Law Library)` on the new rows; `source_files.csv` +4 (P19900612, P19901106, P19911105, P19941108); `reconciliation.csv` +901 county checks (all diff 0); `v318_changes.csv`.

**What changed in v3.17 (2026-10-21, Matt: "Screen the write in candidates").** Script `election-results/fix_v3.17.py`, re-runnable on a v3.16 unzip with `decisions_v3.17.csv` and `assign_v3.17.csv`. Details in FLAGS §25. No vote figure changes; `candidate_as_printed` is never changed.

* **The v3.16 duplicate-person screen run again with the write-in rows included** (v3.16 left them out): 91 pairs where at least one side is a write-in. **32 more people who were split are now one** (1 certain, 31 likely) — almost all 1972–1976 county and legislative write-ins printed in another style or misspelt by the county clerk: "Ken Morse" / Kenneth Morse (Oxford Sheriff), "Tom Pooler" / Thomas C. Pooler, "Leatrice Morim" / Leatrice Morin, "L. C. Good" / Lee C. Good, "R.W. Logan" / Richard W. Logan, "Kenneth Alien" / Kenneth P. Allen. 10 pairs are left separate with the reason (possible but not proven, e.g. Harland Goodwin House 108 write-ins vs Harland C. Goodwin Jr., House 109).
* **30 named write-in candidate rows that had no person_id now have one** (a person_id is blank only on non-candidate rows): Lewis O. Barrows (1932 Governor write-in) joins his 1936/1938 record, "Gardiner" (1932) joins Governor William Tudor Gardiner, William P. Thompson (1892) joins his 1890 record; the rest get new ids, one per person (Jonathan Cilley 1835/1836, F. O. J. Smith 1838/1839, James L. Howe 1932/1934 = `howe-james-1932`, Rufus McIntire, Gorham Parsons, John Ruggles …). The surname-only 1932 write-in "Ames" stays without an id.
* New tables: `person_identity_rulings_v3.17.csv` (+32 lines, basis "Claude write-in audit 2026-10-21: same (Certain|Likely)"), `person_id_changes_v3.17.csv` (+32 merges, +30 assignments), `person_id_writein_audit_v3.17.csv` (every screened pair with its decision), `v317_changes.csv`. `person_id_review_v3.16.csv` and `person_id_duplicate_audit_v3.16.csv` are kept.

**What changed in v3.16 (2026-10-21, Matt: one person, one person_id).** Script `election-results/fix_v3.16.py`, re-runnable on a v3.15 unzip with `decisions_v3.16.csv`. Details in FLAGS §24. No vote figure changes; `candidate_as_printed` is never changed.

* **125 people who were split into two person_ids are now one** — the same mistake as Billy Bob Faulkingham: one person printed in two styles (nickname vs. given name, initials only, "Jr."/"Sr." on some ballots only, a hyphenated or married surname, an apostrophe or a misprint). Found by screening every pair of person_ids with the same or a near-same surname and compatible first names for the same town, the same office and district, consecutive years and the Legislature's member records; 66 are certain (same Legislature record, or the same seat and town with the same name in another style), 59 likely. Examples: Chellie / Rochelle Pingree, Stanley "Tuffy" Laffin, Rachel Talbot Ross / Rachel Ross, Paul T. Davis Sr., G. William Diamond, Nelson Dingley Jr., Henry Beck / Murphy Beck. The kept id is the one with more rows (or the name the person goes by); `person_id_changes_v3.16.csv` lists every dropped id, `person_identity_rulings_v3.16.csv` adds one line per merge (basis "Claude audit 2026-10-21: same (Certain|Likely)").
* Rows of a merged person printed with initials only ("Nadeau, G.", "Geo. A. Cowan") take the person's name ("Gregory Nadeau", "George Cowan"); other rows keep the name as the person ran.
* Two ids that held the wrong rows are corrected: the 1986 "Brannigan, J." id was two men (HD 73 Jerome P. Brannigan, SD 29 Joseph C. Brannigan); the 1986 State Senate 12 rows of Carroll T. Brown move from Carroll C. Brown of Bar Harbor to Carroll T. Brown Jr. of Brooklin.
* **Two-word first names** (Matt): Betty Lou Mitchell, Mary Lou St. John, Mary Ann Lynch / Prue / Radford, Billy Bob Faulkingham and 18 others printed the same way — `name_first` holds both words and `candidate_display` shows them. **Rachel Talbot Ross** is shown with her full name (surname "Talbot Ross", as the 2026 ballot prints it).
* `person_id_review_v3.16.csv`: 23 pairs the screen found but left separate — father and son, or not enough on file — each with the reason; `person_id_duplicate_audit_v3.16.csv`: every screened pair with its decision.

**What changed in v3.15 (2026-10-20, Matt: one person, the name he goes by).** Script `election-results/fix_v3.15.py`, re-runnable on a v3.14 unzip. Details in FLAGS §23. No vote figure changes.

* **Billy Bob Faulkingham is one person.** person_id `faulkingham-william` (2018–2020, State House 136, printed "Faulkingham, William R." / "William Robert") is merged into `faulkingham-billy` (2022–2026, State House 12 and the 2026 State Senate 6 primary, printed "Faulkingham, Billy Bob"); `candidate_display` is "Billy Bob Faulkingham" on all nine rows (Matt: legal name William Robert Faulkingham, goes by Billy Bob). `candidate_as_printed` and the name parts stay as printed. 9 `candidate_names.csv` rows and 146 `results_town_long.csv` rows changed.
* `person_identity_rulings_v3.15.csv` (replaces v3.14's) adds the line "Matt ruling 2026-10-20: same", research_status "confirmed (Matt)"; `person_id_changes_v3.15.csv` (replaces v3.14's) adds the merge.

**What changed in v3.14 (2026-10-15 afternoon, Matt's person-id rulings).** Script `election-results/fix_v3.14.py`, re-runnable on a v3.13 unzip; `verify_v3.14.py` compares the two versions. Details in FLAGS §22. No vote figure changes.

* **The last 16 borderline person ids are split** (Matt: different people), the same way as the 15 in v3.13: the side with the higher office or more contests keeps the id, the other side gets `<id>-<first year>`. New ids: ouellette-ernest-1944, cousins-edgar-1944, lane-fred-1946, hamilton-george-1952, brown-willard-1952, barnett-ralph-1958, vincent-george-jr-2010, morse-kenneth-1972, merrill-barbara-1974, kruger-charles-1974, clark-john-1976, thompson-timothy-1976, faunce-irving-1978, david-edward-1982, baldwin-john-1982, neal-robert-jr-1992. All 53 borderline cases are now decided: 31 different people, 22 the same person (`person_id_borderline_v3.14.csv`, `person_id_changes_v3.14.csv`).
* **Every person-id decision made by a rule or a ruling now carries a certainty flag**, because none has yet been confirmed from an outside source:
  * new column **`identity_note`** in `candidate_names.csv` on every row of an affected person id, e.g. "Ruled the same person (Matt, 2026-10-15) — not yet confirmed from an outside source; could be wrong";
  * new table **`person_identity_rulings_v3.14.csv`**: one line per decision (200: 31 "Matt ruling 2026-10-15: different", 22 "Matt ruling 2026-10-15: same", 147 "automatic rule v3.12" — the v3.12 middle-initial and career-gap splits of 138 ids), with the ids, the plain-language note, years, offices, hometowns and names as printed on each side, and `research_status` = "to research".
* **Matt wants these confirmed later from outside sources** (obituaries, the Legislative Registers, newspapers). When one is confirmed or overturned, change `research_status` and the note (and split or merge the id).

**What changed in v3.13 (2026-10-15, Matt's decisions of October 15).** Script `election-results/fix_v3.13.py`, re-runnable on a v3.12 unzip; `verify_v3.13.py` compares the two versions. Details are in FLAGS §21.

* **New rule.** Rule 19 exception (Matt, 2026-10-15): a single town figure proved wrong by an official or printed total plus the town's own same-day figures is corrected; the printed figure is kept in reconciliation.csv.
* **34 town figures corrected under that rule** (list with evidence: `rule19_cell_corrections_v3.13.csv`). The biggest: Westbrook 1924 U.S. Senate Fernald 965 → 1,965; Harrison 1916 President Wilson 1,111 → 111 (statewide Wilson now 64,133); Bangor 1916 U.S. Senate Fernald 1,296 → 1,926; Searsport 1924 U.S. House Tebbetts 666 → 69; Jonesport 1920 President Cox 562 → 362; 1974 Governor Longley, Boothbay Harbor 362 → 382 (Longley now equals the official 142,464). 30 other candidate cells were examined and not changed (reasons in the same file), for example Sebago 1956 and Brewer 1916. The county, district and state rows that are town sums, `reconciliation.csv` sums and differences, and `contests.csv` totals are recomputed. No winner changes.
* **New rule.** Recounts (Matt, 2026-10-15): the recount (official, certified) count is the count used, and the winner is the member seated.
* **14 legislative races follow the recount or the House's decision** (`recounts_v3.13.csv`, sources from the Legislative Record and the Opinions of the Justices). Twelve change the winner to the member seated: 2006 HD 102 (Gary Moore, recount 1,641–1,635), 1976 HD 29 (Gordon Cunningham), 1966 Auburn (Peter Snowe), 1966 Cornish–Limerick (George Carroll), 1964 Avon–Phillips–Strong (George Palmer), 1960 Auburn (Charles Waterman), 1960 Durham–Lisbon (Andrew Karkos Sr.), 1960 Portland (Ronald Kellam), 1958 Bangor (Samuel Philbrick), 1956 Harrison–Naples–Otisfield (Gardner Morrill), 1950 Old Town (Alexander Latno) and 1950 Frenchville–Madawaska–Saint Agatha (Hector Martin); two keep their winner with the recount figures (1964 Waldo towns Burwell, 1960 Woolwich Schulten). `winner_basis` says how each was decided.
* **Party codes:** the nine 1980 legislative candidates printed "N" are now UNE, and 33 of the 35 county candidate entries the SOS printed "Non-Partisan" (Somerset offices 2012–2024, Aroostook and Knox finance/budget committees) now carry the party of their Ethics Commission filing for that race (mostly UNE; REP for Rasmussen 2018, Fortier 2022 and Sparrow 2022); Dean Cray (2018) and Gayle Gallant (2018) stay NP (FLAGS §21.6).
* **Ranked-choice totals are the official totals.** For ranked-choice contests the district/state totals are the SOS's official round-one tabulation; town figures are first-choice marks as the SOS reports them by town and add up to slightly less (skipped/overvoted first rankings credited in the official count; post-election corrections). 11 contests carry the official round-one rows and `contests.csv` `headline_total = official_rcv_round1` (FLAGS §21.7).
* **person ids:** 15 borderline cases split at the gap, 22 confirmed as one person, 16 still awaiting Matt (`person_id_borderline_v3.13.csv`, `person_id_changes_v3.13.csv`).

**What changed in v3.12 (2026-10-14, fixes from the October 14 data audit).** Script `election-results/fix_v3.12.py` (with `fix_v312_people.py`), re-runnable on a v3.11 unzip; `verify_v3.12.py` compares the two versions. Details are in FLAGS §20, and every rule with the number of rows it touched is in `v312_changes.csv`. The zip is `maine_election_results_v3.12_data.zip`. No figure was typed in by hand: rows were moved, duplicate copies removed, or two lines swapped where the source sheet proves it.

* **Wrong winners fixed.**
  * 1844 Governor: the names of Hugh Anderson and Edward Robinson sat on each other's figures. Anderson (D) won with 48,942.
  * 1852 Governor: the Legislature chose William Crosby, not John Hubbard.
* **Votes moved to the right place.**
  * 2018 Penobscot Treasurer: the Old Town and Argyle Twp lines were swapped in the SOS sheet.
  * 2018 Milford Democratic primary: the rows were in HD 137 / SD 8 and are now in HD 121 / SD 5.
  * 2018 Portland: the separate "Portland W1 P2" line (639 ballots) is now added into Portland.
  * Washington Twp (Franklin County), 2004 and 2018: had been filed under the town of Washington (Knox).
  * 2012 "COOPER TWP": now the townships voting in Cooper, not the town of Cooper.
  * 1872 and 1874 U.S. House: five look-alike town names are now the right places (Webster/Sabattus, Dayton, Franklin Plt, Washington Plt, Unity Plt), and their county rows are recomputed.
  * 1984: the Waldo County town lines of the June U.S. House primaries are now town rows.
  * 2024 referendum: 24 SOS lines that add townships to a small host town are now combined units (MPD-1101 to MPD-1124), so the host's turnout is no longer inflated.
  * 13 duplicate ids of one place are merged (Orneville, T3 ND, T11 R4, TD R2, T1 R8, T17 R3, and the 1830s spelling variants such as Haskell's Plantation).
  * 12 election-only townships now have a county.
* **Contests corrected.**
  * The June 14, 2022 "Senate District 7 primary" was the special election and is now `2022-06-14_Special-Election_State-Senate_D7`.
  * Removed: a duplicate copy of the 2011 Somerset commissioner specials (stored as a county question), and the two June 2014 "Total Ballots Cast" pseudo-contests, which were copies of the Governor primaries.
  * Aroostook and Oxford Register of Deeds: eight county contests that mixed two registries are now one contest per registry (1998, 2010, 2014, 2018 and 2022). Oxford's single-registry races from 2018 are left county-wide.
* **People.**
  * 138 person ids that merged different people are split (`person_id_changes_v3.12.csv`). For example: Ronald B. Russell (D, Verona Island) and Ronald C. Russell (R, Kennebunkport); Governor John Hubbard and a 1956 legislator.
  * Borderline cases are listed for Matt in `person_id_borderline_v3.12.csv`.
  * Six winners' name misspellings are corrected (Rollins, Carroll, Brenerman, Hutchings, McCollister, Foster).
  * The precinct table's old "R. Christopher Almy" id is replaced.
* **Parties.**
  * Leland Currier 1950: SRD, not Fusion.
  * McCarthy 1976, Anderson 1980, Kaye 1976, the Stoddards 1984 and the 1978/1982 "Non-party" candidates: UNE.
  * 74 rows with party "WRITE-IN" → DEM.
  * 2010 Governor `cd` column cleared.
* **Totals.**
  * 2014 U.S. Senate: no longer counts the write-in detail twice.
  * 2024 HD 8: now includes blanks.
  * 1892 and 1896 Governor and 1910 Auditor: defective ballots are now outside the total.
  * Two 1988 `n_units` counts corrected.
  * 2024 CD 2 `winner_basis` = "ranked-choice final count" (the figures are still first choices; Matt's decision on round-1 figures is pending).
* **Ballot questions.** Five descriptions corrected from the Law Library's lists (2010 June Q3 is $47.8 million; 2012 Q2 $11.3 million; 2012 Q4 $51.5 million; subjects for the 2010 casino and 2011 racino questions). The Library's differing vote totals are recorded in FLAGS §20.7, not applied: our figures are the SOS town rows.
* **Added from the SOS website (holes check):**
  * The February 24, 2026 special election for House District 94 (Lewiston): Harriman 572, Beaudoin 503.
  * `rcv_official_rounds_reference.csv`: the official ranked-choice rounds for 2022 and 2024 CD 2 and the June 2026 Governor primaries. This is a reference only; the displayed figures stay first choices.
* **Not changed (need scans or Matt's decision):**
  * the rule-19 single-cell corrections (H-04);
  * the column-swap suspects inside single towns (FLAGS §20.8);
  * 1868 District 3 "South Thomaston";
  * the borderline person ids.

**What changed in v3.11 (2026-10-09, the rest of the Maine State Archives' tabulation books: Governor 1831–1839, 1870, 1875, 1892, 1896, 1902, 1904, 1952, 1970 and 1974; President 1972 and 1984; U.S. Senate 1972, 1976 and 1984; U.S. House 1956 (Districts 2 and 3), 1972, 1974, 1976, 1980 and 1984; State Auditor 1908–1928 — all by town).** Script `election-results/fix_v3.11_archives.py`, re-runnable on a v3.10 unzip with the package folder `election-results/canvass-1872-1980/v311/`. Details are in FLAGS §19; the zip is `maine_election_results_v3.11_data.zip`.

* **44 contests gain town returns** — 44,621 town rows and 2,140 county/district/state/special rows (1,240 earlier county or statewide rows replaced). New to the database: **State Auditor 1908, 1910, 1914, 1918, 1920, 1922, 1924, 1926 and 1928** (the office was elected by the voters from 1908; no 1912 or 1916 book is in the collection, and the 1900 "Auditor" book holds only the constitutional amendment that created the elected office). Rebuilt from county or statewide figures: Governor **1831–1839** (Dubin's county returns; the bound abstract "votes for Governor for the year 1832 … 1840", political years, i.e. the September elections of 1831–1839), 1870, 1875, 1892, 1896, 1902 and 1904 (Dubin), 1952 and 1970 (county canvass), 1974 (the *Legislative Record*'s state count); President 1972 and 1984; U.S. Senate 1972, 1976 and 1984; U.S. House 1956 Districts 2 and 3, 1972, 1974 (Clerk of the House), 1976, 1980 and 1984. With v3.8–v3.10 **every Governor, President, U.S. Senate and U.S. House general election from 1930 to 1984 is now in the database town by town**, and Governor elections are by town for 1831–1839 and 1868–2022 except 1879 (1820–1830, 1840–1867 and 1879 remain Dubin's county returns; the Archives' online collection has no books for them).
* **Source and method** as in v3.10: page images downloaded from digitalarchives.maine.gov through Matt's computer (the 1956 House book on 2026-10-09), transcribed page by page from enlarged crops, every column summed against the book's own county, page, district and state totals and against the figures the database held before (`reconciliation.csv`, 4,497 new rows, 707 with a difference — most are Dubin's or the county canvass's figures, which the town sums replace). Per-book page maps, notes and the as-transcribed cells are in `canvass-1872-1980/v311/` (`cells.csv`, `totals_raw.csv`, `books.csv`, `DECISIONS.md`) and `wip_v311_transcriptions.zip`.
* **Rule 19 throughout:** where a clerk's county total disagrees with his own town figures the town sum is used (FLAGS §19.2 lists every case). **Returns the clerk rejected and deducted from his totals are not loaded** (1831 Wiscasset, 1833 Robbinston, 1835 North Berwick, Lisbon, Pembroke, Whiting, Brownfield, New Vineyard, Chester, Dexter and Troy, 1837 Milford; 1832 Dennysville's smeared Smith 21, which the comparative table and the totals leave out).
* **Write-ins.** Named write-in columns with at least 10 votes in the contest are loaded as candidates (`writein = True`, no party: e.g. 1835 George Evans 202, 1837 Rufus McIntire 125 and Gorham Parsons 98, 1838 F. O. J. Smith 412, 1972 Schmitz 113, Wallace 30, Muskie 30); smaller ones (some 390 one- and two-vote names, mostly 1972–1984) are loaded as "Scattering" — the names stay in the transcription. **Misspelt heads of a ballot candidate are counted for that candidate** where the clerk himself did so or the identity is certain: 1834 "Robert Dunlak" (Dunlap) and "Peleg Sprage" (Sprague), 1838–39 "Edward Cent" (Kent) and "John Seifield" (Fairfield), 1875 "Chas. W. Robberts" (a whole column, Roberts) and "Selden Comer/Corner" (Connor). "Defective" ballots (1910 Auditor, 1892/1896 Governor) are `col_role = blank`, outside every total.
* **Parties.** Printed where the book prints them (1952–1984); otherwise the nominee's party already in the database. State Auditor books print names only: the party of each elected Auditor comes from the Law Library's list of State Auditors (`legislature/constitutional_officers.csv`; Hatch R, Stevens D, Callahan R, Sullivan D, Wardwell R, Hayford R); the other candidates are left without a party (`cand_party_label` empty, note "no party printed in the book").
* **Places.** 991 labels matched (`v311/place_crosswalk.csv`); 1830s labels are matched across county lines (Maine had ten counties until 1838; `county_at_election` keeps the book's county, `unit_county` is today's). **46 new historical units, MPD-1036–MPD-1081**: 14 identified vanished towns, plantations and grants (Danville, Bloomfield, Dearborn, Berlin, Wilson, Seaville, Fryeburg Addition, Bradley & Eastman's Grant, Williams College Grant, Framingham and Bridgewater Academy Grants, the plantations around Lincoln, Plantation No. 23, the gore between Poland and Raymond) and 32 labels not yet identified with a present-day place (`utype = historical_unidentified`; numbered townships and settlements of the 1830s; `v311/places_review.md`). Renamed places are mapped to their successors (Patricktown → Somerville, Hampton → Aurora, Dutton → Glenburn, Kirkland → Hudson, Kilmarnock → Medford, Chandlerville → Detroit, Milburn → Skowhegan, Huntressville → Lowell, Wetmore Isle → Verona Island, Township No. 15 → Eastbrook …).
* **1918 State Auditor soldier vote** is printed only by camp (Camp Devens, Wentworth Institute, Camp Upton, Fort Slocum) on the state summary: loaded as `row_type = special` rows so the state total (Wardwell 66,781, Day 53,843) equals the book's.
* **Not loaded:** 1956 U.S. House District 1 (already by town; all 98 towns identical); the 1875 Governor/Senators/County Officers book (item 407404 — a second, less complete copy of the 1875 Governor returns; item 334808 is used) and its 4th-district special election for Congress (three counties); the 1871 Governor columns written beside 1870's in item 334786 (1871 is already by town from the 1872–73 Register).

**What changed in v3.10 (2026-10-07, 45 tabulation books from the Maine State Archives: Governor 1930–1966, President 1932–1968, U.S. Senate 1936–1970, U.S. House 1896 and 1932–1966 — all by town).** Script `election-results/fix_v3.10_archives.py`, re-runnable on a v3.9 unzip with the package folder `election-results/canvass-1872-1980/v310/`. Details are in FLAGS §18; the zip is `maine_election_results_v3.10_data.zip`.

* **81 contests gain town returns** — 58,965 town rows, 2,638 county/district/state rows. Five are new to the database (U.S. House 1896, Districts 1–4, and **Governor 1958**, Clauson v. Hildreth, which was missing entirely); 76 replace county or statewide figures: every Governor election 1930–1966 (Dubin's county returns 1930–1944, the official county canvass 1946–1962, the *Legislative Record* total for 1966), every presidential election 1932–1968 (the Clerk of the House's state totals 1932–1944, the county canvass 1948–1968), U.S. Senate 1936–1970 and U.S. House 1932–1966. With v3.9 and v3.8 this means **every Governor, President, U.S. Senate and U.S. House election from 1930 to 1970 is now in the database town by town except Governor 1952 and 1970 and U.S. House 1956 Districts 2 and 3** (county figures only; their books are not transcribed yet — the 1970 Governor and 1956 Representatives to Congress books are in the Archives' online list and in the next batch; no dated 1952 Governor book is listed, though the undated Governor book, item 335364, may be it) (1970 House was already by town).
* **Source.** The Secretary of State's own tabulation books in the Maine State Archives' digital archive (digitalarchives.maine.gov, collection *Tabulations for Elections*, 593 books 1831–1984; the State Archivist pointed Matt to it on 2026-10-07). The page images were downloaded through Matt's computer and each book was transcribed page by page from enlarged strips (`canvass-1872-1980/v310/`: `cells.csv` as transcribed, `totals_raw.csv` every printed total, `place_crosswalk.csv`, `books.csv`, `DECISIONS.md`, and per-book page maps and notes in `wip_v310_transcriptions.zip`). Most books are printed county forms with the figures written in by hand (typed 1930–1934); cities are given as single lines (the ward lines are blank). `era` = `pre-1990 scanned canvass`; `source_id` = `SOS-ARCH-<archive item>`, `source_file` = the item's page on the archive.
* **How it was checked.** Every county column was summed against the book's own county total, every summary page and the state or district total, and against every figure the database already held (Dubin's county returns, the county canvass, the Clerk of the House) — 7,166 new `reconciliation.csv` rows, 142 with a difference. Of the 45 books, 23 add up exactly in every column; the rest have a handful of clerk's footing errors (typically 10, 20 or 100 votes in one county column; rule 19 — the town sums are used). The comparison also exposed misprints in Dubin's county tables (1932 Washington Maxfield, 1936 Penobscot Barrows, 1938 Washington Brann, 1940 Washington Redman, 1942 Cumberland Sewall, 1944 Aroostook Hildreth — in each case the book's own summary page agrees with the town sum and Dubin's county figures do not add to his own state total). The 1960 and 1962 Governor and 1960 President figures agree town for town with the State Library's 1960/1962 registration booklets (comparative votes), except two 1960 Cumberland cells the booklet mis-copied.
* **Official corrections in the books are used:** 1934 Auburn (struck and corrected by hand), 1958 Oakland Clauson 494 → 444 ("corrected return … and subsequent legislative acceptance"; Clauson 145,673), **1960 Bradford Coffin 174 → 74 per Senate Paper 589 (June 14, 1961; Coffin 197,447 — the database's earlier county figure was the uncorrected one)**, 1962 Windham, Norway and Eliot Reed (Dec 28, 1962; Reed 146,604, Dolloff 146,121). **Two cells are corrected** (the only departures from the figures as written): 1936 Caswell Roosevelt 57 (the first Democratic elector's cell reads 37; the other four electors read 57 and the totals require it) and 1950 Norway Cormier 312 (written 812; the clerk's Oxford total requires 312 and Norway's same-day Governor vote totals 1,221).
* **Presidential elector books** give each elector a column; the ticket's town figure is the first elector's (as in v3.8). Where the book prints party or ticket names they are in `cand_party_label`; (R)/(D) letters are printed from 1954. Named write-ins (1932 and 1934 Governor, 1932 President's Howe slate, 1966 Chute) are loaded with `writein = True`; "Scattering" columns as `col_role = others`.
* **Not loaded:** the 1932 District 1 typed sheets' unlabelled second column and 1942's carbon copy (duplicates of the handwritten official sheets); an unheaded 1-vote column in 1940 Kennebec. 1970 U.S. House is unchanged (the book agrees with the existing rows cell for cell). Places: 584 labels matched (`v310/place_crosswalk.csv`); "Harpswell Mainland District", "Hope, Precinct 1", "Madison, District No. 1", "Falmouth, Precinct 1" carry the whole town; "Connor District" is Connor Twp; the Indian voting districts are their own units.

**What changed in v3.9 (2026-10-06, eleven more books from digitalmaine.com and the Law Library: U.S. House 1870, 1872, 1874, 1892, 1898, 1902, 1904, 1930, 1934, 1938 and 1958; U.S. Senate 1930, 1934 and 1958; State Auditor 1930; Governor 1873, 1874 and 1898 — all by town).** Script `election-results/fix_v3.9_canvass2.py`, re-runnable on a v3.8 unzip with the package `election-results/canvass-1872-1980/` (its new `v39/` folder). Details are in FLAGS §17; the zip is `maine_election_results_v3.9_data.zip`.

* **48 contests gain town returns for the first time and three Governor elections move from county to town level** — 20,764 town rows, 1,030 county/district/state rows, 51 contests. New: Representative to Congress for every district in 1870 (5 districts), 1872 (5), 1874 (5), 1892 (4), 1898 (4), 1902 (4), 1904 (4), 1930 (4), 1934 (3), 1938 (3) and 1958 (3); U.S. Senator 1930, 1934 (the recount) and 1958; State Auditor 1930 (the only year the book carries that office). Rebuilt: Governor 1873, 1874 and 1898, whose Dubin county rows are replaced by the town rows and their sums (Dubin's figures go to `reconciliation.csv`). Before v3.9 the 1930s federal races existed only as the Clerk of the House's statewide figures (1932–1944) and 1958's general election not at all.
* **Sources** (PDFs Matt downloaded on 2026-10-06, see `source_files.csv`): the Secretary of State's handwritten tabulation books for Representatives to Congress 1870, 1892, 1902 and 1904 and the typed-grid tabulation books for the September state elections of 1930, 1934, 1938 and 1958 (digitalmaine.com; kept in `canvass-1872-1980/sources/` and `sources-pre1990/0000-1944/returns/`, `sources-pre1990/1958/19580908/`); the *Annual Register of Maine 1872–73* (Congress 1872, printed pp. 119–123) and *1875* (Congress 1874 pp. 119–123; Governor 1873–74 pp. 124–133) from the Law Library; and the *Maine Register 1899–1900* (Governor and Congress 1898, pp. 124–142) from Google Books — the clean copies of three volumes whose HathiTrust scans were too poor to merge in v3.1. `era` is `pre-1990 scanned canvass` for the SOS books and `Maine Register transcription` for the three Registers.
* **How the books were read.** Each page transcribed from enlarged strips; every column summed against the book's own county, district, page and state totals; disagreeing columns re-read cell by cell. The 1873–74, 1892, 1898 and 1902 figures were then compared cell by cell with v3.1's unmerged Maine Register transcriptions of the same or equivalent tables (`canvass-1872-1980/v39/crosscheck_vs_maine_register_v39.csv`: 8,855 cells agree, 104 differ — 59 of them the Register's 3/8, 5/6 and 1/7 glyph cases, most of the rest the Register's own errors confirmed by the books' totals: Stoneham/Stow 1902 swapped in the Register, Brooklin 1902 Benson 87, Vassalborough/Vienna 1892). One reading was corrected from that comparison (Yarmouth and Raymond 1902 Allen, `v39/adjustments_v39.csv`). 8,070 place labels are tied to `unit_id` (`v39/place_crosswalk_v39.csv`; 1870, 1872 and 1874 list towns by district without counties — the county comes from the district's membership and the Governor tables of the same volumes); one new historical unit, MPD-1035 Summit Plt (Penobscot, 1892).
* **Where the books do not add up (rule 19: town sums used, printed figure in `reconciliation.csv`, 2,063 new rows, 338 with a difference).** The typed books of 1930, 1938 and 1958 add exactly except Hancock 1930 Auditor Hanson (+1) and Somerset 1938 Smith (+10); the 1934 recount adds exactly in all 32 columns. The handwritten 1892–1904 books have a dozen clerk's footing errors of 6–58 votes (Cumberland 1904 Allen +10 — the clerk's own district and state totals require our figure; Aroostook 1902's "as corrected" total; Waldo 1904 Benson copied 2,102 for 2,152 on the recapitulation). The Registers have the usual printing errors, several exactly 100 (Piscataquis 1873 Dingley, Waldo 1874 Dingley/Titcomb, Oxford 1898 Dingley) and Androscoggin 1898 Lord printed 1,438 for 2,438; the 1872 and 1874 Congress tables print district totals only (1872 D5 Pike 11,300 vs printed 10,918; 1874 D5 Spofford −110).
* **1934 U.S. Senate: the recount is loaded.** The book holds both the original handwritten tabulation (pp. 25–43, Hale / Dubord / Hans Nelson / Scattering) and the typed recount tabulation ordered by the Council (pp. 5–24, Hale and Dubord only; "Recount — see Council Records 1934"; state 139,773 / 138,573). Hale and Dubord by town come from the recount; Hans Nelson and the scattering from the original. The original Hale/Dubord county figures are in `reconciliation.csv` and the 623 town-level differences in `v39/recount_1934_town_differences.csv`.
* **Parties.** Printed where the book prints them (1870 "R"/"D" letters, 1958 "(R)"/"(D)", the Registers' Rep./Dem./Prohib./People's/Nat. Dem.). The 1892–1938 SOS books print names and home towns only; the nominees' parties come from the official record (the Maine Register's tables for 1892 and 1902) with `cand_party_label` left empty. The 1892 and 1904 books give a column to every person who received votes — Governor candidates, local notables, a Dingley without "Jr." — and these are loaded as candidates without a party (1904 District 1 has nine columns; seven of them total 14 votes). Hans Nelson (1934) has no party in the book or the summary and is left without one.
* **Places.** 1958's "Indian Island Voting District" line (Old Town) is folded into Old Town (the 1956 canvass has no such line and no unit exists); Pleasant Point and Peter Dana Point voting districts are MPD-0482 and MPD-0487 as in 1956; "Hope, Precinct 1" and "Madison, District No. 1" are the towns' only lines. 1892's duplicate Sagadahoc sheet (PDF p. 11) is dropped. 1902's Eagle Lake Plt line ("Election officers not returned; only clerk's", 29 / 45, excluded from the clerk's totals) is loaded flagged. Handwritten added rows (Rockport 1892, Millinocket 1902/1904, Livermore Falls 1930, Somerville and Carroll 1938 …) are flagged `added_row`.
* New `source_files.csv` rows MR-PD1875v1, MR-GB-reg1899, SOS-TAB-1870/1892/1902/1904, P19300908, P19340910, P19380912, P19580908 (MR-PD1872-73 now also covers the 1872 Congress table).

**What changed in v3.8 (2026-10-06, Matt's five canvass books: President 1872, 1892, 1896, 1976, 1980 by town; Governor 1871 and 1872 by town).** Script `election-results/fix_v3.8_canvass.py`, re-runnable on a v3.7 unzip with the transcription package `election-results/canvass-1872-1980/`. Details are in FLAGS §16; the zip is `maine_election_results_v3.8_data.zip`.

* **Five contests gain town returns for the first time and two Governor elections move from county to town level** — 11,120 town rows, 693 county/state rows, 7 contests (five new: President 1872, 1892, 1896, 1976, 1980; two rebuilt: Governor 1871 and 1872, whose Dubin county rows are replaced by the town rows and their sums). Sources, all PDFs Matt supplied on 2026-10-05 and kept with the package: the *Annual Register of Maine 1872–73* (printed pp. 124–133; a clean scan of the volume whose HathiTrust copy was too poor to merge in v3.1), the Secretary of State's handwritten *Abstract of Return of Votes for Presidential Electors* for 1892 and 1896, and the typed SOS canvass books for November 1976 and November 1980. 2,514 place labels are tied to `unit_id` (`canvass-1872-1980/place_crosswalk.csv`; two new historical units, MPD-1033 Clinton Gore (Kennebec) and MPD-1034 No. 7 Range 2 Plt (Washington), in `units_election_additions.csv`).
* **How the handwritten elector books were read.** Each slate has six electors; the ticket's vote in a town is the figure of the **first elector** (1892: the checkmarked elector, who often has a few more votes than the other five; 1896: the left-most), the other five being used only to confirm digits. 1892 prints no parties: Hyde = Harrison (Republican), Chase = Cleveland (Democratic), Dow = Bidwell (Prohibition), Clark and Allen = two slates for Weaver (People's) — the official state figures and the Maine Register's Weaver column equal Clark + Allen, so Weaver is one candidate whose town figure is the sum of the two slates. 1896 writes the slate parties; Bryan on the Democrat and People's lines is one **Fusion** entry under the v3.7 rule (`party_line` DEM / PEO).
* **Checked three ways.** Every column was summed against the book's own county total (and page subtotals, the 1892 state recapitulation, the 1976 county table and the 1980 district pages); the 1872 and 1892/1896 town figures were compared cell by cell with the Maine Register transcriptions of the same tables (`canvass-1872-1980/crosscheck_vs_maine_register.csv`: 6,005 cells agree; the 77 that differ are the Register's known 3/8 and ±1 cases, or the Register's compiler using another elector); and 1976/1980 state totals equal the official figures (1976 exactly; 1980 exactly for six of seven columns). Under rule 19 the town sums are used where the book does not add up, and the printed figure is in `reconciliation.csv` (521 new rows, 79 with a difference — most of them the 1872 Register's own footing errors, several exactly 100).
* **Decisions recorded in `canvass-1872-1980/adjustments.csv`** (nine cells): Brewer 1976 Carter is **1,649**, the city clerk's amended official return bound into the canvass book (p. 19, July 1977; the SOS grid and the state total 232,279 were never corrected, so the statewide Carter figure here is 232,234); four 1892 towns whose first-elector cell is blank but whose votes the clerk tallied under a misspelt elector name are credited to the ticket (Blaine 53 Harrison; Marshfield 10 and Grand Falls 10 Cleveland; Cary 1 Weaver); three handwriting calls settled by the arithmetic (Mercer 1892 Hyde 83, Trenton 1980 Reagan 213, Orient 1980 Clark blank); and the second Franklin "Rangeley" row of 1896 is Rangeley Plt.
* **1976 write-ins.** The 192 town × name write-in entries from the county write-in sheets (248 votes, 80 names as written — Roger MacBride, James Longley, Jerry Brown, Ronald Reagan …) are loaded with `writein = True`; variant spellings of one person are one `person_id`. The site folds them into "Write-ins / others". 1980's handwritten OTHERS column is loaded as `col_role = others`.
* **New era values:** `SOS abstract of votes for presidential electors` (1892, 1896); the 1976/1980 rows use `pre-1990 scanned canvass` and the 1871–72 rows `Maine Register transcription`, like their neighbours. New `source_files.csv` rows MR-PD1872-73, SOS-ABSTRACT-1892, SOS-ABSTRACT-1896, P19761102, P19801104.

**What changed in v3.6 (2026-10-05, Matt's decisions).** Script `election-results/fix_v3.6.py`, re-runnable on a v3.5 unzip. Details are in FLAGS §14; the zip is `maine_election_results_v3.6_data.zip`.

* **Unenrolled, never Independent.** Maine has no "Independent" party; a candidate outside a party is officially unenrolled. Every `cand_party` IND is now **UNE** (354 candidates in `candidate_names.csv`: 2 before 1940, 62 in 1940–1989, 290 from 1990), and so are the political designations "Common Sense Independent" (2016–2024, 5 candidates) and "Common Sense" (2010, 1). The same recode runs through `results_town_long.csv`, `results_aggregate_long.csv` and `results_precinct_long.csv`. `cand_party_label` is unchanged: it keeps the designation as printed (e.g. "Independent for Maine", "Ind."). Real party codes are untouched: IR Independent Republican, ID Independent Democrat, IL Independence League, UN Union, UL Union Labor, NP non-party, OTH, GRN (Green Independent). The code IND is no longer used.
* **Two tied primaries resolved from the general-election ballot.** 2004 State Senate D20 Republican primary (Dow / Fossel, 1,834 each) → **Dana Dow**, the Republican in the November 2004 general; 1994 State House D151 Republican primary (Brown / Connors-Carlson, 127 each) → **Shirlee Connors-Carlson**, the Republican in the November 1994 general. `winner_basis` = "tied in the primary vote; nominee as shown on the general-election ballot". Three ties stay unresolved (FLAGS §14.2).
* **President 1932–1944.** Checked: every Clerk-statistics party line names its national ticket head in `candidate_display` (18 lines). The volumes print the party only (FLAGS §14.3).

**What changed in v3.5 (2026-10-05, data-audit corrections).** The election items of the October 4 data audit. The script is `election-results/fix_v3.5.py`, re-runnable on a v3.4 unzip with the `dubin-governor/` package. Details are in FLAGS §13; the zip is `maine_election_results_v3.5_data.zip`.

* **Two columns under one name, 1944–1950 (audit E2): two party lines of one person, not an opponent's votes.** Seven county-office contests print the same name over two columns: York Clerk of Courts 1944, Sagadahoc Clerk of Courts 1944 and 1948, Sagadahoc Sheriff 1944, York Judge of Probate 1946, and Aroostook Northern Register of Deeds 1946 and 1950.
  * The Law Library's 1944 primary returns and 1946/1948 primary charts show Fenderson, Brawn and Messenger as **both** parties' nominees. Both lines therefore belong to them, and no winner's total was inflated.
  * The second column's 107 rows are now labelled `[second party line as printed]`, so no two rows share a key. Totals are unchanged.
  * The two Aroostook contests (Thibodeau) are *probable* fusion on the column pattern and the 1954 "R & D" listing, and await Matt's confirmation (FLAGS §13.1).
* **Dubin state vs county (E3).** Rule 18 was tested on all 100 disagreeing columns (new `dubin_rule18_check.csv`). None can be corrected: the printed county percentages confirm the printed county figures. For example, 1838 Kennebec Kent is 29.2% = 1,584, not 6,584. The official state row stays the figure of record, and the site now shows it as the statewide total (`site_data.py`).
* **Mis-keyed rows (E10):**
  * 1985 Question 8: the second Livermore row is now Livermore Falls and the second Boothbay row Boothbay Harbor.
  * 1986 House D49: the second Rangeley row is now Rangeley Plt.
  * 2010 referendum: 9 duplicate all-zero T7 SD rows dropped.
  * 2022 "Guilford/Kingsbur Plt" and "Guilford/Kingsbury Twp" now map to the combined unit MPD-0676 (rows and crosswalk).
  * Ethan Alcorn (2024 CD1) is IND; Albion Parris (1824) is DR.
* **Winners for 1990+ (H5).** `winners`, `winner_basis` and `n_seats` are filled from the votes for 12,502 contests; the 10 ranked-choice overrides are kept. Left blank:
  * 4 ties, including the 2004 Senate D20 Republican primary (Dow / Fossel, 1,834 each).
  * 100 contests where no winner can be derived.
  * The ballot-question and turnout pseudo-contests.
* **New column `county_at_election`** on `results_town_long.csv` and `results_precinct_long.csv`. Before 1990 it is the county the source printed (Otisfield in Cumberland until 1978; Isle au Haut in Hancock until 1913); from 1990 it is the unit's county (H4).
* **1882 at-large U.S. House:** checked; the county rows already equal the town sums for every candidate column. The audit's gap is the 40 "variant name" rows, which are kept outside the totals by design (FLAGS §13.6).
* **`total_votes`** filled for 87 contests; 16 remain blank because the source gives no candidate figures.
* **Governor 1966 and 1974 added, statewide only** (new era `Legislative Record (official count)`). The source is the official count read to the Legislature, Legislative Record, January 5, 1967 and January 2, 1975:
  * 1966: Curtis 172,036, Reed 151,802.
  * 1974: Longley 142,464, Mitchell 132,219, Erwin 84,176, Leen 2,883, Hughes 1,314, Hartman 889.
* **2024 CD2 first choices (H3)** are documented in FLAGS §13.8; both SOS tabulations are official, and nothing changed.

**What changed in v3.5 (continued) (2026-10-05, Clerk of the House federal returns).** Script `election-results/fix_v3.5b_clerk.py`, re-runnable on the v3.5 folder; the transcription is `election-results/clerk_statistics_transcription.csv`. Details are in FLAGS §13.10.

* **16 federal contests added, statewide / district-wide only** (new era `Clerk of the House statistics`, `row_type = state`, 43 rows). The source is the Clerk of the U.S. House's *Statistics of the Presidential and Congressional Election* volumes (clerk.house.gov). They are image-only PDFs, read page by page in a browser:
  * President 1932, 1936, 1940 and 1944.
  * U.S. Senate 1942 (White 111,520, Redman 55,754) and 1966 (Smith 188,291, Violette 131,136, Bishop write-in 108). Maine had no Senate election in 1944 or 1974.
  * U.S. House, every district, 1942, 1944, 1966 and 1974 (1942 District 3: Fellows unopposed).
* **President lines are party lines.** The Clerk prints the vote "for presidential electors" by party, not by candidate. `candidate_as_printed` is the party as printed; `candidate_display` names that party's national ticket head (Roosevelt, Hoover, Landon, Willkie, Dewey, and so on), which the volume does not print.
* **Checked against the printed totals.** From 1942 the volumes print a recapitulation table. Every printed district, Senate, presidential and party total equals the sum of the candidate figures. There are no discrepancies. The 1932–1940 pages print no totals.
* **No county or town figures** exist in these volumes, so these races show statewide or district totals only.
* None of the 16 contests existed in the database before.

**What is NOT in the database (coverage gaps, as of v3.12):**

| Missing | Why | What would fill it |
|---|---|---|
| President 1820–1864, at every level | not in Dubin (Governor only) or in the tabulation books used | Maine Register / State Year-Book county tables; the SOS elector abstracts in the State Archives |
| Governor below county level for 1820–1830, 1840–1867 and 1879 | Dubin prints counties only; the Archives' online collection has no books for these years | Maine Register town tables (1850s–60s); manuscript returns |
| 1840 Governor, Oxford County | missing from Dubin's table (the 1840 state total exceeds the county sum) | Maine Register 1841 or the Archives |
| U.S. House 1820–1866; 1878 (headings cut off in the scan) | not transcribed | Register volumes; Archives books |
| State Senate 1820–1943 (only 1869 is in); State House before 1944. State House 1944–1970 and both chambers in 1982/84 are at district level only | not in the sources used | Archives tabulations; *Legislative Record* |
| Primaries 1912–1941 (none). Most 1942–1984 primaries are county or state level only | primary books not transcribed | Archives primary tabulation books |
| Statewide ballot questions 1820–1939 (none). 1951–1984 mostly county level only | not transcribed | Archives books; *Legislative Record* |
| State Auditor 1912 and 1916; the parties of the 1908–1928 Auditor losers | no book in the collection; the books print names only | Maine Register |
| June 1996 library information system bond question below county level | the SOS published it by county only (`results_county_only.csv`) | — |
| Special elections: 2016-03-29 Senate D32 and 2023-06-13 House D45 | not on the SOS results pages (checked 2026-10-14) | the SOS Division of Elections, on request |
| Certified 2014 Governor figures (+14 LePage, +11 Michaud, +3 Cutler against the SOS file we hold) | not posted by the SOS | the SOS, on request |
| June 2014 primary turnout ("total ballots cast") | the SOS file for it was a copy of the Governor file | SOS turnout report |
| 1984 House District 1 (legislature) | printed "currently unresolved" | — |

(The v3.5 table that stood here listed gaps since filled by v3.8–v3.11: President 1932–1944, Governor 1958, 1966 and 1974, and the 1930s–1950s federal races are all by town now.)

**What changed in v3.4 (2026-10-03, Dubin Governor county returns 1820–1952 and the 2024 HD 8 "TBD" column).** New coverage at county level; one correction. The script is `election-results/fix_v3.4_dubin.py` (re-runnable on a v3.3 unzip with the `dubin-governor/` package).

* **Governor, county returns 1820–1952 (new era `Dubin county returns`).** The Maine sections of Michael J. Dubin's four *United States Gubernatorial Elections* volumes (county × candidate and a state total for all 96 Governor elections 1820–1952), transcribed and checked in `election-results/dubin-governor/` (its README and FLAGS explain the transcription, the six corrected printing errors and the party key), are loaded into `results_aggregate_long.csv` **only for the elections that had no county or town figures from another source**: 1820–1867, 1870–1875, 1879, 1892, 1896–1898, 1902–1904, 1930–1944 — 67 elections, 2,678 rows (2,491 county, 185 state, 2 "soldiers vote" rows of 1864 with `row_type = special`, which add to the state total with the counties). The Maine Register town returns (Governor 1868, 1869, 1876–1878, 1880–1890, 1894, 1900, 1906–1928) and the Governor & Council canvasses (1946–1952) stay primary and Dubin is not loaded for those years. Before 1880 a majority was required: in the seven elections with no majority (1846, 1848, 1852, 1853, 1854, 1855, 1879) the Legislature chose the Governor: `winners` names the man it chose (Dana, Dana, Crosby, Crosby, Morrill, Wells, Davis — in 1852, 1853 and 1855 not the plurality leader; the 1852 entry read Hubbard until v3.12) with `winner_basis = chosen by the Legislature (no candidate had the popular majority then required)`, as for 1878; from 1880 the plurality leader is the winner. `cand_party_label` is Dubin's abbreviation as printed; `cand_party` codes it (DEM, REP, WHG Whig, DR Democratic-Republican, NR National Republican, FED Federalist, JAC Jacksonian, AM Anti-Masonic, LTY Liberty, FS Free Soil, AML American/Maine Law, CLD Conservative Democrat, OPD Opposition Democrat, WD "Wildcat" Democrat, CU Constitutional Union, UN Union, TEM Temperance, LR Liberal Republican, GBK Greenback, FUS Democrat–Greenback fusion, UL Union Labor, LAB Labor, PEO People's, ND National Democrat, PRH Prohibition, SOC Socialist, PRO Progressive, COM Communist, UNE unenrolled (Dubin's "I"; IND until v3.6), SRD States' Rights Democrat, RI Republican-Independent). `source_id` = `DUBIN-<volume>`, `sheet` = the book page, `source_file` points at the as-printed transcription.
* **Check of the overlapping years** (`dubin-governor/dubin_overlap_check.csv`): 1,439 county figures Dubin prints for the years already in the database; 1,238 identical, 158 differ (every one in the Maine Register era, where the database's county figures are the sums of the town figures under rule 19 and Dubin reprints the Register's own county recapitulation — the largest: 1886 KEN Clark Edwards Dubin 3,244 / Register town sum 4,141; 1869 ARO Franklin Smith Dubin 1,202 / Register town sum 1,523; 1886 SOM Joseph Bodwell Dubin 3,793 / Register town sum 3,993; 1926 PEN Ernest McLean Dubin 8,358 / Register town sum 8,558; 1876 HAN Selden Connor Dubin 4,198 / Register town sum 4,003; 1908 KNO Curtis Perry Dubin 39 / Register town sum 216), 43 minor-candidate columns the two sources name differently. **All 1946–1952 canvass figures match Dubin exactly.** Nothing in the database was changed by this check.
* **Fusion nominees coded `FUS` (Matt's decision, 2026-10-03).** Candidates the 1950s canvasses print as "R & D" (nominated by both parties — e.g. Byron Young, Hancock County House, 1958) had `cand_party = R&D` and were counted as "Other" on the Legislature seat charts; they are now `cand_party = FUS` (label kept as printed), 92 town rows, and the site shows them as **Fusion** (short form FUS) in their own colour.
* **2024 State House District 8 "TBD" column removed.** The SOS's 2024 "Rep to the Legislature" file carried a placeholder column headed "TBD" in District 8 (28 town rows, 5,309 votes — a running total, not a candidate); the rows are deleted from `results_town_long.csv` and `candidate_names.csv`, and the contest's `n_candidates` (2) and `total_votes` (4,961) corrected. The site had already been dropping it.

**What changed in v3.3 (2026-10-02, 1940–1989 clean-up).** Corrections to the 1940–1989 canvass part only; same coverage. The script is `election-results/fix_v3.3_pre1990.py`.

* **Local-option liquor questions renamed.** In November 1966, 1968, 1970 and 1974 the town-by-town local-option questions and the statewide bond questions were both numbered "Question 1, 2, …", so the two sets were stored under the same labels and the site mixed them. Every local-option question on those four ballots is now labelled `Local Option Question N` (14,723 town rows and their `referendum_questions.csv` entries); the statewide questions keep `Question N`.
* **Eleven statewide questions added to `referendum_questions.csv`** with their wording, type, result and statewide vote from the county summary sheets: 1966 Q1 (Cultural Building bond) and Q2 (Allagash bond); 1968 Q1–Q4 (highway, state parks, Aroostook residential facility, Auburn–Lewiston bridge bonds); 1970 Q2 (school construction bond), Q3 (oil-spill bond) and Q4 (water-pollution bond interest); 1974 Q1 (highway bond) and Q2 (school construction bond).
* **Primary "party totals" separated.** The 1978 and 1982 comparative volumes print, for each town, only the total primary vote for Governor in each party. Those rows had been filed inside the candidate contests (and the Oxford–York half of the 1978 ones under a wrong date, 1978-11-07). They now have their own contests, `1978-06-13_Primary-Party-Total_Governor_DEM/REP` and `1982-06-08_Primary-Party-Total_Governor_DEM/REP` (`election_type = Primary party total`, 2,071 rows), and the candidate contests hold only the candidates' figures.
* **Rule 19 (town figures win) applied to 1940–1989.** Where a printed county or statewide total disagrees with the sum of the town figures, the town sum is used and the printed figure is kept in `reconciliation.csv` and the row note: 47 printed county column totals, 8 county figures (1982 Governor Kennebec, 1982 U.S. House D2 Oxford, 1976 Senate primary party totals Penobscot and Waldo, 1988 Republican Senate primary Aroostook and Cumberland, 1988 U.S. House D2 Piscataquis and Somerset) and 6 statewide/district totals (1982 Cragin 172,951; 1982 Dunleavy 68,090; 1986 Q2 No 180,784; 1989 Q3B Yes 94,213; 1989 Q4 141,730 / 90,683 — the printed 1989 Q4 total leaves out Somerset County exactly).
* **Kept as printed (rule 19 does not apply):** the 1974 Sagadahoc County Commissioner recount (the recount is given only as a county total and is the figure of record); the 1982 U.S. House District 2 Piscataquis County figure (the volume is missing that county's town sheet, so the printed county figure stays in the totals); and 12 columns of the June 1988 primary printouts in which a town is printed 0 although the printed total clearly includes it but the missing figure cannot be pinned down (FLAGS §11).
* **Revision, same night — missing towns filled (Matt's decision).** In 14 columns of the June 1988 primary printouts exactly one town was printed 0 or left blank although the printed total includes it; that town's figure is now the printed total minus the other towns (exact by arithmetic), and each was checked against the same town's vote in that day's U.S. Senate primary: Portland 1,099 (Mazziotti, Cumberland Commissioner D1 D), Rumford 887 (Guay), Brewer 88 (Baldacci), Kittery 81 (Plante), Sanford 282 (Wood), Bangor 1,102 (R. Brooks), Sanford 452 (Bailey), Limestone 10 (Dunleavy, Judge of Probate), Bowdoinham 30 (Hart), Sanford 314 (Caron), Skowhegan 135 (Poland), Hollis 94 (D. Brooks), Bangor 680 (Almy, Register of Probate) and Bath 320 (Mary Small, House District 75 R). Each filled row's note says so and `reconciliation.csv` lists them.
* The 1970 U.S. House duplicate county rows were already removed in v3.2.

**What changed in v3.2 (2026-10-02, site audit).** Corrections only; no new coverage. (1) The 1962 and 1970 U.S. House county rows had been ingested twice, once from the county sheet and once from the district sheet that repeats the same figures: the duplicate copies are dropped from `results_aggregate_long.csv` (64 rows; 1962 CD 1 now totals 143,993 and CD 2 141,508 — the 1970 race was unaffected on the site because its town rows exist). (2) Write-in scatter: the old canvasses list every stray write-in by name ("Zendzion", 1 vote); 1,194 such names in 332 contests of 1946–1976 (plus four later SOS entries) are now flagged `writein = True` like the 1974–1976 ones already were, and every page folds a named write-in with under 5% of the contest into "Write-ins / others" unless it is the marked winner, so those races read Unopposed. (3) Ranked-choice contests: `contests.csv` now records the winner after the ranked-choice count with `winner_basis = ranked-choice final count` for the ten contests where the count was run and the first-choice leader did not win a majority (2018 CD 2 general and Democratic primaries for Governor and CD 2, 2020 Republican CD 2 primary, 2022 CD 2 general, and the June 2026 primaries for Governor (both parties), CD 2 Democratic, Senate District 4 Republican and House District 58 Republican); the vote rows are still first choices. (4) Names: `R. Christopher Almy` → `Christopher Almy` (one person, `almy-christopher`); `Angus King` and `Angus King, Jr.` → one person `king-angus-jr`, and his 2012 U.S. Senate rows, which carried no party, are coded IND; `J. E. Brennan` (1986 primary) → `Joseph Brennan`; `Matthea Daughtry` → `Mattie Daughtry`, the name she serves under. Checked and left as is: Daniel Lilley 1970 (the Republican; Brennan was the Democrat and won the county) and Barnette El-Jah (printed identically in the 1958 and 1962 canvasses). The zip is `maine_election_results_v3.1_data.zip` → `maine_election_results_v3.2_data.zip`.

**What changed in v3.1 (2026-10-02).** The Maine Register transcriptions (`election-results/maine-register/`) are merged as a new era, `era = Maine Register transcription`. 26 of the 33 transcription files are in; the seven whose black-and-white scans left too many unresolved 3/8 readings are **not** merged (1871–72, 1873–74, 1875, 1892, 1896, 1898, 1902 — see `maine-register/FLAGS.md` §2).

* **What is in (town level, with each book's county recapitulations as county rows):** Governor 1868, 1869, 1876, 1877, 1878, 1880–1890 and 1894, 1900, 1906–1928; President 1868, 1876, 1880, 1884, 1888, 1900, 1904–1928; U.S. House 1868, 1876, 1878 (District 5), 1880–1890, 1894, 1900, 1906–1928, including the 1882 at-large election of four Representatives; U.S. Senate 1916 (both seats), 1918, 1922, 1924, the 1926 special election and 1928; State Senate 1869 (16 county districts). 150 contests, 96,586 town rows, 3,697 county rows.
* **Places.** Every one of the 765 place labels the books print is tied to a `unit_id` (`register_label_crosswalk.csv`: 609 matched automatically through the registration and v3.0 label lists, 156 by hand). Renamed places are merged into today's unit under its current name with a note (East Livermore → Livermore Falls, Dickeyville → Frenchville, Lyndon → Caribou, Eden → Bar Harbor, West Waterville → Oakland, Howard → Willimantic, Stockton → Stockton Springs, Jackson Brook → Brookton Twp, Jackmantown → Jackman, No. 33 Plt → Great Pond, Webster → Sabattus, North Kennebunkport → Arundel, plantations later incorporated as towns, and printed misspellings such as "Elliot", "Caanan", "Emden", "Rangely"). Places that no longer exist got 66 new IDs MPD-0967–1032 in `units_election_additions.csv`: 50 historical towns and plantations (Deering, annexed to Portland 1899; Maysville, annexed to Presque Isle 1883; Dover and Foxcroft before their 1922 merger; Forest City, Kossuth, Grafton, Williamsburg, Mayfield and deorganized plantations) and 16 county lines "Men in Service (soldier vote), <County>" for the 1918 soldier vote (`utype = soldier_vote`). These count in every total but have no map shape; each historical unit has a region in `geography/regions_reporting_units.csv`.
* **Names.** Title Case, first name and surname, no middle initials, as in the rest of the database (751 printed names → `candidate_display`, `person_id`). Known candidates get their full first name from the official record ("Chamberlain" → Joshua Chamberlain, "Fred'k Robie" → Frederick Robie, "McGil'dy" → Daniel McGillicuddy); others keep the fullest form the book prints ("A. L. Carleton"). 14 names are printed as surnames only in 1868, 1876 and 1890 Congress tables and stay that way. The 1900 District 2 column headed "Carlton" is the same man as A. L. Carleton and is merged with him.
* **Votes for variant names.** In 1882 the books print separate columns for votes "returned for" misspelled or variant names (e.g. "Seth L. Melligan", "Thombs B. Reed"). They are kept with `col_role = variant_name` (40 rows), outside the candidate totals, as printed.
* **Parties** are kept as printed in `cand_party_label` and coded in `cand_party`: REP, DEM, GBK Greenback (incl. "Straight" and "National" Greenback), FUS Fusion (Democratic–Greenback), PRH Prohibition, TEM Temperance, PEO People's, SOC Socialist, SLP Socialist Labor, PRO Progressive, UL Union Labor, LAB Labor, IL Independence League, ST Single Tax, IR Independent Republican. Where a book abbreviates a candidate's party two ways in one election the majority code is used and the row says so (Thomas Watson 1904 is People's, printed "Soc." on some pages).
* **Winners** are derived from the votes (the books mark none), with two exceptions: the 1882 at-large House race elects four (`n_seats = 4`), and the 1869 State Senate districts elect as many as the largest party slate in each county (31 seats). In 1878 no candidate for Governor had the popular majority the constitution then required, and the Legislature chose Alonzo Garcelon (`winner_basis` says so).
* **1926 special Senate election.** The Register prints the Gould/Redman table without a date; it is the special election of **November 29, 1926** (after Senator Fernald's death), not the September general election, and is filed as `1926-11-29_Special-Election_US-Senate`.
* **Checked against the books; one version of every figure.** Every column is compared with the total the book prints under it (`reconciliation.csv`, 4,479 new rows, keeps both the printed total and our sum). Where they disagree (244 columns, plus 56 county columns printed without a total that disagree with the book's county recapitulation) **the sum of the town figures is used** (Matt's rule, 2026-10-02): `reported_total` holds the town sum, the county recapitulation rows in `results_aggregate_long.csv` are replaced by the town sums (353 figures), and every changed row's `source_note` gives the figure the book printed. Candidates the town tables do not print (minor 1882 at-large candidates, some Scattering lines) keep the recapitulation figure. No `total_mismatch` flags remain in this era. See FLAGS §9.
* **New columns/values only, no schema change.** `era = Maine Register transcription`; `source_id = MR-<volume id>` (new rows in `source_files.csv` with the scan URL); `sheet` = printed page; `source_note` begins with the edition, page and a link to the page image.
* **Nothing in the 1940–2026 part changed.**

---

*The v3.0 README follows unchanged.*

## v3.0 README (1940–2026)

**What this is.** Town-level results for every contest we could obtain, **1940–2026**, in one clean table tied to the same place IDs (`unit_id`) as the registration database: the Maine Secretary of State's own files for 1990–2026 (v2.2, unchanged) plus the Governor & Council canvasses for 1940–1989 transcribed from the Law & Legislative Reference Library's scans. 988,845 town rows (294,027 of them 1940–1989) plus 17,114 county / district / statewide rows, 19,256 contests (6,583 of them 1940–1989).

**What changed in v3.0 (2026-10-01).** The 1940–1989 transcriptions (`pre1990-transcription/`) are merged into the database:

* **Every place label is tied to a `unit_id`.** All 1,431 distinct town/plantation/township labels the canvasses print are matched (`pre1990_label_crosswalk.csv`: 1,272 exact, 43 after normalising spelling/"Pl."/"Plt.", 116 by hand — misprints such as "Madawska", "Brooklyn" for Brooklin, "Marshville" for Marshfield, old names, and the unorganized-township lines). 17 places that appear only in the old canvasses got new IDs MPD-0950–0966 (`units_election_additions.csv`; e.g. Coburn Gore, Dead River Plt., Flagstaff Plt., T A R5 WELS, and a few figure lines the canvass printed with no township name). The 1950s "Sanford" parts and "Un. Twp. Madawaska" are attached to Sanford and Madawaska Lake Twp. with a note.
* **Contests at the level the canvass printed them.** Where a canvass prints town figures they are in `results_town_long.csv`; where it prints only county, district or statewide figures (most top-of-ticket races before 1972, the 1982/1984 legislative books, county-officer recount tables) those rows are in the new `results_aggregate_long.csv` with `row_type` = `county`, `district` or `state`. `contests.csv` says which levels exist for each contest (`levels`).
* **New columns** on the results tables: `seat` (multi-seat contest lines printed separately), `winner_marked` (the canvass's star), `era` (`pre-1990 transcription` / `1990+ SOS files`). New columns on `contests.csv`: `seat`, `levels`, `n_seats` (multi-member districts: Portland elected 11 Representatives, county-wide Senate seats 2–5), `winners`, `winner_basis` (`marked in the source` for 4,310 contests; otherwise derived from the votes and said so; one 1988 Somerset commissioner primary is an unresolved printed tie), `era`.
* **Names standardised the same way as 1990+.** "LAST, FIRST M." and all-caps forms become "First Last"; tickets ("Richard M. Nixon and Spiro T. Agnew", "Dewey & Warren") are filed under the presidential candidate; the 1948–1956 presidential sheets that print surnames only are resolved to the national nominees; other surname-only entries are resolved from the same election where exactly one candidate matches (19 entries could not be and stay as printed — mostly initials-only names in the June 1986 House primary book). People who also ran after 1990 keep one `person_id` and display spelling.
* **Party.** Party is kept as printed (`cand_party_label`; e.g. "Ind. Rep.", "Prog. Inds.", "George C. Wallace Party", "D & Sales-Tax Repeal"). Where a canvass prints no party for a candidate, it was filled from the same candidate's printed party in the same election (1,410 rows) or the same year's primary (38 rows), always noted in `source_note`. The 1944–1950 legislative canvasses print no party at all; those candidates are left without one (the site shows those seats as "party not printed").
* **Ballot questions.** 398 pre-1990 questions in `referendum_questions.csv` with type (constitutional amendment, bond issue, citizen initiative, people's veto, legislative referendum, county question, local option) and computed outcome; the town-by-town liquor local-option questions are typed `Local option (liquor)` and have no statewide outcome. Multi-choice questions (the 1948 Barlow/Tabb right-to-work choice) report the choice with the most votes.
* **Recounts and handwritten corrections.** Where a recount result is printed it is used (it is the final certified result; e.g. 1988 House District 125). Handwritten corrections on the scans are applied unless there is evidence against them (66 cases, all listed in `pre1990-transcription/handwritten_corrections_log.csv`, including the 1970 Bangor name correction Murphy → Murray, confirmed by the 1972 canvasses).
* **New files:** `results_aggregate_long.csv` (county / district / statewide rows, same columns as the town table plus `row_type`) and `pre1990_label_crosswalk.csv` (every 1940–1989 label → `unit_id`, method, note). `results_label_crosswalk.csv` now also lists the pre-1990 labels (method `pre1990 …`). The town table is too large to ship unzipped; it is inside `maine_election_results_v3.0_data.zip` with every other table.
* **Not in the library, so not in the database:** town or county figures for President 1976 and 1980, and the 1940/1942/1944/1958 Governor, U.S. Senate and U.S. House by town; the 1982 and 1984 State Senate books print district totals only. The 1984 House District 1 race was printed "currently unresolved" with no figures (150 of 151 House seats have a result that year).
* **Nothing in the 1990–2026 part changed.**

---

*The v2.2 README follows unchanged (it describes the 1990–2026 part).*

## v2.2 README (1990–2026)

**What this is.** Town-level results for every contest published by the Maine Secretary of State (SOS) that we could obtain, 1990–2026, turned into one clean table and tied to the same place IDs (`unit_id`) as the registration database. 694,818 rows, 12,673 contests, 656 source files.

**What changed from v1.** v1 covered the SOS files you uploaded (2010–2026). v2 adds the 305 SOS files from 1990–2010 that survive only on the Wayback Machine (6,940 contests): the comma-delimited tabulation files the SOS posted for every election from November 1990 to June 2008 (plus the 2010 governor file), and the SOS web pages that were the only publication for the June 1994 primaries, the 1996 presidential primary, the county-office primaries of 1996/2000/2004, the special referendums of February 1998, June 2003 and November 2003, the 2009 referendum, the June 2010 primary (all offices), and six special legislative elections (2002–2009). Every earlier decision still applies; nothing in the 2010–2026 part changed except that the 2010 Governor race (missing in v1) is now in, and the party of each candidate is now also kept as printed (`cand_party_label`).

**What changed in v2.2 (2026-09-30).** Middle initial "V." had been read as the generational suffix "V" (the Fifth) for 36 candidates (e.g. "BOWERS, RODNEY V." became "Rodney Bowers, V"). Their `candidate_display`, `name_middle`, `name_suffix` and `person_id` are corrected in `results_town_long.csv`, `results_precinct_long.csv` and `candidate_names.csv`; four of them carry a real suffix that had been lost (Roger Snow, Jr.; Galen Libby, Jr.; Robert Toothaker, III; Gordon Page, Sr.), and Gordon V. Page's 2024 County Commissioner row now joins his 2020 State Senate rows as one person. No vote counts changed. See FLAGS §7.

**What changed in v2.1 (2026-09-29).** A review of the Lewiston and Yarmouth town pages turned up rows that were stored twice or filed under the wrong contest; all are fixed (FLAGS §5): the 2018 U.S. House District 2 race is now one set of rows per town (the official cast-vote-record first choices), the 2014 and 2018 primary spreadsheets that carried the same tabulation on two sheets are counted once, the 2008 State House primary files' stray State Senate lines are counted once, and the 2012 and 2014 County Commissioner races, the 2014 Republican State House primary, the 2011 Cumberland/Somerset commissioner specials and the 2014/2016 U.S. House races now carry their district numbers (they had been merged into one contest per county or per state). The 2010 Androscoggin County Charter Commission race is filed under its own office. Every `contest_county` is now the three-letter county code.

**Names.** Candidate names are standardised across the whole database (`candidate_display`, `person_id`; 5,071 people): Title Case, first name and surname, no middle initials, one spelling per person, surname-only entries in the 1990–2004 files resolved to the full name from the certified candidate lists. The printed form is kept beside it.

**Reconciliation.** Every source that prints its own total line was checked against our sum of its town rows, candidate by candidate: 2454 of 2461 contests match exactly. The 7 that don't are each an error in the SOS's own total line, documented one by one in FLAGS.md. Where a file prints no totals (all the comma-delimited files), the statewide sums were checked against the certified results for the major races (see FLAGS §1).

## Files

| File | What it holds |
|---|---|
| `results_town_long.csv` | The main table. One row per place × candidate (or referendum question × choice) per contest. Ward/precinct rows have been summed to the town. |
| `results_precinct_long.csv` | The rows the SOS reported below town level (wards/precincts), as reported. Many 1996–2008 files list every town with a "W 1 P 1" precinct code even when the town has a single precinct; those rows are here too. |
| `candidate_names.csv` | Every candidate name as printed, per contest → the standardised person (`person_id`), display name and name parts, with how it was resolved; `identity_note` (v3.14) flags ids set by a rule or a ruling and not yet confirmed from an outside source. |
| `referendum_questions.csv` | Every ballot question in the database: number, type (citizen initiative, bond issue, constitutional amendment, people's veto, legislative referendum, county question), subject, a one-line description, and the outcome computed from the town rows. |
| `contests.csv` | One row per contest: election, office, district, party (primaries), county (county offices), number of places, total votes, and whether it reconciles to the SOS's printed totals. |
| `results_county_only.csv` | The one tabulation (June 1996 library bond question) that the SOS published at county level only. |
| `results_label_crosswalk.csv` | Every place label as the SOS spelled it (with the county code the file gave it) → `unit_id`, with the matching method and a note. |
| `units_election_additions.csv` | Units created for places that appear in election results but never in the registration files (unorganized townships that vote, combined reporting units, "townships voting in X" groupings). IDs MPD-0600 and up; the four added in v2 are MPD-0900–0903. |
| `reconciliation.csv` | Per source file / candidate: our sum of the municipal rows vs the SOS's printed total line. |
| `dubin_rule18_check.csv` | v3.5: every Dubin candidate column whose county sum differs from the state total, tested under rule 18 (none correctable). |
| `dubin_overlap_check.csv` | v3.4: Dubin's county figures for the Governor elections already in the database from the Maine Register or the canvasses, against the database's figures (`diff`). |
| `person_id_changes_v3.12.csv`, `person_id_borderline_v3.12.csv` | v3.12: every person id that was split (old id → new id and why), and the possible merges left for Matt to decide. |
| `v312_changes.csv` | v3.12: each fix rule and the number of rows it touched. |
| `rule19_cell_corrections_v3.13.csv` | v3.13: every town cell corrected under the rule-19 exception (figure as written, corrected figure, evidence) and every candidate cell examined but not changed (reason). |
| `recounts_v3.13.csv` | v3.13: legislative races decided by a recount or by the House: canvass and recount figures, member seated, sources. |
| `v313_changes.csv` | v3.13: each fix rule and the number of rows it touched. |
| `person_id_changes_v3.15.csv`, `person_id_borderline_v3.14.csv` | Every person id split by Matt's rulings of 2026-10-15 (31: 15 in v3.13, 16 in v3.14), and all 53 borderline cases with Matt's decision. Replace the v3.13 files. |
| `person_identity_rulings_v3.15.csv` | v3.14 (v3.15 adds Matt's 2026-10-20 Faulkingham ruling): every person-id decision made by a rule or a ruling (Matt's 53, the 147 automatic v3.12 splits), with both sides described and `research_status` "to research". `candidate_names.csv` has the matching `identity_note`. |
| `rcv_official_rounds_reference.csv` | Every round of the official ranked-choice tabulations on file (2018 DEM Governor and CD 2 primaries, 2018/2022/2024 CD 2 generals, 2020 REP CD 2 primary, June 2026 Governor, CD 2, SD 4 and HD 58 primaries). Round one is also in `results_aggregate_long.csv` as the headline total (v3.13). |
| `source_files.csv` | The files actually used: election, office, file name, and for the Wayback files the original maine.gov URL and the archive URL. |
| `sources/v1/`, `sources/wayback/` | The original SOS files (as uploaded; as retrieved from the archive). |

## Columns of `results_town_long.csv`

* `contest_id` — `date_type_office[_county][_Ddistrict][_party]`, e.g. `1994-11-08_General_Governor`, `2010-06-08_Primary_State-House_D121_DEM`, `1998-11-03_General_Sheriff_YOR`, `2007-06-12_Special-Election_State-House_D83`.
* `election_date`, `election_type` — Primary, General, Referendum, Special Election, Presidential Primary (as the SOS labels the election; "General (referendum on same ballot)" is a general election).
* `office` — President, Governor, U.S. Senate, U.S. House, State Senate, State House, Referendum, the county offices, County Charter Commission (2008), and Total Ballots Cast (the SOS's turnout column, kept as its own pseudo-contest; only November 2003 since v3.12).
* `district` — legislative / congressional / commissioner / DA district number for district offices (blank for statewide offices). For Aroostook and Oxford Register of Deeds it is the registry district (Northern/Southern/Eastern/Western Registry). For the Aroostook finance committee it is the "area" number the SOS used. For District Attorney the prosecutorial district (1–8).
* `cd` — congressional district, kept as an attribute for statewide races that the SOS reported by CD (1990–1994 files, President 2020–2024).
* `primary_party` — DEM / REP / GRN / LIB / REF for primary contests (1998 had a Reform Party primary); blank for general elections.
* `contest_county` — the county for county-office contests and county-only referendum questions.
* `county_at_election` (v3.5, last column) — the county the place belonged to at that election: the county the source printed for 1868–1989 (Otisfield = CUM before 1978, Isle au Haut = HAN to 1912), the unit's county from 1990.
* `unit_id`, `unit_name`, `unit_county` — the place, from `units.csv` (registration database) or `units_election_additions.csv`. Blank on UOCAVA / special rows.
* `sos_county`, `sos_label` — exactly what the SOS file printed. Blank county on files that had no county column (matched by name).
* `row_type` — `town` (a place), `uocava` (the SOS's statewide/district line for overseas & military ballots — only from 2010 on; earlier files fold them into the towns), `special` (rare lines such as the 1996 "[ADJUDICATED]" write-in totals for the Somerset probate judge race, which the SOS printed only as a county figure).
* `col_role` — `candidate`, `blank`, `others` (write-in / "Other" column), `others_detail`, `referendum` (a YES/NO/BLANK column of a ballot question, or a lettered choice such as 1A/1B/1C on a multiple-choice question), `exhausted` (RCV only).
* `candidate_display` — the standardised name for display: Title Case, first name + surname (+ Jr./Sr./II/III where the person uses one), no middle initial: "Olympia Snowe", "Paul LePage", "John McKernan, Jr.". One spelling per person across all years. `Blank`, `Others`, `Uncommitted`, `Yes`/`No`, `1A`… for the non-candidate rows.
* `person_id` — a stable key for the person (surname-firstname[-suffix]), the same in every year and office the person ran in; use it to follow a candidate across contests. Blank on non-candidate rows.
* `name_first`, `name_middle`, `name_last`, `name_suffix` — the name parts, so the middle initial is there if you ever want it. Two different people with the same first and last name in the same contest get their middle initial in `candidate_display` automatically.
* `candidate_as_printed` — exactly what the SOS printed ("McKERNAN", "LEPAGE, PAUL R", "Lepage, Paul R."). Kept for traceability.
* `cand_party` — party code (DEM/REP/GRN/LIB/UNE/REF/TAX/CON/NLP/NAL/SOC/…); in primaries it is the primary's party. `cand_party_label` — the party exactly as printed (e.g. "Independent Maine Course", "Tax Equality Rebellion", "Taxpayers Party"). Where a 1990–2004 general-election file printed no party at all for President / Governor / U.S. Senate / U.S. House, the ballot party was filled in (listed in FLAGS §3).
* `hometown` as printed. `writein` is true for declared write-ins.
* `question` — the ballot question label for referendum rows ("Question 1" …); the question texts are not in the files (see FLAGS §5).
* `votes` — the number. Integer, never imputed. One SOS typo corrected under your 2026-09-29 authorization, noted in `source_note` (FLAGS §2).
* `reported_total`, `total_mismatch` — the SOS's own total-votes-cast figure on that row and whether its parts add up (2010+ files only).
* `n_precincts` — how many precinct rows were summed into this town row (0 = reported at town level).
* `unit_match` / `unit_note` — how the label was tied to the unit, and any caveat ("figure includes Connor Twp"; "SOS typo Tl7R5 = T17 R5").
* `source_note` — row-level caveats (the corrected typo; contest party inferred for 4 rows of the 1996 primary files that printed party "0").
* `source_id`, `source_file`, `sheet` — where the row came from (`E…` = uploaded file, `W…` = Wayback file; sheet is `txt`, `pre` (a fixed-width web page), `table` (an HTML-table web page) or the spreadsheet sheet name).

## Rules that were applied (your decisions)

* **For ranked-choice contests the district/state totals are the SOS's official round-one tabulation; town figures are first-choice marks as the SOS reports them by town and add up to slightly less (skipped/overvoted first rankings credited in the official count; post-election corrections).** (v3.13; `contests.csv` `headline_total`, FLAGS §21.7.)
* **Rule 19 exception (Matt, 2026-10-15): a single town figure proved wrong by an official or printed total plus the town's own same-day figures is corrected; the printed figure is kept in reconciliation.csv.** Corrected cells and the cells examined but not changed are in `rule19_cell_corrections_v3.13.csv`.
* **Recounts (Matt, 2026-10-15): the recount (official, certified) count is the count used, and the winner is the member seated.** (`recounts_v3.13.csv`).
* **Ranked-choice town rows carry first choices** (2018+; the headline totals are the official round one since v3.13; built from cast vote records where the SOS published no first-choice tabulation; see v1 README text retained in FLAGS).
* **UOCAVA votes are kept as their own rows** wherever the SOS reported them separately (2010 on).
* **Blank and write-in columns are kept** where the SOS printed them. The 1990–2008 comma-delimited files print no BLANK column; most print an "Other"/write-in column.
* **Every party kept separately**, exactly as printed; codes are only a convenience.
* **Places are never merged or apportioned.** Combined SOS lines ("Freeman Twp./Salem Twp.", "T7 SD / T8 SD") are units of their own; "Town/Township" lines where the SOS added a township's votes to a town are attached to the town with a note.
* **County offices included**; each county's race is its own contest.
* **Precincts preserved** in the precinct table; the main table is at town level. In the 1996–2008 files a "W 0 P 0" (or "Central Voting"/"Centralized Voting Place") line is an additional central-voting-place batch, not a subtotal — confirmed in the SOS's own file layout notes — and is summed in.
* **Renamed places** are under their current unit (e.g. "Big Squaw Twp" → Big Moose Twp; "Plt. of Oxbow" → Oxbow North Twp) with the old name in `unit_note`/`units_election_additions.csv`.

## Coverage (places with results, by election and office)

| Election | Type | Pres | Gov | USSen | USHouse | StSen | StHouse | Ref | CtyComm | CtyTreas | DA | JProb | RDeeds | RProb | Sheriff | CtyFin | Charter | TBC |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1990-11-06 | General |  | 507 | 507 | 507 | 507 | 507 |  |  |  |  |  |  |  |  |  |  |  |
| 1992-06-09 | Primary |  |  |  |  | 509 | 509 |  |  |  |  |  |  |  |  |  |  |  |
| 1992-11-03 | General | 511 |  |  | 511 | 511 | 511 |  |  |  |  |  |  |  |  |  |  |  |
| 1994-06-14 | Primary |  | 513 | 513 | 512 | 512 | 513 |  |  |  |  |  |  |  |  |  |  |  |
| 1994-11-08 | General |  | 519 | 520 | 519 | 519 | 520 |  |  |  |  |  |  |  |  |  |  |  |
| 1995-11-07 | Referendum |  |  |  |  |  |  | 515 |  |  |  |  |  |  |  |  |  |  |
| 1996-03-05 | Presidential Primary | 509 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 1996-06-11 | Primary |  |  | 514 | 514 | 514 | 514 |  | 303 | 52 |  | 249 |  | 321 | 34 |  |  |  |
| 1996-11-05 | General | 515 |  | 515 | 515 | 515 | 515 | 510 | 306 | 90 |  | 248 |  | 322 | 34 |  |  |  |
| 1997-11-04 | Referendum |  |  |  |  |  |  | 510 |  |  |  |  |  |  |  |  |  |  |
| 1998-02-10 | Referendum |  |  |  |  |  |  | 511 |  |  |  |  |  |  |  |  |  |  |
| 1998-06-09 | Primary |  | 517 |  | 517 | 515 | 516 | 514 | 191 | 511 | 510 | 292 | 512 | 212 | 478 |  |  |  |
| 1998-11-03 | General |  | 519 |  | 518 | 518 | 518 | 518 | 233 | 518 | 517 | 294 | 518 | 213 | 484 | 61 |  |  |
| 1999-11-02 | Referendum |  |  |  |  |  |  | 511 |  |  |  |  |  |  |  |  |  |  |
| 2000-03-07 | Presidential Primary | 513 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 2000-06-13 | Primary |  |  | 517 | 518 | 517 | 517 |  | 298 | 53 |  | 250 |  | 322 | 60 |  |  |  |
| 2000-11-07 | General | 518 |  | 518 | 518 | 518 | 519 | 518 | 307 | 53 |  | 250 | 18 | 323 | 60 | 19 |  |  |
| 2001-11-06 | Referendum |  |  |  |  |  |  | 515 |  |  |  |  |  |  |  |  |  |  |
| 2002-03-05 | Special Election |  |  |  |  | 3 |  |  |  |  |  |  |  |  |  |  |  |  |
| 2002-06-11 | Primary |  | 518 | 518 | 518 | 519 | 518 | 517 | 214 | 492 | 516 | 268 | 518 | 195 | 484 |  |  |  |
| 2002-11-05 | General |  | 518 | 518 | 518 | 518 | 518 | 517 | 214 | 512 |  | 268 | 518 | 195 | 484 | 56 |  |  |
| 2003-06-10 | Referendum |  |  |  |  |  |  | 514 |  |  |  |  |  |  |  |  |  |  |
| 2003-11-04 | Referendum |  |  |  |  |  |  | 513 |  |  |  |  |  |  |  |  |  | 513 |
| 2004-02-03 | Special Election |  |  |  |  |  | 1 |  |  |  |  |  |  |  |  |  |  |  |
| 2004-06-08 | Primary |  |  |  | 515 | 517 | 515 | 514 | 302 |  | 29 | 249 |  | 322 | 34 |  |  |  |
| 2004-11-02 | General | 516 |  |  | 516 | 516 | 516 | 517 | 318 | 34 | 29 | 249 |  | 323 | 34 | 16 |  |  |
| 2005-11-08 | Referendum |  |  |  |  |  |  | 510 |  |  |  |  |  |  |  |  |  |  |
| 2006-06-13 | Primary |  | 513 | 513 | 513 | 513 | 513 |  | 185 | 495 | 512 | 266 | 494 | 190 | 477 |  |  |  |
| 2006-11-07 | General |  | 512 | 512 | 512 | 512 | 512 | 512 | 218 | 494 | 512 | 287 | 494 | 189 | 478 | 20 |  |  |
| 2007-06-12 | Referendum |  |  |  |  |  | 5 | 508 |  |  |  |  |  |  |  |  |  |  |
| 2007-11-06 | Referendum |  |  |  |  |  | 30 | 507 |  |  |  |  |  |  |  |  |  |  |
| 2008-06-10 | Primary |  |  | 511 | 510 | 510 | 510 | 511 | 292 |  |  | 244 |  | 321 | 10 |  |  |  |
| 2008-11-04 | General | 512 |  | 512 | 512 | 495 | 512 | 512 | 313 | 29 |  | 246 |  | 324 | 34 | 25 | 58 |  |
| 2009-02-03 | Special Election |  |  |  |  |  | 2 |  |  |  |  |  |  |  |  |  |  |  |
| 2009-11-03 | Referendum |  |  |  |  |  |  | 504 |  |  |  |  |  |  |  |  |  |  |
| 2010-06-08 | Primary |  | 512 |  | 512 | 514 | 520 | 512 | 174 | 494 | 512 | 265 | 494 | 188 | 478 |  |  |  |
| 2010-11-02 | General |  | 543 |  | 544 | 543 | 546 | 542 | 224 | 525 | 543 | 278 | 525 | 217 | 508 | 69 | 14 |  |
| 2011-03-01 | Special Election |  |  |  |  |  | 26 |  |  |  |  |  |  |  |  |  |  |  |
| 2011-05-10 | Special Election |  |  |  |  | 3 |  |  |  |  |  |  |  |  |  |  |  |  |
| 2011-08-16 | Special Election |  |  |  |  |  | 1 |  |  |  |  |  |  |  |  |  |  |  |
| 2011-11-08 | Referendum |  |  |  |  |  | 6 | 506 | 36 |  |  |  |  |  |  |  |  |  |
| 2012-02-14 | Special Election |  |  |  |  | 21 |  |  |  |  |  |  |  |  |  |  |  |  |
| 2012-06-12 | Primary |  |  | 543 | 543 | 543 | 543 |  | 280 |  |  | 228 |  | 306 | 37 |  |  |  |
| 2012-11-06 | General | 544 |  | 544 | 544 | 544 | 544 | 544 | 301 | 81 | 66 | 279 | 59 | 366 | 37 | 31 |  |  |
| 2013-08-27 | Special Election |  |  |  |  | 11 |  |  |  |  |  |  |  |  |  |  |  |  |
| 2013-11-05 | Referendum |  |  |  |  |  |  | 493 |  |  |  |  |  |  |  |  |  |  |
| 2014-06-10 | Primary |  | 529 | 529 | 529 | 529 | 529 |  | 166 | 433 | 529 | 273 | 433 | 173 | 459 |  |  |  |
| 2014-11-04 | General |  | 529 | 529 | 529 | 528 | 531 | 529 | 239 | 470 | 530 | 307 | 470 | 209 | 495 | 28 |  |  |
| 2015-03-10 | Special Election |  |  |  |  |  | 2 |  |  |  |  |  |  |  |  |  |  |  |
| 2015-11-03 | Referendum |  |  |  |  |  | 2 | 495 |  |  |  |  |  |  |  |  |  |  |
| 2016-06-14 | Primary |  |  |  | 502 | 504 | 506 |  | 239 |  |  | 211 |  | 286 | 32 |  |  |  |
| 2016-11-08 | General | 532 |  |  | 532 | 534 | 537 | 531 | 302 |  |  | 288 | 53 | 336 | 63 | 20 |  |  |
| 2017-06-13 | Referendum |  |  |  |  |  |  | 496 |  |  |  |  |  |  |  |  |  |  |
| 2017-11-07 | Referendum |  |  |  |  |  | 1 | 496 |  |  |  |  |  |  |  |  |  |  |
| 2018-06-12 | Primary |  | 542 | 533 | 541 | 534 | 534 | 498 | 164 | 395 | 533 | 245 | 436 | 196 | 433 |  |  |  |
| 2018-11-06 | General |  | 529 | 529 | 528 | 530 | 533 | 529 | 239 | 469 | 529 | 242 | 470 | 195 | 466 | 65 |  |  |
| 2019-03-12 | Special Election |  |  |  |  |  | 2 |  |  |  |  |  |  |  |  |  |  |  |
| 2019-04-02 | Special Election |  |  |  |  |  | 1 |  |  |  |  |  |  |  |  |  |  |  |
| 2019-06-11 | Special Election |  |  |  |  |  | 2 |  |  |  |  |  |  |  |  |  |  |  |
| 2019-11-05 | Referendum |  |  |  |  |  |  | 493 |  |  |  |  |  |  |  |  |  |  |
| 2020-03-03 | Presidential Primary | 495 |  |  |  |  | 1 | 495 |  |  |  |  |  |  |  |  |  |  |
| 2020-07-14 | Primary |  |  | 531 | 536 | 532 | 534 | 511 | 252 |  |  | 248 |  | 299 | 63 |  |  |  |
| 2020-11-03 | General | 516 |  | 516 | 516 | 520 | 529 |  | 295 |  |  | 280 |  | 331 | 62 | 29 |  |  |
| 2021-03-09 | Special Election |  |  |  |  | 11 |  |  |  |  |  |  |  |  |  |  |  |  |
| 2021-11-02 | Referendum |  |  |  |  |  | 1 | 491 |  |  |  |  |  |  |  |  |  |  |
| 2022-01-11 | Special Election |  |  |  |  |  | 2 |  |  |  |  |  |  |  |  |  |  |  |
| 2022-06-14 | Primary |  | 501 |  | 503 | 507 | 510 |  | 194 | 311 | 499 | 226 | 409 | 183 | 406 |  |  |  |
| 2022-11-08 | General |  | 508 |  | 508 | 513 | 522 |  | 224 | 455 | 510 | 236 | 456 | 198 | 454 | 6 |  |  |
| 2023-11-07 | Referendum |  |  |  |  |  |  | 492 |  |  |  |  |  |  |  |  |  |  |
| 2024-03-05 | Presidential Primary | 489 |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| 2024-06-11 | Primary |  |  | 489 | 490 | 498 | 507 |  | 277 |  |  | 236 |  | 272 | 31 |  |  |  |
| 2024-11-05 | General | 512 |  | 511 | 512 | 518 | 527 | 486 | 324 | 55 |  | 280 | 37 | 430 | 135 |  |  |  |
| 2025-02-25 | Special Election |  |  |  |  |  | 4 |  |  |  |  |  |  |  |  |  |  |  |
| 2025-11-04 | Referendum |  |  |  |  |  |  | 493 |  |  |  |  |  |  |  |  |  |  |
| 2026-06-09 | Primary |  | 520 | 515 | 521 | 525 | 535 |  | 197 | 271 | 427 | 238 | 395 | 68 | 346 |  |  |  |

Legend: Pres = President, Gov = Governor, USSen = U.S. Senate, USHouse = U.S. House, StSen = State Senate, StHouse = State House, Ref = referendum questions, CtyComm = County Commissioner, CtyTreas = County Treasurer, DA = District Attorney, JProb/RProb = Judge/Register of Probate, RDeeds = Register of Deeds, CtyFin = county finance/budget committees, Charter = 2008 county charter commissions, TBC = total ballots cast. Counts are distinct places with at least one row.

## What changed in v3.7 (2026-10-05 night)

**One candidate on two party lines is one Fusion entry** (Matt, 2026-10-05: "we need to mark people like that being on two lines"; script `fix_v3.7_fusion.py`, re-runnable on a v3.6 folder). Where the same person appears in one general-election contest on more than one line — two printed parties (1968 Cumberland Sheriff Sharpe, 1970 Oxford Sheriff Haskell, 1970 Senate D29 Quinn, 1976 House D49 Stubbs: Republican and Democratic lines) or a second column the 1944–1950 canvass prints under the same name (Fenderson, Brawn, Messenger, Thibodeau, and the House candidates Dufour, Woodbury, Hanson, Ames — FLAGS §13.1) — all of that person's rows now carry `cand_party = FUS`, the code the 1950s "R & D" nominees already use, so every page shows one entry labelled Fusion with both lines' votes combined. `cand_party_label` says which lines ("Fusion (Republican and Democratic lines)" / "Fusion (two lines; parties not printed)"), and a **new column `party_line`** in all four tables keeps each row's own line (REP / DEM / not printed). 16 candidates; 351 town, 10 aggregate and 28 candidate-name rows. No vote figure changed. Matt confirmed the Aroostook Thibodeau columns as fusion.
