LifePlay-Revival/Docs/Migration/etat/EVAL2/AMEL1/AMEL1-TEXTES-W5.md

321 lines
17 KiB
Markdown
Raw Normal View History

Fiche AMEL1-W5 — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-writer — Skills sk-protocol, lp-doc, lp-lot
# AMEL1-W5-TEXTES : `Tools/` du jeu 5.8 devient local et non suivi (textes proposés, 2026-10-14)
Hors gabarit : ce livrable propose des textes (avant / après exacts), il n'en applique aucun ; rien n'est écrit dans un skill.
Décision de l'utilisateur, relayée par Big Boss le 2026-10-14 : « on gitignore Tools. c'est un dossier pour Agent IA » ; choix
« Ignorer + retirer de l'index » pour `Tools/` du jeu 5.8 (50 fichiers, CHG-357, ticket AMEL1-R6). Les scripts de
`Docs/Migration/etat/` restent ignorés. Racine `SK` = `D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills`.
Ne pas confondre : `Tools/` du **jeu** (concerné) et `Tools/` de l'**addon** (`D:\Game\LifePlay-Sandbox-5.8\Tools`, qui porte
`claude/skills` et reste suivi dans l'addon). Les « Avant » sont recopiés des fichiers lus ce jour ; ancres à re-citer à l'écriture.
## 1. Fichiers écrits
- `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL2\AMEL1\AMEL1-TEXTES-W5.md` (ce fichier, créé). Aucun autre.
## 2. Numéros utilisés (CHG, ERR, doc)
sans objet : aucune entrée écrite ; CHG-357 est cité d'après la fiche (réservation par l'orchestrateur).
## 3. Index, plages et registre des reports mis à jour
sans objet.
## 4. Écarts à la fiche
Aucun écart de fond. Ajouts hors de la liste de la fiche : `sk-protocol` (piège de Grep depuis la racine, S-2), `lp-repo` § 10 (sens de `D`, R-5),
`lp-doc` et `sk-repo` (D-1, D-2, phrases qui supposent git). À écarter si l'orchestrateur ne les veut pas.
## 5. Fichiers à commiter
A `Docs/Migration/etat/EVAL2/AMEL1/AMEL1-TEXTES-W5.md` (dépôt du jeu 5.8). Aucun skill modifié.
## 6. À verser
À verser : aucun.
Tours : 9 / 30
## Constats
### 0. Décision de l'utilisateur sur la sauvegarde (orchestrateur, 2026-10-14) — remplace « à définir »
Décision : « Instantané complet TOOLS-REF ». Dans P-3 (`lp-paths`) et L-1 (`lp-lot`), le texte « à définir » devient :
« Sauvegarde de `Tools/` du jeu : instantané complet `Snapshot.ps1 -Lot TOOLS-REF` pris après le retrait de l'index
(CHG-357), dans `D:\Game\LifePlay_Backup_5.5\TOOLS-REF\` ; puis tout lot qui modifie un outil prend son instantané
`Snapshot.ps1 -Lot <LOT>` avant d'écrire et cite le MD5 avant / après dans son livrable (retour arrière : `Restore.ps1`). »
Fait le 2026-10-14 après le commit `072a6c8` (CHG-357) : `TOOLS-REF`, 50 fichiers, `manifest.csv` avec MD5.
Ajout à P-3 (`lp-paths`), dépendance à protéger (vérifié par Big Boss, 2026-10-14) : « Le hook `.git/hooks/pre-push` du jeu
(copie autonome) appelle `D:/Game/LifePlay-master 5.8/Tools/PubCheck.ps1` sur le disque (ou la variable `LP_PUBCHECK`) :
ne pas déplacer ni renommer `Tools\PubCheck.ps1`. »
Deux « À verser » de LANC1 (`etat\AG\LANC1\LANC1-DOC.md` § 6), proposés ici :
- `sk-windows-shell` : « `Start-Process -ArgumentList` joint les éléments sans guillemets : un chemin avec espace doit y
arriver déjà entouré de guillemets. »
- `lp-mcp` § 2 : « Le lanceur HyperAIStudio (`.hyperai\scripts\Start-HyperAIStudioEditor.ps1`) est régénéré par le
plugin : la voie headless est la voie officielle ; ne pas corriger le script généré. »
### A. Relevé (Grep `Tools[/\\]` dans les skills demandés)
- `Tools/` du jeu : 50 fichiers encore suivis (`git ls-files Tools`, 50 lignes) ; `.gitignore` porte déjà `/Tools/` (l. 91, modification non
commitée, `git diff --stat` : `1 insertion(+)`). Les fichiers restent sur disque ; ils sortent de l'index au ticket AMEL1-R6.
- Sauvegarde : aucune copie complète de `Tools/` n'existe. Relevé de `D:\Game\LifePlay_Backup_5.5\` (354 entrées) : instantanés par lot de
`Snapshot.ps1` (première version des fichiers touchés par le lot, `manifest.csv` avec MD5 ; ex. `AMEL1-OUTILS\` : `CopieEtat.ps1`,
`EssaiJournal.ps1`, `EssaiJournal.regles.json`, `FicheStats.py`, `Indicateurs.py`) ; aucun dossier `Tools` complet. Autre filet : l'historique
git local avant le commit de retrait (`git show <commit>:Tools/<fichier>`, lecture seule). La phrase de sauvegarde ci-dessous écrit donc
**« à définir »** (point à trancher : où poser une copie complète et à jour de `Tools/`).
- Phrases qui supposent `Tools/` suivi par git (à remplacer) : `lp-paths` l. 14 (« `Tools` du jeu » dans le contenu du dépôt public) ; `lp-lot` l. 33-35
(retour arrière par git, « fichiers hors git ») ; `lp-validate` l. 17-22 (`git diff <lot>-avant -- <fichier>`) et l. 41 (« Fichiers non suivis ») ;
`sk-protocol` l. 83-86 (Grep depuis la racine saute les dossiers ignorés ; « le proposer pour `Tools/` ») ; `lp-repo` § 3, § 8, § 9 (`pre-push`),
§ 10 (sens de `D`) ; hors liste : `lp-doc` l. 34, `sk-repo` l. 101. Les autres occurrences (`.\Tools\Build.ps1`, `Snapshot.ps1`, `UeState.ps1`,
`Verrou.ps1`, `PubCheck.ps1`, `Tools\anim` de l'addon…) sont des **usages locaux** des scripts : inchangées.
---
### lp-paths
#### P-1. `SK\lp-paths\SKILL.md`, tableau « Dépôts git », ligne Jeu (l. 14), dernière cellule de contenu
Avant (fragment de la ligne 14) :
````
C++ (`Source`, `Plugins/LPAnimCore`…), `Config`, `Docs`, `Tools` du jeu
````
Après :
````
C++ (`Source`, `Plugins/LPAnimCore`…), `Config`, `Docs` du jeu (`Tools/` est local et non suivi : voir « Ne se commit jamais »)
````
Motif : le dépôt public ne contient plus `Tools/` (CHG-357).
#### P-2. `SK\lp-paths\SKILL.md`, ligne Addon (l. 15)
Avant (fragment) :
````
atelier de mods (`Tools`, `ModSources`, `AnimSources`)
````
Après :
````
atelier de mods (`Tools` de l'addon, qui reste suivi dans l'addon et ne se confond pas avec `Tools/` du jeu ; `ModSources`, `AnimSources`)
````
Motif : lever la confusion entre les deux dossiers `Tools`.
#### P-3. `SK\lp-paths\SKILL.md`, section « Ne se commit jamais (jeu, d'après `.gitignore`) », liste (l. 40-41) et paragraphe (l. 47)
Avant (l. 40-41) :
````
`.claude/` et `.claude/settings.local.json`, `.mcp.json` (jeton), `Binaries`, `Intermediate`, `Saved`,
````
Après :
````
`.claude/` et `.claude/settings.local.json`, `.mcp.json` (jeton), `Tools/` (CHG-357), `Binaries`, `Intermediate`, `Saved`,
````
Avant (l. 47) :
````
Aucun contenu de jeu (noms, textes, assets) dans un skill, une fiche publiée ou un message de commit public.
````
Après (paragraphe ajouté à la suite) :
````
Aucun contenu de jeu (noms, textes, assets) dans un skill, une fiche publiée ou un message de commit public.
**`Tools/` du jeu** (décision de l'utilisateur du 2026-10-14 : « on gitignore Tools. c'est un dossier pour Agent IA » ; CHG-357, ticket
AMEL1-R6) : local, ignoré (`.gitignore`, `/Tools/`) et retiré de l'index. Un nouveau clone n'a pas les outils (`Build.ps1`,
`Snapshot.ps1`, `PubCheck.ps1`…) : ils ne sont plus publiés. Sauvegarde : à définir (décision de l'utilisateur). Filets partiels existants :
les instantanés `D:\Game\LifePlay_Backup_5.5\<lot>\` (`Snapshot.ps1` : première version des fichiers touchés par un lot, MD5) et l'historique git
local jusqu'au retrait (`git show <commit avant CHG-357>:Tools/<fichier>`, lecture seule) ; aucune copie complète et à jour. `Tools/` de l'addon
(`D:\Game\LifePlay-Sandbox-5.8\Tools`) reste suivi dans l'addon.
````
Motif : dire ce qui n'est plus publié et qu'aucune sauvegarde complète n'existe (à définir, signalé).
---
### lp-repo
#### R-1. `SK\lp-repo\SKILL.md`, § 3 « Jamais commité (refus du ticket) » (l. 29-36)
Avant (l. 30) :
````
`.claude/`, `.mcp.json` (jeton), `Docs/Migration/etat/` sauf `.md` et `.csv` (suivis en texte seul depuis ETAT3,
````
Après :
````
`.claude/`, `.mcp.json` (jeton), `Tools/` du jeu (local, ignoré, retiré de l'index : CHG-357), `Docs/Migration/etat/` sauf `.md` et `.csv` (suivis en texte seul depuis ETAT3,
````
Avant (fin du § 3, l. 35-36) :
````
jonction), `/ModSources/*/Content/`, `.cursor/`. Dépôt public : aucun contenu de jeu (noms, textes, assets) dans un
fichier, un message de commit ou un tag.
````
Après :
````
jonction), `/ModSources/*/Content/`, `.cursor/`. Dépôt public : aucun contenu de jeu (noms, textes, assets) dans un
fichier, un message de commit ou un tag.
Le gardien ne commite plus rien sous `Tools/` du jeu : un ticket qui contient un tel chemin est refusé (statut `refusé (Tools/ non suivi)`,
sans commit). Seule exception : le ticket AMEL1-R6 (CHG-357) qui retire les 50 fichiers de l'index. CHG et instantané (`Snapshot.ps1`) restent
obligatoires quand on modifie un outil, mais il n'y a pas de commit (`lp-lot`).
````
Motif : décision du 2026-10-14. Hors texte : le garde-fou `hooks\pre-commit` (§ 9) doit refuser `Tools/` ; son fichier est à mettre à jour par un ticket CONFIG.
#### R-2. `SK\lp-repo\SKILL.md`, § 8 « Gabarit de ticket » (l. 73-76)
Avant :
````
Fichiers :
M <chemin relatif à l'arbre>
A <chemin>
D <chemin>
````
Après :
````
Fichiers :
M <chemin relatif à l'arbre>
A <chemin>
D <chemin>
(jamais de chemin sous `Tools/` du jeu : ticket refusé, § 3)
````
#### R-3. `SK\lp-repo\SKILL.md`, § 9, garde-fou `pre-push` (l. 90) et § 10 (l. 123)
Avant (l. 90) :
````
**Garde-fou `pre-push` (PUB3, installé le 2026-10-13)** : `Tools\hooks\pre-push` du jeu, copié dans `.git\hooks\` du
````
Après :
````
**Garde-fou `pre-push` (PUB3, installé le 2026-10-13)** : `Tools\hooks\pre-push` du jeu (local, non suivi depuis CHG-357 : sauvegarde à définir, `lp-paths`), copié dans `.git\hooks\` du
````
Avant (l. 123) :
````
- `.git\hooks` n'est emporté ni par un clone ni par une recopie du dépôt : réinstaller `pre-push` (ticket CONFIG).
````
Après :
````
- `.git\hooks` n'est emporté ni par un clone ni par une recopie du dépôt : réinstaller `pre-push` (ticket CONFIG). Sa source `Tools\hooks\pre-push`
ne l'est plus non plus (`Tools/` local, CHG-357) : la reprendre de la sauvegarde ou de l'historique git local.
````
#### R-5. `SK\lp-repo\SKILL.md`, § 10, bullet « Suppression de fichier interdite » (l. 104)
Avant :
````
- Suppression de fichier interdite (règles) : `D` d'un ticket = fichier déjà déplacé vers `LifePlay_Backup_5.5\<lot>`.
````
Après :
````
- Suppression de fichier interdite (règles) : `D` d'un ticket = fichier déjà déplacé vers `LifePlay_Backup_5.5\<lot>`. Exception : retrait
de l'index d'un chemin devenu ignoré (CHG-357, `Tools/` du jeu, `git rm --cached`) : le fichier reste sur disque ; MD5 relevé avant et après.
````
Motif : le ticket AMEL1-R6 porte 50 `D` qui ne sont pas des suppressions.
---
### lp-lot
#### L-1. `SK\lp-lot\SKILL.md`, « Avant toute modification », retour arrière par git (l. 33-35)
Avant :
````
Retour arrière par git (`git revert`, ou fichiers repris du tag `<lot>-avant`) : ticket `RESTORE` au gardien, avec
l'accord de l'utilisateur cité ; jamais de `git checkout` lancé par une autre session.
- Les fichiers hors git (Content, Saved) n'ont que l'instantané comme filet. Copie jetable pour un test destructif.
````
Après :
````
Retour arrière par git (`git revert`, ou fichiers repris du tag `<lot>-avant`) : ticket `RESTORE` au gardien, avec
l'accord de l'utilisateur cité ; jamais de `git checkout` lancé par une autre session. Un outil sous `Tools/` du jeu n'est pas
suivi (CHG-357) : pas de `git revert`, retour arrière par `Restore.ps1`.
- Les fichiers hors git (Content, Saved, `Tools/` du jeu) n'ont que l'instantané comme filet. Copie jetable pour un test destructif.
- IMPL d'outil (`Tools\*.ps1`, `Tools\*.py` du jeu) : tracé par l'instantané (`Snapshot.ps1`, avant d'écrire), le CHG (retour arrière :
`Restore.ps1 -Lot <lot>`) et le livrable IMPL (MD5 avant et après par `FileCheck.ps1`). Pas de commit ni de ticket au gardien : section
« Fichiers à commiter » = `sans objet : outil local non suivi`. L'outil modifié n'est pas publié ; sa sauvegarde complète est « à définir »
(`lp-paths`).
````
Motif : décision du 2026-10-14 ; indicateur visé : I10b (écritures sans instantané préalable, une zone sans autre filet).
---
### lp-validate
#### V-1. `SK\lp-validate\SKILL.md`, § 1, bloc git (l. 17-22) puis bullet « Fichiers non suivis » (l. 41)
Avant (fin du bloc, l. 21-22) :
````
git -C '<copie>' diff <lot>-avant -- <fichier> # lu EN ENTIER, fichier par fichier
````
````
```
````
Après (ligne ajoutée juste après la clôture du bloc) :
````
Un fichier sous `Tools/` du jeu n'est pas suivi (CHG-357) : `git status` et `git diff` ne le voient pas. Le comparer à l'instantané du lot :
`FileCheck.ps1 -Lot <lot> -OnlyChanged` et `git diff --no-index <instantané> <fichier>`.
````
Avant (l. 41, début du bullet) :
````
- Fichiers non suivis (skills, agents) : comparer à l'instantané du lot, `git diff --no-index [--numstat] <instantané>
````
Après :
````
- Fichiers non suivis (skills, agents, `Tools/` du jeu) : comparer à l'instantané du lot, `git diff --no-index [--numstat] <instantané>
````
---
### sk-protocol
#### S-1. `SK\sk-protocol\SKILL.md`, § 7, bullet « Script à usage répété » (l. 86)
Avant :
````
- Script à usage répété : pas dans le scratchpad ; le ranger dans `Saved/<lot>/` ou le proposer pour `Tools/`.
````
Après :
````
- Script à usage répété : pas dans le scratchpad ; le ranger dans `Saved/<lot>/` ou le proposer pour `Tools/` du jeu (local, non suivi
depuis CHG-357 : instantané, CHG et livrable remplacent le commit).
````
#### S-2. `SK\sk-protocol\SKILL.md`, § 7, Grep depuis la racine (l. 83-85) — piège nouveau
Avant :
````
`Plugins/McpAutomationBridge`, `Plugins/Marketplace` dont HyperAIStudio, `Saved`, `Content/Modules`, `Mods`,
`Docs/Migration/etat`…) : les chercher en passant leur chemin en `path`. Aucun résultat depuis la racine ne prouve pas une absence (essai du 2026-10-09).
````
Après :
````
`Plugins/McpAutomationBridge`, `Plugins/Marketplace` dont HyperAIStudio, `Saved`, `Content/Modules`, `Mods`,
`Docs/Migration/etat`, `Tools` du jeu depuis CHG-357…) : les chercher en passant leur chemin en `path`. Aucun résultat depuis la racine ne prouve pas une absence (essai du 2026-10-09).
````
Motif : `/Tools/` dans `.gitignore` : un Grep lancé depuis la racine du jeu ne regarde plus les scripts (zéro résultat trompeur).
---
### lp-build
#### B-1. `SK\lp-build\SKILL.md`, § 1 « Les deux copies », après le bullet « Depuis U4… » (l. 19)
Avant (l. 19) :
````
- Depuis U4, chaque copie a son addon : 5.5 → checkout `D:\Game\LifePlay-Sandbox` (`lot/DC3-atelier`), 5.8 → worktree `D:\Game\LifePlay-Sandbox-5.8` (`ue5.8`). Ne jamais pointer une copie vers l'addon de l'autre.
````
Après (bullet ajouté) :
````
- Depuis U4, chaque copie a son addon : 5.5 → checkout `D:\Game\LifePlay-Sandbox` (`lot/DC3-atelier`), 5.8 → worktree `D:\Game\LifePlay-Sandbox-5.8` (`ue5.8`). Ne jamais pointer une copie vers l'addon de l'autre.
- `Tools/` de la copie 5.8 est local et non suivi (ignoré, CHG-357) : un nouveau clone n'a ni `Build.ps1`, ni `Engine.ps1`, ni les autres scripts de ce skill. Les reprendre de la sauvegarde (à définir, `lp-paths`) ; jamais `git checkout` ni `git restore` pour en retrouver un.
````
---
### Phrases hors de la liste (même cause)
#### D-1. `SK\lp-doc\SKILL.md`, § Journal, bullet « Retour arrière » (l. 34)
Avant (première ligne) :
````
- Retour arrière : commande exécutable (`git revert` du commit du ticket `<LOT>-R<n>`, `.\Tools\Restore.ps1 -Lot <lot>`,
````
Après :
````
- Retour arrière : commande exécutable (`git revert` du commit du ticket `<LOT>-R<n>`, `.\Tools\Restore.ps1 -Lot <lot>` ; pour un outil sous `Tools/` du jeu, non suivi, `Restore.ps1` seul,
````
#### D-2. `SK\sk-repo\SKILL.md`, ticket `RESTORE` (l. 101)
Avant (première ligne) :
````
- `RESTORE` : instantané d'abord (`sk-change-safety`) ; `git revert <hash>` de préférence, ou
````
Après :
````
- `RESTORE` : instantané d'abord (`sk-change-safety`) ; `git revert <hash>` de préférence (aucun ticket `RESTORE` pour `Tools/` du jeu, non suivi : `Restore.ps1`), ou
````
### Points à trancher
1. **Sauvegarde de `Tools/`** : « à définir ». Aucune copie complète et à jour n'existe (relevé de `D:\Game\LifePlay_Backup_5.5\`). Proposition à soumettre : un
`Snapshot.ps1 -Lot TOOLS-REF -Path Tools -Recurse` après le ticket AMEL1-R6, puis refait à chaque version de référence.
2. **Hook `pre-commit`** (`lp-repo` § 9) et **hook `pre-push`** : à mettre à jour / réinstaller par ticket CONFIG (hors skills).
3. Les 50 `D` du ticket AMEL1-R6 : R-5 le traite comme exception à la règle « D = fichier déjà déplacé ».
Retour arrière (après application) : instantané `Snapshot.ps1 -Lot AMEL1-W5 -ProjectRoot D:\Game\LifePlay-Sandbox-5.8 -Path <fichiers>` avant d'écrire ; `git revert` du ticket pour
les fichiers suivis ; `sk-protocol`, `sk-repo` et `sk-windows-shell` sont non suivis dans l'addon (instantané seul), leurs copies du profil
`%USERPROFILE%\.claude\skills\` sont à redéployer (geste de l'utilisateur).
Non mesuré : aucun effet sur les indicateurs (P4) ; l'état git des 50 fichiers et de `.gitignore` est celui de la lecture de ce jour.