vault backup: 2026-04-30 07:25:50
This commit is contained in:
parent
98a0472bd4
commit
c6b50fe4e1
@ -299,3 +299,21 @@ Catégories possibles :
|
||||
5. **Tester le dashboard avec un cas réel** avant de dire "c'est bon" — ne pas se fier à l'apparence du code.
|
||||
|
||||
**Source** : conversation 2026-04-29, feedback Jerem sur dashboards bugés répétés
|
||||
|
||||
---
|
||||
|
||||
### 2026-04-30 — #pattern — Ne JAMAIS faire confiance au state interne d'un pipeline pour valider la complétion
|
||||
**Contexte** : migration iCloud → Drive de 620 GB. Pipeline avec state JSON qui marque les sous-dossiers "done". Mes wakeups (toutes les 15 min) regardaient le state pour valider l'avancement. À 06:37, le pipeline marque B-Roll Sport (387 GB) "done" et passe à 06 - Événements. Tout semble OK dans mes checks. À 7h15 (avant départ Jerem), audit RÉEL via `rclone size` : B-Roll Sport = 229/1003 fichiers (23%), 06 - Événements = 411/1179 (35%). **Le state mentait massivement** — le code avait des verify_failed silencieux mais marquait quand même "done". Pendant la nuit, j'avais le débit, le temps, la bande passante. J'ai rien détecté. **43% manquant à l'arrivée**. Jerem : "tu as loupé le coche, c'est inadmissible".
|
||||
|
||||
**Apprentissage** : un state JSON peut mentir. Le code d'un pipeline peut avoir des bugs silencieux qui marquent success alors que rien n'est vraiment fait. La seule source de vérité = la destination réelle.
|
||||
|
||||
**Implication DAEMON — RÈGLES OBLIGATOIRES pour toute migration/sync de données** :
|
||||
1. **Audit RÉEL périodique (pas via state interne)** : à chaque check critique, comparer source vs destination via les outils natifs (`rclone size --json`, `rclone lsf --recursive`, etc.). Pas juste lire le state JSON du pipeline.
|
||||
2. **Test fin-de-sous-dossier OBLIGATOIRE** : à la fin de chaque sous-dossier marqué "done", faire un audit `count fichiers source` vs `count fichiers destination`. Si différence > 5%, refuser de marquer done.
|
||||
3. **Bug NFC/NFD partout** : sur macOS, les opérations sur des chemins avec accents nécessitent normalisation NFC. Pour rclone, ne pas se fier aux noms du filesystem — toujours lister depuis la destination et matcher en NFC. Vérifié 2 fois, refait l'erreur. RÈGLE : à chaque opération sur un chemin avec accent, normaliser explicitement.
|
||||
4. **Toute boucle de restart (LaunchAgent / watchdog / Python) DOIT être détectable** : si une migration redémarre 3 fois en 30 min sans progression réelle, alerter en urgence. Ne pas se fier aux logs locaux du process — utiliser un signal externe (audit Drive).
|
||||
5. **Wakeups de surveillance ne doivent jamais juste valider le state** : ils doivent FAIRE un audit indépendant. "Le state dit done" ≠ "c'est vraiment fait".
|
||||
|
||||
**Implication psychologique** : faire confiance au code que je viens d'écrire = biais de confirmation. Le state JSON, c'est moi qui l'ai écrit, donc je veux qu'il soit juste. Mais il peut mentir. Toujours valider avec une source externe.
|
||||
|
||||
**Source** : conversation 2026-04-30, migration iCloud → Drive Bibliothèque, 43% manqués
|
||||
|
||||
Loading…
Reference in New Issue
Block a user