Date : 2026-02-23 Story : PD-177 — Configurer wallet Ethereum et gestion clés privées Gate : 3 — CONFORMITY_CHECK Itération : v1 Documents analysés : PD-177-specification.md, PD-177-tests.md Sources : PD-177-review-step3.md (Claude), PD-177-confrontation-step3.md (ChatGPT)
1. Synthèse des écarts
Écarts BLOQUANTS (3)
| ID | Type | Référence | Description | Source |
| ECT-01 | AMB | INV-177-16, HYP-177-06, CA-177-05 | Politique de confirmations réseau non définie : HYP-177-06 affirme que la politique existe mais 3 valeurs contradictoires coexistent dans le code (12/30/5). Le seuil de finalisation n'est pas contractualisable. | Review ECART-02/06, Confrontation DV-01 |
| ECT-02 | AMB | §2 Périmètre, INV-177-16 | Arbitrum dans le périmètre mais non confirmable : waitForConfirmation() est hardcodé sur Polygon. TC-177-05 pourrait passer sur Polygon mais échouer sur Arbitrum. | Review ECART-07, Confrontation DV-02 |
| SEC-01 | SEC | INV-177-09, TC-SEC-02 | Détection fuite de secret : fail-closed vs fail-open non tranché : INV-177-09 exige fail-closed (empêcher la fuite) mais le mécanisme n'est pas défini. La distinction entre "empêcher" et "détecter après coup" n'est pas contractualisée. | Review ECART-08, Confrontation DV-03 |
Écarts MAJEURS (8)
| ID | Type | Référence | Description | Source |
| AMB-01 | AMB | INV-177-13 | Format horodatage non spécifié : "horodatage d'emission" sans précision de format (ISO 8601 UTC ms ?). Learning PD-55 signale ce pattern d'écart. | Review ECART-01, Confrontation ZO-02 |
| AMB-02 | AMB | §3 Définitions, INV-177-14 | Nature du registre append-only ambigu : table PG ? Event log ? WORM ? L'immutabilité testée dans TC-177-06 dépend du support sous-jacent. | Review ECART-04, Confrontation DV-04 |
| ECT-03 | ECT | INV-177-13, TC-177-06 | Champ "adresse émettrice" absent de l'entité de persistance existante. La chaîne de preuve serait incomplète. | Review ECART-05, Confrontation DV-05 |
| AMB-03 | AMB | §6, HYP-177-04 | Double nomenclature codes d'erreur : ERR-177-XX vs BlockchainErrorCode existants sans mapping explicite. | Review ECART-11, Confrontation DV-06 |
| AMB-04 | AMB | INV-177-18, CA-177-13, ST-177-10 | 4 formulations divergentes pour l'exercice de reprise : standard de preuve variable selon le document. | Review ECART-09, Confrontation DV-07 |
| SEC-02 | SEC | INV-177-10, TC-SEC-03 | Modèle de menace non borné pour compromission serveur : surface d'attaque non définie. | Review ECART-10, Confrontation ZO-03 |
| SEC-03 | SEC | INV-177-08, TC-SEC-01 | Surface de fuite de secrets non inventoriée : stack traces, core dumps, variables d'env non couverts. | Review ECART-13, Confrontation ZO-04 |
| ECT-04 | ECT | FN-177-02, INV-177-14 | Atomicité signature/diffusion non spécifiée : comportement en cas de signature OK mais diffusion KO indéterminé. | Review ECART-14, Confrontation ZO-05 |
Écarts MINEURS (5)
| ID | Type | Référence | Description |
| AMB-05 | AMB | INV-177-04 | Comportement si blockchain=tezos reçu en entrée (hors périmètre mais non rejeté) |
| ECT-05 | ECT | INV-177-03, TC-177-09 | Exclusivité d'usage tautologique (pas de mécanisme DeFi à rejeter) |
| AMB-06 | AMB | INV-177-19, CL-177-01 | Rotation testée mais déclencheurs non définis (CL-177-01 non clarifié) |
| AMB-07 | AMB | INV-177-11, CA-177-14 | Périmètre UUID ambigu (code nouveau vs code existant modifié) |
| AMB-08 | AMB | FN-177-02, INV-177-03 | Mécanisme de publication on-chain non référencé (smart contract PD-53 ?) |
2. Bilan par catégorie
| Catégorie | Nombre | Bloquant | Majeur | Mineur |
| AMB (Ambiguïtés) | 9 | 2 | 4 | 3 |
| ECT (Écarts techniques) | 4 | 0 | 2 | 2 |
| SEC (Sécurité) | 3 | 1 | 2 | 0 |
| DIV (Divergences) | 0 | 0 | 0 | 0 |
| TOTAL | 16 | 3 | 8 | 5 |
3. Zones d'ombre non résolues (issues de la confrontation)
Les points suivants correspondent aux "Points à clarifier" (CL-177-XX) reconnus par la spec comme non tranchés :
| Zone | Sujet | Impact |
| ZO-06 | Seuil de solde et mécanisme de refill (CL-177-02) | Pilotage uniquement réactif |
| ZO-07 | Séparation testnet/mainnet (CL-177-03) | Risque de pollution inter-environnements |
| ZO-08 | RTO/RPO reprise custody (CL-177-04) | Conformité continuité non mesurable |
| ZO-09 | Déclaration publique adresse (CL-177-06) | Risque juridique/compliance |
| ZO-10 | Critères souveraineté opposables (CL-177-07) | Exigence non auditable |
| ZO-11 | Pérennité 10-50 ans (CL-177-08) | Angle mort stratégique |
Note : Ces zones d'ombre sont reconnues par la spec comme hors périmètre contractuel PD-177 ou non formalisées. Elles ne bloquent pas la gate si les 3 écarts BLOQUANTS ci-dessus sont résolus.
4. Vérification constitutionnelle (OBLIGATOIRE)
| Critère | Éléments positifs | Éléments négatifs | Score proposé |
| Completeness | 21 INV, 17 CA, 8 ERR, 4 flux nominaux, périmètre/hors-périmètre clairs | 3 bloquants (confirmations, Arbitrum, fail-closed), 8 majeurs dont atomicité et champ adresse manquant | 6.0 |
| Testability | 30 TC structurés Given/When/Then, matrice 100% INV/CA couverts, cadre de validation explicite | Politique confirmations non testable (seuil indéterminé), modèle de menace non borné, format horodatage indéterminé | 6.5 |
| Clarity | Définitions section 3, hypothèses explicites, points à clarifier identifiés, hors-périmètre clair | 4 formulations divergentes reprise, double nomenclature erreurs, nature append-only ambiguë | 6.5 |
| Traceability | Matrice INV→TC complète, chaîne de preuve documentée, 21/21 + 17/17 + 8/8 couverts | Champ adresse émettrice absent, atomicité non spécifiée → lacunes dans la chaîne de preuve | 7.0 |
Score moyen : (6.0 + 6.5 + 6.5 + 7.0) / 4 = 6.50 / 10
Verdict dérivé selon Article I : - Moyenne 6.50 < 7.0 → NON_CONFORME - Un score < 6 : completeness = 6.0 (pas < 6 mais frontière) - Verdict : NON_CONFORME