> ## 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.

# Auditar sesiones pasadas (beta)

> Cuenta con qué frecuencia el agente hizo cosas innecesarias o arriesgadas en transcripciones anteriores

<Note>
  **Función beta.** La auditoría se lanza en versión beta mientras recopilamos comentarios iniciales.
  El catálogo de detectores y el formato del informe pueden cambiar antes del próximo corte estable.
  Por favor, abre un issue si algo parece incorrecto.
</Note>

La auditoría reproduce tus transcripciones pasadas del agente CLI a través del motor de políticas de failproofai
y genera un informe visual y compartible en la **página del panel `/audit`** — el arquetipo de tu agente, una puntuación del 0 al 100, y exactamente qué políticas habrían detectado qué.

## Ejecutarla

Tres formas de iniciarla — todas llevan al mismo informe `/audit`.

<CodeGroup>
  ```bash npx (sin instalación) theme={null}
  npx -y failproofai audit
  ```

  ```bash failproofai audit theme={null}
  failproofai audit
  ```

  ```bash failproofai (panel) theme={null}
  failproofai
  ```
</CodeGroup>

<CardGroup cols={3}>
  <Card title="Sin instalación" icon="bolt">
    `npx -y failproofai audit` descarga failproofai, ejecuta el análisis y abre el
    panel automáticamente — sin necesidad de instalar nada antes.
  </Card>

  <Card title="Desde la CLI" icon="terminal">
    `failproofai audit` ejecuta el análisis en tu terminal y luego abre
    `localhost:8020/audit` automáticamente al terminar.
  </Card>

  <Card title="Desde el panel" icon="gauge">
    Ejecuta `failproofai` y haz clic en **Audit** en la barra de navegación (entre Policies y
    Projects), o abre `/audit` directamente.
  </Card>
</CardGroup>

<Tip>
  Ejecuta `failproofai audit -h` (o `--help`) para ver el uso. La auditoría funciona **completamente
  sin conexión** — no requiere cuenta ni red — y el panel sigue activo hasta que lo detengas con `Ctrl+C`.
</Tip>

El panel analiza las transcripciones pasadas del agente CLI en esta máquina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi) e informa con qué frecuencia el agente hizo cosas que failproofai está diseñado para detener — comprobaciones de variables de entorno, push forzados, prefijos `cd <cwd>` redundantes, bucles de sleep-polling, releer archivos recién editados y más.

Por cada transcripción, cada evento de uso de herramienta se reproduce a través de las 39 políticas integradas **y** a través de 8 detectores exclusivos de auditoría que capturan patrones que aún no están cubiertos por las políticas en tiempo real. Los recuentos se agregan por política / detector en todas las sesiones.

## Qué obtienes

La página `/audit` es un **póster** de pantalla única y compartible seguido de cuatro secciones debajo del pliegue:

1. **Póster** — la identidad de tu agente de un vistazo: su **arquetipo** (uno de 8 — `optimist`, `cowboy`, `explorer`, `goldfish`, `paranoid architect`, `precision builder`, `hammer`, `ghost`), sus palabras clave de persona, cuán raro es ese arquetipo y una **puntuación del 0 al 100** con una banda de nivel (`S` hasta `bottom tier`). Diseñado para compartir — publícalo en X o LinkedIn, o descárgalo como PNG.
2. **`// strengths`** — lo que tu agente ya hace bien, con números reales del análisis (p. ej., % de llamadas a herramientas limpias, `0` intentos de push a main), mostrado solo donde la política relevante tiene un historial limpio.
3. **`// quirks`** — lo que se escapó: una tabla ordenada de comportamientos que failproofai habría detectado — *cuándo* ocurrió por última vez, *qué se escapó* (y el integrado que lo habría bloqueado), su *severidad* y con qué frecuencia fue *visto* (`new` / `recurring` / `N× seen`).
4. **`// how to improve`** — la lista de correcciones recomendadas: una fila por política con un `failproofai policy add <slug>` listo para copiar y pegar, más un botón **install all** que habilita todas las recomendaciones a la vez y muestra tu **puntuación proyectada** si lo hicieras.
5. **`// come back better`** — construye el hábito: configura un **recordatorio** por correo electrónico para volver a auditar (`3d` / `7d` / `14d` / `30d`) o vuelve a auditar ahora, e **invita a un amigo** a ejecutar su propia auditoría (enviado desde failproof.ai, con copia a ti). Los recordatorios e invitaciones requieren inicio de sesión — consulta [`failproofai auth`](/es/cli/auth).

