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"
# Jefferson County, KY
County jurisdiction.
County jurisdiction — 5 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Carol Pike"
description: "Mayor, Jeffersontown, KY"
role: "Mayor, Jeffersontown, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2026-06-20"
current: true
ids:
person: "8bd37d9e-fca3-421c-b4f1-be2a9073ffb0"
office: "4dbcd22c-4791-4ac6-a4bb-50fcb7cb3c52"
tenure: "d81c03c9-9ed5-479c-8a6c-cdfb84115d5d"
jurisdiction: "963b6153-d438-4746-a3e4-7e41a6f64755"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ky]
timestamp: "2026-07-04"
---
# Carol Pike
Current Mayor, Jeffersontown, KY.
## 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: "Craig Greenberg"
description: "Mayor, Louisville, KY"
role: "Mayor, Louisville, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2023-01-02"
current: true
ids:
person: "050b778b-d327-4e00-b8bb-1e21fbf0329b"
office: "0e6b6eb8-d4a4-4618-be52-72513e359507"
tenure: "d970d045-b205-4f29-92e9-731fc3f61365"
jurisdiction: "54e982e4-5e9e-451d-8a87-2a7441b1f38b"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ky]
timestamp: "2026-07-04"
---
# Craig Greenberg
Current Mayor, Louisville, KY.
## 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: "Brent Hagan"
description: "Mayor, Lyndon, KY"
role: "Mayor, Lyndon, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2026-06-20"
current: true
ids:
person: "f0196b29-f805-4950-bc09-38e9d9179441"
office: "6320ee3c-ec16-475f-a3ce-a94aa01ff622"
tenure: "26b62f53-65fd-47b5-9bba-e59889050466"
jurisdiction: "d56ce853-1b13-442c-bc5d-c3d461d27905"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ky]
timestamp: "2026-07-04"
---
# Brent Hagan
Current Mayor, Lyndon, KY.
## 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: "Maria D. Johnson"
description: "Mayor, Shively, KY"
role: "Mayor, Shively, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2026-06-20"
current: true
ids:
person: "0998e7da-b430-4a27-963b-e6ca16203610"
office: "bc3a3081-c673-43ef-b5b9-8716fa2b8d9b"
tenure: "44fbacc0-3438-4ac7-a7bf-a403205e29a1"
jurisdiction: "6cd20082-62d1-497e-aea6-891603f71998"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ky]
timestamp: "2026-07-04"
---
# Maria D. Johnson
Current Mayor, Shively, KY.
## 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: "Richard J. Tonini"
description: "Mayor, St. Matthews, KY"
role: "Mayor, St. Matthews, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2015-01-01"
current: true
ids:
person: "49a43a40-7cbb-4854-85b1-1eab0624ae1c"
office: "b6b46c97-cae3-483d-aa6d-ab82457a5550"
tenure: "c8d8fd47-d30e-4c20-9e9e-f85830337fcc"
jurisdiction: "d539a90a-be31-4e51-a710-af123f0c8333"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ky]
timestamp: "2026-07-04"
---
# Richard J. Tonini
Current Mayor, St. Matthews, KY.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).