Dataset article and descriptive empirical paper

What are Michigan legislators actually doing?

A provenance-preserving account of observable legislative activity, fragmented official records, and what taxpayers cannot reliably infer from missing evidence.

Working paper in preparation

This page is the public research companion—not a claim that a manuscript has been submitted, peer reviewed, or published. Results below are descriptive snapshots from release 2026-07-28.3, data through 2026-07-27. They may change in a later frozen paper release.

Research questions

Accountability questions the records can test

These questions concern observable evidence, not total labor, motives, or effectiveness.

  1. What public records document legislative activity?Inventory the units, sources, dates, provenance, and missing-data mechanisms.
  2. How often do scheduled proceedings produce a documented outcome?Separate convened, cancelled, confirmed no-quorum, and unresolved states.
  3. How does member-level measurement change across definitions?Compare official presence, named votes, committees, actions, sponsorship, and speech without creating a score.
  4. What does roll-call-only measurement miss?Measure the marginal and overlapping evidence contributed by other official source families.
  5. Where do official records disagree or remain incomplete?Retain conflicts, collection failures, and unknowns instead of silently resolving them.
  6. Can ordinary users interpret the evidence correctly?Test whether residents can distinguish absent, not recorded, no quorum, and unknown.

Current descriptive snapshot

What this frozen release establishes

Inspect the release manifest

45/177

House sittings with confirmed no quorum

25.4% of the collected 2025–2026 House sitting denominator. This is a proceeding outcome, not evidence that any particular member was absent.

1,098,905

Attributable activity rows

The public ledger spans 2018–2026 and combines separately typed floor, committee, sponsorship, document, publication, and other public-record observations. A row is evidence, not a unit of effort.

19/44

Measured source surfaces below their completion rule

These structured percentages currently describe 2025–2026 House surfaces only. Missing earlier and Senate rows are unknown, not complete and not zero.

January 2019–July 2026 · House

No-quorum findings are visible month by month

Inspect recent sittings

214 of 774 collected House sittings had a confirmed no-quorum outcome (27.6%).

A confirmed no-quorum outcome describes a sitting, not an individual member's attendance. The denominator is collected House sittings in the stated window. Undetermined outcomes remain separate, and the final month is partial through the release data date.

Monthly bars from January 2019 through July 2026 show all collected House sittings with confirmed no-quorum and undetermined outcomes as colored subsets.
Each bar is one calendar month; December 2023 is retained as a zero rather than omitted. Download SVG · Download exact CSV
Collected House sittings and quorum outcomes by month
MonthAll sittingsQuorum confirmedNo quorum confirmedUndeterminedNo-quorum share
Jan 2019981011.1%
Feb 20191212000.0%
Mar 201999000.0%
Apr 20191010000.0%
May 201915123020.0%
Jun 20191082020.0%
Jul 20198080100.0%
Aug 2019633050.0%
Sep 201912102016.7%
Oct 20191312107.7%
Nov 2019532040.0%
Dec 2019642033.3%
Jan 20201110109.1%
Feb 20201192018.2%
Mar 2020871012.5%
Apr 2020642033.3%
May 20201138072.7%
Jun 20201266050.0%
Jul 2020321033.3%
Aug 2020312066.7%
Sep 20201394030.8%
Oct 2020826075.0%
Nov 2020514080.0%
Dec 20201275041.7%
Jan 202144000.0%
Feb 20211211108.3%
Mar 20211212000.0%
Apr 202199000.0%
May 20211212000.0%
Jun 202114122014.3%
Jul 2021413075.0%
Aug 2021312066.7%
Sep 2021862025.0%
Oct 202112102016.7%
Nov 202166000.0%
Dec 2021861112.5%
Jan 2022743042.9%
Feb 202212102016.7%
Mar 20221212000.0%
Apr 2022651016.7%
May 20221293025.0%
Jun 20221477050.0%
Jul 2022211050.0%
Aug 20221010100.0%
Sep 20221028080.0%
Oct 20223030100.0%
Nov 2022413075.0%
Dec 2022532040.0%
Jan 2023981011.1%
Feb 2023954044.4%
Mar 20231183027.3%
Apr 202388000.0%
May 202313112015.4%
Jun 20231110109.1%
Jul 20233030100.0%
Aug 20233030100.0%
Sep 20231192018.2%
Oct 20231312107.7%
Nov 2023752028.6%
Dec 20230000No sittings
Jan 2024945055.6%
Feb 20241192018.2%
Mar 2024853037.5%
Apr 2024853037.5%
May 202412102016.7%
Jun 20241110109.1%
Jul 20242020100.0%
Aug 20243030100.0%
Sep 2024716085.7%
Oct 20243030100.0%
Nov 2024541020.0%
Dec 20241073030.0%
Jan 20251091010.0%
Feb 20251165045.5%
Mar 20251293025.0%
Apr 2025871012.5%
May 20251082020.0%
Jun 20251183027.3%
Jul 2025624066.7%
Aug 2025945055.6%
Sep 202513103023.1%
Oct 20251596040.0%
Nov 202555000.0%
Dec 2025862025.0%
Jan 2026752028.6%
Feb 2026972022.2%
Mar 202699000.0%
Apr 2026981011.1%
May 2026651016.7%
Jun 20261312107.7%
Jul 2026633050.0%
Definition and exact SQLite query

