2d6d7b0f1c
check / check (push) Successful in 53s
README/roadmap/data-model updated for the city nodes: entity counts, the places tree layout, and the roadmap pivot from 'mint local bodies' to 'fill the municipal skeleton.' Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
Roadmap
An honest account of what exists, what's next, and what's further out. This repository will always be evolving; there is no "finished."
Done
- The substrate — repo-canonical, OKF markdown + YAML frontmatter, JSON-Schema validated, deterministic build (byte-identical on rerun).
- Five entity types, 57,185 files — Person (13,329), Body (233), Candidate (2,494), Jurisdiction (29,908), LegalText (11,221).
- The federal government, structurally — every member of Congress, the chambers, 49 committees and 181 subcommittees with their leadership, and every member's committee seats.
- The nationwide county skeleton — all 3,131 U.S. counties as demographic nodes, plus all 435 congressional districts (Census ACS demographics on 363).
- The authority layer — every state legislative district (4,927 house, 1,897 senate) linked county↔district↔legislator, nationwide.
- The municipal layer — every incorporated place in the country (19,513 cities, towns, villages, boroughs) as a first-class Jurisdiction node keyed by Census place GEOID, modelled like a county (place + government fused). 2,229 are filled with their officeholders today (2,217 GEOID-resolved off a 98.8% name→GEOID join); the rest are truthful skeleton stubs — "governed, not yet mirrored" — waiting for depth, the same discipline as the county skeleton.
- The legal corpus, seeded wide — U.S. Code Titles 1–11 and 52 as 11,221 per-section records, mirrored from pinned OLRC XML (release 119-100) with manifests and checksums. Titles 12–54 pending an OLRC XML retry (the GovInfo HTML fallback is not source-quality).
- The 2026 federal candidate field — every FEC filing as a Candidate.
- Florida to the ground — officeholders down to the municipal level across all 67 counties.
- The pipeline —
make build/validate/changelog/check, standard-library only. - The changelog engine — git diffs rendered as a plain-language civic changelog.
- The Board — a self-contained coverage map (
viz/board.html).
Next
- Self-updating mirror — the
make checkGitHub Action now guards every push; next is the scheduled job that pulls a fresh Atlas export, rebuilds, and commits the changelog automatically. That is the point where the mirror maintains itself and the daily civic changelog becomes real (the first re-sync diff, where only genuine government changes surface). - The full U.S. Code — titles 12–54 as OLRC USLM XML at the same release point (retry in progress on Atlas; the WAF-blocked titles currently exist only as GovInfo HTML, which stays a secondary snapshot).
- The demographic choropleth — the Board already has ACS data for every county; shade the map by population, income, and poverty, turning it from a coverage indicator into an instrument.
- Fill the municipal skeleton — the 19,513 city nodes exist; 2,229 carry officeholders. The work now is depth: pull municipal officeholders for the next states (Texas, California, Ohio all have a spine already), each a diff against a node that's waiting. Municipal ACS demographics would enrich every city node the way ACS already enriches counties.
- State and local bodies — Bodies (as distinct institution files) currently exist only at the federal level. Mint them for state legislatures and, following the municipal layer, county commissions where they warrant a Body of their own.
- Graph export — a loader that walks the tree and builds the relationship graph (Memgraph) as a materialized view, so the repo can rehydrate the graph rather than the reverse.
Later
- The issues axis — cross-cutting
Issueentities that link people, bodies, and places across the jurisdiction tree, so the mirror answers "who, nationwide, is touching this issue?" and not only "who governs here?" - The money layer — donations, contracts, and grants as sourced event files; the flows that make influence legible (the Sankey / "circuit-breaker" views from the brief).
- Meetings and agendas — the highest-value local data, and the hardest: scraped from Legistar / Granicus / CivicPlus portals and, where towns publish nothing in text, from meeting video. A new agenda item is a diff with a deadline — a mission.
- Contribution as correction — let people propose fixes to the mirror (a wrong phone number, a missed meeting) as pull requests, making the public literal contributors to their own civic record.
Non-goals
Deliberately out of scope, to keep the mirror honest and buildable:
- Becoming an authority. This is a mirror; official sources remain the source of truth.
- A heavy web application, database dependency, or graph-database setup in the core repository. The substrate stays flat files.
- Ingesting all of government at once. Depth follows attention, county by county.