| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (U.S.). Tolerance: ±$0.05/gal. | gas | 4.096 | 4.096 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 2.6 | 2.6 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 3.3 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 18571 | 18571.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 381 | 381 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 381.0 | 381.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 4.1 | 4.1 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 2.6 | 2.6 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 3.3 | 3.3 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.867 | 0.867 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 2.6 | 2.6 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | 3.5 | 3.5 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | — | View source | — | WARN |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | — | View source | — | WARN |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 20.0pp would be unusual and likely indicates a data mapping error. | national | 16.7 | 4.4 | 12.3 percentage points (tol: 20.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.867 | 0.867 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 381 | 381 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.229 | 3.229 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 13.2 | 13.2 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 310.936 | 310.936 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (BOSTON). Tolerance: ±$0.05/gal. | gas | 3.861 | 3.861 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 0.4 | 0.4 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 2.7 | — | — | PASS |
| unemployment_data_present | Check for presence of unemployment data from whatchanged.us API. | unemployment | — | — | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 63598 | 63598.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 1304 | 1304 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 1304.0 | 1304.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.86 | 3.86 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 0.4 | 0.4 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 2.7 | 2.7 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.655 | 0.655 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 0.4 | 0.4 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | — | View source | — | WARN |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 0.4 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.861 | 4.096 | 0.235 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.655 | 0.655 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 1304 | 1304 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.206 | 3.206 | 0.0 (tol: 0.1) | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 317.027 | 317.027 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (NEW YORK CITY). Tolerance: ±$0.05/gal. | gas | 3.977 | 3.977 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 4.1 | 4.1 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 4.3 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 123393 | 123393.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 2530 | 2530 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 2530.0 | 2530.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.98 | 3.98 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 4.1 | 4.1 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 4.3 | 4.3 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.764 | 0.764 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 4.1 | 4.1 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | 0.1 | 0.1 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 4.9 | 4.4 | 0.5 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 4.1 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.977 | 4.096 | 0.119 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.764 | 0.764 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 2530 | 2530 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.213 | 3.213 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 4.8 | 4.8 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 322.052 | 322.052 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (PADD 1C). Tolerance: ±$0.05/gal. | gas | 3.863 | 3.863 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 4 | 4.0 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 3.3 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 21063 | 21063.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 432 | 432 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 432.0 | 432.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.86 | 3.86 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 4.0 | 4 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 3.3 | 3.3 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.769 | 0.769 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 4 | 4.0 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | 0 | 0.0 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 4.2 | 4.4 | 0.2 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 4 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.863 | 4.096 | 0.233 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.769 | 0.769 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 432 | 432 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.094 | 3.094 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 4.2 | 4.2 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 296.666 | 296.666 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (PADD 1C). Tolerance: ±$0.05/gal. | gas | 3.863 | 3.863 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 4 | 4.0 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 3.3 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 70433 | 70433.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 1444 | 1444 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 1444.0 | 1444.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.86 | 3.86 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 4.0 | 4 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 3.3 | 3.3 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.769 | 0.769 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 4 | 4.0 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | -0.2 | -0.2 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 3 | 4.4 | 1.4 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 4 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.863 | 4.096 | 0.233 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.769 | 0.769 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 1444 | 1444 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.094 | 3.094 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 3.2 | 3.2 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 296.666 | 296.666 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (PADD 2). Tolerance: ±$0.05/gal. | gas | 3.772 | 3.772 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 3.5 | 3.5 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 3.9 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 24392 | 24392.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 500 | 500 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 500.0 | 500.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.77 | 3.77 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 3.5 | 3.5 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 3.9 | 3.9 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.708 | 0.708 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 3.5 | 3.5 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | -1.3 | -1.3 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 5.6 | 4.4 | 1.2 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 3.5 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.772 | 4.096 | 0.324 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.708 | 0.708 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 500 | 500 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.064 | 3.064 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 6.9 | 6.9 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 274.101 | 274.101 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (PADD 3). Tolerance: ±$0.05/gal. | gas | 3.702 | 3.702 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 2.8 | 2.8 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | -0.2 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 17924 | 17924.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 367 | 367 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 367.0 | 367.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 3.7 | 3.7 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 2.8 | 2.8 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | -0.2 | -0.2 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 0.914 | 0.914 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 2.8 | 2.8 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | -0.4 | -0.4 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 4.1 | 4.4 | 0.3 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 2.8 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 3.702 | 4.096 | 0.394 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 0.914 | 0.914 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 367 | 367 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 2.788 | 2.788 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 4.5 | 4.5 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 270.913 | 270.913 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (DENVER). Tolerance: ±$0.05/gal. | gas | 4.056 | 4.056 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| cpi_data_present | Check for presence of CPI data from whatchanged.us API. | cpi | — | — | — | SKIP |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 110372 | 110372.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 2263 | 2263 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 2263.0 | 2263.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 4.06 | 4.06 | 0.0 | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 1.035 | 1.035 | 0.0 | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | -1.3 | -1.3 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | — | View source | — | WARN |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 3.9 | 4.4 | 0.5 percentage points (tol: 10.0) | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 4.056 | 4.096 | 0.04 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 1.035 | 1.035 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 2263 | 2263 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.021 | 3.021 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 5.2 | 5.2 | 0.0 | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (DENVER). Tolerance: ±$0.05/gal. | gas | 4.056 | 4.056 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| cpi_data_present | Check for presence of CPI data from whatchanged.us API. | cpi | — | — | — | SKIP |
| unemployment_data_present | Check for presence of unemployment data from whatchanged.us API. | unemployment | — | — | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 74149 | 74149.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 1520 | 1520 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 1520.0 | 1520.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 4.06 | 4.06 | 0.0 | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 1.035 | 1.035 | 0.0 | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | — | View source | — | WARN |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | — | View source | — | WARN |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 4.056 | 4.096 | 0.04 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 1.035 | 1.035 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 1520 | 1520 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 3.021 | 3.021 | 0.0 (tol: 0.1) | PASS |
| Check | Description | Category | Site Value | Source Value | Difference | Status |
|---|---|---|---|---|---|---|
| eia_price_match | Gas price from whatchanged.us vs EIA API for the same area (SEATTLE). Tolerance: ±$0.05/gal. | gas | 5.419 | 5.419 | 0.0 $/gal (tol: 0.05) | PASS |
| aaa_cross_check | AAA scraping failed even with Playwright browser rendering. The site may have changed its layout. | gas | — | View source | — | SKIP |
| grocery_index_match | BLS CPI grocery index value from the site vs directly from the BLS API for the same series ID. | cpi | — | View source | — | SKIP |
| grocery_pct_change_internal | Internal consistency: does the displayed grocery % change match (current - baseline) / baseline x 100? | cpi | 1.2 | 1.2 | 0.0 percentage points (tol: 0.1) | PASS |
| shelter_data_present | Confirms BLS shelter CPI series has data. The site shows shelter cost % change from this series. | cpi | — | View source | — | SKIP |
| shelter_change_reasonable | Sanity check: shelter % change is between -20% and +50%. | cpi | 2 | — | — | PASS |
| bls_laus_match | Unemployment rate from whatchanged.us vs directly from BLS LAUS (Local Area Unemployment Statistics) for the same county. | unemployment | — | View source | — | SKIP |
| income_vs_census | Median household income used by the site vs Census ACS 5-year estimate (table B19013) for this zip code. | tariff | 67074 | 67074.0 | 0.0 dollars (tol: 2000.0) | PASS |
| tariff_vs_yale_method | Site's tariff estimate vs independent calculation using Census income x Yale Budget Lab rate (2.05% of household income). | tariff | 1375 | 1375 | 0 dollars/yr (tol: 200.0) | PASS |
| tariff_display_vs_api | Tariff estimate shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 1375.0 | 1375.0 | 0.0 | PASS |
| gas_price_display | Gas price shown on the rendered page vs the API response (checks for display/rounding bugs). | rendered | 5.42 | 5.42 | 0.0 | PASS |
| grocery_change_display | Grocery % change on the rendered page vs the API response. | rendered | 1.2 | 1.2 | 0.0 % | PASS |
| shelter_change_display | Shelter % change on the rendered page vs the API response. | rendered | 2.0 | 2 | 0.0 % | PASS |
| gas_change_recomputed | Re-derive gas price change from current and baseline values. Catches internal math errors. | computation | 1.255 | 1.255 | 0.0 | PASS |
| grocery_pct_recomputed | Re-derive grocery CPI % change from current and baseline index values. | computation | 1.2 | 1.2 | 0.0 percentage points | PASS |
| unemployment_change_recomputed | Re-derive unemployment rate change from current and baseline values. | computation | -0.3 | -0.3 | 0.0 percentage points | PASS |
| national_unemployment_present | Verify national unemployment nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_unemployment_freshness | Most recent national unemployment data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_unemployment_range | Sanity check: national unemployment rate should be between 0.0 and 15.0 %. | national | 4.4 | View source | — | PASS |
| national_cpi_present | Verify national CPI nationalSeries is present in the API response. | national | 121 | View source | — | PASS |
| national_cpi_freshness | Most recent national CPI data point should be within 60 days. | national | 55 | View source | — | PASS |
| national_cpi_grocery_range | Sanity check: national grocery CPI index should be between 200.0 and 500.0 index points. | national | 318.898 | View source | — | PASS |
| national_cpi_shelter_range | Sanity check: national shelter CPI index should be between 200.0 and 500.0 index points. | national | 422.776 | View source | — | PASS |
| national_gas_present | Verify national gas price nationalSeries is present in the API response. | national | 520 | View source | — | PASS |
| national_gas_freshness | Most recent national gas price data point should be within 14 days. | national | 5 | View source | — | PASS |
| national_gas_range | Sanity check: national gas price should be between 1.0 and 10.0 $/gal. | national | 4.096 | View source | — | PASS |
| local_vs_national_unemployment | Local unemployment rate vs national average. A difference > 10.0pp would be unusual and likely indicates a data mapping error. | national | 4.9 | 4.4 | 0.5 percentage points (tol: 10.0) | PASS |
| local_vs_national_grocery_direction | Local grocery CPI % change vs national — both should move in the same direction. Disagreement may indicate a series mapping error. | national | 1.2 | 2.56 | — | PASS |
| local_vs_national_gas | Local gas price vs national average. A difference > $2/gal is unusual and may indicate a regional data error. | national | 5.419 | 4.096 | 1.323 $/gal (tol: 2.0) | PASS |
| gas_change_audit_block | Verify gas change from the API's _audit.computations block matches an independent calculation. | computation_audit | 1.255 | 1.255 | 0.0 | PASS |
| tariff_audit_block | Verify tariff estimate from the API's _audit.computations block matches an independent calculation. | computation_audit | 1375 | 1375 | 0 | PASS |
| series_metro_verification | Verify BLS series IDs actually map to the metro area the site claims. A mismatch means data from the wrong city. | metro_mapping | — | — | — | SKIP |
| freshness_gas | Check that gas data was fetched recently enough (within 7 days). | freshness | — | — | — | PASS |
| freshness_cpi | Check that cpi data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| freshness_unemployment | Check that unemployment data was fetched recently enough (within 45 days). | freshness | — | — | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| link_check | Verify source attribution link resolves (HTTP 200). | links | — | View source | — | PASS |
| gas_baseline | Verify the gas price baseline matches the Jan 20, 2025 data point in the series (inauguration day). | baseline | 4.164 | 4.164 | 0.0 (tol: 0.1) | PASS |
| unemployment_baseline | Verify the unemployment baseline matches the January 2025 data point in the series. | baseline | 5.2 | 5.2 | 0.0 | PASS |
| cpi_grocery_baseline | Verify the CPI grocery baseline matches the January 2025 index value in the series. | baseline | 332.801 | 332.801 | 0.0 | PASS |