Fiche BUILD-COM25 — Niveau N0 — Modèle prévu non précisé dans la fiche | utilisé claude-haiku-5-5 (Haiku 5.5) — Agent lp-builder — Skills sk-protocol, sk-windows-shell, lp-build # COMMUN-25-BUILD : build Development d'essai COMMUN-25 (lot A de STM1 redirection des cartes, G1, G3, monuments M2, maisons orientées G4-b) (2026-10-21) Préconditions (établies) : - `pwsh -NoProfile -File "D:/Game/LifePlay-master 5.8/Tools/UeState.ps1"` : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0` (avant le lot, sortie brute). - `UeState.ps1` = 0 (condition de la fiche remplie) ; archive `D:\Game\LifePlay_Build_5.8_Development_COM25` absente : `ls: cannot access 'D:/Game/LifePlay_Build_5.8_Development_COM25': No such file or directory` (code 2). - MD5 d'entrée (`Get-FileHash -Algorithm MD5`, sortie brute) : conformes aux neuf valeurs de la fiche, aucun écart. - `Source/LifePlay/LPAssetRegistryHelpers.h` : F0B173072EF0F08AFD35EB65C0C37FD9 (attendu f0b17307) - `Source/LifePlay/LPAssetRegistryHelpers.cpp` : 3E7828089E02B3FBFF9A01175AF2F724 (attendu 3e782808) - `Source/LifePlay/LPCityWaterSubsystem.h` : 3ACEE3602C01F136D7B0A25D9D8EF21A (attendu 3acee360) - `Source/LifePlay/LPCityWaterSubsystem.cpp` : 8F15B0379CDAD7291107CFE4FBE65653 (attendu 8f15b037) - `Source/LifePlay/LPCityWaterMask.h` : E5027FD7FD2B827831D52E8CE5727A36 (attendu e5027fd7) - `Source/LifePlay/LPCityLandmarks.h` : B4FF95AE838F241DBBAB23C7DDAB4D5A (attendu b4ff95ae) - `Source/LifePlay/LPCityHouses.h` : 01CC49D85CA415B11A04D19E8EA23FBB (attendu 01cc49d8) - `Content/Heavy/StreetMap/Water/CentralLondon_Mask.uasset` : 9E3B7B32D2F82BF66FDA1661BEDA7445 (attendu 9E3B7B32) - `Config/DefaultGame.ini` : 8D7F4BDF45E4F36620CCFE043B380C66 (attendu 8d7f4bdf) - Horodatages (`Get-ChildItem`, sortie brute) : sources les plus récentes `LPCityWaterSubsystem.h/.cpp` 13:55:30, `LPCityHouses.h` 13:52:04, `LPCityLandmarks.h` 13:35:51, `LPCityWaterMask.h` 13:29:13, `CentralLondon_Mask.uasset` 13:33:51, `LPAssetRegistryHelpers.h/.cpp` 11:31:08 ; `Binaries\Win64\UnrealEditor-LifePlay.dll` 13:56:35 ; `Binaries\Win64\LifePlay.exe` 13:57:49 (335879680 o). Exe et DLL postérieurs à toutes les sources : condition de l'étape 3 remplie, la compilation de la cible LifePlay Development n'a donc pas été lancée. ## 1. Commande exacte 1. `pwsh -NoProfile -File "D:/Game/LifePlay-master 5.8/Tools/Build.ps1" -Lot COMMUN-25 -EtatDir "D:/Game/LifePlay-master 5.8/Docs/Migration/etat/BOSS/COMMUN-25"` (arrière-plan, tâche bvoq33g82, durée 2 s). 2. `pwsh -NoProfile -File "D:/Game/LifePlay-master 5.8/Tools/BuildDebug.ps1" -Config Development -SkipBuild -ArchiveDir "D:/Game/LifePlay_Build_5.8_Development_COM25"` (arrière-plan, tâche bsejjx2e3, journal ouvert à 14:45:19). Commande UAT écrite par le script (journal, ligne 1) : `RunUAT.bat BuildCookRun -project="D:\Game\LifePlay-master 5.8\LifePlay.uproject" -platform=Win64 -clientconfig=Development -cook -iterate -stage -pak -iostore -compressed -archive -archivedirectory="D:/Game/LifePlay_Build_5.8_Development_COM25" -unattended -utf8output -nop4`. Écart à la fiche sur la commande : aucun. ## 2. Code de sortie - Build éditeur (étape 1) : sortie de `Build.ps1` : `code=0 duree=2s erreurs=0 avertissements=0 autres=20 unites=0`. Résumé `COMMUN-25_Build_20261021-144501.txt` l. 5 : `Date : 2026-10-21T14:45:03 duree : 2 s code de sortie : 0`. - UAT (étape 2) : sortie de `BuildDebug.ps1` (tâche bsejjx2e3) : `UAT code=0 duree=155s journal=D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261021-144519.log`. - Journal UAT : `Cook command time: 81.95 s` ; `Archive command time: 19.20 s` ; `BuildCookRun time: 153.89 s` ; `AutomationTool exiting with ExitCode=0 (Success)` (fin du journal). - CheckPackage (sortie brute de l'étape 2) : `exe archive : D:\Game\LifePlay_Build_5.8_Development_COM25\Windows\LifePlay\Binaries\Win64\LifePlay.exe (2026-10-21 13:57:49, 335879680 o)` `exe du projet : D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe (2026-10-21 13:57:49, 335879680 o)` `[1] PASS 0 …Windows\Manifest_NonUFSFiles_Win64.txt` ; `[2] PASS 0 …Windows\Manifest_UFSFiles_Win64.txt` ; `[3] PASS 0 …Intermediate\Build\Win64\x64\LifePlay\Development\LifePlay.exe.rsp` ; `[4] PASS 0 …Binaries\Win64\LifePlay.target` `Resultat : PASS (code 0)` (4 contrôles sur 4). - Comptes de cuisson (journal `BuildDebug_Development_20261021-144519.log`) : - l. 296 : `LogCook: Display: Packages Cooked: 165, Packages Incrementally Skipped: 8756, Packages Skipped by Platform: 8, Total Packages: 8929`. 165 paquets recuits (le lot a touché des assets de la cuisson). - l. 520 : `LogInit: Display: Success - 0 error(s), 1 warning(s)`. - Erreurs de cuisson : 0 (recherche `Error:|Fatal|Exception` sur le journal : aucune ligne `Error:`, `Fatal` ou `Exception` relevée ; l. 253 et l. 518 sont des lignes `LegacyIterative`, longues, omises à l'affichage). - Avertissement : 1 `LogCook: Warning: CookIncremental and UnversionedCookedContent were requested, but LegacyIterative is required due to ZenStore not being used…` (connu, `lp-build` § 4 ; même avertissement que COMMUN-24). - Paquet : `Created pak file: D:/Game/LifePlay-master 5.8/Saved/StagedBuilds/Windows/LifePlay/Content/Paks/LifePlay-Windows.pak` (l. 621). `UnrealPak` : `Took 1,37s` et `Took 29,36s`, ExitCode=0 (sortie `UnrealPak`). - Fin : `UeState.ps1` : `processus=0 editeur=0 compilation=0 shaders=0 jeu=0` (sortie brute, CODE=0). Aucune tâche de fond restante (les deux tâches notifiées terminées). ## 3. Modules recompilés Aucun module recompilé par ce lot. Établi : - Résumé `COMMUN-25_Build_20261021-144501.txt` l. 8 : `Makefile : Target is up to date` ; l. 9 : `Using Unreal Build Accelerator local executor to run 0 action(s)` ; l. 38 : `=== Unites compilees : 0` ; l. 40 : `=== DLL liees : 0`. - Journal `COMMUN-25_Build_20261021-144501.log` l. 29 : `Target is up to date` ; l. 34 : `Result: Succeeded` ; l. 32 : `Output binary: D:\Game\Launcher\Engine\UE_5.8\Engine\Binaries\Win64\UnrealEditor.exe`. - Code 0 sans module recompilé : ce n'est pas un échec de cache (`Makefile.bin`) établi : UBT déclare la cible à jour, et `UnrealEditor-LifePlay.dll` (13:56:35) est postérieur à toutes les sources du lot (13:55:30 au plus récent). Estimé : les DLL correspondent aux sources du lot. - Non établi : quel build a produit la DLL (13:56:35) et l'exe (13:57:49). Aucun journal de ce build n'a été trouvé dans `Saved\Logs\portage` lors de ce lot ; la preuve de recompilation du module lot A (LPAssetRegistryHelpers, LPCityWaterSubsystem, LPCityHouses, LPCityLandmarks, LPCityWaterMask) relève d'un build antérieur non tracé. Essai qui tranche : `Tools\LogStats.ps1 -Latest` sur les journaux `Saved\Logs\portage` du 2026-10-21 entre 13:50 et 14:00, pattern `LPCityWaterSubsystem`. ## 4. Erreurs et avertissements nouveaux - Compilation éditeur : `erreurs=0 avertissements=0 autres=20`. Les 20 lignes `Warning: Plugin 'HyperAIStudio' does not list plugin … as a dependency` (résumé l. 17 à 35) sont les lignes connues pour LifePlayEditor (`lp-build` § 7) : 20 comptées, 20 attendues. - Ligne non comptée par le résumé, hors liste connue (`lp-build` § 7) : journal `COMMUN-25_Build_20261021-144501.log` l. 28 : `D:\Game\LifePlay-master 5.8\LifePlay.uproject does not list plugin 'GeometryProcessing' as a dependency, but module 'LifePlayEditorTools' depends on 'GeometryAlgorithms'.` Le résumé ne la compte pas (son filtre retient les lignes `Warning: Plugin`). Non comparée à COMMUN-24 (incertain : même ligne ou non). À confirmer. - Cuisson : 0 erreur ; 1 avertissement `LegacyIterative` (connu). - Comptes par code C et fichier:ligne : sans objet : aucune unité compilée (`Unites compilees : 0`). ## 5. Toolchain Non établi pour ce lot. Le résumé `COMMUN-25_Build_20261021-144501.txt` l. 7 est vide (`Chaine : `), le journal ne contient aucune ligne `Using Visual Studio` (Grep sur le journal : seule la ligne `Target is up to date`), et `%USERPROFILE%\AppData\Local\UnrealBuildTool\Log.txt` ne contient aucune ligne `Using Visual Studio`. Cause probable (estimée) : la chaîne n'est imprimée que lorsque UBT recompile. Référence du poste (autre lot, non ce build) : `Saved\Logs\portage\ADD1_Build_20261019-233340.log` l. 35 : `Using Visual Studio 14.50.35739 toolchain (…\MSVC\14.50.35717)`, MSVC 14.50.35717 épinglé de la copie 5.8 (`lp-build` § 1). Essai qui tranche : un build recompilant un module (ou `Build.ps1 -FromLog` sur un journal qui contient la ligne). ## 6. Preuve de chargement (addon) sans objet : la fiche ne demande pas de preuve d'addon, et le jeu packagé n'a pas été lancé. ## 7. Journal archivé et empreintes - Journal de compilation : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\COMMUN-25_Build_20261021-144501.log`. - Résumé : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\BOSS\COMMUN-25\COMMUN-25_Build_20261021-144501.txt`. - Journal de cuisson : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\BuildDebug_Development_20261021-144519.log`. - Archive : `D:\Game\LifePlay_Build_5.8_Development_COM25` (dossier neuf, créé par cette build ; `bats staged=7`, `pdb copies=0`). Contenu : `Windows`. - Exe packagé : `D:\Game\LifePlay_Build_5.8_Development_COM25\Windows\LifePlay\Binaries\Win64\LifePlay.exe` : MD5 `5778A781F609E56BFF3F4781E66D00D9`, 2026-10-21 13:57:49, 335879680 o (`Get-FileHash`, sortie brute). - Exe du projet : `D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay.exe` : MD5 `5778A781F609E56BFF3F4781E66D00D9`, même date et taille. Identiques. - Présence des chaînes dans l'exe packagé (`Select-String -LiteralPath -Pattern -Encoding unicode -CaseSensitive -SimpleMatch`, sortie brute : nombre de lignes correspondantes) : `MAISONS` = 1 ; `MONUMENTS` = 1. Preuve de présence de la chaîne dans le binaire pour le code G4-b (maisons orientées) et M2 (monuments) : établie au sens « la chaîne UTF-16 est présente » ; le contexte d'usage et le nombre d'occurrences ne sont pas établis (comptage par ligne). - Trace : Trace : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\BOSS\COMMUN-25\COMMUN-25_Build_20261021-144501.txt — Fiche BUILD-COM25 — 2026-10-21 14:45:03 Commande : section 1 ; environnement : copie 5.8, moteur UE_5.8, branche ue5.8, machine calme avant le lot (UeState 0). Environnement: copie 5.8 (`D:\Game\LifePlay-master 5.8`), moteur `D:\Game\Launcher\Engine\UE_5.8\Engine`. Attendu : code 0 ; PASS 4/4 ; MAISONS et MONUMENTS présents dans l'exe. Obtenu : code 0 (Build.ps1, UAT) ; PASS 4/4 ; MAISONS 1, MONUMENTS 1 (sorties ci-dessus). Lecture : code 0 du build éditeur sans recompilation (`Target is up to date`) ; ligne toolchain absente ; une ligne plugin GeometryProcessing hors résumé. ## Écarts à la fiche 1. Aucune recompilation pendant ce lot (`Target is up to date`, 0 unité) ; la condition de la fiche (exe postérieur aux sources) est remplie, donc la cible LifePlay Development n'a pas été recompilée par `Build.ps1 -Target LifePlay`. 2. Ligne `Using Visual Studio` absente (section 5) : la chaîne MSVC de ce build n'est pas prouvée. 3. Recherche des chaînes UTF-16 : le Grep (ripgrep) de l'outil a renvoyé « No matches » sur l'exe (détection binaire, 0 fichier), donc sans valeur ; la preuve retenue est le `Select-String -Encoding unicode` (section 7). 4. Aucune correction, aucune commande git en écriture, aucune suppression ni déplacement, aucune installation de mod. ## Constats 1. Établi : build Development COMMUN-25 empaquetée. Code 0 à chaque étape (`Build.ps1` code=0 ; UAT code=0 ; `AutomationTool exiting with ExitCode=0 (Success)`), CheckPackage `Resultat : PASS (code 0)` (4 contrôles sur 4), archive neuve créée. 2. Établi : 9 MD5 d'entrée conformes à la fiche (section « Préconditions »). 3. Établi : cuisson incrémentale, 165 paquets recuits sur 8929 (8756 réutilisés). Les paquets recuits ne sont pas listés : quels assets précisément ont été recuits est non établi. 4. Établi : `MAISONS` et `MONUMENTS` présents dans l'exe packagé (`Select-String` UTF-16). Non établi : leur usage au runtime (pas de test en jeu). 5. Point à confirmer : preuve de compilation du lot A (module LifePlay) : établie seulement par les dates (DLL 13:56:35, exe 13:57:49, sources ≤ 13:55:30) ; le build qui les a produits n'est pas tracé. Essai : section 3. 6. Point à confirmer : ligne `GeometryProcessing` (journal l. 28), hors liste connue et hors compte du résumé. Essai : `Grep` de `does not list plugin 'GeometryProcessing'` sur les journaux de COMMUN-24 (`Saved\Logs\portage\COMMUN-24_Build_20261021-121354.log`) et de COMMUN-23. 7. Non mesuré : tests en jeu, comparaison ligne à ligne des `has a dependency … which does not exist` avec COMMUN-24, comptes `Build.ps1 -FromLog`, installation de mod (hors fiche, à Big Boss). ## État de reprise sans objet : la fiche est menée à son terme (pas d'arrêt au budget). Tours : 24 / 40 (estimé par l'agent ; `python -I -X utf8 Tools/FicheStats.py --lot BUILD-COM25` fait foi) ## Fichiers à commiter - `Docs/Migration/etat/BOSS/COMMUN-25/COMMUN-25-BUILD.md` (A, nouveau). - `Docs/Migration/etat/BOSS/COMMUN-25/COMMUN-25_Build_20261021-144501.txt` (A, généré par `Build.ps1`). Journaux (`Saved\Logs\portage`), archive `D:\Game\LifePlay_Build_5.8_Development_COM25` et `Saved\StagedBuilds` : hors dépôt suivi, non commités. Aucune commande git en écriture. ## À verser - `À verser : lp-build § 8 — Recherche de chaînes UTF-16 dans un exe : le Grep de l'outil renvoie 0 (détection binaire, pas une absence) ; utiliser Select-String -Encoding unicode -CaseSensitive -SimpleMatch.` - `À verser : lp-build § 8 — Build.ps1 avec « Target is up to date » (0 action) n'imprime pas la ligne Using Visual Studio : le champ Chaine du résumé est vide, la toolchain n'est pas prouvée pour ce build.` - `À verser : sk-windows-shell — pwsh -Command avec parenthèses (ex. $h.Hash.Substring(0,8)) est refusé par le crochet ecriture-gardien (analyse stricte « ( inattendue ») ; sans parenthèses, Get-FileHash passe.`