Row grain: calendar month.

WITH RECURSIVE
bounds AS (
    SELECT
        min(substr(sitting_date, 1, 7) || '-01') AS first_month,
        substr(:end_date, 1, 7) || '-01' AS last_month
    FROM sitting
    WHERE chamber = 'house' AND sitting_date <= :end_date
),
months(month_start) AS (
    SELECT first_month FROM bounds
    UNION ALL
    SELECT date(month_start, '+1 month')
    FROM months, bounds
    WHERE month_start < last_month
)
SELECT
    months.month_start,
    count(sitting.sitting_id) AS sittings,
    coalesce(sum(sitting.quorum_state = 'quorum_confirmed'), 0) AS quorum_confirmed,
    coalesce(sum(sitting.quorum_state = 'no_quorum_confirmed'), 0)
        AS no_quorum_confirmed,
    coalesce(sum(sitting.quorum_state = 'quorum_not_determined'), 0) AS undetermined,
    coalesce(
        round(
            100.0 * sum(sitting.quorum_state = 'no_quorum_confirmed')
                / count(sitting.sitting_id),
            1
        ),
        0.0
    ) AS percentage_all
FROM months
LEFT JOIN sitting
    ON sitting.chamber = 'house'
    AND sitting.sitting_date <= :end_date
    AND substr(sitting.sitting_date, 1, 7) || '-01' = months.month_start
GROUP BY months.month_start
ORDER BY months.month_start

2019–2025 source complementarity

What a floor-vote-only view leaves out

Inspect this claim as JSON

24,802 of 85,587 observed member-days (29.0%) contained attributable activity outside named floor votes and no named floor-vote row.

This describes the composition of observed, attributable member-days. It does not measure unobserved work, time, effort, quality, effectiveness, or the completeness of every source family. A non-vote-only day is not necessarily a day without a vote opportunity. The partial 2026 year is excluded from this longitudinal view.

All observed member-daysOther attributable activity, no named floor vote
Observed member-days with and without named floor votes, 2019 through 2025For each complete year, a gray bar shows all observed member-days and an inner green bar shows days with attributable activity but no named floor-vote row. Exact counts and percentages follow in a table.05,00010,00015,00038.9%201925.4%202022.6%202119.2%202228.5%202327.9%202435.3%2025
Bar height is the annual count of observed, attributable member-days. The inner bar is the subset with other attributable activity and no named floor-vote row; its percentage of the total is printed above each bar. Values are bound to release 2026-07-28.3. Download SVG · Download exact CSV
Observed member-day composition by complete calendar year
YearAll observed member-daysAny named floor voteOther activity, no named floor voteShare outside named floor votes
201914,3698,7845,58538.9%
202011,1768,3372,83925.4%
202113,73810,6333,10522.6%
20229,1017,3551,74619.2%
202312,8339,1743,65928.5%
20249,9497,1772,77227.9%
202514,4219,3255,09635.3%
Definition and exact SQLite query

Row grain: member_id and activity_date.

Floor-vote rule: At least one activity row with activity_type = floor_vote.

Other-activity rule: At least one attributable activity row with an activity_type other than floor_vote.

