The legislative-process corpus, parallel to the U.S. Code statute corpus.
schemas/bill.schema.json + scripts/ingest_legislation.py (deterministic,
stdlib-only, reads per-state JSONL from the depot); validate.py gains
legislation/ as a third tree; Makefile 'legislation' target. Raw JSONL stays
off-repo on the depot (gitignored); the per-state SHA-256 manifest is the
committed provenance anchor. Vintage 2026-07-01.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The README claimed 'validated by JSON Schema' — now it is true.
/schemas holds a JSON Schema for each entity type (Person, Body,
Candidate, Jurisdiction): a stricter profile over OKF's permissive
base, tolerating unknown keys by design.
scripts/validate.py checks all 17,506 files with no third-party deps
(hand-rolled frontmatter parser + minimal schema engine):
1. OKF conformance — every file has frontmatter with a non-empty type
2. Schema conformance — required fields, property types, enums
3. Link integrity — internal /-rooted links resolve
Non-zero exit on failure, so it is a CI gate. Verified with a negative
test: it catches bad enums and dead links. All 17,506 files pass today.
Makefile ties it together: make build / validate / check.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>