section_diffs
Bill version comparisons
One row per compared pair of consecutive printings of one bill. engine_name, engine_version and engine_revision record which diff engine produced the row. All columns are stored as VARCHAR.
Coverage. Sampled: consecutive printings of a bill are compared only when both bodies were acquired and parsed, from the Congresses the bill family has read. (measured 2026-09-28)
Data quality. A consecutive pair that cannot be diffed — because one or both sides has no parsed tree — is a counted refusal named by table, never a row. Measured on the cold-start run of the 119th (receipt d1-measured-run-2026-09-19/): 3,185 refusals against 128 published comparisons, which is what a 600-printing cap over 22,064 printings implies, since a pair needs both of its sides fetched in the same run. A pair runs from a printing to its neighbour in spicy-docs' printing_order: publisher date, then a dateless enrolled printing by its stage (pair_rule consecutive_by_date_then_stage). A pair's neighbour can be a procedural printing (a four-section Senate engrossed amendment between the calendar printing and the enrolled bill), which the summary route refuses but this table compares, so the pair reads as nearly everything removed and then everything added. In section_diff_items, financial_amounts_changed is true on every added or removed row that carries a figure, by construction; only a modified row says a figure changed in place. Floor-amendment annotations ((increased by $X)) are left out of financial_*_amounts_json though they change the text; financial_has_amendment_annotations marks them. Enrolled printings carry new element ids at the publisher, so element_id does not join into enr. All columns are stored as VARCHAR.
- Parquet file:
section_diffs.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 |
The bill both printings belong to. |
from_version_code |
VARCHAR |
The earlier printing's version code. |
from_source |
VARCHAR |
Which acquisition path supplied the earlier printing. |
to_version_code |
VARCHAR |
The later printing's version code. |
to_source |
VARCHAR |
Which acquisition path supplied the later printing. |
from_version_date |
VARCHAR |
The earlier printing's publisher date. |
to_version_date |
VARCHAR |
The later printing's publisher date; the merge prefers the larger value. |
pair_type |
VARCHAR |
Which comparison strategy this pair called for: xml-xml, pdf-pdf or pdf-xml. |
pair_rule |
VARCHAR |
Why these two printings were compared: neighbours by date, then by stage, never every pair. |
added_count |
VARCHAR |
Sections present only in the later printing. |
removed_count |
VARCHAR |
Sections present only in the earlier printing. |
modified_count |
VARCHAR |
Sections present in both whose body text differs. |
unchanged_count |
VARCHAR |
Sections present in both whose body text is identical. |
moved_count |
VARCHAR |
Sections the move round paired at a different path. |
item_count |
VARCHAR |
How many section_diff_items rows this diff produced. |
engine_name |
VARCHAR |
Which diff engine produced this row; the stand-in for a rule name. |
engine_version |
VARCHAR |
The engine's declared version. |
engine_revision |
VARCHAR |
The exact pinned commit the engine was installed from. |
computed_at |
VARCHAR |
When the comparison ran, from the caller's injected clock. |