Review Gate 5 — PD-55¶
Métadonnées¶
| Champ | Valeur |
|---|---|
| Story | PD-55 |
| Gate | 5 (AMBIGUITY) |
| Itération | v1 |
| Date | 2026-02-21 |
| Reviewer | ChatGPT (gpt-5.3-codex) |
Écarts identifiés¶
ECT-01 — Immutabilité lot finalisé non établie¶
Type : Couverture manquante Référence : INV-55-04 ; Plan Mapping INV/CA → Tâches (CC-55-01 (status FINALIZED)) Description : La couverture mentionnée pour l'immutabilité append-only d'un lot finalisé est réduite à un état FINALIZED. Le mécanisme contractuel empêchant toute modification post-finalisation (métadonnées, associations, horodatage, tx_id) n'est pas explicitement établi. Impact : L'invariant d'immutabilité peut être contourné par des mises à jour applicatives ou persistence-layer non bloquées. Gravité : BLOQUANT
ECT-02 — Atomicité rollback/rééligibilité implicite¶
Type : Hypothèse implicite Référence : INV-55-06 ; CA-55-06 ; Plan (CC-55-02 contrainte unique + CC-55-03 failBatch) Description : La coexistence d'une contrainte d'unicité lot↔événement et de la rééligibilité après échec repose sur une hypothèse implicite de rollback/désassociation parfaitement atomique et systématique. Cette propriété transactionnelle n'est pas explicitée. Impact : Risque de blocage d'événements (ni finalisés, ni rééligibles), donc violation de non-perte. Gravité : BLOQUANT
ECT-03 — Détection trous temporels non formalisée¶
Type : Risque sécu/conformité Référence : INV-55-07 ; CA-55-10 ; Plan (CC-55-04 collecte, Phase 4 Alerting non détaillée) Description : L'absence de trous temporels est mappée à la collecte seule ; le mécanisme de détection exhaustive des fenêtres manquantes et la preuve d'alerte associée ne sont pas explicitement définis dans l'extrait contractuel. Impact : Possibilité de fenêtres non couvertes sans signalement, non-conformité directe CA-55-10. Gravité : MAJEUR
ECT-04 — Frontières ProofArtifactDto incomplètes¶
Type : Code Contract Référence : INV-55-08 ; CA-55-08 ; CC-55-06 DTO ProofArtifactDto Description : Le contract ProofArtifactDto est cité comme mécanisme principal de vérifiabilité externe, mais ses frontières de complétude (données minimales de re-vérification, versionnement de méthode, traçabilité tx_id→événements sans accès privilégié) ne sont pas établies dans les éléments fournis. Impact : Vérification tierce potentiellement non reproductible, contestabilité d'audit. Gravité : MAJEUR
ECT-05 — Journalisation non exhaustive¶
Type : Couverture manquante Référence : INV-55-10 ; Plan (CC-55-05 journalisation) Description : La journalisation de transitions d'état est portée par le processor. Les transitions opérées en couche service/domaine (création, échec, finalisation, reprocessing) ne sont pas explicitement couvertes comme obligations contractuelles homogènes. Impact : Journal d'audit incomplet, traçabilité non exhaustive en cas de contrôle externe. Gravité : MAJEUR
ECT-06 — Équivalence mocks/runtime implicite¶
Type : Contrainte technique Référence : Section Tests d'intégration : Mocks Redis + DB in-memory; CA-55-01/04/08/09 Description : Le dispositif de test déclaré repose sur mocks/in-memory. Les critères impliquant comportement distribué réel (ordonnancement périodique observé, finalité/tx_id, rejet double ancrage en concurrence) reposent sur une hypothèse implicite d'équivalence parfaite mocks↔runtime réel. Impact : Exécutabilité partielle des preuves contractuelles ; risque d'écart entre conformité testée et conformité effective. Gravité : MAJEUR
ECT-07 — Point d'observabilité périodicité absent¶
Type : Test irréalisable Référence : CA-55-01 ; Plan (Config BullMQ cron 10 min ; Test T55-01) Description : Le critère 10 min ±2 min nécessite un point d'observabilité temporel mesurable end-to-end. Le plan fourni ne formalise pas ce point d'observabilité ni la méthode de mesure contractuelle. Impact : Validation du critère périodique potentiellement non démontrable en audit. Gravité : MAJEUR
ECT-08 — Mapping CA tronqué¶
Type : Couverture manquante Référence : CA-55-* ; Plan Mapping INV/CA → Tâches (extrait) Description : Le mapping CA est tronqué (...) dans les éléments fournis, donc la couverture complète des 12 critères d'acceptation n'est pas démontrable contractuellement sur le corpus audité. Impact : Impossibilité d'établir la complétude Plan↔Spec↔Tests dans un audit tiers. Gravité : BLOQUANT
Statistiques¶
| Gravité | Nombre |
|---|---|
| BLOQUANT | 3 |
| MAJEUR | 5 |
| MINEUR | 0 |
| Total | 8 |
Avis global¶
Le plan présente 3 écarts bloquants liés à : 1. L'immutabilité des lots finalisés non établie contractuellement (ECT-01) 2. L'atomicité du rollback/rééligibilité non explicitée (ECT-02) 3. Le mapping CA tronqué dans le prompt de review (ECT-08)
Recommandation : Corriger les bloquants avant Gate 5 v2.