acf.evaluate-agent-mandate
Audit préliminaire d’un mandat d’agent existant, huit checks canoniques (DDAO nommé, périmètre, actions interdites, seuils d’escalade, kill switch, registre, version doctrine, sign-off) → verdict approve / approve_with_changes / reject + additions requises.
TBD, « à compléter » ou ??? dans le texte abaisse automatiquement le score de 20 points et classe le mandat « non signable », c’est par design. requires_human_review reste constant.Quand l’utiliser
Utilisez cet outil quand un mandat d’agent a déjà été rédigé, par une équipe métier, un cabinet, un DDAO, et qu’il faut le passer au filtre ACF® avant signature ou inspection. L’outil applique huit checks regex canoniques sur le texte et calcule un score de conformité 0-100 pondéré, puis tranche en approve / approve_with_changes / reject.
La question board que la sortie tranche : « Ce mandat est-il signable en l’état ? » Si non, les required_additions donnent les rédactions à ajouter, fiche ACF® de référence par fiche. Le pénalty automatique sur les placeholders TBD/??? rend les mandats à trous immédiatement rejetables.
Paramètres d’entrée
Quatre champs, dont deux obligatoires. Le mandate_text est passé brut à l’évaluateur, pas de pré-nettoyage côté outil.
mandate_textstring (50-10000)requiredagent_purposestring (10-500)requireddeployment_contextstring (≤500)locale"en" | "fr"default: "en"Schéma de sortie
La sortie est un objet structuré contenant un verdict, le score de conformité, les forces, les gaps, les additions à intégrer et le pied-de-page signé.
verdict"approve" | "approve_with_changes" | "reject"rationalestringstrengthsstring[]identified_gaps{ area: string, severity: "low" | "medium" | "high" | "critical", description: string }[]required_additions{ section: string, suggested_text: string, fiche_reference: string }[]reference_fichesstring[]acf_compliance_scorenumber (0-100)confidence"low" | "medium" | "high"assumptionsstring[]gaps_to_validatestring[]requires_human_reviewtrueExemple d’appel
Un mandat d’agent de réconciliation de trésorerie, complet, à valider avant sign-off :
import { Client } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "acf-mcp"],
});
const client = new Client({ name: "demo", version: "1.0" }, {});
await client.connect(transport);
const mandateText = `
Agent: Treasury Settlement Agent
DDAO: Marie Dupont, Head of Treasury Ops
ACF® doctrine version: v1.0
Decision perimeter (allowed): reconcile intra-day settlement breaks under 10k EUR, post matching entries to the GL.
Forbidden actions: any FX trade, any payment instruction outside the pre-approved counterparty list, any change to the ledger structure.
Escalation thresholds: any break > 10k EUR, any pattern of 3+ breaks from the same counterparty within 24h.
Kill switch: Ops can suspend the agent within 2 minutes via the ACF-07 panel. Drilled quarterly.
Audit log: every action logged with input, decision, signature; 6-month retention in the ACF-09 register.
Sign-off: DDAO + CISO + Head of Compliance.
`;
const result = await client.callTool({
name: "acf.evaluate-agent-mandate",
arguments: {
mandate_text: mandateText,
agent_purpose:
"Reconcile intra-day settlement breaks and post matching journal entries up to 10k EUR.",
deployment_context: "EU bank, internal treasury, 24/7 ops.",
locale: "en",
},
});
console.log(JSON.stringify(result.content, null, 2));Réponse
{
"verdict": "approve",
"rationale": "All canonical mandate sections are present; no critical placeholders detected.",
"strengths": [
"Périmètre de décision: present.",
"Actions interdites: present.",
"Seuils d'escalade: present.",
"Kill switch: present.",
"Audit log / decision register: present.",
"Doctrine version: present.",
"Sign-off: present."
],
"identified_gaps": [
{
"area": "Identification du DDAO",
"severity": "high",
"description": "Identification du DDAO missing or insufficient."
}
],
"required_additions": [
{
"section": "Identification du DDAO",
"suggested_text": "Name an actual DDAO (person or role): placeholders like 'TBD' are not acceptable.",
"fiche_reference": "ACF-13"
}
],
"reference_fiches": [
"ACF-04",
"ACF-07",
"ACF-P6",
"ACF-13"
],
"acf_compliance_score": 85,
"confidence": "low",
"assumptions": [
"Mandate evaluation uses an 8-check canonical baseline: sector-specific extras not yet implemented."
],
"gaps_to_validate": [
"Confirm with the DDAO that the named escalation thresholds reflect real organisational SLAs.",
"Confirm that the kill switch drill has been run in the last quarter."
],
"requires_human_review": true,
"rationale_per_rule": [
{
"rule_id": "evaluate-mandate.ddao_appointed",
"rule_version": "2026-06",
"fired": false,
"evidence": "Identification du DDAO check"
},
{
"rule_id": "evaluate-mandate.decision_perimeter",
"rule_version": "2026-06",
"fired": true,
"evidence": "Périmètre de décision check"
},
{
"rule_id": "evaluate-mandate.forbidden_actions",
"rule_version": "2026-06",
"fired": true,
"evidence": "Actions interdites check"
},
{
"rule_id": "evaluate-mandate.escalation_thresholds",
"rule_version": "2026-06",
"fired": true,
"evidence": "Seuils d'escalade check"
},
{
"rule_id": "evaluate-mandate.kill_switch",
"rule_version": "2026-06",
"fired": true,
"evidence": "Kill switch check"
},
{
"rule_id": "evaluate-mandate.audit_log",
"rule_version": "2026-06",
"fired": true,
"evidence": "Audit log / decision register check"
},
{
"rule_id": "evaluate-mandate.doctrine_version",
"rule_version": "2026-06",
"fired": true,
"evidence": "Doctrine version check"
},
{
"rule_id": "evaluate-mandate.sign_off",
"rule_version": "2026-06",
"fired": true,
"evidence": "Sign-off check"
}
],
"doctrine_version": "ACF framework v1.0 / rules 2026-06",
"doctrine_hash": "sha256:119819463363cde0649504ab8ed5a96982fdb8506441f2c5e76e7e3c3feb77f1",
"doctrine_signature": "ed25519:3R0oIiqL3Kgd…",
"doctrine_archive_url": "https://acfstandard.io/archive/doctrine/v1.0/doctrine-v1.0.json",
"regulatory_snapshot": "EU AI Act (Reg. 2024/1689, incl. Digital Omnibus deferral) + GDPR (Reg. 2016/679) + DORA (Reg. 2022/2554) + NIS2 (Dir. 2022/2555) + ISO 42001:2023: as of 2026-06-07",
"generated_at": "2026-11-01T12:06:31.493Z",
"disclaimer": "Preliminary qualification produced by the ACF® deterministic engine. Not legal advice. Human review required. Do not use for autonomous regulatory decision-making. See doctrine_archive_url for the version of the doctrine used."
}Erreurs courantes
- Paramètres invalides : mandate_text de moins de 50 ou de plus de 10 000 caractères, ou agent_purpose vide. L’appel échoue avec une erreur JSON-RPC dont le message liste les champs en cause.
- Confiance basse : quand peu de champs de contexte sont fournis, confidence vaut low et assumptions dit ce qui a été supposé. Complétez l’entrée avant de vous appuyer sur le résultat.
Outils liés
acf.assign-ddao-controls: obtenir le jeu de contrôles à coller dans le mandat avant l’audit.acf.classify-agent: qualifier l’agent en amont si le mandat ne précise pas encore son niveau d’autonomie ou son rôle régulatoire.acf.fiche.lookup: récupérer le détail des fiches référencées (ACF-04, ACF-07, ACF-P6, ACF-13) pour rédiger les required_additions.