WITH member_days AS (
    SELECT
        member_id,
        activity_date,
        max(activity_type = 'floor_vote') AS has_floor_vote,
        max(activity_type <> 'floor_vote') AS has_other
    FROM activity
    WHERE activity_date BETWEEN '2019-01-01' AND '2025-12-31'
    GROUP BY member_id, activity_date
)
SELECT
    substr(activity_date, 1, 4) AS year,
    count(*) AS observed_member_days,
    sum(has_floor_vote) AS floor_vote_days,
    sum(has_other AND NOT has_floor_vote) AS non_vote_only_days,
    sum(has_other AND has_floor_vote) AS both_days,
    sum(has_floor_vote AND NOT has_other) AS vote_only_days
FROM member_days
GROUP BY year
ORDER BY year

2019–2025 measurement sensitivity

The percentage depends on the question

Inspect this claim as JSON

These four annual series use the same release and pooled member-service observations, but each retains its own eligible denominator. The result is a comparison of definitions—not a comparison of legislators.

The four rates answer different questions and use different eligible denominators. Their levels must not be interpreted as interchangeable performance measures, combined into a score, or used as a member ranking. Unknown and excluded counts remain separate from each numerator. Partial 2026 is excluded from the longitudinal series.

Definition 1.2.0

Committee meetings with recorded presence

Definition

Official roster evidence; not proof of continuous presence.

Committee meetings with recorded presence, pooled annual rate from 2019 through 2025Seven annual points use the pooled numerator divided by the pooled eligible denominator. Exact numerator, denominator, unknown, and excluded counts appear in the table below.0%50%100%91.8%201987.6%202092.9%202189.5%202294.6%202394.9%202478.1%2025

Definition 1.2.0

Explicitly recorded present

Definition

Explicit journal presence at the attendance event; not continuous presence or a complete account of work.

Explicitly recorded present, pooled annual rate from 2019 through 2025Seven annual points use the pooled numerator divided by the pooled eligible denominator. Exact numerator, denominator, unknown, and excluded counts appear in the table below.0%50%100%95.2%201994.2%202093.2%202190.9%202297.1%202395.6%202492.7%2025

Definition 1.2.0

Days with attributable public activity

Definition

Calendar-day context only. No public record on a day is not evidence that no work occurred.

Days with attributable public activity, pooled annual rate from 2019 through 2025Seven annual points use the pooled numerator divided by the pooled eligible denominator. Exact numerator, denominator, unknown, and excluded counts appear in the table below.0%50%100%26.6%201920.6%202025.7%202116.8%202223.8%202318.4%202426.7%2025

Definition 1.2.0

Roll-call days with at least one yea or nay

Definition

Positive named vote evidence; no named vote is not, by itself, evidence of absence.

Roll-call days with at least one yea or nay, pooled annual rate from 2019 through 2025Seven annual points use the pooled numerator divided by the pooled eligible denominator. Exact numerator, denominator, unknown, and excluded counts appear in the table below.0%50%100%95.8%201996.7%202097.3%202195.1%202298.5%202395.9%202494.5%2025

Values are bound to release 2026-07-28.3. Download full-size SVG · Download exact CSV

Annual pooled rates and complete denominator partitions for four separate definitions
DefinitionYearIncludedEligibleRateUnknownExcludedMember services
Committee meetings with recorded presence20197,6678,35291.8%4360148
Committee meetings with recorded presence20205,9836,82787.6%5090150
Committee meetings with recorded presence20217,9878,60292.9%3390148
Committee meetings with recorded presence20224,6785,22689.5%2900152
Committee meetings with recorded presence20234,8775,15594.6%1010148
Committee meetings with recorded presence20243,0693,23394.9%130150
Committee meetings with recorded presence20255,3536,85178.1%9780148
Explicitly recorded present201913,04013,69695.2%4153,362148
Explicitly recorded present20209,2219,78894.2%2315,266150
Explicitly recorded present202112,23113,11893.2%5421,976148
Explicitly recorded present20227,5398,29690.9%4984,500152
Explicitly recorded present202311,14311,47697.1%1503,142148
Explicitly recorded present20248,3298,71095.6%1355,298150
Explicitly recorded present202511,25212,13292.7%2305,218148
Days with attributable public activity201914,36954,02026.6%00148
Days with attributable public activity202011,17654,16820.6%00150
Days with attributable public activity202113,73853,35425.7%00148
Days with attributable public activity20229,10154,02016.8%00152
Days with attributable public activity202312,83354,02023.8%00148
Days with attributable public activity20249,94754,16818.4%00150
Days with attributable public activity202514,42154,02026.7%00148
Roll-call days with at least one yea or nay20198,7529,13495.8%07,924148
Roll-call days with at least one yea or nay20208,2858,56696.7%06,488150
Roll-call days with at least one yea or nay202110,56010,85697.3%04,238148
Roll-call days with at least one yea or nay20227,2837,66295.1%05,134152
Roll-call days with at least one yea or nay20239,1519,28698.5%05,332148
Roll-call days with at least one yea or nay20247,1357,43895.9%06,570150
Roll-call days with at least one yea or nay20259,2169,74894.5%07,602148
Aggregation and exact SQLite query

