report_sections
Committee report heading and text blocks
One row per heading or unheaded text block in one part of a committee report, keyed (package_id, part_id, seq). heading preserves the source title; agency identity fields remain unresolved. pattern records which header pattern fired, which is this table's provenance column. All columns are stored as VARCHAR.
Coverage. Sampled. Heading/text blocks of the reports in committee_reports. heading retains the source title while agency_label and agency_key remain unresolved NULLs. HTML bodies carry no page boundaries, so none are inferred. (measured 2026-09-28)
Data quality. part_id names the committee_reports row a block was parsed from, so (package_id, part_id) is its parent, and seq counts from zero within that part. By decision 29 (docs/research/fork-delivery-decisions-2026-09-22.md) part_id is the package id for a report published in one part and the part's granule id for a report published as parts, CRPT-119hrpt494's unsuffixed Part 1 aside; a package whose one part is spelled -pt1 (CRPT-119hrpt811; spicy-docs docs/tables.md names the others it measured) carries that spelling, so the parent's row count tells a lone part from Part 1 of several. A block published before part_id existed carries its package id there until its report is read again, which replaces every block of the package.
- Parquet file:
report_sections.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 |
|---|---|---|
package_id |
VARCHAR |
The report package this block was parsed from. |
seq |
VARCHAR |
Zero-based position of this block in its part, in reading order. |
agency_label |
VARCHAR |
NULL because heading recognition does not establish agency identity; the source heading is retained separately in heading. |
agency_key |
VARCHAR |
NULL because this reader does not resolve headings to agency identities. |
body |
VARCHAR |
The block's text, trimmed the way the original trimmed it. |
pattern |
VARCHAR |
Which header pattern fired to start this block; this table's provenance column. Two values are not pattern names: preamble for the text before the first header, and full_report for a report where no header matched at all. |
char_start |
VARCHAR |
Start offset of this block's span in the flattened report text. |
char_end |
VARCHAR |
End offset, exclusive; spans partition the whole input with no gap and no overlap. |
page_start |
VARCHAR |
First page the span touches, where the input carried page boundaries. |
page_end |
VARCHAR |
Last page the span touches, where the input carried page boundaries. |
body_chars |
VARCHAR |
Character length of body, which can be shorter than the span it sits in. |
last_modified |
VARCHAR |
The parent report's last_modified, carried so this table versions with the package it came from. |
heading |
VARCHAR |
The source heading as spelled and trimmed, including actual agency names and generic titles; NULL for preamble or full_report blocks, which have no source heading. |
part_id |
VARCHAR |
The report part this block was parsed from, spelled as committee_reports.part_id, so (package_id, part_id) is the parent row. Appended last. |