
Agent Control Protocol (ACP) — Spécification officielle en anglais. Architecture d'autorisation cryptographiquement vérifiable pour les agents IA autonomes.
Contrôle d'admission pour les actions des agents.
Avant qu'un agent ne modifie l'état du système, ACP répond à quatre questions : Qui est cet agent ? Que sont-ils autorisés à faire ? Cette action est-elle conforme à la politique ? Le résultat peut-il être attribué à une institution responsable ?
Cryptographic identity · Scoped capability tokens · Verifiable delegation chains · Execution proof
https://agentcontrolprotocol.xyz
Agent Control Protocol: Admission Control for Agent Actions Marcelo Fernandez (TraslaIA), 2026
DOI: 10.5281/zenodo.19672575 · arXiv: 2603.18829
ACP est le fondement publié d'une série de sept articles sur la gouvernance formelle des agents. Chaque article traite d'une couche distincte de la pile de gouvernance.
| Article | Titre | Dépôt | Statut |
|---|---|---|---|
| Paper 0 | Atomic Decision Boundaries | decision-boundary-model | Zenodo · arXiv:2604.17511 |
| Paper 1 | Agent Control Protocol (ACP) — ce dépôt | acp-framework-en | Zenodo · arXiv:2603.18829 |
| Paper 2 | From Admission to Invariants (IML) | iml-benchmark | Zenodo · arXiv:2604.17517 |
| Paper 3/4 | Irreducible Governance Structure | governance-structure | Zenodo · arXiv: pending |
| Paper 5 | Reconstructive Authority Model (RAM) | reconstructive-authority-model | Zenodo · arXiv:2604.22898 |
| Paper 6 | Operationalizing Reconstructive Authority | operationalizing-ram | Zenodo · arXiv: pending |
| Paper 7 | Closing the Execution Gap (Empirical) | agent-governance-applied | Zenodo · arXiv: pending |
Logique de la série : Paper 0 prouve quand l'admissibilité peut être garantie → Paper 1 (ACP) construit le protocole → Paper 2 détecte les dérives invisibles à l'application → Paper 3/4 prouve que l'application correcte ≠ allocation équitable et établit l'irréductibilité de l'architecture à quatre couches → Paper 5 (RAM) fournit une fermeture opérationnelle : quand exécuter sous observabilité partielle → Paper 6 opérationnalise RAM en tant que boucle de récupération d'exécution → Paper 7 fournit la première validation empirique de la pile complète sur des agents LangGraph réels.
Les agents autonomes passent de l'expérimentation à la production. Ils interagissent déjà avec les API, les systèmes d'entreprise, l'infrastructure financière et d'autres agents.
Lorsqu'un agent agit entre organisations, plusieurs questions se posent immédiatement :
Aujourd'hui, la plupart des systèmes ne peuvent pas répondre à ces questions de manière fiable.
ACP introduit l'infrastructure pour répondre à toutes ces questions.
Plusieurs initiatives abordent la manière dont les agents autonomes interagissent avec les systèmes. La plupart se concentrent sur l'accès aux outils ou la communication. ACP se concentre sur l'autorité, la vérification de l'exécution et la responsabilité institutionnelle.
ACP aborde une couche différente : qui a autorisé l'action, sous quelle politique, et qui est responsable du résultat.
Les ingénieurs évaluant ACP demandent souvent : « pourquoi ne pas utiliser OPA ? » Ces systèmes sont complémentaires, pas concurrents.
OPA peut être utilisé comme moteur d'évaluation de politiques à l'intérieur d'un système conforme à ACP. ACP ne remplace pas OPA — il ajoute la couche d'identité de l'agent, la chaîne de délégation et la preuve d'exécution qu'OPA ne fournit pas.
¹ ACP (Agent Control Protocol) n'est pas lié à d'autres initiatives partageant le même acronyme.
Kubernetes utilise un Admission Controller pour intercepter les requêtes API avant qu'elles n'atteignent le cluster — évaluant les politiques, appliquant les quotas, rejetant les opérations non conformes. ACP applique le même modèle aux actions des agents.``` agent intent ↓ [1] Identity check → pkg/agent + pkg/hp (ACP-AGENT-1.0, ACP-HP-1.0) ↓ [2] Capability check → pkg/ct + pkg/dcma (ACP-CT-1.0, ACP-DCMA-1.0) ↓ [3] Policy check → pkg/risk + pkg/psn (ACP-RISK-3.0, ACP-PSN-1.0) ↓ [4] ADMIT / DENY / ESCALATE ↓ (if ADMIT) [5] Execution token → pkg/exec (ACP-EXEC-1.0) ↓ [6] Ledger record → pkg/ledger (ACP-LEDGER-1.3) ↓ system state mutation
La différence avec Kubernetes : ACP opère à travers les frontières institutionnelles. Un agent de la Banque A peut être admis par la Banque B sans que la Banque B fasse confiance à l'infrastructure interne de la Banque A — seule la preuve cryptographique compte.
---
## Comment fonctionne ACP
ACP traite les interactions des agents comme des **opérations gouvernées**, et non comme de simples demandes.
Chaque interaction passe par six étapes structurées :
1. **Vérification d'identité** — confirmer qui est l'agent (`ACP-AGENT-1.0`, `ACP-HP-1.0`)
2. **Validation des capacités** — confirmer ce que l'agent est autorisé à faire (`ACP-CT-1.0`, `ACP-DCMA-1.0`)
3. **Autorisation de politique** — confirmer que l'action est autorisée selon la politique en vigueur (`ACP-RISK-3.0`, `ACP-PSN-1.0`)
4. **Exécution déterministe** — exécuter exactement ce qui a été autorisé, rien de plus (`ACP-EXEC-1.0`)
5. **Enregistrement vérifiable** — produire une preuve cryptographique de ce qui s'est passé (`ACP-LEDGER-1.3`, `ACP-PROVENANCE-1.0`)
6. **Mise à jour de la confiance** — mettre à jour la réputation et l'état d'attestation en fonction de l'interaction (`ACP-REP-1.2`, `ACP-LIA-1.0`)
Cela permet aux interactions de devenir traçables, auditables et attribuables entre les organisations.
---
## Invariant constitutionnel
L'exécution d'ACP est régie par un seul invariant architectural.```
Execute(request) ⟹
ValidIdentity ∧ ValidCapability ∧ ValidDelegationChain ∧ AcceptableRisk
| Condition | Signification |
|---|---|---|
| ValidIdentity | L'agent possède une identité vérifiée et signée |
| ValidCapability | L'agent détient un jeton de capacité autorisé |
| ValidDelegationChain | Chaque étape de délégation est traçable jusqu'à une racine institutionnelle |
| AcceptableRisk | Le score de risque est dans les limites des politiques institutionnelles |
Aucune action d'agent n'est exécutée à moins que les quatre conditions ne soient satisfaites simultanément.
Les couches de protocole existent pour appliquer cet invariant à chaque frontière d'interaction.
L'ACP est organisé en cinq couches de protocole. Chaque couche s'appuie sur la précédente et ajoute une capacité de gouvernance distincte.``` ACP PROTOCOL ARCHITECTURE
┌──────────────────────────────────────┐
│ ACTORS │
│ Humans · Systems · Agents │
└──────────────────────────────────────┘
│
▼
==================================================================== L1 — CORE EXECUTION
┌──────────────────────────────────────────────────────────────────┐ │ IDENTITY & CAPABILITIES │ │ SIGN · AGENT · CT · CAP-REG │ │ │ │ Agent identity, credential verification and capability registry │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ POLICY & AUTHORITY │ │ HP · DCMA │ │ │ │ Policy evaluation and authorization decision │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ EXECUTION │ │ MESSAGES │ │ │ │ Deterministic command execution and interaction handling │ └──────────────────────────────────────────────────────────────────┘
==================================================================== L2 — TRUST LAYER
┌──────────────────────────────────────────────────────────────────┐ │ RISK MANAGEMENT │ │ RISK · REV │ │ │ │ Risk scoring and revocation control │ └──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐ │ INTERACTION TRUST │ │ ITA │ │ │ │ Trust attestations for interactions │ └──────────────────────────────────────────────────────────────────┘
==================================================================== L3 — VERIFIABLE EXECUTION
┌──────────────────────────────────────────────────────────────────┐ │ EXECUTION RECORD │ │ EXEC · POLICY-CTX │ │ │ │ Proof of execution and policy context snapshot │ └──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐ │ PROVENANCE │ │ PROVENANCE GRAPH │ │ │ │ Interaction lineage and cross-system event tracking │ └──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐ │ LEDGER │ │ │ │ Tamper-resistant storage for verifiable execution history │ └──────────────────────────────────────────────────────────────────┘
==================================================================== L4 — GOVERNANCE
┌──────────────────────────────────────────────────────────────────┐ │ GOVERNANCE EVENTS │ │ GOV-EVENTS │ │ │ │ Institutional governance tracking │ └──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐ │ REPUTATION & LIABILITY │ │ REP · LIA │ │ │ │ Reputation accumulation and liability attribution │ └──────────────────────────────────────────────────────────────────┘
┌──────────────────────────────────────────────────────────────────┐ │ HISTORICAL RECORD │ │ HIST │ │ │ │ Verifiable long-term interaction history │ └──────────────────────────────────────────────────────────────────┘
==================================================================== L5 — FEDERATION
┌──────────────────────────────────────────────────────────────────┐ │ DECENTRALIZED ACP │ │ ACP-D │ │ │ │ Cross-institution federation and verification │ └──────────────────────────────────────────────────────────────────┘
→ **Nouveau sur ACP ? Commencez ici :** [docs/admission-flow.md](https://github.com/chelof100/acp-framework-en/blob/HEAD/docs/admission-flow.md) — le guide complet étape par étape pour le contrôle d'admission
→ **Modèle de domaine formel et graphe de dépendances :** [ARCHITECTURE.md](https://github.com/chelof100/acp-framework-en/blob/HEAD/ARCHITECTURE.md)
---
## Interaction entre institutions
ACP est conçu pour les interactions entre systèmes indépendants.
Chaque étape produit un artefact vérifiable qui fait partie de l'enregistrement permanent de l'interaction.```
INSTITUTION A INSTITUTION B
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ │ │ │
│ AGENT A │ │ AGENT B │
│ │ │ │
└──────────────┬──────────────┘ └──────────────┬──────────────┘
│ │
│ 1 interaction request │
└────────────────────────────────────────►│
▼
┌───────────────────────────┐
│ AUTHORITY (HP) │
│ policy evaluation │
│ capability validation │
│ risk / revocation check │
└─────────────┬─────────────┘
│ 2 decision
▼
┌───────────────────────────┐
│ EXECUTION │
│ deterministic action │
│ command execution │
└─────────────┬─────────────┘
│ 3 execution record
▼
┌───────────────────────────┐
│ PROVENANCE │
│ interaction lineage │
│ cross-org attribution │
└─────────────┬─────────────┘
│ 4 verifiable record
▼
┌───────────────────────────┐
│ LEDGER │
│ execution hash │
│ policy context snapshot │
└─────────────┬─────────────┘
│ 5 trust update
▼
┌───────────────────────────┐
│ REPUTATION │
│ ITA attestation │
│ reputation update │
└───────────────────────────┘
Toute action d'un agent doit être autorisée par une politique définie. Pas de permissions implicites. Pas d'accès ambiant.
L'exécution doit correspondre exactement à la commande autorisée. Ce qui est autorisé est ce qui est exécuté — rien de plus.
Chaque interaction produit des artefacts cryptographiquement vérifiables. L'exécution peut être prouvée a posteriori, sans faire confiance à un seul parti.
La responsabilité est toujours attribuable à un acteur identifiable. Les chaînes de délégation sont complètes et traçables jusqu'à une racine institutionnelle.
Des systèmes indépendants peuvent se vérifier mutuellement sans autorité centrale. La confiance se gagne par un historique d'interactions vérifiable, elle n'est pas supposée.
Identité, capacités, application des politiques et exécution déterministe.
Évaluation dynamique des risques et gestion de la confiance dans les interactions.
| Composant | Rôle |
|---|---|
| RISK | Moteur de risque déterministe — Score de Risque RS (0–100) |
| REV | Protocole de révocation — point de terminaison et CRL |
| ITA | Ancre de Confiance Institutionnelle — attestations de confiance par interaction |
Chaque interaction laisse un enregistrement complet et cryptographiquement vérifiable.
| Composant | Rôle |
|---|---|
| EXEC | Jetons d'exécution — usage unique, validité de 300s |
Responsabilité à long terme et supervision institutionnelle.
| Composant | Rôle |
|---|
Interopérabilité entre institutions indépendantes.
| Composant | Rôle |
|---|---|
| ACP-D | ACP décentralisé — fédération inter-institutions, quorum BFT |
Version active actuelle par spécification. Ce tableau est la référence faisant autorité pour « quelle version implémenter ».
¹ ACP-SIGN-1.0 reste actif en tant que base Ed25519. ACP-SIGN-2.0 ajoute l'extension post-quantique (ML-DSA-65). Les deux sont en vigueur jusqu'au déploiement de Dilithium en production.
Les versions remplacées sont archivées dans archive/specs/.
Les implémentations peuvent adopter ACP de manière incrémentale, en commençant par L1.
Exigences normatives complètes par niveau :
→ Définition normative de la conformité : spec/governance/ACP-CONF-1.2.md
A=(ID,C,P,D,L,S)acp:cap:*F_anom + temps de refroidissementPatternKey(agentID, cap, res), élimine le mélange d'état inter-contexte0.6·ITS + 0.4·ERSacp-framework/ ├── spec/ │ ├── core/ ← L1: identity, capability, delegation │ ├── security/ ← L2: trust, risk, revocation │ ├── operations/ ← L3–L4: execution, ledger, governance │ ├── governance/ ← conformance, events, process │ └── decentralized/ ← L5: ACP-D ├── openapi/ │ └── acp-api-1.0.yaml ← OpenAPI 3.1.0 spec for all ACP-API-1.0 endpoints ├── compliance/ │ ├── ACP-TS-1.1.md ← test vector format specification │ ├── test-vectors/ ← single-shot conformance vectors (CORE · DCMA · HP · LEDGER · EXEC · RISK-2.0) │ │ └── sequence/ ← stateful sequence vectors (ACR-1.0, 5 scenarios) │ ├── adversarial/ ← adversarial evaluation (Exp 1–12: cooldown evasion, multi-agent, backend stress, token replay, deviation collapse, threshold sensitivity, multi-tool IPI) │ └── runner/ ← ACR-1.0 compliance runner (library mode + HTTP mode) ├── tla/ │ ├── ACP.tla ← base formal model — Safety · LedgerAppendOnly · RiskDeterminism (v1.17) │ ├── ACP.cfg ← TLC configuration for ACP.tla │ ├── ACP_Extended.tla ← extended model — F_anom · cooldown · liveness · 11 invariants + 4 temporal (v1.25) │ ├── ACP_Extended.cfg ← single-agent config — 5,684,342 states · 3,147,864 distinct · depth 15 · 0 violations │ └── ACP_Extended_2agents.cfg ← two-agent config — 4,294,930,695 distinct states · LEDGER_BOUND=11 · 11 invariants · 0 violations ├── archive/ │ └── specs/ ← superseded specification versions (historical reference) ├── impl/ │ └── go/ ← reference implementation ├── ARCHITECTURE.md ← formal domain model, dependency graph ├── CHANGELOG.md └── README.md
---
## Démarrage rapide```bash
# Option 1: Go reference server
cd impl/go
docker compose up
# Option 6: ACR-1.0 sequence compliance runner — validate ACP-RISK-3.0 stateful behavior
cd compliance/runner
go run . --mode library --dir ../test-vectors/sequence --strict
# PASS 5/5 — SEQ-BENIGN-001 SEQ-BOUNDARY-001 SEQ-PRIVJUMP-001 SEQ-FANOM-RULE3-001 SEQ-COOLDOWN-001
# Option 5: Multi-org demo — Org-A issues signed policy+reputation, Org-B validates independently
cd examples/multi-org-demo
docker compose up
# Org-A: http://localhost:8081 | Org-B: http://localhost:8082
# Option 2: Python SDK — core admission control pattern (no server required)
cd impl/python
pip install -e .
python examples/admission_control_demo.py
# Option 3: Python SDK — LangChain integration (@acp_tool decorator)
cd impl/python
pip install -e .
python examples/langchain_agent_demo.py
# Option 4: LangChain + real LLM agent
pip install langchain langchain-openai
export OPENAI_API_KEY=sk-...
python examples/langchain_agent_demo.py --with-llm
# Option 7: Real-LLM IPI demo (Ollama + DeepSeek-R1:8b) — ACP blocks IPI-induced fund_transfer
# Requires: ollama serve && ollama pull deepseek-r1:8b
cd demos/ollama-agent
python agent_demo.py
# ACP denies every IPI-induced fund_transfer (RS=80); cooldown activates after 3 denials
Vérification de santé :```bash curl http://localhost:8080/acp/v1/health
ENTRÉE :```json
{
"acp_version": "1.0",
"status": "operational",
"timestamp": 1718920000,
"components": {
"policy_engine": "operational",
"audit_ledger": "operational",
"agent_registry": "operational",
"rev_endpoint": "operational"
}
}
Apache 2.0
| Protocole | Focus | Limite de portée |
|---|
| MCP (Model Context Protocol) | Accès aux outils pour LLMs | Vérification d'autorité, application de politique, auditabilité d'exécution |
| A2A (Agent-to-Agent) | Modèles de communication entre agents | Confiance institutionnelle, gouvernance, chaîne de responsabilité |
| OpenAI Agents SDK | Orchestration d'outils | Autorité interorganisationnelle, provenance, responsabilité |
| Agent Client Protocol ¹ | Intégration client/agent d'exécution | Gouvernance, chaînes de délégation, historique d'exécution vérifiable |
| ACP (Agent Control Protocol) | Infrastructure de gouvernance et de responsabilité | — |
| Système | Ce qu'il fait | Ce qu'ACP ajoute |
|---|
| OPA (Open Policy Agent) | Évalue les politiques à partir des données et des règles | Identité cryptographique de l'agent + chaîne de délégation + preuve d'exécution |
| AWS IAM / Azure RBAC | Modèle de permissions statique pour les ressources cloud | Délégation dynamique d'agent à agent avec chaîne vérifiable + registre |
| OAuth 2.0 + OIDC | Autorisation des utilisateurs et des services via des jetons | Délégation multi-sauts d'agent avec non-escalade + responsabilité institutionnelle |
| SPIFFE / SPIRE | Identité de charge de travail cryptographique | ACP s'appuie sur l'identité de charge de travail pour ajouter le cadrage des capacités + la gouvernance |
| ACP | Contrôle d'admission pour les actions des agents | — |
| Composant | Rôle |
|---|
| SIGN | Signature cryptographique — fondation de tous les objets du protocole |
| AGENT | Spécification formelle d'identité d'agent A=(ID,C,P,D,L,S) |
| CT | Jeton de Capacité — structure, émission et vérification |
| CAP-REG | Registre canonique des capacités acp:cap:* |
| HP | Protocole de Poignée de Main — preuve cryptographique de possession de capacité |
| DCMA | Délégation multi-saut — non-escalade et révocation transitive |
| MESSAGES | Format filaire — 5 types de messages normalisés |
| POLICY-CTX | Instantané du Contexte de Politique — état de politique signé au moment de l'exécution |
| PROVENANCE | Provenance de l'Autorité — preuve rétrospective de la chaîne de délégation |
| LEDGER | Registre d'Audit — à ajout seul, chaîné par hachage |
| GOV-EVENTS | Flux d'événements de gouvernance — suivi institutionnel |
| REP | Extension de Réputation — score composite 0.6·ITS + 0.4·ERS |
| LIA | Traçabilité de la Responsabilité — chaîne de responsabilité attribuée |
| HIST | API d'interrogation de l'historique — historique d'exécution audité |
| Spec | Version active | Niveau |
|---|
| ACP-SIGN | 2.0 ¹ | L1 |
| ACP-AGENT | 1.0 | L1 |
| ACP-CT | 1.0 | L1 |
| ACP-CAP-REG | 1.0 | L1 |
| ACP-HP | 1.0 | L1 |
| ACP-DCMA | 1.0 | L1 |
| ACP-MESSAGES | 1.0 | L1 |
| ACP-RISK | 3.0 | L2 |
| ACP-REV | 1.0 | L2 |
| ACP-ITA | 1.1 | L2/L4 |
| ACP-API | 1.0 | L3 |
| ACP-EXEC | 1.0 | L3 |
| ACP-LEDGER | 1.3 | L3 |
| ACP-PROVENANCE | 1.0 | L3 |
| ACP-POLICY-CTX | 1.0 | L3 |
| ACP-PSN | 1.0 | L3 |
| ACP-PAY | 1.0 | L4 |
| ACP-REP | 1.2 | L4 |
| ACP-GOV-EVENTS | 1.0 | L4 |
| ACP-LIA | 1.0 | L4 |
| ACP-HIST | 1.0 | L4 |
| ACP-NOTIFY | 1.0 | L4 |
| ACP-DISC | 1.0 | L4 |
| ACP-BULK | 1.0 | L4 |
| ACP-CROSS-ORG | 1.0 | L4 |
| ACP-REP-PORTABILITY | 1.1 | L4 |
| ACP-CONF | 1.2 | — |
| Niveau | Nom | Ce que vous obtenez |
|---|
| L1 | Core | Identité, jetons de capacité et exécution |
| L2 | Sécurité | Score de risque, révocation et ancres de confiance |
| L3 | Exécution Vérifiable | Jetons d'exécution, registre et provenance |
| L4 | Gouvernance | Réputation, historique et responsabilité |
| L5 | Fédération | Réseaux ACP décentralisés |
| Niveau | Spécifications requises |
|---|
| L1 | SIGN · AGENT · CT · CAP-REG · HP · DCMA · MESSAGES |
| L2 | L1 + RISK · REV · ITA-1.0 |
| L3 | L2 + API · EXEC · LEDGER · PROVENANCE · POLICY-CTX · PSN |
| L4 | L3 + PAY · REP-1.2 · ITA-1.1 · GOV-EVENTS · LIA · HIST · NOTIFY · DISC · BULK · CROSS-ORG · REP-PORTABILITY |
| L5 | L4 + ACP-D · ITA-1.1 quorum BFT |
| Item | Status |
|---|
| ACP-CONF-1.2 | ✅ Terminé — source normative unique de conformité |
| ACP-LEDGER-1.3 | ✅ Terminé — sig normativement obligatoire |
OpenAPI spec (openapi/acp-api-1.0.yaml) | ✅ Terminé — OpenAPI 3.1.0, tous les points d'accès ACP-API-1.0 |
| Vecteurs de test de conformité (CORE · DCMA · HP · LEDGER · EXEC · PROV · PCTX · REP · RISK-2.0) | ✅ Terminé — 73 vecteurs signés + 65 vecteurs non signés RISK-2.0 |
| Implémentation de référence — 23 paquets Go (L1–L4) | ✅ Terminé — impl/go/pkg/ couvre tous les niveaux de conformité |
pkg/psn instantané de politique | ✅ Terminé — transitions atomiques, un seul instantané ACTIF |
SDK Python — ACPAdmissionGuard + @acp_tool (LangChain) | ✅ Terminé — impl/python/ |
ACP-RISK-2.0 — F_anom + Cooldown + pkg/risk | ✅ Terminé — déterministe, sub-µs, 65 vecteurs |
ACP-RISK-3.0 — Règle 1 contextuelle (pkg/risk/engine.go) | ✅ Terminé — v1.22 · CountPattern(ctxKey, 60s) remplace CountRequests(agentID) · mélange d'état inter-contexte éliminé |
Démo d'agent de paiement (examples/payment-agent/) | ✅ Terminé — v1.16 |
| ACP-SIGN-2.0 — Hybride post-quantique (Ed25519 + ML-DSA-65) | ✅ Terminé — spec v1.16 ; ML-DSA-65 réel via cloudflare/circl pkg/sign2/ v1.20 |
Exécuteur de conformité de séquence ACR-1.0 (compliance/runner/) | ✅ Terminé — v1.17 · mode bibliothèque + HTTP · 5/5 RÉUSSI |
Vecteurs de test de séquence (compliance/test-vectors/sequence/) | ✅ Terminé — v1.17 · 5 scénarios avec état |
Modèle de base TLA+ (tla/ACP.tla) | ✅ Terminé — v1.17 · 3 invariants · 0 violations |
Modèle étendu TLA+ (tla/ACP_Extended.tla) | ✅ Terminé — v1.28 · 11 invariants + 4 propriétés temporelles · mono-agent : 5,684,342 états · deux agents LB=11 : 4,294,930,695 états distincts · 0 violations |
Évaluation adverse (compliance/adversarial/) | ✅ Terminé — v1.29 · 14 expériences · nombres de benchmark réels (N=5 runs, mean±std) |
Pipelining Redis (compliance/adversarial/redis_pipelined.go) | ✅ Terminé — v1.20 · 2 RTT/requête · ~1.8× accélération |
Benchmarks ML-DSA-65 (pkg/sign2/sign2_bench_test.go) | ✅ Terminé — v1.20 · Ed25519 ~25 µs signature / ~56 µs vérification · ML-DSA-65 ~100–130 µs signature / ~81 µs vérification |
NullQuerier + StatelessEngine (pkg/risk/null_querier.go, stateless_engine.go) | ✅ Terminé — v1.21 · base LedgerQuerier zéro-état pour comparaison sans état/avec état |
Expérience sans état vs avec état (Exp 6, pkg/risk/stateless_comparison_test.go) | ✅ Terminé — v1.21 · 500 req · sans état 500/500 vs ACP 2/500 (0.4%) · latence de détection 11 actions |
Test de vulnérabilité state-mixing (Exp 7, pkg/risk/statemixing_test.go) | ✅ Terminé — v1.21 · contamination Règle 1 inter-contexte · RS +20 · ESCALATED→DENIED après 11 data.read |
| Analyse d'attaque state-mixing (article §State-Mixing Vulnerability) | ✅ Terminé — v1.21 · caractérisation formelle · nombres Exp 7 · chemin d'atténuation ACP-RISK-3.0 |
Correction state-mixing (Exp 8, pkg/risk/statemixing_fix_test.go) | ✅ Terminé — v1.22 · RISK-3.0 · 3 scénarios · RS propre=50 ESCALATED · RS contaminé=50 ESCALATED · rafale même contexte RS=85 DENIED |
| Article v1.23 — Corrections sprint | ✅ Terminé — v1.23 · §RISK-3.0 dans §Mécanismes techniques · thèse contrefactuelle · 767–921 ns unifié · Exp 3b→Exp 4 renumérotée · Exp 3 N=5 · toutes les 7 corrections de contre-vérification |
Effondrement de déviation (Exp 9, compliance/adversarial/exp_deviation_collapse.go) | ✅ Terminé — v1.23 · 3 phases : base BAR=0.70 → effondrement BAR=0.00 → contrefactuel BAR=1.00 |
| Simulation de dérive Phase D (extension Exp 9) | ✅ Terminé — v1.25 · 5 lots × 20 cas · 0 %→80 % d'assainissement · alerte précoce ΔBAR déclenche au lot 2 (3 lots avant effondrement) |
| Modèle de confiance ITA (article §Trust Model and Failure Modes) | ✅ Terminé — v1.20 · bootstrap / fenêtre de compromission / autorité de révocation — affirmations semi-formelles |
SDK TypeScript (impl/typescript/) | ✅ Terminé — v1.4.0 · zéro dépendance · 68 tests |
SDK Rust (impl/rust/) | ✅ Terminé — v1.4.0 · ed25519-dalek v2 · 43 tests |
pkg/barmonitor — Moniteur BAR avec détection de tendance ΔBAR (impl/go/pkg/barmonitor/) | ✅ Terminé — v1.24 · 18 tests · AlertThreshold + AlertTrend (se déclenche avant le seuil) · tampon circulaire thread-safe |
API EvaluateCounterfactual (impl/go/pkg/risk/counterfactual.go) | ✅ Terminé — v1.24 · 14 tests · 3 fabriques de mutations (structurelle/comportementale/temporelle) · BAR(results) · fail-closed |
Simulation de dérive Phase D (Exp 9) + correction du tampon circulaire computeTrend() | ✅ Terminé — v1.25 · alerte précoce ΔBAR avant le seuil · bogue d'ordre temporel corrigé |
TLA+ FailureConditionPreservation + NoDegenerateAdmissibility (11 invariants) | ✅ Terminé — v1.27 · 0 violations · 4,294,930,695 états distincts (deux agents LB=11, 10.5h) |
Point d'accès HTTP POST /acp/v1/counterfactual (impl/go/cmd/acp-server/) | ✅ Terminé — v1.25 · 7 tests d'intégration · mutations structurelles + comportementales via HTTP |
| Modèle d'adversaire formel A=(K,S,B) + taxonomie d'expériences (Exp 1–14) | ✅ Terminé — v1.29 · boîte noire / conscient des formules / état complet · toutes les expériences mappées |
| Analyse de sensibilité du seuil (Exp 11, 5 configs ±10 pts) | ✅ Terminé — v1.26 · taux de faux refus 0.00 toutes configs · BAR monotone 0.75→0.60 · T3 optimum local |
| Garanties de détection — Proposition + P(détection) binomiale | ✅ Terminé — v1.26 · W=40 τ=0.10 · P=1.00 à p₁=0.00 · P=0.95 à p₁=0.05 |
| Comparaison fonctionnelle AgentSpec (5 dimensions) | ✅ Terminé — v1.26 · composable, pas concurrent · différenciateur de détection d'effondrement de gouvernance |
Exp 12 : Contrôle d'admission IPI multi-outil (compliance/adversarial/exp_agent_multitool.go) | ✅ Terminé — v1.27 · 4 outils · 3 phases · BAR A=0.30/B=1.00/C=0.30 · F_anom avec état persistance 24h |
Démo IPI LLM réel (demos/ollama-agent/agent_demo.py) | ✅ Terminé — v1.27 · DeepSeek-R1:8b · 5 tours · IPI bloqué · cooldown activé |
| Analyse du taux de faux refus (§False-Denial Rate Analysis) | ✅ Terminé — v1.27 · 0.00 état propre (Exp 11) · 0.00 post-attaque faible risque (Exp 12 Phase C) |
| Modèle de maturité de déploiement (Tier 1/2/3) + profils PolicyConfig (Low/Medium/High/Critical) | ✅ Terminé — v1.27 · BAR de base par profil · guide de migration RISK-2.0→RISK-3.0 |
Exp 13 : Fenêtre de coordination bornée (compliance/adversarial/exp_coordination_window.go) | ✅ Terminé — v1.28 · linéarité exacte CW=2N · sémantique évaluer-puis-muter · k₀=2 par agent · borne O(N) |
| Sous-section Intégration d'agent LLM déplacée vers §Mécanismes techniques | ✅ Terminé — v1.28 · après §Évaluation déterministe des risques · composable avec les filtres d'invite IPI |
Exp 14 : Comparaison des capacités OPA vs ACP (compliance/adversarial/exp_opa_benchmark.go) | ✅ Terminé — v1.29 · 3 scénarios · les moteurs sans état ne peuvent pas appliquer fréquence/cooldown sans état externe · ACP applique nativement · ~852 ns/op ACP vs ~16 000 ns/op OPA |
| §Travaux connexes — Vérification formelle et exécution forcée (étendu) | ✅ Terminé — v1.29 · limite d'expressivité OPA · alignement automate de sécurité Schneider · référence croisée Exp 14 |
Intégration série gouvernance : Articles 3–4 cités au §15 ; entrée bib fernandez2026comp | ✅ Terminé — v1.30 |
| v1.x | Protocole central et implémentation de référence — actif |
| v2.0 | ACP décentralisé (ACP-D) — en conception |
| futur | Vérification ZK, gouvernance décentralisée |