LifePlay-Revival/Docs/Migration/etat/U58/U3/U3-VAL.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

11 KiB
Raw Blame History

Fiche U3-VAL — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate

U3-VAL — Validation du lot U3 (bascule UE 5.8 et compilation), porte G-U3

Date : 2026-10-08. Copie 5.8 D:\Game\LifePlay-master 5.8, branche ue5.8, tag U3-avant (arbre identique à HEAD 26f2be7). Aucun fichier de dépôt modifié, rien supprimé, aucune compilation / éditeur / commandlet lancé. Seules sorties produites : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\U3-VAL_BuildLog_20261008-173243.txt et …-173335.txt (-FromLog, ignorés par git), parse.ps1 (bloc-notes de session) et ce livrable.

Verdict : PASS (avec 4 réserves non bloquantes, § Écarts)

Porte G-U3 : (1) PASS, (2) PASS, (3) PASS-STATIC (journal de l'éditeur relu et comparaison rejouée ; l'ouverture elle-même est un acte de l'utilisateur, non rejouable).

Tableau des critères

# Critère Livrable amont Recompté Commande (rejouable) Verdict
a git status 3 dépôts 5.5 propre ; 5.8 : 12 changements ; addon : skills 5.5 : sortie vide, branche main. 5.8 : 10 M + ?? Tools/Build.ps1 = 11 fichiers (la fiche annonce 12 : voir note 1). Addon lot/DC3-atelier : 4 M (lp-build SKILL.md et symptoms.md, lp-commandlets, lp-lot) + ?? lp-validate/ git -C <dépôt> status --short PASS (note 1)
b Diff 5.8 lu en entier — 10 fichiers, +41 −23 (git diff --numstat U3-avant), aucun fichier ni ligne non annoncés. --cached vide git -C '…5.8' diff U3-avant PASS
b1 R1 = spec U1 § 1.5 D1 Corps du diff git (35 lignes) = bloc D1 de la spec (l. 98-133), seules différences : contexte de fonction ajouté par git sur les en-têtes @@ et la clôture de bloc Markdown script python -I comparant les lignes (voir ci-dessous) PASS
b2 R2 forme A = spec U1 § 2.4 D2 Idem (23 lignes) ; mêmes différences d'en-tête ; le FString(File.Key.ToView()) et l'#include sont identiques idem PASS
b3 Autres fichiers spec du lot .uproject : EngineAssociation 5.8, AdditionalPluginDirectories retiré, McpAutomationBridge Enabled:false. Target.cs ×2 : V7 / Unreal5_8. DefaultEngine.ini:133 CompilerVersion=14.50.35717 + commentaire. DefaultGame.ini:25 section [/Script/UnrealEd.ProjectPackagingSettings] → bUseZenStore=False. DefaultScalability.ini : 4 lignes, valeurs 24/32/48/64 inchangées. LifePlay.Build.cs : commentaire seul. RunCommandlet.ps1 : 3 [int] sur 2 chaînes + Write-Host (4 sommes, voir note 2) lecture du diff PASS
c Fins de ligne CRLF/LF d'origine CRLF purs (LF seul = 0) : DefaultEngine.ini 133, DefaultScalability.ini 127, .uproject 214, LPCoupleSimCore.cpp 485. LF purs (CRLF = 0) : DefaultGame.ini, LPDataCache.cpp, 2 Target.cs, Build.cs, RunCommandlet.ps1, Build.ps1. Originaux relus via git show U3-avant: : DefaultGame/Target/Build.cs/RunCommandlet LF, DefaultScalability CRLF 127. Le diff ne touche que les lignes utiles (numstat) commande python -c de lp-validate § 1 PASS
d .uproject JSON — json.load OK ; EngineAssociation 5.8 ; clé AdditionalPluginDirectories absente ; Mcp Enabled:false python -c "import json…" PASS
e Recomptage build 0 erreur, 8 C4996, 28 unités, chaîne 14.50.35717 Journal complet (D:\Game\LifePlay_Backup_5.5\etat\U58\U3\U3-T2_Build_20261008-165632.txt) : 0 erreur ; 8 avertissements = 3+2+1+1+1 (5 API : FSlateFontInfo, GetDetailsView, ImportVersion, GetObjectsWithPackage, GetMaterialRelevance, mêmes fichier:ligne que U3-T2) ; autres lignes 0 ; 28 unités dont LPCoupleSimCore.cpp et LPDataCache.cpp ; DLL liées 6 (LifePlay, LifePlayEditorTools, LPAnimCore, ModdingExtra, StreetMapImporting, StreetMapRuntime) ; Using Visual Studio 14.50.35739 toolchain (…\MSVC\14.50.35717) ; l. 105-108 : Result: Succeeded, 375.09 s, EXIT_CODE=0. Aucune occurrence LPSandbox / LPModTools / LPAnimMeasure / McpAutomationBridge ; Binaries\Win64 sans DLL de l'addon, UnrealEditor.modules sans ces noms (grep rc=1) .\Tools\Build.ps1 -Lot U3-VAL -FromLog '<journal>' (voir écart 1 pour la copie du dossier U3) PASS
f Recomptage test 3120 / 0 / 60, Success - 0 error(s) U3_LPTestStringCompat_20261008-170951.log : l. 1715 et 1720 === 3120 cas : compat != herite(UE4) : 0 ; moteur != herite(UE4) : 60 === ; l. 1722 Success - 0 error(s), 1 warning(s) ; grep -c "Error:" = 0 ; 1758 lignes. Identique au journal U2 (14:31, 3120/0/60). Le second nombre n'a pas bougé `grep -n -E "cas : compat Success - " `
g U3-T4, cmp_pie.py « 3 seulement en 5.8 » Rejoué : signatures 5.8 : 47 ; 5.5 : 101 ; seulement en 5.8 : 3 (20 × LogAutomationTest: Error: Condition failed, 2 × Set Rate none:PersonCumming, 1 × Save Preset none:CallFunc_GetSkeletalMesh_ReturnValue). Journal 5.8 : 0 LogPluginManager: Error, 0 `Ensure condition failed Assertion failed Fatal, LogExit: Exiting.l. 10158. 813 lignesError:dont 808 erreurs Blueprint/PIE ; hors PIE : 20 automation, 4InputMode:UIOnly, 1 r.MorphTarget.Mode is read only!` (déjà dans 4 journaux 5.5). Zen : journal 5.5 l. « Installed version … '5.8.13-202605190912…' » et éditeur 5.5 chargé (déclaration utilisateur)
h Analyse PowerShell 0 erreur Parser::ParseFile : Build.ps1 et RunCommandlet.ps1 = 0 erreur en pwsh 7.6.6 et 5.1.26100.9549. Les deux fichiers sont ASCII purs (0 octet > 127, sans BOM : sûr en 5.1) `pwsh powershell -NoProfile -File parse.ps1 `
i Cohérence des skills — Faits vérifiés : Tools/Engine.ps1 présent en 5.8 et absent en 5.5 (5.5 : RunCommandlet.ps1, BuildDebug.ps1 seulement ; défaut UE_5.5 l. 20) ; Unreal5_6 = Oldest, Latest = V7 / Unreal5_8 (TargetRules.cs 5.8 l. 177, 242, 249) ; avertissements V7 en erreur (:166-168) ; section WindowsTargetSettings (DefaultEngine.ini:126) ; D:\Game\VS2022 et LifePlay_Build_5.5_DC4 existent ; CHG-252 et 26f2be7 (message U2 – CHG-252) ; liste des 8 C4996 de lp-build § 7 = recomptage ; lp-validate identique au fichier de .claude\skills de la copie 5.5 ; renvois lp-build § 7 / § 8 corrects. Affirmations non vérifiées : voir écarts 3 et 4 lecture + grep, ls PASS avec réserves

Comparaison R1/R2 (rejouable, depuis la copie 5.8) : extraire les lignes de la spec (U1-SPEC-CORRECTIFS.md l. 98-133 et 235-256), les comparer à git diff U3-avant -- <fichier> après normalisation CRLF → égalité sauf en-têtes @@ (suffixe de fonction ajouté par git) et clôtures Markdown. Garde de version : Misc/EngineVersionComparison.h inclus dans les 2 seuls fichiers qui utilisent UE_VERSION_OLDER_THAN (grep : 2 fichiers, 1 include chacun).

Écarts numérotés (aucun bloquant)

  1. Copie du journal de build tronquée. U3-T2_Build_20261008-165632.txt du dossier U3 (9703 octets) s'arrête à [44/47] Link … StreetMapImporting.dll : ni Result: Succeeded, ni Total execution time, ni EXIT_CODE=0, ni la liaison de UnrealEditor-StreetMapRuntime.dll. L'original complet (10218 octets) n'existe que dans D:\Game\LifePlay_Backup_5.5\etat\U58\U3\. Le livrable U3-T2 dit « (copie ici) » et cite ce chemin Backup. Conséquence : -FromLog sur la copie donne « Fin : » vide et 5 DLL au lieu de 6 ; erreurs/avertissements/unités sont identiques (0 / 8 / 28). Le code 0 et les 375,09 s ne sont établis que par l'original. Reprise suggérée : recopier le journal complet dans le dossier U3 (par l'orchestrateur ; pas fait ici).
  2. RunCommandlet.ps1 : le diff modifie 4 sommes (2 dans les chaînes, 2 dans le Write-Host final), le livrable T3b parle d'un champ erreurs= vide (défaut) constaté avant la correction. La correction [int] est dans le diff mais n'a pas été rejouée (interdit : pas de commandlet). Statut : lecture seule, syntaxe OK en 5.1 et 7. Note : Build.ps1 -FromLog rend toujours code de sortie : -1 (documenté dans le script) ; le code d'origine se lit dans le journal.
  3. Contradiction dans lp-build § 10 : « D:\Game\LifePlay_Backup_5.5\etat n'est qu'une sauvegarde : ne pas y écrire », alors que le journal de build complet de U3-T2 y a été écrit (le lot s'est lancé avant Build.ps1). Pas une erreur de fait sur le code, mais une règle à rappeler ou un journal à rapatrier (voir écart 1).
  4. Non vérifiables par lecture (incertain) : lp-validate § 4 « Zen mis à jour (5.6.6 → 5.8.x) » (seul 5.8.13 est établi par le journal 5.5 ; 5.5.7 est la version « InTree »), lp-build § 7 « McpAutomationBridge: could not set UBT warning level … (5.5) », lp-build § 3 « Using Visual Studio 2022 14.38.33145 toolchain (…) » et « premier build complet 5.8 ≈ 25 min (UA-T5 : 1588 s) » (mesure d'un autre lot).

Note 1 (compte des fichiers) : la fiche annonce « copie 5.8 (12) ». Le git status en montre 11 (10 modifiés + Tools/Build.ps1 nouveau). La liste détaillée de la fiche donne : .uproject, 2 Target.cs, DefaultEngine.ini, DefaultGame.ini, DefaultScalability.ini, R1, R2, Build.cs, RunCommandlet.ps1, Build.ps1 = 11, pas 12. Le « 12 » est un décompte erroné de la fiche (aucun fichier manquant ni en trop : chaque fichier de la liste est présent et aucun autre n'apparaît). Note 2 : la fiche dit « 3 × [int] » ; le diff en contient 4 (2 chaînes + 2 dans Write-Host), les 3 lignes modifiées comptent chacune 1 ou 2 sommes : 3 lignes, 4 sommes ; sans impact.

Ce qui n'a pas été rejoué

  • Aucune compilation, aucun commandlet (LPTestStringCompat, RunCommandlet.ps1), aucun éditeur : recomptés sur journaux existants (interdit par la fiche).
  • Ouverture de l'éditeur 5.8, PIE de 5 min et ouverture de l'éditeur 5.5 (Zen commun) : actes de l'utilisateur ; seuls leurs journaux ont été relus (PASS-STATIC).
  • Contrôles en jeu de R1 (boîte du couple) et R2 (cache : 2e lancement 0 type(s) reecrit(s)) : non faits en U3 (U3-T1 : la voie FitBox n'est pas exercée en jeu normal ; référence AgMakeout réservée à U4 avec l'addon). R1/R2 sont validés à la compilation et à la relecture seulement, pas en comportement. Le test LPTestStringCompat ne les couvre pas.
  • Aucune comparaison à la copie 5.5 compilée (non demandée) ; copie 5.5 : seul l'état git (propre) a été vérifié.
  • Documents DOC / commits : hors périmètre.

Suite : orchestrateur doit décider du rapatriement du journal complet (écart 1) puis passer à DOC et aux commits ; état : U3 validé, R1/R2 à rejouer en comportement en U4 / U6.