Municipals: nest 1,823 city officeholders under their real counties

Pull Atlas's place→county crosswalk (Census TIGER 2024 places × county
geometries, 32,041 places) into the build as a committed raw input, and
use it to resolve municipal officeholders whose county was unknown.

- data/place_county_crosswalk.jsonl — new raw input (place_geoid → county_geoid)
- build.py — place-name+state → county_geoid → ACS county slug as a fallback
  in county_slug(); city_slug() generalized to non-FL bare place labels
- data/sources/sources.yaml — provenance entry for the crosswalk

_unresolved municipals: 1919 → 58. The remainder are genuine: CT planning
regions (post-county), county-level rows mislabeled municipal upstream,
consolidated city-counties (null label), Wikidata-QID placeholder names,
and ambiguous same-name places — left unresolved rather than guessed.

Join key is county_geoid (5-digit FIPS); the directory slug is taken from
the ACS county node so municipals nest under the exact existing county dir.
Deterministic (byte-identical rebuild); validate.py passes 19,721 records.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Fabio
2026-07-04 20:23:57 -04:00
parent ad7607856d
commit 199d8b37d3
2893 changed files with 33094 additions and 995 deletions
@@ -32,7 +32,7 @@ timestamp: "2026-07-03"
# Scott County, IA
County jurisdiction.
County jurisdiction — 7 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Robert S. Gallagher"
description: "Mayor, Bettendorf, IA"
role: "Mayor, Bettendorf, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2012-01-01"
current: true
ids:
person: "afaa7a07-d84c-401d-a7ce-0fde82f41fa1"
office: "cb04234c-4ee7-4064-a754-2baee2c5b8c4"
tenure: "8082b5b6-f39e-473f-817d-b6e795ed2b61"
jurisdiction: "736ea89a-65ca-42fd-b83c-822578f93e8c"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Robert S. Gallagher
Current Mayor, Bettendorf, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "Sally Rodriguez"
description: "Mayor, Buffalo, IA"
role: "Mayor, Buffalo, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "c8f05dc8-fbf7-4844-bc02-2f4755c9758d"
office: "c5fe04e3-27f4-4110-ab46-648e7ef1e533"
tenure: "a7c95dac-fa89-4d5b-8229-50a19ad57b78"
jurisdiction: "b00d86b5-e116-421c-8983-6c61a16c669c"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Sally Rodriguez
Current Mayor, Buffalo, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "Mike Matson"
description: "Mayor, Davenport, IA"
role: "Mayor, Davenport, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2020-01-01"
current: true
ids:
person: "6a2e8a86-4cc9-42ac-8d4a-489882db6c51"
office: "3cbf29de-2a50-41cc-b045-3ad7e475db87"
tenure: "bee0030c-1a3d-4af6-8fef-e854189f852b"
jurisdiction: "122fb788-84cf-4e98-9e6c-7479e13de0c8"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Mike Matson
Current Mayor, Davenport, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "Frank King"
description: "Mayor, Eldridge, IA"
role: "Mayor, Eldridge, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2022-01-01"
current: true
ids:
person: "98ca306f-de23-4ba1-a5ca-3934ec4cd1fc"
office: "235e5910-3f06-40f7-b1b2-0ee9488d44aa"
tenure: "fe401e08-7744-4e40-914f-ca027771c52a"
jurisdiction: "0fe8bd75-eaba-4d03-a286-41a056735ed8"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Frank King
Current Mayor, Eldridge, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "Dennis Gerard"
description: "Mayor, Le Claire, IA"
role: "Mayor, Le Claire, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "8a8c9e26-0fec-47d7-8f02-c30dea83416c"
office: "d2ee324d-61ba-463b-aad2-99bdcbcc50d2"
tenure: "21609cb3-47f1-4078-ace1-ac832ec4ae28"
jurisdiction: "3653d858-2ae7-4186-8668-7044e8aab2c6"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Dennis Gerard
Current Mayor, Le Claire, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "Anthony Heddlesten"
description: "Mayor, Riverdale, IA"
role: "Mayor, Riverdale, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2022-01-01"
current: true
ids:
person: "b7d9ed13-dd79-4b84-975d-f8e9b6d625ad"
office: "ab84fcb6-7fe3-433f-8618-1f730663f1b5"
tenure: "eb67b626-b9ee-45db-9c16-5e9ceb4b516d"
jurisdiction: "cd90a769-3d81-4eac-8cd6-c5487658cd67"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# Anthony Heddlesten
Current Mayor, Riverdale, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).
@@ -0,0 +1,39 @@
---
type: Person
title: "John Kostichek"
description: "Mayor, Walcott, IA"
role: "Mayor, Walcott, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "2cbc15f0-1e2e-4e68-bd22-ec281350b658"
office: "4dc80e1e-4590-429a-b32a-8c47a8fe0f7f"
tenure: "d036e627-a2c5-40a8-a613-ba52adb8af82"
jurisdiction: "6be571ff-75a8-408b-bea5-543cbb7abd10"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ia]
timestamp: "2026-07-04"
---
# John Kostichek
Current Mayor, Walcott, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).