navori AI harness
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>] [--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.
--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ó.