113 lines
13 KiB
Markdown
113 lines
13 KiB
Markdown
|
|
Fiche DOCMV-T2 — Niveau N2 — Modèle prévu orchestrateur (Opus 5.5) | utilisé Opus 5.5 (claude-opus-5-5) — Agent : session DOCMV — Skills lp-lot, lp-repo, lp-doc, sk-change-safety
|
||
|
|
|
||
|
|
# DOCMV-SPEC : monter le journal, le registre, l'index, les docs 01-32 et `correctifs\` de `Docs\Migration\` à `Docs\` (copie 5.8)
|
||
|
|
|
||
|
|
Entrée : `DOCMV-T1-INV.md` (inventaire chiffré) et `DOCMV-T1-references.csv`. CHG réservé : **CHG-300** (`NUMEROS.md`,
|
||
|
|
verrou 12). Copie : `D:\Game\LifePlay-master 5.8`, branche `ue5.8`. La copie 5.5 et la branche `main` ne bougent pas.
|
||
|
|
|
||
|
|
## 0. Décision utilisateur (2026-10-10, réponse à Big Boss)
|
||
|
|
« Déplacer dans Docs\ » ; « Assure-toi que la documentation trace ce changement ».
|
||
|
|
|
||
|
|
## 1. Périmètre
|
||
|
|
**Montent dans `Docs\` (41 fichiers)** : `Journal_Modifications.md`, `Registre_Erreurs.md`, `README.md`,
|
||
|
|
`01_Architecture_Initiale.md` à `32_Organisation_Agents.md` (35), et le dossier `correctifs\` avec ses 6 patchs
|
||
|
|
`P01_…patch` à `P06_…patch` (→ `Docs\correctifs\`, décision D1).
|
||
|
|
**Reste dans `Docs\Migration\`** : `etat\` seul (inchangé).
|
||
|
|
Collisions dans `Docs\` : **0** (T1 § 5 ; `Docs\correctifs` absent, vérifié le 2026-10-10). Aucun fichier écrasé : chaque
|
||
|
|
déplacement vérifie d'abord que la cible n'existe pas.
|
||
|
|
|
||
|
|
## 2. Points tranchés par l'utilisateur (2026-10-10, réponses à DOCMV)
|
||
|
|
| Id | Question | Réponse de l'utilisateur | Conséquence |
|
||
|
|
|---|---|---|---|
|
||
|
|
| D1 | `correctifs\` (6 patchs P01-P06, suivis par git) | « Il monte dans Docs\ » | `Docs\correctifs\` ; liens relatifs `correctifs/…` du README (l.49) et du doc 04 (l.67) restent justes ; à corriger : `05_Correctifs_Isoles.md` l.15 (`Docs/Migration/correctifs/` → `Docs/correctifs/`) ; journal l.44, 554 (entrées passées) et 13 mentions dans `etat` (archives) inchangés |
|
||
|
|
| D2 | 11 commentaires de ligne 1 dans `Source/LifePlay*/*.h` | « Laisser » | non corrigés (aucune recompilation) ; liste gardée dans l'EVAL, corrigés par le prochain lot qui touche ces en-têtes |
|
||
|
|
| D2-bis | 14 commentaires de code sous `Plugins\` non vus par T1 (dossier exclu de l'inventaire ; écart E1 de `DOCMV-VAL.md`) : jeu `Plugins/LPAnimCore/Source/LPAnimCore/LPAnimCore.Build.cs` l.1, `Plugins/ModdingExtra/Source/ModdingExtra/Private/LPDataCache.h` l.1 ; addon 5.8 `Plugins/LPSandbox/Source/**` (10 `.h`, `LPModTools.Build.cs` l.1, `LPSandbox.Build.cs` l.3) | « Laisser, comme D2 » (2026-10-10, question posée après la VAL) | non corrigés (aucune recompilation) ; listés dans l'EVAL avec les 11 en-têtes de `Source` ; les 12 mêmes lignes de l'addon 5.5 relèvent de D5 |
|
||
|
|
| D3-D4 | Archives : livrables des lots clos, tickets faits, entrées passées du journal | « Corriger les 2 liens seulement » | seuls `etat/U58/U1/U1-MODS-MOTEUR.md` l.5 et `etat/U58/UA/UA-MODS.md` l.4 : `../../../27_Plan_Migration_UE58.md` → `../../../../27_Plan_Migration_UE58.md` ; le reste intact (journal compris) ; la CHG-300 donne la table ancien → nouveau |
|
||
|
|
| D5 | addon55 (`LifePlay-Sandbox`, `lot/DC3-atelier`, sert la copie 5.5) hors skills | « Inchangé hors skills » | README, Docs, Tools de l'addon55 intacts ; ses skills (communs aux deux copies par la jonction) reçoivent le même texte que l'addon58, qui distingue les copies |
|
||
|
|
|
||
|
|
## 3. Préconditions (Big Boss : `GEL-GO <heure>`)
|
||
|
|
1. Gel annoncé par Big Boss à toutes les sessions : aucune écriture par une autre session sur les 41 fichiers, `README.md`
|
||
|
|
racine, les skills `lp-doc`, `lp-lot`, `lp-paths`, `lp-repo`, `lp-build` (deux addons), `~\.claude\agents\lp-writer.md`,
|
||
|
|
`CLAUDE.md`, `Tools/SplitModules.ps1`.
|
||
|
|
2. Commits faits avant le gel : `AG-R1`, `AG-R2` (+ `ETAT3-R3`, `ETAT3-R4` fusionnés), `AG-R3` (journal, README, doc 32,
|
||
|
|
`NUMEROS.md` avec la ligne CHG-300 : accord Big Boss), puis `OBB-R2` (entrée OBB au journal, `Tools/SplitModules.ps1`,
|
||
|
|
`Tools/BuildDebug.ps1`). Contrôle à l'entrée : `git status --short -- Docs/Migration/*.md Docs/Migration/correctifs
|
||
|
|
README.md Tools` vide ; `diff -rq` des deux dossiers de skills vide ; `git status --short` des deux addons vide sur
|
||
|
|
`Tools/claude/skills`.
|
||
|
|
3. D1-D5 tranchés : fait (§ 2).
|
||
|
|
|
||
|
|
## 4. Déroulé (après `GEL-GO`)
|
||
|
|
### S0 — Ticket `DOCMV-R1` (TAG) : tag annoté `DOCMV-avant` sur le HEAD du jeu, après AG-R3 et OBB-R2.
|
||
|
|
### S1 — Instantané (session DOCMV)
|
||
|
|
```powershell
|
||
|
|
.\Tools\Snapshot.ps1 -Lot DOCMV -Path Docs\Migration\Journal_Modifications.md, Docs\Migration\Registre_Erreurs.md, Docs\Migration\README.md, Docs\Migration\01_Architecture_Initiale.md, … (les 35), Docs\Migration\correctifs, README.md, Tools\BuildCollections.py, Tools\CheckIntegrity.ps1, Tools\ReimportCorrectif.ps1, Tools\SplitModules.ps1, Tools\debug\LifePlay_debug_ui.ps1, .cursor\skills\lifeplay-debug-build, CLAUDE.md, Docs\Migration\etat\U58\U1\U1-MODS-MOTEUR.md, Docs\Migration\etat\U58\UA\UA-MODS.md -Recurse
|
||
|
|
.\Tools\Snapshot.ps1 -Lot DOCMV -Path Docs\Journal_Modifications.md, … (les 35 cibles), Docs\correctifs # Existed=False attendu
|
||
|
|
.\Tools\Snapshot.ps1 -Lot DOCMV -ProjectRoot D:\Game\LifePlay-Sandbox-5.8 -Path Tools\claude\skills, README.md, Docs\SB-plan.md, Docs\SB0-conception.md, Docs\Modding\Creating_Asset_Mods.md, Tools\BuildMod.ps1, Tools\HairImportFbx.py, Tools\HairMaterials.py, Tools\HairPipeline.ps1, Tools\ModSource.ps1, Tools\Roots.ps1, Tools\anim\AnimPipeline.ps1 -Recurse
|
||
|
|
.\Tools\Snapshot.ps1 -Lot DOCMV -ProjectRoot D:\Game\LifePlay-Sandbox -Path Tools\claude\skills -Recurse
|
||
|
|
```
|
||
|
|
Hors dépôts (copie manuelle dans `D:\Game\LifePlay_Backup_5.5\DOCMV\hors-depot\`) : `~\.claude\agents\lp-writer.md`,
|
||
|
|
mémoire `docs-reference-5-8.md`. Liste exacte des 41 chemins : `DOCMV-IMPL.md`.
|
||
|
|
### S2 — Déplacement (système de fichiers ; l'historique est gardé par la détection de renommage de git, S7)
|
||
|
|
Pour chacun des 35 noms : `Test-Path Docs\<nom>` doit être faux (sinon **arrêt**, question à l'utilisateur), puis
|
||
|
|
`Move-Item Docs\Migration\<nom> Docs\<nom>`. Puis `Test-Path Docs\correctifs` faux → `Move-Item Docs\Migration\correctifs
|
||
|
|
Docs\correctifs`. Contrôle : 35 dans `Docs\*.md`, 6 dans `Docs\correctifs\`, 0 `.md` dans `Docs\Migration\`,
|
||
|
|
`Docs\Migration` = `etat` seul, MD5 des 41 avant = après. Contenu non modifié à cette étape.
|
||
|
|
### S3 — Corrections de références (Edit, jamais de script, `lp-doc`)
|
||
|
|
| # | Fichier (nouvel emplacement) | Correction |
|
||
|
|
|---|---|---|
|
||
|
|
| 1 | `README.md` racine | 12 liens l. 79, 106, 129, 153, 154, 164-168, 170, 192 : `Docs/Migration/X` → `Docs/X` (texte et cible) |
|
||
|
|
| 2 | `Docs/19_Plan_Outillage_Debug.md` | 7 liens l. 5, 75, 131, 132, 155, 171, 172 : `../../` → `../` |
|
||
|
|
| 3 | `Docs/22_Eval_Agents_Sandbox.md` l. 7 | lien `etat/sandbox/S8/S8-VAL.md` → `Migration/etat/sandbox/S8/S8-VAL.md` |
|
||
|
|
| 4 | `Docs/09_Commandes_Utiles.md` l. 92 ; `Docs/24_Plan_Decouplage_Sandbox.md` l. 409, 411 ; `Docs/32_Organisation_Agents.md` l. 274, 285 ; `Docs/05_Correctifs_Isoles.md` l. 15 | `Docs/Migration/NN…` → `Docs/NN…` ; `Docs/Migration/correctifs/` → `Docs/correctifs/` |
|
||
|
|
| 5 | `Docs/08_Guide_Developpeur.md` l. 37 (tableau des dossiers) | ligne `Docs/Migration` scindée : `Docs` (journal, registre, index, docs 01-32, `correctifs/`) et `Docs/Migration` (`etat/`) |
|
||
|
|
| 6 | `Docs/README.md` (index) | ligne `etat/` → `Migration/etat/` ; ligne `correctifs/` inchangée (reste juste) ; phrase de convention : « dans ces docs, `etat/…` désigne `Docs/Migration/etat/…` » ; plage du journal jusqu'à `CHG-300` |
|
||
|
|
| 7 | `Tools/BuildCollections.py` l.1, `CheckIntegrity.ps1` l.3, `ReimportCorrectif.ps1` l.3, `SplitModules.ps1` l.3 (après OBB-R2), `debug/LifePlay_debug_ui.ps1` l.1 | commentaire `Docs/Migration/NN` → `Docs/NN` |
|
||
|
|
| 8 | `.cursor/skills/lifeplay-debug-build/SKILL.md` l.18-19, `reference.md` l.80 (locaux, non suivis) | `Docs/Migration/NN` → `Docs/NN` |
|
||
|
|
| 9 | skills `lp-doc` l.3, 14, 22, 23, 35, 42, 46 ; `lp-lot` l.9 ; `lp-paths` l.32 ; `lp-repo` l.50, 55 ; `lp-build` l.112 — **deux addons, texte identique** | chemin de la copie 5.8 en premier, la copie 5.5 (figée) nommée à part. Ex. `lp-doc` l.14 : « Journal : `Docs/Journal_Modifications.md` (copie 5.8 ; copie 5.5 : `Docs/Migration/…`, figée) » ; l.22-23 : `Select-String -Path Docs/Journal_Modifications.md` / `Docs/Registre_Erreurs.md` (+ commentaire 5.5) ; `lp-paths` l.32 : « Docs de migration | `Docs\` (copie 5.8 : index `README.md`, journal, registre, docs 01-32, `correctifs\` ; copie 5.5 : `Docs\Migration\`) » ; `lp-repo` § 5-6 : `Docs/21_Sandbox_Addon.md`, `Docs/README.md`. Numéros de ligne à relire après AG-R1/R2 |
|
||
|
|
| 10 | addon58 hors skills : `README.md` l.5, 63, 78 ; `Docs/SB-plan.md` l.33, 79, 361 ; `Docs/SB0-conception.md` l.4 ; `Docs/Modding/Creating_Asset_Mods.md` l.107 ; 7 en-têtes de `Tools/` | `Docs/Migration/NN` → `Docs/NN` (rien dans addon55, D5) |
|
||
|
|
| 11 | `~\.claude\agents\lp-writer.md` l.3 | « docs numérotées `Docs/` (copie 5.8 ; `Docs/Migration` en 5.5) » |
|
||
|
|
| 12 | `CLAUDE.md` (local, exclu) | sous la ligne « Livrables… » (inchangée, `etat` ne bouge pas) : « Journal CHG, registre ERR, index README, docs 01-32 et `correctifs\` : `Docs\` (lot DOCMV, CHG-300) ; `Docs\Migration\` ne garde que `etat\`. » |
|
||
|
|
| 13 | mémoire `docs-reference-5-8.md` | l.17 : déplacement fait (CHG-300), `correctifs\` compris |
|
||
|
|
| 14 | `etat/U58/U1/U1-MODS-MOTEUR.md` l.5, `etat/U58/UA/UA-MODS.md` l.4 (D3) | `../../../27_Plan_Migration_UE58.md` → `../../../../27_Plan_Migration_UE58.md` |
|
||
|
|
Non corrigés (décisions D2-D5) : 11 en-têtes `Source`, archives `etat` (sauf S3-14), entrées passées du journal, addon55 hors skills.
|
||
|
|
### S4 — Trace documentaire (lp-writer ou session, Edit)
|
||
|
|
- `Docs/Journal_Modifications.md` : entrée **CHG-300** (lot DOCMV ; fichiers : 41 renommages + S3 ; raison : décision
|
||
|
|
utilisateur citée, D1-D5 cités ; avant → après : table ancien → nouveau chemin ; retour arrière : `git revert` du commit
|
||
|
|
`DOCMV-R4` ou `.\Tools\Restore.ps1 -Lot DOCMV`).
|
||
|
|
- `Docs/29_Projet_Stabilisation_V2.md` § « Dépôts, outils, livrables » : ligne de méthode « Journal, registre, index,
|
||
|
|
docs 01-32 et `correctifs\` : `Docs\` ; preuves de lot : `Docs\Migration\etat\` (DOCMV, CHG-300) » ; et une puce DOCMV au
|
||
|
|
point d'étape.
|
||
|
|
- `Docs/32_Organisation_Agents.md` § 9 : ligne de tableau « Journal, registre, index, docs numérotées | DOC | `Docs/` »
|
||
|
|
(en plus de la correction S3-4).
|
||
|
|
- `Docs/README.md` : S3-6. Pas de nouvelle ligne de doc (aucun numéro de doc créé).
|
||
|
|
- `DOCMV-EVAL.md` : comptes avant / après, exceptions, résidus D2, mesures de la session.
|
||
|
|
### S5 — Contrôles (session DOCMV, rejouables)
|
||
|
|
1. `ls Docs/*.md` = 35 ; `ls Docs/correctifs` = 6 ; `ls Docs/Migration` = `etat` seul.
|
||
|
|
2. Ré-exécution de l'inventaire T1 (35 noms + `correctifs`) : forme **path** `Docs/Migration/<un des 35>` ou
|
||
|
|
`Docs/Migration/correctifs` = 0 dans skills (deux addons), agents, `CLAUDE.md`, `Tools`, `.cursor`, `README.md` racine,
|
||
|
|
docs vivantes (35 sauf entrées passées du journal), addon58 ; restent seulement : 11 `Source/*.h` (D2), `etat` des lots
|
||
|
|
clos (D3), journal passé (D4), addon55 hors skills (D5).
|
||
|
|
3. Simulation des liens (`links.py`) sur l'état réel : 0 lien cassé créé par le lot (les 2 archives U1 / UA comprises).
|
||
|
|
4. `diff -rq` des deux dossiers de skills : vide.
|
||
|
|
### S6 — VAL (`lp-validator`, agent distinct, `sk-recount`) : recompte S5, lecture du diff complet, verdict `PASS-STATIC`
|
||
|
|
attendu ; livrable `DOCMV-VAL.md`.
|
||
|
|
### S7 — Tickets au gardien (R-REPO1 ; rien poussé)
|
||
|
|
| Ticket | Dépôt | Contenu |
|
||
|
|
|---|---|---|
|
||
|
|
| `DOCMV-R2` | addon58 `ue5.8` | M skills (5 fichiers) + 15 lignes hors skills (S3-10) ; message `DOCMV : chemins du journal, du registre et des docs 01-32 (Docs/ de la copie 5.8) (CHG-300)` |
|
||
|
|
| `DOCMV-R3` | addon55 `lot/DC3-atelier` | M skills (5 fichiers, même contenu que R2) |
|
||
|
|
| `DOCMV-R4` | jeu 5.8 `ue5.8` | `R` des 41 (`Docs/Migration/X` → `Docs/X`, `Docs/Migration/correctifs/P0n…` → `Docs/correctifs/P0n…`, contenu modifié par S3-S4), M `README.md`, M `Tools/*` (S3-7), M 2 archives (S3-14), A `etat/DOC/DOCMV/*.md`, `*.csv`, M `etat/REPO/NUMEROS.md`, `REPO-JOURNAL.md`, ticket ; **jamais** `Content/UI/MainMenu.uasset` ; contrôle exigé : `git show --stat -M <commit>` liste **41 renommages** (`R`), sinon refus et retour à l'orchestrateur |
|
||
|
|
Ordre : R2, R3, puis R4 (le message du jeu cite les tickets addon). `git log --follow Docs/<nom>` doit remonter avant le
|
||
|
|
commit pour les 40 fichiers anciens (32 : depuis AG-R3).
|
||
|
|
### S8 — Fin : `DOCMV-EVAL.md`, statut `utilisé` pour CHG-300 dans `NUMEROS.md`, message
|
||
|
|
`[DOCMV→BOSS] DOCMV FIN-LOT etat\DOC\DOCMV\DOCMV-EVAL.md` ; Big Boss contre-vérifie et annonce les nouveaux chemins.
|
||
|
|
|
||
|
|
## 5. Retour arrière (proposé, jamais lancé sans accord)
|
||
|
|
Avant commit : `.\Tools\Restore.ps1 -Lot DOCMV -WhatIf` puis `Restore.ps1 -Lot DOCMV` (les 41 cibles `Existed=False`
|
||
|
|
sont retirées vers `_avant-restauration`, les originaux reviennent dans `Docs\Migration\`). Après commit : ticket
|
||
|
|
`RESTORE` (`git revert` de R4, R3, R2) avec accord utilisateur cité.
|
||
|
|
|
||
|
|
## 6. Critères de fin
|
||
|
|
Les 41 fichiers dans `Docs\` avec historique (`git log --follow`) ; S5 sans écart ; CHG-300 écrit ; R2-R4 faits par le
|
||
|
|
gardien ; FIN-LOT reçu par Big Boss.
|