LifePlay-Revival/Docs/Migration/etat/U58/U4/U4-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 U4-T7 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet (claude-sonnet-5-5) — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate

Date : 2026-10-08. Validation de clôture du lot U4. Aucun fichier du projet modifié, aucun git qui écrit, aucune compilation, aucun éditeur.

Résumé

  1. Verdict global : PASS (V3 et V5 partiellement PASS-STATIC, voir tableau), avec 3 remarques à juger par l'orchestrateur (§ Anomalies).
  2. Diffs lus en entier : jeu 5.8 = 4 fichiers (+50/-3), addon 5.8 = 16 fichiers (+80/-36) ; aucun fichier hors liste, aucun non suivi ; branche 5.5 de chaque garde identique à l'original.
  3. Fins de ligne et BOM identiques à HEAD pour les 20 fichiers ; les 3 .uproject (5.8, addon, 5.5) sont du JSON valide.
  4. Recompte du build 18:44 : 0 erreur, 0 avertissement ; le build 18:19 (0 erreur, 1 C4457 corrigé ensuite) lie LPAnimMeasure, LPModTools, LPSandbox, StreetMapRuntime, StreetMapImporting.
  5. Références 5.5 dans l'addon : 0 hors Docs/Tools-claude/mods-hairs json ; 31 sans exclusion (témoin).
  6. DeliverAnims.ps1 -DryRun exécuté (code 0, rien créé) ; résolution moteur : UE_5.8 et jeu LifePlay-master 5.8. Les 3 autres scripts : PASS-STATIC (parse 0 erreur).
  7. Jeu 5.5 intact (status vide, uproject toujours ../LifePlay-Sandbox/Plugins) ; addon 5.5 propre, lot/DC3-atelier à f9033a1.
  8. Piège AP7 : aucun Plugins\LPSandbox\Binaries ni côté 5.8 ni côté 5.5.
  9. T6 recompté : quaternius 44/44, freeanims 73/73, écart numérique max 3.8e-06, R1 identique (même empreinte), 2 codes 0.
  10. En-têtes : 6/6 livrables présents au bon format.

Tableau V1–V9

