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"
# Niagara County, NY
County jurisdiction.
County jurisdiction — 3 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "John Lombardi III"
description: "Mayor, Lockport, NY"
role: "Mayor, Lockport, NY"
level: "municipal"
branch: "executive"
state: "NY"
tenure:
start: "2026-06-20"
current: true
ids:
person: "1db40d75-8a9c-4f70-b197-42b6d8dfebfa"
office: "8ca89ede-e883-43e4-8dda-84a6222dda11"
tenure: "8297326f-e2fa-4392-9a72-2ade571dd75e"
jurisdiction: "be956c94-b21e-4f11-b423-fad46be1d46a"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ny]
timestamp: "2026-07-04"
---
# John Lombardi III
Current Mayor, Lockport, NY.
## 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: "Robert Restaino"
description: "Mayor, Niagara Falls, NY"
role: "Mayor, Niagara Falls, NY"
level: "municipal"
branch: "executive"
state: "NY"
tenure:
start: "2020-01-01"
current: true
ids:
person: "44d078df-bfc6-40cf-bcd5-3d8e2828b006"
office: "04b4b1ad-06c7-4186-8c9e-f2311c4e6a29"
tenure: "6d1dbe04-7f94-4201-a4fe-4dbe692ad911"
jurisdiction: "1f642c39-2091-40c3-89a0-260104189c88"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ny]
timestamp: "2026-07-04"
---
# Robert Restaino
Current Mayor, Niagara Falls, NY.
## 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 J. Tylec"
description: "Mayor, North Tonawanda, NY"
role: "Mayor, North Tonawanda, NY"
level: "municipal"
branch: "executive"
state: "NY"
tenure:
start: "2022-01-01"
current: true
ids:
person: "d433e5c1-858b-4f60-9917-4e551a03b8de"
office: "f20a37b2-c26e-4a2b-ac63-2478744d6795"
tenure: "a60c4fb0-768d-4ca0-8b02-eb1500a3de32"
jurisdiction: "ba70d189-bc2d-4e67-bc17-62b56b88908d"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, ny]
timestamp: "2026-07-04"
---
# Austin J. Tylec
Current Mayor, North Tonawanda, NY.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).