congress_bills
Congressional bills
One row per bill or resolution. bill-family writes this table, filling the full contract for the Congresses it is scoped to (the current Congress on its daily schedule) — from a BILLSTATUS document for the 108th onward, and from the API bill detail route for the 82nd through the 107th, where no BILLSTATUS bulk exists. A consumer tells the two family routes apart by Congress and by the NULLs: a row for a Congress below the 108th is the detail route's, its schema_version is NULL because the detail record states no BILLSTATUS schema, and its action_count, committee_count, version_count, subject_count, subjects_json, related_bill_count and related_bills_json are NULL because the detail record states those only as sub-route counts the backfill does not walk — a zero would contradict the count the publisher declared. cosponsor_count is the one count the record does state, as its cosponsors sub-route's count, and is published from there (NULL when the record states no such sub-route, as the 92nd's do not). stage and signed_date_rule are NULL on these rows too: the record carries no actions, so no rule read any. The first ten columns keep the exact order and spelling they have always had, because other repositories pin that prefix by digest; every new column is appended after them. Until plan A1 retired it (decision 31), a second rollup, congress-bills, walked the Congress.gov list route for that prefix across the whole archive, and a row of a Congress the family has not been scoped to keeps the prefix that walk last stated. Because rows from the two routes state different columns, this is the one table merged column-wise: a family row's NULL cannot erase a list-era value. All columns are stored as VARCHAR.
Coverage. True range on the archive index, mixed on enrichment. The archive index lists bills back to the earliest Congresses (latest actions from 1799-12-16); the bill family fills every column from GovInfo BILLSTATUS for the Congresses it has read, which begin at the 108th. On 2026-09-26 the 108th-117th rows, then written by a retired list walk, lacked bills against the BILLSTATUS listings (receipt join-gaps-2026-09-26/d/); bill-family runs scoped to those Congresses fill them. An absent CBO element does not mean CBO never scored a bill. The bill family re-reads its own prior once where the CBO outcome is missing, or where a reader other than the running one read it, even when the publisher stamp is unchanged; a bill of the 82nd-107th filled from the detail route is re-read the same way, within the run's fetch cap. A bill the running reader found refused in, or dropped from, its folder's unchanged zip is not read again until the zip moves or another reader runs. (measured 2026-09-29)
Data quality. Historical cosponsor-count defect: the 2026-09-21 native-XML audit found 13,154 wrong zero counts in the then-retained 118th Congress HR/S output using SpicyDocs 0.24.2. The current reader counts the publisher's separate cosponsors list, including withdrawn entries, as the column description states. Corrected code does not establish that every historical row has been re-read; consult the selected generation's audit before claiming population-wide repair. Historical receipt: legislative-release-candidate-2026-09-21/. statutes_at_large_cite is filled at this table's merge by joining the published laws table on bill_id, as its column sentence says: bill-family reads laws best-effort after its merge and takes the law's citation where one is published, keeping a citation already here where laws has none for the bill; with no laws table published the column stays as it was, NULL on a cold start. It is never guessed: laws publishes a citation only from a captured PLAW USLM file, and reads a NULL through its own uslm_outcome. public_law_number and law_type are not that case: they come from the bill's own publisher record — its laws entry, when the publisher states one — and are filled wherever the bill family has reached. url_source congress_api_list marks a row the retired list writer last wrote. Its run of 2026-09-23 replaced 3,044 BILLSTATUS update_date instants with the list route's same-day dates and 3,095 congress.gov page URLs with API resource URLs (receipt drift-audit-2026-09-23/). The bill family re-reads every such bill in its scope instead of skipping it as unchanged, so the current Congress's rows heal on its next run; the 47 rows it relabelled in the 114th–118th (five of the replaced URLs among them) are re-read only by a run scoped to their Congress. update_date merges by the larger value, so a re-read never moves it backwards; the 46 rows of the 119th (and 42 older) whose list date is later than BILLSTATUS's therefore keep that date-only value after the re-read, and until BILLSTATUS catches up they read url_source billstatus beside an update_date no BILLSTATUS document stated. A row keeps the stage the rule of its last read gave until its Congress is read again. The 26 BILLSTATUS bills of the 108th-111th and 117th that stayed in doubt after every read on 2026-09-29 list a printing twice or without a type, so their version_count exceeds their bill_versions rows.
- Parquet file:
congress_bills.parquet - MCP
query_sqlsupport: Configured; requires an available artifact. - Publication status: Not established by this schema page or its measurement date.
- Row count: Not stated here; the MCP
describe_tablereply gives the live count underpublication.
| Column | Type | Description |
|---|---|---|
bill_id |
VARCHAR |
Natural key: congress, bill type and number joined with hyphens (119-hr-6028). |
congress |
VARCHAR |
The numbered Congress this measure belongs to. |
bill_type |
VARCHAR |
Lowercase publisher bill or resolution type (hr, s, hjres, sres...). |
bill_number |
VARCHAR |
The measure's number within its Congress and type. |
title |
VARCHAR |
The measure's official title as BILLSTATUS states it. |
origin_chamber |
VARCHAR |
The chamber the measure originated in, as the publisher states it. |
latest_action_date |
VARCHAR |
Date of the publisher's own latestAction entry. |
latest_action_text |
VARCHAR |
Text of the publisher's own latestAction entry. |
update_date |
VARCHAR |
The publisher's updateDate for this record; the merge prefers the larger value. |
url |
VARCHAR |
The publisher's own legislation URL for this measure. |
schema_version |
VARCHAR |
The BILLSTATUS schema version the document declared (3.0.0 today). |
update_date_including_text |
VARCHAR |
The publisher's updateDateIncludingText, which moves when a text version posts. |
introduced_date |
VARCHAR |
The date the measure was introduced, as the publisher states it. |
policy_area |
VARCHAR |
The publisher's single policy-area term for this measure. |
subjects_json |
VARCHAR |
Every legislative subject term the publisher lists, as a JSON array in publisher order. |
subject_count |
VARCHAR |
How many legislative subject terms the publisher listed. |
sponsor_bioguide_id |
VARCHAR |
Bioguide id of the first sponsor the publisher lists. |
sponsor_full_name |
VARCHAR |
Full name string of the first sponsor, exactly as the publisher spells it. |
cosponsor_count |
VARCHAR |
Number of items in the publisher's separate cosponsors list, including withdrawn entries; NULL when that list was not examined. |
latest_action_code |
VARCHAR |
Action code of the actions[] entry the publisher's latestAction names; latestAction itself states no code, so the two are linked on date and text. |
latest_action_time |
VARCHAR |
The publisher's actionTime on the latestAction entry. |
latest_action_source_system_code |
VARCHAR |
Source-system code of that same actions[] entry. |
latest_action_source_system_name |
VARCHAR |
Source-system name of that same actions[] entry. |
action_count |
VARCHAR |
How many action entries this document carries; the bill_actions row count for this bill. |
committee_count |
VARCHAR |
How many committees and subcommittees this document names, at any nesting depth. This is the bill_committees row count except where the publisher states a committee with no systemCode, which cannot be keyed and is refused. |
version_count |
VARCHAR |
How many text versions this BILLSTATUS document offers. Not the bill_versions row count: a PDF twin and an upload are rows the publisher's own list does not name. |
public_law_number |
VARCHAR |
Public law number from the publisher's laws entry, when the measure became a public law; NULL on a private law (law_type says which; its number is laws.law_number). |
law_type |
VARCHAR |
The publisher's law type for the first laws entry (Public Law or Private Law). |
statutes_at_large_cite |
VARCHAR |
NULL here on purpose: the citation is published on laws.statutes_at_large_cite, read from the PLAW USLM meta, and the host fills this column by joining laws on bill_id at merge time. The family build sees one BILLSTATUS document and its printings; the PLAW is a different package the laws rollup acquires once per law, so filling it here would fetch every PLAW twice or read another table's output, which the one-pass rule forbids. |
stage |
VARCHAR |
The whole bill's interpreted legislative stage: the latest step its actions show under the current rule, not a final outcome. On the ladder: introduced, committee, calendared, passed_chamber, other_chamber, passed_both, conference, cleared, presented or law (the terminal rung; the literal is law, never enacted); or an outcome with no rung, failed or vetoed. introduced is also the default when no rule fires (see stage_rule); NULL where the bill's actions were not examined, which is not a statement about enactment. A number the House reserves for its leadership (title "Reserved for the Speaker.") has no actions: it reads introduced with stage_rule NULL, or NULL where GovInfo holds no document. A mention is not an event: taking over the sponsorship of a bill "originally introduced by" another, a floor action citing the text "as introduced" or "as reported", a special rule's report or description, and a star print classify nothing, and where the publisher's action code names a step, the code is read before the text. calendared is a placement on the Union, House or Senate Legislative Calendar in the bill's own chamber (a reported bill awaiting the floor, or one placed there unreported under Senate Rule XIV or a discharge); a later report, order to report, subcommittee referral or floor step leaves it calendared, and only a referral of the bill to a committee lowers it. passed_chamber and other_chamber both mean the bill's own chamber has passed it; other_chamber adds that the other chamber has received it or taken a calendar, desk or floor step on it. A calendar placement, the desk, a motion to proceed or cloture reads other_chamber only where the chamber that took it (as the text names it, else the system that entered it) is not the one the bill's type originates in; in its own chamber the desk, a motion to proceed or cloture moves nothing. passed_both means both chambers have passed it (the Library of Congress's 8000 and 17000 where the actions carry codes, else the text) but not, as far as the wording shows, in one text: the second passage carried an amendment the other chamber has not agreed to, or names none either way (the House's "On passage Passed"). It is read from the passage that completed it. conference is a conference requested, held or reported; the Library of Congress's "Resolving differences" exchange of amendments is not one. cleared means both chambers have agreed to one text: the second chamber passed it as it arrived (the Senate "without amendment", or the House on a motion to suspend the rules that names no amendment), a chamber agreed to the other's amendment with no amendment of its own, or both agreed to a conference report; the Library of Congress's "Cleared for White House." (109th-111th Congresses) reads it too. A bill or joint resolution is then ready for the President; a concurrent resolution is complete. failed is the latest vote on passage failing in either chamber, a failed two-thirds vote to suspend the rules included: the measure can still pass, and it reads over an earlier passage by the other chamber until a later step. vetoed stands until a recorded enactment; a failed override keeps it. The stage never moves back once a chamber has passed the bill: the other chamber's referral or report, a star print or an introduction phrase does not lower it, and only a passage the Senate states it vitiated is undone; where the actions carry publisher codes, the Library of Congress's passage code (8000 House, 17000 Senate) is what holds it. Once cleared, no lower rung moves it back. A motion's or a point of order's result ("motion to proceed ... agreed to in Senate") is not the measure's passage, and "disagreed to in Senate" reads failed. |
stage_rule |
VARCHAR |
Which rule fired: a stage's own name where that rule read the action's text (introduced, committee, calendared, passed_chamber, other_chamber, conference, cleared, presented, law), cleared also for both chambers' agreement to a conference report, read from the second; vetoed for the President's veto; failed_passage for a failed vote on passage, a failed veto override included (which leaves the stage vetoed); action_code where the Library of Congress's passage or presentation code decided it; became_law_code for the publisher's became-law code; passed_both for the passage that left both chambers' passages standing. NULL when no rule fired and the default stood. |
stage_matcher |
VARCHAR |
The matched text pattern, publisher code or vote-result reading used by the named rule. |
stage_action_index |
VARCHAR |
Position in the publisher's action list of the action the stage was read from; the list runs newest first, so 0 is the bill's latest action. |
stage_action_date |
VARCHAR |
Date of the action the stage was read from. |
stage_source_text |
VARCHAR |
The full action text the stage rule matched against, never shortened. |
signed_date |
VARCHAR |
The date of the publisher's coded became-law action (36000, E40000 or the BecameLaw type) for a public or a private law; NULL where the bill states no law, or states one with no coded action. |
signed_date_rule |
VARCHAR |
Which signed-date rule produced that answer: public_law_and_became_law_action, private_law_and_became_law_action, public_law_without_became_law_action (a public law with no coded action, so no date) or no_public_law (no law entry, or a private law with no coded action). |
signed_date_action_index |
VARCHAR |
Position of the became-law action the signing date was read from. |
signed_date_action_code |
VARCHAR |
The publisher's action code on that became-law action. |
money_bill_kind |
VARCHAR |
Interpreted money-bill kind, or NULL when no rule claimed the measure. A title heuristic with unmeasured recall: an appropriations act whose title lacks the pattern, or an appropriations division inside another bill, is NULL (money_bill_rule names the rule that fired). A simple or concurrent resolution (H. Res., S. Res., H. Con. Res., S. Con. Res.) is never a money bill, though a House special rule names the one it brings up, and omnibus is an appropriations omnibus only, not a statute named "Omnibus" (the Omnibus Crime Control and Safe Streets Act). |
money_bill_rule |
VARCHAR |
Which money-bill rule fired, or NULL alongside a NULL kind. |
money_bill_reason_codes |
VARCHAR |
The rule's reason codes, unit-separator joined; BillTrax computed and then discarded these. |
fiscal_year |
VARCHAR |
Fiscal year the display title states, spelled FY plus the year: fiscal year 2027, the long title's for the fiscal year ending September 30, 2027, or an appropriations act's closing year (... Appropriations Act, 2027, Continuing Appropriations and Extensions Act, 2027). Never read from short_title, which a reused vehicle takes from the act it replaced. NULL where the title states none. |
appropriations_subcommittee |
VARCHAR |
Which of the twelve appropriations subcommittees the title names, under the statutory names: the House's National Security, Department of State, and Related Programs reads State, Foreign Operations. Read only where the regular-appropriations rule (or a manual override) classified the bill. |
referral_signals |
VARCHAR |
The referral signals the money-bill classifier was given, sorted and unit-separator joined; this is the classifier's input, recorded so a classification can be re-derived. |
short_title |
VARCHAR |
The publisher's short title for the whole measure: the first titles[] entry whose titleType names a short title, which is the newest stage's because the publisher lists titles newest stage first, skipping the types that name only portions of the bill (an omnibus's divisions); NULL where the measure states no short title for the whole of it, which is ordinary. |
related_bills_json |
VARCHAR |
Every relatedBills entry the publisher states, as a JSON array, with each one's relationship details nested; this replaces BillTrax's hand-set related_bill_id with the publisher's own fact. |
related_bill_count |
VARCHAR |
How many related bills the publisher states. |
cbo_cost_estimates_outcome |
VARCHAR |
BILLSTATUS estimate-block observation: NULL means unread; populated means estimate items were read; requested-empty:absent means no element; requested-empty:present-and-empty means an empty element; requested-empty:unexpected-shape: |
url_source |
VARCHAR |
Who stated url, and so which kind of URL it is: billstatus (the BILLSTATUS legislationUrl, the congress.gov page), congress_api (the Congress.gov detail record's legislationUrl, the same page), congress_api_list (the Congress.gov list route's url, the API resource), or inherited (this observation stated none and a host merge kept an earlier observation's value; its lineage is that earlier source, not a fresh read). NULL when url is NULL or the row predates this label. |
cosponsors_outcome |
VARCHAR |
Source list state: absent, empty or populated; NULL means not read. |