Aller au contenu

Verdicts

Avant l’exécution d’une action couverte, le client rend l’un de quatre verdicts : Allow, Ask, Block ou Optimize. Un verdict est déterministe parce qu’une politique explicite l’a produit.

Le chemin d’une action couverteChaque action couverte atteint le point de décision avant de s’exécuter. Les politiques d’intention de la zone effective produisent un verdict déterministe.Action couvertePoint de décision✓ Allow⚑ Ask✕ Block↻ Optimize
Figure 1. Chaque action couverte atteint le point de décision avant de s’exécuter. Les politiques d’intention de la zone effective produisent un verdict déterministe.
VerdictCe qui se passe
AllowL’action s’exécute. En Monitor, elle peut s’exécuter et être signalée
AskPar défaut, l’action s’exécute et est signalée pour une revue asynchrone ; elle n’est retenue que lorsqu’un atome l’active pour une action irréversible
BlockL’action ne s’exécute pas. L’agent reçoit un refus natif qui nomme la règle qui l’a produit
OptimizeLe chemin change. En Enforce, un levier agit ; en Monitor, il mesure ce qu’il aurait fait

Quand plusieurs politiques correspondent à une même action, le verdict le plus restrictif l’emporte, dans cet ordre : Block, puis Ask, puis Optimize, puis Allow.

Ask laisse l’action s’exécuter et la signale pour revue, afin qu’une personne décide si l’agent doit recommencer. Il empêche la récurrence, pas la première occurrence. Un atome peut choisir de retenir une action irréversible jusqu’à ce qu’on y réponde ; rien d’autre ne dépend d’une personne.

La façon dont Ask atteint l’agent dépend de l’agent. Claude Code le reçoit sous la forme de sa propre demande native, avec la raison de la règle. Codex CLI n’a pas de demande native : il reçoit un message qui porte la raison, et l’appel se poursuit.

Optimize change le chemin d’une action au lieu de l’arrêter. Chaque changement passe par un levier, et ce que fait un levier dépend du mode de la politique.

LevierStatut
loop_stopAgit en Enforce ; mesure en Monitor
steerAgit en Enforce ; mesure en Monitor
narrow_outputAgit en Enforce sur Claude Code ; mesure en Monitor
effort_clampMesure par défaut, en Monitor comme en Enforce ; agit en Enforce seulement là où vous l’activez
context_editMesure par défaut, en Monitor comme en Enforce ; agit en Enforce seulement là où vous l’activez
prefix_guardMesure par défaut, en Monitor comme en Enforce ; agit en Enforce seulement là où vous l’activez
substituteCe levier n’est pas disponible, et en Monitor il mesure seulement

En Monitor, un levier mesure seulement ce qu’il aurait fait, et l’historique l’indique. En Enforce, il est appliqué.

Scénario illustratif. La même action, git push, peut recevoir chaque verdict selon son contexte :

ContexteVerdict
Un agent pousse une branche de fonctionnalité d’un dépôt que son équipe possèdeAllow
Un agent pousse sur une branche de release partagéeAsk : le push s’exécute et est signalé pour revue
Un agent force un push sur la branche principale d’un dépôt de productionBlock
Un agent relance en boucle le même push qui échoueOptimize : en Enforce, loop_stop met fin à la boucle