LifePlay-Revival/Docs/Migration/etat/ST/STE/STE-ORG4a-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

7.8 KiB

Fiche STE-ORG4a-v — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills lp-validate, sk-recount, sk-protocol

STE-ORG4a-VAL : validation statique V5 d'O4a, garde PersonCumming dans AfterCumSpeed (2026-10-14)

1. Fiches amont relues

  • D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\fiches\STE-ORG4a-v.md (cette fiche), STE-ORG4-SPEC.md § 2.2 (l. 77-100), STE-ORG4a-IMPL.md (seule IMPL amont d'O4a ; en entier, dont § 5 « Points à confirmer »).
  • Dump d'avant : dumps\GI__EventGraph_P2.txt (en-tête 6 249 nœuds).

2. Points à confirmer des IMPL

Id Point (IMPL § 5) Verdict
C1 MD5 GI = bd0a2256b875a3ac875630e4b85d92d7 PASS (3.a, 3.d)
C2 Dump : en-tête (6256 noeuds) PASS (3.b)
C3 Dump : AfterCumSpeed.then → Branche seule ; Condition ← IsValid(PersonCumming) ; then → SetRate existant (Rate ← CallFunction_1002) ; else → SetRate à 0.25 ; les deux SetRate → UpdateOeDisplayOnly PASS (3.b)
C4 CompileAllBlueprints éditeur fermé : 0 erreur, 0 avertissement nouveau sur GI PASS (3.c) : 0 Error: sur /Game/, 55 avertissements = référence ; l'avertissement par GI n'a pas été isolé nœud par nœud (voir § 6)
C5 V6 (build empaqueté + LogStats) reporté (V6)

3. Critères rejoués (commande, sortie brute, verdict)

a. Entrée : md5sum des 7 assets + Tools\UeState.ps1

bd0a2256b875a3ac875630e4b85d92d7 *Content/BPs/GI.uasset
c5ab724101fa898457293d64059d21a9 *Content/BPs/Room.uasset
f45be57a39d13d3eb19d0b543153ab0b *Content/BPs/PC.uasset
8668a47c627f7a5254910cf0ac33b12a *Content/BPs/Person.uasset
a8705f7fbe1fde1daba0464bfc9ff9b5 *Content/UI/SexAction.uasset
cb8353603cf95849b4f778a33b4bfbd2 *Content/UI/TopRight.uasset
df2db514e0e2345c6ccac66a0787621f *Content/Heavy/New2/Furniture/fnt_ext001.uasset
processus=0 editeur=0 compilation=0 shaders=0 jeu=0   (code=0)

Identiques aux MD5 de la fiche (rubrique 3). PASS.

b. Dump : RunCommandlet.ps1 -Lot STE-ORG4aV -Commandlet LPDumpFunction -Args '-BP=GI -Fn=EventGraph -Pins -Exec' -EtatDir …\ST\STE

code=0 duree=66s erreurs=0 avertissements=30259
journal : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STE-ORG4aV_LPDumpFunction_20261014-090538.log
résumé  : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-ORG4aV_LPDumpFunction_20261014-090538.txt
journal l. 1931 : LogLPDump: Warning: === GI :: EventGraph  (6256 noeuds) ===

Les « avertissements » sont le canal d'affichage du dump (30 259 lignes LogLPDump: Warning), pas des avertissements de compilation. Lignes du premier listing (journal) :

  • l. 12833-12835 : K2Node_CustomEvent_702 'AfterCumSpeed' ; OutputDelegate (vide) ; then -> K2Node_IfThenElse_221.execute (seule cible, coupure absente).
  • l. 12836-12839 : VariableSet_9760 : execute -> IfThenElse_221.then (seule) ; then -> CallFunction_960.execute ; Rate -> CallFunction_1002.ReturnValue.
  • l. 29604 : CallFunction_960 UpdateOeDisplayOnly : execute -> VariableSet_9760.then, VariableSet_397.then.
  • l. 29986 : VariableGet_720 PersonCumming -> VariableGet_721.self, VariableGet_722.self, CallFunction_723.Object (3 cibles).
  • l. 32144-32147 : CallFunction_723 KismetSystemLibrary::IsValid() : Object -> VariableGet_720.PersonCumming ; ReturnValue -> IfThenElse_221.Condition.
  • l. 32148-32152 : IfThenElse_221 : execute -> CustomEvent_702.then ; Condition -> CallFunction_723.ReturnValue ; then -> VariableSet_9760.execute ; else -> VariableSet_397.execute.
  • l. 32153-32157 : VariableSet_397 'Rate' : execute -> IfThenElse_221.else ; then -> CallFunction_960.execute ; Rate = '0.25'.

Décompte conforme à la SPEC § 2.2 : 3 nœuds (723, 221, 397), coupure absente, 6 liens (720→723 ; 702→221 ; 723→221.Condition ; 221.then→9760 ; 221.else→397 ; 397.then→960), 1 valeur (0.25).

Diff des listes de nœuds avec P2 (script du bloc-notes de session, scratchpad\cmp.ps1, noms de nœuds en tête de bloc, indentation 2) :

noeuds nouveau=6256 P2=6262
=> K2Node_CallFunction_715   => K2Node_IfThenElse_219   => K2Node_CallFunction_720   => K2Node_IfThenElse_220     (G16, 4)
=> K2Node_CallFunction_723   => K2Node_IfThenElse_221   => K2Node_VariableSet_397                                (O4a, 3)
<= 13 noms de P2 seuls (K2Node_Event_0, CallFunction_88, …)

Les 13 « P2 seul » sont un artefact : le fichier P2 contient le listing deux fois pour ses premiers nœuds (Grep ^ K2Node_(Event_0|CallFunction_88) dans P2 = 4 occurrences pour 2 noms, soit un doublon chacun), donc P2 = 6262 pour 6 249 nœuds. Après neutralisation, ajouts exacts = 4 (G16) + 3 (O4a), aucun retrait : 6 249 + 4 + 3 = 6 256. PASS.

c. CompileAllBlueprints : RunCommandlet.ps1 -Lot STE-ORG4aV -Commandlet CompileAllBlueprints -EtatDir …\ST\STE

code=3 duree=222s erreurs=25 avertissements=55
journal : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\STE-ORG4aV_CompileAllBlueprints_20261014-090738.log

Recomptes par Grep sur le journal : Error: = 25 ; Error:.*(/Game/|BPs/GI) = 0 ; a réussi = 420 ; l. 2021 : [0068,55] La compilation de GI a réussi ! [en 4 427 ms] (/Game/BPs/GI.GI). Les 25 lignes Error: portent toutes sur CC_Shaders (/Engine/CC_Shaders/… ou Engine\Content\CC_Shaders\…\CR_FaceExpRig.uasset, lues l. 3016-3072 et dans le résumé unique l. 3314-). Référence de la fiche : 25 lignes, 55 avertissements, 420 a réussi, 0 sur /Game/ : identique. Le code 3 est celui de la référence (la fiche cite « 3 erreurs » ; le résumé du journal dit With 17 error(s), 34 warning(s) en comptes uniques, l. 3349). PASS.

d. Fin : MD5 des 7 assets relus après les deux commandlets : identiques à l'entrée (même sortie qu'en a.) ; UeState.ps1 : processus=0 editeur=0 compilation=0 shaders=0 jeu=0 (code 0) ; ls -R Saved/Autosaves | grep -i GI_Auto : aucune ligne (code grep 1). PASS.