## Detectores exclusivos de auditoría

Estos detectan patrones de "comportamiento ineficiente" que aún no se aplican en tiempo real. Solo se ejecutan durante la auditoría y nunca bloquean una llamada a herramienta en vivo.

| Detector                    | Qué cuenta                                                                                   |
| --------------------------- | -------------------------------------------------------------------------------------------- |
| `redundant-cd-cwd`          | Comandos Bash que comienzan con `cd <cwd> && …` aunque los comandos ya se ejecutan en `cwd`. |
| `prefer-edit-over-read-cat` | `cat`/`head`/`tail`/`less`/`more` en un único archivo fuente — usa la herramienta `Read`.    |
| `prefer-edit-over-sed-awk`  | Ediciones en sitio con `sed -i` / `awk … > file` — usa la herramienta `Edit`.                |
| `prefer-write-over-heredoc` | Heredoc / `echo > file` multilínea para escribir archivos — usa la herramienta `Write`.      |
| `sleep-polling-loop`        | `sleep N` largo (≥ 30s) o bucles de polling `while …; sleep …; done`.                        |
| `find-from-root`            | `find /`, `find /home`, `find /usr`, etc. — delimita el alcance a `cwd`.                     |
| `git-commit-no-verify`      | `git commit … --no-verify` / `-n`, omitiendo los hooks.                                      |
| `reread-after-edit`         | `Read` de un archivo que acaba de ser modificado con `Edit`/`Write` en la misma sesión.      |

## Cachés

* **Caché por transcripción** en `~/.failproofai/cache/audit/<sha1>.json` indexada por `(mtime, size, engineVersion, detectorVersion)` — se invalida automáticamente cuando cambia la transcripción o el código de políticas/detectores. Cada entrada también almacena una marca de tiempo `cachedAt` como **metadatos TTL** (no forma parte de la clave de caché); las entradas con más de **7 días** se rechazan en la lectura para que los resultados de larga duración no sobrevivan a la evolución de los detectores.
* **Caché del resultado completo** en `~/.failproofai/audit-dashboard.json` (modo 0600). Permite que el panel se renderice instantáneamente al navegar sin volver a ejecutar el análisis. También se rechaza al leer pasado el **TTL de 7 días** — `/audit` cae entonces a su estado vacío y solicita una nueva ejecución. Haz clic en `[ re-audit now ]` cerca de la parte inferior del informe para actualizar — la re-auditoría envía `noCache: true`, por lo que omite la caché por transcripción y vuelve a analizar cada transcripción en lugar de devolver el resultado en caché; la ejecución transmite el progreso mediante una barra superior fija y reemplaza el resultado al terminar con éxito (sin recarga de página; una re-auditoría fallida conserva el informe anterior).

## Notas

* **Sin mutaciones.** La auditoría se reproduce en modo de solo lectura. `warn-repeated-tool-calls` se omite porque de lo contrario se modificaría su sidecar por sesión.
* **Políticas de flujo de trabajo omitidas.** Las políticas `require-*-before-stop` solo se activan en eventos `Stop` y ejecutan `execSync` contra el estado git en vivo — no tienen una interpretación significativa de tipo "qué habría pasado en 2025", por lo que no aparecen en los recuentos de auditoría.
* **Políticas personalizadas omitidas.** Los hooks personalizados proporcionados por el usuario no se reproducen (pueden haber cambiado desde la sesión original).
