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