Aller au contenu

PD-81 — Dossier de conformité Gate 3

Date: 2026-02-23 Type: CONFORMITY_CHECK Itération: v1

Sources

Phase Agent Document
Phase 1 — Review Claude -p PD-81-review-step3.md
Phase 2 — Confrontation ChatGPT (gpt-5.3-codex) PD-81-confrontation-step3.md

Synthèse des phases

Phase 1 — Review

  • 24 constats : 5 bloquants, 12 majeurs, 7 mineurs
  • Axes principaux : ambiguïtés contractuelles (TTL, fin de consultation), incohérences modèle/tests (COMPLETED/DESTROYED), zones non spécifiées (bobPublicKey, identité juridique)

Phase 2 — Confrontation

  • 12 écarts confirmés : 2 ECT, 6 AMB, 2 SEC, 2 DIV
  • 2 constats contestés (Tort) : CONSTAT-11 (R/L "vides" — contesté, tests ont descriptions minimales) et CONSTAT-23 (isolation storageDomain — contesté, spec la couvre via INV-81-10/AC-81-13)
  • 2 constats nuancés : CONSTAT-01 (concept présent mais valeurs absentes), CONSTAT-10 (politique TSP absente mais test R1 non vide)

Vérification constitutionnelle (OBLIGATOIRE)

  • Article I — Quality Gates : Scoring mathématique sera appliqué en Phase 4
  • Article II — Validation croisée : Spec/tests produits par ChatGPT, review par Claude (cross-validation OK)
  • Article III — Traçabilité : Session log à jour, Jira commenté
  • Article IV — Non-régression : N/A (pas de code à ce stade)
  • Article V — Boucle acceptabilité : N/A (pas de code à ce stade)

Liste des écarts consolidés

Écarts BLOQUANTS

# Type Référence Description Phase 1 Phase 2
ECT-01 ECT Spec §7.3 vs Tests N4 Statut COMPLETED utilisé dans les flux N4 et tests mais absent du modèle de données LegalReKey.status (qui définit ACTIVE/REVOKED/EXPIRED/DESTROYED). Inversement, DESTROYED est dans le modèle mais absent des attendus tests. CONSTAT-05 (Bloquant) Confirmé (Raison)
AMB-01 AMB Spec §5-N4, §9.1 closeLegalAccess "Fin de consultation" (END_OF_CONSULTATION) mentionnée comme cause de clôture mais règles métier de terminaison non définies. §2.3 point 7 confirme la lacune. CONSTAT-02 (Bloquant) Confirmé nuancé (cause existe, règles métier absentes)
SEC-01 SEC Spec §9.2 generateLegalReKey Source de bobPublicKey (clé publique du destinataire judiciaire) non spécifiée : qui la fournit, quand, avec quelle vérification d'authenticité. Risque de substitution de destinataire. CONSTAT-08 (Bloquant) Confirmé (Raison)

Écarts MAJEURS

# Type Référence Description Phase 1 Phase 2
AMB-02 AMB Spec §5-N2, §7.2 validationTtl TTL de double validation : concept présent (validationTtl obligatoire) mais aucune borne contractuelle définie. §2.3 point 8 confirme la lacune. CONSTAT-01 (Bloquant→Majeur après nuance) Nuancé (concept présent, valeur absente)
ECT-02 ECT Spec §7.3 LegalReKey.status Statut DESTROYED défini dans le modèle mais aucune transition définie depuis REVOKED/EXPIRED. Cycle de vie incomplet. CONSTAT-04 (Majeur) Confirmé (Raison)
AMB-03 AMB Spec §9.1 activateLegalAccess vs §9.2 generateLegalReKey activateLegalAccess crée la ReKey (post-condition), mais N3 enchaîne les deux appels comme distincts. Orchestration ambiguë. CONSTAT-07 (Majeur) Confirmé (Raison)
AMB-04 AMB Spec §4 INV-81-07, §9.2 revokeReKey "Invalidation immédiate" exigée sans borne de latence contractuelle (synchrone vs async, propagation cache). CONSTAT-03 (Majeur) Confirmé nuancé
AMB-05 AMB Spec §5-N2, PD-82 impl. Mapping rôles PD-82 (PARENT/AUTHORITY) → PD-81 (DPO/LegalOfficer) non spécifié. États intermédiaires non définis. CONSTAT-06 (Majeur) Non contesté
SEC-02 SEC Spec §6 ERR-81-08, §4 INV-81-03 Vérification d'identité juridique pour séparation validateurs : physique vs rôle vs certificat non précisé. CONSTAT-17 (Majeur) Confirmé
AMB-06 AMB Spec §5-N3, §2.3 point 3 Paramètres de rate limiting non contractualisés (seuils, fenêtres, unités). Tests E18/S5 non déterministes. CONSTAT-12 (Majeur) Confirmé (Raison)
AMB-07 AMB Spec §7.4, §2.3 point 4 Fréquence d'ancrage blockchain et délai maximal non définis. Preuve composite potentiellement incomplète pré-ancrage. CONSTAT-15 (Majeur) Confirmé (Raison)
SEC-03 SEC Spec §4 INV-81-04, CONSTAT-04 Persistance résiduelle des ReKey : sans transition vers DESTROYED avec suppression physique, INV-81-04 (pas de clé persistante) pourrait être violé. CONSTAT-13 (Majeur) Non contesté
AMB-08 AMB Spec §7.4, §4 INV-81-08 Taxonomie événement probatoire vs non-probatoire non délimitée. tsaTokenRef "obligatoire pour événement probatoire" mais aucune liste d'événements probatoires. CONSTAT-14 (Majeur) Non contesté
AMB-09 AMB Spec §5-N1, §7.1 scopeDocumentIds Mapping documentId du mandat juridique vers identifiants internes ProbatioVault non spécifié. CONSTAT-18 (Majeur) Non contesté
AMB-10 AMB Spec §9.1 getLegalAuditProof Modèle d'habilitation "titulaire" pour accès preuve d'audit non formalisé. NT-81-02 confirme. CONSTAT-19 (Majeur) Confirmé (Raison)

