# Leçons — Konstitisyon Frontend ## 2026-04-13 — Rate limiting / Premier chantier ### Erreur commise Implémentation directe sans passer par le mode planification ni créer `tasks/todo.md` avant de coder. La tâche a été présentée comme terminée après validation XO, sans preuve de fonctionnement réel. ### Règle à retenir 1. **Toujours** créer/mettre à jour `tasks/todo.md` avant de toucher au code pour toute tâche 3+ étapes. 2. **Toujours** prouver le fonctionnement après implémentation : test unitaire, `curl`, ou vérification Node directe — pas seulement le linter. 3. Le linter qui passe ≠ la feature qui fonctionne. ### Ce qui a bien fonctionné - Lecture complète des fichiers impactés avant d'écrire (middleware, register, options, package.json) - Zéro dépendance externe ajoutée — solution en-mémoire adaptée à PM2 single-process - Correction autonome des erreurs XO (curly, arrow-parens, func-names) sans intervention - Abstraction propre : `createRateLimiter` est réutilisable pour d'autres routes futures