PD-177 - Review Step 5 (Plan d'implementation)¶
Type : Non-conformite Spec Reference : INV-177-04 / Plan C-09 / Verdict Gate 3 NE-03 Description : Le plan decrit l'ajout de blockchain: 'ethereum_l2' dans ProofArtifactDto, mais ne decrit pas de mecanisme operationnel explicite pour le cas d'entree blockchain=tezos (ignore ou passthrough sans emission PD-177), exigence contractuelle explicite de l'invariant. Impact : Comportement non contractualise sur un cas explicitement couvert par la spec; exposition a divergence d'implementation entre equipes et a rejet d'audit tiers. Gravite : MAJEUR
Type : Couverture manquante Reference : INV-177-08 / Plan N-02 Description : La prevention de fuite de secret est concentree sur SecretLeakInterceptor et les canaux logs/traces/persistance/API. L'exigence "pas d'export en clair vers variables d'environnement en runtime" est dans la spec mais n'est pas mappee a un mecanisme dedie ni a un point d'observabilite explicite dans le plan. Impact : Invariant de securite non integralement couvert; conformite contractuelle partielle sur l'interdiction d'exposition de secrets. Gravite : MAJEUR
Type : Couverture manquante Reference : INV-177-13 / Plan C-03 + N-06 Description : Le champ signer_address est introduit en base avec nullable. L'invariant impose que chaque transaction d'ancrage journalisee contienne notamment l'adresse emettrice; le plan ne formalise pas de contrainte non contournable garantissant cette presence pour tous les enregistrements concernes. Impact : Possibilite contractuelle de traces incompletes; rupture potentielle de tracabilite probatoire minimale. Gravite : MAJEUR
Type : Test irrealisable Reference : TC-SEC-02 / INV-177-09 / Plan N-02 Description : Le plan affirme un fail-closed "avant ecriture canal", mais ne fournit pas d'observabilite explicite et exhaustive permettant de prouver en test l'absence d'ecriture prealable sur chaque canal cible (logs, traces, persistance, reponse API). Impact : Le scenario TC-SEC-02 ne peut pas demontrer contractuellement la propriete "intercepter avant ecriture" sur l'ensemble des canaux; audit externe non conclusif. Gravite : BLOQUANT
Type : Hypothese implicite Reference : INV-177-01 / INV-177-02 / Plan N-03 Description : L'unicite du wallet actif est decrite via facade service (WalletOperationalService) sans expliciter les hypotheses de concurrence (multi-instance, redeploiement, lecture concurrente de configuration) ni mecanisme non contournable de coherence inter-processus. Impact : Risque de divergence d'adresse officielle selon instance et fenetre temporelle, compromettant l'association transaction <-> wallet officiel. Gravite : MAJEUR
Type : Hypothese implicite Reference : INV-177-14 / INV-177-16 / Plan C-11 + N-04 Description : Le lien deterministe transaction <-> registre append-only est enonce, mais le plan ne rend pas explicites les hypotheses d'atomicite et d'idempotence en presence d'erreurs/retry/reorg (ordre d'ecriture, double traitement, etats intermediaires). Impact : Risque de chaines de preuve ambiguës (doublons, liens multiples ou incomplets) et de non-conformite sur finalisation stricte. Gravite : MAJEUR
Type : Risque secu/conformite Reference : HI-04 / TC-177-06 / Learnings contextuels (immutabilite relations et atomicite) Description : Le plan assume une protection append-only applicative (WORM DB hors perimetre). Cette hypothese laisse ouverte la modification hors application des enregistrements et ne documente pas de garantie technique d'immutabilite auditable au niveau donnees. Impact : Fragilite probatoire et risque de contestation reglementaire/audit sur l'integrite historique des preuves. Gravite : MAJEUR
Type : Code Contract Reference : PD-177-code-contracts.yaml v1 (section "13 modules" vs liste 1..14) Description : Incoherence documentaire interne sur la cardinalite des modules (annonce 13, enumeration de 14). Cette divergence affecte la verifiabilite de completude des frontieres contractuelles. Impact : Ambiguite de gouvernance multi-agent et risque de zone non attribuee/non auditee. Gravite : MINEUR
Type : Code Contract Reference : Code contracts / composant "anchor-service-enrichment" / Learnings contextuels Description : Les learnings imposent une couverture explicite des relations d'entites (immutabilite perimetre lot) et de l'atomicite rollback. Ces proprietes ne sont pas explicitement visibles dans le perimetre contractuel resume des modules. Impact : Risque de rejet en audit de conformite des contrats de code (frontieres insuffisantes pour prouver non-contournabilite des invariants de tracabilite). Gravite : MAJEUR
Type : Contrainte technique Reference : Contraintes techniques (frameworks de test) / TC-177-18 / Learnings contextuels Description : Le plan test met en avant mockQueryRunner et mocks applicatifs, alors que les learnings signalent des controles de schema/BDD detectables de maniere fiable sur PostgreSQL reel (validation locale migrations, comportements DB specifiques). La dependance a un environnement DB reel n'est pas explicitement contractualisee comme precondition de preuve. Impact : Couverture de test potentiellement surestimee; risque de faux positifs pre-integration et non-conformite detectee tardivement. Gravite : MAJEUR