title: “Politiche personalizzate”
description: “Scrivi una policy per una modalità di errore unica nel flusso di lavoro del tuo agente.”
icon: “shield-plus”
Crea un file che termina con policies.js, policies.mjs, o policies.ts under .failproofai/policies/. I file di convention si caricano automaticamente a livello di progetto e utente.
Testa la policy prima della pubblicazione su Cloud
- Installa la policy personalizzata su una macchina di test e attiva sia un’azione corrispondente che una non-corrispondenza legittima.
- Vai a Observe → policy e confronta le due decisioni.
- Apri ogni sessione collegata e verifica che il payload dell’evento contenga prove sufficienti per la regola.
- Quando il comportamento è corretto, sposta il codice revisionato in Admin → policy editor e pubblica una versione.
I file di convention under .failproofai/policies/ si caricano senza --custom. Mantieni un comando di installazione esplicito in CI quando la validazione deve fallire su un modulo rotto.
Questo corrisponde a production/config.yml, /srv/production/config.yml, /srv/production, e C:\\production\\config.yml sia per Write che per Edit. Non corrisponde a nomi come production-backup perché production deve essere un segmento di percorso completo.
Valida e installa un file esplicito:
Il contesto della policy include il tipo di evento, il payload normalizzato, il nome e l’input dello strumento, i metadati della sessione, i parametri e la CLI di origine quando disponibile.
Testa i percorsi di fallimento
Esegui la validazione dopo aver modificato il file di entry o qualsiasi modulo locale che importa:
Il percorso CLI strict fallisce per file mancanti, errori di sintassi, import non risolti, eccezioni di livello superiore e timeout di caricamento del modulo. Al momento dell’enforcement, un file personalizzato rotto viene registrato e saltato in modo che le policy built-in possano continuare. Considera qualsiasi avviso di caricamento come una perdita dell’enforcement atteso e avvisa su di esso nei log di produzione.
Usa nomi globalmente unici tra le policy esplicite, di convention e gestite da Cloud. Mantieni le funzioni di policy deterministiche, limita le chiamate esterne con timeout brevi e restituisci un allow, instruct, o deny intenzionale su ogni percorso.
Una policy personalizzata è codice di enforcement. Testa i campi mancanti, i nomi di strumenti alternativi e gli input malformati—non solo la corrispondenza attesa.