[
  {
    "action": "resolve_objection",
    "reason": "El cliente escribió \"¿La propuesta incluye instalación?\". Es una duda explícita: conviene aclararla sin ofrecer descuentos ni presionar el cierre.",
    "timing": "immediate",
    "case_id": "P01",
    "confidence": "high",
    "risk_level": "medium",
    "scheduled_for": null,
    "confidence_reason": "Basado en la interpretación (IA) del mensaje P01-e2. El cliente tiene interés en evaluar el alcance de la propuesta.",
    "evidence_event_ids": [
      "P01-e2",
      "P01-e1"
    ],
    "missing_information": [],
    "requires_human_review": false
  },
  {
    "action": "contact",
    "reason": "El cliente escribió \"estoy interesado, lo quiero comprar\". Dar seguimiento breve para acordar el siguiente paso, sin asumir que la compra está decidida.",
    "timing": "within_24h",
    "case_id": "P02",
    "confidence": "high",
    "risk_level": "medium",
    "scheduled_for": null,
    "confidence_reason": "Basado en la interpretación (IA) del mensaje vivo-1791676866745. El cliente tiene la intención directa de proceder con la compra o cierre de la propuesta.",
    "evidence_event_ids": [
      "vivo-1791676866745",
      "P02-e1"
    ],
    "missing_information": [
      "Instrucciones específicas o método de pago con el que desea formalizar la adquisición."
    ],
    "requires_human_review": false
  },
  {
    "action": "wait",
    "reason": "El cliente pidió no ser contactado antes de 2026-10-12T15:00Z y existe la restricción contact_not_before correspondiente. Esperar y reevaluar en esa fecha, o antes si llega un mensaje nuevo.",
    "timing": "at_date",
    "case_id": "P03",
    "confidence": "high",
    "risk_level": "low",
    "scheduled_for": "2026-10-12T15:00:00Z",
    "confidence_reason": "La solicitud temporal explícita del cliente y la restricción estructurada (contact_not_before) coinciden; no conocemos su intención de compra.",
    "evidence_event_ids": [
      "P03-e2",
      "P03-e3"
    ],
    "missing_information": [],
    "requires_human_review": false
  },
  {
    "action": "escalate",
    "reason": "El cliente expresó interés (\"Me interesa conocer más.\"), pero contact_allowed=false prohíbe contactarlo. Se escala a revisión interna; no se redacta ni envía ningún mensaje al cliente.",
    "timing": "immediate",
    "case_id": "P04",
    "confidence": "high",
    "risk_level": "high",
    "scheduled_for": null,
    "confidence_reason": "La restricción es un hecho observado (constraint.updated) y hay un mensaje del cliente pendiente.",
    "evidence_event_ids": [
      "P04-e2",
      "P04-e3"
    ],
    "missing_information": [],
    "requires_human_review": true
  },
  {
    "action": "no_action",
    "reason": "El caso se cerró (status=accepted) en 2026-10-09T15:00:00Z. Un cierre es definitivo: no hay intervención válida.",
    "timing": "not_applicable",
    "case_id": "P05",
    "confidence": "high",
    "risk_level": "low",
    "scheduled_for": null,
    "confidence_reason": "Hecho observado: existe un evento case.closed. No depende de interpretación.",
    "evidence_event_ids": [
      "P05-e3"
    ],
    "missing_information": [],
    "requires_human_review": false
  },
  {
    "action": "request_information",
    "reason": "El cliente escribió \"Por el momento no voy a seguir con el proceso\". No deja clara su intención: pedir el dato necesario para avanzar en lugar de suponer. El mensaje llegó después del último contacto (P06-e2), por lo que la espera de 24h ya no aplica (R4).",
    "timing": "within_24h",
    "case_id": "P06",
    "confidence": "low",
    "risk_level": "low",
    "scheduled_for": null,
    "confidence_reason": "Basado en la interpretación (reglas de respaldo) del mensaje vivo-1791676928433. No se identifica una intención clara en el mensaje. El mensaje es ambiguo, por eso la confianza es baja.",
    "evidence_event_ids": [
      "vivo-1791676928433",
      "P06-e1"
    ],
    "missing_information": [
      "Intención del cliente (mensaje ambiguo)",
      "Intención explícita del cliente"
    ],
    "requires_human_review": false
  }
]