MAXIA.AI CodexIdentitySpecsIssuer DID

⤓ raw markdown (machine contract)

AI Codex — Adaptateur A2A v1 (GELÉ)

Adaptateur V2 = interop agents. Projection du DID canonique (SPEC-identity-v0.1 §2) en Agent Card A2A. Contrat normatif, non modifiable en place : tout changement = a2a-v2. La réputation est liée, jamais copiée (toujours fraîche, vérifiable à la source).

1. Transport & enveloppe

2. Liaison au DID canonique (figée)

L'Agent Card projette un DID canonique dérivé Ed25519 (SPEC-identity §2, did:key multicodec 0xED01 ou did:web). Aucune identité A2A n'existe sans DID préalablement enregistré via l'adaptateur MCP V1 (register). L'Agent Card est un dérivé du registre, jamais une source d'identité.

3. Agent Card (structure figée)

3.1 Forme

{
  "name": "<nom agent>",
  "description": "<description courte>",
  "url": "https://<endpoint A2A de l'agent>",
  "version": "<version agent>",
  "provider": { "organization": "<org|null>", "url": "<url|null>" },
  "capabilities": { "streaming": false, "pushNotifications": false },
  "skills": [],
  "x-aicodex": {
    "did": "did:key:z6Mk...",
    "reputationCredentialUrl": "https://maxiaworld.app/reputation/did:key:z6Mk...",
    "spec": "https://maxiaworld.app/spec/SPEC-adapter-a2a-v1.md",
    "profile": "aicodex-norm-v1"
  }
}

3.2 Champs standard A2A

name, description, url, version, provider, capabilities, skills : projetés depuis les métadonnées agent (SPEC-identity §2.2) et la configuration de l'agent. Hors périmètre normatif AI Codex (gouvernés par A2A). AI Codex ne les valide pas, ne les signe pas.

3.3 Extension x-aicodex (normative, octet-stable)

Bloc obligatoire pour qu'une carte soit AI Codex-conforme. Champs figés :

Champ Type Règle
did string DID canonique exact (SPEC-identity §2), résolvable via resolve MCP. Sans préfixe ni suffixe.
reputationCredentialUrl string URL absolue HTTPS de la Reputation VC vivante du did. Lien, jamais valeur inline.
spec string URL absolue de ce document (ancre de version de l'adaptateur).
profile string "aicodex-norm-v1" exact (profil de normalisation, SPEC-identity §3.3).

Aucun autre champ dans x-aicodex en v1. Aucun champ score, components, ni copie de VC : interdits dans la carte (sinon non-conforme, §6). Une réputation figée dans une carte serait périmée et non vérifiable : seul le lien est autorisé.

4. Flux de consommation (figé)

Un consommateur A2A obtient la confiance ainsi, sans qu'AI Codex soit dans le chemin de données A2A :

  1. Lire l'Agent Card (/.well-known/agent.json ou service[#a2a]).
  2. Extraire x-aicodex.did. Le résoudre via l'adaptateur MCP resolve → DID Document W3C (SPEC-identity §2.1). Vérifier que le DID Document contient un service[#a2a] cohérent avec l'URL de la carte.
  3. Récupérer la Reputation VC à x-aicodex.reputationCredentialUrl (équivalent au get_reputation MCP : VC toujours présente pour un DID connu, planchers §3.3 si pas d'activité).
  4. Vérifier la VC hors plateforme : signature eddsa-jcs-2022 de l'issuer did:web:maxiaworld.app, credentialSubject.id == x-aicodex.did, validUntil non dépassé, credentialStatus non révoqué (StatusList2021, SPEC-identity §3.2). AI Codex n'est pas requis pour cette vérification.

La carte ne fait jamais autorité sur la réputation. Elle ne fait qu'indiquer où la vérifier à la source.

5. Codes d'erreur (figés)

Servis en HTTP (carte = ressource statique). Corps JSON { "code": "...", "message": "..." }, message générique (aucune fuite d'état interne ; détail loggé serveur).

Code HTTP Sens
E_CARD_NOT_FOUND 404 Aucune Agent Card pour cet emplacement / ce DID
E_DID_MALFORMED 400 DID demandé non conforme did:key/did:web Ed25519
E_DID_NOT_FOUND 404 DID inconnu du registre (pas de carte dérivable)
E_CARD_NONCONFORMANT 422 Carte présente mais x-aicodex absent/invalide (état serveur, jamais servi tel quel en prod)
E_RATE_LIMITED 429 Quota dépassé (§7)
E_INTERNAL 500 Erreur serveur, aucun détail divulgué

Aucun autre code en v1. Pas de code divulguant la réputation par canal d'erreur (la réputation passe uniquement par la VC liée).

6. Conformité adaptateur

Carte A2A AI Codex-conforme si, et seulement si : (a) servie aux deux emplacements §1 avec le même contenu, (b) x-aicodex présent et conforme §3.3 (4 champs exacts, rien de plus), (c) reputationCredentialUrl est un lien résolvable vers la VC vivante, aucune VC ni score inline, (d) x-aicodex.did résout à un DID Document §2.1 dont le service[#a2a] est cohérent. Les quatre nécessaires et suffisants.

7. Quotas & tailles (figés)

8. Neutralité

L'Agent Card n'expose aucun rail de paiement, aucune adresse crypto, aucune préférence de réseau. Elle ne porte que l'identité (DID) et le pointeur de réputation. Les rails restent hors du coeur et hors de cet adaptateur (condition de neutralité, SPEC-identity §1).

9. Suivant

Adaptateur V3 AP2 : la Reputation VC liée ici devient une attestation attachable à un mandate AP2, sans dépendance inverse. Voir SPEC-adapter-ap2-v1.md.

Frozen specification. The raw .md at the same path is the canonical machine artifact referenced by DID documents and A2A cards — rendered here for humans only.