Skip to content

hearing_bill_links

Hearing-to-bill links

One row per package, bill and link source, shaped by spicy-docs.

Coverage. Sampled. Bill references that the selected hearing packages' MODS records state on their cover. It does not show bills named only in constituent records, agendas, bill actions or transcript text, and does not measure recall; agenda acquisition remains deferred. (measured 2026-09-28)

Data quality. mods_cover means held_on. The package measured confirmation on 19 of 20 cover pairs and 18 of 18 pairs where cover and agenda agreed. Agenda links mean noticed, not held_on: agenda-only pairs were confirmed 1 of 18, contradicted 1 and unverifiable 16. Recall is unmeasured. Only 2 of 20 sampled House hearings and 0 of 3 Senate hearings stated COVER bills; a missing row does not establish that a hearing concerned no bills. A successfully re-read cover replaces that hearing's prior links, including an empty result. Unread or refused bodies retain their prior links. held_date is the one date the hearing's MODS states. A compiled volume that states several dates has held_date NULL and every native date, in source order, in held_dates_json; the list does not establish that each bill was considered on each date. Before link rule d06e0bd80ca1 (2026-09-25) such a volume's links carried its first date (CHRG-117shrg56721 states eleven), and rows not re-read since keep held_dates_json NULL.

  • Parquet file: hearing_bill_links.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
package_id VARCHAR The CHRG package the hearing was printed as, spelled exactly as hearing_transcripts.package_id is, which is this table's document key.
congress VARCHAR The numbered Congress, from the package id's own grammar.
chamber VARCHAR The chamber, from the package id's document-type code rather than from its first letter, the same rule hearing_transcripts.chamber uses.
committee_system_code VARCHAR The authorityId of the first congCommittee the package MODS names, already keyed the way committees.system_code is. Half the join key a bill-side confirmation needs, and half the identity check an agenda row passed before it was written.
held_date VARCHAR The day the hearing was held, where the package MODS states one distinct heldDate; NULL where it states none or several (a compiled volume, whose dates are held_dates_json). Not the day its transcript was issued. The other half of the confirmation join key.
event_id VARCHAR The committee-meeting event id this link was reached through, so an agenda row joins committee_meetings and its own transcript row. NULL on a cover row whose caller read no hearing detail: the MODS itself never states one.
bill_id VARCHAR congress_bills.bill_id for the measure, in the publisher's own type and number. Part of the identity.
link_source VARCHAR Which rule in interpretation/hearing_bill_links.py stated this pair, from a sealed additions-only vocabulary: mods_cover (the package MODS's own cover list) and docs_house_br (the House Committee Repository's agenda) are implemented; daily_digest_entry, congress_related_items and front_matter_designator are measured, named and not yet filled. Part of the identity, because two sources naming one pair is the evidence and collapsing them would delete it; additions-only because this value is published and a rename rewrites rows already out.
relation VARCHAR What the row asserts, from the sealed vocabulary held_on and noticed. mods_cover rows are held_on, confirmed 19 of 20 by the bill's own action list; docs_house_br rows are noticed, because an agenda states intent and an agenda-only bill is confirmed 1 of 18, contradicted 1 and unverifiable 16.
evidence_rule VARCHAR Which statement inside that source settled the key, so a consumer can decline the weaker ones. mods_bill_context for a cover row; docs_house_bills_filename, docs_house_legis_num or docs_house_description for an agenda row, in that order of preference -- the file name is the publisher's own machine-written form and the description is prose.
evidence_text VARCHAR The exact string the rule read, so a wrong row is readable without the record in hand: the MODS context marker on a cover row, and the BILLS-118HR188ih.pdf file name, the legis-num or the description on an agenda row.
link_rule_version VARCHAR A digest over every link rule's name, version, publisher, relation and reader, so these rows name the rules that produced them even when someone forgets to move a rule's own version; an equality token, never a freshness ordering. A successfully corrected generation supersedes its prior regardless of digest spelling. Derived the way citations.py derives CITATION_RULE_SET_VERSION, and blind for the same reason to a change inside a reader.
held_dates_json VARCHAR Every nonempty heldDate the package MODS states, as a JSON list in document order with repetitions kept; [] where it states none. A compiled volume states several, and which bill was heard on which day is not stated, so no bill is paired with a date. NULL on a row not re-read since the column was added (mods_cover 002).