Failproof AI est conçu de façon à ce qu’un échec d’application soit visible plutôt que de permettre silencieusement des opérations risquées.
Diagnostiquer un blocage en mode fermé
- Allez dans Admin → enforcement et ouvrez la machine.
- Vérifiez sa dernière connexion, le déploiement assigné et le déploiement reporté.
- Allez dans Observe → policy et ouvrez la session de la décision refusée.
- Confirmez si la raison indique l’accessibilité du daemon, un décalage de version ou la politique elle-même.
Relancer failproofai config met à jour et redémarre le daemon après une mise à jour du paquet.
Sur une machine configurée pour utiliser failproofaid, le daemon est le seul évaluateur. S’il est inaccessible ou si sa version de protocole ne correspond pas à celle du CLI, l’évaluation des hooks échoue en mode fermé. L’action est refusée avec une raison qui invite l’opérateur à vérifier ou mettre à jour le daemon.
Avant la configuration du daemon, les hooks évaluent les politiques en cours de processus. Une fois la configuration du daemon enregistrée, Failproof AI ne bascule pas silencieusement vers un second évaluateur en cas de défaillance du daemon.
Répondre à une décision en mode fermé
- Exécutez
failproofai config --status.
- Si les versions diffèrent, relancez
failproofai config après avoir mis à jour le paquet.
- Si le daemon est inaccessible, inspectez l’état de son service et les journaux locaux.
- Ne reprenez le travail de l’agent qu’après avoir confirmé qu’un chemin d’évaluation des politiques connu est opérationnel.
Ne réessayez pas l’action bloquée de manière répétée. Une réponse en mode fermé signifie que le système n’a pas pu établir que l’action était sûre.
Un pack ne se charge pas
Une machine à qui l’on a demandé d’appliquer un pack, et qui ne peut pas l’exécuter, refuse plutôt que de continuer silencieusement. Le déclencheur est une attente enregistrée, jamais une attente vide : une machine sans pack installé reste silencieuse, tandis qu’un pack déclaré qui ne peut pas se résoudre — ou qui enregistre moins que ce que son manifeste déclare — est refusé.
Le refus est ciblé, contrairement à un daemon inaccessible. Un daemon injoignable signifie qu’aucune évaluation n’a eu lieu, donc rien ne peut être considéré comme sûr. Un pack qui ne se charge pas possède un ensemble dénombrable de gardes manquants, car chaque politique déclarée porte son propre match — il ne refuse donc que les événements et outils couverts par ces politiques, tout le reste continuant normalement.
Il ne se déclenche pas pour :
- un pack
observe, qui évalue et rejette par construction
- des politiques que vous n’avez jamais adoptées ou explicitement désactivées
- un pack que le chargeur n’a jamais reçu, où « aucun enregistrement » ne peut être distingué d’un saut délibéré
- une pause de session active
- un délai de chargement dépassé, qui est transitoire — un instant de disque lent ne doit pas déclencher un refus jusqu’à ce qu’un humain intervienne
UserPromptSubmit instruit plutôt que de refuser, quelle que soit la politique manquante déclarée. Un refus global l’emporterait avec lui et vous bloquerait hors de l’agent qui pourrait résoudre le problème.
Que faire
Cette commande identifie tout pack installé qui ne se charge pas, en explique la raison, et se termine avec un code de sortie non nul. Réinstallez-le ensuite (failproofai pack add <source>) ou supprimez-le (failproofai pack remove <publisher/name>) — le supprimer retire l’attente enregistrée, et le refus cesse avec elle.