PD-52-PLAN-REVIEW

Type : Non-conformité Spec Référence : Spec §2 (Inclus: "Prise en charge contractuelle des 3 scenarios S1/S2/S3") ; Plan §4 (T-10/T-11 = "stub") ; Plan §3 (DA-01) Description : Le plan déclare S1 et S3 en "stub" alors que la spécification impose une prise en charge contractuelle des trois modes de custody. Un stub ne constitue pas une prise en charge opérationnelle testable. Impact : Rupture de conformité fonctionnelle sur le périmètre inclus ; impossibilité de démontrer la conformité complète des modes S1/S2/S3 en audit tiers. Gravité : BLOQUANT

Type : Non-conformité Spec Référence : Spec INV-52-10 ; Plan §2.1 (HealthService "- /health/bc") ; Plan §3 (DA-05 "/health/blockchain") Description : Le plan contient deux endpoints différents pour la santé blockchain (/health/bc et /health/blockchain). Impact : Contradiction contractuelle interne ; risque d'implémentation non conforme à l'endpoint imposé. Gravité : MAJEUR

Type : Couverture manquante Référence : Spec INV-52-11 ; Plan §5 (mapping INV-52-11 -> T-03 uniquement) Description : L'invariant "erreurs déterministes et journalisables sans fuite de secret" est couvert uniquement par la définition des codes d'erreur, sans mécanisme explicite de propagation uniforme ni politique de journalisation dans les services opérationnels. Impact : Invariant potentiellement contournable à l'exécution ; traçabilité/auditabilité incomplètes. Gravité : MAJEUR

Type : Couverture manquante Référence : Spec CA-52-05 ; Plan §4 (T-15/T-16) ; Plan §6 (risque "marge +20%") Description : Le plan décrit l'estimation de gas et une marge, mais ne décrit pas de mécanisme explicite pour mesurer systématiquement le gas réellement consommé et calculer l'écart relatif contractuel < 25%. Impact : Critère d'acceptation non démontrable de façon déterministe. Gravité : MAJEUR

Type : Couverture manquante Référence : Spec CA-52-09 ; Plan §4 (T-20..T-23) Description : La vérification "audit logs/config/code/historique git sans secret" n'est pas planifiée explicitement comme activité d'audit de conformité ; les tâches de test listées ne décrivent pas ce contrôle de bout en bout. Impact : Preuve de non-fuite de secret insuffisante pour audit externe. Gravité : MAJEUR

Type : Test irréalisable Référence : Spec CA-52-01, CA-52-02 ; Plan §4 (T-22 uniquement "Tests intégration testnet") Description : Le plan ne formalise pas explicitement le scénario contractuel "10 appels consécutifs eth_blockNumber réussis" par réseau ni le point d'observabilité associé. Impact : Les critères de connectivité peuvent être exécutés partiellement sans preuve que la condition contractuelle 10/10 est respectée. Gravité : BLOQUANT

Type : Test irréalisable Référence : Spec CA-52-07 ; Plan §4 (T-05/T-06/T-22) Description : Le SLA de bascule (< 5 secondes, timeout + retry + switch) n'a pas de point de mesure explicite défini dans le plan de test (horodatage début/fin de séquence de failover non spécifié). Impact : Impossibilité de démontrer objectivement le respect du SLA en campagne d'acceptation. Gravité : BLOQUANT

Type : Hypothèse implicite Référence : Spec FN-52-05, CA-52-06 ; Plan §4 (T-22) Description : Le plan suppose implicitement que les wallets de service sont pré-fundés sur les deux testnets et que les faucets/réseaux de référence sont disponibles pendant les tests. Impact : Dépendance environnementale non contractualisée ; risque d'échec de validation non imputable au code. Gravité : MAJEUR

Type : Hypothèse implicite Référence : Spec §3 (S1/S2/S3), ERR-52-04 ; Plan §3 (DA-01), §4 (T-09..T-11) Description : Le plan suppose implicitement la disponibilité effective des prérequis d'infrastructure (KMS key secp256k1, IAM, Vault, HSM) sans expliciter les conditions minimales de readiness pour exécuter les tests contractuels. Impact : Ambiguïté de responsabilité en cas d'échec ; non-reproductibilité potentielle des résultats d'audit. Gravité : MAJEUR

Type : Risque sécu/conformité Référence : Spec INV-52-08, CA-52-10 ; Plan §3 (DA-04) Description : Le plan borne la validation à une whitelist de format/préfixe, sans critère explicite d'audit de non-identifiance des métadonnées techniques produites. Impact : Risque de publication on-chain de métadonnées techniquement valides mais potentiellement corrélables, avec impact conformité. Gravité : MAJEUR

Type : Code Contract Référence : Plan §1 (14 codes d'erreur) ; Spec §6 (14 codes d'erreur) ; Code Contracts CC-52-02 ("enum avec 15 codes") Description : Incohérence numérique entre le plan/la spec (14) et le code contract (15). Impact : Divergence contractuelle ; risque de rejet en gate pour incohérence de référentiel. Gravité : MAJEUR

Type : Code Contract Référence : Plan §2.3 (fichiers planifiés) ; Code Contracts CC-52-01..CC-52-14 Description : Plusieurs composants planifiés n'ont pas de code contract dédié (ex. providers/rpc-health.service.ts, custody/custody.guard.ts, wallet/wallet.validator.ts, validators/chain-id.guard.ts, DTOs, blockchain.module.ts). Impact : Complétude contractuelle incomplète ; zones sans obligations formalisées pour l'audit. Gravité : MAJEUR

Type : Code Contract Référence : Spec INV-52-13 ; Code Contracts CC-52-01 Description : Le contrat de configuration ne liste pas explicitement les seuils de confirmations par réseau (Polygon/Arbitrum) alors que l'invariant impose leur configurabilité via variables d'environnement. Impact : Couverture contractuelle partielle d'un invariant non négociable. Gravité : BLOQUANT

Type : Code Contract Référence : Code Contracts CC-52-09, CC-52-03 Description : MAINNET_FORBIDDEN est attaché à payload.validator et aussi à la logique chain-ids, ce qui crée un chevauchement de responsabilité entre validation de contenu et contrôle de réseau. Impact : Frontières de périmètre ambiguës ; risque de comportements divergents selon chemin d'exécution. Gravité : MINEUR

Type : Test irréalisable Référence : Spec CA-52-12 ; Plan §4 (T-20..T-23) Description : Le plan mentionne des familles de tests mais ne formalise pas explicitement la vérification de couverture unitaire >= 80% comme artefact de preuve d'acceptation. Impact : Critère CI potentiellement non démontré en audit même si des tests existent. Gravité : MAJEUR