System Modification Documentation (ITIL/SRE/Diátaxis)
Politique permanente de documentation et traçabilité pour toute modification système : 8 artefacts obligatoires par changement + pipeline log-all automatisé (absorbé de system-doc-log) + capture proactive de connaissances en session (absorbé de guide-capture).
Quand l'utiliser (Trigger)
Toute installation, configuration, service, réseau, sécurité ou suppression système; Réinstallation complète ou migration; Avant toute action destructive ou irréversible; Information durable échangée en session (bonne pratique, leçon d'incident, procédure non évidente)
Mode d'emploi (Usage)
Mode d'emploi standard via l'agent Hermès. System Modification Documentation — Politique Permanente
Déclencheur
Toute modification système importante (installation, config, service, réseau, sécurité, suppression) DOIT produire 8 artefacts obligatoires avant d’être considérée comme terminée.
Artefacts Obligatoires
| # | Artefact | Format | Chemin cible |
|---|---|---|---|
| 1 | Entrée de change log (registre central horodaté) | Markdown | skills/<nom-tache>/changelog/YYYY-MM-DD-<slug>.md |
| 2 | Plan de rollback (sauvegarde .bak + procédure) | Script .sh + markdown | skills/<nom-tache>/rollback/ |
| 3 | Guide utilisateur (Diátaxis How-to) | Markdown | skills/<nom-tache>/docs/user-guide.md |
| 4 | Guide administrateur (Runbook SRE) | Markdown | skills/<nom-tache>/docs/admin-runbook.md |
| 5 | Troubleshooting (Playbook SRE) | Markdown | skills/<nom-tache>/docs/troubleshooting.md |
| 6 | Explication (Diátaxis Explanation) | Markdown | skills/<nom-tache>/docs/explanation.md |
| 7 | Fiche de référence (ports, versions, chemins) | Markdown | skills/<nom-tache>/docs/reference.md |
| 8 | Dépendances & risques | Markdown | skills/<nom-tache>/docs/dependencies-risks.md |
Contenu du Change Log (Artefact 1)
Chaque entrée contient :
- Date (ISO 8601)
- Machine (MX / VPS-vmi2802045)
- Auteur (Hermès / utilisateur)
- Quoi (description précise de la modification)
- Pourquoi (motivation, issue, ticket)
- Commandes exactes exécutées (reproductibles)
- État avant / État après (fichiers, services, ports)
Contenu du Plan de Rollback (Artefact 2)
- Sauvegarde : copie
.bak.$(date +%Y%m%d_%H%M%S)de chaque fichier modifié - SCRIPTS : script shell idempotent qui restaure l’état antérieur
- Procédure manuelle : étapes déterministes si le script échoue
- Vérification : comment confirmer que le rollback a réussi
Format du Guide Utilisateur (Artefact 3 — Diátaxis How-to)
- Orienté tâche : “Pour faire X, exécutez Y”
- Langage simple, étapes numérotées
- Exemples concrets avec sorties attendues
- Sections : Prérequis → Étapes → Vérification → Exemples
Format du Guide Admin (Artefact 4 — Runbook SRE)
- Procédure déterministe d’installation/maintenance
- Reproductible à l’identique depuis un état vierge
- Commandes exactes, chemins, variables d’environnement
- Sections : Provisioning → Installation → Configuration → Démarrage → Maintenance
Format du Troubleshooting (Artefact 5 — Playbook SRE)
Tableau : Symptôme | Cause probable | Résolution
| Symptôme | Cause probable | Résolution |
|---|---|---|
| Le service X ne répond pas | Y est arrêté | Redémarrer Y avec commande Z |
Format de l’Explication (Artefact 6 — Diátaxis Explanation)
- Comment ça marche (architecture)
- Pourquoi ces choix techniques
- Alternatives considérées et écartées
- Conséquences de la modification
Format de la Fiche de Référence (Artefact 7)
- Versions exactes (logicielles, dépendances)
- Chemins absolus (fichiers, configs, logs)
- Ports (interne/externe)
- Variables d’environnement (sans secrets)
- Services concernés (noms systemd/Docker)
Format Dépendances & Risques (Artefact 8)
- Dépendances ascendantes (ce dont dépend le système)
- Dépendances descendantes (ce qui dépend de ce système)
- Risques identifiés (probabilité + impact)
- Mitigations en place
- Prérequis oubliés ou sous-estimés
Contraintes
- Aucun secret en clair dans les logs ou guides (clés, mots de passe, tokens)
- Chaque artefact horodaté et rattaché à la machine sans ambiguïté
- Stocker dans
~/.hermes/skills/<nom-tache>/, versionner dans Git, synchroniser hors-machine (rclone) - Afficher un résumé dans le dashboard avec le chemin des artefacts complets
- Format idempotent et reproductible ; privilégier les scripts aux actions improvisées
- Respecter la hiérarchie de fiabilité (FAIT VÉRIFIÉ > INFÉRENCE > HYPOTHÈSE)
Journalisation Transversale (shared_log.md)
En plus du changelog local à la tâche, chaque modification DOIT journaliser une entrée dans ~/shared_log.md :
[DATE] | [MACHINE] | Hermès | [brève description] | [STATUT] | [HASH_GIT]
Cette entrée sert de registre chronologique transversal entre toutes les tâches et les deux machines (MX + VPS), indépendant des dossiers skills/.
Fichiers Associés
Ce skill est livré avec :
| Fichier | Rôle |
|---|---|
references/agent-stack-example.md | Exemple concret d’application (8 artefacts pour Langfuse + Paperclip) |
scripts/verify-artefacts.sh | Script de vérification : confirme que les 8 artefacts existent |
templates/changelog.md | Gabarit pour l’artefact 1 (entrée de changelog) |
templates/rollback-plan.md | Gabarit pour l’artefact 2 (plan de rollback) |
templates/user-guide.md | Gabarit pour l’artefact 3 (guide utilisateur) |
templates/admin-runbook.md | Gabarit pour l’artefact 4 (runbook admin) |
templates/troubleshooting.md | Gabarit pour l’artefact 5 (playbook troubleshooting) |
templates/explanation.md | Gabarit pour l’artefact 6 (explication) |
templates/reference.md | Gabarit pour l’artefact 7 (fiche référence) |
templates/dependencies-risks.md | Gabarit pour l’artefact 8 (dépendances & risques) |
Méthode d’Application — Workflow Complet
Étapes à suivre pour chaque modification système :
- SNAPSHOT : copie
.bak.$(date +%Y%m%d_%H%M%S)de chaque fichier modifié - STORE dans
~/.hermes/skills/<nom-tache>/{changelog,rollback,docs}/ - WRITE les 8 artefacts (utiliser les templates comme base, adapter au contexte)
- COMMIT :
git add -A && git commit -m "DOCS: <nom-tache> - artefacts 8/8" - LOG : ajouter une entrée dans
~/shared_log.md - RÉSUMÉ : afficher le tableau de bord avec tous les chemins
Critère de Succès
En lisant ces seuls artefacts après une réinstallation ou un incident, je dois pouvoir reproduire, comprendre, dépanner et annuler la modification sans rien deviner.
Pipeline Automatisé de Documentation (log-all)
Toute exécution de commande système, cron, agent, ou compilation DOIT être journalisée via le pipeline log-all. Ce système — absorbé du skill system-doc-log — journalise chaque action dans un registre central et synchronise automatiquement avec Google Sheets.
Workflow
-
Chaque action passe par
scripts/log-all.sh "<catégorie>" "<action>" "<détails>" "succès|échec" -
Le script génère un JSON au format registre dans
~/central/modifications/pour chaque entrée -
scripts/sync-registre.py:- Lit les
.jsondans~/central/modifications/ - Alimente le fichier unifié Markdown
~/central/registre-systeme.md - Synchronise vers Google Sheets (onglet “Registre” ou “raw”)
- Lit les
Références et supports
| Fichier | Rôle |
|---|---|
references/excel-registry-guide.md | Structure du registre Excel / Google Sheets |
scripts/log-all.sh | Log d’une action unitaire → JSON + heure + résultat |
scripts/sync-registre.py | Synchronisation JSON → Markdown → Google Sheets |
scripts/sync-registre-light.sh | Version allégée (sans upload Sheets) |
templates/registre-markdown.md | Gabarit registre unifié Markdown |
Journalisation Obligatoire
Sont soumis au pipeline :
- Exécutions de commandes système (install, désinstall, config)
- Lancements de cron jobs (planifiés ou manuels)
- Appels d’API distants (Google Sheets, Notion, cloud)
- Compilations et résultats de build
- Résultats des agents autonomes
Format minimal : [YYYY-MM-DD HH:MM:SS] [CATÉGORIE] ACTION — RÉSULTAT
Capture Proactive de Connaissances en Session
Absorbé du skill guide-capture.
Quand une information échangée en session a une valeur durable (survit à la session en cours), proposer proactivement à l’utilisateur de la sauvegarder comme guide de référence.
Déclencheurs — quand proposer la sauvegarde
Proposer systématiquement si l’information concerne :
| Catégorie | Exemples |
|---|---|
| Résilience / récupération | perte de session, rollback, backup, failover |
| Workflow multi-outils | agent + tmux, mosh + VPS, pipeline cron |
| Gestion des risques | perte de données, coupure réseau, plantage |
| Procédure non évidente | config SSH, setup service, ordre d’opérations |
| Leçon tirée d’un incident | “j’ai perdu ma session parce que…” |
| Bonne pratique validée | “toujours faire X avant Y” |
Ne PAS proposer pour :
- Réponses factuelles ponctuelles
- Commandes one-shot sans valeur répétable
- Informations déjà dans un guide existant
Formule à utiliser
“Cette information a une valeur durable. Tu veux que je la sauvegarde comme guide dans
~/Bureau/guides-terminal-distant/?”
Si oui : créer le fichier .md avec un titre pertinent et numérotation
séquentielle (vérifier le dernier numéro dans le dossier).
Emplacement des guides
~/Bureau/guides-terminal-distant/
├── 01-linux-vers-vps.md
├── 02-wsl-vers-vps.md
├── ...
└── 07-agents-tmux-bonnes-pratiques.md
Relation avec les 8 artefacts
Les guides capturés ici sont plus légers que les 8 artefacts obligatoires : ils capturent une connaissance (souvent procédurale), pas une modification (qui nécessite traçabilité complète). Les deux sont complémentaires.