PD-106 — Dossier de conformité Step 5¶
Date : 2026-02-04 Gate : AMBIGUITY (step 5)
Résumé¶
La review ChatGPT identifie 10 écarts (1 BLOQUANT, 8 MAJEURS, 1 MINEUR) et rejette le plan.
La confrontation reclasse ces écarts après vérification croisée avec les documents sources : - 3 résolutions : écarts invalides (faux positif prompt, conformité spec v4 exacte) - 7 mineurs résiduels : clarifications et étiquetages à apporter, sans non-conformité ni ambiguïté bloquante
Détail des résolutions¶
| # | Écart | Gravité review | Résolution |
|---|---|---|---|
| 3 | Tableaux mapping non fournis | BLOQUANT | Faux positif : le document contient les 3 tableaux complets (18 invariants, 19 critères, 28 tests). L'abréviation dans le prompt ChatGPT a induit l'erreur. |
| 5 | Logout session zombie | MAJEUR | Conformité spec exacte : ERR-106-LOGOUT-FAILED v4 documente ce risque résiduel et sa mitigation (H-106-06). Le plan implémente le fallback prescrit. |
| 10 | Recovery codes atomicité | MAJEUR | Conformité spec exacte : INV-106-10 v4 stipule que "le mobile vérifie le comportement observable mais ne peut pas garantir l'atomicité serveur". Le plan dit la même chose. |
Détail des mineurs résiduels¶
| # | Écart | Action recommandée |
|---|---|---|
| 1 | Re-auth TTL client/serveur | Ajouter une HT explicite : "le TTL client est un garde-fou UX, le serveur fait autorité" |
| 2 | Actions MFA bloquées non énumérées | Reprendre dans le plan l'énumération de la spec : activation, désactivation, consultation/régénération codes |
| 4 | Re-auth facteur mot de passe seul | Ajouter une HT : "re-auth v1 = mot de passe uniquement ; la biométrie pourra être ajoutée sans modification architecturale" |
| 6 | Code contract invariants hors spec | Distinguer les invariants spec des contraintes projet par un label |
| 7 | Frontière settingsApi/api.ts | Expliciter : settingsApi = couche domaine, api.ts = couche transport |
| 8 | ProfileScreen hors code contract | Ajouter ProfileScreen.tsx au module navigation |
| 9 | Frontière logout/settings-api | Clarifier : logout utilise la couche auth existante, le reste passe par settingsApi |
Bilan¶
| Gravité | Review | Après confrontation |
|---|---|---|
| BLOQUANT | 1 | 0 |
| MAJEUR | 8 | 0 |
| MINEUR | 1 | 7 |
| Total | 10 | 7 |
Recommandation¶
GO — 0 bloquant, 0 majeur. Les 7 mineurs sont des clarifications rédactionnelles qui n'affectent ni la conformité spec, ni la testabilité, ni la sécurité. Ils peuvent être corrigés directement dans le plan avant passage à l'étape 6.