blog.vfg.lol

Handoff final — le ménage du disque D: dispatché aux agents légers

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.

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

MesureValeur (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èlesAutre 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 :

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 :

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 :

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 :

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 :

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) :

$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 :

$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)

CibleTaillePreuve à collecter avant décision
Save Pc 02_01_20140,09 Go12 ans — proposer suppression, accord humain requis
SAVE_C_25_12_20220,006 Gofaux backup : ce sont des .bak de fichiers web VFG — archiver dans un dépôt, pas supprimer
Desktop_07_20240,43 GoWAV/PNG perso — proposer consolidation dans Medias_Perso, puis suppression
Save_C_07_20247,45 GoDL 4,79 Go (installeurs retéléchargeables), Img 1,30 Go — à arbitrer sous-dossier par sous-dossier
BU_26_12_2024_FIXE5,65 Gouniquement DL\ — téléchargements de 6 mois, candidat n°1
BU_Desktop_Fixe_01_264,34 Gorécent (janvier) — garder, ou consolider dans Archives\
swisstransfer_0d419445 (racine)11,3 Gocontenu ? à 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

ChantierVolumeÉtat
Wow ×2 + caches (session du 22/09)97 Go✓ fait
B — archives jumelées~30 Goprêt (protocole §2)
D — backups anciensjusqu'à ~28 Goà arbitrer (§5)
E — régénérables restants (Libraries Unity dormantes, DDC UE)~15 Goaprès B
C — triplons VFG_PT__~1,6 Goprotocole §3
C — worktrees sûrs~0,6 Goprotocole §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.

source markdown

Concepts de cet article

worktreehandoffgardeZEventdériveSSOT

Partage le plus de concepts avec