laws
Enacted laws
One row per enacted law the Congress.gov law list route states, with the Statutes at Large citation from the law's own PLAW USLM file where captured. Keyed on the law's Congress, type and number, not on the bill; bill_id is the foreign key to congress_bills, whose statutes_at_large_cite the host fills from this table at that table's merge. All columns are stored as VARCHAR.
Coverage. Sampled. Every law the Congress.gov law route lists for the scoped Congresses (the current one by default), walked whole each run; the PLAW USLM citation is added per law, newest first, under a per-run cap. A steady-state run is meant to ask only about laws whose list row moved or whose PLAW the bulk folder had not yet served. (measured 2026-09-28)
Data quality. statutes_at_large_cite is set when uslm_outcome is captured; read every NULL through uslm_outcome and uslm_reason. unavailable (reason source_unavailable) is the publisher's own lag, a 404 from the exact PLAW locator: on 2026-09-19 the route listed 108 laws and the PLAW bulk folder held 104, the four newest (119-103, 119-104, 119-109, 119-110) absent; each is retried every run until the folder serves it.
captured_partial is a validated USLM file that states no Statutes at Large citation (reason statutes_citation_not_stated): the two private laws of the 119th (PLAW-119pvtl1, PLAW-119pvtl2), whose own citableAs values are kept in uslm_citable_as_json. Until reader rule laws-uslm-v2 (2026-09-25) the contract refused those two files and their rows said not_requested, although both were requested and served. captured_refused keeps the digest of a 200 body the reader refused, either another law's file (native_identity_refused) or not native USLM at all, such as an HTML page (native_shape_refused), and none of its unvalidated fields. request_failed is an attempted read that established nothing, a transport failure included; it is never published as unavailable. not_requested means only that no request was made, which the per-run cap decides.
A validated row with parsed text is read again when its listing or metadata/text reader changes, or its matching section output is missing. A failed later attempt preserves its prior metadata and parsed sections. law_text_outcome distinguishes unread, parsed and refused text; an unavailable XML file does not mean the law has no provisions. Join law_sections on law_id for native sections. law_body_remainder retains main-body text outside those sections, including appropriation blocks; it is NULL unless parsed and may be an empty string on success. The section rows and remainder are printed law text, not consolidated current law. A publisher-refused Table III read is journaled table3-bulk-refused with reason access-refused, and the laws family publishes without the Table III rows that read would have added. statutes_at_large_volume follows the session that cleared the bill, not the year the law was approved: 119-69 and 119-71 to 119-73, approved in January 2026 on bills cleared in December 2025, are in volume 139, and 119-70 and 119-74 on are in volume 140. statutes_at_large_last_page comes with reader laws-uslm-v3 (2026-10-03), so a row read under an earlier reader holds NULL there, which means not read, until the next laws run reads its PLAW again. resolve_document_citations resolves a Statutes citation to a page inside a law's range to that law and says the match is by range (match_basis); a law with no last page is matched by its first page only. All columns are stored as VARCHAR.
- Parquet file:
laws.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 |
|---|---|---|
law_id |
VARCHAR |
Natural key: congress, law_type and number joined with hyphens. |
congress |
VARCHAR |
The numbered Congress that enacted the law. |
law_type |
VARCHAR |
public or private: the publisher's Public Law or Private Law folded onto the spelling the PLAW USLM publicPrivate field uses, so the list route, the bulk folder and the USLM file share one key. |
number |
VARCHAR |
The law's number within its Congress and type, without the Congress prefix. |
law_number |
VARCHAR |
The publisher's own spelling of the number, Congress prefix included. |
publisher_law_type |
VARCHAR |
The publisher's laws[].type exactly as spelled (Public Law or Private Law). |
package_id |
VARCHAR |
The GovInfo PLAW package id by the measured bulk-file rule: PLAW- plus congress, publ or pvtl, and number. |
bill_id |
VARCHAR |
Natural key of the measure this law enacted, as congress_bills keys it. |
bill_type |
VARCHAR |
The enacted measure's type, lowercased as the bill tables spell it. |
bill_number |
VARCHAR |
The enacted measure's number. |
title |
VARCHAR |
The measure's title as the list route states it. |
origin_chamber |
VARCHAR |
The chamber the measure originated in, as the publisher states it. |
origin_chamber_code |
VARCHAR |
The publisher's one-letter origin chamber code. |
latest_action_date |
VARCHAR |
Date of the publisher's latestAction entry. Usually the became-law action, but the publisher lists a later action when there is one (119-public-68: a committee report filed after signing), so for the enactment date read approved_date where the PLAW was captured, else congress_bills.signed_date through bill_id (a private law's too). |
latest_action_text |
VARCHAR |
Text of that latestAction entry. |
update_date |
VARCHAR |
The publisher's updateDate on the list row; the merge prefers the larger value. |
update_date_including_text |
VARCHAR |
The publisher's updateDateIncludingText on the list row. |
url |
VARCHAR |
The publisher's own URL for the enacted measure. |
statutes_at_large_cite |
VARCHAR |
The native Statutes at Large citation, when stated. NULL with captured_partial means the acquired identity-matched USLM does not state this citation; see uslm_reason and uslm_citable_as_json. |
statutes_at_large_volume |
VARCHAR |
The volume part of that citation. |
statutes_at_large_page |
VARCHAR |
The page part of that citation. |
approved_date |
VARCHAR |
The USLM meta's approvedDate, where the PLAW was captured. |
uslm_title |
VARCHAR |
The USLM meta's dc:title, where the PLAW was captured. |
uslm_processed_date |
VARCHAR |
The USLM meta's processedDate, where the PLAW was captured. |
uslm_sha256 |
VARCHAR |
Digest of the captured PLAW USLM bytes, so the citation is traceable to one file. |
uslm_observed_at |
VARCHAR |
When the read whose outcome this row states got its response: the validated file's capture, the refused body's, or the 404's; a later failed read the row does not record leaves it unchanged. NULL when no read was attempted (not_requested) or the attempt got no response. |
uslm_outcome |
VARCHAR |
captured or captured_partial retain validated native metadata; captured_refused retains a refused capture without unvalidated metadata; request_failed records an attempted read without an accepted body; unavailable records supported source absence; not_requested means no attempt. |
uslm_citable_as_json |
VARCHAR |
Every literal native USLM meta citableAs value, source order retained. |
uslm_reason |
VARCHAR |
Bounded outcome reason token; NULL on complete capture or when no read was attempted. |
uslm_reader_version |
VARCHAR |
Native mapping rule used for this attempted read; old or absent rules require rereading. |
law_text_outcome |
VARCHAR |
not_requested, parsed or refused: section reading is separate from validated USLM metadata. |
law_text_reader_version |
VARCHAR |
Section-reader rule for this attempt; NULL when no section read was attempted. |
law_section_count |
VARCHAR |
Native section occurrences emitted by a successful read, including quoted nested sections; NULL unless parsed. |
law_text_reason |
VARCHAR |
Bounded reason token for a refused section read; NULL on success or no attempt. |
law_body_remainder |
VARCHAR |
Main-body text outside every native section subtree, including hierarchy headings and enacting formula; block-spaced like section body. Empty string means parsed with no remainder; NULL means not parsed. Print furniture (page numbers, running heads and, from law_text_reader_version law-sections-uslm-v2, the margin notes: the approval date, the bill number, the short-title note) is excluded with an issue in law_text_issues_json. |
law_text_issues_json |
VARCHAR |
Document-level reading scope and observations about the main-body remainder; section-specific issues are on law_sections. NULL unless parsed. |
law_text_url |
VARCHAR |
Actual resolved XML acquisition URL for an attempted law-text read, distinct from the bill API url. Supplied from capture evidence, never inferred; NULL when unattempted or the caller retained no URL. A refused read does not validate the target's law identity. |
statutes_at_large_last_page |
VARCHAR |
The last Statutes at Large page the law is printed on: the last page marker the PLAW USLM states in the cited volume (<page identifier="/us/stat/140/746">), so a page from statutes_at_large_page to this one, in statutes_at_large_volume, is inside the law. On the 102 public laws of the 119th's PLAW file (2026-09-14) the first marker is the cited page on every law and the next law starts on the following page on 97 of 98 consecutive pairs (one page between on the other). NULL where no USLM was captured, it states no citation or no marker in its volume, and on a row read under uslm_reader_version laws-uslm-v2 or earlier. |