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>
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
{
|
||||
"$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" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user