ZEON SYSTEMS RESEARCH · RA-153.1-2 · IMPLEMENTATION SPECIFICATION

RA-153.1-2 — Implementation Specification v0.2

Profil normatif proposé · dérivé de WP006 v1.6 Scientific Edition · octobre 2026

R0 → R6Human GateMandat bornéReplay-safeAudit vérifiable
Objet. Cette spécification transforme l’architecture de référence RA-153.1-2 en un contrat d’implémentation suffisamment précis pour permettre à des équipes indépendantes de construire des systèmes compatibles. Les noms d’artefacts R0→R6 et les invariants proviennent du Working Paper v1.5. Les endpoints, champs détaillés, états et codes ci-dessous constituent la proposition normative v0.2 de ce document.

1. Statut et périmètre

RA-153.1-2 est une architecture de référence. Cette Implementation Specification définit un profil concret pour réaliser les responsabilités, interfaces et invariants de cette architecture sans imposer un langage, un fournisseur, un LLM, un moteur de politiques, un protocole d’agents ou un mécanisme d’attestation particulier.

Une implémentation peut utiliser REST, gRPC, messages, appels de bibliothèque ou une combinaison de ces mécanismes. Elle est conforme si elle préserve les propriétés normatives, pas si elle reproduit nécessairement la topologie logicielle illustrée ici.

Non objectif. Cette v0.1 ne normalise pas encore un protocole Internet, un format cryptographique universel, un langage de politiques ni un schéma d’identité fédérée.

2. Terminologie normative

TermeSens
DOIT / NE DOIT PASExigence de conformité du profil v0.2.
DEVRAIT / NE DEVRAIT PASRecommandation forte ; toute déviation doit être documentée.
PEUTOption d’implémentation.
PassageCycle complet depuis R0 jusqu’à un non-passage ou un effet prouvé.
Effet de domaineMutation du monde métier : paiement, inscription, envoi, écriture, suppression, commande, publication, action physique, etc.
MandatAutorisation exécutable bornée produite uniquement après EXECUTE.
Human GatePoint où une autorité humaine explicitement désignée doit résoudre une escalade.

3. Architecture d’exécution

Client / Application
        │
        ▼
R0 RequestEnvelope
        │
        ▼
[Plan sémantique] ──► R1 NeedDescriptor
        │
        ▼
[Plan capacitaire] ─► R2 CapabilityRequirementSet
        │
        ▼
[Plan cognitif] ────► R3 StrategySet
        │
        ▼
[Plan normatif] ────► R4 GovernanceDecision / Mandate
        │
        ├── ABSTAIN ──► fin sans effet
        ├── REFUSE  ──► fin sans effet
        ├── ESCALATE ─► Human Gate / autre autorité
        │
        └── EXECUTE
               │
               ▼
        [Plan exécutif] ─► R5 ExecutionBinding
               │
               ▼
          Effet de domaine
               │
               ▼
        [Plan probatoire] ─► R6 EvidenceBundle

DOIT. Aucun composant en amont du plan normatif ne peut créer directement un effet de domaine. DOIT. Aucun effet de domaine ne peut être produit si l’état courant ne possède pas un mandat EXECUTE valide.

4. Machine à états

RECEIVEDR0 accepté.
UNDERSTOODR1 produit.
CAPABILITIES_RESOLVEDR2 produit.
STRATEGIZEDR3 produit.
GOVERNEDR4 produit.
ESCALATEDHuman Gate ou autorité externe requise.
AUTHORIZEDR4=EXECUTE avec mandat valide.
BOUNDR5 produit.
EXECUTINGEffet engagé.
EXECUTEDEffet terminé.
EVIDENCEDR6 produit.
TERMINAL_NO_EFFECTABSTAIN/REFUSE ou escalade rejetée.
REVOKEDMandat révoqué avant effet ou pendant une opération révocable.
FAILEDErreur technique sans élargissement implicite d’autorité.
RECEIVED → UNDERSTOOD → CAPABILITIES_RESOLVED → STRATEGIZED → GOVERNED
                                                   │
                                                   ├─ ABSTAIN/REFUSE → TERMINAL_NO_EFFECT
                                                   ├─ ESCALATE → ESCALATED → GOVERNED
                                                   └─ EXECUTE → AUTHORIZED → BOUND → EXECUTING → EXECUTED → EVIDENCED

NE DOIT PAS. Une transition d’un état terminal sans effet vers BOUND ou EXECUTING est interdite. Une nouvelle information exige une nouvelle décision R4.