# Contrôle Commande (abrégée) Compte brut Verdict
V1 Diff jeu 5.8 git -C "D:/Game/LifePlay-master 5.8" status --short ; diff ; diff --stat U4-avant 4 M (LifePlay.uproject, StreetMapComponentDetails.cpp, StreetMapSceneProxy.cpp, LPDumpAssetsCommandlet.cpp), 0 ??, 0 indexé ; --stat U4-avant : 4 files, 50 ins, 3 del (identique au diff de travail, HEAD 8e21f6b) PASS
V1 Diff addon 5.8 git -C D:/Game/LifePlay-Sandbox-5.8 status --short ; diff 16 M = liste attendue (uproject, Target.cs x2, DefaultEngine.ini, LPSandbox.ini, README.md, 5 .ps1, RapportControles.py, 3 .bat, LPHairFromStaticMeshCommandlet.cpp), 0 ?? (Content, Binaries, Intermediate, Saved ignorés), 0 indexé ; base f9033a1 ancêtre de HEAD ; 80 ins / 36 del PASS
V1 Gardes C4996 lecture du diff 6 sites sous #if UE_VERSION_OLDER_THAN(5, 8, 0) côté jeu (CounterFont, GetDetailsView x2, ImportVersion, MaterialRelevance, GetObjectsWithPackage) + 1 côté addon (InitializeSkeletalMeshFromMeshDescriptions). Chaque branche < 5.8 reprend le code d'origine mot pour mot (FSlateFontInfo("Verdana", 8) dans l'aide CounterFont() ; les 3 appels .Font(...) d'origine y passent). #include "Misc/EngineVersionComparison.h" ajouté dans les 4 fichiers qui utilisent la macro. Cohérent avec « 8 + 1 » C4996 (3 usages de police + 2 + 1 + 1 + 1 = 8, plus 1 addon) PASS
V1 uproject addon lecture EngineAssociation 5.8 ; AdditionalPluginDirectories = ../LifePlay-master 5.8/Plugins ; McpAutomationBridge, ModdingExtra, StreetMap Enabled: false (conforme à la correction U4-T4c) PASS
V2 Fins de ligne / BOM script scratchpad\eol.py (compte CRLF / LF seul / BOM de la copie de travail et de git show HEAD:) 20/20 fichiers : même style et pas de BOM avant/après. CRLF : LifePlay.uproject (214->217), LPSandbox.ini (46->46), 3 .bat (9->10, 11->12, 9->10), 0 LF seul. LF : les 15 autres, 0 CRLF. PASS
V2 JSON uproject python -I json.load (utf-8-sig) jeu 5.8 : EngineAssociation 5.8 ; addon : 5.8 ; jeu 5.5 : 5.5 ; 3/3 valides PASS
V3 Recompte build 18:44 pwsh -File Tools/Build.ps1 -Lot U4-T7 -FromLog ...\U4_Build_20261008-184410.log erreurs=0 avertissements=0 autres=0 unites=1 (LPHairFromStaticMeshCommandlet.cpp) ; DLL liée UnrealEditor-LPModTools.dll ; Using Visual Studio 14.50.35739 toolchain (...MSVC\14.50.35717) ; « code=-1 » = limite de -FromLog (code non connu), le code 0 est dans U4_Build_20261008-184410.txt PASS
V3 Modules liés (build 18:19) grep du journal U4_Build_20261008-181959.log 39 actions, 179 s ; Compile/Link : LPAnimMeasure (l.24-34), StreetMapRuntime (l.35-39), LPModTools (l.57-62), LPSandbox (l.63-66), StreetMapImporting (l.71-75). Résumé du build 18:19 : 0 erreur, 1 C4457 (Params masqué, LPHairFromStaticMeshCommandlet.cpp:436), 19 unités, 8 DLL ; le C4457 est supprimé par la variable InitParams au build 18:44 PASS
V4 Références 5.5 dans l'addon `git -C D:/Game/LifePlay-Sandbox-5.8 grep -n -E "UE_5.5 LifePlay-master 5.5 Unreal5_5
V5 BuildMod.ps1 pas de -DryRun (switches RetargetOnly, Open, SansCuisson) ; parse + lecture lignes moteur parse 0 erreur ; $UE = $LPEngineRoot (Engine.ps1 du jeu) ; non exécuté PASS-STATIC
V5 EditMod.ps1 pas de -DryRun ; parse 0 erreur ; $Editor = Join-Path $LPEngineRoot '...UnrealEditor.exe' ; lance l'éditeur donc non exécuté PASS-STATIC
V5 HairPipeline.ps1 -DryRun seulement interne à l'étape commandlet (lance UnrealEditor-Cmd) ; parse 0 erreur ; $UE = Join-Path $LPEngineRoot 'Binaries\Win64\UnrealEditor-Cmd.exe' ; non exécuté PASS-STATIC
V5 DeliverAnims.ps1 pwsh -NoProfile -File Tools/anim/DeliverAnims.ps1 -DryRun (défauts Quaternius) code 0 ; « Table : 42 cle(s) pour /lpr_anim_quaternius/ » ; 8 avertissements « a revoir » lus du rapport ; « A blanc : rien lance, rien cree » ; après : jeu 5.8 Mods\ vide (0), 4 M inchangés, addon 16 M inchangés. Le mode à blanc n'affiche pas le chemin moteur : résolution vérifiée à part (ligne suivante) PASS
V5 Résolution moteur / jeu scratchpad\res.ps1 : Resolve-LPRoots '' puis dot-source de <jeu>\Tools\Engine.ps1 GameRoot = D:\Game\LifePlay-master 5.8 ; LPEngineRoot = D:\Game\Launcher\Engine\UE_5.8\Engine ; version 5.8 ; LP_ENGINE_ROOT vide ; UnrealEditor-Cmd.exe présent PASS
V5 AnimPipeline.ps1 (hors liste, modifié) parse 0 erreur ; même motif $LPEngineRoot ; exercé par E4 en T6 PASS
V6 Jeu 5.5 git -C "D:/Game/LifePlay-master 5.5" status --short ; rg AdditionalPluginDirectories 0 ligne, branche main ; LifePlay.uproject ligne 213 = ../LifePlay-Sandbox/Plugins, EngineAssociation 5.5 PASS
V6 Addon 5.5 git -C D:/Game/LifePlay-Sandbox status --short ; branch ; rev-parse --short 0 ligne ; branche lot/DC3-atelier ; f9033a1 PASS
V7 Binaries LPSandbox ls 5.8 : Plugins\LPSandbox\ = Intermediate (18:20), LPSandbox.uplugin, Modules, Source ; pas de Binaries (OK). 5.5 : Plugins\LPSandbox\ = Content, Intermediate (6 oct.), LPSandbox.uplugin, Modules, Source ; pas de Binaries, donc pas de BuildId à relever. Rapport seulement : le projet addon 5.8 a un Binaries\Win64 à sa racine (LPAnimCore.dll, LPSandboxApp.dll, .pdb, LPSandboxEditor.target, 18:34-18:36), ignoré par git, issu de la compilation autonome T4b/T4c. PASS (piège absent)
V8 Contre-vérification T6 python -I cmp_u4t6.py U4-REF55\<pack> U4-T6\<pack> (arguments lus : deux dossiers) quaternius : 44/44, 0 manquant, 0 en trop, 32 json/csv/txt/html identiques, 8 différents ; freeanims : 73/73, 0 manquant, 45 identiques, 5 différents. Écart numérique max : 3.81e-06 (rapport_poseT_*), 1.49e-08 (rapport.json). Clés non numériques : fichier_pose (chemin 5.5 -> 5.8), commandes[0] de 5_evaluation.json (chemin), libellés de segment dans eval_Bridget.csv (10 lignes /130) et eval_Michael.csv (9 /130), horodatage et pied de page de rapport.html. Images 0/0 (quaternius), 20/20 (freeanims). Codes : E4_quaternius_code.txt CODE=0 (1213 s), E4_freeanims_code.txt CODE=0 (446 s) PASS (écarts tous documentés dans U4-T6-VAL, § « Remarque » et tableau T6-bis)
V8 R1 grep -a "Sandbox boite AgMakeout" sur les deux E1_pair.log, empreinte md5 après retrait de l'horodatage 1 ligne de chaque côté, empreinte identique 1508aace… ; valeur : centre X=20.831 Y=1.400 Z=-0.534, étendue X=41.180 Y=50.958 Z=89.466 PASS
V9 En-têtes grep -c du motif Fiche U4-T* — Niveau N* — Modèle prévu * | utilisé T1, T2, T3, T4, T4c, T6 : 1/1 chacun (T2 et T4 : ligne commençant par « # Fiche » ; T4 : prévu haiku, utilisé haiku) PASS

Anomalies et remarques (aucune ne contredit un livrable au point d'être un FAIL)

  1. U4-T6-VAL.md ligne 3 : le résumé de tête dit encore « PARTIEL, E4 quaternius FAIL, freeanims NON LANCÉ » ; c'est l'état de la 1re tentative, remplacé par la section « T6-bis » (E4 code 0 x2). Le résumé de tête est périmé (traçabilité, sans effet sur les résultats). À juger : mise à jour par l'orchestrateur.
  2. eval_Bridget.csv / eval_Michael.csv (quaternius) : 10 et 9 lignes de libellés de segment diffèrent (égalités de maxima à 0.00). Documenté par T6 comme départage dépendant de l'ordre ; l'explication est estimée, non prouvée (voir Incertain).
  3. Effet de bord de mon propre contrôle V3 : Tools\Build.ps1 -FromLog écrit un résumé, D:\Game\LifePlay-master 5.8\Docs\Migration\etat\U4-T7_BuildLog_20261008-193318.txt (dossier etat/ hors git, git status inchangé). C'est le comportement prévu du script de la skill ; fichier à ignorer ou à déplacer vers Backup_5.5\U4-T7 si l'orchestrateur le souhaite (je n'ai rien supprimé).
  4. Le jeu 5.8 compte 4 fichiers modifiés non commités : conforme à la fiche ; le LPHairFromStaticMeshCommandlet.cpp relevé « incertain » en T6 est dans le dépôt addon (16 fichiers), donc pas d'anomalie.
  5. Le build 18:19 portait 1 avertissement C4457 (propre au 9e correctif) ; il est absent du build 18:44 (le seul recompte à 0/0 porte sur 1 unité ; le 0/0 sur l'ensemble des modules repose sur l'absence de tout autre avertissement dans le build complet de 18:19, qui en avait un seul).

Niveau de preuve

  • Établi (commandes rejouées maintenant) : V1, V2, V4, V6, V7, V8 (script rejoué, R1 recalculé par empreinte), V9, V3 recompté, DeliverAnims -DryRun, résolution moteur/jeu.
  • Estimé : (a) V5 BuildMod/EditMod/HairPipeline : le chemin moteur résout en UE_5.8 par lecture de code identique à celle de DeliverAnims, non exécuté (PASS-STATIC) ; (b) la cause des libellés de segment différents (départage de maxima nuls).
  • Incertain : images Saved\Measurement 5.8 non comparées à une référence 5.5 (déjà signalé par T6) ; essai qui trancherait : capture 5.5 au même cadrage. Pas de rejeu de LPTestStringCompat ni de l'éditeur (hors fiche).

Verdict global

PASS pour la clôture du lot U4 : V1, V2, V3, V4, V6, V7, V8, V9 PASS ; V5 PASS (DeliverAnims à blanc, résolution moteur) et PASS-STATIC (BuildMod, EditMod, HairPipeline). Réserves à lever par l'orchestrateur : remarques 1 et 2.

Suite : orchestrateur doit décider (remarque 1 : rafraîchir l'en-tête de U4-T6-VAL ; remarque 2 : accepter les libellés de segment) puis clore U4 (commit des 4 fichiers jeu et des 16 fichiers addon, pin). État : validation terminée.