Schema glossary

How the current data model names the civic concepts in Ascent.

The quickest summary is: positions become offices, offices get elections, people form candidacies, voters create ratings and baselines, and governance records connect issues to real institutions and code.

Browse ElectionsInspect Governance DataReturn to Overview

Fast orientation

Five relationship chains explain most of the schema.

Geography

Country -> State -> County -> Municipality, plus District

Each place owns one Jurisdiction record. Offices, elections, residences, and governing bodies attach to that Jurisdiction, and jurisdictions can nest under a parent.

Election structure

Position -> Office -> Race <- Election, then Race -> Candidacy

A reusable role becomes a concrete seat in a place. An election is a dated event in a jurisdiction, each race in it is the contest for one office, and a candidacy is a run in that race.

Voter input

Voter -> Residence -> Rating -> VoterRaceBaseline

Residences establish voter context, ratings express preference, and baselines convert those ratings into approvals.

Policy chain

Topic -> Issue -> Approach -> Stance -> Policy -> OfficialCode

Broad subjects narrow into problems, proposed responses, candidate positions, enacted policy records, and eventually codified text.

Rule extraction

Rule::Topic -> Rule::Statement -> Rule::Condition -> Rule::SourceLink

The law-oriented namespace stores normalized rule summaries and the links back to source material.

Places and offices

How the schema names jurisdictions, roles, and contests.

Jurisdiction

The shared identity of a place that can hold offices, elections, residences, and governing bodies. Each Country, State, County, Municipality, or District owns one Jurisdiction, which can have a parent and a dated history of PostGIS boundaries.

Country

The top-level geographic record. Countries own states and can also directly own offices and residences.

State

A subnational jurisdiction that belongs to a country. States own counties and municipalities and can also directly own offices and residences.

County

A jurisdiction within a state. Counties can contain municipalities.

Municipality

A local jurisdiction such as a city, town, or village. It belongs to a state and optionally to a county, and can hold offices, elections, and voter residences.

District

A jurisdiction drawn for a specific purpose, such as a ward, legislative district, or school district. District boundaries can overlap other jurisdictions.

Position

A reusable role title such as Mayor, Senator, or Justice. Each position belongs to a branch: legislative, executive, or judicial.

Office

A concrete seat formed by pairing a Position with a jurisdiction. An office can also sit in a GoverningBody, and in a Chamber when that body has houses.

Year

The election-cycle container. Elections belong to a year so the app can group contests and compare cycles.

Election

A dated voting event in one jurisdiction, such as a primary, general, or special election. It carries the election date, any early-voting period, and the races on its ballot.

Race

The contest for one office within an election. Races collect candidacies and voter baselines, and each has its own status and approval results.

People and participation

How the schema distinguishes identities, eligibility, and expressive voting.

Person

A real individual who can appear in elections as a candidate. This is separate from Voter so the system does not assume every candidate is an authenticated participant.

Voter

An authenticated participant in the system. Voters own residences, ratings, and per-race baselines.

Residence

The voter-to-jurisdiction record used for location and eligibility history. In current code this fills the role that older notes sometimes called registration.

Candidacy

A person's run in a specific race. The same person can have many candidacies across different races and elections.

Rating

A voter's 0-500 score for one candidacy. Ratings capture intensity of support before they are converted into approvals.

VoterRaceBaseline

A voter's approval threshold for one race. A candidate in that race receives an approval vote only when their rating exceeds the baseline.

RatingArchive

A historical snapshot of a prior rating value. The app writes these records when an existing rating changes.

VoterRaceBaselineArchive

A historical record of baseline changes or deletions for one voter-race pair.

Mountain

A derived interface concept rather than a table. It visualizes how ratings and a baseline interact inside one race.

Policy and governance

How public problems connect to institutions, proposals, and codified text.

Branch

Legislative, executive, or judicial. The same three branches apply at every level. A school board or special district can be a governing body with no branch.

GovernanceType

The form of an institution, independent of level: Legislature, Court, Council, Board, or Executive. Congress and a state legislature share the Legislature type.

GoverningBody

An institution in a jurisdiction, such as a state legislature or a state supreme court. It has a governance type, an optional branch, and owns policies.

Chamber

A house of a governing body. A bicameral legislature stays one body; its Senate and Assembly or House are chambers. Seats in a house belong to that chamber.

AreaOfConcern

A policy domain such as housing, transportation, or public safety. This is how the schema groups what a policy is about.

Topic

A broad subject area for civic discussion. Topics are parents of issues.

Issue

A specific problem or dispute inside a topic. Issues are narrower than topics and are parents of approaches.

Approach

A proposed response to an issue. Approaches are what candidates take stances on and what policies can later operationalize.

Stance

A candidacy's position on an approach. This is the schema's bridge between electoral competition and policy substance.

Policy

A concrete governing record that ties together a governing body, an area of concern, and an approach.

OfficialCode

Codified or operative text attached to a policy, including summaries, enforcement notes, and full text where available.

Rule analysis

How the legal-analysis namespace differs from the general policy vocabulary.

Rule::Topic

A law-oriented grouping for normalized rule content. Separate namespace from the general Topic model.

Rule::Statement

A normalized statement about what is allowed, prohibited, conditional, exception-limited, or unclear.

Rule::Condition

A qualifier attached to a rule statement, such as a requirement, clarification, or disqualifying fact.

Rule::SourceLink

A provenance record that connects a normalized rule statement or condition back to a source-law unit.

LU unit reference

The lu_unit_id stored on Rule::SourceLink points to a source-law record in the planned LU namespace. That source object is referenced here but not stored in this database.