Aller au contenu

PD-284 — Dossier de conformité Gate 3 (v1)

Date : 2026-03-12 Gate : CONFORMITY_CHECK Itération : v1 P1 (Review) : Claude — PD-284-review-step3.md P2 (Confrontation) : ChatGPT — PD-284-confrontation-step3.md

Synthèse des écarts

ID Type Gravité Description
AMB-02 Ambiguïté MAJEUR Bouton "absent OU désactivé" quand quota=0 — non déterministe (CA-284-03 vs §6/TC-NOM-03)
AMB-03 Ambiguïté MAJEUR "Déjà en urgent" : état non défini côté client, pas de champ dans modèle de données
AMB-04 Ambiguïté MAJEUR Reconnexion SSE : délai entre tentatives non spécifié, heartbeat TTL "à clarifier"
AMB-05 Ambiguïté MAJEUR "Erreur contrôlée" utilisé 6 fois sans définition (visuel ? log ? badge ?)
CTR-01 Contradiction MAJEUR CA-284-03 ("disabled") vs §6/TC-NOM-03 ("absent OU disabled")
CTR-02 Contradiction MAJEUR Badge "Hors ligne" : perte réseau (immédiat) vs après 3 échecs SSE (différé)
NT-01 Non testable MAJEUR INV-284-09 : artefacts "sensibles" et mécanismes de protection non définis
IST-01 Incohérence MAJEUR TC-NEG-10 non exécutable sans définition de l'état "déjà urgent"
IST-02 Incohérence MAJEUR TC-NOM-12 suppose correspondance état→payload SSE non contractualisée
IST-04 Incohérence MAJEUR TC-NEG-07 vérifie idempotence par event_id non spécifiée
HD-01 Hypothèse MAJEUR Ordre SSE non garanti post-reconnexion (risque violation INV-284-04)
HD-03 Hypothèse MAJEUR Fenêtre de perte entre POST et ouverture SSE non traitée
DIV-01 Divergence MINEUR Fallback email non vérifiable côté front
DIV-02 Divergence MINEUR Arrêt SSE à état terminal non contractualisé
DIV-03 Divergence MINEUR INV-284-10 testabilité partielle

Totaux : 0 BLOQUANT | 12 MAJEUR | 3 MINEUR

Scoring

Critère Score Justification
completeness 7.0 AMB-03 état non défini, AMB-05 terme non défini, HD-03 fenêtre perte
testability 6.0 NT-01 INV-284-09 non testable, IST-01/02/04 tests non exécutables
clarity 7.0 AMB-02/AMB-04 comportements ambigus, CTR-01 contradiction
traceability 7.25 CTR-02 timing contradictoire, HD-01 ordre SSE, 3 mineurs (-0.75)

Moyenne : 6.81 Verdict : NON_CONFORME (moyenne < 7 ET testability = 6.0 < 8)

Corrections requises (priorité)

  1. CTR-01 + AMB-02 : Trancher bouton disabled vs absent quand quota=0. Un seul comportement.
  2. AMB-03 : Définir comment le client détecte "déjà en urgent" (flag serveur dans payload).
  3. AMB-04 : Spécifier délais reconnexion SSE (ex: backoff exponentiel 1s/2s/4s).
  4. AMB-05 : Définir "erreur contrôlée" (toast non bloquant + log telemetry).
  5. CTR-02 : Distinguer perte réseau (badge immédiat) vs échec SSE (bascule polling).
  6. NT-01 : Lister artefacts sensibles + mécanisme stockage acceptable (iOS Keychain / SecureStore).
  7. IST-02 : Contractualiser payload SSE par état (quels champs dans chaque événement).
  8. IST-04 : Ajouter mécanisme de déduplication par event_id.
  9. HD-01 : Exiger numéro de séquence côté serveur ou tri client par timestamp.
  10. HD-03 : Ajouter GET initial /seals/{id}/status avant SSE pour synchronisation.