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"
# Kenton County, KY
County jurisdiction.
County jurisdiction — 3 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Ron Washington"
description: "Mayor, Covington, KY"
role: "Mayor, Covington, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2024-01-01"
current: true
ids:
person: "6dd41a7f-e333-433e-93e2-1946578f3fdb"
office: "8f3a558d-b70f-4879-8c64-677d09b63e8a"
tenure: "d34d563a-be9e-4cf1-b74a-5af60a09f3ca"
jurisdiction: "6440434b-6fea-4357-a42d-3c265aafbcec"
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"
---
# Ron Washington
Current Mayor, Covington, 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: "Jessica Fette"
description: "Mayor, Erlanger, KY"
role: "Mayor, Erlanger, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2026-06-20"
current: true
ids:
person: "ee1c26d8-f7c3-4cdd-b094-0e796440e71f"
office: "06633c45-57fc-4081-861b-d5f024d754f8"
tenure: "f117ef18-3cc7-4382-8f57-243bc41afd23"
jurisdiction: "96b34f6b-b91c-4667-8abf-05216c1e6b51"
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"
---
# Jessica Fette
Current Mayor, Erlanger, 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: "Chris Reinersman"
description: "Mayor, Independence, KY"
role: "Mayor, Independence, KY"
level: "municipal"
branch: "executive"
state: "KY"
tenure:
start: "2014-11-01"
current: true
ids:
person: "1a486cba-df0c-4f55-9d4b-00d5d42c1115"
office: "3939e7f5-9a31-476f-98da-fd43532579c8"
tenure: "e2ef6611-5d9e-4281-ad5b-b5a22049dba8"
jurisdiction: "f73d7361-1566-474f-ab50-0d8c59cf3829"
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"
---
# Chris Reinersman
Current Mayor, Independence, KY.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).