2747b4826e
A city was a string buried in a job title; now it is a node. build.py mints all 19,513 incorporated Census places (CDPs filtered out — they are statistical, not governed) as Jurisdiction nodes keyed by place GEOID, modelled exactly like a county: place + government fused, with officeholders nested beneath, not a separate Body. Officeholders join to their city by a name+state match (county-hint disambiguated) off the same jurisdiction_label that city_slug uses for placement, so node and people co-locate by construction. 2,229 cities are filled today (2,217 GEOID-resolved, a 98.8% join); the other 17,289 are truthful skeleton stubs — 'governed, not yet mirrored' — the same discipline as the nationwide county skeleton. Deterministic (byte-identical on rerun); classification enum extended with city/town/village/borough; validation green at 57,185 records. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
1.3 KiB
JSON
25 lines
1.3 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Jurisdiction",
|
|
"description": "A place with a government — a county, an incorporated municipality (city, town, village, borough), or an electoral district (congressional, state senate, state house) — carrying demographic context and/or district-overlap edges. A node in the fractal jurisdiction tree.",
|
|
"type": "object",
|
|
"required": ["type", "title", "classification", "confidence", "tags", "timestamp"],
|
|
"properties": {
|
|
"type": { "type": "string", "enum": ["Jurisdiction"] },
|
|
"title": { "type": "string" },
|
|
"classification": { "type": "string", "enum": ["county", "city", "town", "village", "borough", "congressional-district", "state-senate-district", "state-house-district"] },
|
|
"fips": { "type": "string" },
|
|
"geoid": { "type": "string" },
|
|
"state": { "type": "string" },
|
|
"counties": { "type": "array" },
|
|
"district": { "type": "string" },
|
|
"chamber": { "type": "string", "enum": ["senate", "house"] },
|
|
"demographics": { "type": "object" },
|
|
"districts": { "type": "array" },
|
|
"sources": { "type": "array" },
|
|
"confidence": { "type": "string", "enum": ["official", "reported", "inferred", "unverified"] },
|
|
"tags": { "type": "array" },
|
|
"timestamp": { "type": "string" }
|
|
}
|
|
}
|