Aggregation: Pooled numerator divided by pooled eligible denominator across member services within each calendar year.

SELECT
    substr(window_id, 10) AS year,
    metric_id,
    min(label) AS label,
    min(definition_version) AS definition_version,
    min(interpretation) AS interpretation,
    count(*) AS member_services,
    sum(numerator) AS numerator,
    sum(denominator) AS denominator,
    sum(unknown_count) AS unknown_count,
    sum(excluded_count) AS excluded_count
FROM metric
WHERE window_id BETWEEN 'calendar:2019' AND 'calendar:2025'
GROUP BY year, metric_id
ORDER BY metric_id, year

2019–2026 source availability

A missing record does not mean the same thing in every chamber or year

Download paper outputs

Six separately defined source surfaces show whether a collected sitting, committee meeting, or media asset carries the linked evidence needed for further analysis. Rates are pooled within chamber and biennium.

These rates describe source availability within collected records. They are not estimates of the share of all real-world legislative work observed, and they do not establish that the underlying proceeding itself was completely recorded. The 2025-2026 biennium is partial through the release data date.

Heatmap of six observed source-availability rates for the Michigan House and Senate across four biennia; exact values follow in the table.
Each percentage uses the collected record type named in the unit column as its denominator. Download SVG · Download exact CSV
Observed source availability by chamber, biennium, and evidence surface
Evidence surfaceBienniumChamberAvailableCollected unitsRateUnit
Committee meeting with linked media2019-2020House59475079.2%collected committee meeting
Committee meeting with linked media2019-2020Senate49182359.7%collected committee meeting
Committee meeting with linked media2021-2022House64673488.0%collected committee meeting
Committee meeting with linked media2021-2022Senate49965576.2%collected committee meeting
Committee meeting with linked media2023-2024House57361892.7%collected committee meeting
Committee meeting with linked media2023-2024Senate45675660.3%collected committee meeting
Committee meeting with linked media2025-2026 (partial)House69569699.9%collected committee meeting
Committee meeting with linked media2025-2026 (partial)Senate17340342.9%collected committee meeting
Committee meeting with minutes link2019-2020House74975099.9%collected committee meeting
Committee meeting with minutes link2019-2020Senate56382368.4%collected committee meeting
Committee meeting with minutes link2021-2022House734734100.0%collected committee meeting
Committee meeting with minutes link2021-2022Senate46565571.0%collected committee meeting
Committee meeting with minutes link2023-2024House618618100.0%collected committee meeting
Committee meeting with minutes link2023-2024Senate54175671.6%collected committee meeting
Committee meeting with minutes link2025-2026 (partial)House50669672.7%collected committee meeting
Committee meeting with minutes link2025-2026 (partial)Senate14640336.2%collected committee meeting
Floor sitting with journal link2019-2020House218218100.0%collected sitting
Floor sitting with journal link2019-2020Senate214214100.0%collected sitting
Floor sitting with journal link2021-2022House192192100.0%collected sitting
Floor sitting with journal link2021-2022Senate183183100.0%collected sitting
Floor sitting with journal link2023-2024House187187100.0%collected sitting
Floor sitting with journal link2023-2024Senate212212100.0%collected sitting
Floor sitting with journal link2025-2026 (partial)House177177100.0%collected sitting
Floor sitting with journal link2025-2026 (partial)Senate178178100.0%collected sitting
Floor sitting with linked media2019-2020House218218100.0%collected sitting
Floor sitting with linked media2019-2020Senate19221489.7%collected sitting
Floor sitting with linked media2021-2022House192192100.0%collected sitting
Floor sitting with linked media2021-2022Senate17618396.2%collected sitting
Floor sitting with linked media2023-2024House18618799.5%collected sitting
Floor sitting with linked media2023-2024Senate20921298.6%collected sitting
Floor sitting with linked media2025-2026 (partial)House177177100.0%collected sitting
Floor sitting with linked media2025-2026 (partial)Senate17417897.8%collected sitting
Media asset with duration2019-2020House1,0201,020100.0%dated chamber media asset
Media asset with duration2019-2020Senate70371698.2%dated chamber media asset
Media asset with duration2021-2022House1,0211,021100.0%dated chamber media asset
Media asset with duration2021-2022Senate69172195.8%dated chamber media asset
Media asset with duration2023-2024House980980100.0%dated chamber media asset
Media asset with duration2023-2024Senate67968299.6%dated chamber media asset
Media asset with duration2025-2026 (partial)House2,1482,18298.4%dated chamber media asset
Media asset with duration2025-2026 (partial)Senate356356100.0%dated chamber media asset
Media asset with transcript2019-2020House51,0200.5%dated chamber media asset
Media asset with transcript2019-2020Senate127161.7%dated chamber media asset
Media asset with transcript2021-2022House21,0210.2%dated chamber media asset
Media asset with transcript2021-2022Senate137211.8%dated chamber media asset
Media asset with transcript2023-2024House69800.6%dated chamber media asset
Media asset with transcript2023-2024Senate76821.0%dated chamber media asset
Media asset with transcript2025-2026 (partial)House6552,18230.0%dated chamber media asset
Media asset with transcript2025-2026 (partial)Senate10235628.7%dated chamber media asset
Aggregation, surface definitions, and exact SQLite query

