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"
# Clinton County, IA
County jurisdiction.
County jurisdiction — 12 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Jason Johnson"
description: "Mayor, Andover, IA"
role: "Mayor, Andover, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "366c32dc-dce7-42c5-bb3a-717775e9cfdd"
office: "c076dce9-1548-4266-b166-0b7cd5fa92b4"
tenure: "d0fe8fa0-d50f-40cc-9589-d1e4be7612b3"
jurisdiction: "25393b97-6bc7-4907-a278-f7c26e16da3f"
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"
---
# Jason Johnson
Current Mayor, Andover, 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: "Lance Goettsch"
description: "Mayor, Calamus, IA"
role: "Mayor, Calamus, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "49400521-56c5-4654-ad44-b5fff2585939"
office: "7e2f8084-cfc0-4142-9a3e-853fef807b86"
tenure: "c6192c10-26dc-4913-aea4-da66939f9936"
jurisdiction: "74608185-6603-4f36-a1e9-88cb16b98a91"
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"
---
# Lance Goettsch
Current Mayor, Calamus, 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: "Austin Pruett"
description: "Mayor, Camanche, IA"
role: "Mayor, Camanche, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "94bb803a-8409-47ca-9213-cc479fc7b981"
office: "72e60f47-98a9-47af-819c-0e5bfe2e3add"
tenure: "4df0b985-90a6-4d87-914b-be88a344bd25"
jurisdiction: "0e8a4ee5-cd9a-468f-b2b0-9871ac6441fa"
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"
---
# Austin Pruett
Current Mayor, Camanche, 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: "Scott Maddasion"
description: "Mayor, Clinton, IA"
role: "Mayor, Clinton, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2020-01-01"
current: true
ids:
person: "ad039735-574f-426f-88b1-702a55a7f26f"
office: "f4ac5d06-85c4-4fae-a425-b8ece09af133"
tenure: "1bd3d0d2-aba7-4bcc-b400-c3920fa39601"
jurisdiction: "46f691a5-fec2-4119-8311-9b6febf220cb"
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"
---
# Scott Maddasion
Current Mayor, Clinton, 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: "Patty Hardin"
description: "Mayor, Delmar, IA"
role: "Mayor, Delmar, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "9781d1b4-d33d-472e-a06a-2261fc457d4d"
office: "974bfbdc-83b9-42fd-92b9-b339468d8886"
tenure: "e972edac-5cf6-40c3-bd0c-ed8046db0e2d"
jurisdiction: "abcfdfa7-05a0-4bd1-b535-0a15c443211c"
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"
---
# Patty Hardin
Current Mayor, Delmar, 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 Hasenmiller"
description: "Mayor, DeWitt, IA"
role: "Mayor, DeWitt, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "9ea2cbcf-9ce0-4204-9b8a-55307f7be60d"
office: "700e8b53-cdc9-4c97-ac19-ab1703c0cda1"
tenure: "b45906a0-4cdf-4b5d-8e0f-d320ae479434"
jurisdiction: "720173d6-61e3-42a2-94ba-34de0b6ac676"
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 Hasenmiller
Current Mayor, DeWitt, 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: "Ken Schoon"
description: "Mayor, Goose Lake, IA"
role: "Mayor, Goose Lake, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "5da4e9e9-6b60-4996-946d-130c49953baa"
office: "40113226-c91a-4253-ade1-e9e0e93e4978"
tenure: "bba7153a-a74b-4c41-bff2-3ebf8c1677a5"
jurisdiction: "e485cf7e-8d75-4e66-9f7d-2365d3b333b9"
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"
---
# Ken Schoon
Current Mayor, Goose Lake, 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: "Kurt Crosthwaite"
description: "Mayor, Grand Mound, IA"
role: "Mayor, Grand Mound, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "05d2e84e-cfda-4e3d-ba5d-3b5ddefc2cb2"
office: "164a0079-4af5-4e48-b483-d28c4d6233fc"
tenure: "4340c831-9dac-4da4-8ef5-0930eae35ce9"
jurisdiction: "909c12c5-d9a3-4242-a410-cb5e89e78327"
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"
---
# Kurt Crosthwaite
Current Mayor, Grand Mound, 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: "Ramon Gilroy"
description: "Mayor, Lost Nation, IA"
role: "Mayor, Lost Nation, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "ee723f6e-4a73-488e-880b-7aae5ab2b58b"
office: "9844260d-0eb4-466c-bbea-debddcaf5b97"
tenure: "23e977a2-4afd-4bb6-b608-9e9fcbfd1ade"
jurisdiction: "d67d6139-6652-4be6-9ee3-dc754378595b"
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"
---
# Ramon Gilroy
Current Mayor, Lost Nation, 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: "Tom Goldensoph"
description: "Mayor, Low Moor, IA"
role: "Mayor, Low Moor, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "4526c107-6f71-4e1a-80be-7668e1acb190"
office: "ed5aadee-975c-40ed-bf6f-10a231613e11"
tenure: "265ee2eb-ae9b-4048-9a0e-42d38ef95810"
jurisdiction: "08356ef6-324b-4708-98d3-cd65a7975e40"
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"
---
# Tom Goldensoph
Current Mayor, Low Moor, 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: "Ashley Paulsen"
description: "Mayor, Welton, IA"
role: "Mayor, Welton, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "6cc6e72d-21d1-4bc2-b8fb-7a0ded33e26b"
office: "eadc0fc4-5b6c-45c5-8e1f-030360195ef0"
tenure: "866d476f-12c2-426a-a8ab-87079e1b7f59"
jurisdiction: "94a73c4b-bd71-44fa-846d-9934ed5c79e3"
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"
---
# Ashley Paulsen
Current Mayor, Welton, 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: "Jeremiah Wiese"
description: "Mayor, Wheatland, IA"
role: "Mayor, Wheatland, IA"
level: "municipal"
branch: "executive"
state: "IA"
tenure:
start: "2026-06-20"
current: true
ids:
person: "657b66a3-e98c-40d9-9382-fa6f70596827"
office: "ecb2ac9a-4f94-441f-8873-8c74fa9c71d9"
tenure: "5ce1b5c6-7b5f-441a-9b6d-41fc6e737d26"
jurisdiction: "05eaa0fd-6f04-4798-a06d-d6717931db08"
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"
---
# Jeremiah Wiese
Current Mayor, Wheatland, IA.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).