4. Diff lu en entier

Sans objet au sens de git diff <lot>-avant : l'asset GI.uasset est binaire et la validation est statique par dump. Relu en entier : le listing du dump pour les 7 nœuds touchés (§ 3.b) et la comparaison complète des listes de nœuds avec P2 (7 ajouts, 0 retrait). Fichiers modifiés par cette VAL : aucun asset ; sorties de commandlets sous Saved\Logs\portage\ et deux résumés .txt sous etat\ST\STE\ (§ 7), plus ce livrable. Aucun fichier modifié par script dans les assets.

5. Verdict

PASS sur V5 (O4a) : 3 nœuds, 0 coupure résiduelle, 6 liens, 1 valeur conformes à la SPEC § 2.2 ; 6 256 nœuds ; compilation de GI réussie ; 0 Error: sur /Game/ ; MD5 inchangés ; UeState 0. V6 (jeu) : reportée.

6. Points à confirmer par l'utilisateur

  • V6 : build empaqueté + LogStats : plus d'Accessed None sur PersonCumming dans AfterCumSpeed ; Rate inchangé avec jouisseur, 0.25 sans jouisseur (estimé SPEC § 2.2, non mesuré ici).
  • Non mesuré : l'absence d'avertissement nouveau propre à GI n'est établie que par le compte global (55 = référence), pas par un différentiel nœud par nœud.

Tours : 15 / 25

Constats

  • Le dump P2 contient en double ses premiers nœuds (résumé du journal collé au listing) : un diff de noms bruts de P2 compte 6 262 ; filtrer les doublons avant de comparer.
  • Un pwsh -Command "..." en guillemets doubles sous Git Bash voit ses $var développés par Bash : utiliser un fichier .ps1 du scratchpad.
  • Fichiers écrits hors livrable : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-ORG4aV_LPDumpFunction_20261014-090538.txt, …\STE-ORG4aV_CompileAllBlueprints_20261014-090738.txt ; journaux sous Saved\Logs\portage\.

7. Fichiers à commiter

A Docs/Migration/etat/ST/STE/STE-ORG4a-VAL.md ; A Docs/Migration/etat/ST/STE/STE-ORG4aV_LPDumpFunction_20261014-090538.txt ; A Docs/Migration/etat/ST/STE/STE-ORG4aV_CompileAllBlueprints_20261014-090738.txt.