Aggregation: Completed observed units divided by collected units for each source surface, chamber, and biennium.

Floor sitting with journal link (collected sitting)
The denominator is collected sitting rows, not every sitting that may have occurred outside the collected calendar.
Floor sitting with linked media (collected sitting)
A link shows that at least one recording is associated with the sitting; it does not establish recording completeness.
Committee meeting with minutes link (collected committee meeting)
A minutes URL is source availability, not proof that the document was acquired, parsed, or contains a member roster.
Committee meeting with linked media (collected committee meeting)
A media link is not proof that every proceeding or the entire meeting was recorded.
Media asset with duration (dated chamber media asset)
Duration metadata supports triage and playback but does not prove that a recording is complete.
Media asset with transcript (dated chamber media asset)
A machine transcript may contain recognition or speaker errors and does not imply human review.
WITH coverage_units AS (
    SELECT
        sitting_date AS observation_date,
        chamber,
        'floor_journal_link' AS source_surface,
        journal_object_name IS NOT NULL AS completed
    FROM sitting
    UNION ALL
    SELECT
        sitting_date,
        chamber,
        'floor_media_link',
        linked_media_count > 0
    FROM sitting
    UNION ALL
    SELECT
        meeting_date,
        committee.chamber,
        'committee_minutes_link',
        minutes_url IS NOT NULL
    FROM committee_meeting
    JOIN committee USING (committee_id)
    WHERE committee.chamber IN ('house', 'senate')
    UNION ALL
    SELECT
        meeting_date,
        committee.chamber,
        'committee_media_link',
        media_count > 0
    FROM committee_meeting
    JOIN committee USING (committee_id)
    WHERE committee.chamber IN ('house', 'senate')
    UNION ALL
    SELECT
        media.recorded_date,
        coalesce(media.chamber, committee.chamber),
        'media_duration_recorded',
        media.duration_seconds IS NOT NULL
    FROM media
    LEFT JOIN committee_meeting
        ON committee_meeting.meeting_id = media.related_meeting_id
    LEFT JOIN committee ON committee.committee_id = committee_meeting.committee_id
    WHERE media.recorded_date IS NOT NULL
        AND coalesce(media.chamber, committee.chamber) IN ('house', 'senate')
    UNION ALL
    SELECT
        media.recorded_date,
        coalesce(media.chamber, committee.chamber),
        'media_transcript_available',
        EXISTS (
            SELECT 1 FROM transcript WHERE transcript.media_id = media.media_id
        )
    FROM media
    LEFT JOIN committee_meeting
        ON committee_meeting.meeting_id = media.related_meeting_id
    LEFT JOIN committee ON committee.committee_id = committee_meeting.committee_id
    WHERE media.recorded_date IS NOT NULL
        AND coalesce(media.chamber, committee.chamber) IN ('house', 'senate')
),
scoped AS (
    SELECT
        printf(
            '%d-%d',
            cast(substr(observation_date, 1, 4) AS integer)
                - ((cast(substr(observation_date, 1, 4) AS integer) + 1) % 2),
            cast(substr(observation_date, 1, 4) AS integer)
                - ((cast(substr(observation_date, 1, 4) AS integer) + 1) % 2) + 1
        ) AS biennium,
        chamber,
        source_surface,
        completed
    FROM coverage_units
    WHERE observation_date BETWEEN '2019-01-01' AND '2026-07-27'
)
SELECT
    biennium,
    chamber,
    source_surface,
    sum(completed) AS completed,
    count(*) AS total
