Veridion Disclosures
Server Details
Congressional stock-trade reports and the President's OGE reports, each row linked to its filing.
- Status
- Healthy
- Uptime
- 100.0% over 29 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The five tools map to distinct jobs: search rows, read one disclosure's version stream, resolve filers, report coverage counts, and report source health. The only adjacency is get_coverage vs get_status, both of which report per-source numbers, but their descriptions separate volume measurement from freshness/degradation semantics.
All names follow a clean snake_case verb_noun pattern (get_coverage, get_disclosure_history, get_status, list_members, search_disclosures). Verbs are chosen meaningfully — get for single-object reads, list for collections, search for filtered queries.
Five tools is well-scoped for a read-only disclosure-data API; each endpoint covers a distinct access pattern (search, history, entity lookup, coverage, health) with no filler.
Search, version history, filer identity, coverage, and freshness form a coherent read-only lifecycle, and pagination/cursors are present. Gaps remain: there is no direct fetch-by-id for a single disclosure row and no bulk-export download tool despite get_status referencing bulk_export.merkle_root for verification.
Available Tools
5 toolsget_coverageARead-onlyIdempotentInspect
Live coverage counts (rows, filers, per-source totals) measured from the serving views at request time.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so the safety profile is covered structurally. The description adds real value by disclosing that counts are measured from the serving views at request time, i.e. live rather than cached, but says nothing about cost, rate limits, or freshness guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence, front-loaded with what is returned and followed by the freshness qualifier. No filler and nothing an agent must read twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only tool with no output schema, the description adequately covers what comes back (rows, filers, per-source totals) and when it is measured. Only the precise shape and any pagination or size caveats are left unspecified, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is no parameter semantics to explain — the baseline for a no-arg tool applies. The description instead spends its words on the return aggregates, which is the right allocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (coverage counts) and enumerates the specific aggregates returned (rows, filers, per-source totals), so an agent knows exactly what it gets. It does not, however, differentiate itself from the sibling get_status, which an agent could plausibly confuse with a coverage/health read.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no conditions or prerequisites, and no mention of alternative tools such as get_status or search_disclosures. Usage is only inferable from the topic of the resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_disclosure_historyARead-onlyIdempotentInspect
Every observed version of one disclosure, oldest first. The change stream is append-only, so an amendment supersedes rather than overwrites -- the before and after of a restated filing are both here, each with its own change block and receipt.url. restated=true means content changed after first publication; each version records what changed and when.
| Name | Required | Description | Default |
|---|---|---|---|
| disclosure_id | Yes | Permanent disclosure_id from search_disclosures. Identifiers survive restatement and are never reused. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | Every observed version of this disclosure_id, oldest first. Each entry carries its own change block (upsert or supersede, active or withdrawn) and version_id. The last entry is the current state. |
| cache | Yes | |
| access | Yes | |
| notice | Yes | |
| history | Yes | |
| version | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: the change stream is append-only, amendments supersede rather than overwrite, before/after versions are both preserved with change blocks and receipt.url, and restated=true semantics are explained. This is exactly the kind of behavioral detail the description should carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured and front-loaded: the first sentence states the core action, and subsequent sentences clarify the append-only model and restatement semantics. Slightly dense but every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details are not needed. The description covers the key behavioral aspects—append-only history, supersession, restatement flags—completely enough for an agent to call and interpret the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter description already explains that disclosure_id is permanent and survives restatement. The description adds no additional parameter-level detail beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: retrieves every observed version of one disclosure, with ordering (oldest first). The scope is narrow and unmistakable, and differs from search_disclosures, which is referenced in the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the disclosure_id parameter and the sibling reference in the schema. It does not explicitly state when not to use this tool versus alternatives, but the version-history purpose is clear from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusARead-onlyIdempotentInspect
Source freshness and bulk-snapshot health. This endpoint downgrades itself when its own arithmetic says stale — it never guesses green. When state is 'degraded', degraded_reasons names each cause with its measurement; sources[].index_reconciliation says whether the government's own index lists filings not yet served; bulk_export.merkle_root is the day's commitment over every row's content_hash, for verifying a bulk download.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioral context beyond that: the endpoint self-downgrades and 'never guesses green', and it explains what the degraded_reasons and index_reconciliation fields mean when things go wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence and each subsequent sentence maps to a distinct return field, so nothing is filler. It is dense and field-name-heavy, but every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description has to convey the return shape, and it names several key fields (state, degraded_reasons, sources[].index_reconciliation, bulk_export.merkle_root). It still leaves some structure unexplained — e.g., the full set of state values and other top-level fields — so it is strong but not exhaustive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; baseline for a zero-parameter schema applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete subject — source freshness and bulk-snapshot health — which is specific enough for an agent to know this is a health/status read. It does not, however, differentiate itself from the sibling get_coverage, which an agent might reasonably confuse with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: mentioning that merkle_root is 'for verifying a bulk download' hints at the pre-download check workflow. There is no explicit 'use this when...' statement and no named alternative (e.g., get_coverage) or exclusion, so the agent must infer when to reach for this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_membersARead-onlyIdempotentInspect
List filers with official identity (congressional filers carry their Bioguide ID; executive-branch filers return null with an explanation — identifiers are never invented). Filter by bioguide, by the exact member_id a disclosure row carries, or by a substring of the name as filed. A name search can match several filers; each result carries member_id and bioguide for an exact match.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Case-insensitive substring of the filer's full name, e.g. pelosi | |
| bioguide | No | Official Bioguide ID, e.g. P000197 | |
| member_id | No | Exact filer identifier from a disclosure row, e.g. nancy-pelosi |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| cache | Yes | |
| count | Yes | |
| notice | Yes | |
| version | Yes | |
| directory | Yes | Which relation answered and how old it is. Present on every directory response so a reader never has to assume the age of what they were served. |
| served_at | Yes | |
| identity_join | Yes | |
| paper_transcriptions | Yes | Paper queue visibility independent of the directory population and measurement timestamp. Completeness state describes the annual paper measurement, not roster coverage. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe read-only, idempotent profile, yet the description adds real behavioral context: congressional filers carry a Bioguide ID, executive-branch filers return null with an explanation, and identifiers are never fabricated. That is meaningful beyond the annotations, though it stops short of describing pagination or result ordering.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences with the identity-resolution behavior front-loaded and no filler. The first sentence is somewhat overloaded with the parenthetical, but every clause carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description only needs to supply edge-case behavior — which it does via the null-return explanation for executive-branch filers and the multi-match warning. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds cross-tool provenance semantics: member_id is the exact identifier a disclosure row carries and name is a substring 'as filed'. This contextualizes the params beyond the schema's terse examples.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb+resource: list filers and resolve their official identity. The parenthetical about Bioguide IDs for congressional vs null for executive-branch filers makes the scope precise. It never names a sibling, so differentiation from get_disclosure_history or search_disclosures is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gives three filter modes (bioguide, exact member_id, name substring) and warns that a name search can match several filers, then points to member_id/bioguide for an exact match. Missing is any statement of when to call this versus the sibling disclosure tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_disclosuresARead-onlyIdempotentInspect
Search receipt-linked US government financial disclosures: both chambers of Congress under the STOCK Act, plus executive-branch OGE filings (chamber 'executive', which holds the President's disclosures). Every row carries receipt.url, the government's own document for that row: a PDF page for House and OGE filings, or the Senate eFD report page, which the Senate site opens behind its own access agreement (receipt.access 'gated'). Supports point-in-time reconstruction via as_of (rows observed on or before that timestamp; no look-ahead bias) and change polling via updated_since. Results are paged; page.next_cursor continues the listing.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | ISO timestamp: only rows first observed on/before this instant | |
| limit | No | Rows per page: 10 when omitted; up to 25 without a key and 1000 with a licensed key. A larger request returns the maximum, not an error. | |
| cursor | No | Opaque page.next_cursor from a previous call | |
| ticker | No | Filter by ticker symbol, e.g. NVDA | |
| chamber | No | Filter by filing body. 'house' and 'senate' are STOCK Act periodic transaction reports; 'executive' is executive-branch OGE filings, which is where the President's disclosures are. Omit to search all. | |
| member_id | No | Filter to one filer by slug, e.g. donald-trump or nancy-pelosi. The same slug appears as member.member_id on every row. | |
| updated_since | No | ISO timestamp: only rows first observed after this instant | |
| min_delay_days | No | Only rows filed at least this many days after the transaction. The STOCK Act window is 45 days, so 46 returns filings outside it. Rows without a computed delay are excluded, not guessed at. | |
| within_statutory_window | No | false returns only filings made outside the statutory window that applies to that row (served as statutory_window_days); true returns only filings inside it. Unlike min_delay_days, the boundary is each row's own window rather than a supplied number. Annual reports have no window and are excluded by either value. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| page | Yes | |
| cache | Yes | |
| access | Yes | |
| notice | Yes | |
| version | Yes | |
| coverage | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, closed-world behavior. The description adds valuable behavioral context beyond that: every row links to a government PDF or Senate eFD page (with gated access noted), and results are paged with a cursor. It does not cover rate limits or authentication details beyond gating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but front-loads the core purpose and then layers on document linking, time-travel, and pagination details. Most sentences carry useful information, though the density is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given nine parameters, an output schema, and rich schema descriptions, the description covers the essential scope, document linkage, temporal query behavior, and pagination. It is nearly complete, with the only gap being explicit routing to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds interpretive meaning beyond the schema by explaining that as_of enables look-ahead-bias-free reconstruction and updated_since supports change polling, and it clarifies that pagination uses page.next_cursor.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (search) and resource (US government financial disclosures) with clear scope: congressional STOCK Act filings plus executive-branch OGE filings. The verb distinguishes it from sibling retrieval tools like get_disclosure_history, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes capabilities such as point-in-time reconstruction and change polling, which implies when to use those parameters, but does not explicitly state when to use this tool versus alternatives like get_disclosure_history or list_members. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
search_disclosures1 field changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Rows per page: up to 25 without a key, up to 1000 with a licensed key"New value: +"Rows per page: 10 when omitted; up to 25 without a key and 1000 with a licensed key. A larger request returns the maximum, not an error."
2 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / data / items / properties / instrument / properties / kind / descriptionPrevious value: -"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
- Changed
search_disclosures1 field changed- changed
Output schema / properties / data / items / properties / instrument / properties / kind / descriptionPrevious value: -"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
2 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / data / items / properties / instrument / properties / kind / descriptionPrevious value: -"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
- Changed
search_disclosures1 field changed- changed
Output schema / properties / data / items / properties / instrument / properties / kind / descriptionPrevious value: -"Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."New value: +"Instrument category supported by the printed code or text. Explicit option transactions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity."
2 tool updates
- Changed
get_coverage1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": false, - "properties": { - "cache": { - "additionalProperties": false, - "properties": { - "age_header": { - "description": "The name of the response header that reports how long a cache held this body, or null when no cache is permitted to hold it, as here. Public record responses name the Age header.", - "type": "null" - }, - "browser_max_age_seconds": { - "const": 0, - "description": "Seconds a browser or client cache may reuse this body without revalidating; 0, the max-age the Cache-Control header carries.", - "type": "number" - }, - "cdn_max_age_seconds": { - "const": 0, - "description": "Seconds the CDN may reuse this body; 0, because CDN-Cache-Control is no-store. Public record responses declare a nonzero value here; measurements never do.", - "type": "number" - }, - "declared_max_staleness_seconds": { - "const": 0, - "description": "The upper bound on how old this body can be when it reaches a client, counted from generated_at; 0 for a measurement, and the same number the X-Veridion-Cache-Max-Staleness header carries.", - "type": "number" - }, - "policy": { - "const": "no-store", - "description": "The cache contract this response was served under; always no-store for a measurement. Rendered as Cache-Control: no-store, max-age=0 with CDN-Cache-Control and Vercel-CDN-Cache-Control: no-store, and echoed in X-Veridion-Cache-Policy.", - "type": "string" - } - }, - "required": [ - "policy", - "browser_max_age_seconds", - "cdn_max_age_seconds", - "declared_max_staleness_seconds", - "age_header" - ], - "type": "object" - }, - "congress": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Nonnegative whole seconds from summary measured_at to response generation; null without a valid summary timestamp." - }, - "amount_disclosed_pct": { - "description": "100 times amount_disclosed_rows divided by warehouse_rows, rounded to one decimal place; null for zero warehouse rows. Both counts include superseded rows.", - "type": [ - "number", - "null" - ] - }, - "amount_disclosed_rows": { - "description": "Rows with amount_mid, or both amount_low and amount_high from which the summary derives a midpoint; not a count of exact transaction values. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "as_of": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "by_chamber": { - "additionalProperties": false, - "properties": { - "house": { - "additionalProperties": false, - "properties": { - "amount_disclosed_rows": { - "description": "House rows with amount_mid or both amount bounds; subset of by_chamber.house.rows. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "rows": { - "description": "Rows with warehouse chamber exactly House. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "rows", - "amount_disclosed_rows" - ], - "type": "object" - }, - "senate": { - "additionalProperties": false, - "properties": { - "amount_disclosed_rows": { - "description": "Senate rows with amount_mid or both amount bounds; subset of by_chamber.senate.rows. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "rows": { - "description": "Rows with warehouse chamber exactly Senate. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "rows", - "amount_disclosed_rows" - ], - "type": "object" - } - }, - "required": [ - "house", - "senate" - ], - "type": "object" - }, - "deprecated_fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "detail": { - "type": [ - "string", - "null" - ] - }, - "document_reference_definitions": { - "additionalProperties": false, - "properties": { - "first_party_verified_rows": { - "minLength": 1, - "type": "string" - }, - "first_party_verified_rows_including_superseded": { - "description": "Definition of the retained receipt-marker count, explicitly including superseded rows; carried in the payload so its population does not depend on consulting external documentation.", - "minLength": 1, - "type": "string" - }, - "licensed_feed_document_reference_rows": { - "minLength": 1, - "type": "string" - }, - "licensed_feed_rows": { - "minLength": 1, - "type": "string" - }, - "no_document_reference_rows": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "first_party_verified_rows", - "first_party_verified_rows_including_superseded", - "licensed_feed_document_reference_rows", - "licensed_feed_rows", - "no_document_reference_rows" - ], - "type": "object" - }, - "expected_max_age_seconds": { - "description": "Configured six-hour operational budget for the four-hour summary job, in seconds; not a measured count or contractual service commitment.", - "minimum": 0, - "type": "number" - }, - "field_successors": { - "additionalProperties": false, - "properties": { - "first_party_verified_rows": { - "const": "first_party_verified_rows_including_superseded", - "description": "Replacement field for the deprecated first_party_verified_rows alias; both names return the same retained count, not a newly measured live count.", - "type": "string" - }, - "licensed_feed_rows": { - "const": "licensed_feed_document_reference_rows", - "type": "string" - } - }, - "required": [ - "first_party_verified_rows", - "licensed_feed_rows" - ], - "type": "object" - }, - "first_party_verified_rows": { - "deprecated": true, - "description": "Deprecated compatibility alias for first_party_verified_rows_including_superseded. Retained receipt-linked congressional warehouse rows including superseded rows, not live or served rows; the value is unchanged.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer", - "x-veridion-successor": "first_party_verified_rows_including_superseded" - }, - "first_party_verified_rows_including_superseded": { - "description": "Retained congressional warehouse rows marked receipt-linked by Veridion, including superseded rows. The summary asserts equality to the first-party collection-channel count; this is not a live-row or served-row count.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "last_90_days": { - "additionalProperties": false, - "properties": { - "rows": { - "description": "Rows passing the summary's publishable-date predicate with transaction_date or filing_date on or after the summary date minus 90 days. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unique_filings": { - "description": "Distinct valid trimmed HTTPS document URL strings among last_90_days.rows; not distinct document IDs or live URLs. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unique_members": { - "description": "Distinct nonempty canonical member identifiers among last_90_days.rows, using member_slug or the summary's normalized name fallback. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "rows", - "unique_filings", - "unique_members" - ], - "type": "object" - }, - "licensed_feed_document_reference_rows": { - "description": "Retained congressional warehouse rows without a first-party receipt-link marker but with a trimmed valid HTTPS document URL. Includes superseded rows; the name does not establish collection-channel identity or URL liveness.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "licensed_feed_rows": { - "deprecated": true, - "description": "Deprecated compatibility alias for licensed_feed_document_reference_rows: retained rows without a first-party receipt-link marker but with a valid HTTPS URL, including superseded rows. Not the total licensed-feed population.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer", - "x-veridion-successor": "licensed_feed_document_reference_rows" - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "no_document_reference_rows": { - "description": "Rows with neither a first-party receipt-link marker nor a valid trimmed HTTPS document URL. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "population_basis": { - "description": "All retained congressional warehouse rows, including superseded rows and all collection channels, counted by the persisted summary at measured_at; not currently live rows or rows served by the API. last_90_days additionally requires publishable dates and a transaction or filing date within the summary's 90-day lookback; it still includes superseded rows. This block excludes OGE and SEC.", - "minLength": 1, - "type": "string" - }, - "receipt_linked_rows": { - "deprecated": true, - "description": "Deprecated count of retained rows with a valid trimmed HTTPS document URL, including superseded rows. Not evidence of a first-party retrieval or a resolved URL.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "state": { - "const": "ready", - "type": "string" - }, - "threshold_basis": { - "minLength": 1, - "type": "string" - }, - "unique_filings": { - "description": "Distinct trimmed HTTPS document URL strings, not distinct document IDs and not a URL-resolution test. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unique_members": { - "description": "Distinct nonempty member identifiers, using member_slug or the summary's normalized member-name fallback. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unique_tickers": { - "description": "Distinct nonempty ticker strings after trimming and uppercasing; not a count of resolved issuers. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "warehouse_rows": { - "description": "All retained congressional warehouse rows across all collection channels. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "population_basis", - "measured_at", - "as_of", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "detail", - "state", - "warehouse_rows", - "unique_members", - "unique_tickers", - "unique_filings", - "first_party_verified_rows_including_superseded", - "first_party_verified_rows", - "licensed_feed_document_reference_rows", - "licensed_feed_rows", - "no_document_reference_rows", - "document_reference_definitions", - "receipt_linked_rows", - "deprecated_fields", - "field_successors", - "amount_disclosed_rows", - "amount_disclosed_pct", - "by_chamber", - "last_90_days" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Nonnegative whole seconds from summary measured_at to response generation; null without a valid summary timestamp." - }, - "as_of": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "detail": { - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "description": "Configured six-hour operational budget for the four-hour summary job, in seconds; not a measured count or contractual service commitment.", - "minimum": 0, - "type": "number" - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "population_basis": { - "description": "All retained congressional warehouse rows, including superseded rows and all collection channels, counted by the persisted summary at measured_at; not currently live rows or rows served by the API. last_90_days additionally requires publishable dates and a transaction or filing date within the summary's 90-day lookback; it still includes superseded rows. This block excludes OGE and SEC.", - "minLength": 1, - "type": "string" - }, - "state": { - "const": "stale", - "type": "string" - }, - "threshold_basis": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "population_basis", - "measured_at", - "as_of", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "detail", - "state" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Nonnegative whole seconds from summary measured_at to response generation; null without a valid summary timestamp." - }, - "as_of": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "detail": { - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "description": "Configured six-hour operational budget for the four-hour summary job, in seconds; not a measured count or contractual service commitment.", - "minimum": 0, - "type": "number" - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - }, - "population_basis": { - "description": "All retained congressional warehouse rows, including superseded rows and all collection channels, counted by the persisted summary at measured_at; not currently live rows or rows served by the API. last_90_days additionally requires publishable dates and a transaction or filing date within the summary's 90-day lookback; it still includes superseded rows. This block excludes OGE and SEC.", - "minLength": 1, - "type": "string" - }, - "state": { - "const": "unavailable", - "type": "string" - }, - "threshold_basis": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "population_basis", - "measured_at", - "as_of", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "detail", - "state" - ], - "type": "object" - } - ] - }, - "dataset": { - "const": "veridion-disclosure-api", - "type": "string" - }, - "description": { - "minLength": 1, - "type": "string" - }, - "exclusions": { - "items": { - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "generated_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "house_clerk_ptr_completeness": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "description": "Elapsed nonnegative seconds since completion of the selected index reconciliation, not since response generation or the serving read.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "clerk_published_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of published PTR DocIDs across the twelve archive years in the selected completed run, emitted only after equality with its distinct indexed DocID count is verified." - }, - "detail": { - "type": "null" - }, - "documents_held": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of the selected run's held-document counts. A held PDF need not yield a row the API admits; use documents_served for that stage." - }, - "documents_served": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct indexed House PTR DocIDs with an active house_clerk version at served_measured_at, restricted to this reconciliation run and, for a yearly entry, its archive year. Null when any stage cannot be verified." - }, - "expected_max_age_seconds": { - "const": 172800, - "description": "Configured maximum reconciliation age in seconds before document counts are withheld.", - "type": "number" - }, - "held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_held divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Acquisition coverage, not what disclosures returns. Null when the complete funnel cannot be measured." - }, - "measured_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "measurement_definition": { - "minLength": 1, - "type": "string" - }, - "missing_document_ids_retained": { - "const": true, - "type": "boolean" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Both rates divide their named document count by the published count in this object; ratios are 0 to 1, not percentages.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate" - ], - "type": "object" - }, - "rows_examined": { - "description": "Sum of indexed PTR DocIDs examined across the selected run's archive years, asserted to match the published-document total; not transaction rows.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "run_id": { - "anyOf": [ - { - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The completed reconciliation selected by the shared funnel RPC; every archive-year count uses this run, never a union of runs." - }, - "series": { - "additionalProperties": false, - "description": "Private append-only reconciliation-run history exposed as document counts and explicit gaps. Historical replays are labeled separately from contemporaneous captures.", - "properties": { - "entries": { - "description": "One entry per completed run, oldest first. Absent entries mark gaps explicitly; no interpolation or silent zero filling.", - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "basis": { - "description": "completion_capture pins the visible generation in the finalization transaction; retained_generation_replay derives a past point from the greatest retained generation activated by completed_at, not from current active rows.", - "enum": [ - "completion_capture", - "retained_generation_replay" - ], - "type": "string" - }, - "clerk_published_documents": { - "description": "Distinct type-P DocIDs across this completed run's twelve annual Clerk indexes, verified equal to the summed annual counts.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "completed_at": { - "description": "The run's first succeeded finalization event timestamp; the series is ordered by this instant, then run_id.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "computed_at": { - "description": "Actual instant the private ledger point was computed, including today's instant for a historical replay; never backdated to completion.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "documents_held": { - "description": "Sum of that run's immutable annual held-document counts, not today's acquisition count.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "documents_served": { - "description": "Distinct indexed House DocIDs whose row-version interval contains snapshot_generation; repeated rows for one document count once.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "held_rate": { - "description": "documents_held / clerk_published_documents, to twelve fractional places; the integer counts are authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Three distinct ratios: held/published, served/published and served/held. Each references counts in this same entry.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_of_held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "served_of_held_rate" - ], - "type": "object" - }, - "reason": { - "description": "Null because all counts were derived; absent entries carry an explanation instead.", - "type": "null" - }, - "run_id": { - "description": "Completed twelve-year reconciliation run identified by its immutable finalization event.", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - "served_of_held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served / documents_held, to twelve fractional places; null when no documents were held." - }, - "served_rate": { - "description": "documents_served / clerk_published_documents, to twelve fractional places; the integer counts are authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "snapshot_generation": { - "description": "Retained temporal generation used for the served-document intersection. Later generations do not change this point.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "state": { - "const": "measured", - "description": "All three counts were derived and stored together; not a partial historical estimate.", - "type": "string" - } - }, - "required": [ - "run_id", - "completed_at", - "rate_basis", - "state", - "computed_at", - "snapshot_generation", - "basis", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "served_of_held_rate", - "reason" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "description": "No measurement or replay basis was established.", - "type": "null" - }, - "clerk_published_documents": { - "description": "Withheld with the other stages rather than presenting a partial funnel.", - "type": "null" - }, - "completed_at": { - "description": "The run's first succeeded finalization event timestamp; the series is ordered by this instant, then run_id.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "computed_at": { - "description": "No computation instant is invented for an absent point.", - "type": "null" - }, - "documents_held": { - "description": "Withheld with the other stages rather than presenting a partial funnel.", - "type": "null" - }, - "documents_served": { - "description": "Not derivable; current active versions are never substituted for past served counts.", - "type": "null" - }, - "held_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Three distinct ratios: held/published, served/published and served/held. Each references counts in this same entry.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_of_held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "served_of_held_rate" - ], - "type": "object" - }, - "reason": { - "description": "Why the completed run has no complete, derivable ledger point.", - "minLength": 1, - "type": "string" - }, - "run_id": { - "description": "Completed twelve-year reconciliation run identified by its immutable finalization event.", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - "served_of_held_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "served_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "snapshot_generation": { - "description": "No retained serving generation was established for this point.", - "type": "null" - }, - "state": { - "const": "absent", - "description": "The run completed, but no complete point is derivable or recorded; never plotted as zero.", - "type": "string" - } - }, - "required": [ - "run_id", - "completed_at", - "rate_basis", - "state", - "computed_at", - "snapshot_generation", - "basis", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "served_of_held_rate", - "reason" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "reason": { - "anyOf": [ - { - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Series-level read or validation refusal; null for a successful read, even if some historical entries are absent." - }, - "state": { - "description": "Whether the series reader succeeded, not whether the live funnel is fresh or every historical run has a point.", - "enum": [ - "measured", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "entries", - "reason" - ], - "type": "object" - }, - "served_measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Database statement instant for the active-version count. measured_at separately records when the held/index reconciliation completed; these instants are not interchangeable." - }, - "served_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Measures API document coverage, not held coverage. Null when the complete funnel cannot be measured." - }, - "source_year_end": { - "const": 2026, - "description": "Last configured Clerk archive year included in this complete-run measurement.", - "type": "number" - }, - "source_year_start": { - "const": 2015, - "description": "First configured Clerk archive year included in this complete-run measurement.", - "type": "number" - }, - "source_years": { - "const": 12, - "description": "Configured number of required archive years, source_year_end minus source_year_start plus one; all must reconcile before counts publish.", - "type": "number" - }, - "state": { - "const": "measured", - "type": "string" - }, - "years": { - "items": { - "additionalProperties": false, - "properties": { - "clerk_published_documents": { - "description": "PTR DocIDs on this archive year's official index in the selected completed run. Denominator is filed documents, not warehouse rows or all historical index runs.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "detail": { - "type": "null" - }, - "documents_held": { - "description": "Indexed PTR DocIDs matched to held documents in this archive year and run, regardless of whether any transaction row is served.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "documents_missing": { - "description": "clerk_published_documents minus documents_held in this archive year and run, reconciled to the missing-reason document counts.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "documents_served": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct indexed House PTR DocIDs with an active house_clerk version at served_measured_at, restricted to this reconciliation run and, for a yearly entry, its archive year. Null when any stage cannot be verified." - }, - "held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_held divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Acquisition coverage, not what disclosures returns. Null when the complete funnel cannot be measured." - }, - "missing_by_classification": { - "additionalProperties": false, - "properties": { - "attempted_failed": { - "description": "Missing indexed PTR DocIDs with recorded retrieval attempts and no held match in the selected reconciliation year. Document count; no superseded-row filter applies.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "never_attempted": { - "description": "Missing indexed PTR DocIDs with no recorded retrieval attempt in the selected reconciliation year. Document count, not warehouse row count; no superseded-row filter applies.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "present_under_different_identifier": { - "description": "Missing indexed PTR DocIDs classified by the reconciliation as held under another identifier for this archive year. Document count, not admitted rows; no superseded-row filter applies.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "never_attempted", - "attempted_failed", - "present_under_different_identifier" - ], - "type": "object" - }, - "rate": { - "description": "documents_held divided by clerk_published_documents for this archive year. Counts are authoritative; a value of 1 is emitted only when documents_missing is exactly zero.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rate_basis": { - "additionalProperties": false, - "description": "The legacy rate is a held-rate alias, not a served rate; every divisor and dividend is named here.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "rate" - ], - "type": "object" - }, - "rows_examined": { - "description": "Indexed PTR DocIDs examined for this archive year in the selected completed run; asserted equal to clerk_published_documents, not parsed transaction rows.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "served_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Measures API document coverage, not held coverage. Null when the complete funnel cannot be measured." - }, - "state": { - "const": "measured", - "type": "string" - }, - "year": { - "description": "Annual Clerk archive year selected in the completed reconciliation, not the transaction year or filing-date bucket.", - "maximum": 2026, - "minimum": 2015, - "type": "integer" - } - }, - "required": [ - "year", - "state", - "rows_examined", - "clerk_published_documents", - "documents_held", - "documents_missing", - "documents_served", - "held_rate", - "served_rate", - "rate_basis", - "rate", - "missing_by_classification", - "detail" - ], - "type": "object" - }, - "maxItems": 12, - "minItems": 12, - "type": "array" - } - }, - "required": [ - "series", - "run_id", - "served_measured_at", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "rate_basis", - "state", - "measured_at", - "age_seconds", - "expected_max_age_seconds", - "rows_examined", - "source_year_start", - "source_year_end", - "source_years", - "measurement_definition", - "missing_document_ids_retained", - "years", - "detail" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "type": "null" - }, - "clerk_published_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of published PTR DocIDs across the twelve archive years in the selected completed run, emitted only after equality with its distinct indexed DocID count is verified." - }, - "detail": { - "minLength": 1, - "type": "string" - }, - "documents_held": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of the selected run's held-document counts. A held PDF need not yield a row the API admits; use documents_served for that stage." - }, - "documents_served": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct indexed House PTR DocIDs with an active house_clerk version at served_measured_at, restricted to this reconciliation run and, for a yearly entry, its archive year. Null when any stage cannot be verified." - }, - "expected_max_age_seconds": { - "const": 172800, - "description": "Configured maximum reconciliation age in seconds, even when no eligible measurement is available.", - "type": "number" - }, - "held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_held divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Acquisition coverage, not what disclosures returns. Null when the complete funnel cannot be measured." - }, - "measured_at": { - "type": "null" - }, - "measurement_definition": { - "minLength": 1, - "type": "string" - }, - "missing_document_ids_retained": { - "type": "null" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Both rates divide their named document count by the published count in this object; ratios are 0 to 1, not percentages.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate" - ], - "type": "object" - }, - "rows_examined": { - "const": 0, - "description": "No complete verified reconciliation examination; sentinel zero is not a measured empty index. Funnel counts and rates are null.", - "type": "number" - }, - "run_id": { - "anyOf": [ - { - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The completed reconciliation selected by the shared funnel RPC; every archive-year count uses this run, never a union of runs." - }, - "series": { - "additionalProperties": false, - "description": "Private append-only reconciliation-run history exposed as document counts and explicit gaps. Historical replays are labeled separately from contemporaneous captures.", - "properties": { - "entries": { - "description": "One entry per completed run, oldest first. Absent entries mark gaps explicitly; no interpolation or silent zero filling.", - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "basis": { - "description": "completion_capture pins the visible generation in the finalization transaction; retained_generation_replay derives a past point from the greatest retained generation activated by completed_at, not from current active rows.", - "enum": [ - "completion_capture", - "retained_generation_replay" - ], - "type": "string" - }, - "clerk_published_documents": { - "description": "Distinct type-P DocIDs across this completed run's twelve annual Clerk indexes, verified equal to the summed annual counts.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "completed_at": { - "description": "The run's first succeeded finalization event timestamp; the series is ordered by this instant, then run_id.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "computed_at": { - "description": "Actual instant the private ledger point was computed, including today's instant for a historical replay; never backdated to completion.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "documents_held": { - "description": "Sum of that run's immutable annual held-document counts, not today's acquisition count.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "documents_served": { - "description": "Distinct indexed House DocIDs whose row-version interval contains snapshot_generation; repeated rows for one document count once.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "held_rate": { - "description": "documents_held / clerk_published_documents, to twelve fractional places; the integer counts are authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Three distinct ratios: held/published, served/published and served/held. Each references counts in this same entry.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_of_held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "served_of_held_rate" - ], - "type": "object" - }, - "reason": { - "description": "Null because all counts were derived; absent entries carry an explanation instead.", - "type": "null" - }, - "run_id": { - "description": "Completed twelve-year reconciliation run identified by its immutable finalization event.", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - "served_of_held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served / documents_held, to twelve fractional places; null when no documents were held." - }, - "served_rate": { - "description": "documents_served / clerk_published_documents, to twelve fractional places; the integer counts are authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "snapshot_generation": { - "description": "Retained temporal generation used for the served-document intersection. Later generations do not change this point.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "state": { - "const": "measured", - "description": "All three counts were derived and stored together; not a partial historical estimate.", - "type": "string" - } - }, - "required": [ - "run_id", - "completed_at", - "rate_basis", - "state", - "computed_at", - "snapshot_generation", - "basis", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "served_of_held_rate", - "reason" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "description": "No measurement or replay basis was established.", - "type": "null" - }, - "clerk_published_documents": { - "description": "Withheld with the other stages rather than presenting a partial funnel.", - "type": "null" - }, - "completed_at": { - "description": "The run's first succeeded finalization event timestamp; the series is ordered by this instant, then run_id.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{6}(?:Z))$", - "type": "string" - }, - "computed_at": { - "description": "No computation instant is invented for an absent point.", - "type": "null" - }, - "documents_held": { - "description": "Withheld with the other stages rather than presenting a partial funnel.", - "type": "null" - }, - "documents_served": { - "description": "Not derivable; current active versions are never substituted for past served counts.", - "type": "null" - }, - "held_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Three distinct ratios: held/published, served/published and served/held. Each references counts in this same entry.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_of_held_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "documents_held", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Division rule for this series entry, not a different run or the current corpus.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling integer document count used as divisor; zero withholds the rate.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling integer document count used as dividend.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "served_of_held_rate" - ], - "type": "object" - }, - "reason": { - "description": "Why the completed run has no complete, derivable ledger point.", - "minLength": 1, - "type": "string" - }, - "run_id": { - "description": "Completed twelve-year reconciliation run identified by its immutable finalization event.", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - "served_of_held_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "served_rate": { - "description": "No rate is emitted for an absent point.", - "type": "null" - }, - "snapshot_generation": { - "description": "No retained serving generation was established for this point.", - "type": "null" - }, - "state": { - "const": "absent", - "description": "The run completed, but no complete point is derivable or recorded; never plotted as zero.", - "type": "string" - } - }, - "required": [ - "run_id", - "completed_at", - "rate_basis", - "state", - "computed_at", - "snapshot_generation", - "basis", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "served_of_held_rate", - "reason" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "reason": { - "anyOf": [ - { - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Series-level read or validation refusal; null for a successful read, even if some historical entries are absent." - }, - "state": { - "description": "Whether the series reader succeeded, not whether the live funnel is fresh or every historical run has a point.", - "enum": [ - "measured", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "entries", - "reason" - ], - "type": "object" - }, - "served_measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Database statement instant for the active-version count. measured_at separately records when the held/index reconciliation completed; these instants are not interchangeable." - }, - "served_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Measures API document coverage, not held coverage. Null when the complete funnel cannot be measured." - }, - "source_year_end": { - "const": 2026, - "description": "Last configured archive year required for a complete reconciliation, not proof that its index was fetched.", - "type": "number" - }, - "source_year_start": { - "const": 2015, - "description": "First configured archive year required for a complete reconciliation, not proof that its index was fetched.", - "type": "number" - }, - "source_years": { - "const": 12, - "description": "Configured required archive-year count, source_year_end minus source_year_start plus one; not successfully measured years.", - "type": "number" - }, - "state": { - "const": "unevaluated", - "type": "string" - }, - "years": { - "items": { - "additionalProperties": false, - "properties": { - "clerk_published_documents": { - "type": "null" - }, - "detail": { - "minLength": 1, - "type": "string" - }, - "documents_held": { - "type": "null" - }, - "documents_missing": { - "type": "null" - }, - "documents_served": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct indexed House PTR DocIDs with an active house_clerk version at served_measured_at, restricted to this reconciliation run and, for a yearly entry, its archive year. Null when any stage cannot be verified." - }, - "held_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_held divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Acquisition coverage, not what disclosures returns. Null when the complete funnel cannot be measured." - }, - "missing_by_classification": { - "type": "null" - }, - "rate": { - "type": "null" - }, - "rate_basis": { - "additionalProperties": false, - "description": "The legacy rate is a held-rate alias, not a served rate; every divisor and dividend is named here.", - "properties": { - "held_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_held", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - }, - "served_rate": { - "additionalProperties": false, - "description": "Machine-readable division rule; both referenced fields occur in this same coverage object.", - "properties": { - "denominator": { - "const": "clerk_published_documents", - "description": "Name of the sibling Clerk-index document count used as the denominator, never the held count.", - "type": "string" - }, - "numerator": { - "const": "documents_served", - "description": "Name of the sibling document count divided to produce this rate.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "held_rate", - "served_rate", - "rate" - ], - "type": "object" - }, - "rows_examined": { - "const": 0, - "description": "No verified document examination for this archive year; sentinel zero is not a measured empty index. Document counts are null.", - "type": "number" - }, - "served_rate": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "documents_served divided by clerk_published_documents, to twelve fractional places; the integer counts are authoritative. Measures API document coverage, not held coverage. Null when the complete funnel cannot be measured." - }, - "state": { - "const": "unevaluated", - "type": "string" - }, - "year": { - "description": "Configured Clerk archive year awaiting measurement, not an observed transaction or filing year.", - "maximum": 2026, - "minimum": 2015, - "type": "integer" - } - }, - "required": [ - "year", - "state", - "rows_examined", - "clerk_published_documents", - "documents_held", - "documents_missing", - "documents_served", - "held_rate", - "served_rate", - "rate_basis", - "rate", - "missing_by_classification", - "detail" - ], - "type": "object" - }, - "maxItems": 12, - "minItems": 12, - "type": "array" - } - }, - "required": [ - "series", - "run_id", - "served_measured_at", - "clerk_published_documents", - "documents_held", - "documents_served", - "held_rate", - "served_rate", - "rate_basis", - "state", - "measured_at", - "age_seconds", - "expected_max_age_seconds", - "rows_examined", - "source_year_start", - "source_year_end", - "source_years", - "measurement_definition", - "missing_document_ids_retained", - "years", - "detail" - ], - "type": "object" - } - ], - "description": "Held and served coverage from one completed House Clerk PTR index run, both read through the same funnel helper as /data-api. Aggregate rates are withheld if archive-year totals disagree with distinct indexed documents. These are archive-year scopes, not filing-date buckets. Every rate names its sibling numerator and denominator in rate_basis. House PTR type P only, for the stated archive years; not Senate eFD, other filing types, or a claim that the Clerk's index is complete. measurement_definition carries this boundary even when counts are unavailable." - }, - "notice": { - "minLength": 1, - "type": "string" - }, - "paper_transcriptions": { - "additionalProperties": false, - "description": "Retained House paper PTR population, outstanding queue records, per-member projections and explicit reconciliation gaps. Transaction counts remain unknown before transcription.", - "properties": { - "archive_year": { - "description": "Clerk annual filing-index year being reconciled.", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "by_member": { - "description": "Per-member projections of this same queue measurement, without additional database reads.", - "items": { - "additionalProperties": false, - "description": "Member projection of the shared House paper coverage measurement.", - "properties": { - "known_pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." - }, - "member_id": { - "description": "Canonical member identifier requested by the member surface.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why the member's remaining transaction-row count is unavailable.", - "type": "string" - }, - "paper_rows_remaining": { - "description": "Unknown transaction rows remaining for this member; never estimated.", - "type": "null" - }, - "pending": { - "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - }, - "pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." - }, - "pending_documents_reason": { - "description": "Reason the member total is unknown, inherited from the same coverage measurement.", - "type": [ - "string", - "null" - ] - }, - "state": { - "anyOf": [ - { - "const": "pending_transcription", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." - } - }, - "required": [ - "member_id", - "measured_at", - "state", - "pending_documents", - "known_pending_documents", - "pending_documents_reason", - "paper_rows_remaining", - "paper_rows_reason", - "pending" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "additionalProperties": false, - "description": "Explicit reconciliation gaps. Missing evidence never becomes a zero count.", - "properties": { - "invalid_index_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Retained PTR manifest rows rejected for missing or conflicting receipt/date/member metadata; null when not examined." - }, - "queue_documents_outside_index": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed paper-queue documents absent from the retained annual index; null when not examined." - }, - "queue_metadata_mismatches": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Queue inspections whose receipt or filing date conflicts with the retained index; null when not examined." - } - }, - "required": [ - "invalid_index_rows", - "queue_metadata_mismatches", - "queue_documents_outside_index" - ], - "type": "object" - }, - "index_fetched_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Retained annual index fetch time, canonical UTC Z; not the queue measurement time." - }, - "index_ptr_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct PTR documents in the reconciled annual index; null without a complete retained denominator." - }, - "index_receipt": { - "description": "Official Clerk annual ZIP URL supporting the index denominator, or null when unavailable.", - "type": [ - "string", - "null" - ] - }, - "index_run_id": { - "anyOf": [ - { - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Latest completed retained Clerk-index run used for every denominator, or null when unavailable." - }, - "inspected_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed documents with a matching successful all-pages inspection; null when the index cannot be reconciled." - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Database transaction timestamp from the same RPC statement as these counts, canonical UTC Z; null when the read could not complete." - }, - "paper_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Total indexed no-text documents, including transcribed papers; null until every index document is inspected and queue metadata reconciles." - }, - "paper_rows_reason": { - "description": "Reason a remaining transaction-row count is unavailable.", - "type": "string" - }, - "paper_rows_remaining": { - "description": "Unmeasured transaction rows remaining in paper filings. Never inferred from page counts.", - "type": "null" - }, - "pending": { - "description": "Index-reconciled filings awaiting verified transcription ranked by active consented follows, then filing date and DocID.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - }, - "pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Total indexed PTRs awaiting verified transcription, including paper and deterministic parser outcomes; null when the inspection population is incomplete." - }, - "reason": { - "description": "Named reason for incomplete or unavailable measurement; null only when reconciled.", - "type": [ - "string", - "null" - ] - }, - "state": { - "description": "Whether the retained annual index and complete PDF inspection population reconcile, remain incomplete, or cannot be read.", - "enum": [ - "measured", - "incomplete", - "unavailable" - ], - "type": "string" - }, - "terminal_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed terminal transcription failures matched to the retained index; null when the index cannot be reconciled." - }, - "transcribed_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed queue documents explicitly completed after a matching verified parse committed; null when the index cannot be reconciled." - }, - "uninspected_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed documents lacking matching successful text-layer evidence; null when the index cannot be reconciled." - }, - "unreconciled": { - "description": "Outstanding queue records lacking matching current index evidence, retained visibly outside the reconciled denominator.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "state", - "reason", - "archive_year", - "measured_at", - "index_run_id", - "index_fetched_at", - "index_receipt", - "index_ptr_documents", - "inspected_documents", - "uninspected_documents", - "paper_documents", - "pending_documents", - "terminal_documents", - "transcribed_documents", - "paper_rows_remaining", - "paper_rows_reason", - "diagnostics", - "pending", - "unreconciled", - "by_member" - ], - "type": "object" - }, - "provenance": { - "additionalProperties": false, - "properties": { - "by_collection_channel": { - "additionalProperties": false, - "properties": { - "house_clerk_direct_ocr": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows carrying the first-party House parser collection label. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - }, - "licensed_bulk_feed": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of the two licensed-provider collection-label counts; null if either read failed. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - }, - "senate_efd_direct": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows carrying the first-party Senate eFD collection label. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - } - }, - "required": [ - "house_clerk_direct_ocr", - "senate_efd_direct", - "licensed_bulk_feed" - ], - "type": "object" - }, - "by_receipt_office": { - "additionalProperties": false, - "properties": { - "us_house_clerk": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows whose pdf_url contains disclosures-clerk.house.gov, case-insensitive. Substring test only, not validated hostname, first-party retrieval or URL resolution. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - }, - "us_senate_efd": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows whose pdf_url contains senate.gov, case-insensitive. Substring test only, not validated hostname, first-party retrieval or URL resolution. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - } - }, - "required": [ - "us_house_clerk", - "us_senate_efd" - ], - "type": "object" - }, - "deprecated_fields": { - "items": { - "type": "string" - }, - "type": "array" - }, - "field_successors": { - "additionalProperties": false, - "properties": { - "third_party_rows": { - "const": "licensed_feed_rows_total", - "type": "string" - } - }, - "required": [ - "third_party_rows" - ], - "type": "object" - }, - "licensed_feed_rows_total": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of the two licensed-provider collection-label counts, including superseded rows and rows without a document URL. Separate retained-warehouse reads, not a served count; null if either read failed." - }, - "measured_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "population_basis": { - "description": "All retained congressional warehouse rows, including superseded rows, counted by current collection labels and URL substrings in separate reads at measured_at. These are not live-row or served-row counts, not an atomic snapshot, and not a receipt-resolution test. OGE and SEC are outside this population.", - "minLength": 1, - "type": "string" - }, - "self_collected_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Sum of House parser and Senate eFD collection-label counts; null if either read failed. This is collection provenance, not serving admission. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - }, - "state": { - "enum": [ - "measured", - "unavailable" - ], - "type": "string" - }, - "third_party_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "deprecated": true, - "description": "Deprecated compatibility alias for licensed_feed_rows_total: sum of the licensed-provider collection-label counts, including superseded rows; null if either read failed. Not a served count.", - "x-veridion-successor": "licensed_feed_rows_total" - }, - "total_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "All retained congressional warehouse rows across all collection channels. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - }, - "unattributed_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Maximum of zero and total_rows minus self_collected_rows minus licensed_feed_rows_total; null if any input is unavailable. Arithmetic remainder, not a separate label census. Includes superseded congressional warehouse rows; separate exact-count read, null on read failure. Not a served count." - } - }, - "required": [ - "state", - "population_basis", - "total_rows", - "measured_at", - "by_collection_channel", - "self_collected_rows", - "licensed_feed_rows_total", - "third_party_rows", - "unattributed_rows", - "deprecated_fields", - "field_successors", - "by_receipt_office" - ], - "type": "object" - }, - "provenance_field_coverage": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "detail": { - "type": "null" - }, - "fields": { - "items": { - "additionalProperties": false, - "properties": { - "examined": { - "description": "All active serving versions for this source with valid_to unset. The rate denominator; separate from warehouse history including superseded rows.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "field": { - "const": "source_line_number", - "type": "string" - }, - "null_interpretation": { - "enum": [ - "gap", - "not_applicable" - ], - "type": "string" - }, - "populated": { - "description": "Active serving versions for this source with source_line_number non-null. Closed versions are excluded; counts a field, not a resolved receipt URL.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "rate": { - "description": "populated divided by examined. The integer denominator and numerator remain authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Names the counts behind each published field-coverage rate in this same object.", - "properties": { - "rate": { - "additionalProperties": false, - "description": "Machine-readable division rule for the sibling rate.", - "properties": { - "denominator": { - "const": "examined", - "description": "The examined sibling count supplies this rate's denominator.", - "type": "string" - }, - "numerator": { - "const": "populated", - "description": "The populated sibling count supplies this rate's numerator.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "rate" - ], - "type": "object" - }, - "reason": { - "minLength": 1, - "type": "string" - }, - "source_system": { - "enum": [ - "house_clerk", - "senate_efd" - ], - "type": "string" - } - }, - "required": [ - "source_system", - "field", - "populated", - "examined", - "rate", - "null_interpretation", - "rate_basis", - "reason" - ], - "type": "object" - }, - "maxItems": 2, - "minItems": 2, - "type": "array" - }, - "house_clerk_gap_classes": { - "items": { - "additionalProperties": false, - "properties": { - "affected_rows": { - "description": "Active House serving rows with null source_line_number in this reason class: fallback parser or named parser output. Closed versions excluded; both classes must sum to the House field gap.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "classification": { - "minLength": 1, - "type": "string" - }, - "reason": { - "enum": [ - "warehouse_fallback_without_line_provenance", - "parser_output_without_line_provenance" - ], - "type": "string" - } - }, - "required": [ - "reason", - "affected_rows", - "classification" - ], - "type": "object" - }, - "maxItems": 2, - "minItems": 2, - "type": "array" - }, - "house_clerk_gap_register": { - "items": { - "additionalProperties": false, - "properties": { - "affected_rows": { - "description": "Active House serving rows in the complete bounded parser-gap read for this document, with a named non-fallback parser but null source_line_number; closed versions excluded.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "document_id": { - "minLength": 1, - "type": "string" - }, - "parser_versions": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "reason": { - "const": "parser_output_without_line_provenance", - "type": "string" - } - }, - "required": [ - "document_id", - "affected_rows", - "parser_versions", - "reason" - ], - "type": "object" - }, - "type": "array" - }, - "measured_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "population_basis": { - "description": "Active House Clerk and Senate eFD serving versions with valid_to unset; closed versions are excluded. Counts are separate reads, not a generation-pinned snapshot. The bounded parser-gap register must contain every counted parser gap or rates are withheld. These counts do not test URL resolution.", - "minLength": 1, - "type": "string" - }, - "rows_examined": { - "description": "Sum of the House and Senate active-version examined counts. OGE, SEC and closed temporal versions are excluded; not independent document count.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "state": { - "const": "measured", - "type": "string" - } - }, - "required": [ - "state", - "population_basis", - "measured_at", - "rows_examined", - "fields", - "house_clerk_gap_classes", - "house_clerk_gap_register", - "detail" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "detail": { - "minLength": 1, - "type": "string" - }, - "fields": { - "items": { - "additionalProperties": false, - "properties": { - "examined": { - "description": "All active serving versions for this source with valid_to unset. The rate denominator; separate from warehouse history including superseded rows.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "field": { - "const": "source_line_number", - "type": "string" - }, - "null_interpretation": { - "enum": [ - "gap", - "not_applicable" - ], - "type": "string" - }, - "populated": { - "description": "Active serving versions for this source with source_line_number non-null. Closed versions are excluded; counts a field, not a resolved receipt URL.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "rate": { - "description": "populated divided by examined. The integer denominator and numerator remain authoritative.", - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rate_basis": { - "additionalProperties": false, - "description": "Names the counts behind each published field-coverage rate in this same object.", - "properties": { - "rate": { - "additionalProperties": false, - "description": "Machine-readable division rule for the sibling rate.", - "properties": { - "denominator": { - "const": "examined", - "description": "The examined sibling count supplies this rate's denominator.", - "type": "string" - }, - "numerator": { - "const": "populated", - "description": "The populated sibling count supplies this rate's numerator.", - "type": "string" - } - }, - "required": [ - "numerator", - "denominator" - ], - "type": "object" - } - }, - "required": [ - "rate" - ], - "type": "object" - }, - "reason": { - "minLength": 1, - "type": "string" - }, - "source_system": { - "enum": [ - "house_clerk", - "senate_efd" - ], - "type": "string" - } - }, - "required": [ - "source_system", - "field", - "populated", - "examined", - "rate", - "null_interpretation", - "rate_basis", - "reason" - ], - "type": "object" - }, - "maxItems": 0, - "minItems": 0, - "type": "array" - }, - "house_clerk_gap_classes": { - "items": { - "additionalProperties": false, - "properties": { - "affected_rows": { - "description": "Active House serving rows with null source_line_number in this reason class: fallback parser or named parser output. Closed versions excluded; both classes must sum to the House field gap.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "classification": { - "minLength": 1, - "type": "string" - }, - "reason": { - "enum": [ - "warehouse_fallback_without_line_provenance", - "parser_output_without_line_provenance" - ], - "type": "string" - } - }, - "required": [ - "reason", - "affected_rows", - "classification" - ], - "type": "object" - }, - "maxItems": 0, - "minItems": 0, - "type": "array" - }, - "house_clerk_gap_register": { - "items": { - "additionalProperties": false, - "properties": { - "affected_rows": { - "description": "Active House serving rows in the complete bounded parser-gap read for this document, with a named non-fallback parser but null source_line_number; closed versions excluded.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "document_id": { - "minLength": 1, - "type": "string" - }, - "parser_versions": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "reason": { - "const": "parser_output_without_line_provenance", - "type": "string" - } - }, - "required": [ - "document_id", - "affected_rows", - "parser_versions", - "reason" - ], - "type": "object" - }, - "maxItems": 0, - "minItems": 0, - "type": "array" - }, - "measured_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "population_basis": { - "description": "Active House Clerk and Senate eFD serving versions with valid_to unset; closed versions are excluded. Counts are separate reads, not a generation-pinned snapshot. The bounded parser-gap register must contain every counted parser gap or rates are withheld. These counts do not test URL resolution.", - "minLength": 1, - "type": "string" - }, - "rows_examined": { - "description": "Active House plus Senate row counts when both were measured before a later validation failed; zero is also the legacy no-examination sentinel, not evidence of an empty corpus. Rates are withheld.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "state": { - "const": "unavailable", - "type": "string" - } - }, - "required": [ - "state", - "population_basis", - "measured_at", - "rows_examined", - "fields", - "house_clerk_gap_classes", - "house_clerk_gap_register", - "detail" - ], - "type": "object" - } - ] - }, - "provenance_reconciliation": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "detail": { - "type": "null" - }, - "licensed_feed_document_reference_rows": { - "description": "Summary count without a first-party receipt-link marker but with a valid HTTPS URL, carried after arithmetic reconciliation; not a row-level collection-channel match. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "licensed_feed_rows_total": { - "description": "Collection-channel licensed total carried from provenance after the two partitions reconcile; independently timed measurement. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "licensed_feed_rows_without_document_reference": { - "description": "licensed_feed_rows_total minus licensed_feed_document_reference_rows after partition checks; an arithmetic bridge, not a joined row census. Includes superseded warehouse rows at the summary measurement, not only live or served rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "licensed_feed_rows_without_document_reference_pct_of_licensed_feed": { - "anyOf": [ - { - "maximum": 100, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "100 times licensed_feed_rows_without_document_reference divided by licensed_feed_rows_total, rounded to one decimal place; null for zero denominator. Both include superseded rows." - }, - "licensed_feed_rows_without_document_reference_pct_of_warehouse": { - "anyOf": [ - { - "maximum": 100, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "100 times licensed_feed_rows_without_document_reference divided by rows_examined, rounded to one decimal place; null for zero denominator. Both include superseded rows." - }, - "measurement_timestamps": { - "additionalProperties": false, - "properties": { - "collection_ownership": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "receipt_reference": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - } - }, - "required": [ - "receipt_reference", - "collection_ownership" - ], - "type": "object" - }, - "population_basis": { - "description": "Arithmetic reconciliation of the two retained congressional warehouse partitions, both including superseded rows, at their separately reported measurement timestamps. Matching totals are not proof of row-level identity or an explanation of the warehouse-to-serving gap. Unavailable bridge counts are withheld.", - "minLength": 1, - "type": "string" - }, - "reason": { - "minLength": 1, - "type": "string" - }, - "relationships": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 2, - "type": "array" - }, - "rows_examined": { - "description": "Retained congressional warehouse rows in the collection-channel total, including superseded rows, after arithmetic agreement with the separately timed summary; not a row-level join.", - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - "state": { - "const": "reconciled", - "type": "string" - } - }, - "required": [ - "state", - "population_basis", - "rows_examined", - "measurement_timestamps", - "licensed_feed_rows_total", - "licensed_feed_document_reference_rows", - "licensed_feed_rows_without_document_reference", - "licensed_feed_rows_without_document_reference_pct_of_licensed_feed", - "licensed_feed_rows_without_document_reference_pct_of_warehouse", - "reason", - "relationships", - "detail" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "detail": { - "minLength": 1, - "type": "string" - }, - "measurement_timestamps": { - "additionalProperties": false, - "properties": { - "collection_ownership": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "receipt_reference": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "receipt_reference", - "collection_ownership" - ], - "type": "object" - }, - "population_basis": { - "description": "Arithmetic reconciliation of the two retained congressional warehouse partitions, both including superseded rows, at their separately reported measurement timestamps. Matching totals are not proof of row-level identity or an explanation of the warehouse-to-serving gap. Unavailable bridge counts are withheld.", - "minLength": 1, - "type": "string" - }, - "rows_examined": { - "description": "Available retained collection total, else available summary warehouse total, else the legacy zero sentinel for an unmeasured population. Includes superseded rows when measured; zero here does not establish an empty warehouse.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "state": { - "const": "unavailable", - "type": "string" - } - }, - "required": [ - "state", - "population_basis", - "rows_examined", - "measurement_timestamps", - "detail" - ], - "type": "object" - } - ] - }, - "request_access": { - "format": "uri", - "type": "string" - }, - "serving": { - "additionalProperties": false, - "description": "Rows /v1/disclosures returns right now, counted from the serving view at read time after every exclusion. Not the count of rows that qualify. Every count is nullable because the measurement reports unavailable rather than guessing when it cannot reach the view.", - "properties": { - "basis": { - "minLength": 1, - "type": "string" - }, - "by_chamber": { - "additionalProperties": false, - "properties": { - "executive": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose chamber is executive; closed versions excluded, separate exact-count read, null if unavailable." - }, - "house": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose chamber is house; closed versions excluded, separate exact-count read, null if unavailable." - }, - "senate": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose chamber is senate; closed versions excluded, separate exact-count read, null if unavailable." - } - }, - "required": [ - "house", - "senate", - "executive" - ], - "type": "object" - }, - "by_source_system": { - "additionalProperties": false, - "properties": { - "house_clerk": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose source_system is house_clerk; closed versions excluded, separate exact-count read, null if unavailable." - }, - "oge": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose source_system is oge; closed versions excluded, separate exact-count read, null if unavailable." - }, - "senate_efd": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Active serving versions whose source_system is senate_efd; closed versions excluded, separate exact-count read, null if unavailable." - } - }, - "required": [ - "house_clerk", - "senate_efd", - "oge" - ], - "type": "object" - }, - "measured_at": { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "state": { - "enum": [ - "measured", - "unavailable" - ], - "type": "string" - }, - "total_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Exact count of active serving versions (valid_to is null), excluding closed versions. Separate read from the source and chamber counts, not a generation-pinned census; null if unavailable." - } - }, - "required": [ - "state", - "measured_at", - "basis", - "total_rows", - "by_source_system", - "by_chamber" - ], - "type": "object" - }, - "sources_of_record": { - "items": { - "additionalProperties": false, - "properties": { - "office": { - "minLength": 1, - "type": "string" - }, - "publishing": { - "description": "Whether this office publishes rows into v1 today. sec_edgar is listed and false: it is the declared scope boundary, not an omission. A reader should learn the boundary from the response rather than infer it from a query that returns nothing.", - "type": "boolean" - }, - "url": { - "format": "uri", - "type": "string" - } - }, - "required": [ - "office", - "url", - "publishing" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": "v1-preview", - "type": "string" - } - }, - "required": [ - "paper_transcriptions", - "dataset", - "version", - "generated_at", - "cache", - "description", - "serving", - "congress", - "provenance", - "provenance_field_coverage", - "house_clerk_ptr_completeness", - "provenance_reconciliation", - "sources_of_record", - "exclusions", - "notice", - "request_access" - ], - "type": "object" -}New value: +null
- Changed
get_status1 field changed- changed
Output schema / (root)Previous value: -{ - "additionalProperties": false, - "properties": { - "billing_gate": { - "additionalProperties": false, - "description": "A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. Missing completed hours are recorded as observation_missing failures, with no invented observation timestamp. No operational history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee.", - "properties": { - "consecutive_operational_days": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Completed qualifying UTC days since the latest failed or missing hourly sample. Null means unavailable, not zero." - }, - "counting_since": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "First stored observation instant. No history is inferred from deployment or backfilled; null when none exists or unreadable." - }, - "definition": { - "const": "A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. Missing completed hours are recorded as observation_missing failures, with no invented observation timestamp. No operational history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee.", - "description": "Pre-registered day, gap and incomplete-day rules used by the stored counter.", - "type": "string" - }, - "detail": { - "description": "Why no observations or no measurement are available; otherwise null.", - "type": [ - "string", - "null" - ] - }, - "last_non_operational_day": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Latest UTC date with a failed sample or missing completed hour since collection began. Null if none exists or unreadable." - }, - "measured_at": { - "description": "Database computation instant, or the instant the read was declared unavailable. Not a deployment date.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "reasons_on_last_non_operational_day": { - "description": "Distinct failure codes for the last non-operational day. observation_missing is a persisted closed-hour gap; missing_hour is an absent hour not yet recorded. Both break the streak.", - "items": { - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "required_days": { - "const": 14, - "description": "Required consecutive completed operational UTC days.", - "type": "number" - }, - "state": { - "description": "Stored samples qualify the streak, are still accruing, or could not be read. This item does not activate checkout.", - "enum": [ - "accruing", - "eligible", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "required_days", - "consecutive_operational_days", - "counting_since", - "last_non_operational_day", - "reasons_on_last_non_operational_day", - "measured_at", - "definition", - "detail" - ], - "type": "object" - }, - "bulk_export": { - "additionalProperties": false, - "description": "The daily bulk snapshot: its day, generation, size, file hash and Merkle commitment. Absent only on the unavailable body.", - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus the snapshot's generated_at, in whole seconds." - }, - "byte_size": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Size in bytes of the stored snapshot file, as verified after writing." - }, - "content_hash_basis": { - "description": "The content_hash basis the leaves were hashed under (veridion-disclosure-content-v1). Set exactly when merkle_root is set.", - "type": [ - "string", - "null" - ] - }, - "detail": { - "description": "Why the export is not ready, when it is not; null when ready.", - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "description": "108000 (30 hours): the snapshot runs daily at 07:40 UTC, so one slow run passes and a fully missed day is flagged before a second day of silence.", - "minimum": 0, - "type": "number" - }, - "generated_at": { - "description": "When the newest snapshot finished writing and its manifest was recorded.", - "type": [ - "string", - "null" - ] - }, - "latest_snapshot_day": { - "description": "The UTC day the newest snapshot was pinned to, the same day /v1/export names.", - "type": [ - "string", - "null" - ] - }, - "merkle_root": { - "anyOf": [ - { - "pattern": "^[0-9a-f]{64}$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Merkle root over every row's content_hash in the export: leaves in disclosure_id order, sha256 over the concatenated 32-byte child digests, an odd node paired with itself. Recomputed from the stored bytes before the manifest was written. Null for a snapshot generated before 1.3.6. scripts/verify-disclosure-export.mjs recomputes it from a downloaded export with no network and compares it with this value." - }, - "row_count": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows in the snapshot file after validation; the leaves the merkle_root commits to." - }, - "rows_dropped_failed_validation": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows the serving view returned that failed the contract schema and were left out of the file rather than written broken. Zero is the expected value; a positive count is published, never hidden." - }, - "sha256": { - "description": "sha256, hex, of the stored snapshot file. Verify a download against it before reading.", - "type": [ - "string", - "null" - ] - }, - "snapshot_generation": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 1, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The temporal generation the snapshot was pinned to; the same value as_of reads and /v1/export report for that day." - }, - "state": { - "description": "ready: the latest daily snapshot manifest is readable and younger than expected_max_age_seconds. stale: older. unavailable: the manifest could not be read. no_snapshot_yet: none has been written.", - "minLength": 1, - "type": "string" - }, - "threshold_basis": { - "description": "An operational alerting threshold chosen by Veridion. Not a service commitment; commercial terms live in a license.", - "minLength": 1, - "type": "string" - } - }, - "required": [ - "state", - "latest_snapshot_day", - "generated_at", - "snapshot_generation", - "row_count", - "rows_dropped_failed_validation", - "byte_size", - "sha256", - "merkle_root", - "content_hash_basis", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "detail" - ], - "type": "object" - }, - "cache": { - "additionalProperties": false, - "description": "Always no-store with zero max-age at every layer: a status page that could be served stale would defeat itself. age_header is null because no cache is permitted to add one.", - "properties": { - "age_header": { - "description": "The name of the response header that reports how long a cache held this body, or null when no cache is permitted to hold it, as here. Public record responses name the Age header.", - "type": "null" - }, - "browser_max_age_seconds": { - "const": 0, - "description": "Seconds a browser or client cache may reuse this body without revalidating; 0, the max-age the Cache-Control header carries.", - "type": "number" - }, - "cdn_max_age_seconds": { - "const": 0, - "description": "Seconds the CDN may reuse this body; 0, because CDN-Cache-Control is no-store. Public record responses declare a nonzero value here; measurements never do.", - "type": "number" - }, - "declared_max_staleness_seconds": { - "const": 0, - "description": "The upper bound on how old this body can be when it reaches a client, counted from generated_at; 0 for a measurement, and the same number the X-Veridion-Cache-Max-Staleness header carries.", - "type": "number" - }, - "policy": { - "const": "no-store", - "description": "The cache contract this response was served under; always no-store for a measurement. Rendered as Cache-Control: no-store, max-age=0 with CDN-Cache-Control and Vercel-CDN-Cache-Control: no-store, and echoed in X-Veridion-Cache-Policy.", - "type": "string" - } - }, - "required": [ - "policy", - "browser_max_age_seconds", - "cdn_max_age_seconds", - "declared_max_staleness_seconds", - "age_header" - ], - "type": "object" - }, - "congress_public_summary": { - "additionalProperties": false, - "description": "The first-party Congress public-summary materialization, its age, and whether the newest owner outcome attests to it. Absent only on the unavailable body.", - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus refreshed_at, in whole seconds." - }, - "detail": { - "description": "Why the summary is not ready, when it is not; null when ready.", - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "description": "21600 (6 hours): the summary's independently scheduled owner runs every four hours.", - "minimum": 0, - "type": "number" - }, - "refresh_outcome": { - "additionalProperties": false, - "description": "The newest outcome recorded by the summary's owner, which is what attests the served figures.", - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus observed_at, in whole seconds." - }, - "amount_coverage_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds in the amount_coverage stage." - }, - "attempt_id": { - "description": "The owner attempt this outcome belongs to. Every refresh of the summary records one; a summary refreshed without one reads unattested.", - "type": [ - "string", - "null" - ] - }, - "detail": { - "description": "The failure's own text; null on success.", - "type": [ - "string", - "null" - ] - }, - "disclosure_aggregates_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds in the disclosure_aggregates stage." - }, - "error_code": { - "description": "The stable code of the failure, when the attempt failed; null otherwise.", - "type": [ - "string", - "null" - ] - }, - "observed_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the terminal event was recorded." - }, - "public_summary_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds in the public_summary stage." - }, - "rows_examined": { - "description": "Warehouse rows the attempt examined; zero on a failure before the summary stage.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "stage": { - "anyOf": [ - { - "enum": [ - "preflight", - "amount_coverage", - "public_summary", - "disclosure_aggregates", - "verification", - "complete" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The stage the attempt reached, in order: preflight, amount_coverage, public_summary, disclosure_aggregates, verification, complete." - }, - "started_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the attempt started." - }, - "state": { - "description": "The newest recorded outcome of the summary's owner: succeeded or failed at a stage, running while an attempt is open, stalled when an open attempt has outlived its ceiling, unevaluated when none is recorded, unavailable when the ledger could not be read.", - "enum": [ - "succeeded", - "failed", - "unevaluated", - "running", - "stalled", - "unavailable" - ], - "type": "string" - }, - "summary_refreshed_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The refreshed_at the attempt stamped on the summary. When this equals the block's refreshed_at, the served summary is attested by this outcome." - }, - "total_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds for the whole attempt." - }, - "warehouse_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Warehouse rows at the time of the attempt, as the owner counted them." - } - }, - "required": [ - "state", - "attempt_id", - "stage", - "started_at", - "observed_at", - "age_seconds", - "rows_examined", - "warehouse_rows", - "summary_refreshed_at", - "amount_coverage_duration_ms", - "public_summary_duration_ms", - "disclosure_aggregates_duration_ms", - "total_duration_ms", - "error_code", - "detail" - ], - "type": "object" - }, - "refreshed_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the served Congress summary was last rewritten, in the warehouse's own timestamp form." - }, - "state": { - "description": "ready: the newest successful refresh outcome attests to the served summary. unattested: the summary's refreshed_at is newer than any recorded outcome, so the served figures were written by a path that did not record its outcome. stale/unavailable: age or read failure. The remaining values echo refresh_outcome.state when no better word applies; 'succeeded' is no longer emitted.", - "enum": [ - "ready", - "stale", - "unavailable", - "unattested", - "succeeded", - "failed", - "unevaluated", - "running", - "stalled" - ], - "type": "string" - }, - "threshold_basis": { - "description": "An operational alerting threshold chosen by Veridion. Not a service commitment; commercial terms live in a license.", - "minLength": 1, - "type": "string" - }, - "warehouse_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Congressional warehouse rows the summary was computed over, including rows not yet qualified for the API." - } - }, - "required": [ - "state", - "refreshed_at", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "warehouse_rows", - "refresh_outcome", - "detail" - ], - "type": "object" - }, - "coverage_recovery": { - "additionalProperties": false, - "description": "Where House Clerk document recovery stands: how many documents are parsed, queued, failing, terminally failed, or withheld by the lossless-reparse check. Absent only on the unavailable body.", - "properties": { - "computed_at": { - "description": "When the stamped coverage measurement was computed.", - "type": [ - "string", - "null" - ] - }, - "detail": { - "description": "Why the block is stale or unavailable, when it is; null otherwise.", - "type": [ - "string", - "null" - ] - }, - "documents_total": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "House Clerk PTR documents known to the recovery ledger." - }, - "failed": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents whose latest attempt failed and will be retried." - }, - "failed_terminal": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents whose attempts are exhausted; no further retry is scheduled and no rows are served from them." - }, - "in_progress": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents with an attempt under way." - }, - "is_stale": { - "description": "true when computed_at is older than the measurement's own stale_after budget.", - "type": "boolean" - }, - "parser_reparse_row_loss": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents where a reparse produced fewer rows than were served before and the lossless check rejected the replacement. Those documents are absent from the API rather than served with a lossy replacement." - }, - "pending": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents queued for a parse or reparse and not yet attempted." - }, - "refresh_outcome": { - "additionalProperties": false, - "description": "The latest recorded refresh of the coverage measurement, so a reader can tell a fresh number from a stale one.", - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus completed_at, in whole seconds." - }, - "attempted_at": { - "description": "When the latest refresh started.", - "type": [ - "string", - "null" - ] - }, - "completed_at": { - "description": "When the latest refresh finished; null if it did not.", - "type": [ - "string", - "null" - ] - }, - "coverage_refresh_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds spent in the coverage_snapshot stage." - }, - "detail": { - "description": "The failure's own text, or why no outcome could be read; null on success.", - "type": [ - "string", - "null" - ] - }, - "error_code": { - "description": "The stable code of the failure, when the refresh failed; null otherwise.", - "type": [ - "string", - "null" - ] - }, - "parser_state_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds spent in the parser_state stage." - }, - "route_duration_ms": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Milliseconds for the whole refresh route invocation." - }, - "rows_examined": { - "description": "Documents the refresh examined to produce the counts above.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "stage": { - "anyOf": [ - { - "enum": [ - "parser_state", - "coverage_snapshot", - "complete" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The stage the latest refresh reached: parser_state, then coverage_snapshot, then complete." - }, - "state": { - "description": "The recorded outcome of the latest coverage refresh; unevaluated when none has been recorded; unavailable when the record could not be read.", - "enum": [ - "succeeded", - "failed", - "unevaluated", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "stage", - "attempted_at", - "completed_at", - "age_seconds", - "rows_examined", - "parser_state_duration_ms", - "coverage_refresh_duration_ms", - "route_duration_ms", - "error_code", - "detail" - ], - "type": "object" - }, - "requalification_hold": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "evidence_url": { - "description": "Review receipt supporting the prerequisite; its presence does not assert that the repair has landed.", - "format": "uri", - "type": "string" - }, - "reason": { - "description": "Source-controlled reason for the parser rollout hold, independent of measured recovery counts and terminal failures.", - "type": "string" - }, - "release_condition": { - "description": "Reviewed code-change condition required to resume parser requalification; it cannot be bypassed by an environment or request setting.", - "type": "string" - }, - "required_items": { - "description": "Work-order item numbers whose reviewed owner-pair and stable-identity repairs are prerequisites for requalification.", - "items": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "type": "array" - }, - "state": { - "const": "held", - "description": "Parser requalification is held before claims, fetches or corpus writes; this policy state does not measure serving health.", - "type": "string" - } - }, - "required": [ - "state", - "reason", - "required_items", - "evidence_url", - "release_condition" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Source-controlled parser rollout hold and its reviewed release prerequisite. This progress field does not establish current data freshness or completed recovery." - }, - "state": { - "description": "ready: the stamped measurement is current and no House PTR recovery document remains pending, in progress or retryable-failed; terminal exclusions may remain and their count stays in failed_terminal. recovery_in_progress: retryable work remains. stale: the stamped measurement is older than its budget. unavailable: it could not be read or its classification is inconsistent with its counts. recovery_in_progress is background progress, not degraded served data, only when fresh successful recovery evidence has complete consistent counts and zero row loss, and independent serving checks are current. Stale or unavailable recovery, failed refreshes, unknown counts, row loss and missing or failing serving evidence still degrade the endpoint.", - "enum": [ - "ready", - "recovery_in_progress", - "stale", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "computed_at", - "is_stale", - "documents_total", - "pending", - "in_progress", - "failed", - "failed_terminal", - "parser_reparse_row_loss", - "refresh_outcome", - "detail" - ], - "type": "object" - }, - "degraded_reasons": { - "description": "Which checks pulled state down, and their measurements. Empty when ready. An unavailable response carries any observed read failures, including named timed_out deadlines; missing configuration has no measured read outcomes.", - "items": { - "additionalProperties": false, - "properties": { - "check": { - "description": "The check that failed, named as the block it lives in: source:<system>, source:<system>:index_reconciliation, bulk_export, bulk_export:merkle_root, coverage_recovery, congress_public_summary, temporal_conformance, temporal_window, pipeline:attendance, or pipeline:<cron>.", - "minLength": 1, - "type": "string" - }, - "deadline_ms": { - "description": "Per-read request budget in milliseconds; 500, independently applied to each status dependency.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "measured": { - "description": "The measurement behind the failure, quoted with its numbers and timestamps, so a caller can act on it without diffing the block it came from.", - "minLength": 1, - "type": "string" - }, - "state": { - "description": "Present for an independently bounded status read that timed out or threw; no source freshness threshold is changed.", - "enum": [ - "timed_out", - "read_failed" - ], - "type": "string" - } - }, - "required": [ - "check", - "measured" - ], - "type": "object" - }, - "type": "array" - }, - "detail": { - "description": "Present only on the unavailable body, naming what could not be read.", - "type": "string" - }, - "generated_at": { - "description": "When this response was computed. Every age_seconds below is measured from this instant, so the block is internally consistent even when read from a cache.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "institutional_delivery": { - "additionalProperties": false, - "description": "A declared boundary, stated rather than discovered.", - "properties": { - "available": { - "const": false, - "description": "Always false in v1: no institutional delivery channel is offered through this endpoint.", - "type": "boolean" - }, - "reason": { - "const": "first_party_provenance_not_proven", - "description": "Institutional delivery remains a compile-time product boundary, not a live provenance measurement or the authorization check for the existing Free/Developer API. A dated, generation-pinned audit traces every served row to an allowlisted first-party collection channel through its source version. Missing links and unknown origins refuse the proof; a government receipt URL alone is not collection evidence. Retained history and the exact downloadable export are checked separately. The export is downloaded and verified against its published checksum, row hashes and Merkle root; its rows are reconciled to the pinned serving generation. Unattributed warehouse rows are reviewed individually and remain excluded unless original collection evidence supports attribution. A reviewed permanent exclusion records its reason and date. An unserved row with unresolved origin does not by itself prove contamination of the served corpus. Counsel reviews the applicable agreements and permitted uses in writing. A reviewed release then implements institutional authorization and delivery. Neither a successful technical audit nor an environment setting grants institutional rights. The clearing requirements are published at https://www.veridionmarkets.com/data-api#institutional-delivery.", - "type": "string" - } - }, - "required": [ - "available", - "reason" - ], - "type": "object" - }, - "notice": { - "description": "Standing guidance on reading this block: what no_data means, what degraded does and does not imply, and how to verify a download.", - "type": "string" - }, - "observation_delay": { - "additionalProperties": false, - "description": "Hours from a filing's filed_date to Veridion's first observation, per source. Published only over rows with verified continuity; withheld with the reason otherwise. Absent only on the unavailable body.", - "properties": { - "age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Whole seconds since computed_at at this read; null when the saved computation is unavailable." - }, - "basis": { - "description": "precomputed: reads a saved poll-time report, with no live aggregate fallback. Before 1.9.0 this carried the prose now in measurement_basis.", - "minLength": 1, - "type": "string" - }, - "computed_at": { - "description": "Start of the saved poll-time computation, never the request time. Null when no valid saved computation exists; stale reports retain their original instant with unavailable state.", - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "description": "86400: one daily producer cycle. A stale saved report withholds its distribution; an operational measurement freshness budget, not a service commitment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "measurement_basis": { - "description": "The measurement and eligibility rule, previously carried in basis; present on 1.9.0 responses.", - "minLength": 1, - "type": "string" - }, - "methodology_version": { - "description": "Eligibility revision requiring active served versions, matching assessment facts and daily poll evidence from filing through first observation; prior decisions remain in the append-only ledger.", - "minLength": 1, - "type": "string" - }, - "sources": { - "description": "One entry per eligible source, measured or unevaluated with its record.", - "items": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "continuity": { - "additionalProperties": false, - "description": "Recorded poll window counted in the distribution's statement; the configured start is not substituted for evidence.", - "properties": { - "configured_start_precedes_telemetry": { - "description": "True when the configured source start precedes the earliest recorded poll day; that unsupported interval is excluded from measurements.", - "type": "boolean" - }, - "days_poll_succeeded": { - "description": "Recorded source-days with at least one successful poll; each measured row also requires success on every day from filing through observation.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "telemetry_days": { - "description": "Count of recorded source-days, not elapsed calendar days; missing days are not counted.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "telemetry_first_day": { - "description": "Minimum observation_date in the source's daily poll ledger.", - "type": "string" - }, - "telemetry_last_day": { - "description": "Maximum observation_date in the source's daily poll ledger.", - "type": "string" - } - }, - "required": [ - "telemetry_first_day", - "telemetry_last_day", - "telemetry_days", - "days_poll_succeeded", - "configured_start_precedes_telemetry" - ], - "type": "object" - }, - "max_hours": { - "description": "The largest observation delay in the distribution, in hours.", - "minimum": 0, - "type": "number" - }, - "measured_rows": { - "description": "Rows in the distribution: served rows whose source has verified daily continuity for every day between filed_date and first observation.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "median_hours": { - "description": "Median of first_observed_at minus filed_date, in hours, over measured_rows.", - "minimum": 0, - "type": "number" - }, - "observation_started_on": { - "description": "The configured day continuous observation of this source began.", - "type": "string" - }, - "p95_hours": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "95th percentile in hours; null when withheld under 100 rows." - }, - "percentile_state": { - "description": "withheld_small_n when measured_rows is under 100, in which case p95_hours is null.", - "enum": [ - "measured", - "withheld_small_n" - ], - "type": "string" - }, - "population": { - "additionalProperties": false, - "description": "Served denominator and named exclusions, computed with the measured distribution.", - "properties": { - "excluded_rows": { - "description": "Served source rows excluded from the distribution; equals the sum of named exclusion counts and served_rows minus measured_rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "exclusions": { - "description": "Disjoint exclusion counts by reason, sorted by reason; an empty list means no served rows were excluded.", - "items": { - "additionalProperties": false, - "properties": { - "reason": { - "description": "Stored eligibility refusal or a missing daily-poll proof at read time; rows receive exactly one reason, never a guessed assessment.", - "minLength": 1, - "type": "string" - }, - "rows": { - "description": "Active served source rows assigned this exclusion reason in the distribution's statement.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "reason", - "rows" - ], - "type": "object" - }, - "type": "array" - }, - "served_rows": { - "description": "Count of active retained row versions for this source in the statement computing the distribution; includes ineligible rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "served_rows", - "excluded_rows", - "exclusions" - ], - "type": "object" - }, - "source_system": { - "description": "The source measured. OGE is excluded by policy: one annual document is one event, not a distribution.", - "enum": [ - "house_clerk", - "senate_efd" - ], - "type": "string" - }, - "state": { - "const": "measured", - "description": "A distribution is published for this source.", - "type": "string" - }, - "window_end": { - "description": "Latest filed_date of a row in the distribution.", - "type": "string" - }, - "window_start": { - "description": "Earliest filed_date of a row in the distribution.", - "type": "string" - } - }, - "required": [ - "state", - "source_system", - "observation_started_on", - "window_start", - "window_end", - "measured_rows", - "median_hours", - "p95_hours", - "max_hours", - "percentile_state", - "population", - "continuity" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "continuity": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "configured_start_precedes_telemetry": { - "description": "true when observation_started_on is earlier than telemetry_first_day, so filings before the telemetry have no verified continuity and are not counted toward a distribution.", - "type": "boolean" - }, - "days_poll_succeeded": { - "description": "Of telemetry_days, the days on which the poll succeeded.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "telemetry_days": { - "description": "Count of recorded source-days, not elapsed calendar days; missing days are not counted.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "telemetry_first_day": { - "description": "First day for which per-day poll telemetry exists for this source.", - "type": "string" - }, - "telemetry_last_day": { - "description": "Most recent day of poll telemetry.", - "type": "string" - } - }, - "required": [ - "telemetry_first_day", - "telemetry_last_day", - "telemetry_days", - "days_poll_succeeded", - "configured_start_precedes_telemetry" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "The continuity telemetry the eligibility rule reads; null when none exists." - }, - "observation_started_on": { - "description": "The configured day continuous observation began; null if none is configured.", - "type": [ - "string", - "null" - ] - }, - "population": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "excluded_rows": { - "description": "Served source rows excluded from the distribution; equals the sum of named exclusion counts and served_rows minus measured_rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "exclusions": { - "description": "Disjoint exclusion counts by reason, sorted by reason; an empty list means no served rows were excluded.", - "items": { - "additionalProperties": false, - "properties": { - "reason": { - "description": "Stored eligibility refusal or a missing daily-poll proof at read time; rows receive exactly one reason, never a guessed assessment.", - "minLength": 1, - "type": "string" - }, - "rows": { - "description": "Active served source rows assigned this exclusion reason in the distribution's statement.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "reason", - "rows" - ], - "type": "object" - }, - "type": "array" - }, - "served_rows": { - "description": "Count of active retained row versions for this source in the statement computing the distribution; includes ineligible rows.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "served_rows", - "excluded_rows", - "exclusions" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Measured served denominator and exclusions when the statement succeeds with no eligible rows; null when the distribution refuses or cannot be read." - }, - "reason": { - "description": "Why the distribution refused to publish, quoted from the measurement: for example the count of served rows without a current eligibility assessment.", - "minLength": 1, - "type": "string" - }, - "source_system": { - "description": "The source that was not measured.", - "enum": [ - "house_clerk", - "senate_efd" - ], - "type": "string" - }, - "state": { - "const": "unevaluated", - "description": "No distribution is published for this source; reason and continuity carry the record behind the refusal.", - "type": "string" - } - }, - "required": [ - "state", - "source_system", - "observation_started_on", - "reason", - "population", - "continuity" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "state": { - "description": "measured when every eligible source has a published distribution; partial when some do; unavailable when none does. Never degrades the endpoint: an unpublished distribution is a disclosed limit, not a failure of served rows.", - "enum": [ - "measured", - "partial", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "methodology_version", - "state", - "computed_at", - "basis", - "sources" - ], - "type": "object" - }, - "owner_column_repair": { - "additionalProperties": false, - "description": "Unresolved owner-column repair documents from the existing repair ledger. Absent only when the core status read is unavailable; no missing measurement is treated as zero.", - "properties": { - "detail": { - "description": "Named read or evidence-validation failure; null for a complete measurement.", - "type": [ - "string", - "null" - ] - }, - "documents_total": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents in the frozen owner-repair target population; null when not measured." - }, - "failed_terminal": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Uncorrected documents in failed_terminal under the owner-repair version; not failures in the latest cron attempt." - }, - "measured_at": { - "description": "Instant this bounded evidence read began; not the filing or failure date.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "state": { - "description": "clear means no terminal failures measured, not that pending repairs are complete. Unresolved or unreadable evidence degrades status.", - "enum": [ - "clear", - "unresolved", - "unavailable" - ], - "type": "string" - }, - "terminal_documents": { - "description": "Terminal documents with matching retained reason, receipt and dates; missing attestations are counted separately.", - "items": { - "additionalProperties": false, - "properties": { - "doc_id": { - "description": "House Clerk document identifier in the frozen repair population.", - "minLength": 1, - "type": "string" - }, - "filing_date": { - "description": "Filing date recorded with the official document.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "reason": { - "description": "Retained reason for this document's terminal repair failure.", - "minLength": 1, - "type": "string" - }, - "source_url": { - "description": "Official House Clerk PDF receipt recorded for this document.", - "format": "uri", - "type": "string" - }, - "terminal_at": { - "description": "Stored instant the repair reached terminal failure, not the current read time.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - } - }, - "required": [ - "doc_id", - "reason", - "source_url", - "filing_date", - "terminal_at" - ], - "type": "object" - }, - "type": "array" - }, - "unattested_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Terminal documents omitted because receipt or terminal evidence was missing or changed during the read; null when the population is unavailable." - } - }, - "required": [ - "state", - "measured_at", - "documents_total", - "failed_terminal", - "terminal_documents", - "unattested_documents", - "detail" - ], - "type": "object" - }, - "paper_transcriptions": { - "additionalProperties": false, - "description": "House paper queue measurement and per-member pending visibility. Known pending work alone is not an outage; failed reads are named and counts withheld.", - "properties": { - "archive_year": { - "description": "Clerk annual filing-index year being reconciled.", - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - "by_member": { - "description": "Per-member projections of this same queue measurement, without additional database reads.", - "items": { - "additionalProperties": false, - "description": "Member projection of the shared House paper coverage measurement.", - "properties": { - "known_pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." - }, - "member_id": { - "description": "Canonical member identifier requested by the member surface.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why the member's remaining transaction-row count is unavailable.", - "type": "string" - }, - "paper_rows_remaining": { - "description": "Unknown transaction rows remaining for this member; never estimated.", - "type": "null" - }, - "pending": { - "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - }, - "pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." - }, - "pending_documents_reason": { - "description": "Reason the member total is unknown, inherited from the same coverage measurement.", - "type": [ - "string", - "null" - ] - }, - "state": { - "anyOf": [ - { - "const": "pending_transcription", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." - } - }, - "required": [ - "member_id", - "measured_at", - "state", - "pending_documents", - "known_pending_documents", - "pending_documents_reason", - "paper_rows_remaining", - "paper_rows_reason", - "pending" - ], - "type": "object" - }, - "type": "array" - }, - "diagnostics": { - "additionalProperties": false, - "description": "Explicit reconciliation gaps. Missing evidence never becomes a zero count.", - "properties": { - "invalid_index_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Retained PTR manifest rows rejected for missing or conflicting receipt/date/member metadata; null when not examined." - }, - "queue_documents_outside_index": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed paper-queue documents absent from the retained annual index; null when not examined." - }, - "queue_metadata_mismatches": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Queue inspections whose receipt or filing date conflicts with the retained index; null when not examined." - } - }, - "required": [ - "invalid_index_rows", - "queue_metadata_mismatches", - "queue_documents_outside_index" - ], - "type": "object" - }, - "index_fetched_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Retained annual index fetch time, canonical UTC Z; not the queue measurement time." - }, - "index_ptr_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct PTR documents in the reconciled annual index; null without a complete retained denominator." - }, - "index_receipt": { - "description": "Official Clerk annual ZIP URL supporting the index denominator, or null when unavailable.", - "type": [ - "string", - "null" - ] - }, - "index_run_id": { - "anyOf": [ - { - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Latest completed retained Clerk-index run used for every denominator, or null when unavailable." - }, - "inspected_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed documents with a matching successful all-pages inspection; null when the index cannot be reconciled." - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Database transaction timestamp from the same RPC statement as these counts, canonical UTC Z; null when the read could not complete." - }, - "paper_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Total indexed no-text documents, including transcribed papers; null until every index document is inspected and queue metadata reconciles." - }, - "paper_rows_reason": { - "description": "Reason a remaining transaction-row count is unavailable.", - "type": "string" - }, - "paper_rows_remaining": { - "description": "Unmeasured transaction rows remaining in paper filings. Never inferred from page counts.", - "type": "null" - }, - "pending": { - "description": "Index-reconciled filings awaiting verified transcription ranked by active consented follows, then filing date and DocID.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - }, - "pending_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Total indexed PTRs awaiting verified transcription, including paper and deterministic parser outcomes; null when the inspection population is incomplete." - }, - "reason": { - "description": "Named reason for incomplete or unavailable measurement; null only when reconciled.", - "type": [ - "string", - "null" - ] - }, - "state": { - "description": "Whether the retained annual index and complete PDF inspection population reconcile, remain incomplete, or cannot be read.", - "enum": [ - "measured", - "incomplete", - "unavailable" - ], - "type": "string" - }, - "terminal_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Observed terminal transcription failures matched to the retained index; null when the index cannot be reconciled." - }, - "transcribed_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed queue documents explicitly completed after a matching verified parse committed; null when the index cannot be reconciled." - }, - "uninspected_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Indexed documents lacking matching successful text-layer evidence; null when the index cannot be reconciled." - }, - "unreconciled": { - "description": "Outstanding queue records lacking matching current index evidence, retained visibly outside the reconciled denominator.", - "items": { - "additionalProperties": false, - "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", - "properties": { - "active_followers": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." - }, - "doc_id": { - "description": "House Clerk PTR document identifier.", - "pattern": "^\\d+$", - "type": "string" - }, - "filing_date": { - "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "member": { - "description": "Member name from retained Clerk filing metadata.", - "minLength": 1, - "type": "string" - }, - "member_id": { - "description": "Member route identifier, resolved through the existing member alias registry when available.", - "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", - "type": "string" - }, - "paper_rows": { - "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", - "type": "null" - }, - "paper_rows_reason": { - "const": "not_transcribed", - "description": "Why no transaction-row count is available.", - "type": "string" - }, - "queue_status": { - "description": "Outstanding transcription work or a retained terminal transcription failure.", - "enum": [ - "pending_transcription", - "failed_terminal" - ], - "type": "string" - }, - "reason": { - "description": "Named terminal queue diagnosis, or null when none is recorded.", - "type": [ - "string", - "null" - ] - }, - "receipt_url": { - "description": "Official Clerk PDF URL matching this DocID.", - "type": "string" - }, - "since": { - "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "since_basis": { - "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", - "enum": [ - "first_verified_no_text_inspection", - "first_terminal_document_outcome" - ], - "type": "string" - }, - "state": { - "const": "pending_transcription", - "description": "The filing has no completed verified transcription recorded in this queue.", - "type": "string" - } - }, - "required": [ - "doc_id", - "member", - "member_id", - "filing_date", - "receipt_url", - "state", - "queue_status", - "since", - "since_basis", - "reason", - "paper_rows", - "paper_rows_reason", - "active_followers" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "state", - "reason", - "archive_year", - "measured_at", - "index_run_id", - "index_fetched_at", - "index_receipt", - "index_ptr_documents", - "inspected_documents", - "uninspected_documents", - "paper_documents", - "pending_documents", - "terminal_documents", - "transcribed_documents", - "paper_rows_remaining", - "paper_rows_reason", - "diagnostics", - "pending", - "unreconciled", - "by_member" - ], - "type": "object" - }, - "pipeline": { - "additionalProperties": false, - "description": "Attendance of the jobs that produce this API's data, from the cron attendance store. Absent only on the fail-closed 503 body. A missed, died or never-run job, a failed export run, or an unreadable store degrades the endpoint by name.", - "properties": { - "attendance_exemptions": { - "description": "Named reviewed bootstrap exemptions, not measured successes. Included in scheduled and unwrapped totals, excluded only from required coverage.", - "items": { - "additionalProperties": false, - "properties": { - "approved_on": { - "description": "Date of the recorded exemption ruling.", - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - "decision": { - "description": "Work-order reference approving this named exemption.", - "minLength": 1, - "type": "string" - }, - "reason": { - "description": "Why this route must remain outside attendance admission.", - "minLength": 1, - "type": "string" - }, - "route": { - "description": "Exact scheduled pathname exempt from attendance admission.", - "minLength": 1, - "type": "string" - } - }, - "required": [ - "route", - "reason", - "approved_on", - "decision" - ], - "type": "object" - }, - "type": "array" - }, - "basis": { - "description": "The full statement of how attendance is measured: the store, the two units, slot attribution and its tolerance, and what each job state means. Carried on every response so the numbers never travel without their rules.", - "minLength": 1, - "type": "string" - }, - "deprecated_fields": { - "description": "Fields in this block that are kept for compatibility and should not be read for new work.", - "items": { - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "detail": { - "description": "When instrumentation is partial or exemptions apply, total and required coverage from the same attendance report. Otherwise the unavailable or empty-job explanation, or null when fully instrumented and readable.", - "type": [ - "string", - "null" - ] - }, - "exempt_invocations": { - "description": "Distinct scheduled invocations belonging to the named uninstrumented route exemptions.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "exempt_routes": { - "description": "Number of named uninstrumented route exemptions in this response.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "field_successors": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "description": "For each deprecated field, the field that carries the same value under its correct name.", - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "instrumented_invocations": { - "description": "Distinct scheduled invocations (pathname plus query) whose route records attendance. One route scheduled under several query shapes counts once per shape, because a due slot belongs to one invocation.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "instrumented_jobs": { - "description": "Deprecated in 1.3.14; the same value as instrumented_invocations. Kept for additive compatibility.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "instrumented_routes": { - "description": "Distinct cron pathnames that record attendance. This is the coverage figure: read it, not the invocation pair, when asking how much of the cron surface is watched.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "jobs": { - "description": "The jobs that produce this API's data, one entry per invocation shape observed or scheduled.", - "items": { - "additionalProperties": false, - "properties": { - "coverage_start": { - "description": "Earliest attendance started_at for this pathname, across query variants, from the full ledger. Null means no route observation evidence. Added in item 551.", - "type": [ - "string", - "null" - ] - }, - "cron_name": { - "description": "The invocation as scheduled: pathname plus query string, exactly as vercel.json lists it.", - "minLength": 1, - "type": "string" - }, - "died_count": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Runs in the window that started and never finished within their ceiling, including ones a later run has since superseded. History; the state field describes now." - }, - "expected_slots_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Due slots from max(window start, coverage_start), counted after the complete schedule minute." - }, - "last_ok": { - "description": "When the job last completed successfully; null if never.", - "type": [ - "string", - "null" - ] - }, - "latest_run": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "error": { - "description": "The run's own error text, with credentials and URLs redacted; null on success.", - "type": [ - "string", - "null" - ] - }, - "finished_at": { - "description": "When the latest run finished; null while running or after it died.", - "type": [ - "string", - "null" - ] - }, - "http_status": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": -9007199254740991, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "The HTTP status the run returned; null while running." - }, - "ok": { - "description": "Whether the latest run reported success; null until it finishes.", - "type": [ - "boolean", - "null" - ] - }, - "rows_written": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows the latest run wrote, in the unit rows_written_basis names; null when the run did not report one." - }, - "rows_written_basis": { - "description": "What rows_written counts, named per route, because a row means different things to different jobs.", - "type": "string" - }, - "started_at": { - "description": "When the latest run started.", - "type": "string" - } - }, - "required": [ - "started_at", - "finished_at", - "ok", - "rows_written", - "rows_written_basis", - "http_status", - "error" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "The most recent run of this invocation; null when it has never run." - }, - "missed_count_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "expected_slots_24h minus observed_slots_24h." - }, - "not_yet_observed_slots_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Scheduled slots before coverage_start in this 24-hour window; not missed. Null when attendance cannot be read. Added in item 551." - }, - "observed_slots_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Due slots in the window that a run was attributed to." - }, - "scheduled_job": { - "description": "false for an invocation shape that appears in no vercel.json entry. It has no due slots and cannot miss one; it is listed rather than hidden.", - "type": "boolean" - }, - "schedules": { - "description": "Every cron expression vercel.json schedules this invocation under; empty when it appears in none.", - "items": { - "type": "string" - }, - "type": "array" - }, - "state": { - "description": "The job now, not the last 24 hours. missed: a due slot with no run attributed. died: the latest attempt started and never finished within its ceiling. failed: the latest run returned an error. wrote_zero: the latest run succeeded and wrote no rows. write_count_unavailable: succeeded, count unreadable. running: the latest run has not finished and is within its ceiling. never_ran: no run recorded although slots were due after route coverage began. not_yet_observed: no run and no route coverage yet. unevaluated: attendance could not be read, or no run and no due slot yet. unwrapped: the route records no attendance. Precedence in that order when several apply.", - "enum": [ - "unwrapped", - "unevaluated", - "not_yet_observed", - "never_ran", - "missed", - "running", - "died", - "failed", - "wrote_zero", - "write_count_unavailable", - "succeeded" - ], - "type": "string" - }, - "unattributed_runs_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Runs that started in the window and attribute to no due slot, counted rather than dropped, because they ran." - } - }, - "required": [ - "cron_name", - "schedules", - "scheduled_job", - "state", - "expected_slots_24h", - "observed_slots_24h", - "missed_count_24h", - "unattributed_runs_24h", - "died_count", - "last_ok", - "latest_run" - ], - "type": "object" - }, - "type": "array" - }, - "measured_at": { - "description": "When attendance was evaluated; the 24-hour window ends here.", - "type": "string" - }, - "observation_started_at": { - "description": "When the attendance instrument was installed. Due slots are counted only after this instant.", - "type": [ - "string", - "null" - ] - }, - "required_invocations": { - "description": "scheduled_invocations minus exempt_invocations; an exemption never manufactures attendance.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "required_routes": { - "description": "scheduled_routes minus exempt_routes; instrumentation must cover every required route.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "schedule_entries": { - "description": "Lines in vercel.json's cron list. Exceeds scheduled_invocations when one URL carries more than one schedule.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "scheduled_invocations": { - "description": "instrumented_invocations plus unwrapped_invocations: every distinct invocation in vercel.json.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "scheduled_jobs": { - "description": "Deprecated in 1.3.14; the same value as scheduled_invocations.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "scheduled_routes": { - "description": "instrumented_routes plus unwrapped_routes: every distinct cron pathname in vercel.json.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "state": { - "description": "degraded when any listed job is not delivering: no successful completion since its most recent due slot, its latest run died, it has never run, or (export job only) its latest run failed. unavailable when the attendance store could not be read, which also degrades the endpoint. Otherwise partial when any required invocation or route is unwrapped; ready requires complete required instrumentation and no listed delivery failure. Named attendance_exemptions remain in scheduled and unwrapped totals. Partial also degrades the overall endpoint with pipeline:coverage.", - "enum": [ - "ready", - "partial", - "degraded", - "unavailable" - ], - "type": "string" - }, - "unwrapped_invocations": { - "description": "Distinct scheduled invocations whose route records no attendance.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unwrapped_jobs": { - "description": "Deprecated in 1.3.14; the same value as unwrapped_invocations.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "unwrapped_routes": { - "description": "Distinct cron pathnames that record no attendance.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "state", - "measured_at", - "observation_started_at", - "instrumented_jobs", - "unwrapped_jobs", - "scheduled_jobs", - "instrumented_invocations", - "unwrapped_invocations", - "scheduled_invocations", - "instrumented_routes", - "unwrapped_routes", - "scheduled_routes", - "schedule_entries", - "deprecated_fields", - "field_successors", - "basis", - "detail", - "jobs" - ], - "type": "object" - }, - "sources": { - "description": "Freshness of every source Veridion polls, measured from the same table the serving views read. One entry per source system, including the ones that publish nothing.", - "items": { - "additionalProperties": false, - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus last_success_at, in whole seconds; null when there is no success to measure from." - }, - "detail": { - "description": "OGE: producer, verdict, last completion, measured age, threshold and current failure or uncertainty, computed from the same evidence as the verdict. Other sources retain their stored explanation; sec_edgar states its no_data boundary.", - "type": [ - "string", - "null" - ] - }, - "expected_max_age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "The age past which the source reads stale: 86400 for House Clerk and Senate eFD. OGE uses two maximum daily schedule gaps from vercel.json plus the late-start allowance and run ceiling; it ages successful producer completions, not annual filings. Null for sec_edgar which has no poll to age." - }, - "failure_since": { - "description": "OGE: start of the first failed run after the last successful completion, ordered by (finished_at, run_id) over the whole attendance ledger, not its 24-hour row window. Null when no failed streak exists or attendance is unavailable. Senate uses the failed index-run streak; House does not measure this field.", - "type": [ - "string", - "null" - ] - }, - "index_reconciliation": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "age_seconds": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "generated_at minus checked_at, in whole seconds, floored at zero; null when checked_at is null." - }, - "checked_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the hourly ingest run last reconciled the House Clerk's searchable PTR index against the warehouse; null when no reconciliation has been stored." - }, - "cutoff_date": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The earliest filing date the reconciliation examined: the check date minus 14 days. Documents filed before it are outside this measurement." - }, - "documents_on_index": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents the Clerk's index listed with a filing date on or after cutoff_date at the last check; null when the index could not be read." - }, - "expected_max_age_seconds": { - "description": "The age past which the reconciliation is reported unmeasured: 21600 (6 h), the same threshold as the Congress summary, because the same hourly ingest cadence refreshes both. An operational alerting threshold, not a service commitment.", - "minimum": 0, - "type": "number" - }, - "latest_index_filing_date": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The newest filing date among documents_on_index; null when there are none." - }, - "latest_served_filing_date": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The newest filing date among parsed_documents; the gap to latest_index_filing_date is the visible lag of the served corpus behind the government index." - }, - "parsed_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Of documents_on_index, those the parser finished with qualifying rows that are served." - }, - "state": { - "description": "current: every document on the index since cutoff_date is accounted for (parsed, or terminal without qualifying rows). unaccounted: at least one is not. index_unavailable: the government index could not be read at the last check. unmeasured: no reconciliation newer than expected_max_age_seconds.", - "enum": [ - "current", - "unaccounted", - "index_unavailable", - "unmeasured" - ], - "type": "string" - }, - "terminal_without_rows": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents the parser finished and found no qualifying transaction rows in; accounted for, not served." - }, - "unaccounted_documents": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Documents on the index since cutoff_date that are neither served nor terminal without rows, plus any document the discovery pass could not fetch. Any value above zero degrades the endpoint." - }, - "unaccounted_sample": { - "description": "Up to five unaccounted documents with the recorded reason.", - "items": { - "additionalProperties": false, - "properties": { - "doc_id": { - "description": "The House Clerk DocID of the unaccounted filing.", - "minLength": 1, - "type": "string" - }, - "filing_date": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The filing date the index lists for it; null when the index gave none." - }, - "reason": { - "description": "The recorded overlay status and reason, as status:reason, or overlay_row_missing when the document was never attempted, truncated to 200 characters.", - "minLength": 1, - "type": "string" - } - }, - "required": [ - "doc_id", - "filing_date", - "reason" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "state", - "checked_at", - "age_seconds", - "expected_max_age_seconds", - "cutoff_date", - "documents_on_index", - "parsed_documents", - "terminal_without_rows", - "unaccounted_documents", - "latest_index_filing_date", - "latest_served_filing_date", - "unaccounted_sample" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "The government's own index reconciled against what this API serves, when a source publishes an index we can read (House Clerk PTR search). Age says when we last succeeded; this says whether the index lists filings we do not yet account for. Null for sources without a readable index." - }, - "last_row_observed_at": { - "description": "House only: latest qualified receipt row observation from the source view, preserved separately when the newer official index check establishes source freshness. Null when no qualified row exists.", - "type": [ - "string", - "null" - ] - }, - "last_success_at": { - "description": "OGE: last successful terminal completion in cron attendance, not a filing date. Senate: latest completed index run. House: later of latest qualified receipt row observation and a current, complete official index reconciliation within its six-hour budget. Null when unavailable or never observed; these bases are distinct.", - "type": [ - "string", - "null" - ] - }, - "source_system": { - "description": "house_clerk, senate_efd, oge or sec_edgar. sec_edgar is listed in no_data state as a declared scope boundary, so a reader learns it from the response rather than from a query that returns nothing.", - "type": [ - "string", - "null" - ] - }, - "state": { - "description": "ready: the source observation is within expected_max_age_seconds. For OGE this is a successful producer completion, including zero-row polls; two consecutive failed completions instead report degraded. unknown means attendance or a successful completion is unavailable. stale: the stored state says ready but last_success_at is older than the threshold; the worse of the two is reported. source_unavailable: the most recent poll failed. no_data: the source publishes no rows into v1 by policy. unknown: the stored state was unreadable.", - "minLength": 1, - "type": "string" - }, - "threshold_basis": { - "description": "Operational alerting rule, not a service commitment. OGE names its producing job, consecutive-failure threshold, configured UTC schedules, maximum schedule gap, late-start allowance and run ceiling; the age budget is computed from those values.", - "type": [ - "string", - "null" - ] - } - }, - "required": [ - "source_system", - "state", - "last_success_at", - "failure_since", - "age_seconds", - "expected_max_age_seconds", - "threshold_basis", - "detail", - "index_reconciliation" - ], - "type": "object" - }, - "type": "array" - }, - "state": { - "description": "ready when no check below is failing. degraded when any source is stale or unavailable, the export is stale, unavailable or missing its merkle_root, coverage recovery is stale or unavailable, the Congress summary is stale, unavailable or unattested, a temporal-conformance contract fails, the temporal window is unreadable, the House index lists unaccounted filings, or a pipeline job is not delivering. unavailable when the status itself could not be measured. The endpoint never reports a state more optimistic than its own arithmetic: a stored 'ready' older than its threshold is reported stale.", - "enum": [ - "ready", - "degraded", - "unavailable" - ], - "type": "string" - }, - "temporal_conformance": { - "additionalProperties": false, - "description": "The four temporal contracts, verified against the pinned bulk snapshot. A failing contract degrades the endpoint by name. Absent only on the unavailable body.", - "properties": { - "computed_at": { - "description": "When the contracts were last verified, against the pinned bulk snapshot.", - "type": [ - "string", - "null" - ] - }, - "contracts": { - "description": "One entry per contract, T1 through T4.", - "items": { - "additionalProperties": false, - "properties": { - "contract": { - "description": "T1: point-in-time reads exclude later versions. T2: pagination stays fixed while writes continue. T3: incremental sync reconstructs the full set. T4: restatements preserve permanent row identity.", - "enum": [ - "T1", - "T2", - "T3", - "T4" - ], - "type": "string" - }, - "rows_examined": { - "description": "Rows the contract was checked over.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "state": { - "description": "pass with zero violations; fail with the count; unevaluated when the evidence is missing.", - "enum": [ - "pass", - "fail", - "unevaluated" - ], - "type": "string" - }, - "verified_on": { - "description": "The UTC day the contract was last verified.", - "type": [ - "string", - "null" - ] - }, - "violations": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Rows that broke the contract; null when unevaluated." - } - }, - "required": [ - "contract", - "state", - "violations", - "rows_examined", - "verified_on" - ], - "type": "object" - }, - "type": "array" - }, - "state": { - "description": "ready when every contract passed on the pinned snapshot; degraded when any failed; unavailable when the snapshot could not be read.", - "enum": [ - "ready", - "degraded", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "computed_at", - "contracts" - ], - "type": "object" - }, - "temporal_window": { - "additionalProperties": false, - "description": "How far back as_of reads can go. The floor is the activation instant of retained payload history; depth is the time since. Neither says anything about filing completeness before the floor, which is what /v1/coverage measures.", - "properties": { - "basis": { - "description": "The sentence stating how the floor and depth are measured, carried on every response.", - "minLength": 1, - "type": "string" - }, - "depth_days": { - "anyOf": [ - { - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Unrounded (measured_at - point_in_time_floor) / 86400000 milliseconds. Temporal depth is not filing completeness; null means unmeasured." - }, - "detail": { - "description": "Why the window is unavailable, when it is; null when available.", - "type": [ - "string", - "null" - ] - }, - "measured_at": { - "description": "The instant depth_days was measured against; equals generated_at.", - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - "point_in_time_floor": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Inclusive millisecond boundary from the same temporal dataset-state resolver used by disclosure queries; null if unreadable." - }, - "retention_regime": { - "const": "growing", - "description": "Retained versions are close-only and generations append-only; the current mechanism has no age-based rolling prune.", - "type": "string" - }, - "state": { - "description": "available when the temporal dataset-state resolver answered; unavailable when it did not, which degrades the endpoint with the reason in detail.", - "enum": [ - "available", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "point_in_time_floor", - "depth_days", - "measured_at", - "retention_regime", - "basis", - "detail" - ], - "type": "object" - }, - "track_record": { - "additionalProperties": false, - "description": "When the published track record was last successfully computed, and whether the latest run succeeded. The figures a buyer reads on /track-record are dated by published_at; this block lets a pipeline learn that date, and learn that a later run failed, without scraping the page. Read live from two indexed single-row lookups, so unlike universe it carries no measurement age of its own. Absent only on the unavailable body, where no read was attempted.", - "properties": { - "attempt_newer_than_publication": { - "description": "True when a run is recorded after the last successful publication. Paired with a failed last_attempt_status this is the case a publication instant alone hides: the served cells are real and correctly dated, and the pipeline has since tried to replace them and could not. Measured on production 2026-09-19, 356 of 547 recorded runs are failures, so this is a normal condition rather than an edge case.", - "type": "boolean" - }, - "detail": { - "description": "What the state and the attempt mean, in words, so the block is readable without this schema.", - "type": "string" - }, - "last_attempt_age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "generated_at minus last_attempt_at. How long ago the pipeline last tried." - }, - "last_attempt_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the most recent run was recorded, whatever its outcome." - }, - "last_attempt_status": { - "description": "Outcome of the most recent recorded run. insufficient_history means the run completed and honestly declined to publish for want of matured history — an outcome, not a failure, and it does not degrade this endpoint.", - "enum": [ - "completed", - "insufficient_history", - "failed", - "unavailable" - ], - "type": "string" - }, - "published_age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "generated_at minus published_at. How old the served track-record figures are." - }, - "published_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the cells currently served were computed. This is the last SUCCESSFUL publication, not the last run: a failed run does not move it." - }, - "state": { - "description": "Freshness of the published track record itself: live when the last successful publication is inside its expected cadence, stale when it is not, unavailable when the publication record could not be read. The same state the /track-record page renders, from the same reading.", - "enum": [ - "live", - "stale", - "unavailable" - ], - "type": "string" - } - }, - "required": [ - "state", - "published_at", - "published_age_seconds", - "last_attempt_status", - "last_attempt_at", - "last_attempt_age_seconds", - "attempt_newer_than_publication", - "detail" - ], - "type": "object" - }, - "universe": { - "additionalProperties": false, - "description": "How fresh the scored universe is. A buyer's first question about a score is how old it is, and the answer is a distribution: newest, median, oldest, and the share scored inside a day. Measured on a cron and read as one stored row; the block reports the age of its own measurement so a stale measurement cannot masquerade as a current one. Absent only on the unavailable body, where no read was attempted at all: this endpoint does not publish a block it did not measure.", - "properties": { - "census_measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Instant of the census captured with this intersection, in millisecond ISO-8601 Z form. The enclosing measured_at dates the intersection. Never taken from an independently newer census; null without valid paired evidence." - }, - "census_trading_day": { - "anyOf": [ - { - "format": "date", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Trading day of the qualified census captured with this intersection, not the latest census or latest scored trading day at request time. Null without valid paired evidence." - }, - "coverage_share": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "scored_qualified_count divided by qualified_count, without display rounding. Both counts belong to this measured_at and this census identity. Null for missing or invalid evidence or a zero denominator; zero only for a measured empty intersection with a nonempty qualified set." - }, - "detail": { - "description": "What the state and the spread mean, in words, so the block is readable without this schema.", - "type": "string" - }, - "last_scored_age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "generated_at minus last_scored_at. The age of the freshest score, not of the universe." - }, - "last_scored_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The NEWEST score in the universe. Read it with oldest_scored_at: on 2026-09-19 the newest was seven minutes old and the oldest was thirty-one days old, so this field alone would describe the universe as fresher than it is." - }, - "latest_trading_day": { - "description": "The most recent trading day any symbol in the universe was scored for.", - "type": [ - "string", - "null" - ] - }, - "measured_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the universe was measured, not when this response was generated. The aggregate is taken on a cron because measuring it live costs roughly 624 ms, past this endpoint's read deadline." - }, - "measurement_age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "generated_at minus measured_at. How old the measurement is, not how old the scores are." - }, - "measurement_max_age_seconds": { - "description": "The age past which the measurement is called stale and the endpoint degrades. A bound this response was checked against, not a service commitment.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "median_scored_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The middle of the distribution: half the universe was scored no earlier than this." - }, - "methodology_version": { - "description": "The scoring methodology version the universe view selected as current.", - "type": [ - "string", - "null" - ] - }, - "methodology_versions": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Distinct methodology versions present in the universe. Item 364: this is 1 by construction, because the view filters to the single current version, so it cannot signal a mid-migration universe. It previously claimed it could." - }, - "older_than_7d": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Scored symbols whose score is more than seven days old at measured_at. Published rather than hidden." - }, - "oldest_scored_age_seconds": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "generated_at minus oldest_scored_at. The worst case a consumer of the scores can meet." - }, - "oldest_scored_at": { - "anyOf": [ - { - "format": "date-time", - "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", - "type": "string" - }, - { - "type": "null" - } - ], - "description": "The FLOOR of the universe: the least recently scored symbol. This is the field that makes last_scored_at honest, and the reason this block publishes a distribution rather than a headline." - }, - "population_basis": { - "description": "What symbols and scored actually count, and which figures in this block are identities rather than measurements. Published because a reader who divides scored by symbols gets 100% on every call and would reasonably read that as full coverage.", - "type": "string" - }, - "qualified_count": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Exact denominator: cardinality of the unique qualified symbol set captured with this intersection. Null without valid paired evidence, including historical count-only census rows." - }, - "scored": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Equal to symbols by construction and unable to differ from it: both count the same rows. This is an identity, not a coverage measurement, and scored/symbols is not a coverage ratio. Every freshness figure below IS measured over these rows." - }, - "scored_qualified_count": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Exact numerator: current-methodology scored symbols intersected with the stored qualified set at measured_at. Excludes scored names outside that set; null without valid paired evidence." - }, - "scored_within_24h": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Scored symbols whose score was computed inside the twenty-four hours before measured_at." - }, - "scored_within_24h_share": { - "anyOf": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "type": "null" - } - ], - "description": "scored_within_24h divided by scored, rounded to four places. Below four in five, the detail says so rather than leaving the reader to divide." - }, - "state": { - "description": "measured when a current measurement was read. measurement_stale when the measurement itself is older than measurement_max_age_seconds, in which case every figure below describes the universe as of measured_at, not as of now. unmeasured when no measurement has been recorded yet. unavailable when the stored measurement could not be read. The last two are different facts and are reported as different states.", - "enum": [ - "measured", - "measurement_stale", - "unmeasured", - "unavailable" - ], - "type": "string" - }, - "symbols": { - "anyOf": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "type": "null" - } - ], - "description": "Symbols carrying a score under the CURRENT methodology_version. Item 364: this field previously read \"including any not yet scored\", which was false -- the coverage view is built from score_snapshots, so an unscored symbol is not a row. Read population_basis before dividing this by anything." - } - }, - "required": [ - "state", - "measured_at", - "measurement_age_seconds", - "measurement_max_age_seconds", - "symbols", - "scored", - "scored_qualified_count", - "qualified_count", - "coverage_share", - "census_trading_day", - "census_measured_at", - "last_scored_at", - "last_scored_age_seconds", - "median_scored_at", - "oldest_scored_at", - "oldest_scored_age_seconds", - "scored_within_24h", - "scored_within_24h_share", - "older_than_7d", - "latest_trading_day", - "methodology_version", - "methodology_versions", - "population_basis", - "detail" - ], - "type": "object" - }, - "version": { - "const": "1.20.0", - "description": "The contract version this response was produced under; the same value as X-API-Version.", - "type": "string" - } - }, - "required": [ - "paper_transcriptions", - "billing_gate", - "version", - "generated_at", - "cache", - "state", - "temporal_window", - "degraded_reasons", - "sources", - "institutional_delivery" - ], - "type": "object" -}New value: +null
1 tool update
- Changed
search_disclosures3 fields changed- changed
Input schema / properties / limit / descriptionPrevious value: -"Rows per page (free tier caps at 25; licensed 1000)"New value: +"Rows per page: up to 25 without a key, up to 1000 with a licensed key" - changed
Input schema / properties / member_id / descriptionPrevious value: -"Filter to one filer by slug, e.g. donald-trump or nancy-pelosi. Use list_members to resolve a name to its identifier."New value: +"Filter to one filer by slug, e.g. donald-trump or nancy-pelosi. The same slug appears as member.member_id on every row." - changed
Input schema / properties / within_statutory_window / descriptionPrevious value: -"false returns only filings made outside the statutory window that applies to that row (served as statutory_window_days); true returns only filings inside it. Prefer this over min_delay_days when the question is 'was it late', because the boundary is the row's own window, not a number you supply. Annual reports have no window and are excluded by either value."New value: +"false returns only filings made outside the statutory window that applies to that row (served as statutory_window_days); true returns only filings inside it. Unlike min_delay_days, the boundary is each row's own window rather than a supplied number. Annual reports have no window and are excluded by either value."
4 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.19.2"New value: +"1.20.0"
- Changed
get_status1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.19.2"New value: +"1.20.0"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.19.2"New value: +"1.20.0"
- Changed
search_disclosures1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.19.2"New value: +"1.20.0"
4 tool updates
- Changed
get_disclosure_history11 fields changed- changed
Output schema / properties / data / items / properties / amount / descriptionPrevious value: -"The bounded range exactly as disclosed. A missing amount is never estimated."New value: +"The disclosed band. Only two enumerated House PTR labels have an open upper bound; a missing amount is never estimated." - removed
Output schema / properties / data / items / properties / amount / properties / basis / constRemoved value: -"bounded_range_as_disclosed" - changed
Output schema / properties / data / items / properties / amount / properties / basis / descriptionPrevious value: -"States what the amount fields are: the bounded range as the filing disclosed it. The only basis served today; a future exact-amount source would carry its own."New value: +"Names whether the filing disclosed a bounded or one of the two enumerated House PTR open-ended brackets. Neither basis represents an exact amount." - added
Output schema / properties / data / items / properties / amount / properties / basis / enumAdded value: +[ + "bounded_range_as_disclosed", + "open_ended_as_disclosed" +] - added
Output schema / properties / data / items / properties / amount / properties / range_high / anyOfAdded value: +[ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / items / properties / amount / properties / range_high / descriptionPrevious value: -"Upper bound of the disclosed band, in whole USD. For an open-ended band such as \"over $50,000,000\" this is the stated threshold, and midpoint is absent."New value: +"Upper bound of the disclosed band, in whole USD. Null only for the two enumerated House PTR open-ended brackets; never a fabricated ceiling." - removed
Output schema / properties / data / items / properties / amount / properties / range_high / maximumRemoved value: -9007199254740991 - removed
Output schema / properties / data / items / properties / amount / properties / range_high / minimumRemoved value: -0 - removed
Output schema / properties / data / items / properties / amount / properties / range_high / typeRemoved value: -"integer" - changed
Output schema / properties / data / items / properties / amount / properties / verbatim_text / descriptionPrevious value: -"The amount text exactly as it appears on the filing, before any parsing. When range_low and range_high disagree with this text, this text is the filing."New value: +"The filed amount label; casing is canonicalized for the two enumerated House PTR open-ended brackets. Other text retains the parsed filing's spelling. The source line and receipt remain the source of truth." - changed
Output schema / properties / version / constPrevious value: -"1.18.1"New value: +"1.19.2"
- Changed
get_status3 fields changed- added
Output schema / properties / coverage_recovery / properties / requalification_holdAdded value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "evidence_url": { + "description": "Review receipt supporting the prerequisite; its presence does not assert that the repair has landed.", + "format": "uri", + "type": "string" + }, + "reason": { + "description": "Source-controlled reason for the parser rollout hold, independent of measured recovery counts and terminal failures.", + "type": "string" + }, + "release_condition": { + "description": "Reviewed code-change condition required to resume parser requalification; it cannot be bypassed by an environment or request setting.", + "type": "string" + }, + "required_items": { + "description": "Work-order item numbers whose reviewed owner-pair and stable-identity repairs are prerequisites for requalification.", + "items": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "type": "array" + }, + "state": { + "const": "held", + "description": "Parser requalification is held before claims, fetches or corpus writes; this policy state does not measure serving health.", + "type": "string" + } + }, + "required": [ + "state", + "reason", + "required_items", + "evidence_url", + "release_condition" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Source-controlled parser rollout hold and its reviewed release prerequisite. This progress field does not establish current data freshness or completed recovery." +} - changed
Output schema / properties / coverage_recovery / properties / state / descriptionPrevious value: -"ready: the stamped measurement is current and no House PTR recovery document remains pending, in progress or retryable-failed; terminal exclusions may remain and their count stays in failed_terminal. recovery_in_progress: retryable work remains. stale: the stamped measurement is older than its budget. unavailable: it could not be read or its classification is inconsistent with its counts. recovery_in_progress, stale and unavailable degrade the endpoint with the measurement quoted, as does a refresh_outcome other than succeeded."New value: +"ready: the stamped measurement is current and no House PTR recovery document remains pending, in progress or retryable-failed; terminal exclusions may remain and their count stays in failed_terminal. recovery_in_progress: retryable work remains. stale: the stamped measurement is older than its budget. unavailable: it could not be read or its classification is inconsistent with its counts. recovery_in_progress is background progress, not degraded served data, only when fresh successful recovery evidence has complete consistent counts and zero row loss, and independent serving checks are current. Stale or unavailable recovery, failed refreshes, unknown counts, row loss and missing or failing serving evidence still degrade the endpoint." - changed
Output schema / properties / version / constPrevious value: -"1.18.1"New value: +"1.19.2"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.18.1"New value: +"1.19.2"
- Changed
search_disclosures11 fields changed- changed
Output schema / properties / data / items / properties / amount / descriptionPrevious value: -"The bounded range exactly as disclosed. A missing amount is never estimated."New value: +"The disclosed band. Only two enumerated House PTR labels have an open upper bound; a missing amount is never estimated." - removed
Output schema / properties / data / items / properties / amount / properties / basis / constRemoved value: -"bounded_range_as_disclosed" - changed
Output schema / properties / data / items / properties / amount / properties / basis / descriptionPrevious value: -"States what the amount fields are: the bounded range as the filing disclosed it. The only basis served today; a future exact-amount source would carry its own."New value: +"Names whether the filing disclosed a bounded or one of the two enumerated House PTR open-ended brackets. Neither basis represents an exact amount." - added
Output schema / properties / data / items / properties / amount / properties / basis / enumAdded value: +[ + "bounded_range_as_disclosed", + "open_ended_as_disclosed" +] - added
Output schema / properties / data / items / properties / amount / properties / range_high / anyOfAdded value: +[ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / items / properties / amount / properties / range_high / descriptionPrevious value: -"Upper bound of the disclosed band, in whole USD. For an open-ended band such as \"over $50,000,000\" this is the stated threshold, and midpoint is absent."New value: +"Upper bound of the disclosed band, in whole USD. Null only for the two enumerated House PTR open-ended brackets; never a fabricated ceiling." - removed
Output schema / properties / data / items / properties / amount / properties / range_high / maximumRemoved value: -9007199254740991 - removed
Output schema / properties / data / items / properties / amount / properties / range_high / minimumRemoved value: -0 - removed
Output schema / properties / data / items / properties / amount / properties / range_high / typeRemoved value: -"integer" - changed
Output schema / properties / data / items / properties / amount / properties / verbatim_text / descriptionPrevious value: -"The amount text exactly as it appears on the filing, before any parsing. When range_low and range_high disagree with this text, this text is the filing."New value: +"The filed amount label; casing is canonicalized for the two enumerated House PTR open-ended brackets. Other text retains the parsed filing's spelling. The source line and receipt remain the source of truth." - changed
Output schema / properties / version / constPrevious value: -"1.18.1"New value: +"1.19.2"
4 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.18.0"New value: +"1.18.1"
- Changed
get_status5 fields changed- changed
Output schema / properties / coverage_recovery / properties / state / descriptionPrevious value: -"ready: every House document is parsed or terminal and the stamped measurement is current. recovery_in_progress: documents remain pending or in progress. complete_with_terminal_gaps: nothing pending, but some documents ended in a terminal failure. stale: the stamped measurement is older than its budget. unavailable: it could not be read. recovery_in_progress, stale and unavailable degrade the endpoint with the measurement quoted, as does a refresh_outcome other than succeeded. complete_with_terminal_gaps does not degrade it: the terminal count is published beside the state, and a permanent, disclosed property of the corpus is not a degradation of the service."New value: +"ready: the stamped measurement is current and no House PTR recovery document remains pending, in progress or retryable-failed; terminal exclusions may remain and their count stays in failed_terminal. recovery_in_progress: retryable work remains. stale: the stamped measurement is older than its budget. unavailable: it could not be read or its classification is inconsistent with its counts. recovery_in_progress, stale and unavailable degrade the endpoint with the measurement quoted, as does a refresh_outcome other than succeeded." - changed
Output schema / properties / coverage_recovery / properties / state / enumPrevious value: -[ - "ready", - "recovery_in_progress", - "complete_with_terminal_gaps", - "stale", - "unavailable" -]New value: +[ + "ready", + "recovery_in_progress", + "stale", + "unavailable" +] - added
Output schema / properties / sources / items / properties / last_row_observed_atAdded value: +{ + "description": "House only: latest qualified receipt row observation from the source view, preserved separately when the newer official index check establishes source freshness. Null when no qualified row exists.", + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / sources / items / properties / last_success_at / descriptionPrevious value: -"OGE: last successful terminal completion in cron attendance, not a filing date. Senate: latest completed index run. House: latest qualified receipt row observation. Null when unavailable or never observed; these bases are distinct."New value: +"OGE: last successful terminal completion in cron attendance, not a filing date. Senate: latest completed index run. House: later of latest qualified receipt row observation and a current, complete official index reconciliation within its six-hour budget. Null when unavailable or never observed; these bases are distinct." - changed
Output schema / properties / version / constPrevious value: -"1.18.0"New value: +"1.18.1"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.18.0"New value: +"1.18.1"
- Changed
search_disclosures1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.18.0"New value: +"1.18.1"
5 tool updates
- Changed
get_coverage2 fields changed- added
Output schema / properties / paper_transcriptionsAdded value: +{ + "additionalProperties": false, + "description": "Retained House paper PTR population, outstanding queue records, per-member projections and explicit reconciliation gaps. Transaction counts remain unknown before transcription.", + "properties": { + "archive_year": { + "description": "Clerk annual filing-index year being reconciled.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "by_member": { + "description": "Per-member projections of this same queue measurement, without additional database reads.", + "items": { + "additionalProperties": false, + "description": "Member projection of the shared House paper coverage measurement.", + "properties": { + "known_pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." + }, + "member_id": { + "description": "Canonical member identifier requested by the member surface.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why the member's remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unknown transaction rows remaining for this member; never estimated.", + "type": "null" + }, + "pending": { + "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." + }, + "pending_documents_reason": { + "description": "Reason the member total is unknown, inherited from the same coverage measurement.", + "type": [ + "string", + "null" + ] + }, + "state": { + "anyOf": [ + { + "const": "pending_transcription", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." + } + }, + "required": [ + "member_id", + "measured_at", + "state", + "pending_documents", + "known_pending_documents", + "pending_documents_reason", + "paper_rows_remaining", + "paper_rows_reason", + "pending" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "additionalProperties": false, + "description": "Explicit reconciliation gaps. Missing evidence never becomes a zero count.", + "properties": { + "invalid_index_rows": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Retained PTR manifest rows rejected for missing or conflicting receipt/date/member metadata; null when not examined." + }, + "queue_documents_outside_index": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed paper-queue documents absent from the retained annual index; null when not examined." + }, + "queue_metadata_mismatches": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Queue inspections whose receipt or filing date conflicts with the retained index; null when not examined." + } + }, + "required": [ + "invalid_index_rows", + "queue_metadata_mismatches", + "queue_documents_outside_index" + ], + "type": "object" + }, + "index_fetched_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Retained annual index fetch time, canonical UTC Z; not the queue measurement time." + }, + "index_ptr_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct PTR documents in the reconciled annual index; null without a complete retained denominator." + }, + "index_receipt": { + "description": "Official Clerk annual ZIP URL supporting the index denominator, or null when unavailable.", + "type": [ + "string", + "null" + ] + }, + "index_run_id": { + "anyOf": [ + { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Latest completed retained Clerk-index run used for every denominator, or null when unavailable." + }, + "inspected_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed documents with a matching successful all-pages inspection; null when the index cannot be reconciled." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Database transaction timestamp from the same RPC statement as these counts, canonical UTC Z; null when the read could not complete." + }, + "paper_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Total indexed no-text documents, including transcribed papers; null until every index document is inspected and queue metadata reconciles." + }, + "paper_rows_reason": { + "description": "Reason a remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unmeasured transaction rows remaining in paper filings. Never inferred from page counts.", + "type": "null" + }, + "pending": { + "description": "Index-reconciled filings awaiting verified transcription ranked by active consented follows, then filing date and DocID.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Total indexed PTRs awaiting verified transcription, including paper and deterministic parser outcomes; null when the inspection population is incomplete." + }, + "reason": { + "description": "Named reason for incomplete or unavailable measurement; null only when reconciled.", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Whether the retained annual index and complete PDF inspection population reconcile, remain incomplete, or cannot be read.", + "enum": [ + "measured", + "incomplete", + "unavailable" + ], + "type": "string" + }, + "terminal_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed terminal transcription failures matched to the retained index; null when the index cannot be reconciled." + }, + "transcribed_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed queue documents explicitly completed after a matching verified parse committed; null when the index cannot be reconciled." + }, + "uninspected_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed documents lacking matching successful text-layer evidence; null when the index cannot be reconciled." + }, + "unreconciled": { + "description": "Outstanding queue records lacking matching current index evidence, retained visibly outside the reconciled denominator.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "state", + "reason", + "archive_year", + "measured_at", + "index_run_id", + "index_fetched_at", + "index_receipt", + "index_ptr_documents", + "inspected_documents", + "uninspected_documents", + "paper_documents", + "pending_documents", + "terminal_documents", + "transcribed_documents", + "paper_rows_remaining", + "paper_rows_reason", + "diagnostics", + "pending", + "unreconciled", + "by_member" + ], + "type": "object" +} - changed
Output schema / requiredPrevious value: -[ - "dataset", - "version", - "generated_at", - "cache", - "description", - "serving", - "congress", - "provenance", - "provenance_field_coverage", - "house_clerk_ptr_completeness", - "provenance_reconciliation", - "sources_of_record", - "exclusions", - "notice", - "request_access" -]New value: +[ + "paper_transcriptions", + "dataset", + "version", + "generated_at", + "cache", + "description", + "serving", + "congress", + "provenance", + "provenance_field_coverage", + "house_clerk_ptr_completeness", + "provenance_reconciliation", + "sources_of_record", + "exclusions", + "notice", + "request_access" +]
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.17.0"New value: +"1.18.0"
- Changed
get_status3 fields changed- added
Output schema / properties / paper_transcriptionsAdded value: +{ + "additionalProperties": false, + "description": "House paper queue measurement and per-member pending visibility. Known pending work alone is not an outage; failed reads are named and counts withheld.", + "properties": { + "archive_year": { + "description": "Clerk annual filing-index year being reconciled.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "by_member": { + "description": "Per-member projections of this same queue measurement, without additional database reads.", + "items": { + "additionalProperties": false, + "description": "Member projection of the shared House paper coverage measurement.", + "properties": { + "known_pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." + }, + "member_id": { + "description": "Canonical member identifier requested by the member surface.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why the member's remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unknown transaction rows remaining for this member; never estimated.", + "type": "null" + }, + "pending": { + "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." + }, + "pending_documents_reason": { + "description": "Reason the member total is unknown, inherited from the same coverage measurement.", + "type": [ + "string", + "null" + ] + }, + "state": { + "anyOf": [ + { + "const": "pending_transcription", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." + } + }, + "required": [ + "member_id", + "measured_at", + "state", + "pending_documents", + "known_pending_documents", + "pending_documents_reason", + "paper_rows_remaining", + "paper_rows_reason", + "pending" + ], + "type": "object" + }, + "type": "array" + }, + "diagnostics": { + "additionalProperties": false, + "description": "Explicit reconciliation gaps. Missing evidence never becomes a zero count.", + "properties": { + "invalid_index_rows": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Retained PTR manifest rows rejected for missing or conflicting receipt/date/member metadata; null when not examined." + }, + "queue_documents_outside_index": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed paper-queue documents absent from the retained annual index; null when not examined." + }, + "queue_metadata_mismatches": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Queue inspections whose receipt or filing date conflicts with the retained index; null when not examined." + } + }, + "required": [ + "invalid_index_rows", + "queue_metadata_mismatches", + "queue_documents_outside_index" + ], + "type": "object" + }, + "index_fetched_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Retained annual index fetch time, canonical UTC Z; not the queue measurement time." + }, + "index_ptr_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct PTR documents in the reconciled annual index; null without a complete retained denominator." + }, + "index_receipt": { + "description": "Official Clerk annual ZIP URL supporting the index denominator, or null when unavailable.", + "type": [ + "string", + "null" + ] + }, + "index_run_id": { + "anyOf": [ + { + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Latest completed retained Clerk-index run used for every denominator, or null when unavailable." + }, + "inspected_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed documents with a matching successful all-pages inspection; null when the index cannot be reconciled." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Database transaction timestamp from the same RPC statement as these counts, canonical UTC Z; null when the read could not complete." + }, + "paper_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Total indexed no-text documents, including transcribed papers; null until every index document is inspected and queue metadata reconciles." + }, + "paper_rows_reason": { + "description": "Reason a remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unmeasured transaction rows remaining in paper filings. Never inferred from page counts.", + "type": "null" + }, + "pending": { + "description": "Index-reconciled filings awaiting verified transcription ranked by active consented follows, then filing date and DocID.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Total indexed PTRs awaiting verified transcription, including paper and deterministic parser outcomes; null when the inspection population is incomplete." + }, + "reason": { + "description": "Named reason for incomplete or unavailable measurement; null only when reconciled.", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Whether the retained annual index and complete PDF inspection population reconcile, remain incomplete, or cannot be read.", + "enum": [ + "measured", + "incomplete", + "unavailable" + ], + "type": "string" + }, + "terminal_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed terminal transcription failures matched to the retained index; null when the index cannot be reconciled." + }, + "transcribed_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed queue documents explicitly completed after a matching verified parse committed; null when the index cannot be reconciled." + }, + "uninspected_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Indexed documents lacking matching successful text-layer evidence; null when the index cannot be reconciled." + }, + "unreconciled": { + "description": "Outstanding queue records lacking matching current index evidence, retained visibly outside the reconciled denominator.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "state", + "reason", + "archive_year", + "measured_at", + "index_run_id", + "index_fetched_at", + "index_receipt", + "index_ptr_documents", + "inspected_documents", + "uninspected_documents", + "paper_documents", + "pending_documents", + "terminal_documents", + "transcribed_documents", + "paper_rows_remaining", + "paper_rows_reason", + "diagnostics", + "pending", + "unreconciled", + "by_member" + ], + "type": "object" +} - changed
Output schema / properties / version / constPrevious value: -"1.17.0"New value: +"1.18.0" - changed
Output schema / requiredPrevious value: -[ - "billing_gate", - "version", - "generated_at", - "cache", - "state", - "temporal_window", - "degraded_reasons", - "sources", - "institutional_delivery" -]New value: +[ + "paper_transcriptions", + "billing_gate", + "version", + "generated_at", + "cache", + "state", + "temporal_window", + "degraded_reasons", + "sources", + "institutional_delivery" +]
- Changed
list_members5 fields changed- added
Output schema / properties / data / items / properties / paper_transcriptionsAdded value: +{ + "additionalProperties": false, + "description": "This known filer's paper queue state from the independent paper measurement, without changing directory disclosure counts.", + "properties": { + "known_pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." + }, + "member_id": { + "description": "Canonical member identifier requested by the member surface.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why the member's remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unknown transaction rows remaining for this member; never estimated.", + "type": "null" + }, + "pending": { + "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." + }, + "pending_documents_reason": { + "description": "Reason the member total is unknown, inherited from the same coverage measurement.", + "type": [ + "string", + "null" + ] + }, + "state": { + "anyOf": [ + { + "const": "pending_transcription", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." + } + }, + "required": [ + "member_id", + "measured_at", + "state", + "pending_documents", + "known_pending_documents", + "pending_documents_reason", + "paper_rows_remaining", + "paper_rows_reason", + "pending" + ], + "type": "object" +} - changed
Output schema / properties / data / items / requiredPrevious value: -[ - "member_id", - "identity", - "full_name", - "chamber", - "party", - "state", - "district", - "coverage" -]New value: +[ + "member_id", + "identity", + "full_name", + "chamber", + "party", + "state", + "district", + "coverage", + "paper_transcriptions" +] - added
Output schema / properties / paper_transcriptionsAdded value: +{ + "additionalProperties": false, + "description": "Paper queue visibility independent of the directory population and measurement timestamp. Completeness state describes the annual paper measurement, not roster coverage.", + "properties": { + "archive_year": { + "description": "Clerk annual filing-index year being reconciled.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "by_member": { + "description": "Observed paper filers matching the declared filter scope, including filers absent from the legacy roster when metadata supports matching. Does not add roster rows or alter directory counts.", + "items": { + "additionalProperties": false, + "description": "Member projection of the shared House paper coverage measurement.", + "properties": { + "known_pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Observed outstanding queue records for this member, including unreconciled records; null when coverage is unavailable, and never a count of the uninspected population." + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Timestamp inherited from the same coverage/counts RPC, canonical UTC Z; null when the read could not complete." + }, + "member_id": { + "description": "Canonical member identifier requested by the member surface.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why the member's remaining transaction-row count is unavailable.", + "type": "string" + }, + "paper_rows_remaining": { + "description": "Unknown transaction rows remaining for this member; never estimated.", + "type": "null" + }, + "pending": { + "description": "Observed pending and terminal paper-queue filings for this member, including records whose index reconciliation is incomplete.", + "items": { + "additionalProperties": false, + "description": "An outstanding PTR requiring verified transcription, with its official receipt, first terminal-outcome time and queue diagnosis. Parser failures do not attest paper.", + "properties": { + "active_followers": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Distinct active consented member subscribers across paid preferences and confirmed free follows; aggregate only, or null when not measured." + }, + "doc_id": { + "description": "House Clerk PTR document identifier.", + "pattern": "^\\d+$", + "type": "string" + }, + "filing_date": { + "description": "Filing date printed in the retained Clerk annual index, YYYY-MM-DD.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "member": { + "description": "Member name from retained Clerk filing metadata.", + "minLength": 1, + "type": "string" + }, + "member_id": { + "description": "Member route identifier, resolved through the existing member alias registry when available.", + "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", + "type": "string" + }, + "paper_rows": { + "description": "Unknown transaction-row count. PDF page counts and external trade counts are not substitutes.", + "type": "null" + }, + "paper_rows_reason": { + "const": "not_transcribed", + "description": "Why no transaction-row count is available.", + "type": "string" + }, + "queue_status": { + "description": "Outstanding transcription work or a retained terminal transcription failure.", + "enum": [ + "pending_transcription", + "failed_terminal" + ], + "type": "string" + }, + "reason": { + "description": "Named terminal queue diagnosis, or null when none is recorded.", + "type": [ + "string", + "null" + ] + }, + "receipt_url": { + "description": "Official Clerk PDF URL matching this DocID.", + "type": "string" + }, + "since": { + "description": "First instrumented terminal document outcome, canonical UTC Z. This does not measure filing discovery delay.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "since_basis": { + "description": "Evidence defining the since timestamp; it is never backdated to the filing date. Parser failures do not attest absence of text.", + "enum": [ + "first_verified_no_text_inspection", + "first_terminal_document_outcome" + ], + "type": "string" + }, + "state": { + "const": "pending_transcription", + "description": "The filing has no completed verified transcription recorded in this queue.", + "type": "string" + } + }, + "required": [ + "doc_id", + "member", + "member_id", + "filing_date", + "receipt_url", + "state", + "queue_status", + "since", + "since_basis", + "reason", + "paper_rows", + "paper_rows_reason", + "active_followers" + ], + "type": "object" + }, + "type": "array" + }, + "pending_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Member's total outstanding queue filings only when the full annual population is measured; otherwise null." + }, + "pending_documents_reason": { + "description": "Reason the member total is unknown, inherited from the same coverage measurement.", + "type": [ + "string", + "null" + ] + }, + "state": { + "anyOf": [ + { + "const": "pending_transcription", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pending transcription when at least one observed outstanding queue document exists; otherwise null, not a completeness claim." + } + }, + "required": [ + "member_id", + "measured_at", + "state", + "pending_documents", + "known_pending_documents", + "pending_documents_reason", + "paper_rows_remaining", + "paper_rows_reason", + "pending" + ], + "type": "object" + }, + "type": "array" + }, + "filter_coverage": { + "description": "Paper metadata supports exact member, name and House chamber filters. State or Bioguide filters can only admit members proven by directory records in this response; their paper-only matches remain unknown.", + "enum": [ + "paper_metadata", + "directory_response_only" + ], + "type": "string" + }, + "filter_reason": { + "description": "Named limitation when directory identity is needed to evaluate filters, otherwise null. An empty restricted list is not proof that no matching paper filings exist.", + "type": [ + "string", + "null" + ] + }, + "filters": { + "additionalProperties": false, + "description": "Member filters applied to the independent paper list; directory cursor and limit do not paginate this list.", + "properties": { + "bioguide": { + "description": "Requested Bioguide; requires a matching known directory record and is never invented for pending-only filers.", + "type": [ + "string", + "null" + ] + }, + "chamber": { + "description": "Requested chamber; this paper queue contains House documents only.", + "type": [ + "string", + "null" + ] + }, + "member_id": { + "description": "Exact canonical member filter, or null for all matching members.", + "type": [ + "string", + "null" + ] + }, + "name": { + "description": "Literal case-insensitive substring applied to retained paper member names, not a wildcard.", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Requested state; requires a matching known directory record and is not inferred from a member name.", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "member_id", + "name", + "chamber", + "state", + "bioguide" + ], + "type": "object" + }, + "measured_at": { + "anyOf": [ + { + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Database transaction timestamp from the same RPC statement as these counts, canonical UTC Z; null when the read could not complete." + }, + "reason": { + "description": "Named reason for incomplete or unavailable measurement; null only when reconciled.", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Whether the retained annual index and complete PDF inspection population reconcile, remain incomplete, or cannot be read.", + "enum": [ + "measured", + "incomplete", + "unavailable" + ], + "type": "string" + } + }, + "required": [ + "state", + "reason", + "archive_year", + "measured_at", + "filters", + "filter_coverage", + "filter_reason", + "by_member" + ], + "type": "object" +} - changed
Output schema / properties / version / constPrevious value: -"1.17.0"New value: +"1.18.0" - changed
Output schema / requiredPrevious value: -[ - "data", - "count", - "identity_join", - "served_at", - "directory", - "cache", - "version", - "notice" -]New value: +[ + "data", + "paper_transcriptions", + "count", + "identity_join", + "served_at", + "directory", + "cache", + "version", + "notice" +]
- Changed
search_disclosures1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.17.0"New value: +"1.18.0"
4 tool updates
- Changed
get_disclosure_history3 fields changed- added
Output schema / properties / data / items / properties / instrumentAdded value: +{ + "additionalProperties": false, + "description": "Additive projection from the filing's printed asset and description. Every absent or conflicting ticker or option term has a named reason. It is not an order instruction or a securities-master lookup; the original asset fields remain unchanged.", + "properties": { + "contracts": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Explicit count of options or contracts. Shares and units are never converted, nor is a partial-sale count calculated from holdings." + }, + "expiration": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Date as printed, not necessarily ISO. Two-digit years retain two digits; no century or missing day is inferred. See field_evidence.expiration.reason." + }, + "field_evidence": { + "additionalProperties": false, + "description": "Required per-field evidence for every option field, including missing fields and non-option rows.", + "properties": { + "contracts": { + "additionalProperties": false, + "description": "Explicit option/contract-count spans plus any share/unit spans. Describes quantity ambiguity without conversions or arithmetic.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "expiration": { + "additionalProperties": false, + "description": "Printed expiration span and date-format/refusal rule. A two-digit year is identified explicitly and not expanded.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "option_type": { + "additionalProperties": false, + "description": "Printed call/put evidence, conflict or absence.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "strike": { + "additionalProperties": false, + "description": "Exact printed strike span, or the missing, malformed or conflicting-price reason.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "underlying": { + "additionalProperties": false, + "description": "Printed underlying name/label evidence or why an underlying was withheld.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + } + }, + "required": [ + "underlying", + "option_type", + "strike", + "expiration", + "contracts" + ], + "type": "object" + }, + "kind": { + "description": "Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity.", + "enum": [ + "equity", + "option", + "etf", + "bond", + "fund", + "crypto", + "other" + ], + "type": "string" + }, + "kind_reason": { + "description": "Named source-code or printed-text rule used to classify this line.", + "minLength": 1, + "type": "string" + }, + "option_type": { + "anyOf": [ + { + "enum": [ + "call", + "put" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Call or put only when printed as the option type. Conflicting types and unlabelled verbs produce null." + }, + "strike": { + "anyOf": [ + { + "pattern": "^\\d+(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Exact printed decimal strike, with grouping separators and dollar sign removed. String avoids binary floating-point rounding. Currency is not inferred." + }, + "ticker": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Single printed symbol, uppercased without joining tokens. An explicit ticker label or security-named parenthetical may resolve a blank ticker field; issuer names alone never do. Not a guarantee of an executable option-series identifier." + }, + "ticker_reason": { + "description": "Exact ticker-resolution rule or named missing/ambiguous reason. Never empty, including for untickered assets.", + "minLength": 1, + "type": "string" + }, + "ticker_status": { + "description": "Distinguishes the original printed ticker field, a symbol resolved from explicit asset text, and missing, conflicting or malformed evidence.", + "enum": [ + "printed", + "resolved_from_printed_text", + "missing", + "ambiguous", + "invalid" + ], + "type": "string" + }, + "underlying": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Explicitly labelled underlying or the printed stock name on an option-related line. Never decoded from the ticker or resolved from an issuer lookup." + } + }, + "required": [ + "kind", + "kind_reason", + "ticker", + "ticker_status", + "ticker_reason", + "underlying", + "option_type", + "strike", + "expiration", + "contracts", + "field_evidence" + ], + "type": "object" +} - changed
Output schema / properties / data / items / requiredPrevious value: -[ - "disclosure_id", - "version_id", - "content_hash", - "identity_basis", - "change", - "member", - "asset", - "transaction", - "filing", - "amount", - "owner", - "receipt", - "provenance" -]New value: +[ + "disclosure_id", + "version_id", + "content_hash", + "identity_basis", + "change", + "member", + "asset", + "instrument", + "transaction", + "filing", + "amount", + "owner", + "receipt", + "provenance" +] - changed
Output schema / properties / version / constPrevious value: -"1.16.0"New value: +"1.17.0"
- Changed
get_status1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.16.0"New value: +"1.17.0"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.16.0"New value: +"1.17.0"
- Changed
search_disclosures3 fields changed- added
Output schema / properties / data / items / properties / instrumentAdded value: +{ + "additionalProperties": false, + "description": "Additive projection from the filing's printed asset and description. Every absent or conflicting ticker or option term has a named reason. It is not an order instruction or a securities-master lookup; the original asset fields remain unchanged.", + "properties": { + "contracts": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Explicit count of options or contracts. Shares and units are never converted, nor is a partial-sale count calculated from holdings." + }, + "expiration": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Date as printed, not necessarily ISO. Two-digit years retain two digits; no century or missing day is inferred. See field_evidence.expiration.reason." + }, + "field_evidence": { + "additionalProperties": false, + "description": "Required per-field evidence for every option field, including missing fields and non-option rows.", + "properties": { + "contracts": { + "additionalProperties": false, + "description": "Explicit option/contract-count spans plus any share/unit spans. Describes quantity ambiguity without conversions or arithmetic.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "expiration": { + "additionalProperties": false, + "description": "Printed expiration span and date-format/refusal rule. A two-digit year is identified explicitly and not expanded.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "option_type": { + "additionalProperties": false, + "description": "Printed call/put evidence, conflict or absence.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "strike": { + "additionalProperties": false, + "description": "Exact printed strike span, or the missing, malformed or conflicting-price reason.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + }, + "underlying": { + "additionalProperties": false, + "description": "Printed underlying name/label evidence or why an underlying was withheld.", + "properties": { + "raw": { + "description": "Matched filing-text spans, retaining competing values and printed share/unit counts. Empty when no applicable evidence was found.", + "items": { + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "reason": { + "description": "Named extraction rule or refusal reason; always present, including when the value is null.", + "minLength": 1, + "type": "string" + }, + "status": { + "description": "Whether this value is explicitly printed, absent, ambiguous, invalid or inapplicable to a non-option line.", + "enum": [ + "printed", + "missing", + "ambiguous", + "invalid", + "not_applicable" + ], + "type": "string" + } + }, + "required": [ + "status", + "reason", + "raw" + ], + "type": "object" + } + }, + "required": [ + "underlying", + "option_type", + "strike", + "expiration", + "contracts" + ], + "type": "object" + }, + "kind": { + "description": "Instrument category supported by the printed code or text. Option mentions include exercised options even where the original source code is ST. Other means unclassified, not a guessed equity.", + "enum": [ + "equity", + "option", + "etf", + "bond", + "fund", + "crypto", + "other" + ], + "type": "string" + }, + "kind_reason": { + "description": "Named source-code or printed-text rule used to classify this line.", + "minLength": 1, + "type": "string" + }, + "option_type": { + "anyOf": [ + { + "enum": [ + "call", + "put" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Call or put only when printed as the option type. Conflicting types and unlabelled verbs produce null." + }, + "strike": { + "anyOf": [ + { + "pattern": "^\\d+(?:\\.\\d+)?$", + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Exact printed decimal strike, with grouping separators and dollar sign removed. String avoids binary floating-point rounding. Currency is not inferred." + }, + "ticker": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Single printed symbol, uppercased without joining tokens. An explicit ticker label or security-named parenthetical may resolve a blank ticker field; issuer names alone never do. Not a guarantee of an executable option-series identifier." + }, + "ticker_reason": { + "description": "Exact ticker-resolution rule or named missing/ambiguous reason. Never empty, including for untickered assets.", + "minLength": 1, + "type": "string" + }, + "ticker_status": { + "description": "Distinguishes the original printed ticker field, a symbol resolved from explicit asset text, and missing, conflicting or malformed evidence.", + "enum": [ + "printed", + "resolved_from_printed_text", + "missing", + "ambiguous", + "invalid" + ], + "type": "string" + }, + "underlying": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Explicitly labelled underlying or the printed stock name on an option-related line. Never decoded from the ticker or resolved from an issuer lookup." + } + }, + "required": [ + "kind", + "kind_reason", + "ticker", + "ticker_status", + "ticker_reason", + "underlying", + "option_type", + "strike", + "expiration", + "contracts", + "field_evidence" + ], + "type": "object" +} - changed
Output schema / properties / data / items / requiredPrevious value: -[ - "disclosure_id", - "version_id", - "content_hash", - "identity_basis", - "change", - "member", - "asset", - "transaction", - "filing", - "amount", - "owner", - "receipt", - "provenance" -]New value: +[ + "disclosure_id", + "version_id", + "content_hash", + "identity_basis", + "change", + "member", + "asset", + "instrument", + "transaction", + "filing", + "amount", + "owner", + "receipt", + "provenance" +] - changed
Output schema / properties / version / constPrevious value: -"1.16.0"New value: +"1.17.0"
4 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.15.0"New value: +"1.16.0"
- Changed
get_status2 fields changed- added
Output schema / properties / owner_column_repairAdded value: +{ + "additionalProperties": false, + "description": "Unresolved owner-column repair documents from the existing repair ledger. Absent only when the core status read is unavailable; no missing measurement is treated as zero.", + "properties": { + "detail": { + "description": "Named read or evidence-validation failure; null for a complete measurement.", + "type": [ + "string", + "null" + ] + }, + "documents_total": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Documents in the frozen owner-repair target population; null when not measured." + }, + "failed_terminal": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Uncorrected documents in failed_terminal under the owner-repair version; not failures in the latest cron attempt." + }, + "measured_at": { + "description": "Instant this bounded evidence read began; not the filing or failure date.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + }, + "state": { + "description": "clear means no terminal failures measured, not that pending repairs are complete. Unresolved or unreadable evidence degrades status.", + "enum": [ + "clear", + "unresolved", + "unavailable" + ], + "type": "string" + }, + "terminal_documents": { + "description": "Terminal documents with matching retained reason, receipt and dates; missing attestations are counted separately.", + "items": { + "additionalProperties": false, + "properties": { + "doc_id": { + "description": "House Clerk document identifier in the frozen repair population.", + "minLength": 1, + "type": "string" + }, + "filing_date": { + "description": "Filing date recorded with the official document.", + "format": "date", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$", + "type": "string" + }, + "reason": { + "description": "Retained reason for this document's terminal repair failure.", + "minLength": 1, + "type": "string" + }, + "source_url": { + "description": "Official House Clerk PDF receipt recorded for this document.", + "format": "uri", + "type": "string" + }, + "terminal_at": { + "description": "Stored instant the repair reached terminal failure, not the current read time.", + "format": "date-time", + "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$", + "type": "string" + } + }, + "required": [ + "doc_id", + "reason", + "source_url", + "filing_date", + "terminal_at" + ], + "type": "object" + }, + "type": "array" + }, + "unattested_documents": { + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Terminal documents omitted because receipt or terminal evidence was missing or changed during the read; null when the population is unavailable." + } + }, + "required": [ + "state", + "measured_at", + "documents_total", + "failed_terminal", + "terminal_documents", + "unattested_documents", + "detail" + ], + "type": "object" +} - changed
Output schema / properties / version / constPrevious value: -"1.15.0"New value: +"1.16.0"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.15.0"New value: +"1.16.0"
- Changed
search_disclosures1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.15.0"New value: +"1.16.0"
1 tool update
- Changed
get_status1 field changed- changed
Output schema / properties / congress_public_summary / descriptionPrevious value: -"The Congress public summary that /api/congress/summary serves, its age, and whether the newest owner outcome attests to it. Absent only on the unavailable body."New value: +"The first-party Congress public-summary materialization, its age, and whether the newest owner outcome attests to it. Absent only on the unavailable body."
4 tool updates
- Changed
get_disclosure_history1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.14.0"New value: +"1.15.0"
- Changed
get_status1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.14.0"New value: +"1.15.0"
- Changed
list_members1 field changed- changed
Output schema / properties / version / constPrevious value: -"1.14.0"New value: +"1.15.0"
- Changed
search_disclosures2 fields changed- added
Output schema / properties / page / properties / orderAdded value: +{ + "description": "Snapshot walks started in 1.15.0 sort filed_date descending (nulls last), then first_observed_at and disclosure_id ascending. Pre-1.15 cursors retain first_observed_at/disclosure_id ascending. Changes sort change_generation, change_sequence and event_id ascending. Snapshot membership and the incremental watermark do not depend on display order.", + "enum": [ + "filed_date_desc", + "first_observed_at_asc", + "change_generation_asc" + ], + "type": "string" +} - changed
Output schema / properties / version / constPrevious value: -"1.14.0"New value: +"1.15.0"
1 tool update
- Changed
get_status5 fields changed- added
Output schema / properties / pipeline / properties / jobs / items / properties / coverage_startAdded value: +{ + "description": "Earliest attendance started_at for this pathname, across query variants, from the full ledger. Null means no route observation evidence. Added in item 551.", + "type": [ + "string", + "null" + ] +} - changed
Output schema / properties / pipeline / properties / jobs / items / properties / expected_slots_24h / descriptionPrevious value: -"Due slots in the window, from the schedules, counted only after observation_started_at."New value: +"Due slots from max(window start, coverage_start), counted after the complete schedule minute." - added
Output schema / properties / pipeline / properties / jobs / items / properties / not_yet_observed_slots_24hAdded value: +{ + "anyOf": [ + { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + { + "type": "null" + } + ], + "description": "Scheduled slots before coverage_start in this 24-hour window; not missed. Null when attendance cannot be read. Added in item 551." +} - changed
Output schema / properties / pipeline / properties / jobs / items / properties / state / descriptionPrevious value: -"The job now, not the last 24 hours. missed: a due slot with no run attributed. died: the latest attempt started and never finished within its ceiling. failed: the latest run returned an error. wrote_zero: the latest run succeeded and wrote no rows. write_count_unavailable: succeeded, count unreadable. running: the latest run has not finished and is within its ceiling. never_ran: no run recorded although slots were due. unevaluated: attendance could not be read, or no run and no due slot yet. unwrapped: the route records no attendance. Precedence in that order when several apply."New value: +"The job now, not the last 24 hours. missed: a due slot with no run attributed. died: the latest attempt started and never finished within its ceiling. failed: the latest run returned an error. wrote_zero: the latest run succeeded and wrote no rows. write_count_unavailable: succeeded, count unreadable. running: the latest run has not finished and is within its ceiling. never_ran: no run recorded although slots were due after route coverage began. not_yet_observed: no run and no route coverage yet. unevaluated: attendance could not be read, or no run and no due slot yet. unwrapped: the route records no attendance. Precedence in that order when several apply." - changed
Output schema / properties / pipeline / properties / jobs / items / properties / state / enumPrevious value: -[ - "unwrapped", - "unevaluated", - "never_ran", - "missed", - "running", - "died", - "failed", - "wrote_zero", - "write_count_unavailable", - "succeeded" -]New value: +[ + "unwrapped", + "unevaluated", + "not_yet_observed", + "never_ran", + "missed", + "running", + "died", + "failed", + "wrote_zero", + "write_count_unavailable", + "succeeded" +]
1 tool update
- Changed
get_status3 fields changed- changed
Output schema / properties / billing_gate / descriptionPrevious value: -"A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. No history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee."New value: +"A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. Missing completed hours are recorded as observation_missing failures, with no invented observation timestamp. No operational history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee." - changed
Output schema / properties / billing_gate / properties / definition / constPrevious value: -"A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. No history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee."New value: +"A completed UTC day qualifies only when all 24 distinct hourly observations are present and operational. Operational means the public status evaluator returned ready with no degraded reasons. Missing hours break the streak; today's incomplete hour is not missing until it ends. A recorded non-operational sample today resets the streak immediately. Missing completed hours are recorded as observation_missing failures, with no invented observation timestamp. No operational history is backfilled. Hourly samples do not establish continuous availability or a service-level guarantee." - changed
Output schema / properties / billing_gate / properties / reasons_on_last_non_operational_day / descriptionPrevious value: -"Distinct stored degraded-reason codes for the last non-operational day; missing_hour names absent completed-hour observations."New value: +"Distinct failure codes for the last non-operational day. observation_missing is a persisted closed-hour gap; missing_hour is an absent hour not yet recorded. Both break the streak."
5 tool updates
- First observed
get_coverage - First observed
get_disclosure_history - First observed
get_status - First observed
list_members - First observed
search_disclosures
Related MCP Connectors
Read-only U.S. congressional stock trade disclosures (STOCK Act filings), parsed and source-linked.
Insider, Congress, 13F and federal contract filings for US stocks, each linked to its source.
Stock trades of U.S. Congress & executive-branch officials, with conflict flags. Read-only.
US Congress stock trades and financial disclosures by member, ticker, or date, hosted MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables querying US congressional and executive stock trading disclosures, including recent trades, top movers, and individual member activity, with filters and performance analytics.14 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables querying and analysis of US congressional stock-trade disclosures from capitoltrades.com, providing tools for filtering, ranking, and exporting trade data.1-
- FlicenseNot gradedqualityCmaintenanceEnables querying U.S. politician stock trades from public disclosures, running backtests, and generating daily briefings via MCP tools.13-
- FlicenseNot gradedqualityCmaintenanceQuery normalized U.S. House and Senate STOCK Act disclosures, member trading histories, and aggregate trading statistics through MCP.-
Glama MCP Gateway
Add one secure layer between your agents and this server.