9.8 KiB
Fiche OUT1-T1 — Niveau N3 — Modèle prévu non précisé (session mère) | utilisé claude-opus-5-5
OUT1 — trois outils pour remplacer les scripts improvisés (IMPL + essais)
Date : 2026-10-09. Copie : D:\Game\LifePlay-master 5.8 (branche ue5.8) ; addon : checkout actif
D:\Game\LifePlay-Sandbox (lot/DC3-atelier, lu par les deux jeux via la jonction .claude\skills) et worktree
D:\Game\LifePlay-Sandbox-5.8 (ue5.8).
Statut : clos, commité, rien poussé. Entrées au journal du jeu 5.8 : CHG-264 (ces outils) et CHG-265
(Tools/uasset.py, même lot OUT1, autre session). CHG-263 a été pris par STM, CHG-267 par EDIT1 (qui a intégré le
passage lp-validate d'OUT1).
| Dépôt | Branche | Commit | Contenu |
|---|---|---|---|
jeu D:\Game\LifePlay-master 5.8 |
ue5.8 |
866e869 |
Tools/UeState.ps1, Tools/FileCheck.ps1 (nouveaux), LogStats.ps1, Build.ps1, RunCommandlet.ps1, EtatDir.ps1 (règle OUT\d*), ligne CHG-264, plage du README |
jeu D:\Game\LifePlay-master 5.8 |
ue5.8 |
8c6149e |
Tools/uasset.py, ligne CHG-265 (session uasset.py) |
addon D:\Game\LifePlay-Sandbox |
lot/DC3-atelier |
a69c43b |
skills lp-build, lp-commandlets |
addon D:\Game\LifePlay-Sandbox |
lot/DC3-atelier |
496ff2c |
skill lp-validate (FileCheck), commité par EDIT1 |
addon D:\Game\LifePlay-Sandbox-5.8 |
ue5.8 |
8422fd6 |
skills lp-build, lp-commandlets (même contenu) |
addon D:\Game\LifePlay-Sandbox-5.8 |
ue5.8 |
aa0c1e5 |
skill lp-validate (FileCheck), commité par EDIT1 ; pin du jeu 5.8 → aa0c1e5 au doc 21 (jeu f6df36b, EDIT1) |
git diff lot/DC3-atelier ue5.8 -- Tools/claude/skills est vide après ces commits.
Compte rendu de Tools/uasset.py : etat/OUT1/OUT1-UASSET.md, déposé par la session uasset.py (non écrit ici).
Instantanés : D:\Game\LifePlay_Backup_5.5\OUT1 (7 entrées, jeu 5.8), OUT1-addon (3 entrées, addon 5.8),
OUT1-addon55 (2 entrées, addon lot/DC3-atelier).
Emplacement des preuves (etat/ est ignoré par git dans les deux copies, rien n'y est commité) :
- ce dossier (
D:\Game\LifePlay-master 5.5\Docs\Migration\etat\OUT1\) : fiche et sorties archivées à la main (OUT1_FileCheck_U7b.txt,OUT1_LogStats_U7b.txt,OUT1_UeState.txt) ; D:\Game\LifePlay-master 5.8\Docs\Migration\etat\OUT1\: résumés automatiques écrits parBuild.ps1etRunCommandlet.ps1dans l'etat de la copie 5.8 (OUT1_Build_20261009-161628.txt,OUT1_LPTestStringCompat_20261009-161745.txt) ; journaux complets dans…5.8\Saved\Logs\portage\.
Origine
Audit des transcriptions du 2026-10-09 : « Unreal tourne-t-il ? » 474 appels / 95 agents ; fins de ligne 475 / 92 ; MD5 197 / 46 ; compter un motif dans un .log 475 / 60 ; trouver le dernier journal 240 / 31.
Fichiers
| Fichier | Changement |
|---|---|
Tools/UeState.ps1 |
nouveau (107 lignes). Familles Editeur (UnrealEditor, UnrealEditor-Cmd), Compilation (UnrealBuildTool, dotnet avec UnrealBuildTool dans la ligne de commande, cl.exe), Shaders (ShaderCompileWorker), Jeu (LifePlay*.exe) ; PID, départ, colonne Copie (dossier LifePlay* lu dans la ligne de commande ou le chemin de l'exe), ligne de commande (-Brief la masque). Codes 0 rien / 1 quelque chose / 2 délai -WaitExit -TimeoutSeconds N dépassé. |
Tools/FileCheck.ps1 |
nouveau (164 lignes). Fins (CRLF, LF, mixte, aucune, vide, binaire), comptes CRLF / LF seuls / CR seuls, BOM, MD5 ; -Lot lit le manifeste de Snapshot.ps1 et compare à la copie sauvegardée (Contenu identique / modifié / nouveau / absent ; alertes FINS, BOM, MIXTE) ; -OnlyChanged, -Recurse, -ProjectRoot (addon). Codes 0 / 1 alerte / 2 introuvable. Compatible PowerShell 5.1 (pas de MD5.HashData ni Encoding.Latin1). |
Tools/LogStats.ps1 |
78 → 141 lignes : -Latest <Lot>[_<Commandlet>] (dernier Saved\Logs\portage\<préfixe>_*.log selon l'horodatage du nom), -Pattern (une ou plusieurs regex, compte + -Max extraits avec -Context lignes, ligne trouvée marquée >), -Tail N, -Stats, -LogDir. Première ligne Journal : <chemin complet>. Comportement d'origine inchangé sans ces options. |
Tools/Build.ps1 |
contrôle de l'éditeur par UeState.ps1 -Kind Editeur (au lieu de Get-Process), code 3 conservé ; ligne finale journal : <chemin>. |
Tools/RunCommandlet.ps1 |
ligne finale journal : <chemin>. |
Tools/EtatDir.ps1 |
règle OUT\d* ajoutée au groupe à plat (`PROP |
addon lp-validate/SKILL.md |
§ 1 Fins de ligne : FileCheck.ps1 remplace le python -c ; mise en garde grep -c $'\r'. Édité par-dessus la modification EDIT1 déjà présente (conservée). |
addon lp-build/SKILL.md |
UeState (contrôle, liste, -WaitExit) ; LogStats -Latest <lot>_Build -Pattern …. |
addon lp-commandlets/SKILL.md |
ligne journal :, LogStats -Latest <Lot>_<Commandlet>, UeState avant un commandlet qui sauvegarde. |
Tous ces fichiers sont en LF sans BOM, comme avant (FileCheck.ps1 -Lot OUT1 et -Lot OUT1-addon : 0 alerte).
Preuves (établi : sortie réelle, fichiers de ce dossier)
OUT1_FileCheck_U7b.txt:FileCheck.ps1 -Lot U7b→ 56 fichiers, tous binaires ; 28*_pose.uassetmodifiés, 28*_anim.uassetidentiques ; 0 alerte, code 0.OUT1_LogStats_U7b.txt:-Latest U7b_CompileAllBlueprints→U7b_CompileAllBlueprints_20261009-140525.log(3 journaux candidats) ;: Error:2 lignes (LogHyperAIStudioAutomation),: Warning:0,Failure - 1 error(s), 0 warning(s);-Latest U7b -Tail 5;-Latest OUT1_LPTestStringCompat→3120 cas … 0 … 60.OUT1_UeState.txt: éditeur headless réel d'une autre session (STM-T4c, PID 30000) listé avec copieLifePlay-master 5.8et ligne de commande, code 1.D:\Game\LifePlay-master 5.8\Docs\Migration\etat\OUT1\OUT1_LPTestStringCompat_20261009-161745.txt(résumé automatique) :RunCommandlet.ps1code 0, 16 s, lignejournal :affichée.- Essais au scratchpad (sortie dans la conversation, non archivée) :
- FileCheck sur un faux lot (Snapshot puis modifications) →
FINS(CRLF → LF ; LF → mixte),BOM(BOM retiré), nouveau fichiernouveau, fichier inchangéidentique; code 1 ; fichier mixte sans lot + fichier absent → code 2. - Faux
UnrealEditor.exe(copie deping.exe) : UeState code 1 ;Build.ps1 -Lot OUT1→ liste + code 3, rien lancé ;-WaitExit -TimeoutSeconds 3→ code 2 ;-TimeoutSeconds 60→ code 0 après 9 s. - Faux
cl.exe,dotnet.exedans un dossierUnrealBuildTool,ShaderCompileWorker.exe,LifePlay-Win64-Shipping.exe→ tous listés ; undotnet.exesans UnrealBuildTool est ignoré.
- FileCheck sur un faux lot (Snapshot puis modifications) →
Écarts et incidents
- Incident de test : le premier faux éditeur (
pingavec un argument en trop) s'est arrêté avant le contrôle ;Build.ps1 -Lot OUT1a donc lancé UBT : « Target is up to date », 0 action, 2,56 s, rien recompilé (Saved\Logs\portage\OUT1_Build_20261009-161628.log, résumé…5.8\Docs\Migration\etat\OUT1\OUT1_Build_20261009-161628.txt). Le second essai vérifiait d'abord le code 1 d'UeState avant d'appeler Build.ps1. - Édition par script (règle EDIT1) : les deux nouveaux fichiers, écrits par Write, ont été convertis en CRLF puis
remis en LF par
[IO.File]::WriteAllText(j'avais d'abord cru les outils en CRLF, voir constat suivant) ; deux remplacements d'API dansFileCheck.ps1faits par.Replace(). Toutes les autres modifications sont passées par Edit. - Constat :
grep -c $'\r$'/grep -c $'\r'sous Git Bash (GNU grep 3.0) compte aussi les lignes LF (fichiera\nb\nsans CR → 2).Tools/*.ps1: 11 en LF, 3 en CRLF (BuildDebug,CollectDebugArtifacts,SummarizeDebugCsv). Tools/EtatDir.ps1: pendant les essais, le lotOUT1était hors table (avertissement deResolve-LPEtatDir). RègleOUT\d*à plat ajoutée au moment du commit (866e869) :etat\OUT1\, sans avertissement. Les autres lots ont été vérifiés à blanc et ne changent pas.- Les skills chargés par les sessions passent par la jonction
.claude\skills→D:\Game\LifePlay-Sandbox(branchelot/DC3-atelier). D'abord édités dansLifePlay-Sandbox-5.8seulement, ils ont été reportés et commités dans les deux checkouts (voir le tableau en tête).
Estimé / incertain
- Estimé :
UeStatedétecte UBT lancé parBuild.bat(dotnet +UnrealBuildTool.dll, ligne vue dans le journal de l'incident) — non observé pendant un vrai build. - Incertain : lignes de commande de processus d'un autre utilisateur ou élevés (affichées « illisible »).
Retour arrière
Le texte de CHG-264 a été écrit avant les commits. Depuis : jeu git revert 866e869 ; addon git revert a69c43b
(lot/DC3-atelier) et git revert 8422fd6 (ue5.8). Pour lp-validate, le changement d'OUT1 est dans les commits
EDIT1 496ff2c / aa0c1e5 : le retirer à la main, ou revenir sur ces commits en accord avec EDIT1.
INT
Commits demandés par l'utilisateur, relayés par la session « Commençons U7 » ; rien n'est poussé.
866e869(jeu 5.8) : les 2 nouveaux outils, 4 scripts modifiés dontTools/EtatDir.ps1(règleOUT\d*), la ligne CHG-264 et la plage du README (CHG-266à cette date, mise à jour depuis par d'autres lots).a69c43b/8422fd6(addon, deux branches) :lp-build,lp-commandlets;496ff2c/aa0c1e5:lp-validate(EDIT1).8c6149e(jeu 5.8) :Tools/uasset.py, CHG-265, par la session uasset.py ; compte rendu dansOUT1-UASSET.md. Le passageLPTestStringCompatn'a pas été relancé après le commit : un éditeur interactif était ouvert (PID 32492). LeRunCommandlet.ps1commité est celui du passage de 16:17:45 (dernière modification à 16:14:51) : 3120 / 0 / 60.
Passage de main : session mère local_03589c9b-7874-4332-b821-d45228d827df. Lot clos.