Files
republic-os/schemas/bill.schema.json
Fabio 7764501bcf Legislation axis: Bill schema, OpenStates ingest, validator + provenance
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>
2026-07-06 17:24:31 -04:00

51 lines
1.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Bill",
"description": "A legislative bill: a proposed change to law, with its version chain, action timeline, sponsors, and votes. The legislative-process corpus (OpenStates/OCD source), parallel to the LegalText statute corpus.",
"type": "object",
"required": [
"type",
"title",
"jurisdiction",
"legislature",
"session",
"identifier",
"citation",
"status",
"source",
"source_identifier",
"retrieved_at",
"confidence",
"tags"
],
"properties": {
"type": { "type": "string", "enum": ["Bill"] },
"title": { "type": "string" },
"description": { "type": "string" },
"jurisdiction": { "type": "string" },
"legislature": { "type": "string" },
"session": { "type": "string" },
"identifier": { "type": "string" },
"citation": { "type": "string" },
"classification": { "type": "array" },
"subjects": { "type": "array" },
"status": { "type": "string", "enum": ["enacted", "passed", "failed", "vetoed", "pending", "withdrawn"] },
"chapter_law": { "type": "string" },
"primary_sponsors": { "type": "array" },
"version_count": { "type": "integer" },
"action_count": { "type": "integer" },
"vote_count": { "type": "integer" },
"first_action": { "type": "string" },
"last_action": { "type": "string" },
"source": { "type": "string", "enum": ["official", "openstates"] },
"source_identifier": { "type": "string" },
"source_url": { "type": "string" },
"source_hash": { "type": "string" },
"vintage": { "type": "string" },
"source_snapshot": { "type": "string" },
"retrieved_at": { "type": "string" },
"confidence": { "type": "string", "enum": ["official", "reported", "inferred", "unverified"] },
"tags": { "type": "array" }
}
}