{
    "$defs": {
        "Agent": {
            "additionalProperties": false,
            "description": "Something that can speak, act, publish, send or receive money.",
            "properties": {
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                },
                "online_accounts": {
                    "description": "Official websites and public social media accounts.",
                    "items": {
                        "$ref": "#/$defs/OnlineAccount"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "name"
            ],
            "title": "Agent",
            "type": "object"
        },
        "Bill": {
            "additionalProperties": false,
            "description": "A piece of legislation. `name` is its title.",
            "properties": {
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "legislation_identifier": {
                    "description": "e.g. \"H.R. 1234\".",
                    "type": "string"
                },
                "legislative_session": {
                    "description": "e.g. \"119th Congress\" or \"2025 Regular Session\".",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "legislature": {
                    "description": "The legislature or chamber where the bill was introduced.",
                    "type": "string"
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "sponsors": {
                    "description": "Legislators who sponsored or cosponsored the bill.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "topics": {
                    "description": "Subject areas the record is about.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "url": {
                    "description": "Canonical web page for the record, e.g. an official site or the published fact- check.",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "legislation_identifier",
                "legislature",
                "id",
                "name"
            ],
            "title": "Bill",
            "type": "object"
        },
        "Claim": {
            "additionalProperties": false,
            "description": "A checkable proposition in canonical wording, independent of who said it. Multiple Statements can make the same Claim.",
            "properties": {
                "appearances": {
                    "description": "Statements that make this claim.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "first_appearance": {
                    "description": "Earliest known statement making this claim.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "text": {
                    "description": "The proposition in canonical, neutral wording.",
                    "type": "string"
                },
                "topics": {
                    "description": "Subject areas the record is about.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "text"
            ],
            "title": "Claim",
            "type": "object"
        },
        "ClaimReview": {
            "additionalProperties": false,
            "description": "A fact-check of a Claim, either imported from a third-party fact-checker (as published in their schema.org ClaimReview markup) or produced by Electepedia contributors.",
            "properties": {
                "author": {
                    "description": "The fact-checking organization or person.",
                    "type": "string"
                },
                "claim_reviewed": {
                    "description": "The claim as worded by the reviewer.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "date_published": {
                    "description": "When the fact-check was published.",
                    "format": "date",
                    "type": "string"
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "item_reviewed": {
                    "description": "The Claim being fact-checked.",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "review_body": {
                    "description": "Summary of the reviewer's reasoning.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "review_rating": {
                    "$ref": "#/$defs/Rating",
                    "description": "The reviewer's verdict."
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "url": {
                    "description": "Canonical web page for the record, e.g. an official site or the published fact- check.",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "item_reviewed",
                "author",
                "review_rating",
                "date_published"
            ],
            "title": "ClaimReview",
            "type": "object"
        },
        "Count": {
            "additionalProperties": false,
            "description": "The number of votes for one option in a VoteEvent.",
            "properties": {
                "option": {
                    "$ref": "#/$defs/VoteOptionEnum",
                    "description": "Popolo encodes this as the Count's rdf:type (opengov:YesCount etc.)."
                },
                "value": {
                    "description": "Number of votes recorded for this option.",
                    "minimum": 0,
                    "type": "integer"
                }
            },
            "required": [
                "option",
                "value"
            ],
            "title": "Count",
            "type": "object"
        },
        "CoverageTierEnum": {
            "description": "Inclusion tiers. Anyone outside these is out of scope.",
            "enum": [
                "officeholder",
                "candidate",
                "senior_staff",
                "media_figure",
                "public_figure"
            ],
            "title": "CoverageTierEnum",
            "type": "string"
        },
        "Dataset": {
            "additionalProperties": false,
            "description": "A bundle of Electepedia records, e.g. one import batch or an example file.",
            "properties": {
                "bills": {
                    "description": "Bill records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Bill"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "claim_reviews": {
                    "description": "ClaimReview records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/ClaimReview"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "claims": {
                    "description": "Claim records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Claim"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "events": {
                    "description": "Event records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Event"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "financial_transactions": {
                    "description": "FinancialTransaction records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/FinancialTransaction"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "memberships": {
                    "description": "Membership records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Membership"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "motions": {
                    "description": "Motion records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Motion"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "organizations": {
                    "description": "Organization records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Organization"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "people": {
                    "description": "Person records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Person"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "posts": {
                    "description": "Post records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Post"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "sources": {
                    "description": "Source records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Source"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "statements": {
                    "description": "Statement records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Statement"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "topics": {
                    "description": "Topic records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Topic"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "vote_events": {
                    "description": "VoteEvent records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/VoteEvent"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "votes": {
                    "description": "Vote records in this bundle.",
                    "items": {
                        "$ref": "#/$defs/Vote"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "title": "Dataset",
            "type": "object"
        },
        "Event": {
            "additionalProperties": false,
            "description": "Something that happened at a time: a debate, hearing, interview, broadcast segment, press conference. Rhetornet extends this for debates.",
            "properties": {
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "end_date": {
                    "description": "Absent means ongoing.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "event_type": {
                    "$ref": "#/$defs/EventTypeEnum",
                    "description": "What kind of event this is."
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "location": {
                    "description": "Where it took place, as free text, e.g. \"Cleveland, OH\" or \"Senate floor\".",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                },
                "organizers": {
                    "description": "Who held or hosted the event, e.g. a broadcaster, committee or campaign.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "participants": {
                    "description": "People who spoke or took part, e.g. debaters, witnesses, panelists, hosts.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "start_date": {
                    "description": "Date the role, position, event or period began.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "start_time": {
                    "description": "Precise start, when known; `start_date` is always set.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "topics": {
                    "description": "Subject areas the record is about.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "url": {
                    "description": "Canonical web page for the record, e.g. an official site or the published fact- check.",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "event_type",
                "id",
                "name"
            ],
            "title": "Event",
            "type": "object"
        },
        "EventTypeEnum": {
            "description": "Kinds of event.",
            "enum": [
                "debate",
                "town_hall",
                "hearing",
                "floor_session",
                "interview",
                "broadcast",
                "podcast",
                "press_conference",
                "speech",
                "rally",
                "other"
            ],
            "title": "EventTypeEnum",
            "type": "string"
        },
        "ExternalIdentifier": {
            "additionalProperties": false,
            "description": "An identifier in an external registry (Popolo Identifier).",
            "properties": {
                "scheme": {
                    "$ref": "#/$defs/IdentifierSchemeEnum",
                    "description": "The registry the identifier belongs to."
                },
                "value": {
                    "description": "The identifier exactly as the registry writes it, e.g. \"S000148\".",
                    "type": "string"
                }
            },
            "required": [
                "scheme",
                "value"
            ],
            "title": "ExternalIdentifier",
            "type": "object"
        },
        "FinancialTransaction": {
            "additionalProperties": false,
            "description": "Money moving between two agents: a contribution to a campaign committee, an independent expenditure, a speaking fee, a lobbying payment. Either side can be a Person or an Organization.",
            "properties": {
                "amount": {
                    "description": "Amount in `currency`, as reported.",
                    "minimum": 0,
                    "type": "number"
                },
                "currency": {
                    "description": "ISO 4217 code.",
                    "pattern": "^[A-Z]{3}$",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "recipient": {
                    "description": "Who received the money (for expenditures, the payee).",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sender": {
                    "description": "Who the money came from.",
                    "type": "string"
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "transaction_date": {
                    "description": "When the money changed hands, or the date given in the filing.",
                    "format": "date",
                    "type": "string"
                },
                "transaction_type": {
                    "$ref": "#/$defs/TransactionTypeEnum",
                    "description": "What kind of payment this is."
                }
            },
            "required": [
                "id",
                "sender",
                "recipient",
                "amount",
                "transaction_date",
                "transaction_type",
                "sources"
            ],
            "title": "FinancialTransaction",
            "type": "object"
        },
        "HasProvenance": {
            "additionalProperties": false,
            "description": "Every factual record says where it came from and who recorded it.",
            "properties": {
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "title": "HasProvenance",
            "type": "object"
        },
        "IdentifierSchemeEnum": {
            "description": "External registries whose identifiers Electepedia stores.",
            "enum": [
                "wikidata",
                "bioguide",
                "fec_candidate",
                "fec_committee",
                "ocd_person",
                "ocd_organization",
                "ocd_division",
                "govtrack",
                "opensecrets",
                "votesmart",
                "ballotpedia",
                "congress_bill",
                "other"
            ],
            "title": "IdentifierSchemeEnum",
            "type": "string"
        },
        "Membership": {
            "additionalProperties": false,
            "description": "A dated role linking a Person to an Organization, optionally in a Post. This is how every role is represented: office, candidacy, staff job, newsroom job, recurring commentator slot, party office, lobbying client.",
            "properties": {
                "end_date": {
                    "description": "Absent means ongoing.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "member": {
                    "description": "The person holding the role.",
                    "type": "string"
                },
                "organization": {
                    "description": "The organization the record belongs to or takes place in.",
                    "type": "string"
                },
                "post": {
                    "description": "The formal position held, if the role has one.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "role_category": {
                    "$ref": "#/$defs/RoleCategoryEnum",
                    "description": "Normalized kind of role, for filtering across organizations."
                },
                "role_title": {
                    "description": "Title as used by the organization, e.g. \"Press Secretary\".",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "start_date": {
                    "description": "Date the role, position, event or period began.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "organization",
                "role_category",
                "member"
            ],
            "title": "Membership",
            "type": "object"
        },
        "Motion": {
            "additionalProperties": false,
            "description": "A formal proposal put to a vote (passage, amendment, cloture...).",
            "properties": {
                "bill": {
                    "description": "The bill the motion concerns, if any.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "classification": {
                    "$ref": "#/$defs/MotionTypeEnum",
                    "description": "What the motion proposes."
                },
                "date_submitted": {
                    "description": "When the motion was made.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "legislative_session": {
                    "description": "e.g. \"119th Congress\" or \"2025 Regular Session\".",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "organization": {
                    "description": "The chamber or committee voting.",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "text": {
                    "description": "e.g. \"On Passage of the Bill\".",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "organization",
                "text"
            ],
            "title": "Motion",
            "type": "object"
        },
        "MotionTypeEnum": {
            "description": "Kinds of motion.",
            "enum": [
                "passage",
                "amendment",
                "cloture",
                "procedural",
                "nomination",
                "treaty",
                "veto_override",
                "other"
            ],
            "title": "MotionTypeEnum",
            "type": "string"
        },
        "NamedThing": {
            "additionalProperties": false,
            "description": "Base for records that have a display name and may carry external identifiers.",
            "properties": {
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "name"
            ],
            "title": "NamedThing",
            "type": "object"
        },
        "NormalizedRatingEnum": {
            "description": "Common scale that every reviewer's verdict is mapped onto.",
            "enum": [
                "true",
                "mostly_true",
                "mixed",
                "mostly_false",
                "false",
                "misleading",
                "unsupported"
            ],
            "title": "NormalizedRatingEnum",
            "type": "string"
        },
        "OnlineAccount": {
            "additionalProperties": false,
            "description": "A public account the agent operates (official website, social media).",
            "properties": {
                "handle": {
                    "description": "Account name on the platform, e.g. \"@example\", if it has one.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "platform": {
                    "description": "e.g. \"website\", \"x\", \"bluesky\", \"youtube\", \"substack\".",
                    "type": "string"
                },
                "url": {
                    "description": "Link to the account or site.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "platform",
                "url"
            ],
            "title": "OnlineAccount",
            "type": "object"
        },
        "Organization": {
            "additionalProperties": false,
            "description": "Any organization: legislature, chamber, committee, party, agency, campaign, PAC, news outlet, think tank, etc.",
            "properties": {
                "classification": {
                    "$ref": "#/$defs/OrganizationTypeEnum",
                    "description": "What kind of organization this is."
                },
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "dissolution_date": {
                    "description": "When the organization ceased to exist. Absent means still active.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "founding_date": {
                    "description": "When the organization was founded or first convened.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "jurisdiction": {
                    "description": "Open Civic Data division ID, e.g. ocd-division/country:us/state:oh.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                },
                "online_accounts": {
                    "description": "Official websites and public social media accounts.",
                    "items": {
                        "$ref": "#/$defs/OnlineAccount"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "parent_organization": {
                    "description": "The organization this one is part of, e.g. a committee's chamber or a program's network.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "url": {
                    "description": "Official website.",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "classification",
                "id",
                "name"
            ],
            "title": "Organization",
            "type": "object"
        },
        "OrganizationTypeEnum": {
            "description": "Kinds of organization.",
            "enum": [
                "legislature",
                "chamber",
                "committee",
                "caucus",
                "executive_agency",
                "court",
                "political_party",
                "campaign",
                "pac",
                "super_pac",
                "news_outlet",
                "think_tank",
                "advocacy_group",
                "lobbying_firm",
                "fact_checker",
                "corporation",
                "nonprofit",
                "other"
            ],
            "title": "OrganizationTypeEnum",
            "type": "string"
        },
        "Person": {
            "additionalProperties": false,
            "description": "A human in the political ecosystem. One record per human regardless of role: a staffer who becomes a commentator and then a candidate is still one Person with three Memberships. Personal contact details, birth dates and home locations are deliberately not modeled.",
            "properties": {
                "additional_name": {
                    "description": "Middle name(s) or initials.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "alternate_names": {
                    "description": "Other names the person is known by in sources: nicknames, former names, transliterations.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "coverage_tier": {
                    "$ref": "#/$defs/CoverageTierEnum",
                    "description": "Why this person meets Electepedia's inclusion threshold. People who fit no tier should not be recorded."
                },
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "family_name": {
                    "description": "Last name or surname.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "given_name": {
                    "description": "First name, as used publicly.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "identifiers": {
                    "description": "Identifiers for this entity in external registries.",
                    "items": {
                        "$ref": "#/$defs/ExternalIdentifier"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                },
                "online_accounts": {
                    "description": "Official websites and public social media accounts.",
                    "items": {
                        "$ref": "#/$defs/OnlineAccount"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "coverage_tier",
                "id",
                "name"
            ],
            "title": "Person",
            "type": "object"
        },
        "Post": {
            "additionalProperties": false,
            "description": "A position that exists independently of who holds it, e.g. \"U.S. Senator for Ohio (Class 1)\" or \"Anchor, Evening News\". Optional: many Memberships (staff, contributors) have no formal Post.",
            "properties": {
                "district": {
                    "description": "Open Civic Data division ID of the seat's district, if any.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "end_date": {
                    "description": "Absent means ongoing.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "label": {
                    "description": "Name of the position, e.g. \"U.S. Senator for Ohio (Class 1)\".",
                    "type": "string"
                },
                "organization": {
                    "description": "The organization the record belongs to or takes place in.",
                    "type": "string"
                },
                "role_category": {
                    "$ref": "#/$defs/RoleCategoryEnum",
                    "description": "Normalized kind of role, for filtering across organizations."
                },
                "start_date": {
                    "description": "Date the role, position, event or period began.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "organization",
                "label"
            ],
            "title": "Post",
            "type": "object"
        },
        "QuoteTypeEnum": {
            "description": "How close a Statement's text is to the speaker's own words, strongest evidence first.",
            "enum": [
                "direct_quote",
                "transcript_excerpt",
                "written",
                "paraphrase"
            ],
            "title": "QuoteTypeEnum",
            "type": "string"
        },
        "Rating": {
            "additionalProperties": false,
            "description": "The reviewer's verdict on their own scale, plus Electepedia's mapping onto a common scale so verdicts from different checkers can be compared.",
            "properties": {
                "alternate_name": {
                    "description": "The verdict as published, e.g. \"Mostly False\", \"Four Pinocchios\".",
                    "type": "string"
                },
                "best_rating": {
                    "description": "Value of the most-true verdict on the reviewer's scale.",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "normalized_rating": {
                    "$ref": "#/$defs/NormalizedRatingEnum",
                    "description": "The verdict mapped onto Electepedia's common scale."
                },
                "rating_value": {
                    "description": "Numeric verdict on the reviewer's own scale, if they publish one.",
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "worst_rating": {
                    "description": "Value of the least-true verdict on the reviewer's scale.",
                    "type": [
                        "number",
                        "null"
                    ]
                }
            },
            "required": [
                "alternate_name",
                "normalized_rating"
            ],
            "title": "Rating",
            "type": "object"
        },
        "RecordStatusEnum": {
            "description": "Whether a record has been checked against its sources.",
            "enum": [
                "unverified",
                "verified",
                "disputed",
                "retracted"
            ],
            "title": "RecordStatusEnum",
            "type": "string"
        },
        "RoleCategoryEnum": {
            "description": "Normalized kinds of role, independent of each organization's own job titles.",
            "enum": [
                "elected_official",
                "appointed_official",
                "judge",
                "candidate",
                "government_staff",
                "campaign_staff",
                "party_official",
                "spokesperson",
                "journalist",
                "editor",
                "host",
                "commentator",
                "lobbyist",
                "executive",
                "advocate",
                "member"
            ],
            "title": "RoleCategoryEnum",
            "type": "string"
        },
        "Source": {
            "additionalProperties": false,
            "description": "A document, recording, dataset or post that evidences other records. Prefer primary sources (official records, full recordings, original posts) over coverage of them.",
            "properties": {
                "archived_at": {
                    "description": "Archived copy (e.g. Wayback Machine) in case the original changes or disappears.",
                    "format": "uri",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "authors": {
                    "description": "People or organizations credited as authors.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "content_hash": {
                    "description": "SHA-256 (hex) of the captured content, for tamper evidence.",
                    "pattern": "^[0-9a-f]{64}$",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "date_published": {
                    "description": "When the source was published.",
                    "format": "date",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "is_primary": {
                    "description": "True if this is the original record rather than a report about it.",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "name": {
                    "description": "Title of the work.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "publisher": {
                    "description": "Organization that published the source, e.g. a news outlet or government body.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "retrieved_on": {
                    "description": "When Electepedia fetched or captured this source.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "source_type": {
                    "$ref": "#/$defs/SourceTypeEnum",
                    "description": "What kind of material this is."
                },
                "url": {
                    "description": "Canonical web page for the record, e.g. an official site or the published fact- check.",
                    "format": "uri",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "url",
                "source_type"
            ],
            "title": "Source",
            "type": "object"
        },
        "SourceTypeEnum": {
            "description": "Kinds of evidence a Source can be.",
            "enum": [
                "official_record",
                "dataset",
                "video",
                "audio",
                "transcript",
                "article",
                "social_media_post",
                "press_release",
                "fact_check",
                "other"
            ],
            "title": "SourceTypeEnum",
            "type": "string"
        },
        "Statement": {
            "additionalProperties": false,
            "description": "Something a specific person actually said or wrote, on a specific occasion. The checkable proposition(s) inside it are modeled as Claims, so the same claim can be traced across many speakers and outlets.",
            "properties": {
                "date_made": {
                    "description": "When it was said or first published.",
                    "format": "date",
                    "type": "string"
                },
                "event": {
                    "description": "The event where it was said, if any.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "in_capacity_of": {
                    "description": "The role the speaker held when they said this (e.g. their Senate seat, their slot as a network host, their job as campaign spokesperson). Lets analyses separate what someone said as an official from what they said as a commentator.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "media_end_seconds": {
                    "description": "Offset into the source recording where the statement ends.",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "media_start_seconds": {
                    "description": "Offset into the source recording where the statement starts.",
                    "minimum": 0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "quote_type": {
                    "$ref": "#/$defs/QuoteTypeEnum",
                    "description": "How faithful `text` is to the original wording."
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "speaker": {
                    "description": "The person who said or wrote it.",
                    "type": "string"
                },
                "statement_type": {
                    "$ref": "#/$defs/StatementTypeEnum",
                    "description": "What kind of utterance this is. Only claims are fact-checked."
                },
                "text": {
                    "description": "Verbatim where possible; see `quote_type`.",
                    "type": "string"
                },
                "topics": {
                    "description": "Subject areas the record is about.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "id",
                "text",
                "speaker",
                "quote_type",
                "date_made",
                "sources"
            ],
            "title": "Statement",
            "type": "object"
        },
        "StatementTypeEnum": {
            "description": "Kinds of utterance.",
            "enum": [
                "claim",
                "promise",
                "prediction",
                "opinion",
                "question"
            ],
            "title": "StatementTypeEnum",
            "type": "string"
        },
        "Topic": {
            "additionalProperties": false,
            "description": "A subject area, arranged in a hierarchy.",
            "properties": {
                "broader": {
                    "description": "The parent topic, e.g. \"Medicare\" is narrower than \"Health care\".",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "description": {
                    "description": "Free-text summary of the record.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "name": {
                    "description": "Primary display name.",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "name"
            ],
            "title": "Topic",
            "type": "object"
        },
        "TransactionTypeEnum": {
            "description": "Kinds of payment.",
            "enum": [
                "contribution",
                "independent_expenditure",
                "loan",
                "salary",
                "speaking_fee",
                "gift",
                "lobbying_payment",
                "other"
            ],
            "title": "TransactionTypeEnum",
            "type": "string"
        },
        "Vote": {
            "additionalProperties": false,
            "description": "How one person voted in one VoteEvent.",
            "properties": {
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "in_capacity_of": {
                    "description": "The role the speaker held when they said this (e.g. their Senate seat, their slot as a network host, their job as campaign spokesperson). Lets analyses separate what someone said as an official from what they said as a commentator.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "option": {
                    "$ref": "#/$defs/VoteOptionEnum",
                    "description": "How they voted."
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "vote_event": {
                    "description": "The vote this was cast in.",
                    "type": "string"
                },
                "voter": {
                    "description": "The legislator who voted.",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "vote_event",
                "voter",
                "option"
            ],
            "title": "Vote",
            "type": "object"
        },
        "VoteEvent": {
            "additionalProperties": false,
            "description": "A single vote held on a Motion, with its tallies.",
            "properties": {
                "counts": {
                    "description": "Tallies per vote option, as officially reported.",
                    "items": {
                        "$ref": "#/$defs/Count"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "id": {
                    "description": "Stable Electepedia identifier, e.g. elp:person/jane-example. External identifiers (Bioguide, FEC, Wikidata...) go in `identifiers`.",
                    "type": "string"
                },
                "motion": {
                    "description": "The motion voted on.",
                    "type": "string"
                },
                "record_status": {
                    "$ref": "#/$defs/RecordStatusEnum",
                    "description": "Whether this record accurately reflects its sources (e.g. the person really said this, the vote really happened this way). This is NOT a judgement on whether a claim is true; that is what ClaimReview is for."
                },
                "recorded_at": {
                    "description": "When the record was created in Electepedia, not when the underlying event happened.",
                    "format": "date-time",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "recorded_by": {
                    "description": "Contributor account or automated pipeline that created this record (e.g. \"user:alice\", \"pipeline:congress-votes@v1\").",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "result": {
                    "$ref": "#/$defs/VoteResultEnum",
                    "description": "Whether the motion passed."
                },
                "sources": {
                    "description": "The source records this record was derived from.",
                    "items": {
                        "type": "string"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "start_date": {
                    "description": "Date the role, position, event or period began.",
                    "format": "date",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "start_date",
                "motion"
            ],
            "title": "VoteEvent",
            "type": "object"
        },
        "VoteOptionEnum": {
            "description": "How a legislator can be recorded in a vote.",
            "enum": [
                "yes",
                "no",
                "abstain",
                "present",
                "absent",
                "not_voting",
                "paired"
            ],
            "title": "VoteOptionEnum",
            "type": "string"
        },
        "VoteResultEnum": {
            "description": "Outcome of a vote.",
            "enum": [
                "pass",
                "fail",
                "other"
            ],
            "title": "VoteResultEnum",
            "type": "string"
        }
    },
    "$id": "https://electepedia.com/schema/electepedia",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "additionalProperties": true,
    "description": "A bundle of Electepedia records, e.g. one import batch or an example file.",
    "metamodel_version": "1.11.0",
    "properties": {
        "bills": {
            "description": "Bill records in this bundle.",
            "items": {
                "$ref": "#/$defs/Bill"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "claim_reviews": {
            "description": "ClaimReview records in this bundle.",
            "items": {
                "$ref": "#/$defs/ClaimReview"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "claims": {
            "description": "Claim records in this bundle.",
            "items": {
                "$ref": "#/$defs/Claim"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "events": {
            "description": "Event records in this bundle.",
            "items": {
                "$ref": "#/$defs/Event"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "financial_transactions": {
            "description": "FinancialTransaction records in this bundle.",
            "items": {
                "$ref": "#/$defs/FinancialTransaction"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "memberships": {
            "description": "Membership records in this bundle.",
            "items": {
                "$ref": "#/$defs/Membership"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "motions": {
            "description": "Motion records in this bundle.",
            "items": {
                "$ref": "#/$defs/Motion"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "organizations": {
            "description": "Organization records in this bundle.",
            "items": {
                "$ref": "#/$defs/Organization"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "people": {
            "description": "Person records in this bundle.",
            "items": {
                "$ref": "#/$defs/Person"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "posts": {
            "description": "Post records in this bundle.",
            "items": {
                "$ref": "#/$defs/Post"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "sources": {
            "description": "Source records in this bundle.",
            "items": {
                "$ref": "#/$defs/Source"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "statements": {
            "description": "Statement records in this bundle.",
            "items": {
                "$ref": "#/$defs/Statement"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "topics": {
            "description": "Topic records in this bundle.",
            "items": {
                "$ref": "#/$defs/Topic"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "vote_events": {
            "description": "VoteEvent records in this bundle.",
            "items": {
                "$ref": "#/$defs/VoteEvent"
            },
            "type": [
                "array",
                "null"
            ]
        },
        "votes": {
            "description": "Vote records in this bundle.",
            "items": {
                "$ref": "#/$defs/Vote"
            },
            "type": [
                "array",
                "null"
            ]
        }
    },
    "title": "electepedia",
    "type": "object",
    "version": "0.1.0"
}
