> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Solución de problemas

> Diagnostica sesiones faltantes, políticas ausentes, fallos de entrega y acciones de agente bloqueadas.

<AccordionGroup>
  <Accordion title="No aparecen sesiones en Cloud">
    <Tabs>
      <Tab title="Dashboard">
        Abre **Administración → Claves** y confirma que la clave de máquina está activa y tiene `events:add`. Luego abre **Observar → Eventos**, amplía el rango de tiempo y borra los filtros de entorno y agente. Si existen eventos, busca el ID de sesión y comprueba **Observar → Sesiones** para ver la agrupación. Si no hay eventos, diagnostica el daemon de Failproof desde la CLI.

        <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/events-stream-current.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=e87ba86b877f602de73237d5a3565269" alt="El flujo de eventos en vivo con sus filtros principales visibles y eventos de agente recientes llegando." width="2940" height="1618" data-path="images/dashboard/events-stream-current.png" />
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai flush --wait --timeout 60
        fp list envs
        fp events --since 24h --limit 20
        fp sessions --since 24h --limit 20
        ```

        Confirma que la captura está habilitada, que la clave configurada tiene `events:add` y que el filtro del dashboard coincide con el entorno emitido.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Los eventos del SDK de Python permanecen en disco">
    <Tabs>
      <Tab title="Dashboard">
        Borra los filtros en **Observar → Eventos** y busca el ID de sesión exacto del SDK. Si no aparece nada, inspecciona el spool del SDK y el daemon de Failproof en la máquina de origen.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai flush --wait
        ```

        Confirma que el proceso del agente establece `AGENTEYE_SPOOL_TO_FAILPROOFAI=1` y que `$FAILPROOFAI_HOME/custom-agents`, o en su defecto `~/.failproofai/custom-agents`, existe antes de que el SDK se inicie.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="La máquina no recibe políticas">
    <Tabs>
      <Tab title="Dashboard">
        Abre **Admin → aplicación**, selecciona la máquina y compara sus versiones asignada, reportada y anterior. Confirma que el alcance de despliegue incluye la máquina y que su clave tiene `policies:pull`. La ingesta puede funcionar aunque la entrega de políticas no lo haga.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai update
        failproofai config --status
        ```

        Confirma que el ID y la etiqueta de la máquina coinciden con el objetivo del dashboard. Reconéctate con una clave que admita políticas si la credencial existente solo permite la ingesta de eventos.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Una acción es denegada porque el daemon no está disponible">
    <Tabs>
      <Tab title="Dashboard">
        Abre **Admin → aplicación** e inspecciona la última vez que se vio la máquina y la versión reportada. Si la máquina está desactualizada, trátalo como un problema local del daemon. No debilites la política desplegada únicamente para eludir un daemon no disponible.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        failproofai config --status
        failproofai update
        failproofai config
        failproofai config --status
        ```

        Reinicia o actualiza `failproofaid`; vuelve a ejecutar la configuración cuando las versiones de protocolo de la CLI y el daemon difieran. El daemon configurado falla de forma cerrada por diseño.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Una política personalizada no se carga">
    <Tabs>
      <Tab title="Dashboard">
        Para una política creada en Cloud, abre **Admin → editor de políticas**, selecciona el borrador y revisa los errores de validación antes de publicar. Para una política local, valídala desde la CLI y luego abre **Observar → política** tras una acción de prueba para confirmar que llegan las decisiones.
      </Tab>

      <Tab title="CLI">
        Confirma que el nombre del archivo termina en `policies.js`, `policies.mjs` o `policies.ts`, que el módulo llama a `customPolicies.add(...)` y que las importaciones se resuelven desde el archivo de política.

        ```bash theme={null}
        failproofai policies --install --custom ./checkout.policies.ts
        failproofai policies
        ```
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Una auditoría no arroja hallazgos">
    <Tabs>
      <Tab title="Dashboard">
        Abre **Analizar → auditorías**, selecciona la ejecución y comprueba si se realizó el análisis del modelo. Luego compara su alcance y ventana con **Observar → sesiones** y abre trazas representativas de esa población.

        Un resultado cero solo es significativo cuando el análisis se completó correctamente. Si el análisis fue omitido o falló, la ejecución no produce hallazgos y mantiene la ventana sin analizar abierta para una futura ejecución exitosa. Si el análisis del modelo está deshabilitado, la auditoría tampoco produce hallazgos, ya que el escaneo determinista de credenciales e información personal solo registra estadísticas sin generar alertas.

        <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/audit-new.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=5ff2eacb3773c1acd30535a8395e5603" alt="El formulario de auditoría donde el entorno, el agente, la cadencia y la ventana de barrido definen la población de sesiones." width="1279" height="879" data-path="images/dashboard/audit-new.png" />
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        fp audits show <audit-name>
        fp audits runs <audit-name>
        fp sessions --since 24h --env production
        fp audits context-show <audit-name>
        fp audits run <audit-name>
        fp audits findings --audit <audit-name>
        ```

        Si la ejecución permaneció en cola, espera a que haya capacidad del agente de auditoría o pide al operador del despliegue que inspeccione la flota de auditorías. Una auditoría en cola reintenta; no se omite de inmediato.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Las evaluaciones en línea no se ejecutan automáticamente">
    <Tabs>
      <Tab title="Dashboard">
        Abre una sesión completada y comprueba si una evaluación manual tiene éxito. El Cloud alojado actualmente no ofrece control del endpoint del evaluador en el dashboard; el operador del servidor debe configurarlo.
      </Tab>

      <Tab title="CLI">
        Verifica el evaluador en sí y luego inspecciona los estados de evaluación recientes:

        ```bash theme={null}
        curl https://evaluator.example.com/health
        fp evals --since 1h
        ```

        En Cloud autoalojado, confirma que `EVALUATOR_ENDPOINT` está presente en el servidor y que `EVALUATOR_TOKEN` coincide con el evaluador. La evaluación automática está deshabilitada cuando el endpoint no está presente.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="La autenticación de la CLI de Cloud apunta a la organización incorrecta">
    <Tabs>
      <Tab title="Dashboard">
        Usa el selector de organización y confirma el slug y los permisos esperados antes de comparar los resultados con la CLI.
      </Tab>

      <Tab title="CLI">
        ```bash theme={null}
        fp whoami
        fp orgs current
        fp orgs perms
        ```

        En modo de clave de API, especifica `fp --org <slug> --api-key <key> ...` o establece `AGENTEYE_ORG`. El estado de organización de sesión humana guardado se ignora intencionalmente para las solicitudes con clave de API.
      </Tab>
    </Tabs>
  </Accordion>

  <Accordion title="Una política bloquea trabajo válido">
    <Tabs>
      <Tab title="Dashboard">
        Abre **Observar → política**, conserva la decisión y la sesión vinculada, e identifica la condición de falso positivo. Luego abre **Admin → aplicación** y revierte las máquinas afectadas a la versión anterior. Crea una versión más restrictiva en el **Editor de políticas**, pruébala en un alcance reducido y amplíala solo cuando el trabajo válido tenga éxito.
      </Tab>

      <Tab title="CLI">
        La reversión del despliegue en Cloud es exclusiva del dashboard. Pausar una sesión local no deshabilita las políticas gestionadas por Cloud. Si el dashboard no está disponible, captura el estado de la máquina y del despliegue y restablece el acceso al dashboard en lugar de reintentar repetidamente la acción bloqueada.

        ```bash theme={null}
        failproofai config --status
        ```
      </Tab>
    </Tabs>
  </Accordion>
</AccordionGroup>

Al contactar con soporte, incluye la versión de la CLI, el harness, el entorno, el ID de sesión o despliegue relevante y la salida de `failproofai config --status` con los secretos eliminados.