FROM scoped
GROUP BY biennium, chamber, source_surface
ORDER BY source_surface, biennium, chamber

Source disagreement and validation

The release preserves exceptions instead of smoothing them away

Inspect the vote-conflict claim as JSON

19 of 20,038 committee-vote records retain an explicit source-total or source-member-choice conflict.

These controlled states have different meanings and must not be summed into a single disagreement rate. A source-total conflict or source-member-choice conflict preserves contradictory vote evidence. A source-kind mismatch preserves a document classification discrepancy. A source placeholder prevents an unresolved participation label from becoming a person. A flagged row is an invitation to inspect the retained evidence, not permission to choose whichever source value is more convenient.

18 / 20,038

Vote source-total conflict

Printed aggregate totals do not reconcile with the retained named choices.

source_total_conflict · committee vote

1 / 20,038

Vote member-choice conflict

Two retained source assertions disagree about a named member choice.

source_member_choice_conflict · committee vote

1 / 18,567

Document-kind mismatch

The acquired content classification differs from the source bucket or filename kind.

source_kind_mismatch · committee document

2 / 51,429

Unresolved source placeholder

A source label is preserved as a placeholder and is not resolved to a member.

source_placeholder · meeting participation

Inspect all 22 flagged records
Every explicitly flagged source conflict, kind mismatch, or unresolved placeholder in this release
Validation stateRecordRetained source text
Document-kind mismatchcommittee-document-11735Minutes.pdf
Vote member-choice conflictcommittee-vote-268878to report HB 5229 as amended, as substitute (H-4).
Vote source-total conflictcommittee-vote-262546to adopt the appointed meeting dates, times and locations of the regularly scheduled meetings: Tuesday, 10:30 a.m., room 352 of the Capitol Building. Wednesday, 10:30 a.m., room 519 of the House Office Building. Thursday, 10:30 a.m., room 352 of the Capitol Building.
Vote source-total conflictcommittee-vote-262547to adopt substitute (H-1) to HB 4061.
Vote source-total conflictcommittee-vote-262548to report out House Bill No. 4061 with the recommendation that the bill pass as substituted.
Vote source-total conflictcommittee-vote-262549to report out House Bill No. 4101 with the recommendation that the bill pass.
Vote source-total conflictcommittee-vote-262550to report out House Bill No. 4119 with the recommendation that the bill pass.
Vote source-total conflictcommittee-vote-262659to adopt the amendment to HB 4129.
Vote source-total conflictcommittee-vote-262660to report House Bill No. 4129 as amended, as substitute (H-3). The vote was as follows: Yeas: Sens. Filler, LaFave, Farrington, Howell, Rendon, Berman, Wozniak, LaGrand, Guerra, Elder, Yancey, Bolden. Nays: Sen. Johnson. Pass: None. Representative LaFave moved to adopt substitute (H-2) to HB 4130.
Vote source-total conflictcommittee-vote-262902to adopt the amendment to HB 4226.
Vote source-total conflictcommittee-vote-262903to report House Bill No. 4226 as amended, as substitute (H-1) with recommendation.
Vote source-total conflictcommittee-vote-266673to refer House Bill No. 4926 to the committee on Ways and Means.
Vote source-total conflictcommittee-vote-268349to refer SB 455 to the committee on Ways and Means, with recommendation as substitute (H-1).
Vote source-total conflictcommittee-vote-275463to adopt substitute (H-1) to HB 4088.
Vote source-total conflictcommittee-vote-275508to report out HB 4256 with recommendation.
Vote source-total conflictcommittee-vote-280824to adopt substitute (H-1) to HB 4286.
Vote source-total conflictcommittee-vote-281304to adopt substitute (H-1) to SB 289.
Vote source-total conflictcommittee-vote-281313to report out HB 4648 with recommendation.
Vote source-total conflictcommittee-vote-283407to report HB 5077 with recommendation.
Vote source-total conflictcommittee-vote-284078to adopt the amendment to HB 5516.
Unresolved source placeholderparticipation-892029
Shown on meeting-4281
Nobody is retained as an unresolved source placeholder, not a person.
Unresolved source placeholderparticipation-895561
Shown on meeting-4718
Nobody is retained as an unresolved source placeholder, not a person.
Exact validation-flag query
SELECT
    'committee_vote' AS record_type,
    committee_vote_id AS record_id,
    meeting_id AS parent_id,
    validation_state,
    motion_text AS label
