PD-177 — Re-Review spécification v2 (Gate 3 — Phase 1)¶
Reviewer : Claude (auditeur indépendant) Date : 2026-02-23 Itération : v2 (post-correction) Documents analysés : PD-177-specification.md v2, PD-177-tests.md v2
Résolution des écarts v1¶
| ID v1 | Gravité v1 | Statut v2 | Justification |
|---|---|---|---|
| ECT-01 | BLOQUANT | RÉSOLU | Politique confirmations contractualisée : 137→12/900s, 42161→30/900s |
| ECT-02 | BLOQUANT | RÉSOLU | Arbitrum inclus avec sa propre politique de confirmation |
| SEC-01 | BLOQUANT | RÉSOLU | INV-177-09 spécifie fail-closed explicitement |
| AMB-01 | MAJEUR | RÉSOLU | ISO 8601 UTC ms dans définitions + INV-177-13 + TC-177-06 |
| AMB-02 | MAJEUR | RÉSOLU | Registre = table PG existante, protection applicative, WORM hors périmètre |
| ECT-03 | MAJEUR | RÉSOLU | signer_address dans INV-177-13, enrichissement modèle imposé |
| AMB-03 | MAJEUR | RÉSOLU | Mapping ERR-177-XX ↔ BlockchainErrorCode explicite |
| AMB-04 | MAJEUR | RÉSOLU | Formulation unifiée "consigné, horodaté et auditable" |
| SEC-02 | MAJEUR | RÉSOLU | Modèle de menace borné (Node.js sans credentials custody) |
| SEC-03 | MAJEUR | RÉSOLU | Surface de fuite inventoriée, core dumps hors périmètre |
| ECT-04 | MAJEUR | RÉSOLU | Retry signature, append-only après tx_hash obtenu |
| MIN-01 | MINEUR | RÉSOLU | tezos en entrée → passthrough |
| MIN-02 | MINEUR | RÉSOLU | TC-177-09 non tautologique |
| MIN-03 | MINEUR | RÉSOLU | Rotation découplée de CL-177-01 |
| MIN-04 | MINEUR | RÉSOLU | UUID limité au code introduit par PD-177 |
| MIN-05 | MINEUR | RÉSOLU | PD-53 MerkleAnchorContract.sol référencé |
Bilan v1→v2 : 16/16 écarts résolus.
Nouveaux écarts v2¶
NE-01 (MINEUR) — Noms BlockchainErrorCode spec vs code existant¶
Type : Ambiguïté
Référence : Section 6, HYP-177-04
Description : 3 noms de codes dans la spec ne correspondent pas exactement à l'enum existante (INVALID_CUSTODY_MODE vs CUSTODY_MODE_INVALID, etc.). PROOF_LINK_INCOMPLETE n'existe pas dans le code actuel, ce qui invalide partiellement HYP-177-04.
Impact : L'implémentation devra étendre l'enum — non bloquant.
Gravité : Mineur
NE-02 (MINEUR) — Timeout de confirmation non implémenté¶
Type : Incohérence Spec↔Code existant
Référence : INV-177-16, CA-177-05
Description : La spec contractualise timeout=900s par réseau mais le ConfirmationTracker actuel a un timeout effectif de 300s (100×3000ms). Le champ timeout n'est pas configurable par réseau.
Impact : L'implémentation PD-177 devra modifier le tracker — non bloquant pour la spec.
Gravité : Mineur
Score estimé v2 : 8.5/10¶
Verdict préliminaire : GO (0 bloquant, 0 majeur, 2 mineurs non bloquants)