PD-3 — Rétrospective¶
1. Contexte¶
| Champ | Valeur |
|---|---|
| Story ID | PD-3 |
| Titre | Infrastructure Redis/BullMQ |
| Domaine | backend-core |
| Projet | backend |
| Date complétion | 2026-01-12 |
2. Métriques¶
| Métrique | Valeur |
|---|---|
| Tests contractuels | 8/14 PASS (6 N/A) |
| Invariants couverts | 4/4 (INV-01 à INV-04) |
| Durée estimée | N/A |
| Itérations | 1 |
3. Learnings clés¶
-
Tests unit vs intégration Redis : Les invariants de persistance (INV-03) nécessitent des tests d'intégration avec Redis réel — les mocks ioredis ne valident pas le comportement AOF.
-
Caractères BullMQ : BullMQ interdit les
:dans les noms de queue. Erreur découverte uniquement lors du test d'intégration. -
Watchman macOS : L'erreur watchman bloque Jest en local. Résolu par
"watchman": falsedans la config Jest. -
Tests E2E/chaos : Les scénarios restart/kill de processus (TC-NOM-02, TC-ERR-02) ne sont pas automatisables en CI standard.
4. Patterns applicables¶
Pattern existant : Redis Resilience¶
Les invariants INV-01 (persistance) et INV-03 (recovery après restart) dépendent de : - Configuration Redis AOF (appendonly yes) - Configuration BullMQ (stalledInterval, lockDuration) - Politique restart Systemd
Réf : Pattern documenté dans PD-30-retrospective.md
Nouveau pattern : Tests d'intégration Redis obligatoires¶
Pour tout module utilisant Redis, prévoir un fichier .integration.spec.ts exécuté uniquement en CI avec service Redis.
5. Signal CLAUDE.md¶
Aucun signal priorité haute. Les patterns identifiés sont déjà couverts par PD-30 (Redis Resilience).
Priorité moyenne : Documenter les restrictions de nommage BullMQ dans les conventions de développement.
6. Conclusion¶
PD-3 a établi les fondations de l'infrastructure asynchrone avec BullMQ. Les principaux défis concernaient la frontière tests unitaires/intégration et les contraintes spécifiques de BullMQ. Le mapping invariants → mécanismes → tests documenté dans le plan d'implémentation est un accélérateur à maintenir.
Rétrospective générée 2026-02-19 (Étape 10 batch backend-core)