Fonctionnalité bêta. L’audit est disponible en bêta le temps de recueillir les premiers retours.
Le catalogue de détecteurs et le format du rapport peuvent évoluer avant la prochaine version stable.
N’hésitez pas à ouvrir un ticket si quelque chose vous semble incorrect.
/audit — l’archétype de votre agent, un score de 0 à 100, et précisément quelles politiques auraient détecté quoi.
Lancer l’audit
Trois façons d’accéder — toutes aboutissent au même rapport/audit.
Sans installation
npx -y failproofai audit télécharge failproofai, lance le scan et ouvre le
tableau de bord automatiquement — rien à installer au préalable.Depuis la CLI
failproofai audit exécute le scan dans votre terminal, puis ouvre
localhost:8020/audit automatiquement une fois terminé.Depuis le tableau de bord
Lancez
failproofai et cliquez sur Audit dans la barre de navigation (entre Policies et
Projects), ou ouvrez /audit directement.cd <cwd> redondants, boucles de polling par sleep, re-lecture de fichiers venants d’être modifiés, et bien plus.
Pour chaque transcription, chaque événement d’utilisation d’outil est rejoué à travers les 39 politiques intégrées et à travers 8 détecteurs propres à l’audit qui repèrent des patterns non encore couverts par les politiques en temps réel. Les comptages sont agrégés par politique / détecteur sur l’ensemble des sessions.
Ce que vous obtenez
La page/audit est une affiche pleine page et partageable, suivie de quatre sections sous le pli :
- Affiche — l’identité de votre agent en un coup d’œil : son archétype (l’un des 8 —
optimist,cowboy,explorer,goldfish,paranoid architect,precision builder,hammer,ghost), ses mots-clés de persona, la rareté de cet archétype, et un score de 0 à 100 avec un niveau (Sjusqu’àbottom tier). Conçue pour être partagée — postez sur X ou LinkedIn, ou téléchargez en PNG. // strengths— ce que votre agent fait déjà bien, exprimé en chiffres réels issus du scan (ex. : taux de tool-call propres,0tentative de push vers main), affiché uniquement lorsque la politique concernée n’a aucune infraction.// quirks— ce qui s’est glissé : un tableau classé des comportements que failproofai aurait interceptés — quand cela s’est produit pour la dernière fois, ce qui a glissé (et la règle intégrée qui l’aurait bloqué), sa sévérité, et la fréquence d’apparition (new/recurring/N× seen).// how to improve— la liste des correctifs recommandés : une ligne par politique avec unfailproofai policy add <slug>à copier-coller, plus un bouton install all qui active toutes les recommandations d’un coup et affiche votre score projeté si vous le faites.// come back better— adoptez la bonne habitude : configurez un rappel par e-mail (3d/7d/14d/30d) ou relancez l’audit maintenant, et invitez un ami à effectuer son propre audit (envoyé depuis failproof.ai, avec vous en Cc). Les rappels et invitations nécessitent une connexion.
Audits planifiés
Si vous faites tourner le démon failproofaid (voirfailproofai config),
il peut relancer l’audit selon un calendrier et rafraîchir le rapport /audit en
arrière-plan. Cette option est désactivée par défaut, car le scan lit le contenu
de chaque transcription de session de l’agent sur cette machine — rien ne scanne de façon planifiée
tant que vous ne le demandez pas.
Activez-la dans ~/.failproofai/config.toml :
- Le calendrier est basé sur l’horloge murale, ce qui lui permet de survivre aux suspensions et redémarrages : un ordinateur portable qui était en veille au-delà de son heure prévue s’exécute une seule fois au réveil, sans rattrapage en file.
- Chaque exécution est un processus distinct à faible priorité (
nice 19) — jamais sur le chemin des hooks du démon, qui reste libre pour répondre aux appels d’outils. - Un scan est ignoré si
failproofai auditou la relance depuis le tableau de bord est déjà en cours ; il est retenté peu après plutôt que traité comme un échec. - La progression est écrite dans
~/.failproofai/state/audit-schedule.json(dernière exécution, prochaine échéance). Ce fichier appartient au démon — modifiez la cadence dansconfig.toml.
Si vous avez activé cette option sur une machine configurée avec une ancienne version de failproofai, exécutez
failproofai config une fois. La définition de service du démon nécessite une entrée supplémentaire
avant de pouvoir lancer la CLI, et le rafraîchissement fait partie de cette commande.Détecteurs propres à l’audit
Ces détecteurs repèrent des patterns de « comportement inefficace » pas encore appliqués en temps réel. Ils ne s’exécutent que lors de l’audit et ne bloquent jamais un appel d’outil en direct.Caches
- Cache par transcription dans
~/.failproofai/cache/audit/<sha1>.jsonindexé par(mtime, size, engineVersion, detectorVersion)— invalidé automatiquement lorsque la transcription ou le code de politique/détecteur change. Chaque entrée stocke également un horodatagecachedAtcomme métadonnées TTL (non incluses dans la clé de cache) ; les entrées de plus de 7 jours sont rejetées à la lecture afin que des résultats anciens ne survivent pas à l’évolution des détecteurs. - Cache du résultat global dans
~/.failproofai/audit-dashboard.json(mode 0600). Permet au tableau de bord de s’afficher instantanément lors de la navigation sans relancer le scan. Également rejeté à la lecture au-delà du TTL de 7 jours —/auditrevient alors à son état vide et invite à relancer une analyse fraîche. Cliquez sur[ re-audit now ]en bas du rapport pour actualiser — la relance envoienoCache: true, ce qui contourne le cache par transcription et rescanne toutes les transcriptions au lieu de retourner le résultat mis en cache ; l’exécution diffuse sa progression via une bannière persistante en haut et remplace le résultat en place en cas de succès (sans rechargement de page ; un échec de la relance conserve le rapport précédent).
Remarques
- Aucune mutation. L’audit se rejoue en mode lecture seule.
warn-repeated-tool-callsest ignoré car son fichier annexe par session serait sinon modifié. - Politiques de workflow ignorées. Les politiques
require-*-before-stopne se déclenchent que sur les événementsStopet s’exécutent viaexecSynccontre l’état git en direct — elles n’ont pas d’interprétation significative du type « qu’aurait-il pu se passer en 2025 », et n’apparaissent donc pas dans les comptages d’audit. - Politiques personnalisées ignorées. Les hooks personnalisés fournis par l’utilisateur ne sont pas rejoués (ils peuvent avoir changé depuis la session d’origine).

