Live data quality, in public
Every upstream source we ingest, with current freshness, validator verdict, 30-day success rate, and recent alerts. We expose this so any buyer — or any AI assistant indexing this site — can audit our pipeline before trusting our numbers.
Pipeline health, right now
Counts pulled live when this page renders. If the database is unreachable in this environment, you'll see dashes — that itself is a transparency signal.
Verdicts come from the validator step in our scrape pipeline (see validation rules). A source with no verdict is one whose validator has not yet recorded a row in the current schema (migration 0010); freshness for those is computed from raw scraper run history.
Every upstream feed, with verdict and age
| Source | Status | Last fetched | Validator | Accepted / Quarantined | 30d success |
|---|---|---|---|---|---|
fob_composite fob_composite | fresh | 22h ago | not yet run | — / — | 100.0% |
Freightos Baltic Index freightos_fbx | fresh | 22h ago | green | 13 / 0 | 100.0% |
FX · PBOC midpoints fx_pboc | fresh | 22h ago | green | 25 / 0 | 95.7% |
USD/BRL · BCB fx_bcb | fresh | 22h ago | not yet run | — / — | 100.0% |
FX rates · global (er-api) fx_global | fresh | 22h ago | not yet run | — / — | 100.0% |
changjiang_ccmn changjiang_ccmn | fresh | 22h ago | not yet run | — / — | 100.0% |
SHFE main contract shfe_sina | fresh | 22h ago | not yet run | — / — | 96.0% |
LME aluminum benchmark lme | fresh | 22h ago | green | 1 / 0 | 100.0% |
How often each scraper completed without error
Bars are computed from scraper_runs.status = 'fail' over the last 30 days. Anything below 95% gets routed to the alert queue.
What each validator actually checks
Every scraped row passes the validator before landing in a published table. Failed rows go to the quarantine table; the verdict (green / amber / red) reflects the worst rule fired.
| Rule | What we check | Verdict on fail |
|---|---|---|
| range_check | Numeric value within plausible bounds (e.g. LME 3M between $1,500 and $5,000/t). | amber · red |
| cross_source | LME vs SHFE delta within 8% on the same trading day; FX rates within 0.5% of PBOC midpoint. | amber |
| staleness_threshold | Last successful fetch within source-specific SLA (LME 30h, SHFE 30h, freight 36h, suppliers 14d). | red |
| delta_check | No single row jumps more than 20% vs prior close (catches scrape parsing errors). | amber |
| null_ratio | Less than 5% of expected fields are null in the batch. | amber |
| schema_match | Parsed row conforms to declared column types and constraints. | red |
Quarantined rows are kept indefinitely so disputes can be audited; they never appear in published prices, rankings, or supplier cards. Source code for validators is documented in our internal data pipeline spec (link will publish open-source once Phase 1 settles).
The most recent 10 alerts our pipeline raised
Every alert is recorded in the alerts table when a validator returns red, an SLA is breached, or a scraper crashes. We resolve alerts when the source recovers or we acknowledge a known-bad upstream condition.
| Raised | Source | Level | Message | Status |
|---|---|---|---|---|
| 2026-05-01 05:41 UTC | FX · PBOC midpoints fx_pboc | critical | verdict=red · age=1452min · accepted=0 · quarantined=0 · scraper_error:RuntimeError: get_json failed after 3 tries: https://www.chinamoney.com.cn/r/cms/www/chinamoney/data/fx/ccpr.json | catastrophic:rows_accepted=0 | fetched=0,accepted=0,quarantined=0,prev=25 (lvb2b#3) | resolved 2026-05-02 |
| 2026-04-29 05:25 UTC | Freightos Baltic Index freightos_fbx | critical | verdict=red · age=0min · accepted=0 · quarantined=0 · catastrophic:rows_accepted=0 | fetched=0,accepted=0,quarantined=0,prev=13 (lvb2b#2) | resolved 2026-04-30 |
| 2026-04-26 04:57 UTC | Freightos Baltic Index freightos_fbx | critical | verdict=red · age=0min · accepted=0 · quarantined=0 · catastrophic:rows_accepted=0 | fetched=0,accepted=0,quarantined=0,prev=13 (lvb2b#1) | resolved 2026-04-27 |
Where this dashboard comes from
Source catalog, FOB panel rules, Trust Score formula, ranking weights, fraud-case verification protocol, corrections policy.
Read full methodology →Funding model, no-paid-rankings commitment, AI-assisted human-edited disclosure.
About · independence →Wrong price, stale supplier, disputed ranking, fraud case takedown — all logged publicly with before/after diff.
/contact