{"counts":{"oil_trade_flows":22993,"sanctions":19601,"sanctions_vessels":1540,"vessels":555,"oil_prices":10176,"vessel_emissions":89711,"emissions_unique_vessels":22543,"sanctioned_at_eu_ports":498,"commodity_prices":841,"lng_trade_flows":212,"lng_carriers":1214,"grain_trade_flows":1262,"bulk_carriers":10070,"ore_trade_flows":96,"coal_trade_flows":226,"ais_positions":169569,"chokepoint_traffic":33},"sources":{"eia_flows":18057,"eurostat_flows":1421,"ofac_sanctions":19329,"un_sanctions":272,"eu_mrv_emissions":89704},"db_path":"/var/www/ship.rootz.global/data/shipping.db","freshness":{"generated_at":"2026-09-09T03:36:51.607Z","summary":{"ok":18,"stale":1,"empty":2},"legend":{"ok":"pipeline ran on schedule and the newest record is within the expected lag","_clock":"which signal the pipeline status came from: job:<name> = the puller reported completing (trusted, and immune to deduped writes that insert no rows); oldest <col> = a rolling refresh, measured by its oldest row; newest <col> = a row arrived recently","lagging":"our pipeline is healthy; the upstream source has not published anything newer","stale":"our pipeline has not delivered on schedule — treat this dataset with caution","empty":"we advertise this dataset but currently hold no rows for it","unknown":"this table carries no refresh timestamp, so we cannot verify it is current","missing":"table not present in this database"},"datasets":[{"key":"oil_prices","status":"ok","rows":10176,"refresh_age_days":0,"record_age_days":8},{"key":"commodity_prices","status":"ok","rows":841,"refresh_age_days":0,"record_age_days":8},{"key":"sanctions","status":"ok","rows":19601,"refresh_age_days":0,"record_age_days":null},{"key":"vessel_positions","status":"ok","rows":169569,"refresh_age_days":0,"record_age_days":0},{"key":"vessel_loitering","status":"ok","rows":218142,"refresh_age_days":0,"record_age_days":4},{"key":"ais_dark_events","status":"ok","rows":2456,"refresh_age_days":0,"record_age_days":35},{"key":"port_visits","status":"ok","rows":671782,"refresh_age_days":0,"record_age_days":4},{"key":"pi_insurance","status":"ok","rows":3547,"refresh_age_days":0,"record_age_days":null},{"key":"uscg_vessels","status":"ok","rows":13589,"refresh_age_days":20,"record_age_days":null},{"key":"cii_ratings","status":"ok","rows":61343,"refresh_age_days":3,"record_age_days":null},{"key":"vessel_history","status":"ok","rows":7529,"refresh_age_days":3,"record_age_days":null},{"key":"vessel_emissions","status":"ok","rows":89711,"refresh_age_days":130,"record_age_days":617},{"key":"oil_trade_flows","status":"ok","rows":22993,"refresh_age_days":5,"record_age_days":221},{"key":"world_ports","status":"ok","rows":2951,"refresh_age_days":8,"record_age_days":null},{"key":"port_sites","status":"ok","rows":2951,"refresh_age_days":0,"record_age_days":null},{"key":"port_calls","status":"ok","rows":445,"refresh_age_days":0,"record_age_days":0},{"key":"apcis_inspections","status":"ok","rows":50,"refresh_age_days":6,"record_age_days":null},{"key":"apcis_ship_detail","status":"ok","rows":48,"refresh_age_days":6,"record_age_days":null},{"key":"chokepoint_traffic","status":"stale","rows":33,"refresh_age_days":122,"record_age_days":132,"reason":"last refreshed 122d ago (expected within 40d) and newest record is 132d old"},{"key":"psc_inspections","status":"empty","rows":0,"refresh_age_days":null,"record_age_days":null,"reason":"no rows — the weekly Sun 02:00 + monthly job produces nothing"},{"key":"cargo_manifests","status":"empty","rows":0,"refresh_age_days":null,"record_age_days":null,"reason":"no rows — the weekly Mon 06:00 UTC job produces nothing"}]}}