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"
# Kent County, MI
County jurisdiction.
County jurisdiction — 3 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Rosalynn Bliss"
description: "Mayor, Grand Rapids, MI"
role: "Mayor, Grand Rapids, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2016-01-01"
current: true
ids:
person: "24ded226-eadc-4eb8-b38e-ab5eebdd090c"
office: "f2237756-7db1-4095-9447-b96502dde321"
tenure: "58b051d9-face-4549-94c4-cd13752d08d9"
jurisdiction: "83c11f9f-65fd-4f63-9443-f256cd9ecdec"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, mi]
timestamp: "2026-07-04"
---
# Rosalynn Bliss
Current Mayor, Grand Rapids, MI.
## 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: "Stephen Kepley"
description: "Mayor, Kentwood, MI"
role: "Mayor, Kentwood, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2013-01-01"
current: true
ids:
person: "43f2cad6-fbde-4061-8335-be41ae14dd4f"
office: "c164c84d-cdc8-4dd2-8a0d-0d3f1c128b57"
tenure: "5f504576-8876-4713-b0b5-e52061459304"
jurisdiction: "b70ab4b8-d8d6-4c8c-8262-d8e660de8f3b"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, mi]
timestamp: "2026-07-04"
---
# Stephen Kepley
Current Mayor, Kentwood, MI.
## 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: "Kent Vanderwood"
description: "Mayor, Wyoming, MI"
role: "Mayor, Wyoming, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2026-06-20"
current: true
ids:
person: "815ebe6b-0a32-4a00-b1f3-d8cbef8c3a0d"
office: "97b97365-4d9b-4075-b07c-38d8e20153ac"
tenure: "4c193bc7-055a-4bd8-a367-4ed01fc64c7e"
jurisdiction: "f8f9bcec-4f9f-4bf4-990e-73536419d88a"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, mi]
timestamp: "2026-07-04"
---
# Kent Vanderwood
Current Mayor, Wyoming, MI.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).