The docs drifted as the project moved fast. Fixed: - Counts to the validator (canonical): 105,743 records, Jurisdiction 29,905 (README had 105,746/29,908 — the exact-GEOID backfill dropped 3 city nodes and only the commit message was updated, not the docs). - sources.md: officeholders-v2 → v3 (13,329); added the inputs that landed since — municipal GEOID backfill, place/district crosswalks, the complete U.S. Code corpus, the executive offices, and the authority edges. - board.md: it described income/population/poverty only; now names the partisan-lean lens, zoom/pan, and the district+representative drill-down. - data-model.md: stale '17,506 files' → 105,743. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Republic OS
An open, version-controlled mirror of public power in the United States.
Government is already software: statutes are code, agencies are processes, elections change the maintainers, and a bill is a pull request against the law. What government has never had is a changelog. This repository is that changelog.
The diff is the product. Every file here mirrors the observable public state of a government entity or legal text as a deterministic, sourced, human-readable record. When government changes, the files change, and git makes the change visible, permanent, and inspectable.
What's in here today
105,743 markdown records, every one schema-validated:
| Entity | Count | What it is |
|---|---|---|
| Person | 13,329 | Current officeholders — federal, all 50 state legislatures, and Florida down to the municipal level. Federal members carry their bioguide ID, leadership roles, and committee seats. |
| Body | 275 | The institutions themselves — the U.S. House, the Senate, 49 committees, 181 subcommittees, and now the executive branch: the 15 Cabinet departments and the 21 Executive-Schedule Level I offices, minted from the Code's own enumerations (5 U.S.C. §§ 101, 5312). |
| Candidate | 2,494 | Everyone running for federal office in 2026, from FEC filings. |
| Jurisdiction | 29,905 | Every U.S. county (3,131), all 435 congressional districts (Census demographics on 363), every state legislative district (4,927 house, 1,897 senate), and every incorporated municipality in the country — 19,513 cities, towns, villages, and boroughs — keyed by Census place GEOID, with officeholders attached where the mirror has them. |
| LegalText | 59,740 | The complete United States Code — every section of all 53 titles that carry content (Title 53 is reserved), from General Provisions to Wildlife, mirrored section-by-section from the official OLRC USLM XML at release point 119-100 (current through Public Law 119-100). |
And the axes now cross: 27,804 authority edges link 17,031 U.S. Code sections to the executive offices they empower, so the Attorney General's node lists every one of the 2,386 sections that vests authority in it. Law and power are no longer separate piles.
The mirror answers, with receipts: who holds power, who runs the institution, who's running, what each place is made of — down to the city, what the entire body of federal statutory law says, and which office each law empowers — and, through git, what changed.
How it works
raw source exports deterministic build validated tree
data/*.jsonl ──► scripts/build.py ──► data/jurisdictions/**
data/legal/raw ──► scripts/ingest_*.py ──► legal/**
(committed as-is) (one pass) (OKF markdown + YAML)
- Format — Markdown with YAML frontmatter, OKF-conformant, validated by JSON Schema in
/schemas. Human-readable in any editor or on GitHub; machine-readable by any agent. - Deterministic —
make buildandmake legal-us-coderegenerate their trees from committed raw sources and pinned official snapshots. Records change only when government changes, so every diff is signal. - Sourced — every record carries field-level provenance and a confidence level. This repo is a mirror, never the authority; official sources remain the source of truth.
- Raw-first — source exports land in
data/*.jsonluntouched before any transformation, so the origin is always recoverable.
Commands
make build # regenerate the entity tree from the raw exports
make legal-us-code # regenerate the U.S. Code legal corpus (TITLES="1 2 ..." overridable)
make validate # OKF + schema + link-integrity checks on all records
make changelog # what changed in the government since the last commit
make board # rebuild the Board's inlined data from the tree
make check # build, then validate — the full gate
Everything runs on the Python standard library. No dependencies to install.
Documentation
- Government as Code — the philosophy: why git, and what its primitives mean for government
- Data Model — entity types, IDs, the file format, the jurisdiction tree
- Sources — where every fact comes from, and how current it is
- Legal Corpus — deterministic legal text mirroring, raw snapshots, manifests, and checksums
- The Board — the county map view, how its data is rebuilt, and how to redeploy the Artifact
- Roadmap — what exists, what's next
- Contributing — the disciplines, and how to add a source
- Technical Brief — Government as Software — the founding document
- CHANGELOG.md — the civic changelog, generated from git history
The disciplines — the v1.0 target
This repository is a prototype testing a theory, not a finished mirror. Until it earns a v1.0, main is the workbench: history is malleable — rebase, squash, force-push, and prune are all fair game — and raw source snapshots live off-repo (on the depot), so the tree stays lean while the shape is still moving. What's committed here is the product (the entity + legal records) and its provenance (manifests and SHA-256 checksums); the raw bytes those hashes anchor are recoverable off-box.
The disciplines the finished mirror will be held to — and which lock in at v1.0, once there's a record people depend on:
- Never overwrite — a change is a new commit, not a clobbered file. Deletes are diffs.
- Never rewrite history — no force-push, no squash. The past is load-bearing.
- Always push off-box — one copy is a single point of failure; more is not.
- Raw-first, in-repo — every source snapshot committed, so origin is recoverable from git alone.
They are ideals for a mirror the public relies on. We're not there yet — we're finding out whether the theory holds. Substrate for influence.tools.