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"
# Waller County, TX
County jurisdiction.
County jurisdiction — 3 officeholders mapped.
## Demographics (ACS 2023)
@@ -0,0 +1,39 @@
---
type: Person
title: "Darrell Branch"
description: "Mayor, Brookshire, TX"
role: "Mayor, Brookshire, TX"
level: "municipal"
branch: "executive"
state: "TX"
tenure:
start: "2026-06-20"
current: true
ids:
person: "3e4cf7e9-3e63-4c3e-9663-0a46944931d5"
office: "e36764d6-111a-4198-8048-98825162b85a"
tenure: "c76f740b-ee88-4e64-be96-ff405ae3eb5a"
jurisdiction: "252ad37e-932e-4c1d-9e5a-b7bd6c4e0315"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, tx]
timestamp: "2026-07-04"
---
# Darrell Branch
Current Mayor, Brookshire, TX.
## 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: "Erica Gillum"
description: "Mayor, Hempstead, TX"
role: "Mayor, Hempstead, TX"
level: "municipal"
branch: "executive"
state: "TX"
tenure:
start: "2026-06-20"
current: true
ids:
person: "b93c8905-b025-4835-a586-3506dbb9cc2d"
office: "50704a46-f76c-4a0c-a0de-e54ad7b2e855"
tenure: "45712076-c51a-4ec0-a197-5b90e446f9a7"
jurisdiction: "4d424a93-e5e7-40f3-9c46-d8195bebc0c8"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, tx]
timestamp: "2026-07-04"
---
# Erica Gillum
Current Mayor, Hempstead, TX.
## 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: "William H. \"Dusty\" Thiele"
description: "Mayor, Katy, TX"
role: "Mayor, Katy, TX"
level: "municipal"
branch: "executive"
state: "TX"
tenure:
start: "2022-05-01"
current: true
ids:
person: "5369f784-72d6-4c5a-9acb-754ed1494943"
office: "3f64d866-a935-40cb-bf76-a1d43754b175"
tenure: "c42cdd1f-f16c-4215-b686-7b070f32a021"
jurisdiction: "a185b2b5-a988-43b7-b66c-0672906d2497"
sources:
- field: office
source: "Wikidata"
- field: tenure
source: "Wikidata"
- field: jurisdiction
source: "Census TIGER 2024"
confidence: official
tags: [officeholder, municipal, executive, tx]
timestamp: "2026-07-04"
---
# William H. "Dusty" Thiele
Current Mayor, Katy, TX.
## Sources
- office: Wikidata
- tenure: Wikidata
- jurisdiction: Census TIGER 2024
Generated from the Atlas officeholders v3 export (2026-07-04).