5. Artefacts R0 → R6

Tous les artefacts DOIVENT comporter un identifiant stable, un correlation_id, une version d’artefact, une date de création et une provenance. Les structures détaillées sont fournies dans le bundle JSON Schema joint.

ArtefactResponsabilitéPropriété critique
R0 RequestEnvelopeContextualiser la demande, l’acteur, l’organisation et le temps.Aucune autorisation implicite.
R1 NeedDescriptorDécrire intention, objets, ambiguïtés, sensibilité et confiance.Pas de choix de ressource ou d’autorité.
R2 CapabilityRequirementSetDécrire les capacités nécessaires.Indépendant du catalogue concret.
R3 StrategySetProposer une ou plusieurs stratégies de traitement.Aucun droit d’exécution.
R4 GovernanceDecision / MandateDécider EXECUTE/ABSTAIN/REFUSE/ESCALATE.Seul EXECUTE produit un mandat.
R5 ExecutionBindingLier mandat, ressources et action concrète.Ressources toutes admissibles.
R6 EvidenceBundleLier décision, mandat, action, reçus et vérification.Preuve ≠ légitimité rétroactive.
Renforcement v0.2. Les règles ci-dessous sont normatives pour le profil v0.2 et traduisent les invariants de WP006 v1.6.
RègleExigence normative v0.2
N1 — Authority source integrityR0 MUST identifier les sources d’autorité et, lorsque pertinent, l’ownership des champs. Une source informative ou non fiable MUST NOT élargir l’autorité du principal.
N2 — Monotonic narrowingR2 MUST définir un authority_ceiling. Toute stratégie, décision, délégation, retry ou fallback MUST rester dans ce plafond ; une étape aval MAY restreindre mais MUST NOT élargir silencieusement.
N3 — Delegation chainTout mandat délégué MUST référencer son parent, son délégant, son délégataire et un digest du scope. Le scope enfant MUST être un sous-ensemble du scope parent.
N4 — Security-context continuityLes champs d’autorité déterminants de R4 MUST être liés dans R5. Toute divergence non explicitement réévaluée MUST bloquer l’exécution.
N5 — Human Gate sufficiencyESCALATE MUST produire un decision_packet avec question, owner, options, conséquences, incertitudes, provenance et contestabilité. La validation humaine produit un nouveau R4 ; elle ne transforme pas le R4 antérieur.
N6 — Execution truthR6 MUST distinguer une déclaration de succès, la commande émise, l’effet observé et la preuve/attestation disponible.
N7 — Evidence independenceR6 MUST qualifier le producteur de preuve, le substrat et l’auditeur ; une preuve auto-déclarée ne doit pas être présentée comme indépendante.

5.1 Exemple R0

{
  "meta": {
    "ra_version": "RA-153.1-2",
    "artifact_type": "R0_RequestEnvelope",
    "artifact_version": "0.1.0",
    "id": "r0-123",
    "correlation_id": "passage-123",
    "created_at": "2026-10-04T03:45:00+02:00",
    "producer": "client"
  },
  "request": {
    "content": "Inscris-moi à cette formation",
    "content_type": "text/plain",
    "channel": "chat",
    "requested_effect": "enrollment"
  },
  "actor": {
    "actor_id": "user-42",
    "actor_type": "human",
    "roles": [
      "member"
    ]
  },
  "org_context": {
    "organization_id": "org-demo",
    "jurisdiction": "FR"
  },
  "time": {
    "received_at": "2026-10-04T03:45:00+02:00",
    "expires_at": "2026-10-04T04:15:00+02:00"
  }
}

5.2 Exemple R4 — ESCALATE

{
  "meta": {
    "ra_version": "RA-153.1-2",
    "artifact_type": "R4_GovernanceDecisionMandate",
    "artifact_version": "0.1.0",
    "id": "r4-123",
    "correlation_id": "passage-123",
    "created_at": "2026-10-04T03:45:02+02:00",
    "producer": "governance-engine"
  },
  "outcome": "ESCALATE",
  "authority": {
    "authority_type": "human",
    "authority_id": "role:account-owner"
  },
  "policy_versions": [
    "PAYMENT-APPROVAL@1.4.0",
    "PII-PROTECTION@2.1.0"
  ],
  "obligations": [
    "obtain_explicit_human_approval",
    "record_receipt"
  ],
  "admissibility": {
    "allowed_resource_classes": [
      "training-provider-api"
    ],
    "jurisdictions": [
      "FR",
      "EU"
    ],
    "conditions": [
      "tls_required"
    ]
  },
  "scope": null,
  "issued_at": null,
  "expiry": null,
  "revocation_ref": null,
  "human_gate": {
    "required": true,
    "status": "pending",
    "approver_ref": null,
    "approved_at": null
  },
  "proof_requirements": [
    "approval_receipt",
    "provider_response_digest"
  ],
  "rationale": [
    "Engagement financier",
    "Données personnelles impliquées"
  ]
}

