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"
# Wayne County, MI
County jurisdiction.
County jurisdiction — 5 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Abdullah Hammoud"
description: "Mayor, Dearborn, MI"
role: "Mayor, Dearborn, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2026-06-20"
current: true
ids:
person: "dd7a4737-4dbc-46a3-8652-77dedd42f751"
office: "fc129731-4eff-4cf7-9552-7fd4b2070a1b"
tenure: "cf778932-5b92-48ab-a021-3089cb42eb89"
jurisdiction: "bab1a6c6-bc0a-44fe-9d39-77134565fb80"
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"
---
# Abdullah Hammoud
Current Mayor, Dearborn, 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: "Mary Sheffield"
description: "Mayor, Detroit, MI"
role: "Mayor, Detroit, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2026-01-01"
current: true
ids:
person: "58c03de7-9408-466c-a89c-f5e1615febe1"
office: "0991ac55-e2c5-48f9-acd5-7860ab7e3ab3"
tenure: "8f3bf4fe-4bb2-4cb8-b1bb-611307acd10f"
jurisdiction: "d5c132c4-c297-42ea-bd12-94dd80e74477"
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"
---
# Mary Sheffield
Current Mayor, Detroit, 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: "Arthur Bryant"
description: "Mayor, Grosse Pointe Woods, MI"
role: "Mayor, Grosse Pointe Woods, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2021-11-08"
current: true
ids:
person: "59bbd99a-626b-4f4c-adb6-f2c0c721121e"
office: "edab9321-f065-41d9-9508-e8a9ffa7dbd0"
tenure: "e05baa1f-0afc-4905-a8d4-0becabec4f4c"
jurisdiction: "47562627-6205-462f-9abe-933736e4a4c2"
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"
---
# Arthur Bryant
Current Mayor, Grosse Pointe Woods, 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: "Glenda McDonald"
description: "Mayor, Highland Park, MI"
role: "Mayor, Highland Park, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2026-06-20"
current: true
ids:
person: "523c6f9c-9ac9-4fdc-b6c7-6148e165373b"
office: "5e58448c-96c0-4af3-aac9-195736b3fff1"
tenure: "0c5279c1-47d2-41cd-8390-96f0e5600101"
jurisdiction: "67da6b0a-7eea-494b-9862-1dda6dccb78d"
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"
---
# Glenda McDonald
Current Mayor, Highland Park, 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: "Maureen Miller Brosnan"
description: "Mayor, Livonia, MI"
role: "Mayor, Livonia, MI"
level: "municipal"
branch: "executive"
state: "MI"
tenure:
start: "2019-01-01"
current: true
ids:
person: "372900c1-902e-4708-bdc0-d767cf6ad0f0"
office: "cfa6e706-7bc5-4e82-80a1-4d74485e75a6"
tenure: "8d921133-f67d-41c5-b4d5-ab0bdb39569d"
jurisdiction: "44a105a5-4f7b-4571-9703-6aa018c09cb3"
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"
---
# Maureen Miller Brosnan
Current Mayor, Livonia, MI.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).