{
  "schema_version": 1,
  "session_id": "heavy_fog_small_vessel_multichannel",
  "generated_by": "review_bookmarks",
  "bookmark_count": 6,
  "bookmarks": [
    {
      "time_s": 7.0,
      "end_time_s": 9.0,
      "duration_s": 2.0,
      "label": "channel_dropout_window",
      "severity_label": "review_recommended",
      "title": "Channel dropout window",
      "summary": "EO unavailable for 2.0 s during replay review.",
      "review_focus": [
        "Inspect invalid-measurement intervals and dropout timing.",
        "Confirm remaining channels stayed usable for fusion."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [
        "eo_dropout"
      ],
      "related_transition_ids": [],
      "tags": [
        "dropout",
        "availability",
        "invalid_measurement"
      ],
      "bookmark_id": "bm_0001",
      "priority": 1,
      "anchor_id": "bookmark-bm_0001"
    },
    {
      "time_s": 0.0,
      "end_time_s": 2.0,
      "duration_s": 2.0,
      "label": "measurement_gap_window",
      "severity_label": "minor_degradation",
      "title": "Measurement gap window",
      "summary": "Warning interval persisted for 2.0 s with potential measurement-gap risk.",
      "review_focus": [
        "Review warning interval duration against expected geometry.",
        "Check whether gap timing affects downstream replay decisions."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [
        "baseline"
      ],
      "related_transition_ids": [],
      "tags": [
        "warning",
        "measurement_gap"
      ],
      "bookmark_id": "bm_0002",
      "priority": 2,
      "anchor_id": "bookmark-bm_0002"
    },
    {
      "time_s": 2.0,
      "end_time_s": 6.5,
      "duration_s": 4.5,
      "label": "agreement_warning_burst",
      "severity_label": "minor_degradation",
      "title": "Agreement warning burst",
      "summary": "Agreement warning persisted for 4.5 s during offset drift.",
      "review_focus": [
        "Review offset warning interval before disagreement escalation.",
        "Compare EO/IIR timing alignment."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [],
      "related_transition_ids": [],
      "tags": [
        "warning",
        "burst",
        "fusion"
      ],
      "bookmark_id": "bm_0003",
      "priority": 2,
      "anchor_id": "bookmark-bm_0003"
    },
    {
      "time_s": 2.0,
      "end_time_s": 7.0,
      "duration_s": 5.0,
      "label": "measurement_gap_window",
      "severity_label": "minor_degradation",
      "title": "Measurement gap window",
      "summary": "Warning interval persisted for 5.0 s with potential measurement-gap risk.",
      "review_focus": [
        "Review warning interval duration against expected geometry.",
        "Check whether gap timing affects downstream replay decisions."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [
        "heavy_fog"
      ],
      "related_transition_ids": [],
      "tags": [
        "warning",
        "measurement_gap"
      ],
      "bookmark_id": "bm_0004",
      "priority": 2,
      "anchor_id": "bookmark-bm_0004"
    },
    {
      "time_s": 9.0,
      "end_time_s": 12.0,
      "duration_s": 3.0,
      "label": "recovery_interval",
      "severity_label": "minor_degradation",
      "title": "Recovery interval",
      "summary": "Channel agreement recovered after prior degradation or disagreement.",
      "review_focus": [
        "Verify recovery timing against channel state transitions.",
        "Confirm post-recovery agreement before closing review."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [
        "recovery"
      ],
      "related_transition_ids": [],
      "tags": [
        "recovery",
        "agreement"
      ],
      "bookmark_id": "bm_0005",
      "priority": 3,
      "anchor_id": "bookmark-bm_0005"
    },
    {
      "time_s": 9.0,
      "end_time_s": 9.0,
      "duration_s": 0.0,
      "label": "recovery_transition",
      "severity_label": "minor_degradation",
      "title": "Recovery transition",
      "summary": "EO channel returned to available at 00:09.00.",
      "review_focus": [
        "Inspect channel state transition cause and timing.",
        "Relate transition to nearby event windows."
      ],
      "source_artifacts": [
        "review_narrative.json",
        "bookmarks.json"
      ],
      "related_event_ids": [],
      "related_transition_ids": [
        "tr_eo_0002"
      ],
      "tags": [
        "recovery",
        "channel_state"
      ],
      "bookmark_id": "bm_0006",
      "priority": 3,
      "anchor_id": "bookmark-bm_0006"
    }
  ]
}
