[navori](https://ulisescm.github.io/navori-harness/es/docs/audit) · Español

Cómo corrió el harness de verdad: a dónde se fueron los tokens y qué instrucciones nadie siguió.

## Comandos 

[navori init](https://ulisescm.github.io/navori-harness/es/docs/init)[navori add](https://ulisescm.github.io/navori-harness/es/docs/add)[navori remove](https://ulisescm.github.io/navori-harness/es/docs/remove)[navori adopt](https://ulisescm.github.io/navori-harness/es/docs/adopt)[navori configure](https://ulisescm.github.io/navori-harness/es/docs/configure)[navori preset](https://ulisescm.github.io/navori-harness/es/docs/preset)[navori render](https://ulisescm.github.io/navori-harness/es/docs/render)[navori sync](https://ulisescm.github.io/navori-harness/es/docs/sync)[navori update](https://ulisescm.github.io/navori-harness/es/docs/update)[navori refresh](https://ulisescm.github.io/navori-harness/es/docs/refresh)[navori scan](https://ulisescm.github.io/navori-harness/es/docs/scan)[navori doctor](https://ulisescm.github.io/navori-harness/es/docs/doctor)[navori status](https://ulisescm.github.io/navori-harness/es/docs/status)[navori bench](https://ulisescm.github.io/navori-harness/es/docs/bench)[navori codex](https://ulisescm.github.io/navori-harness/es/docs/codex)[navori audit](https://ulisescm.github.io/navori-harness/es/docs/audit)[navori backup](https://ulisescm.github.io/navori-harness/es/docs/backup)[navori migrations](https://ulisescm.github.io/navori-harness/es/docs/migrations)[navori registry](https://ulisescm.github.io/navori-harness/es/docs/registry)[navori workspace](https://ulisescm.github.io/navori-harness/es/docs/workspace)[navori ticket](https://ulisescm.github.io/navori-harness/es/docs/ticket)[navori dominio](https://ulisescm.github.io/navori-harness/es/docs/dominio)[navori tools](https://ulisescm.github.io/navori-harness/es/docs/tools)[navori receipt](https://ulisescm.github.io/navori-harness/es/docs/receipt)[navori plan](https://ulisescm.github.io/navori-harness/es/docs/plan)[navori spec](https://ulisescm.github.io/navori-harness/es/docs/spec)[navori handoff](https://ulisescm.github.io/navori-harness/es/docs/handoff)[navori master](https://ulisescm.github.io/navori-harness/es/docs/master)[navori gate](https://ulisescm.github.io/navori-harness/es/docs/gate) Sin manual aún. Esta página es la referencia. 

navori

# audit 

Cómo corrió el harness de verdad: a dónde se fueron los tokens y qué instrucciones nadie siguió. 

## Uso 

```
navori audit [--session <id>] [--days <n>] [--since <fecha>] [--until <fecha>] [--all-repos] [--include-human-content] [--snapshot <nombre>] [--compare <snapshot>] [--json]
```

## Flags 

--session <id> Una sesión por id, prefijo, o 'latest'. 

--days <n> Solo sesiones marcadas en los últimos N días. 

--since <YYYY-MM-DD> Desde esta fecha. 

--until <YYYY-MM-DD> Hasta esta fecha. 

--json Imprime el reporte JSON a stdout sin escribir archivos. 

--out <dir> Cambia el directorio de salida. 

--all-repos Reporte de rango sobre todos los repos auditados, con la cobertura de cada uno. 

--include-human-content Incluye contenido humano en los reportes privados, solo en esta llamada. No se combina con --collect. 

--disarm Cancela un --arm pendiente sin iniciar ninguna sesión. 

--snapshot <nombre> Congela las métricas del rango como snapshot versionado (formato 2: cohortes por host, régimen, modelo y trabajo) en la raíz de auditoría. No sobrescribe uno existente. No se combina con --json. 

--copy-to <ruta> Copia el snapshot a esta ruta, relativa a la raíz de git; no sobrescribe. 

--compare <snapshot> Compara el rango contra un snapshot guardado, métrica por métrica. Solo describe: marca 'matched' cuando las cohortes coinciden y nunca declara una mejora. Sí se combina con --json (no escribe archivos). 

--start <id> Marca una sesión como auditada (lo usa el flujo del hook). 

--arm Arma el audit-mode: si ya hay una sesión abierta en el repo, arranca en su siguiente mensaje (sirve `! navori audit --arm` desde dentro); si no, arranca al abrir la próxima. El hook hace el --start solo (una sesión exacta; --disarm lo cancela). 

--stop <id> Sella el log de la sesión y reporta sobre ella. 

--collect Levanta el receptor de eventos OTel en 127.0.0.1:4318 hasta que lo cortes: la tercera fuente, la que sabe qué decidió el host (quién aprobó cada permiso, qué skill estaba activa). Imprime la dirección, el directorio de salida y las variables que hay que exportar en la terminal de la sesión auditada. 

--cwd <dir> Repo a auditar (default: actual). 

## Ejemplos 

### Activar audit-mode

```
$ navori audit --start 8f3c1d2e
└  audit-mode activo ~/.navori/audits/demo/session-8f3c1d2e.log
```

### Sin sesiones marcadas

```
$ navori audit
└  No hay sesiones marcadas con audit-mode para 'demo'. Actívalo con 'navori audit --start <id-de-sesión>'.
```

### Reporte de una sesión

```
$ navori audit --session latest
◇  demo · 2026-09-01 → 2026-09-01 ─╮
│  1 sesiones · 19 agentes         │
│  facturable  2.3M tok            │
│  arranque  346k tok              │
│  hallazgos  1 alto · 3 medio     │
└  Reporte ~/.navori/audits/demo/sessions/2026-09-01-8f3c1d2e/report.md
```

## Notas 

- Es opt-in y por sesión: sin un '--start' previo no hay log que auditar, y navori no observa nada. 
- Los datos salen de dos fuentes que no se sustituyen: el log de eventos que los hooks escriben (qué hizo el harness) y el transcript de Claude Code (el único lugar donde viven los tokens). 
- El reporte se escribe en markdown y JSON dentro de ~/.navori/audits/<repo>/, junto a una copia del log de la sesión. 
- Los conteos de hooks son parciales cuando el recorder arrancó tarde: la ficha del orquestador lo declara con el porcentaje de la sesión que sí observó. 
- Lo que un host no expone aparece como no disponible, nunca como 0. El reporte suma resultados por tarea (revisión, recibo, despacho) y recomendaciones agrupadas por su denominador, sin puntaje único. 
- Cada métrica declara su ventana de disponibilidad (desde qué versión o fuente existe el dato), y el reporte suma métricas de eficiencia por tarea. Un flag no declarado se rechaza (exit 2). 
- Límites: los verbos de revisión del recibo llegan desde la versión 0.11.3, los umbrales mínimos y topes no están calibrados, la banda de ruido de --compare no está medida y la atribución de tokens por tarea cubre solo al implementer.