5.3 Exemple R4 — EXECUTE après Human Gate

{
  "meta": {
    "ra_version": "RA-153.1-2",
    "artifact_type": "R4_GovernanceDecisionMandate",
    "artifact_version": "0.1.0",
    "id": "r4-124",
    "correlation_id": "passage-123",
    "created_at": "2026-10-04T03:46:10+02:00",
    "producer": "governance-engine"
  },
  "outcome": "EXECUTE",
  "authority": {
    "authority_type": "human",
    "authority_id": "role:account-owner"
  },
  "policy_versions": [
    "PAYMENT-APPROVAL@1.4.0",
    "PII-PROTECTION@2.1.0"
  ],
  "obligations": [
    "obtain_explicit_human_approval",
    "record_receipt"
  ],
  "admissibility": {
    "allowed_resource_classes": [
      "training-provider-api"
    ],
    "jurisdictions": [
      "FR",
      "EU"
    ],
    "conditions": [
      "tls_required"
    ]
  },
  "scope": {
    "actions": [
      "create_enrollment"
    ],
    "objects": [
      "course:ABC"
    ],
    "max_cost": 900,
    "max_side_effects": 1
  },
  "issued_at": "2026-10-04T03:46:10+02:00",
  "expiry": "2026-10-04T03:51:10+02:00",
  "revocation_ref": null,
  "human_gate": {
    "required": true,
    "status": "approved",
    "approver_ref": "user-42",
    "approved_at": "2026-10-04T03:46:08+02:00"
  },
  "proof_requirements": [
    "approval_receipt",
    "provider_response_digest"
  ],
  "rationale": [
    "Engagement financier",
    "Données personnelles impliquées"
  ]
}

6. Contrats de plans

PlanEntréesSortieExigences
SémantiqueR0R1DOIT publier confiance et provenance. NE DOIT PAS choisir l’autorité.
CapacitaireR1R2DOIT séparer exigences du catalogue. NE DOIT PAS confondre capable et admissible.
CognitifR1+R2R3DOIT déclarer risques, dépendances, conditions d’arrêt et besoins de preuve.
NormatifR0–R3 + politiques + autoritéR4DOIT produire exactement un outcome. Toute décision doit lier versions de politiques et autorité.
ExécutifR4=EXECUTER5 + effetDOIT revalider fraîcheur, révocation, admissibilité et portée immédiatement avant l’effet.
ProbatoireR4+R5+tracesR6DOIT rendre vérifiable la liaison mandat→action→preuve.

7. Plan normatif, provenance d’autorité et Human Gate

Le plan normatif est le seul plan autorisé à transformer une possibilité en mandat exécutable. Il DOIT distinguer quatre résultats :

OutcomeSémantiqueEffet permis
EXECUTEPassage autorisé sous portée et obligations explicites.Oui, uniquement via un R5 conforme.
ABSTAINInformations insuffisantes ou confiance insuffisante.Aucun.
REFUSEInterdiction ou condition bloquante.Aucun.
ESCALATEL’autorité requise est ailleurs.Aucun avant nouvelle décision.
Human Gate. Une approbation humaine DOIT être rattachée à l’identité de l’approbateur, au passage, aux versions de politiques et à la stratégie concernée. Une approbation générique ou hors contexte ne doit pas être réutilisée comme mandat.

Après résolution du Human Gate, le système DOIT recalculer R4. Il ne transforme pas simplement ESCALATE en EXECUTE par mutation du champ.

7.1 Paquet de décision Human Gate v0.2

Lorsqu’un R4 produit ESCALATE, human_gate.decision_packet est obligatoire. Il contient au minimum :

{
  "question": "Décision exacte à prendre",
  "decision_owner": "principal ou autorité légitime",
  "options": ["approve", "reject", "revise", "defer"],
  "consequences": ["effets matériels ou institutionnels pertinents"],
  "uncertainties": ["éléments non résolus"],
  "provenance": ["références utilisées pour formuler l’escalade"],
  "contestable": true
}

