Skip to main content
Recurso em beta. O recurso de auditoria é lançado em beta enquanto coletamos feedback inicial. O catálogo de detectores e o formato do relatório podem mudar antes da próxima versão estável. Abra uma issue se algo parecer errado.
A auditoria reproduz suas transcrições passadas da CLI do agente pelo mecanismo de políticas do failproofai e gera um relatório visual e compartilhável na página do dashboard /audit — o arquétipo do seu agente, uma pontuação de 0–100 e exatamente quais políticas teriam identificado o quê.

Como executar

Três formas de acessar — todas levam ao mesmo relatório /audit.

Sem instalação

npx -y failproofai audit baixa o failproofai, executa a varredura e abre o dashboard para você — nada precisa ser instalado antes.

Pelo CLI

failproofai audit executa a varredura no seu terminal e abre localhost:8020/audit automaticamente ao finalizar.

Pelo dashboard

Execute failproofai e clique em Audit na barra de navegação (entre Policies e Projects), ou abra /audit diretamente.
Execute failproofai audit -h (ou --help) para ver o uso. A auditoria roda completamente offline — sem conta ou rede necessária — e o dashboard continua disponível até você encerrá-lo com Ctrl+C.
O dashboard varre transcrições passadas da CLI do agente nesta máquina (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi) e relata com que frequência o agente fez coisas que o failproofai foi criado para prevenir — verificações de variáveis de ambiente, force pushes, prefixos redundantes cd <cwd>, loops de polling com sleep, releitura de arquivos recém-editados, e mais. Para cada transcrição, cada evento de uso de ferramenta é reproduzido pelas 39 políticas embutidas e pelos 8 detectores exclusivos de auditoria que identificam padrões ainda não cobertos por políticas em tempo real. As contagens são agregadas por política/detector em todas as sessões.

O que você recebe

A página /audit é um pôster de tela única e compartilhável seguido por quatro seções abaixo da dobra:
  1. Pôster — a identidade do seu agente em um relance: seu arquétipo (um de 8 — optimist, cowboy, explorer, goldfish, paranoid architect, precision builder, hammer, ghost), as palavras-chave da persona, o quão raro esse arquétipo é e uma pontuação de 0–100 com uma faixa de nível (S até bottom tier). Feito para compartilhar — poste no X ou LinkedIn, ou baixe como PNG.
  2. // strengths — o que seu agente já faz bem, como números reais da varredura (ex.: % de chamadas de ferramenta limpas, 0 tentativas de push para main), exibido apenas onde a política relevante tem um histórico limpo.
  3. // quirks — o que passou despercebido: uma tabela classificada de comportamentos que o failproofai teria capturado — quando aconteceu pela última vez, o que passou (e o detector embutido que teria bloqueado), sua gravidade e com que frequência foi visto (new / recurring / N× seen).
  4. // how to improve — a lista de correções prescritas: uma linha por política com um failproofai policy add <slug> para copiar e colar, além de um botão install all que habilita todas as recomendações de uma vez e mostra sua pontuação projetada caso você o faça.
  5. // come back better — crie o hábito: defina um lembrete de re-auditoria por e-mail (3d / 7d / 14d / 30d) ou re-audite agora, e convide um amigo para fazer sua própria auditoria (enviado pelo failproof.ai, com cópia para você). Lembretes e convites requerem login.

Auditorias agendadas

Se você executa o daemon failproofaid (veja failproofai config), ele pode re-executar a auditoria para você em um agendamento e atualizar o relatório /audit em segundo plano. Está desativado por padrão, pois a varredura lê o conteúdo de cada transcrição de sessão do agente nesta máquina — nada é varrido por um timer até que você solicite. Ative em ~/.failproofai/config.toml:
  • O agendamento é baseado no relógio de parede, então sobrevive a suspensões e reinicializações: um laptop que estava dormindo além do horário previsto executa uma vez ao acordar, nunca um acúmulo.
  • Cada execução é um processo separado de baixa prioridade (nice 19) — nunca o caminho de hook do daemon, que permanece livre para responder a chamadas de ferramentas.
  • Uma varredura é ignorada se failproofai audit ou o re-run do dashboard já estiver em andamento; ela é repetida logo depois em vez de ser tratada como falha.
  • O progresso é gravado em ~/.failproofai/state/audit-schedule.json (última execução, próximo prazo). O daemon é o responsável por esse arquivo — altere a cadência em config.toml.
Se você habilitou isso em uma máquina configurada com uma versão mais antiga do failproofai, execute failproofai config uma vez. A definição de serviço do daemon precisa de uma entrada extra antes de poder iniciar o CLI, e a atualização faz parte desse comando.

Detectores exclusivos de auditoria

Esses detectores identificam padrões de “comportamento ineficiente” que não são (ainda) aplicados em tempo real. Eles são executados apenas durante a auditoria e nunca bloqueiam uma chamada de ferramenta ao vivo.

Caches

  • Cache por transcrição em ~/.failproofai/cache/audit/<sha1>.json com chave por (mtime, size, engineVersion, detectorVersion) — invalidado automaticamente quando a transcrição ou o código de política/detector muda. Cada entrada também armazena um timestamp cachedAt como metadado de TTL (não faz parte da chave de cache); entradas com mais de 7 dias são rejeitadas na leitura para que resultados de longa duração não sobrevivam à evolução da intenção dos detectores.
  • Cache do resultado completo em ~/.failproofai/audit-dashboard.json (modo 0600). Permite que o dashboard seja renderizado instantaneamente na navegação sem re-executar. Também rejeitado na leitura após o TTL de 7 dias/audit então cai em seu estado vazio e solicita uma nova execução. Clique em [ re-audit now ] próximo ao final do relatório para atualizar — o re-audit envia noCache: true, contornando o cache por transcrição e revarrendo todas as transcrições em vez de retornar o resultado em cache; a execução transmite o progresso via uma faixa fixa no topo e substitui o resultado no lugar ao concluir com sucesso (sem recarregamento de página; um re-audit com falha mantém o relatório anterior).

Notas

  • Sem mutação. A auditoria é reproduzida em modo somente leitura. warn-repeated-tool-calls é ignorado porque seu sidecar por sessão seria modificado de outra forma.
  • Políticas de fluxo de trabalho ignoradas. Políticas require-*-before-stop são acionadas apenas em eventos Stop e execSync contra o estado git ao vivo — elas não têm uma interpretação significativa de “o que teria acontecido em 2025”, portanto não aparecem nas contagens de auditoria.
  • Políticas personalizadas ignoradas. Hooks personalizados fornecidos pelo usuário não são reproduzidos (eles podem ter mudado desde a sessão original).