Skip to content

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_sql support: 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_table reply gives the live count under publication.
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.