Files
republic-os/data/jurisdictions/us/states/nh/people/matt-sabourin-dit-choiniere.md
T
Fabio 1beeaab2db Graph: national county↔district↔legislator authority layer
The first edges in the repo. Every US county now links to the districts it
sits in, weighted by area overlap, and every legislator links to the district
they represent — county → district → representative, traversable.

Data (PostGIS, no Atlas dependency — computed directly from geometry):
- data/county_district_edges.jsonl — 16,328 weighted edges. area_weight =
  ST_Area(ST_Intersection(county, district))/ST_Area(county) over ST_MakeValid
  Census TIGER 2024 geometries, overlaps <0.5% dropped. Uses area-intersection,
  NOT centroid-in-polygon, so urban districts that carve through counties
  (e.g. GA CD-5 / Atlanta across Clayton+DeKalb+Fulton) are captured, not
  silently dropped. Per-county weights sum to ~1.0 per district type.

build.py:
- ~6,896 new district nodes: 435 CD (ACS demographics where available; sparse
  for the 8 states missing from acs_cd) + 4,927 state-house + 1,897 state-senate
  (geometry-only). GEOID/number-keyed, stable.
- county index.md gains a `districts:` block (frontmatter) + a ## Districts
  section (body links, so link-integrity checks them).
- legislators + US House members gain `represents:` pointing at their district
  node; edge stored once on the person, inverse left to the view.
- schemas/jurisdiction: classification enum + chamber/districts fields.

Honest gaps (logged, not hidden): ID + NH have no state-house geometry, so
their house districts get nodes (represents resolves) but no county edges;
CD nodes for acs_cd-missing states are demographically sparse.

Deterministic (byte-identical rebuild); validate.py passes 26,617 records,
link-integrity clean (every district/represents link resolves).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 22:28:08 -04:00

1.3 KiB

type, title, description, role, party, level, branch, state, district, represents, tenure, election, ids, sources, confidence, tags, timestamp
type title description role party level branch state district represents tenure election ids sources confidence tags timestamp
Person Matt Sabourin dit Choinière NH House District Rockingham 30 — NH State House of Representatives District Rockingham 30 NH House District Rockingham 30 R state legislative NH NH State House of Representatives District Rockingham 30 us/states/nh/districts/house/rockingham-30
start current
2024-12-04 true
term_length term_limit
2 varies
person office tenure jurisdiction
aeeb60f9-158f-496e-b823-63608f0cbb0d 53c06457-2add-4bec-b375-9517a3144de8 9280be6a-7340-4221-89d5-66d474f3784c 81f6f4d1-af1a-4880-9f9c-05435295ad35
field source
tenure OpenStates YAML via GitHub 2026-06-20
field source
jurisdiction Geometry not found in SLD layer
official
officeholder
state
legislative
nh
2026-07-04

Matt Sabourin dit Choinière

Current NH House District Rockingham 30 (NH State House of Representatives District Rockingham 30).

Represents NH State House of Representatives District Rockingham 30.

Sources

  • tenure: OpenStates YAML via GitHub 2026-06-20
  • jurisdiction: Geometry not found in SLD layer

Generated from the Atlas officeholders v3 export (2026-07-04).