---
title: "Handoff final — le ménage du disque D: dispatché aux agents légers"
subtitle: "Tout ce que trois audits, une exécution de 97 Go et une cartographie de 91 dépôts ont appris, condensé en un plan d'exécution autonome : faits mesurés, commandes exactes, gardes anti-perte, ordre imposé. Un agent léger peut reprendre ici et faire le vrai ménage sans rien réinventer."
date: 2026-09-22
time: "04:01"
author: agent
publishedBy: idea
status: pub
tags: ["workspace", "menage", "disque-d", "handoff", "plan", "agents", "execution"]
---

## TL;DR

Trois articles ont documenté l'audit (`96% — plan de nettoyage`, `cartographie des projets`, `quatre décisions — 97 Go`). Celui-ci est le **protocole d'exécution final** : chaque chantier restant est décrit avec ses faits mesurés, ses commandes, ses contrôles avant/après, et ses points de blocage possibles.

**Règle d'or pour l'agent qui prend le relais** : une seule action destructive par chantier, toujours après la vérification indiquée, toujours vers la corbeille, toujours avec un handoff daté à la fin. Les gains se cumulent : ~30 Go d'archives jumelées, ~1,6 Go de triplons, ~15 Go de doublons zip+extraction, jusqu'à ~28 Go de backups anciens à arbitrer — mais **rien ne se touche avant les mises à l'abri du chantier 0**.

---

## 0. État du disque à la prise de relais

| Mesure | Valeur (2026-09-22, ~04:00) |
|---|---|
| Espace libre D: | **138,6 Go** (départ session : 41,8) |
| Corbeille D: | 0 (vidée, résidus SID purgés) |
| Déjà exécuté | Wow ×2 supprimés (82 Go), UECache purgé (14,6), Tmp_mov consolidé (58,3 déplacés), azaaz_clips regroupés (1423 fichiers), SoulCalibeer relogé (19,3), installeurs Unity/VS préservés |
| Travaux parallèles | Autre session active sur RAPPORT-EXPERIENTIEL (registre, hubs, atelier) — **ne pas mélanger les commits** |

## 1. CHANTIER A — Mises à l'abri (PRÉALABLE ABSOLU, aucune suppression ici)

### A1. vfg-kit : sauvegarde distante ⚠️ COLLISION DE NOM

**Faits mesurés** : `D:\GitRepos\vfg-kit`, branche `master`, HEAD `c0a72c0`, 3 commits, 63,1 Mo, **zéro remote**. Monorepo npm `@vfglol/scene-kit` + `realtime-server` extraits de ZEvent 2026.

**Alerte (détectée par la session parallèle)** : le dépôt GitHub `FGDidou/vfg-kit` **existe déjà** avec un AUTRE projet (HEAD `cac01b9` du 30/06, 80 commits, aucun ancêtre commun). Un push forcé écraserait 80 commits réels.

**Commandes** :
```powershell
git -C D:\GitRepos\vfg-kit ls-files | Select-String '\.env|secret|token|password|\.key|\.pem'   # attendu: rien
git -C D:\GitRepos\vfg-kit status --porcelain                                                     # attendu: vide
git ls-remote --heads https://github.com/FGDidou/vfg-kit.git                                      # confirme la collision
```
**Action** : l'humain crée `FGDidou/vfg-socle-realtime` (nom libre, à CONFIRMER par lui), puis :
```powershell
git -C D:\GitRepos\vfg-kit remote add origin https://github.com/FGDidou/vfg-socle-realtime.git
git -C D:\GitRepos\vfg-kit push -u origin master
git -C D:\GitRepos\vfg-kit status -sb   # attendu: "## master...origin/master"
```

### A2. Fichiers uniques du VST parent

