{"meta":{"path":"transits/backfill_status","ts":"2026-06-26T22:09:55+00:00","status":"ok","rows":79,"request_id":"5f15db9ebff02090"},"data":{"generated_at":"2026-06-26T22:09:56+00:00","queue":{"status":"completed","started_at":"2026-06-05T09:47:01+00:00","updated_at":"2026-06-05T09:47:02+00:00","finished_at":"2026-06-05T09:47:02+00:00","pid":7403,"waterways":"suez panama bosphorus gibraltar malacca","window_days":7,"chunk_days":2,"passes_per_waterway":6,"max_waterways_per_run":1,"processed_waterways":0,"done_waterways":5,"lock_file":"/tmp/topos_waterway_history_backfill.lock","state_dir":"/var/www/shipinfo.net/topos/data/processed/transits","note":"queue_end","runtime_band":"quiet","updated_age_hours":516.38,"plan":{"ordered_waterways":["suez","panama","bosphorus","gibraltar","malacca"],"items":[{"waterway_id":"suez","name":"Suez Canal","status":"done","remaining_windows":0,"first_day":"2024-03-13","floor_day":"2024-03-13","eta_at":"","windows_per_hour":null,"projected_start_at":"","projected_finish_at":""},{"waterway_id":"panama","name":"Panama Canal","status":"done","remaining_windows":0,"first_day":"2024-03-13","floor_day":"2024-03-13","eta_at":"","windows_per_hour":null,"projected_start_at":"","projected_finish_at":""},{"waterway_id":"bosphorus","name":"Bosphorus Strait","status":"done","remaining_windows":0,"first_day":"2024-03-13","floor_day":"2024-03-13","eta_at":"","windows_per_hour":null,"projected_start_at":"","projected_finish_at":""},{"waterway_id":"gibraltar","name":"Strait of Gibraltar","status":"done","remaining_windows":0,"first_day":"2024-03-13","floor_day":"2024-03-13","eta_at":"","windows_per_hour":null,"projected_start_at":"","projected_finish_at":""},{"waterway_id":"malacca","name":"Strait of Malacca","status":"done","remaining_windows":0,"first_day":"2024-03-13","floor_day":"2024-03-13","eta_at":"","windows_per_hour":null,"projected_start_at":"","projected_finish_at":""}],"current_target":"","next_target":"","current_target_eta_at":"","next_target_start_at":"","baseline_windows_per_hour":null,"pending_waterways":[],"done_waterways_list":["suez","panama","bosphorus","gibraltar","malacca"],"total_items":5,"pending_count":0,"done_count":5,"completion_ratio":1,"pending_windows_total":0,"projected_queue_start_at":"","projected_queue_done_at":"","projected_queue_hours_remaining":null}},"summary":{"waterways":79,"events":1310248,"pending":5,"done":5,"with_history":78,"runtime_fresh":79,"runtime_stale":0,"charts_current":76,"charts_stale":1,"earliest_first_day":"2024-03-13","latest_last_run_at":"2026-06-05T09:47:02+00:00"},"rows":[{"waterway":{"waterway_id":"gibraltar","name":"Strait of Gibraltar","kind":"strait","config_version":"gibraltar_v1_20260312"},"history":{"first_day":"2024-03-13","last_day":"2026-06-26","event_count":157612},"daily":{"first_day":"2024-03-13","last_day":"2026-06-26","row_count":21169,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"gibraltar","detector_version":"v1_gateway_compact_sparse_utc","config_version":"gibraltar_v1_20260312","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:35:04","updated_at":"2026-06-26 17:35:04"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.58,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"done","floor_day":"2024-03-13","cursor_to_day":"2024-03-12","window_days":7,"chunk_days":2,"last_run_at":"2026-06-05T09:47:02+00:00","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":0,"remaining_windows":0,"target_span_days":835,"covered_target_days":835,"progress_ratio":1,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-06-05T09:47:02+00:00","waterway_id":"gibraltar","passes_per_waterway":6,"status":"done","floor_day":"2024-03-13","min_day_after":"2024-03-13","last_from_day":"","last_to_day":"","last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"remaining_days":0,"remaining_windows":0}],"state_file":"data/processed/transits/history_backfill_gibraltar.json"}},{"waterway":{"waterway_id":"malacca","name":"Strait of Malacca","kind":"strait","config_version":"malacca_v1_20260312"},"history":{"first_day":"2024-03-13","last_day":"2026-06-26","event_count":120569},"daily":{"first_day":"2024-03-13","last_day":"2026-06-26","row_count":20142,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"malacca","detector_version":"v1_gateway_compact_sparse_utc","config_version":"malacca_v1_20260312","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:48:51","updated_at":"2026-06-26 18:48:51"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.35,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"done","floor_day":"2024-03-13","cursor_to_day":"2024-03-12","window_days":7,"chunk_days":2,"last_run_at":"2026-06-05T09:47:02+00:00","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":0,"remaining_windows":0,"target_span_days":835,"covered_target_days":835,"progress_ratio":1,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-06-05T09:47:02+00:00","waterway_id":"malacca","passes_per_waterway":6,"status":"done","floor_day":"2024-03-13","min_day_after":"2024-03-13","last_from_day":"","last_to_day":"","last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"remaining_days":0,"remaining_windows":0}],"state_file":"data/processed/transits/history_backfill_malacca.json"}},{"waterway":{"waterway_id":"bosphorus","name":"Bosphorus Strait","kind":"strait","config_version":"bosphorus_v1_20260312"},"history":{"first_day":"2024-03-13","last_day":"2026-06-26","event_count":79511},"daily":{"first_day":"2024-03-13","last_day":"2026-06-26","row_count":16322,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"bosphorus","detector_version":"v1_gateway_compact_sparse_utc","config_version":"bosphorus_v1_20260312","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:33:28","updated_at":"2026-06-26 16:33:28"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.61,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"done","floor_day":"2024-03-13","cursor_to_day":"2024-03-12","window_days":7,"chunk_days":2,"last_run_at":"2026-06-05T09:47:02+00:00","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":0,"remaining_windows":0,"target_span_days":835,"covered_target_days":835,"progress_ratio":1,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-06-05T09:47:02+00:00","waterway_id":"bosphorus","passes_per_waterway":6,"status":"done","floor_day":"2024-03-13","min_day_after":"2024-03-13","last_from_day":"","last_to_day":"","last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"remaining_days":0,"remaining_windows":0}],"state_file":"data/processed/transits/history_backfill_bosphorus.json"}},{"waterway":{"waterway_id":"suez","name":"Suez Canal","kind":"canal","config_version":"suez_v2_20260314_gateway_b_trim"},"history":{"first_day":"2024-03-13","last_day":"2026-06-26","event_count":32336},"daily":{"first_day":"2024-03-13","last_day":"2026-06-26","row_count":15894,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"suez","detector_version":"v1_gateway_compact_sparse_utc","config_version":"suez_v2_20260314_gateway_b_trim","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:08:14","updated_at":"2026-06-26 20:08:14"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.03,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"done","floor_day":"2024-03-13","cursor_to_day":"2024-03-12","window_days":7,"chunk_days":2,"last_run_at":"2026-06-05T09:47:02+00:00","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":0,"remaining_windows":0,"target_span_days":835,"covered_target_days":835,"progress_ratio":1,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-06-05T09:47:02+00:00","waterway_id":"suez","passes_per_waterway":6,"status":"done","floor_day":"2024-03-13","min_day_after":"2024-03-13","last_from_day":"","last_to_day":"","last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"remaining_days":0,"remaining_windows":0}],"state_file":"data/processed/transits/history_backfill_suez.json"}},{"waterway":{"waterway_id":"panama","name":"Panama Canal","kind":"canal","config_version":"panama_v1_20260312"},"history":{"first_day":"2024-03-13","last_day":"2026-06-26","event_count":28655},"daily":{"first_day":"2024-03-13","last_day":"2026-06-26","row_count":17743,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"panama","detector_version":"v1_gateway_compact_sparse_utc","config_version":"panama_v1_20260312","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:31:46","updated_at":"2026-06-26 19:31:46"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.64,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"done","floor_day":"2024-03-13","cursor_to_day":"2024-03-12","window_days":7,"chunk_days":2,"last_run_at":"2026-06-05T09:47:02+00:00","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":0,"remaining_windows":0,"target_span_days":835,"covered_target_days":835,"progress_ratio":1,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-06-05T09:47:02+00:00","waterway_id":"panama","passes_per_waterway":6,"status":"done","floor_day":"2024-03-13","min_day_after":"2024-03-13","last_from_day":"","last_to_day":"","last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"remaining_days":0,"remaining_windows":0}],"state_file":"data/processed/transits/history_backfill_panama.json"}},{"waterway":{"waterway_id":"hormuz","name":"Strait of Hormuz","kind":"strait","config_version":"hormuz_v2_20260314"},"history":{"first_day":"2026-01-18","last_day":"2026-06-26","event_count":7243},"daily":{"first_day":"2026-01-18","last_day":"2026-06-26","row_count":2545,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"hormuz","detector_version":"v1_gateway_compact_sparse_utc","config_version":"hormuz_v2_20260314","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:50:23","updated_at":"2026-06-26 17:50:23"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.33,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"pending","floor_day":"2024-03-13","cursor_to_day":"2026-01-17","window_days":7,"chunk_days":2,"last_run_at":"2026-03-22T19:33:57+00:00","last_from_day":"2026-01-18","last_to_day":"2026-01-24","last_detected":502,"last_inserted":502,"last_updated":0,"last_attempted":0,"last_rows_written":163,"coverage_advanced":true,"dry_run":false,"remaining_days":676,"remaining_windows":97,"target_span_days":835,"covered_target_days":159,"progress_ratio":0.19041916167664671,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[{"captured_at":"2026-03-22T19:33:57+00:00","waterway_id":"hormuz","passes_per_waterway":6,"status":"pending","floor_day":"2024-03-13","min_day_after":"2026-01-18","last_from_day":"2026-01-18","last_to_day":"2026-01-24","last_inserted":502,"last_updated":0,"last_attempted":0,"last_rows_written":163,"coverage_advanced":true,"remaining_days":676,"remaining_windows":97}],"state_file":"data/processed/transits/history_backfill_hormuz.json"}},{"waterway":{"waterway_id":"bohai","name":"Bohai Strait","kind":"strait","config_version":"bohai_v1_20260314"},"history":{"first_day":"2026-02-13","last_day":"2026-06-26","event_count":69664},"daily":{"first_day":"2026-02-13","last_day":"2026-06-26","row_count":3138,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"bohai","detector_version":"v1_gateway_compact_sparse_utc","config_version":"bohai_v1_20260314","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:30:29","updated_at":"2026-06-26 16:30:29"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.66,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"pending","floor_day":"2024-03-13","cursor_to_day":"2026-03-13","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":702,"remaining_windows":101,"target_span_days":835,"covered_target_days":133,"progress_ratio":0.1592814371257485,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_bohai.json"}},{"waterway":{"waterway_id":"korea","name":"Korea Strait","kind":"strait","config_version":"korea_v1_20260314"},"history":{"first_day":"2026-02-13","last_day":"2026-06-26","event_count":17490},"daily":{"first_day":"2026-02-13","last_day":"2026-06-26","row_count":3256,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"korea","detector_version":"v1_gateway_compact_sparse_utc","config_version":"korea_v1_20260314","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:24:59","updated_at":"2026-06-26 18:24:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.75,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"pending","floor_day":"2024-03-13","cursor_to_day":"2026-03-13","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":702,"remaining_windows":101,"target_span_days":835,"covered_target_days":133,"progress_ratio":0.1592814371257485,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_korea.json"}},{"waterway":{"waterway_id":"taiwan","name":"Taiwan Strait","kind":"strait","config_version":"taiwan_v1_20260314"},"history":{"first_day":"2026-02-13","last_day":"2026-06-26","event_count":13035},"daily":{"first_day":"2026-02-13","last_day":"2026-06-26","row_count":2841,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"taiwan","detector_version":"v1_gateway_compact_sparse_utc","config_version":"taiwan_v1_20260314","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:16:04","updated_at":"2026-06-26 20:16:04"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.9,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"pending","floor_day":"2024-03-13","cursor_to_day":"2026-03-13","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":702,"remaining_windows":101,"target_span_days":835,"covered_target_days":133,"progress_ratio":0.1592814371257485,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_taiwan.json"}},{"waterway":{"waterway_id":"dover","name":"Strait of Dover","kind":"strait","config_version":"dover_v2_20260314"},"history":{"first_day":"2026-03-01","last_day":"2026-06-26","event_count":26609},"daily":{"first_day":"2026-03-01","last_day":"2026-06-26","row_count":3016,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"dover","detector_version":"v1_gateway_compact_sparse_utc","config_version":"dover_v2_20260314","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:19:29","updated_at":"2026-06-26 17:19:29"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.84,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"pending","floor_day":"2024-03-13","cursor_to_day":"2026-02-28","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":718,"remaining_windows":103,"target_span_days":835,"covered_target_days":117,"progress_ratio":0.14011976047904193,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_dover.json"}},{"waterway":{"waterway_id":"north_sea_central_gate","name":"North Sea Central Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step67"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":65281},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2165,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"north_sea_central_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step67","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:22:19","updated_at":"2026-06-26 19:22:19"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.79,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_north_sea_central_gate.json"}},{"waterway":{"waterway_id":"singapore_malacca_piracy_watch","name":"Singapore-Malacca Piracy Watch","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":45576},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2202,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"singapore_malacca_piracy_watch","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:01:12","updated_at":"2026-06-26 20:01:12"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.15,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_singapore_malacca_piracy_watch.json"}},{"waterway":{"waterway_id":"english_channel_west","name":"English Channel West","kind":"strait","config_version":"wave_b_seed_v1_manual_step53"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":35330},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2163,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"english_channel_west","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step53","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:29:48","updated_at":"2026-06-26 17:29:48"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.67,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_english_channel_west.json"}},{"waterway":{"waterway_id":"kattegat","name":"Kattegat","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-01","last_day":"2026-06-26","event_count":28073},"daily":{"first_day":"2026-04-01","last_day":"2026-06-26","row_count":2045,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"kattegat","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:19:22","updated_at":"2026-06-26 18:19:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.84,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":86,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_kattegat.json"}},{"waterway":{"waterway_id":"east_adriatic_gate","name":"East Adriatic Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step83"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":22538},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1225,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"east_adriatic_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step83","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:22:28","updated_at":"2026-06-26 17:22:28"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.79,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_east_adriatic_gate.json"}},{"waterway":{"waterway_id":"aegean_east_gate","name":"Aegean East Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step81"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":21705},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2010,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"aegean_east_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step81","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:34:54","updated_at":"2026-06-26 21:34:54"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.58,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_aegean_east_gate.json"}},{"waterway":{"waterway_id":"sicily_south_gate","name":"Sicily South Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step65"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":21019},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2020,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"sicily_south_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step65","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:55:59","updated_at":"2026-06-26 19:55:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.23,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_sicily_south_gate.json"}},{"waterway":{"waterway_id":"danish_belts_west","name":"Danish Belts West","kind":"strait","config_version":"wave_b_seed_v1_manual_step53"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":20596},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1706,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"danish_belts_west","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step53","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:15:04","updated_at":"2026-06-26 17:15:04"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.91,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_danish_belts_west.json"}},{"waterway":{"waterway_id":"bay_of_biscay_gate","name":"Bay of Biscay Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step65"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":20161},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2128,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"bay_of_biscay_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step65","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 22:08:48","updated_at":"2026-06-26 22:08:48"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.02,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_bay_of_biscay_gate.json"}},{"waterway":{"waterway_id":"alboran_gate","name":"Alboran Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step57"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":18831},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2150,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"alboran_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step57","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:48:32","updated_at":"2026-06-26 21:48:32"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.36,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_alboran_gate.json"}},{"waterway":{"waterway_id":"sicily_channel","name":"Sicily Channel","kind":"strait","config_version":"wave_b_seed_v1_manual_step51"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":18196},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2018,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"sicily_channel","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step51","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:50:19","updated_at":"2026-06-26 19:50:19"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.33,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_sicily_channel.json"}},{"waterway":{"waterway_id":"norwegian_trench_gate","name":"Norwegian Trench Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step69"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":16904},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1912,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"norwegian_trench_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step69","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:27:15","updated_at":"2026-06-26 19:27:15"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.71,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_norwegian_trench_gate.json"}},{"waterway":{"waterway_id":"aegean_north_gate","name":"Aegean North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step73"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":16106},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1996,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"aegean_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step73","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:38:13","updated_at":"2026-06-26 21:38:13"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.53,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_aegean_north_gate.json"}},{"waterway":{"waterway_id":"north_channel_gate","name":"North Channel Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step71"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":15906},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1604,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"north_channel_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step71","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:16:51","updated_at":"2026-06-26 19:16:51"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.88,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_north_channel_gate.json"}},{"waterway":{"waterway_id":"aegean_west_gate","name":"Aegean West Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step77"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":15299},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1811,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"aegean_west_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step77","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:44:52","updated_at":"2026-06-26 21:44:52"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.42,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_aegean_west_gate.json"}},{"waterway":{"waterway_id":"sardinia_channel_gate","name":"Sardinia Channel Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step75"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":15298},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":2081,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"sardinia_channel_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step75","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:38:07","updated_at":"2026-06-26 19:38:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.53,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_sardinia_channel_gate.json"}},{"waterway":{"waterway_id":"adriatic_north_gate","name":"Adriatic North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step73"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":14634},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1786,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"adriatic_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step73","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:28:22","updated_at":"2026-06-26 21:28:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.69,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_adriatic_north_gate.json"}},{"waterway":{"waterway_id":"corsica_channel_gate","name":"Corsica Channel Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step77"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":13068},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1599,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"corsica_channel_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step77","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:11:41","updated_at":"2026-06-26 17:11:41"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.97,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_corsica_channel_gate.json"}},{"waterway":{"waterway_id":"ligurian_gate","name":"Ligurian Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step71"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":13065},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1670,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"ligurian_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step71","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:38:57","updated_at":"2026-06-26 18:38:57"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.52,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_ligurian_gate.json"}},{"waterway":{"waterway_id":"balearic_north_gate","name":"Balearic North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step77"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":12998},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1913,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"balearic_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step77","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 22:03:43","updated_at":"2026-06-26 22:03:43"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.1,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_balearic_north_gate.json"}},{"waterway":{"waterway_id":"central_med_east_gate","name":"Central Med East Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step73"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":12718},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1984,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"central_med_east_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step73","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:07:28","updated_at":"2026-06-26 17:07:28"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.04,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_central_med_east_gate.json"}},{"waterway":{"waterway_id":"west_africa_gate","name":"West Africa Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step61"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":12480},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1910,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"west_africa_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step61","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:33:20","updated_at":"2026-06-26 20:33:20"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.61,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_west_africa_gate.json"}},{"waterway":{"waterway_id":"ionian_north_gate","name":"Ionian North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step75"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":12296},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1958,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"ionian_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step75","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:02:44","updated_at":"2026-06-26 18:02:44"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.12,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_ionian_north_gate.json"}},{"waterway":{"waterway_id":"skagerrak","name":"Skagerrak","kind":"strait","config_version":"skagerrak_v1_20260405"},"history":{"first_day":"2026-03-30","last_day":"2026-06-26","event_count":11747},"daily":{"first_day":"2026-03-30","last_day":"2026-06-26","row_count":2119,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"skagerrak","detector_version":"v1_gateway_compact_sparse_utc","config_version":"skagerrak_v1_20260405","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:04:39","updated_at":"2026-06-26 20:04:39"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.09,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":88,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_skagerrak.json"}},{"waterway":{"waterway_id":"cape_of_good_hope","name":"Cape of Good Hope","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-01","last_day":"2026-06-26","event_count":11622},"daily":{"first_day":"2026-04-01","last_day":"2026-06-26","row_count":2120,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"cape_of_good_hope","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:48:17","updated_at":"2026-06-26 16:48:17"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.36,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":86,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_cape_of_good_hope.json"}},{"waterway":{"waterway_id":"gulf_of_lions_gate","name":"Gulf of Lions Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step67"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":10948},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1694,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"gulf_of_lions_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step67","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:48:23","updated_at":"2026-06-26 17:48:23"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.36,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_gulf_of_lions_gate.json"}},{"waterway":{"waterway_id":"tyrrhenian_gate","name":"Tyrrhenian Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step75"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":10548},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1601,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"tyrrhenian_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step75","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:25:22","updated_at":"2026-06-26 20:25:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.74,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_tyrrhenian_gate.json"}},{"waterway":{"waterway_id":"west_tyrrhenian_gate","name":"West Tyrrhenian Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step79"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":10290},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1605,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"west_tyrrhenian_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step79","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:40:04","updated_at":"2026-06-26 20:40:04"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.5,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_west_tyrrhenian_gate.json"}},{"waterway":{"waterway_id":"west_ionian_gate","name":"West Ionian Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step79"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":10268},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1771,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"west_ionian_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step79","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:36:37","updated_at":"2026-06-26 20:36:37"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.56,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_west_ionian_gate.json"}},{"waterway":{"waterway_id":"canary_gate","name":"Canary Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step59"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":10130},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1933,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"canary_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step59","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:39:21","updated_at":"2026-06-26 16:39:21"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.51,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_canary_gate.json"}},{"waterway":{"waterway_id":"dardanelles","name":"Dardanelles Strait","kind":"strait","config_version":"wave_b_seed_v1_20260407"},"history":{"first_day":"2026-04-01","last_day":"2026-06-26","event_count":9630},"daily":{"first_day":"2026-04-01","last_day":"2026-06-26","row_count":1874,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"dardanelles","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_20260407","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:17:26","updated_at":"2026-06-26 17:17:26"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.88,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":86,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_dardanelles.json"}},{"waterway":{"waterway_id":"great_belt","name":"Great Belt","kind":"strait","config_version":"wave_b_seed_v1_manual_step51"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":9542},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1778,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"great_belt","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step51","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:37:44","updated_at":"2026-06-26 17:37:44"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.54,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_great_belt.json"}},{"waterway":{"waterway_id":"adriatic_mid_gate","name":"Adriatic Mid Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step81"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":9529},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1781,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"adriatic_mid_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step81","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:25:03","updated_at":"2026-06-26 21:25:03"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.75,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_adriatic_mid_gate.json"}},{"waterway":{"waterway_id":"western_med_north_gate","name":"Western Med North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step69"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":9516},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1695,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"western_med_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step69","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:29:16","updated_at":"2026-06-26 20:29:16"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.68,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_western_med_north_gate.json"}},{"waterway":{"waterway_id":"balearic_channel","name":"Balearic Channel","kind":"strait","config_version":"wave_b_seed_v1_manual_step55"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":9361},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1866,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"balearic_channel","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step55","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 22:00:02","updated_at":"2026-06-26 22:00:02"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.17,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_balearic_channel.json"}},{"waterway":{"waterway_id":"levant_south_gate","name":"Levant South Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step57"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":8932},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1806,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"levant_south_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step57","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:35:35","updated_at":"2026-06-26 18:35:35"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.57,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_levant_south_gate.json"}},{"waterway":{"waterway_id":"ionian_south_gate","name":"Ionian South Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step55"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":8425},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1911,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"ionian_south_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step55","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:06:43","updated_at":"2026-06-26 18:06:43"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.05,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_ionian_south_gate.json"}},{"waterway":{"waterway_id":"gulf_of_aden_somali_basin","name":"Gulf of Aden & Somali Basin (Piracy Risk)","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":8410},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1674,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"gulf_of_aden_somali_basin","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:40:58","updated_at":"2026-06-26 17:40:58"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.48,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_gulf_of_aden_somali_basin.json"}},{"waterway":{"waterway_id":"morocco_offshore_gate","name":"Morocco Offshore Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step63"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":8267},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1867,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"morocco_offshore_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step63","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:00:22","updated_at":"2026-06-26 19:00:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.16,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_morocco_offshore_gate.json"}},{"waterway":{"waterway_id":"aegean_south_gate","name":"Aegean South Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step55"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":7929},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1810,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"aegean_south_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step55","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:41:32","updated_at":"2026-06-26 21:41:32"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.47,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_aegean_south_gate.json"}},{"waterway":{"waterway_id":"east_med_central_gate","name":"East Med Central Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step61"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":7504},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1823,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"east_med_central_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step61","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:26:17","updated_at":"2026-06-26 17:26:17"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.73,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_east_med_central_gate.json"}},{"waterway":{"waterway_id":"iceland_approach_south","name":"Iceland Approach South","kind":"strait","config_version":"wave_b_seed_v1_manual_step69"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":7486},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1070,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"iceland_approach_south","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step69","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:54:44","updated_at":"2026-06-26 17:54:44"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.25,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_iceland_approach_south.json"}},{"waterway":{"waterway_id":"adriatic_entrance","name":"Adriatic Entrance","kind":"strait","config_version":"wave_b_seed_v1_manual_step53"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":7281},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1784,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"adriatic_entrance","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step53","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:21:36","updated_at":"2026-06-26 21:21:36"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.81,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_adriatic_entrance.json"}},{"waterway":{"waterway_id":"irish_approach_gate","name":"Irish Approach Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step67"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":6902},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1766,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"irish_approach_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step67","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:11:09","updated_at":"2026-06-26 18:11:09"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.98,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_irish_approach_gate.json"}},{"waterway":{"waterway_id":"levant_north_gate","name":"Levant North Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step59"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":6845},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1794,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"levant_north_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step59","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:32:26","updated_at":"2026-06-26 18:32:26"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.63,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_levant_north_gate.json"}},{"waterway":{"waterway_id":"ionian_central_gate","name":"Ionian Central Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step83"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":6442},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1814,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"ionian_central_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step83","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:58:52","updated_at":"2026-06-26 17:58:52"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.18,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_ionian_central_gate.json"}},{"waterway":{"waterway_id":"tsugaru_strait","name":"Tsugaru Strait","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-01","last_day":"2026-06-26","event_count":5778},"daily":{"first_day":"2026-04-01","last_day":"2026-06-26","row_count":1970,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"tsugaru_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:21:53","updated_at":"2026-06-26 20:21:53"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.8,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":86,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_tsugaru_strait.json"}},{"waterway":{"waterway_id":"gulf_of_guinea","name":"Gulf of Guinea (Piracy Risk)","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":5733},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1657,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"gulf_of_guinea","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:44:49","updated_at":"2026-06-26 17:44:49"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.42,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_gulf_of_guinea.json"}},{"waterway":{"waterway_id":"sicilian_approach_west","name":"Sicilian Approach West","kind":"strait","config_version":"wave_b_seed_v1_manual_step81"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":5645},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1659,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"sicilian_approach_west","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step81","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:43:54","updated_at":"2026-06-26 19:43:54"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.43,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_sicilian_approach_west.json"}},{"waterway":{"waterway_id":"azores_gate","name":"Azores Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step59"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":5093},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1734,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"azores_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step59","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:52:50","updated_at":"2026-06-26 21:52:50"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.29,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_azores_gate.json"}},{"waterway":{"waterway_id":"cape_bojador_gate","name":"Cape Bojador Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step61"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":4804},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1670,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"cape_bojador_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step61","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:44:07","updated_at":"2026-06-26 16:44:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.43,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_cape_bojador_gate.json"}},{"waterway":{"waterway_id":"sunda_strait","name":"Sunda Strait","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-01","last_day":"2026-06-26","event_count":4733},"daily":{"first_day":"2026-04-01","last_day":"2026-06-26","row_count":1849,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"sunda_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:11:37","updated_at":"2026-06-26 20:11:37"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.97,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":86,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_sunda_strait.json"}},{"waterway":{"waterway_id":"aegean_central_gate","name":"Aegean Central Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step79"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":4044},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1535,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"aegean_central_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step79","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:31:36","updated_at":"2026-06-26 21:31:36"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.64,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_aegean_central_gate.json"}},{"waterway":{"waterway_id":"ligurian_west_gate","name":"Ligurian West Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step83"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":3778},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1203,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"ligurian_west_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step83","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:42:30","updated_at":"2026-06-26 18:42:30"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.46,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_ligurian_west_gate.json"}},{"waterway":{"waterway_id":"north_atlantic_east_gate","name":"North Atlantic East Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step65"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":3567},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1627,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"north_atlantic_east_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step65","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:13:13","updated_at":"2026-06-26 19:13:13"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.95,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_north_atlantic_east_gate.json"}},{"waterway":{"waterway_id":"faroe_approach_gate","name":"Faroe Approach Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step71"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":3552},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1480,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"faroe_approach_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step71","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 17:33:08","updated_at":"2026-06-26 17:33:08"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.61,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_faroe_approach_gate.json"}},{"waterway":{"waterway_id":"messina_strait","name":"Strait of Messina","kind":"strait","config_version":"messina_strait_v1_20260405"},"history":{"first_day":"2026-03-30","last_day":"2026-06-26","event_count":3530},"daily":{"first_day":"2026-03-30","last_day":"2026-06-26","row_count":1442,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"messina_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"messina_strait_v1_20260405","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:55:28","updated_at":"2026-06-26 18:55:28"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.24,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":88,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_messina_strait.json"}},{"waterway":{"waterway_id":"mozambique_channel","name":"Mozambique Channel","kind":"strait","config_version":"wave_b_seed_v1_manual_step51"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":2680},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1428,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"mozambique_channel","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step51","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:05:08","updated_at":"2026-06-26 19:05:08"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.08,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_mozambique_channel.json"}},{"waterway":{"waterway_id":"cape_verde_gate","name":"Cape Verde Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step57"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":2289},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1324,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"cape_verde_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step57","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:54:20","updated_at":"2026-06-26 16:54:20"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.26,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_cape_verde_gate.json"}},{"waterway":{"waterway_id":"lombok_strait","name":"Lombok Strait","kind":"strait","config_version":"lombok_strait_v1_20260405"},"history":{"first_day":"2026-03-07","last_day":"2026-06-26","event_count":2209},"daily":{"first_day":"2026-03-30","last_day":"2026-06-26","row_count":1128,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"lombok_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"lombok_strait_v1_20260405","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:45:07","updated_at":"2026-06-26 18:45:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.41,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":111,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_lombok_strait.json"}},{"waterway":{"waterway_id":"central_atlantic_gate","name":"Central Atlantic Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step63"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":2031},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":1211,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"central_atlantic_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step63","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:59:32","updated_at":"2026-06-26 16:59:32"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.17,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_central_atlantic_gate.json"}},{"waterway":{"waterway_id":"northwestern_black_sea","name":"Northwestern Black Sea (Ukraine/Crimea/Russia)","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":908},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":796,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"northwestern_black_sea","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 19:08:40","updated_at":"2026-06-26 19:08:40"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.02,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_northwestern_black_sea.json"}},{"waterway":{"waterway_id":"bab_el_mandeb","name":"Bab el-Mandeb Strait","kind":"strait","config_version":"bab_el_mandeb_v1_20260405"},"history":{"first_day":"2026-03-07","last_day":"2026-06-26","event_count":582},"daily":{"first_day":"2026-03-07","last_day":"2026-06-26","row_count":1056,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"bab_el_mandeb","detector_version":"v1_gateway_compact_sparse_utc","config_version":"bab_el_mandeb_v1_20260405","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 21:55:39","updated_at":"2026-06-26 21:55:39"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.24,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":111,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_bab_el_mandeb.json"}},{"waterway":{"waterway_id":"torres_strait","name":"Torres Strait","kind":"strait","config_version":"torres_strait_v1_20260405"},"history":{"first_day":"2026-03-30","last_day":"2026-06-26","event_count":419},"daily":{"first_day":"2026-03-30","last_day":"2026-06-26","row_count":736,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"torres_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"torres_strait_v1_20260405","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 20:18:39","updated_at":"2026-06-26 20:18:39"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.85,"runtime_band":"fresh","aggregate_band":"fresh","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":88,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_torres_strait.json"}},{"waterway":{"waterway_id":"levant_east_gate","name":"Levant East Gate","kind":"strait","config_version":"wave_b_seed_v1_manual_step63"},"history":{"first_day":"2026-04-02","last_day":"2026-06-26","event_count":396},"daily":{"first_day":"2026-04-02","last_day":"2026-06-26","row_count":470,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"levant_east_gate","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_manual_step63","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:29:16","updated_at":"2026-06-26 18:29:16"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.68,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":85,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_levant_east_gate.json"}},{"waterway":{"waterway_id":"kara_gates","name":"Kara Gates","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-05-02","last_day":"2026-06-26","event_count":89},"daily":{"first_day":"2026-05-02","last_day":"2026-06-26","row_count":234,"lag_days":0,"freshness":"current"},"runtime_state":{"waterway_id":"kara_gates","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:15:20","updated_at":"2026-06-26 18:15:20"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.91,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"current"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":55,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_kara_gates.json"}},{"waterway":{"waterway_id":"kerch_strait","name":"Kerch Strait","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-02","last_day":"2026-06-23","event_count":31},"daily":{"first_day":"2026-04-02","last_day":"2026-06-23","row_count":94,"lag_days":3,"freshness":"delayed"},"runtime_state":{"waterway_id":"kerch_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:22:22","updated_at":"2026-06-26 18:22:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.79,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"delayed"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":82,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_kerch_strait.json"}},{"waterway":{"waterway_id":"bering_strait","name":"Bering Strait","kind":"strait","config_version":"wave_b_seed_v1_20260407"},"history":{"first_day":"2026-06-08","last_day":"2026-06-08","event_count":1},"daily":{"first_day":"2026-06-08","last_day":"2026-06-08","row_count":4,"lag_days":18,"freshness":"stale"},"runtime_state":{"waterway_id":"bering_strait","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_20260407","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 16:25:49","updated_at":"2026-06-26 16:25:49"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.74,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"stale"},"backfill":{"status":"live_only","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":0,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_bering_strait.json"}},{"waterway":{"waterway_id":"matotchkin_shar","name":"Matotchkin Shar","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"","last_day":"","event_count":0},"daily":{"first_day":"","last_day":"","row_count":0,"lag_days":null,"freshness":"unknown"},"runtime_state":{"waterway_id":"matotchkin_shar","detector_version":"v1_gateway_compact_sparse_utc","config_version":"wave_b_seed_v1_bbox","last_processed_ts":"2026-06-26 23:59:59","last_aggregate_ts":"2026-06-26 18:52:25","updated_at":"2026-06-26 18:52:25"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.29,"runtime_band":"fresh","aggregate_band":"aging","chart_band":"unknown"},"backfill":{"status":"idle","floor_day":"","cursor_to_day":"","window_days":7,"chunk_days":2,"last_run_at":"","last_from_day":"","last_to_day":"","last_detected":0,"last_inserted":0,"last_updated":0,"last_attempted":0,"last_rows_written":0,"coverage_advanced":false,"dry_run":false,"remaining_days":null,"remaining_windows":null,"target_span_days":null,"covered_target_days":null,"progress_ratio":null,"pace":{"observed_windows":0,"windows_per_hour":null,"avg_minutes_per_window":null,"observed_from_ts":null,"observed_to_ts":null,"eta_hours":null,"eta_at":null},"recent":[],"state_file":"data/processed/transits/history_backfill_matotchkin_shar.json"}}]},"errors":[]}