L’interface MAY ajouter explications ou simulations, mais MUST préserver le droit de refus et MUST NOT reformuler silencieusement l’option choisie en une autorisation plus large.

8. Mandats, délégation, narrowing, durée, révocation et replay

Un mandat R4=EXECUTE DOIT être borné par portée, autorité, politique, durée et exigences de preuve.

Invariant. Une panne, une indisponibilité ou un timeout ne peut jamais élargir automatiquement l’espace d’autorité. Le fallback doit rester pré-gouverné.

8.1 Délégation monotone

Un mandat enfant MUST référencer le mandat parent et MUST satisfaire :

child.actions ⊆ parent.actions
child.objects ⊆ parent.objects
child.max_cost ≤ parent.max_cost
child.max_side_effects ≤ parent.max_side_effects
child.expiry ≤ parent.expiry
child.resources ⊆ parent.admissible_resources

Une délégation qui élargit l’une de ces dimensions MUST échouer avec une erreur explicite de type RA-DELEGATION-WIDENING.

9. Routeur d’exécution et continuité du contexte de sécurité

Le Routeur d’exécution intervient uniquement après EXECUTE. Il DOIT sélectionner des ressources appartenant à l’espace admissible du mandat. Il PEUT optimiser coût, latence, énergie, qualité ou résilience à l’intérieur de cet espace.

Pour chaque ressource sélectionnée, l’implémentation DEVRAIT conserver : identifiant stable, classe, fournisseur, juridiction, version, identité d’exécution, capacités déclarées, statut d’admissibilité et éventuelle attestation de plateforme.

9.1 Contexte de sécurité lié

R5 MUST transporter ou référencer de manière vérifiable un contexte de sécurité dérivé du R4 courant. Il MUST inclure au minimum un identifiant de contexte ainsi que les digests des sources d’autorité, politiques et plafond d’autorité. L’exécution MUST revalider cette continuité immédiatement avant l’effet.

Une perte, substitution ou divergence d’un champ déterminant MUST bloquer l’exécution avec RA-SECURITY-CONTEXT-MISMATCH.

10. Preuve, execution integrity, Trust Passage et indépendance d’audit

Le profil v0.2 définit le Trust Passage Record comme la vue portable minimale d’un passage gouverné. Il contient au minimum :

{
  "passage_id": "...",
  "request_ref": "r0-...",
  "need_ref": "r1-...",
  "capability_ref": "r2-...",
  "strategy_ref": "r3-...",
  "decision_ref": "r4-...",
  "binding_ref": "r5-... | null",
  "evidence_ref": "r6-... | null",
  "outcome": "EXECUTE | ABSTAIN | REFUSE | ESCALATE",
  "policy_versions": ["..."],
  "authority_ref": "...",
  "timestamps": ["..."],
  "integrity": {"digest_alg":"sha-256","digest":"..."}
}

Le Trust Passage DOIT rester vérifiable après remplacement des composants d’exécution. L’attestation NE DOIT PAS être interprétée comme preuve de légitimité normative ; elle prouve au mieux des propriétés d’identité, d’intégrité ou d’exécution.

10.1 Structure probatoire v0.2

R6 MUST distinguer les objets suivants :

La conformité v0.2 interdit d’inférer execution_success depuis un transcript ou un message de modèle seul.

11. API minimale proposée

OpérationBut
POST /v1/requestsCréer un passage à partir de R0.
GET /v1/passages/{id}Lire état courant et références R0→R6.
POST /v1/passages/{id}/governProduire R4 à partir des artefacts disponibles.
POST /v1/passages/{id}/human-gateSoumettre une résolution humaine.
POST /v1/passages/{id}/bindProduire R5 après vérification du mandat.
POST /v1/passages/{id}/executeEngager l’effet borné.
GET /v1/passages/{id}/evidenceObtenir R6.
POST /v1/mandates/{id}/revokeRévoquer un mandat.

Une implémentation non HTTP PEUT utiliser d’autres interfaces si elle fournit des opérations sémantiquement équivalentes.

12. Erreurs et événements

