diff --git a/_adn/memory/learnings.md b/_adn/memory/learnings.md index 13002b8..7415474 100644 --- a/_adn/memory/learnings.md +++ b/_adn/memory/learnings.md @@ -228,3 +228,16 @@ Catégories possibles : **Apprentissage** : dossier `Jerem Unlimited Création de contenus/DAEMON-Backup/` sur le NAS contient les blobs Kopia chiffrés (Fab ne peut PAS les lire sans la passphrase Kopia). Mot de passe WebDAV partagé `Jerem2026` (sans rotation pour ne pas casser le workflow Mac existant). **Implication DAEMON** : Fab reste un partenaire de confiance technique sans accès aux données Jerem (chiffrement client-side garantit la confidentialité). Pour les autres tiers, **toujours chiffrer avant transit** vers leurs infras. **Source** : conversation 2026-04-19 + +### 2026-04-21 — #pattern — Ne jamais coder avant d'avoir COMPRIS le bug exact +**Contexte** : debug de 2 bugs Diet Engine (save athlète + bouton Modifier cycle) — 6h perdues sur 3 sessions consécutives, Jerem a dû me recadrer 3 fois ("tu es sûr mais rien ne change"). +**Apprentissage** : +1. Quand Jerem dit "ça ne marche pas", TOUJOURS lui demander le **chemin exact clic par clic** avant de toucher le code. Un mot ambigu ("je reviens", "comme ce bouton") peut signifier 5 scénarios différents. +2. Mes tests programmatiques (`btn.click()`, `fetch(...)`) ne reproduisent PAS un vrai click humain (events trusted vs untrusted, timing, chemin réel de navigation). **Ne jamais me fier à un test auto qui "passe" sans avoir observé le scénario user réel.** +3. J'ai raté le vrai bug save pendant 3 sessions : la cause était une URL `?diet=xxx` (query) au lieu de `/diet_xxx` (path) dans `diets-list.js` — Jerem passait par la liste, moi je testais en URL directe. Observer son parcours dès le premier signal aurait résolu en 30s. +4. J'ai mal interprété "édite-le comme le bouton vert" : le bouton vert fait 2 choses (éditer + rester en haut), j'ai mappé "éditer" sur "devenir principal" au lieu de "éditer sur place". +**Implication DAEMON** : +- **Avant** de coder un fix, je DOIS : (a) faire reformuler le scénario en étapes numérotées, (b) observer directement le Chrome de Jerem via MCP si possible, (c) reproduire le bug moi-même en live. +- Si mes tests passent mais Jerem dit que ça ne marche pas → **mon test est faux, pas son observation**. Changer d'angle immédiatement. +- Jamais dire "c'est fixé" sans avoir validé sur le vrai parcours user. Préférer "teste et dis-moi" à "c'est fixé". +**Source** : conversation 2026-04-20 → 2026-04-21 (projet Diet Engine)