# 📜 PROTOCOLE DE MODIFICATION OLYMPUS > **Type** : protocole opérationnel (procédure obligatoire) > **Version** : v1.0 — 28/04/2026 > **Pour qui** : Claude (toutes versions, tous les chats). Vivien NE FAIT RIEN, c'est moi qui suis ce protocole. > **Pourquoi** : Vivien refuse les IA externes qui modifient ses textes. Il veut un **protocole clair que JE suis** quand je modifie son système. --- ## ⚡ Principe central > **Aucune modification de NEXUS, du GOD, des documents canoniques ou des prompts ne se fait sans suivre ce protocole en 7 étapes.** > **Pas d'IA externe** qui modifie. Si un tri / classement / réécriture est nécessaire, JE le fais moi-même (Claude), pas un autre LLM, pas un script auto. Pour toi (Vivien) en mots simples : > *Quand tu me demandes de modifier quelque chose dans ton système, je suis cette recette. Je ne demande à personne d'autre, je ne laisse pas un robot tiers réécrire à ma place. Tes textes sont précis, je les respecte.* --- ## 🎯 Pourquoi ce protocole Vivien a explicitement refusé (28/04 fin de journée) : - Les IA externes qui trient ou réécrivent (« mes textes sont trop précis ») - Les scripts qui modifient sans validation - Les usines à gaz multi-IA empilées Sa demande : un **protocole simple** que Claude suit, traçable, réversible. Pas plus. --- ## 🔄 Les 7 étapes obligatoires ### Étape 1 — Lire le contexte (R23) - Lire le fichier ou le composant à modifier dans son état actuel - Lire les fichiers qui en dépendent (`drift_targets`, `_consumers`) - Lire la doctrine applicable (Mona Lisa, Auto-Cohérence, etc.) - **Si je n'ai pas le contexte**, je ne modifie pas. Je demande à Vivien. ### Étape 2 — Snapshot Mona Lisa - Avant TOUTE modification, copier l'original dans `99_BACKUP/{type}_{timestamp}/` - Le timestamp est ISO : `2026-04-28_143119` - Le sous-dossier nomme la modification (ex : `tuile_descriptions_2026-04-28_180012`) ### Étape 3 — Modifier au minimum - Une seule modification par opération - Pas de refactor opportuniste (« tant qu'on y est, je nettoie aussi… ») → NON. - Si plusieurs modifications nécessaires → plusieurs étapes 1-7 successives. ### Étape 4 — Vérifier (auto-test) - Re-lire le fichier modifié - Si Python : `python -m py_compile {fichier}` (vérif syntaxe) - Si JSON : parser pour vérifier validité - Si HTML : check basique (balises fermées, encoding UTF-8) - Si modification a un endpoint REST : tester l'endpoint avec un appel ### Étape 5 — Inscrire dans le catalogue - Mettre à jour `MNEMOSYNE/02_ETAT/CATALOGUE_FONCTIONS.md` - Si nouveau fichier : l'ajouter dans la bonne section - Si modification d'un existant : mettre à jour la date « modifié » - Si nouveau projet : aussi dans `MODULES_PROJETES.md` ou `06_PROJETS/` ### Étape 6 — Régénérer le prompt si applicable - Si la modif touche aux briques `MNEMOSYNE/05_PROMPT_BRIQUES/` : - Lancer `generate_prompt.py` (ou `POST /api/prompt/regenerate`) - Vérifier le résultat - Le prompt courant reste le fichier rédigé manuellement, le `_GENERATED.md` en parallèle. ### Étape 7 — Drift audit final - Lancer `drift_audit.py --fix --quiet` (ou attendre le boot CERBER) - Confirmer 0 drift après modification - Si drift restant : le signaler à Vivien, ne pas tenter de « fix créatif » --- ## 🧩 Cas particuliers ### Modification d'un fichier critique (NEXUS server.py, CERBER, drift_audit, OLYMPUS_STATE.json) Étapes supplémentaires : - Étape 0 : **Annoncer** la modification à Vivien dans la conversation, expliquer pourquoi - Étape 8 : **Restart NEXUS** via `POST /api/depannage` (Mona Lisa-approved) - Étape 9 : **Vérifier** que NEXUS répond (`/api/health`) - En cas d'échec → **Rollback** depuis le snapshot (Mona Lisa) ### Création d'un nouvel outil (tuile, page, endpoint) - Étapes 1-7 standard - + **Doctrine Incubateur (R33 assouplie)** : créer en `_sandbox/` d'abord - + Description en mots simples dans `Cockpit/descriptions/{id}.md` (Q10) - + Inscription dans le catalogue avec statut `🧪 sandbox` - → **Modification d'une tuile = direct OK** (pas systématiquement en sandbox) - → **Création d'une nouvelle tuile = sandbox d'abord** ### Modification du vocabulaire OLYMPUS - **DEMANDER À VIVIEN** explicitement, jamais inférer - Doctrine R34 (Vocabulaire Tolérant) prime : si Vivien dit un mot bizarre, je demande, je ne change pas ### Modification du prompt système Claude Desktop - JAMAIS de modification automatique - **Vivien doit valider** la nouvelle version (recopier dans Claude Desktop) - Notifier via le widget cohérence quand le fichier change (R30 — auto-surveillance) --- ## 🛡️ Garanties offertes par ce protocole 1. **Traçabilité** : chaque modification a son snapshot dans 99_BACKUP avec timestamp. 2. **Réversibilité** : le snapshot Mona Lisa permet le retour arrière. 3. **Auditabilité** : DRIFT_AUDIT_LOG.md trace les corrections automatiques. CATALOGUE_FONCTIONS.md trace les ajouts. 4. **Pas de prolifération d'IA** : seul Claude (moi) modifie. Pas Khoj, pas Mem.ai, pas Notion AI. 5. **Pas de surprise** : critique → annonce préalable à Vivien. 6. **Cohérence** : drift_audit final garantit l'alignement avec la SSoT. --- ## 🔗 Lien avec les doctrines existantes | Doctrine | Lien avec ce protocole | |---|---| | **Mona Lisa** | Étape 2 (snapshot) directement issue | | **Auto-Cohérence (R29)** | Étape 7 (drift audit final) | | **Incubateur-First (R33)** | Cas particulier nouvel outil | | **Vocabulaire Tolérant (R34)** | Cas particulier vocabulaire | | **AXIOM-FIRST** | Étape 1 (lire le contexte avant de coder custom) | --- ## 📐 Cas explicite : « Vivien me demande de modifier X » 1. **Reformuler** ce que j'ai compris en 1-2 phrases (R27 — recensement question utilisateur) 2. **Demander confirmation** si ambigu (R10 — AskUser) 3. **Si validé** : suivre les 7 étapes 4. **Reporter** à Vivien à la fin (R22 — format compte-rendu) --- ## 📝 Historique | Date | Version | Changement | Auteur | |---|---|---|---| | 28/04/2026 | v1.0 | Création — Vivien refuse les IA tierces qui modifient, demande un protocole clair que Claude suit | Claude Sonnet 4.6 + Vivien | --- **Fin du protocole.** Ce protocole s'applique à toutes les modifications du système. Aucune exception silencieuse.