vault backup: 2026-05-02 21:41:25

This commit is contained in:
Jéremy BRAGATO 2026-05-02 21:41:25 +02:00
parent 78ef2181e9
commit 38edc0086e

View File

@ -336,3 +336,18 @@ Catégories possibles :
**Implication psychologique** : sous stress ou face à des bugs, je veux "agir vite pour montrer que je gère". C'est l'inverse qui est nécessaire : ralentir, analyser, demander. **Implication psychologique** : sous stress ou face à des bugs, je veux "agir vite pour montrer que je gère". C'est l'inverse qui est nécessaire : ralentir, analyser, demander.
**Source** : conversation 2026-05-02, migration Bibliothèque, 4 jours perdus, Jerem légitimement furieux. **Source** : conversation 2026-05-02, migration Bibliothèque, 4 jours perdus, Jerem légitimement furieux.
---
### 2026-05-02 — #pattern — Sous-agents parallèles SANS QA croisée = bugs d'intégration
**Contexte** : refactor critique du pipeline migration. J'ai lancé 2 sous-agents en parallèle (Python + Watchdog) avec specs précises chacun. Chaque agent a livré un travail correct ISOLÉMENT. MAIS les 2 ont choisi le même nom de lockfile (`/tmp/sync_bibliotheque.lock`) sans le savoir → quand watchdog acquiert lock puis lance Python, Python voit lock occupé, exit immédiat, watchdog relance, boucle stérile. Détecté en T+5 min uniquement parce que Jerem a challengé "tu es satisfait à 100%". Sans son challenge, bug serait resté plusieurs heures.
**Apprentissage** : 2 sous-agents qui partagent une ressource (fichier, lock, port, état) DOIVENT être coordonnés explicitement, pas juste "ils ont chacun leur spec". Le bug d'intégration est invisible en single-agent QA.
**RÈGLE OBLIGATOIRE pour multi-agents parallèles :**
1. **Spec explicite des ressources partagées** : si plusieurs agents touchent au même type de fichier/lock/state, je dois définir explicitement dans leur prompt qui prend quoi (ex : "Watchdog use `/tmp/sync_bibliotheque_watchdog.lock`, Python use `/tmp/sync_bibliotheque.lock`, RESPECTE ces noms exacts"). Pas "lock unique partagé" générique.
2. **3e agent QA d'intégration OBLIGATOIRE** après les 2-3 agents de coding parallèles : son rôle = lire chaque livraison + tester l'interaction. Pas juste lire la mienne pour validation.
3. **Test end-to-end OBLIGATOIRE avant déploiement** : pas juste syntax + composant isolé. Lancer le système combiné en mode dry-run sur petit sous-ensemble. Vérifier qu'il tourne 5 min sans bug.
4. **Si je dis "100% confiance" sans test e2e** = mensonge implicite. Honnête = "syntax OK, composants isolés OK, e2e non testé, risque résiduel X%".
**Source** : conversation 2026-05-02, refactor pipeline post-4j-perdus, lock collision entre agents Python et Watchdog