Aller au contenu

PD-264 — Plan d’implémentation : Revue

1. Références

  • Spécification : PD-264-specification.md
  • Tests contractuels : PD-264-tests.md
  • Plan d’implémentation : PD-264-plan.md
  • Date de revue : 2026-02-24
  • Reviewer : OpenCode (auditeur technique indépendant)

2. Constatations (écarts)

Type Référence (Spec/Test/Plan) Description Impact Gravité (BLOQUANT/MAJEUR/MINEUR)
Non-conformité Spec Spec §5, §6 (INV-264-05) / Plan §1 TASK-1 Phase A Le plan impose un remplissage nonce = 0x000…000 pour lignes NULL/vides lors de migration, comportement non contractualisé par la spec et non justifié comme exigence de sécurité. Introduction d’un comportement non spécifié pouvant affaiblir l’anti-rejeu contractuel et créer une divergence auditable entre spec et implémentation. MAJEUR
Hypothèse implicite Plan §0 (Go/No-Go : “Aucune donnée de production existante” = “À confirmer” + verdict GO), Plan §8 (H-01) La faisabilité de la migration dépend d’un état de données non vérifié au moment du GO/No-Go. Risque de migration non déterministe en environnement réel (échec de contrainte d’unicité, conversion incomplète) non couvert contractuellement. MAJEUR
Test irréalisable Tests TC-264-11 / Plan §1 TASK-4 (interface publique) + Plan §5 (TC-264-11) TC-264-11 exige 5 tentatives explicites de transitions interdites, mais le plan fonde le mécanisme sur “pas de méthode pour transitions inverses” et n’expose pas d’API de transition correspondante dans l’interface publique décrite. L’exécution probante du test contractuel TC-264-11 n’est pas démontrable avec les mécanismes explicités dans le plan. BLOQUANT
Non-conformité Spec Spec §7 (CA-264-12), §10 / Plan §1 TASK-6 (convention TC-264-17), Plan §5 (TC-264-17) Le plan introduit un “skip conditionnel” Nightly en cas d’indisponibilité TSA réelle, alors que CA-264-12 contractualise l’exécution Nightly avec vérification réelle et archivage probatoire. Affaiblissement de l’obligation contractuelle d’acceptation (CA-264-12 non garanti). MAJEUR
Code Contract — Invariant Code contracts CC-264-01, CC-264-04, CC-264-05, CC-264-06 Plusieurs invariants de code contracts ne sont pas un sous-ensemble strict des invariants de la spec (ex. “migration réversible”, “RESPONSE_REJECTED état in-memory”, “rejet nonce -> batch status FAILED NONCE_*”, “18 TC + 5 NR + 3 TC-MIG”). Sur-contrat local non aligné strictement au cadre contractuel canonique ; risque d’audit de conformité “spec vs contracts” en divergence de périmètre. MAJEUR
Risque sécu/conformité Plan §1 TASK-1 Phase A + Plan §9 (Risque migration données existantes) Le backfill uniforme des nonces historiques (0x000…000) est incompatible avec l’unicité globale si plusieurs lignes concernées, ce qui crée un point de rupture sur index unique et traçabilité migration. Risque de rupture de déploiement/migration et d’incohérence de preuve probatoire au moment de la bascule. MAJEUR

3. Synthèse

  • Nombre d’écarts par gravité : BLOQUANT: 1 / MAJEUR: 5 / MINEUR: 0
  • Points critiques :
  • TC-264-11 non démontrablement réalisable avec les interfaces/mécanismes explicités (écart bloquant).
  • Affaiblissement de CA-264-12 via skip Nightly conditionnel.
  • Dépendance à hypothèses de migration non vérifiées et comportement de backfill non contractualisé.

4. Verdict de la revue

  • Statut : ⛔ Rejeté
  • Motif synthétique : Présence d’un écart bloquant de testabilité (TC-264-11) et de plusieurs écarts majeurs de conformité contractuelle (migration/backfill, hypothèses implicites, CA-264-12 affaibli, alignement code contracts).