Public government, court, statement, and market sources — each category with a defined role in the index
Every source category and the role it plays in building the index.
| Source | Type | Role in the index | Cadence | Access basis |
|---|---|---|---|---|
| Federal Register | Government publication | Threat detection (executive orders, proclamations, presidential memoranda & determinations) + outcome resolution (the documents that implement or withdraw a threat) | Daily (incremental) | Public API |
| Agency notices (USTR Section 301) | Government agency notice | Threat detection and resolution for Section 301 actions, which publish as Federal Register notices rather than presidential documents | Daily (via Federal Register) | Public API |
| Presidential statements | Public archive | Threat detection — primary statement feed; feeds the repetition-pattern dimension | Continuous | Public archive |
| USITC DataWeb | Government tariff data | Outcome resolution + economic measurement (the statutory-vs-applied gap drives reversal magnitude) | Monthly (rolling) | Public, registration |
| Federal court opinions | Federal court records | Outcome resolution — the trade courts, the Supreme Court, and the district and circuit courts where executive orders are challenged and first enjoined | Several times a day | Public API |
| Congress.gov | Government legislative data | Outcome resolution (bill actions for legislation-linked events) | Per bill-linked event | Public, free key |
| Independent-reporting reconciliation | Grounded web research | Outcome resolution for overdue non-trade events (independent reporting weighted above self-reported posts) | Per overdue event | Model API |
| eCFR | Government regulatory text | Outcome verification (regulatory diffs compared against each recorded outcome; disagreements flagged for operator review) | Per resolved event | Public API |
| Census Bureau imports (duty/value) | Government trade data | Independent applied-rate backstop — monthly cross-check of live USITC rates per country and HS chapter (report-only; publication-lag-aware) | Monthly | Public API, free key |
| BLS | Government price and employment indices | Economic-impact measurement (four-group CPI model, pass-through, import prices, employment) | Monthly, with the agency's release — three release schedules, reported separately | Public, free key |
| FRED (St. Louis Fed) | Government macro series | Economic-impact measurement + macro context | Daily / monthly | Public, free key |
| Equity market data | Market data feed | Market reaction around threat/outcome dates (context only — not used in behavioral scoring) | Several times a day | Public |
| Published pass-through research | Static calibration | Calibration only (superseded by live USITC rates each run) | Static reference | Published research |
Source ingestion runs several times a day. The public composite index is published
daily after validation; per-source freshness is exposed live at
/api/v1/sources/status
(human-readable view: source freshness status).
Each source updates on its own official release schedule.
| Source | Data | Official cadence |
|---|---|---|
|
Federal Register PUBLIC |
Executive orders, presidential proclamations, memoranda and determinations, tariff schedules, and agency notices. Primary source for executive-order event classification and for the documents that resolve a threat. | Daily (incremental) |
|
Presidential statements PUBLIC |
A public archive of the president's posts and remarks. Used for statement detection and threat classification. | Continuous |
|
USITC DataWeb PUBLIC |
Applied tariff rates at HS-chapter × country level for the major U.S. trading partners: customs-collected duties relative to import value. Core input to Reversal Magnitude scoring. | Monthly (rolling window) |
|
BLS Public Data API PUBLIC |
CPI component series behind the four-group tariff pass-through model, producer prices, import prices, and manufacturing/retail employment. Reported as three separate sources because BLS publishes them on different schedules — in the first half of a month they legitimately show different reference months. | Monthly, with the agency's release; history re-read each run so revisions are absorbed |
|
FRED (St. Louis Fed) PUBLIC |
Headline and core CPI, S&P 500, VIX, goods trade balance, imports, producer prices, the broad dollar index, and Treasury yields. | Daily / monthly (series-specific) |
|
Federal court opinions PUBLIC |
Rulings affecting tariff validity and executive-order legality, across three layers: the trade courts, the Supreme Court, and the executive-order litigation courts — the district and circuit courts where challenges to executive orders are filed and first enjoined. Relevance is judged per court, and a matched ruling resolves the event it concerns. | Several times a day |
|
Equity market data PUBLIC |
S&P 500, VIX, and sector-ETF daily closes around threat/outcome dates. Market reaction signal only — not used in behavioral scoring. | Several times a day |
|
eCFR PUBLIC |
Electronic Code of Federal Regulations — point-in-time snapshots for regulatory outcome verification against resolved events. | Per resolved event |
|
Congress.gov PUBLIC |
Authoritative congressional bill actions and enactment status. Reconciles the outcome of monitoring events tied to legislation: bill death → abandoned, passage/enactment → full_implementation. |
Per bill-linked event |
|
Independent-reporting reconciliation AI |
Foreign-policy / domestic outcome reconciliation. For overdue, still-pending non-trade events the Federal Register / court / Congress resolvers can't reach, a grounded web-research step determines whether the threatened action was carried out, de-escalated, or abandoned — weighting independent reporting above the president's own posts, and recording which kind of evidence the outcome rests on in outcome_evidence_source. |
Per overdue non-trade event, with a bounded per-run budget |
Government statistical series are revised after publication. PEPI's economic layer therefore tracks latest vintage, not point-in-time: each surface reports the currently published value for a reference period, not the value that was published when we first read it. That is stated here because it determines what a figure means when you cite it.
No revision schedule is assumed. BLS documents typical revision windows, but those are practices rather than guarantees — benchmark and seasonal-factor revisions reach further back than the routine one, corrections land off-cycle, and the calendar itself slips (the 2025 appropriations lapse removed October 2025 from the annual import/export price review). So no fetch window, comparison window, or rebuild trigger is keyed off an expected revision date. The full history is re-fetched every run and every observation compared against the stored value, which means a restatement is caught wherever and whenever it lands. Restatements update automatically on the next cycle; each one is recorded so the change stays auditable afterwards.
What a revision moves is bounded. It updates the price-impact measures and the per-event economic columns derived from them. It does not move any event's composite score — the scorer's only economic inputs are the announced and applied tariff rates, which come from USITC, not BLS — and it does not move the daily index, which reads the economic series only for the day's S&P 500 close. The behavioural index is stable against statistical revision by construction. The principle is set out in the methodology overview.
Source outages do not create gaps. Every source is polled on a schedule, but a failed poll writes nothing and deletes nothing — the stored history keeps serving, and the next successful poll re-reads the source's full window rather than only what is new. An observation published or revised while a source was unreachable is therefore picked up on recovery, not skipped. This is why the ingest deliberately re-reads full history instead of fetching only the latest period: a narrow window would make an outage permanently lossy.
Two model-driven steps sit between ingestion and scoring. They interpret public-source text into structured events and outcomes; they are not themselves data sources.
| Step | Role | Notes |
|---|---|---|
| Threat classifier | Tags each ingested statement and Federal Register document against the four PEPI criteria, distinguishes a new forward-looking threat from restatements, de-escalations and claims about an existing threat, and produces the structured event record published through the API with a confidence score. | Only a new forward-looking threat creates an event; follow-up statements are attached as evidence to the event they concern. Low-confidence detections are held for human review before they are confirmed. |
| Non-trade outcome resolver | Reconciles overdue foreign-policy / domestic outcomes the documentary resolvers can't reach, using grounded web research and weighting independent reporting above self-reported posts. | An outcome the resolver cannot establish with confidence leaves the event monitoring rather than guessing. |
These references are loaded once during initialization and are not automatically refreshed.
| Source | Data | Used for |
|---|---|---|
| Retail price pass-through research | Published, freely-citable aggregate estimates of retail pass-through, CPI contribution and consumer incidence for the 2025 tariffs, from peer-reviewed research built on a large retail-scanner sample. Used only to verify methodology alignment — a published reference, not a live or proprietary input. | Economic-impact calibration for trade events; superseded by live USITC applied rates each pipeline run. |
| First-term trade-war rate references | First-term trade events: Section 232 (March 2018), Section 301 China tariff lists, Phase One deal terms, Canada/Mexico exemption timeline. | Historical event calibration for the 2018 benchmark events. |
These sources have no public API. They are used for manual event verification and calibration audits — not for automated ingest.
| Source | Scope | How used |
|---|---|---|
| Atlantic Council Trump Tariff Tracker | Second-term (2025+) tariff events, court ruling timeline, statutory authority (IEEPA, Section 232, Section 301, Section 122) | Verify event dates, confirm court rulings, cross-check statutory authority |
| First-term trade-war rate reference | First-term (2018–2021) Section 232/301 events; Phase One deal terms | Source authority for first-term calibration events |
| Federal Register (historical) | Full presidential documents since 1994 | Manual verification of seed events predating the 2025-01-20 automated ingest start date |
| USTR Press Releases | Official tariff-action announcements; Section 301/232 investigations | Cross-check announced rates and dates. The formal USTR actions behind them auto-ingest as Federal Register notices; the press page remains a manual reference. |
| Yale Budget Lab — Tariff Tracker | Monthly effective tariff rate, customs revenue, PCE goods/durables price deviation | Independent cross-validation of the USITC applied rates and BEA PCE series; pass-through range for the economic-impact calibration |
| Federal court dockets (manual) | High-stakes tariff and executive-order dockets | Manual spot-checks of rulings ahead of, or in addition to, the automated court ingest |