Nommée et enregistrée
Chaque action — refund.issue, payout.send, close.case — est une entrée de registre dotée d'une clé, d'un schéma d'entrée (clés requises), d'un riskLevel et d'un indicateur requiresApproval.
Chaque action qu'un agent peut entreprendre est un objet gouverné de premier ordre : une action nommée, dotée d'un niveau de risque et d'une politique d'approbation, plus un registre d'invocations immuable qui consigne dry-run → propose → approve/deny → execute → compensate avec un dossier de preuves à chaque étape.
dry-run → propose → approve/deny → execute → compensate · refus par défaut
Les agents non gouvernés appellent les outils directement — sans niveau de risque, sans approbation, sans trace de ce qui a été exécuté ni de la façon de l'annuler. Dans Cortex, chaque action est enregistrée avec un niveau de risque et une politique d'approbation, et chaque invocation aboutit dans un registre en ajout seul. Les actions à risque élevé ou soumises à approbation ne s'exécutent jamais avant qu'un administrateur ne les approuve ; les actions refusées ne s'exécutent jamais du tout.
Chaque action — refund.issue, payout.send, close.case — est une entrée de registre dotée d'une clé, d'un schéma d'entrée (clés requises), d'un riskLevel et d'un indicateur requiresApproval.
riskLevel: high ou requiresApproval oriente l'invocation vers pending_approval ; les actions à faible risque s'exécutent immédiatement. Le risque est une propriété de l'action, pas un espoir.
Chaque dry-run, proposition, approbation, refus, exécution et compensation s'ajoute à cortex_action_invocations — une piste de preuves que vous pouvez remettre à un auditeur.
Déclarez un rollbackKey et toute action exécutée devient compensable — le runtime lance l'action de compensation et marque l'originale compensated.
Les agents en lecture seule sont faciles. Le risque apparaît quand un agent émet un remboursement, clôture un dossier ou envoie un versement. Sans une fabric entre l'intention et l'effet, vous confiez des effets de bord à un modèle — aucune porte d'approbation pour le versement de 5 000 $, aucune trace de ce qui s'est exécuté, aucun moyen de revenir en arrière. Action Fabric place une couche de gouvernance en refus par défaut entre la proposition et l'effet de bord.
Chaque invocation parcourt le même cycle de vie à cinq états. Chaque transition s'ajoute au registre avec son dossier de preuves : l'histoire complète de tout effet de bord est donc reconstituable après coup.
Validez l'entrée par rapport au schéma de clés requises de l'action. Aucun effet de bord n'est déclenché — c'est une répétition sans risque qui prouve que l'appel est bien formé avant que quoi que ce soit ne se produise.
Soumettez l'action pour de vrai. Les actions riskLevel: high ou requiresApproval arrivent en pending_approval ; tout le reste s'exécute immédiatement sous le contrôle des politiques.
Réservé aux administrateurs, protégé par AdminGuard. L'approbation déclenche l'exécuteur gouverné ; deny enregistre denied avec un motif et l'exécuteur n'est jamais appelé.
L'exécuteur gouverné émet ActionExecuted ou ActionFailed (événements P4). La règle d'adaptateur P7 empêche les mocks d'atteindre la production, sauf autorisation explicite.
Réservé aux administrateurs. Si l'action déclare un rollbackKey, le runtime lance l'action de compensation et marque l'originale compensated — une annulation propre et auditée.
Voyez la même fabric traiter six résultats sans fard — une exécution propre, une mise en attente pour risque élevé, un refus administrateur qui ne s'exécute jamais, un retour arrière compensé et une action cadrée par l'ontologie bloquée d'emblée. Chaque ligne est une entrée de registre en ajout seul, avec son propre dossier de preuves.
Transmettez un objectId lors du propose : le runtime résout le type de l'objet d'ontologie et applique actionPermittedForObject(allowedActions, key). Une liste d'autorisations vide sur le type permet n'importe quelle action ; une liste non vide doit contenir la clé de l'action, faute de quoi la proposition est bloquée. L'objet et son type sont inscrits dans les preuves de l'invocation, et la vérification échoue en mode ouvert (avec journalisation) si ontology-service est injoignable, pour que la gouvernance ne devienne jamais une panne.
Action Fabric s'inscrit dans le même runtime en refus par défaut que l'identité, la politique, la supervision et le registre. Suivez les branches.
Rédigez des règles allow / deny / require_approval — par ex. amountUsd ≥ 5000 → require_approval — et simulez-les avant leur mise en production.
Les cinq modes d'autonomie déterminent ce qu'un agent peut exécuter seul — la barrière de risque est un plancher que la supervision ne peut que resserrer.
Chaque action exécutée est chaînée par hachage dans une piste d'audit détectant toute altération, avec des reçus signés vérifiables hors ligne.
Les permissions d'objet, de propriété et d'action donnent aux actions une signification métier gouvernée — ainsi que le cadrage par objectId ci-dessus.
Les agents sont des identités gouvernées dotées d'actions en liste d'autorisation — un agent ne peut proposer que les actions permises par son identité.
Suivez chaque invocation d'action en direct, mettez une flotte d'agents en pause et exportez un rapport de gouvernance en un clic.
Approbations réservées aux administrateurs, exécution en refus par défaut, preuves en ajout seul et la règle d'adaptateur P7 qui empêche les mocks d'atteindre la production — mis en correspondance avec les référentiels que vos auditeurs utilisent déjà.
Placez chaque action d'agent sous un cycle de vie gouverné : dry-run, approbation, exécution, retour arrière et preuves complètes à chaque étape.