capitalisation: intégration 33 propositions RL799_V2 (triage 2026-04-07)

Backend: 21 entrées (general, prisma, contracts, auth, patterns)
Frontend: 9 entrées (navigation, tests, general, performance, patterns)
Workflow: 5 entrées (story-tracking)
Nouveau fichier: backend/patterns/general.md
95_a_capitaliser.md purgé.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
MaksTinyWorkshop
2026-04-07 15:44:36 +02:00
parent 07f39ad433
commit 72758c1adc
15 changed files with 906 additions and 23 deletions

View File

@@ -5,8 +5,8 @@ bucket: risques
tags: [contracts, zod, validation, error-codes, requestid]
applies_to: [analysis, implementation, review, debug]
severity: high
validated_on: 2026-03-24
source_projects: [app-alexandrie]
validated_on: 2026-04-07
source_projects: [app-alexandrie, RL799_V2]
---
# Backend — Risques & vigilance : Contracts
@@ -198,3 +198,27 @@ Tableau de correspondance :
- **Checklist review** : rechercher `process.env` dans `src/` hors `config/` ou `main.ts` — tout hit est suspect.
- Contexte technique : NestJS / ConfigService — 30-03-2026
---
<a id="risque-statut-metier-non-propage-contrat"></a>
## Nouveau statut métier non propagé dans le contrat partagé
### Risques
- Un repository ou service crée une nouvelle valeur pour un champ enum-like (ex: `'absent_auto'` pour un champ `status: String`) sans la déclarer dans le type DTO ni le schema Zod du package shared
- Le champ Prisma étant un `String` sans contrainte DB, l'écriture passe, mais toute lecture avec validation Zod rejetterait la donnée
### Symptômes
- String literal non présent dans le type union ou le schema Zod du DTO correspondant
- `catch {}` vide dans les repositories qui avalent les erreurs de validation sans log
### Bonnes pratiques / mitigations
Quand un repository ou service crée une nouvelle valeur pour un champ enum-like :
1. Ajouter la valeur au type DTO dans `packages/shared` (ou équivalent)
2. Ajouter la valeur au schema de validation Zod correspondant
3. Vérifier que les endpoints de lecture qui parsent ces données acceptent la nouvelle valeur
- Contexte technique : Zod / contrats partagés — RL799_V2 03-04-2026