{"meta":{"path":"transits/backfill_status","ts":"2026-06-02T07:52:28+00:00","status":"ok","rows":79,"request_id":"06d993ae3ace5941"},"data":{"generated_at":"2026-06-02T07:52:29+00:00","queue":{"status":"completed","started_at":"2026-06-02T07:47:01+00:00","updated_at":"2026-06-02T07:47:01+00:00","finished_at":"2026-06-02T07:47:01+00:00","pid":13415,"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":"idle","updated_age_hours":0.09,"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":1026121,"pending":5,"done":5,"with_history":77,"runtime_fresh":64,"runtime_stale":0,"charts_current":77,"charts_stale":0,"earliest_first_day":"2024-03-13","latest_last_run_at":"2026-06-02T07:47:01+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-02","event_count":151782},"daily":{"first_day":"2024-03-13","last_day":"2026-06-02","row_count":20574,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:12:37","updated_at":"2026-06-02 03:12:37"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.66,"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-02T07:47:01+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":811,"covered_target_days":811,"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-02T07:47:01+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-02","event_count":115089},"daily":{"first_day":"2024-03-13","last_day":"2026-06-02","row_count":19532,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:47:18","updated_at":"2026-06-02 05:47:18"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.09,"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-02T07:47:01+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":811,"covered_target_days":811,"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-02T07:47:01+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-02","event_count":77159},"daily":{"first_day":"2024-03-13","last_day":"2026-06-02","row_count":15839,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:08:20","updated_at":"2026-06-02 01:08:20"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.74,"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-02T07:47:01+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":811,"covered_target_days":811,"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-02T07:47:01+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-01","event_count":30702},"daily":{"first_day":"2024-03-13","last_day":"2026-06-01","row_count":15421,"lag_days":1,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:52:27","updated_at":"2026-06-02 07:52:27"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0,"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-02T07:47:01+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":810,"covered_target_days":810,"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-02T07:47:01+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-02","event_count":27515},"daily":{"first_day":"2024-03-13","last_day":"2026-06-02","row_count":17220,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:48:22","updated_at":"2026-06-02 06:48:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.07,"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-02T07:47:01+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":811,"covered_target_days":811,"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-02T07:47:01+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-02","event_count":6698},"daily":{"first_day":"2026-01-18","last_day":"2026-06-02","row_count":2201,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:42:59","updated_at":"2026-06-02 03:42:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.16,"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":811,"covered_target_days":135,"progress_ratio":0.16646115906288533,"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-02","event_count":59837},"daily":{"first_day":"2026-02-13","last_day":"2026-06-02","row_count":2560,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:05:51","updated_at":"2026-06-02 01:05:51"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.78,"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":811,"covered_target_days":109,"progress_ratio":0.1344019728729963,"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-02","event_count":14242},"daily":{"first_day":"2026-02-13","last_day":"2026-06-02","row_count":2668,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:44:02","updated_at":"2026-06-02 04:44:02"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.14,"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":811,"covered_target_days":109,"progress_ratio":0.1344019728729963,"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-01","event_count":10214},"daily":{"first_day":"2026-02-13","last_day":"2026-06-01","row_count":2293,"lag_days":1,"freshness":"current"},"runtime_state":{"waterway_id":"taiwan","detector_version":"v1_gateway_compact_sparse_utc","config_version":"taiwan_v1_20260314","last_processed_ts":"2026-06-01 23:59:59","last_aggregate_ts":"2026-06-01 18:39:46","updated_at":"2026-06-01 18:39:46"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":13.21,"runtime_band":"aging","aggregate_band":"stale","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":810,"covered_target_days":108,"progress_ratio":0.13333333333333333,"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-02","event_count":21018},"daily":{"first_day":"2026-03-01","last_day":"2026-06-02","row_count":2398,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:33:36","updated_at":"2026-06-02 02:33:36"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.31,"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":811,"covered_target_days":93,"progress_ratio":0.11467324290998766,"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-02","event_count":45202},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1546,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:36:19","updated_at":"2026-06-02 06:36:19"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.27,"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":61,"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-02","event_count":32441},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1572,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:40:42","updated_at":"2026-06-02 07:40:42"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.2,"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":61,"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-02","event_count":23864},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1551,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:02:30","updated_at":"2026-06-02 03:02:30"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.83,"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":61,"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-02","event_count":18536},"daily":{"first_day":"2026-04-01","last_day":"2026-06-02","row_count":1474,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:35:09","updated_at":"2026-06-02 04:35:09"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.29,"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":62,"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":"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-01","event_count":15206},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1423,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 23:55:40","updated_at":"2026-06-01 23:55:40"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":7.95,"runtime_band":"aging","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":60,"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":"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-02","event_count":14246},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1520,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:57:37","updated_at":"2026-06-02 00:57:37"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.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":61,"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":"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-02","event_count":13920},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1452,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:34:07","updated_at":"2026-06-02 07:34:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.31,"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":61,"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-02","event_count":13750},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1215,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:09:35","updated_at":"2026-06-02 02:09:35"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.72,"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":61,"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":"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-02","event_count":13195},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1529,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:20:59","updated_at":"2026-06-02 00:20:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.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":61,"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":"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-02","event_count":12589},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":866,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:48:38","updated_at":"2026-06-02 02:48:38"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.06,"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":61,"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":"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-02","event_count":12056},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1451,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:22:07","updated_at":"2026-06-02 07:22:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.51,"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":61,"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-02","event_count":11333},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1357,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:43:19","updated_at":"2026-06-02 06:43:19"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.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":61,"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-01","event_count":11305},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1414,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-02 00:01:31","updated_at":"2026-06-02 00:01:31"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":7.85,"runtime_band":"aging","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":60,"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":"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-02","event_count":10691},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1502,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:58:35","updated_at":"2026-06-02 06:58:35"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.9,"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":61,"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":"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-02","event_count":10490},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1142,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:29:24","updated_at":"2026-06-02 06:29:24"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.38,"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":61,"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-02","event_count":10031},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1304,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:13:13","updated_at":"2026-06-02 00:13:13"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.65,"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":61,"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":"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-01","event_count":9929},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1260,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 23:39:17","updated_at":"2026-06-01 23:39:17"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":8.22,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-01","event_count":8943},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1354,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:57:02","updated_at":"2026-06-01 18:57:02"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":12.92,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":8790},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1385,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:52:22","updated_at":"2026-06-02 00:52:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7,"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":61,"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-02","event_count":8726},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1413,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:57:23","updated_at":"2026-06-02 01:57:23"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.92,"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":61,"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":"skagerrak","name":"Skagerrak","kind":"strait","config_version":"skagerrak_v1_20260405"},"history":{"first_day":"2026-03-30","last_day":"2026-06-02","event_count":8591},"daily":{"first_day":"2026-03-30","last_day":"2026-06-02","row_count":1539,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:45:40","updated_at":"2026-06-02 07:45:40"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.11,"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":64,"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":"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-02","event_count":8238},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1404,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:58:27","updated_at":"2026-06-02 03:58:27"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.9,"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":61,"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":"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-02","event_count":8224},"daily":{"first_day":"2026-04-01","last_day":"2026-06-02","row_count":1505,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:29:59","updated_at":"2026-06-02 01:29:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.38,"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":62,"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":"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-02","event_count":7925},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1127,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:03:01","updated_at":"2026-06-02 02:03:01"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.82,"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":61,"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-02","event_count":7905},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1194,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:05:48","updated_at":"2026-06-02 05:05:48"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.78,"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":61,"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":"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-02","event_count":7246},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1226,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:40:07","updated_at":"2026-06-02 03:40:07"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.21,"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":61,"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":"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-02","event_count":7154},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1393,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:14:40","updated_at":"2026-06-02 01:14:40"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.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":61,"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-02","event_count":6773},"daily":{"first_day":"2026-04-01","last_day":"2026-06-02","row_count":1338,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:17:43","updated_at":"2026-06-02 02:17:43"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":5.58,"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":62,"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":"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-01","event_count":6662},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1249,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 19:00:50","updated_at":"2026-06-01 19:00:50"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":12.86,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-01","event_count":6548},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1129,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:49:30","updated_at":"2026-06-01 18:49:30"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":13.05,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":6350},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1300,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:59:22","updated_at":"2026-06-02 04:59:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.89,"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":61,"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":"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-01","event_count":6298},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1205,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:53:12","updated_at":"2026-06-01 18:53:12"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":12.99,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":6277},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1270,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:23:34","updated_at":"2026-06-02 03:23:34"},"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":61,"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-01","event_count":6181},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1244,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 23:31:00","updated_at":"2026-06-01 23:31:00"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":8.36,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":5982},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1179,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:29:32","updated_at":"2026-06-02 03:29:32"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.38,"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":61,"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-02","event_count":5880},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1341,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:00:32","updated_at":"2026-06-02 06:00:32"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.87,"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":61,"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":"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-02","event_count":5874},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1323,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:48:08","updated_at":"2026-06-02 00:48:08"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.07,"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":61,"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":"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-01","event_count":5812},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1124,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 19:05:49","updated_at":"2026-06-01 19:05:49"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":12.78,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":5653},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1366,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:05:34","updated_at":"2026-06-02 04:05:34"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.78,"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":61,"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":"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-02","event_count":5336},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1316,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 02:56:22","updated_at":"2026-06-02 02:56:22"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.94,"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":61,"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":"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-02","event_count":5214},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1296,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:06:21","updated_at":"2026-06-02 00:06:21"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.77,"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":61,"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":"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-02","event_count":4995},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":757,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:48:21","updated_at":"2026-06-02 03:48:21"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.07,"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":61,"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":"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-02","event_count":4798},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1295,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:54:25","updated_at":"2026-06-02 04:54:25"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.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":61,"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":"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-01","event_count":4697},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1258,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 23:24:20","updated_at":"2026-06-01 23:24:20"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":8.47,"runtime_band":"aging","aggregate_band":"stale","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":60,"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-02","event_count":4602},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1252,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:13:45","updated_at":"2026-06-02 04:13:45"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.65,"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":61,"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":"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-02","event_count":4314},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1300,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:53:32","updated_at":"2026-06-02 03:53:32"},"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":61,"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":"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-02","event_count":4212},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1183,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:35:38","updated_at":"2026-06-02 03:35:38"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.28,"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":61,"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":"tsugaru_strait","name":"Tsugaru Strait","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-04-01","last_day":"2026-06-01","event_count":3975},"daily":{"first_day":"2026-04-01","last_day":"2026-06-01","row_count":1389,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:45:36","updated_at":"2026-06-01 18:45:36"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":13.11,"runtime_band":"aging","aggregate_band":"stale","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":61,"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":"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-02","event_count":3719},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1196,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 07:07:11","updated_at":"2026-06-02 07:07:11"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":0.76,"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":61,"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-02","event_count":3673},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1256,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:38:04","updated_at":"2026-06-02 00:38:04"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.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":61,"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-01","event_count":3456},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1176,"lag_days":1,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:22:47","updated_at":"2026-06-02 01:22:47"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.5,"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":60,"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-01","event_count":3250},"daily":{"first_day":"2026-04-01","last_day":"2026-06-01","row_count":1290,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:36:06","updated_at":"2026-06-01 18:36:06"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":13.27,"runtime_band":"aging","aggregate_band":"stale","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":61,"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-01","event_count":2798},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":1081,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 23:49:09","updated_at":"2026-06-01 23:49:09"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":8.06,"runtime_band":"aging","aggregate_band":"stale","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":60,"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":"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-02","event_count":2476},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1114,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:22:34","updated_at":"2026-06-02 06:22:34"},"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":61,"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-02","event_count":2456},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1043,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 03:08:20","updated_at":"2026-06-02 03:08:20"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":4.74,"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":61,"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-02","event_count":2236},"daily":{"first_day":"2026-03-30","last_day":"2026-06-02","row_count":1054,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:54:39","updated_at":"2026-06-02 05:54:39"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.96,"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":64,"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":"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-02","event_count":2228},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":843,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:16:52","updated_at":"2026-06-02 05:16:52"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.59,"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":61,"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":"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-02","event_count":1985},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":1019,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:07:25","updated_at":"2026-06-02 06:07:25"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.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":61,"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":"lombok_strait","name":"Lombok Strait","kind":"strait","config_version":"lombok_strait_v1_20260405"},"history":{"first_day":"2026-03-07","last_day":"2026-06-02","event_count":1673},"daily":{"first_day":"2026-03-30","last_day":"2026-06-02","row_count":812,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:33:25","updated_at":"2026-06-02 05:33:25"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.32,"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":87,"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":"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-02","event_count":1618},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":944,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:42:21","updated_at":"2026-06-02 01:42:21"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.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":61,"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":"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-02","event_count":1549},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":857,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:50:49","updated_at":"2026-06-02 01:50:49"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.03,"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":61,"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-02","event_count":668},"daily":{"first_day":"2026-04-02","last_day":"2026-06-02","row_count":543,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 06:14:49","updated_at":"2026-06-02 06:14:49"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":1.63,"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":61,"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-01","event_count":459},"daily":{"first_day":"2026-03-07","last_day":"2026-06-01","row_count":826,"lag_days":1,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 00:42:33","updated_at":"2026-06-02 00:42:33"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":7.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":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_bab_el_mandeb.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-01","event_count":318},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":376,"lag_days":1,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:49:59","updated_at":"2026-06-02 04:49:59"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.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":60,"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":"torres_strait","name":"Torres Strait","kind":"strait","config_version":"torres_strait_v1_20260405"},"history":{"first_day":"2026-03-30","last_day":"2026-06-01","event_count":296},"daily":{"first_day":"2026-03-30","last_day":"2026-06-01","row_count":509,"lag_days":1,"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-01 23:59:59","last_aggregate_ts":"2026-06-01 18:42:11","updated_at":"2026-06-01 18:42:11"},"freshness":{"processed_age_hours":7.88,"aggregate_age_hours":13.17,"runtime_band":"aging","aggregate_band":"stale","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":63,"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":"kara_gates","name":"Kara Gates","kind":"strait","config_version":"wave_b_seed_v1_bbox"},"history":{"first_day":"2026-05-02","last_day":"2026-06-02","event_count":33},"daily":{"first_day":"2026-05-02","last_day":"2026-06-02","row_count":103,"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:26:02","updated_at":"2026-06-02 04:26:02"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.44,"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":31,"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-01","event_count":15},"daily":{"first_day":"2026-04-02","last_day":"2026-06-01","row_count":48,"lag_days":1,"freshness":"current"},"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-02 23:59:59","last_aggregate_ts":"2026-06-02 04:40:21","updated_at":"2026-06-02 04:40:21"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":3.2,"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":60,"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":"","last_day":"","event_count":0},"daily":{"first_day":"","last_day":"","row_count":0,"lag_days":null,"freshness":"unknown"},"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-02 23:59:59","last_aggregate_ts":"2026-06-02 01:02:13","updated_at":"2026-06-02 01:02:13"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":6.84,"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_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-02 23:59:59","last_aggregate_ts":"2026-06-02 05:51:40","updated_at":"2026-06-02 05:51:40"},"freshness":{"processed_age_hours":0,"aggregate_age_hours":2.01,"runtime_band":"fresh","aggregate_band":"fresh","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":[]}