How these pages are built

Where the data comes from

Every page links to the official record it was built from. If our page and the official record disagree, the official record is correct and our page is wrong.

How the plain-language summaries are made

Bill text is fetched from the official source and passed to a language model with instructions to describe only what the text states, cite a section number for every provision, avoid speculative wording, and use plain verbs. Long bills are processed section by section and then combined.

Every generated summary then goes through an automated check: each number, date, and proper name in it must appear in the source bill text, and each cited section must resolve. Anything that fails is held back from publication. On those pages you'll see the official summary and a "detailed summary pending review" note instead, and a person reviews the generated text before it can appear. We would rather show you less than show you something we can't trace to the bill.

The passage likelihood estimate

It is a weighted model over observable signals — the bill's current stage, cosponsor count and breadth, committee vote margin where one exists, days since the last recorded action, and the historical enactment rate for that kind of bill. Every factor that moved the number is listed on the page.

It does not account for leadership priorities, floor scheduling, or anything negotiated outside the public record — which is often what actually decides a bill. Treat it as a description of where the bill sits relative to others at the same stage, not a forecast.

What we don't publish

Corrections

Every bill, vote, and profile page has a "report an issue" link. A report on a bill immediately reverts that page to the official summary while a person looks at it. See corrections.