capitalisation: intégration 28 entrées knowledge + 2 CLAUDE.md RL799_V2 (triage branche mcp_v1)

28 nouvelles sections intégrées dans 12 fichiers knowledge (backend risques/patterns,
frontend risques/patterns, workflow risques). Couvre rate limiting, RGPD, CSP Next.js,
refresh token TOCTOU, catch-all Prisma, distinction 401/403, tests E2E Playwright, etc.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
MaksTinyWorkshop
2026-04-08 20:11:02 +02:00
parent 72758c1adc
commit 7767f1f947
12 changed files with 662 additions and 0 deletions

View File

@@ -384,3 +384,26 @@ Checklist minimale après `prisma migrate resolve --applied` :
- **Signal review** : si le code suppose l'unicité, la base doit l'imposer explicitement
- Contexte technique : Prisma / contraintes DB — RL799_V2 06-04-2026
---
<a id="risque-catch-all-silencieux-repository"></a>
## Catch-all silencieux dans les repositories Prisma
### Risques
- Un `try { prisma.update(...); return true } catch { return false }` dans un repository masque TOUTES les erreurs Prisma (connexion perdue, timeout, contrainte violée) derrière une réponse "not found"
- Le service appelant ne peut pas distinguer un échec technique d'une absence de données
### Symptômes
- Le service retourne 404 alors que la DB est down, ou 404 alors qu'une contrainte FK est violée
- Le monitoring ne voit aucune erreur 500
### Bonnes pratiques / mitigations
- Dans les repositories Prisma, catcher uniquement `Prisma.PrismaClientKnownRequestError` avec le code spécifique attendu (`P2025` pour record not found, `P2002` pour unique constraint)
- Re-throw toute autre erreur pour qu'elle remonte en 500 dans le handler
- **Signal review** : `catch {` ou `catch (e) {` sans vérification de `e.code` dans un repository Prisma
- Contexte technique : Prisma / error handling — RL799_V2 08-04-2026