Federal legislation is written in a language most Americans don't speak. A bill can be short and still be unreadable, because its operative content is an instruction to amend a statute somewhere else. The 2026 act that extended the Section 702 surveillance authority runs to one section: it amends the FISA Amendments Act of 2008 by striking one date and inserting June 12, 2026, then sets its own effective date. Nothing in it says what the authority is or what it permits. LegislationPatch exists to translate that.

Here's exactly how we do it, where the data comes from, and what we're deliberately not doing.

Where Our Data Comes From

Every analysis begins with two official government sources: Congress.gov and GovInfo.gov.

Congress.gov's public API gives us structured data about each bill: sponsor and co-sponsors, and the action history that records a bill's movement through the process. When a bill receives a committee vote, floor action, or presidential signature, that event comes back from the API with a date and a text description. A committee referral is one of those action entries — it is text in the history, not a separate field we store.

Bill text comes from that same Congress.gov API, and at fetch time we take the newest applicable version: enrolled first, then engrossed-amendment, engrossed, reported, and only then introduced. Only 68 of the 219 bills in our database have been signed into law, so for most of them the text on the page is not an enrolled bill and we do not call it one. Nor is it always current: a bill that advances after we have analysed it is not automatically re-fetched, because the analysis was written against the older text, so 69 of the 151 unenacted bills are showing an older version than Congress.gov now lists and two of the enacted ones are still showing the text as introduced. Where an analysis needs a figure from a law the bill amends rather than from the bill itself, that statute is fetched separately and stored before the figure is written.

GovInfo, the U.S. Government Publishing Office's site, is where two other things come from: the Congressional Record for what members said on the floor, and the U.S. Code and the House Rules and Manual when an analysis or an explainer rests on one. Every sentence of a stored quote has to appear verbatim in the fetched text or the quote is discarded; we do not paraphrase a floor statement and present it as a quotation.

What We Actually Read

An omnibus appropriations bill and a short technical extension of existing law get the same treatment: we read the actual sections.

Here's what we build for each bill:

What changed relative to existing law. This is the core of the patch notes format. We identify what the current baseline is and describe, section by section, what the bill adds, removes, or alters. Our entry for S. 1884 reads: "Adds new Section 5(f) to the Holocaust Expropriated Art Recovery Act of 2016, barring all time-based defenses and all non-merits discretionary bases for dismissal against otherwise timely Holocaust art claims." It names the section added, the statute amended, and the defenses removed.

Who's driving it. The primary sponsor and co-sponsor list tells you a lot about a bill's trajectory. We note the sponsor, party, and state; co-sponsor count; and whether support crossed party lines on a recorded vote.

Vote records. For bills with recorded roll call votes, we include the final counts, party breakdown, and — for close votes, specifically those where the margin is within 30% of total yeas plus nays — we flag members who voted against their party's majority. Vote data comes from the House Clerk and Senate official roll call archives.

Passage likelihood. For bills still in progress, we include a rough likelihood estimate. The drafting rules limit what it may cite: the current chamber majority, the sponsor's party, the co-sponsor count, and which specific provisions will attract opposition and from whom. The same rule bars it from narrating procedural status, because status belongs to the stage and vote fields, which are refetched as the bill moves while the prose is not. This is a judgment call, not a statistical model.

How We Verify Accuracy

Every factual claim in an analysis must be traceable to a specific line in the official source text: every figure, date, statutory citation, and named entity. Training data, secondary reporting, and unsourced prior knowledge are not admissible. Verification enforces this constraint in three stages: automated validation, an adversarial re-read, and a per-bill claim ledger.

Source of record. The authoritative text is the bill version fetched from Congress.gov, together with any referenced statute retrieved from GovInfo and stored alongside it. A claim that cannot be located in that stored corpus is re-sourced or removed. Analyses are drafted with AI assistance; verification is a separate pass over the finished draft rather than part of writing it.

Stage 1, automated validation. A deterministic validator runs 26 check sections against every analysis before publication, with a 27th available on demand. Fourteen of them block a release outright — among them that no analysis exists without the bill text it was written from, that every source an item cites resolves to a stored document, that no quote is attributed to a member whose surname does not match the id it carries, and that a stated legislative status is not contradicted by the recorded roll-call result. That last one addresses a documented drift failure: status prose is written once while vote records are re-fetched as a bill advances, so the two decouple unless a check enforces agreement. The other twelve warn rather than block, including the figure-sourcing guard that flags a dollar amount, percentage, or section citation absent from the fetched text. The quote-attribution check is itself split: a surname that does not match the id blocks the release, while a stored state that disagrees with the member's only warns. The section held back from the default gate is a different one — an account-attribution screen, which flags a figure that may be bound to the wrong account, and which is too false-positive-prone to block a commit, so it runs on demand. A warning is not a pass: each one has to be fixed, re-sourced, or recorded in a tracked adjudication file with the evidence, and a strict run turns every remaining warning into a blocking error.