FROM committee_vote
WHERE validation_state IN (
    'source_total_conflict',
    'source_member_choice_conflict'
)
UNION ALL
SELECT
    'committee_document' AS record_type,
    document_id AS record_id,
    related_meeting_id AS parent_id,
    validation_state,
    title AS label
FROM committee_document
WHERE validation_state = 'source_kind_mismatch'
UNION ALL
SELECT
    'meeting_participation' AS record_type,
    participation_id AS record_id,
    meeting_id AS parent_id,
    review_state AS validation_state,
    source_label AS label
FROM meeting_participation
WHERE review_state = 'source_placeholder'
ORDER BY record_type, validation_state, record_id

Illustrative measurement case

One representative, four different questions

Open Penelope Tsernoglou's evidence profile

This is a transparent test case from one district, not a statewide estimate or ranking. Each rate uses a different eligible denominator.

Observation window: 2025-01-01 through 2026-07-27. A larger percentage does not mean a better or harder-working representative; it means the named criterion was satisfied within its own denominator.

Reproducibility

From a displayed result to its rows

Cite this release
  1. Identify the frozen snapshot.Release 2026-07-28.3, schema 1.9.0, data through 2026-07-27.
  2. Inspect the exact public contract.Browse all 61 read operations or download OpenAPI 3.1.
  3. Download the underlying data.Choose among 27 curated tables or download the 1043.7 MiB SQLite snapshot.
  4. Verify artifact integrity.Use the canonical hashes and row counts.
  5. Preserve the qualification.Report the definition, window, numerator, denominator, unknowns, exclusions, and coverage boundary beside the value.

Download the release-pinned machine-readable claim ledger. Each entry binds a statement to this release, an executable SQLite query, public routes, source-table artifacts where exported, and its required interpretation limit.

Publication status

What exists—and what does not yet

Available now

Versioned dataset and public explorer

Immutable release artifacts, schemas, API, evidence pages, source register, correction policy, and public codebook.

In progress

Descriptive analyses and claim ledger

The current release-backed candidate-claim ledger, monthly House quorum, longitudinal source-complementarity, measurement-sensitivity, and cross-biennium coverage figures, their release-bound CSV and SVG outputs, explicit record-level validation flags, deterministic samples for all ten planned human-review domains, and the first three external roll-call spot checks are available. Inspect validation progress or inspect the external-comparison ledger. Completed human annotations, comprehensive external matching, formal accuracy and agreement estimates, and the remaining generated figures are in progress.

Not yet published

Manuscript, peer review, and DOI deposit

No paper PDF, DOI, journal acceptance, or peer-review claim is made by this page. Those links will appear only after the artifacts exist.

Publication blockers

Evidence still needed before submission

See current collection limitations
  • Freeze the final paper cutoff and deposit a DOI-bearing copy independent of the live site.
  • Complete stratified manual gold sets, extraction accuracy, agreement, and reconciliation validation.
  • Generate every table, figure, and manuscript statistic from one shared publication-metrics artifact.
  • Resolve source-by-source redistribution decisions before publishing document or transcript bodies.
  • Expand structured coverage denominators beyond the present 2025–2026 House ledger.
  • Complete external methodological, plain-language, accessibility, and—if conducted—human-subjects review.

The project does not answer whether taxpayers are being lied to

The evidence can test whether public schedules, proceeding outcomes, member-level records, and published descriptions agree. A claim of deception additionally requires evidence of a false representation and intent; missing or conflicting records alone do not establish either.