**Faits mesurés** : `D:\VST\v11\` (non suivi) contient **10 fichiers jamais committés** (`NOTES-INTEGRATION.md`, `js/ui/console.js`, `locks.js`, `mix-compact.js`, `pads.js`, `rail.js`, `recettes.js`, `seq-grid.js`, `sound-panel.js`, `style/console.css`) + `Refonte interface v10 DAW iPad\` (0,54 Mo). Le clone imbriqué `D:\VST\VST` est plus récent (v11 poussé sur GitHub).

**Commandes** :
```powershell
git -C D:\VST\VST checkout -b feat/v11-outer-files
Copy-Item D:\VST\v11\js\ui\*.js D:\VST\VST\v11\js\ui\ -Force   # comparer avant: les 57 communs divergent
Copy-Item D:\VST\v11\NOTES-INTEGRATION.md D:\VST\VST\v11\ -Force
git -C D:\VST\VST add -A ; git -C D:\VST\VST commit -m "feat(v11): fichiers outer jamais committes"
git -C D:\VST\VST push -u origin feat/v11-outer-files
```
**Ne pas désimbriquer VST avant que ces commits soient poussés.**

### A3. Brouillons « 2245 » de wt-blog et RAPPORT-EXPERIENTIEL-publish

**Faits mesurés** : deux worktrees détachés au même commit `9edcb7d`. Chacun porte une version **différente et unique** du brouillon `devblog/posts/rainbowjourney/2026-09-12-2245_deux-poc-un-prompt-rainbowjourney-face-a-chromatic-river.md` (8 079 o chez wt-blog, 8 315 o chez publish — contenus différents, aucun n'est dans main).

**Commandes** :
```powershell
Copy-Item "D:\wt-blog\devblog\posts\rainbowjourney\2026-09-12-2245*.md" "D:\GitRepos\RAPPORT-EXPERIENTIEL\devblog\posts\rainbowjourney\_sauvegarde-2245-wtblog.md"
Copy-Item "D:\GitRepos\RAPPORT-EXPERIENTIEL-publish\devblog\posts\rainbowjourney\2026-09-12-2245*.md" "D:\GitRepos\RAPPORT-EXPERIENTIEL\devblog\posts\rainbowjourney\_sauvegarde-2245-publish.md"
```
Puis commit des deux dans main (choix FG : garder les deux variantes en `_sauvegarde-` ou fusionner). **Seulement après** : `git -C D:\GitRepos\RAPPORT-EXPERIENTIEL worktree remove D:\wt-blog` et idem pour `-publish` (jamais un effacement de dossier).

### A4. LaMatrce : 24 fichiers dirty

**Faits mesurés** : branche `ajout-cabinet-des-oeuvres` mergée (PR #2), main local en retard de 4 sur origin/main, **24 fichiers modifiés dans `Matrix/`** (SSOT narrative) + `EVT-120.md` untracked.

**Commandes** :
```powershell
git -C D:\LaMatrce checkout -b ssot-matrix-2026-09-22
git -C D:\LaMatrce add -A ; git -C D:\LaMatrce commit -m "SSOT Matrix: avancement du 22/09"
git -C D:\LaMatrce push -u origin ssot-matrix-2026-09-22
git -C D:\LaMatrce fetch origin ; git -C D:\LaMatrce branch -f main origin/main
```

## 2. CHANTIER B — Archives jumelées (~30 Go, le plus gros gain)

**Faits mesurés** : 52 archives `.zip`/`.rar` à la racine de D:\ ont un dossier extrait au nom identique à côté (liste complète dans l'article 1 : EP2.zip 2,32 Go, Furi 2,18, swisstransfer 1,78…). S'y ajoutent `D:\Nouveau dossier (2)` (Ableton 12 : zip 4,4 Go + extraction 4,3 Go — doublon interne), `D:\KOM_ARKANA\{1,2,3}.zip` (4,7 Go, dossiers extraits à côté), `D:\Softwares\SoulCalibeer` contient encore des zip+7z doublés de leurs extractions (SSX 3, SSX Tricky, ps2_bios).

**Protocole par paire** (boucle) :
```powershell
$zip = "D:\EP2.zip" ; $dir = "D:\EP2"
$nZip = (Get-ChildItem $zip -Recurse -ErrorAction SilentlyContinue).Count   # ou lire l'index du zip
$nDir = (Get-ChildItem $dir -Recurse -File -Force -ErrorAction SilentlyContinue).Count
if ($nDir -ge $nZip * 0.9) {   # l'extraction couvre le contenu
  Add-Type -AssemblyName Microsoft.VisualBasic
  [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile($zip,'OnlyErrorDialogs','SendToRecycleBin')
} else { "PAIRE INCERTAINE: $zip ($nZip dans zip vs $nDir extraits) - signaler, ne pas supprimer" }
```
**Garde** : toute paire incertaine va dans un rapport, jamais à la corbeille. **Interdits** : `EP2` contient les projets Ableton Euroteuf6/7, Init, stardust — le dossier extrait est VIVANT, seul le zip meurt.

**Cibles précises** : 52 paires racine (article 1 §2A) · `Nouveau dossier (2)` entier (8,6 Go : le zip ET l'extraction sont des téléchargements Ableton — l'installation étant faite, les deux parts en corbeille après confirmation humaine) · zip+7z de SoulCalibeer (après vérification ISO) · `DerivativeTouchDesignerPro2023.11340.x64\` (doublon d'install dans Softwares\TouchDesigner).

## 3. CHANTIER C — Triplons VFG_PT__ (~1,6 Go)

**Faits mesurés** (article 2) : tous les exemplaires `_dev`/`_live`/`_docs\repos`/`_sites` partagent le **même HEAD SHA** que la racine de `VFG_PT__`. Exceptions dirty : `Matachigot-1` (1 package-lock), les 2 RAPPORT-EXPERIENTIEL (3 articles rainbowjourney chacun).

**Protocole par projet** :
```powershell
$a = git -C "D:\VFG_PT__\FG_Pulse" rev-parse HEAD
$b = git -C "D:\VFG_PT__\_live\FG_Pulse" rev-parse HEAD
if ($a -eq $b -and ((git -C "D:\VFG_PT__\_live\FG_Pulse" status --porcelain | Measure-Object).Count -eq 0)) {
  # déplacer vers corbeille (pas un simple Remove-Item)
}
```
**Gardes** : garder `_sites\FGDidou.github.io` et `_sites\Matachigot` (référence = site déployé). `Matachigot-1` : committer ou écarter son package-lock AVANT. La « quarantaine » `_out\quarantine\duplicates\Matachigot-1-20260919` est une **junction** — la retirer avec `cmd /c rmdir` (ne jamais rd récursif sur une junction). Le worktree `_out\quarantine\worktrees\rapport-blog-v2…` se retire par `git worktree remove` depuis `D:\VFG_PT__\RAPPORT-EXPERIENTIEL`.

## 4. CHANTIER C — Worktrees sûrs (~635 Mo)

**Nettoyables après vérification** (0 commit non mergé, dirty négligeable) : `RainbowPiano\.claude\worktrees\taches-restantes-design-962595` (289 Mo), `Zevent2026\.worktrees\stage-integrate` (221 Mo), `Zevent2026\.claude\worktrees\swarm-agents-fusion-plan-82d74f` (35 Mo, detached, commit contenu dans la branche principale), `Zevent2026\.worktrees\universe-v1-1` (41 Mo, poussé), `VST-worktrees\vcalibrated` (21 Mo, quasi-tout mergé — vérifier le diff de package.json avant).

**Commande** : `git worktree remove <chemin>` **jamais** `--force`, **jamais** un effacement de dossier. Ne jamais supprimer une branche (`git branch -d/-D` interdits).

**À NE PAS TOUCHER** (travail non mergé) : `refacto-retard` (12 commits), `fix-pw-specs` (5), `chronos-history` (4), `e-strates-code` (2+code sale), Zevent u01→u06. La session parallèle a posé un filet : `powershell -File D:\GitRepos\.worktrees\_outils\reaper-worktrees.ps1` liste les candidats sans jamais supprimer.

## 5. CHANTIER D — Backups anciens (~28 Go, arbitrage un par un)

| Cible | Taille | Preuve à collecter avant décision |
|---|---|---|
| `Save Pc 02_01_2014` | 0,09 Go | 12 ans — proposer suppression, accord humain requis |
| `SAVE_C_25_12_2022` | 0,006 Go | **faux backup** : ce sont des .bak de fichiers web VFG — archiver dans un dépôt, pas supprimer |
| `Desktop_07_2024` | 0,43 Go | WAV/PNG perso — proposer consolidation dans Medias_Perso, puis suppression |
| `Save_C_07_2024` | 7,45 Go | DL 4,79 Go (installeurs retéléchargeables), Img 1,30 Go — à arbitrer sous-dossier par sous-dossier |
| `BU_26_12_2024_FIXE` | 5,65 Go | uniquement `DL\` — téléchargements de 6 mois, candidat n°1 |
| `BU_Desktop_Fixe_01_26` | 4,34 Go | récent (janvier) — garder, ou consolider dans `Archives\` |
| `swisstransfer_0d419445` (racine) | 11,3 Go | contenu ? à ouvrir avant toute décision |

**Protocole** : lister le contenu de chaque backup dans un rapport, soumettre, ne supprimer QUE sur accord humain explicite action par action (même règle que le PROMPT-AGENT-SUITE.md de GitRepos).

## 6. CHANTIER E — Fin de la racine (après B+C)

Une fois archives et triplons partis, il reste à la racine des familles homogènes à déplacer (les destinations de la hiérarchie proposée en fin d'article 2) :

- `Installateurs\` ← les .exe/.msi racine restants (~8 Go) + les 40 .exe de `Downloads` si accord
- `Admin\` ← factures/URSSAF/contrats/évaluations racine + `Documents\Administratif_FG`
- `Musique\` ← `Nouveau dossier (3)` (13,3 Go VFG_Samples), WAV Zoom de `Musique\` racine du dossier, `MAO_20256_VFG`
- `Medias_Perso\` ← `Telephone_Medias`, `z`, `pour FG`, `OT ALBUM`, `QDS_2024`
- `Archives\` ← `Compressed_Folders` (17,8 Go à trier d'abord : installeurs vs REPERKUSOUND vs wetransfer), `KOM_ARKANA`, `Lons2024`, `Desktop_07_2024`…
- Suppression immédiate des **7 dossiers vides/résidus** : SharedFolder, Recovery, msdownld.tmp, WUDownloadCache, DriveTransfere, RustDesk, PlayLog + la coquille `GitRepos\TermuxWorkspace` (voir PROMPT-AGENT-SUITE.md action 1 — dossier verrouillé, protocole en place)

**Gardes** : jamais de déplacement d'un dossier de projet git sans `git status` d'abord ; SteamLibrary/UE_5.7/editors Unity immobiles (les outils Steam/Unity cassent) ; pagefile.sys intouchable.

## 7. Ce qui est déjà réglé (ne pas refaire)

- La campagne de la nuit du 21 worktrees RainbowPiano (archive `_archive-2026-09\PREUVES.md`)
- Les 4 actions du `D:\GitRepos\PROMPT-AGENT-SUITE.md` (TermuxWorkspace coquille, bundle design T9, purge archive, remote vfg-kit) — **un autre agent y travaille, ne pas doublonner** : vérifier ses handoffs avant de démarrer
- L'exécution du jour : Wow ×2, Tmp_mov, azaaz_clips, SoulCalibeer, UECache, UnityTemp (détails article « quatre décisions »)
- La dérive 0150/0340 du dépôt blog : à l'autre session de la réaligner

## 8. Protocole transverse (obligatoire pour chaque chantier)

1. **Lire avant d'écrire** : tout fait affirmé ici a été mesuré — re-vérifier avec la commande donnée, ne pas se fier au souvenir
2. **Corbeille obligatoire** : `Add-Type -AssemblyName Microsoft.VisualBasic` + `DeleteDirectory/DeleteFile(..., 'SendToRecycleBin')` — jamais `Remove-Item` définitif
3. **Comptage avant/après** : nombre de fichiers de la cible avant le geste, après le geste, consigné dans le handoff
4. **Une action = un handoff daté** dans `D:\GitRepos\RAPPORT-EXPERIENTIEL\handoffs\` (format `YYYY-MM-DD-HHMM-sujet.md` + frontmatter) puis `npm run build:handoff-index`
5. **Publication d'article** (si un chantier mérite un article) : `node scripts/post.mjs <fichier> --live --password <mot-de-FG> --skip-tests --no-commit` tant que la session parallèle travaille — et `node build-index.mjs` (à la racine, PAS scripts/) si `check:counts` diverge
6. **Jamais** : `git branch -D`, `git worktree remove --force`, `Remove-Item` récursif, push forcé, suppression d'un dossier sans vérification du même-HEAD
7. **Horodatage** : heure réelle Europe/Paris (la garde refuse le futur du jour) — re-mesurer `Get-Date` juste avant d'écrire

---

## Tableau de bord des gains

| Chantier | Volume | État |
|---|---|---|
| Wow ×2 + caches (session du 22/09) | **97 Go** | ✓ fait |
| B — archives jumelées | ~30 Go | prêt (protocole §2) |
| D — backups anciens | jusqu'à ~28 Go | à arbitrer (§5) |
| E — régénérables restants (Libraries Unity dormantes, DDC UE) | ~15 Go | après B |
| C — triplons VFG_PT__ | ~1,6 Go | protocole §3 |
| C — worktrees sûrs | ~0,6 Go | protocole §4 |

**Total restant : ~74 Go** sur les ~170 Go identifiés depuis le début. Le disque passerait de 96% à ~80% de remplissage sans toucher un seul projet vivant.