Stage 2, adversarial re-reading. Automated validation is confined to quantities it can pattern-match; it does not detect an entity supplied from memory or a correct figure attributed to the wrong account. Each analysis is therefore re-examined in a separate pass over the finished draft, worked adversarially against the source rather than as a self-review, and the model that performed it is recorded on the analysis's ledger. The review is claim-atomic: each proposition is classified as supported by a quoted source span, contradicted, or unsupported, and unsupported propositions are re-sourced or struck. It targets the error classes automated checks miss: directional inversion, invented qualifiers, and misattribution. Bill ledgers do not record which model drafted an analysis, so we do not claim of a bill analysis that a different model audited what wrote it. For standalone articles the rule is now enforced at publication — see below — though articles audited before that gate existed may not have met it.

Stage 3, the claim ledger. An audited analysis retains a per-bill record of the claims examined and the source line against which each was verified. 212 of the 219 analyses in the database carry one; the seven added most recently do not yet, because the sweep that built them across the whole corpus finished before those bills were written. The ledger makes verification reproducible: when a bill's text is amended, affected claims are re-checked against the revised source, and coverage across the corpus is auditable rather than asserted — including, as here, where the coverage stops.

Explainer articles. Standalone articles on congressional procedure are held to the same sourcing bar as bill analyses, with one addition: because an explainer has no bill text of its own, its authority — the chamber rule, statute, official manual, or research-service report it describes — is fetched and stored before a word is drafted, and every claim is bound to a verbatim span of one named stored source. An explainer may use a bill as a worked example, but only as receipt-bound fact: a figure, a vote, a date, each resolving to a stored source. Positions and analysis belong to bill pages and trackers, not here. The audit then runs claim by claim, hostile, and repeats until a pass surfaces nothing; an article that does not converge is not published, and zero unresolved flags is the bar — stricter than the bill pipeline, which may carry annotated style debt. Here the cross-model rule is enforced rather than asserted: the publishing script refuses to publish or refresh an article whose ledger names the same model as drafter and auditor. A person then reviews the audited draft beside its claim ledger and makes the publication decision; no article publishes without that review.

Scope and limitations. These procedures establish faithfulness, the agreement between an analysis and its cited source. They do not establish legal interpretation, do not substitute for professional legal judgment, and cannot validate a claim about a statute that was not retrieved; such claims are sourced or omitted. Errors identified after publication are corrected and recorded on the Corrections page.

The Patch Notes Format and Why It Works

Software engineers maintain change logs — patch notes — that describe exactly what changed between versions of a program. The discipline is strict: describe only what's different, relative to what existed before. Don't repeat the entire documentation. Don't editorialize.

Legislation is a version control problem. The U.S. Code is a living document that gets modified by each bill that passes. The Section 702 extension above is a patch. The question everyone should be able to answer quickly is: what changed? What's new? What was removed?

Applied to legislation, that discipline produces something specific: "Section 1 extends the Section 702 surveillance authority (50 U.S.C. 1881a) from April 30, 2026 to June 12, 2026." That sentence names the section, the authority, the statutory cite and both dates, and each of those can be checked against the enrolled text.

What We Don't Do

We don't summarize news coverage of a bill. If a major outlet reports that a bill "could affect millions of Americans," we don't relay that; we look at what the bill actually says. News coverage may be accurate, but it's not primary source material, and we don't treat it as such.

We don't predict floor votes or policy outcomes. We note what stage a bill is at, which procedural steps remain, and the current political dynamics. That's different from forecasting a vote.

We don't take editorial positions on whether a bill is good policy. We note that a particular bill removes a procedural defense available to defendants; whether that's appropriate is not our determination to make. Our analysis describes the change. The value judgment belongs to the reader.

Our Limits

We're not lawyers. Legal nuance in complex legislation — statutory construction questions, constitutional issues, how courts might interpret ambiguous provisions — may require analysis by attorneys with specialized training that our team doesn't have. We note these limits in individual analyses where we encounter them.

Bill coverage is selective, and the first cut is mechanical rather than editorial. The pass that discovers new bills picks up only those whose latest recorded action shows they have passed a chamber, and skips anything whose action is one of the dead-on-arrival markers it screens for. A bill that has not got that far can still be added deliberately, which is why the database also holds measures sitting in committee — and a bill that is picked up and later fails on the floor stays in, which is why it holds seven that are recorded as dead. Which of the discovered bills gets analysed first is informed by what readers are searching for. Co-sponsor count comes in later still, when deciding which already-analysed bills earn a standalone explainer. We also keep an explicit list of bills we have decided not to analyse — 107 of them: ceremonial measures, procedural resolutions that run the chambers' own business, minor bills deferred for later, and resolutions of disapproval. If a bill you're looking for isn't in our database, it is either in the queue or on that list.

Analysis can lag, and there is no schedule or turnaround promise behind it. A bill is analysed when it is analysed, and in a high-volume week — the end of a fiscal year, the run-up to a recess deadline — the queue gets longer. Each analysis records the date it was written and each article records when it was last refreshed, so how current a page is can be checked rather than taken on trust.

Primary Sources Referenced in This Article

Drafted from primary source documents by LegislationPatch's automated research pipeline, then reviewed, verified, and edited by , Editor. Every figure and citation is checked against the official text before publication. See our editorial standards and AI disclosure.