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"
# Dickinson County, IA
County jurisdiction.
County jurisdiction — 5 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Jim Hussong"
description: "Mayor, Arnolds Park, IA"
role: "Mayor, Arnolds Park, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "893f9c27-bb13-4822-82be-c57054c0308e"
office: "28f31101-3280-4d36-82bb-2c73ba087788"
tenure: "026c554b-9378-48da-b63e-9d2046f09a40"
jurisdiction: "e514f643-9c2e-4406-a2d9-f832035814c0"
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"
---
# Jim Hussong
Current Mayor, Arnolds Park, 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: "Matt Carstensen"
description: "Mayor, Lake Park, IA"
role: "Mayor, Lake Park, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2020-01-01"
current: true
ids:
person: "65799ad0-bd97-4551-bc4a-29965564c98c"
office: "6a0b88b4-d33f-475f-91ce-a937db5a86fd"
tenure: "36b90195-959c-4849-8d75-f07b0829269c"
jurisdiction: "9c79a73e-8139-47a5-b1bb-1ce427aafa70"
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"
---
# Matt Carstensen
Current Mayor, Lake Park, 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: "Steve Anderson"
description: "Mayor, Milford, IA"
role: "Mayor, Milford, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2024-01-01"
current: true
ids:
person: "31608f5d-ec58-4ccc-bb5a-7947f27ad68d"
office: "bc34b42c-e481-4956-8b09-0563fa007e2b"
tenure: "f1b7a4d0-52ee-40e8-9b70-54d5b23972fb"
jurisdiction: "05c17775-2b5d-4efc-adbc-0deba8be13b3"
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"
---
# Steve Anderson
Current Mayor, Milford, 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: "Mary VanderWoude"
description: "Mayor, Okoboji, IA"
role: "Mayor, Okoboji, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2005-11-08"
current: true
ids:
person: "d9de471b-a09f-40a0-aaed-3a7f9e1c7fad"
office: "914a54db-ccd8-4352-b532-0adf09e3e307"
tenure: "8f46b66f-740f-4507-9a56-83499423d1b6"
jurisdiction: "10c766f8-22f3-49df-9f31-4401a7e19851"
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"
---
# Mary VanderWoude
Current Mayor, Okoboji, 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: "Kevin Bice"
description: "Mayor, Spirit Lake, IA"
role: "Mayor, Spirit Lake, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "8fbabc53-11e6-44d1-8243-1f63775f23cc"
office: "cfff9f26-af47-4a55-b77f-961082330879"
tenure: "3b49d7de-5e23-48f7-8f0d-93bf09f77684"
jurisdiction: "103931b1-6355-4078-b913-7c86e501942e"
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"
---
# Kevin Bice
Current Mayor, Spirit Lake, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).