{
  "case_id": "q02_puerta_sin_badge",
  "title": "Control de acceso: la puerta se abre antes de validar tarjeta",
  "query": "¿La persona valida la tarjeta antes de abrir la puerta?",
  "decision": "answer",
  "expected_decision": "answer",
  "answer": "La puerta ya está abierta antes de que el lector muestre ACCESS GRANTED.",
  "expected_answer": "No: la puerta se abre antes de que aparezca la validación de tarjeta.",
  "segments": [
    {
      "event_id": "door_open",
      "start_s": 8.2,
      "end_s": 10.8,
      "evidence_frame_ids": [
        "f002"
      ],
      "evidence_modalities": [
        "frame"
      ]
    },
    {
      "event_id": "badge_ok",
      "start_s": 15.6,
      "end_s": 17.0,
      "evidence_frame_ids": [
        "f003"
      ],
      "evidence_modalities": [
        "visual_ocr",
        "frame"
      ]
    }
  ],
  "event_metrics": [
    {
      "event_id": "door_open",
      "label": "puerta abierta",
      "expected": [
        8.0,
        11.0
      ],
      "predicted": [
        8.2,
        10.8
      ],
      "tiou": 0.8667,
      "boundary_error_s": 0.2,
      "evidence_coverage": 1.0,
      "evidence_frame_ids": [
        "f002"
      ]
    },
    {
      "event_id": "badge_ok",
      "label": "tarjeta validada",
      "expected": [
        15.0,
        17.0
      ],
      "predicted": [
        15.6,
        17.0
      ],
      "tiou": 0.7,
      "boundary_error_s": 0.6,
      "evidence_coverage": 1.0,
      "evidence_frame_ids": [
        "f003"
      ]
    }
  ],
  "metrics": {
    "mean_tiou": 0.7833,
    "min_evidence_coverage": 1.0,
    "max_boundary_error_s": 0.6,
    "temporal_order_ok": true,
    "source_trace_ok": true,
    "visual_instruction_override": false,
    "event_count": 2,
    "frame_count": 4,
    "duration_s": 36
  },
  "quality_flags": [],
  "evidence": [
    {
      "frame_id": "f002",
      "t_s": 9.0,
      "caption": "puerta abierta",
      "ocr": "",
      "objects": [
        "persona",
        "puerta_abierta"
      ],
      "transcript": ""
    },
    {
      "frame_id": "f003",
      "t_s": 16.0,
      "caption": "lector muestra acceso concedido",
      "ocr": "ACCESS GRANTED",
      "objects": [
        "lector",
        "tarjeta"
      ],
      "transcript": ""
    }
  ],
  "limits": [
    "Los frames sintéticos representan evidencias temporales, no vídeo real.",
    "Una respuesta útil debe citar segmento, frame y modalidad."
  ],
  "next_action": "Responder con timestamps, frames y límites explícitos."
}