PD-84 — Review Gate 8 (P1 — ChatGPT / OpenCode)¶
Date : 2026-02-24 Reviewer : ChatGPT (gpt-5.3-codex) via OpenCode Document focal : PD-84-acceptability.md
Verdict : ACCEPTÉ AVEC RÉSERVES¶
7 écarts MINEUR identifiés dans l'acceptabilité sont maintenus NON RÉSOLU car les corrections ciblées n'étaient pas demandées (tous classés MINEUR/suggestion dans l'acceptabilité originale).
Suivi des écarts¶
EC-R1 (MINEUR) — AddDocumentDto inline¶
- Statut : NON RÉSOLU
- Analyse : AddDocumentDto déclaré inline dans folder-document.controller.ts au lieu d'un fichier DTO séparé.
- Impact : Structurel uniquement, pas de risque fonctionnel.
EC-R2 (MINEUR) — hashToInt() dupliqué¶
- Statut : NON RÉSOLU
- Analyse : Duplication entre folder.service.ts et folder-document.service.ts.
- Impact : Maintenabilité, dette technique mineure.
EC-R3 (MINEUR / suggestion) — Double requête user¶
- Statut : NON RÉSOLU
- Analyse : FolderController fait findOneOrFail pour le plan, le guard fait déjà un check ownership.
- Impact : Performance marginale (2 requêtes au lieu d'1 potentiel).
EC-T1 (MINEUR) — Pas de tests e2e HTTP¶
- Statut : NON RÉSOLU
- Analyse : Tests unitaires couvrent les controllers, pas de tests HTTP intégration.
- Impact : Couverture e2e, mitigé par 133 tests unitaires + 92.52% coverage.
EC-T2 (MINEUR / suggestion) — Pattern double-call dans tests¶
- Statut : NON RÉSOLU
- Analyse : TC-02 et TC-07 appellent le service 2 fois (rejects.toThrow + catch-inspect).
- Impact : Verbosité des tests uniquement.
EC-S1 (MINEUR) — UUID loggés dans FolderOwnerGuard¶
- Statut : NON RÉSOLU
- Analyse : userId et folderId dans les warn logs.
- Impact : RGPD potentiel si UUID = PII. Mitigé par le fait que les logs de dev sont distincts de la production.
EC-S2 (MINEUR / suggestion) — findOneOrFail sans custom exception¶
- Statut : NON RÉSOLU
- Analyse : ExportController utilise findOneOrFail qui pourrait leaker une exception TypeORM brute.
- Impact : Edge case extrêmement improbable (user supprimé entre auth JWT et DB call).
Conclusion¶
- 0 écart BLOQUANT
- 0 écart MAJEUR
- 7 écarts MINEUR (tous documentés dans l'acceptabilité, classés comme suggestions ou dette technique mineure)
- Aucun écart de conformité, de sécurité exploitable, ou de couverture de test bloquant