Écarts MINEURS

# Type Référence Description
AMB-11 AMB Spec §10.1, §8 AC-81-15/16 Conformité normative (5 référentiels) non vérifiable techniquement. Cohérent avec AC-81-15/16 non testables.
AMB-12 AMB Spec §10.5 Reproductibilité auditable dépend des services externes (TSP/HSM/TSA). Déterminisme conditionnel.
DIV-01 DIV Tests §3 E07 Test E07 sous-couvre les états terminaux non-ACTIVATED (REJECTED, EXPIRED).
AMB-13 AMB Spec §10.4 Rupture de chaîne probatoire : structure de chaîne (hash chain) non définie pour permettre la détection.
AMB-14 AMB Spec §5-N3, §4 INV-81-06 Mécanisme de consultation lecture seule non spécifié (via reEncrypt PD-41 ou API dédiée).
AMB-15 AMB Spec §8 AC-81-09 Relation EXPIRED/DESTROYED non ordonnée dans le cycle de vie terminal.

Écarts NON RETENUS (contestés par la confrontation)

# Constat Verdict confrontation Justification
NR-01 CONSTAT-11 : R1-R6, L1-L4 "titres vides" Tort Les scénarios R/L contiennent des descriptions avec prérequis, étapes et attendus (format résumé mais non vide). Toutefois, le format est moins structuré que N1-N4 et E01-E18.
NR-02 CONSTAT-23 : Isolation storageDomain non spécifiée Tort La spec couvre l'isolation via INV-81-10, AC-81-13, storageDomain obligatoire, et test S4. Le mécanisme d'isolation (logique/physique) reste libre d'implémentation.

Comptage final des écarts

Criticité Nombre
BLOQUANT 3 (ECT-01, AMB-01, SEC-01)
MAJEUR 12 (AMB-02 à AMB-10, ECT-02, SEC-02, SEC-03)
MINEUR 6 (AMB-11 à AMB-15, DIV-01)
NON RETENU 2 (NR-01, NR-02)
Total écarts retenus 21

Analyse par type

Type Nombre Description
ECT (Écart technique) 2 Incohérences modèle de données / flux / tests
AMB (Ambiguïté) 15 Paramètres non spécifiés, conditions floues, orchestration ambiguë
SEC (Sécurité) 3 Risques d'accès non contrôlé, persistance résiduelle
DIV (Divergence) 1 Sous-couverture de test

Conclusion

La spécification PD-81 est structurellement solide (invariants, flux, erreurs, modèle bien séparés) mais présente 3 écarts bloquants et 12 majeurs qui empêchent une implémentation contractuellement conforme :

  1. ECT-01 : Incohérence COMPLETED/DESTROYED entre modèle et tests (bloquant)
  2. AMB-01 : "Fin de consultation" non définie (bloquant)
  3. SEC-01 : Source de bobPublicKey non spécifiée (bloquant)

Les 8 informations manquantes en §2.3 sont honnêtement signalées mais créent de facto 5+ ambiguïtés majeures (rate limiting, ancrage, TTL validation, habilitation, mapping documentId).