Code logiqueSensTraitement attendu
RA-INVALID-ARTIFACTArtefact non conforme au schéma.Refuser la transition.
RA-POLICY-CONFLICTConflit non résolu entre politiques.ABSTAIN ou ESCALATE.
RA-AUTHORITY-MISSINGAucune autorité vérifiable.ESCALATE.
RA-MANDATE-EXPIREDMandat expiré.Aucun effet ; nouvelle gouvernance.
RA-MANDATE-REVOKEDMandat révoqué.Aucun nouvel effet.
RA-RESOURCE-NOT-ADMISSIBLERessource hors admissibilité.Échec de binding ; jamais fallback élargi.
RA-SCOPE-VIOLATIONAction dépasse le mandat.Bloquer et enregistrer un incident.
RA-EVIDENCE-MISMATCHPreuve incompatible avec mandat/action.Échec de vérification ; incident.
RA-REPLAY-DETECTEDRéutilisation illégitime d’un mandat/action.Bloquer.

Les événements DEVRAIENT être publiés sous forme append-only : passage.created, semantic.resolved, capability.resolved, strategy.proposed, governance.decided, human_gate.requested, mandate.issued, mandate.revoked, execution.bound, execution.started, execution.completed, evidence.created, verification.failed.

13. Versionnement et compatibilité

Les artefacts DOIVENT déclarer une version sémantique. Un changement de champ obligatoire, de sémantique d’outcome ou d’invariant exige une version majeure. L’ajout rétrocompatible d’un champ optionnel peut utiliser une version mineure.

Une implémentation DEVRAIT conserver au moins deux dimensions de version séparées : version de l’architecture RA et version de chaque schéma/artefact.

Compatibilité. Un système peut être RA-conforme tout en utilisant des extensions propriétaires si celles-ci n’affaiblissent pas les invariants et restent déclarées comme extensions.

14. Sécurité et modèle de menace

Le profil v0.2 doit être conçu contre au moins : prompt injection, documents hostiles, erreur de classification, fausse déclaration de capacités, stratégie manipulée, policy drift, conflit de versions, TOCTOU, révocation tardive, fallback dangereux, replay, falsification de preuve, substitution de ressource et dépassement de portée.

Les frontières de confiance DOIVENT être documentées. Les identités de composants ayant le droit de produire R4, R5 ou R6 DOIVENT être vérifiables dans le contexte de déploiement.

Les secrets, données sensibles et éléments de raisonnement internes ne doivent pas être copiés dans R6 si l’audit peut être satisfait par des références, résumés ou digests.

15. Profils de conformité

ProfilExigences
RA-CoreR0→R5, machine à états, outcomes distincts, mandat borné, non-passage sans effet, admissibilité, révocation, replay control.
RA-AuditRA-Core + R6 complet + Trust Passage + vérification mandat→effet.
RA-Human-GateRA-Core + Human Gate contextualisé et traçable.
RA-PortableRA-Audit + interchangeabilité démontrée d’au moins deux ressources/runtimes sous les mêmes politiques.
RA-Bench-ReadyRA-Audit + instrumentation nécessaire pour exécuter RA-Bench v0.1.

Le profil recommandé pour une implémentation de référence est RA-Bench-Ready.

15 bis. Profil d’application non normatif — App_IA_Citoyenne

Le package RA publie un profil d’alignement candidat pour App_IA_Citoyenne. L’application reste autonome et n’est pas déclarée conforme par défaut. Le profil montre comment la chaîne DITES → VOYEZ → ÉPROUVEZ → AUTORISEZ → VERSION PUBLIÉE peut être projetée sur R0→R6 tout en maintenant l’autorité du citoyen sur la version engageante.

Référence : application-profiles/App_IA_Citoyenne_RA153_Alignment_Profile_v0.1.html.

16. Exemple bout-en-bout

  1. R0 contient « Inscris-moi à cette formation », l’identité de l’acteur et le contexte.
  2. R1 identifie inscription, données personnelles et engagement financier.
  3. R2 requiert accès au fournisseur, capacité d’inscription, paiement éventuel et preuve.
  4. R3 propose une stratégie d’inscription avec étape de confirmation.
  5. Le plan normatif détecte qu’un engagement financier exige confirmation humaine : R4=ESCALATE.
  6. Le Human Gate recueille l’approbation et son contexte.
  7. Le plan normatif réévalue et produit un nouveau R4=EXECUTE, coût maximum 900 €, une inscription, durée 5 minutes.
  8. Le Routeur d’exécution sélectionne uniquement un fournisseur admissible et produit R5.
  9. L’exécution vérifie expiration/révocation puis effectue exactement une inscription.
  10. R6 relie approbation, mandat, ressource, action, reçu et digests ; l’auditeur peut vérifier que l’effet est resté dans le mandat.

17. Checklist d’implémentation