LifePlay-Revival/Docs/Migration/etat/REL/ALPHA/REL-ALPHA-T3-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

5.8 KiB

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

REL-ALPHA-T3-VAL : contrôles statiques du Shipping de livraison alpha 2026.10.2.1a (2026-10-14)

Hors gabarit : tableau contrôle / méthode / mesuré brut / verdict demandé par la fiche, en plus des sections VAL 1 à 6. Rien n'a été lancé (ni jeu ni éditeur). Archive : D:\Game\LifePlay_Build_5.8_ALPHA-2026.10.2.1a_Shipping (notée <A>).

1. Fiches amont relues

  • REL-ALPHA.md (§ T3, lu en entier) ; REL-ALPHA-T2-BUILD.md (lu en entier : MD5 exe 4A9BBDB3…, 2 078 fichiers, arrêt à l'étape e).
  • Aucune IMPL ni diff dans cette fiche (contrôles du produit livré) : section 4 sans objet.

2. Points à confirmer des IMPL amont

sans objet : aucune IMPL en entrée de T3. Réserves du BUILD T2 reprises : étape e (PDB) non faite, reporté (hors T3) ; CheckPackage PASS code 0 (4/4) rejoué par l'orchestrateur, repris sans le rejouer (contrôle g).

3. Critères rejoués

Outils : UnrealPak.exe (UE 5.8), python -I depuis le scratchpad (scan.py, ctx.py, cs.py, lecture binaire), find, md5sum, Grep, Read.

Contrôle Méthode Mesuré brut Verdict
a. Version UnrealPak <A>\Windows\LifePlay\Content\Paks\LifePlay-Windows.pak -List (chemin interne LifePlay/Config/DefaultGame.ini, 1051 o) puis -Extract "D:\Game\LifePlay-master 5.8\Saved\REL-ALPHA\pak" -Filter="*LifePlay/Config/DefaultGame.ini" ; Read du fichier extrait ; find Releases\2026.10.2.1a l. 4 : ProjectVersion=2026.10.2.1a ; Releases/2026.10.2.1a/Windows/ présent (AssetRegistry.bin, LifePlay-Windows.pak, .ucas…) PASS
b. ERR-124 DrawDebugBox Read EngineDefines.h:13-15, DrawDebugHelpers.h:13-15 ; Grep dans le journal Package EngineDefines.h:15 : #define UE_ENABLE_DEBUG_DRAWING (!(UE_BUILD_SHIPPING || UE_BUILD_TEST) || WITH_EDITOR) ; DrawDebugHelpers.h:13-14 : #define ENABLE_DRAW_DEBUG UE_ENABLE_DEBUG_DRAWING ; journal REL-ALPHA-T2_Package_20261014-163344.log:4 contient -clientconfig=Shipping PASS (établi par lecture ; WITH_EDITOR = 0 dans un exe Shipping de jeu : estimé)
c. Témoins de débogage python -I scan.py <exe> (ASCII / UTF-16LE, sensible à la casse), LPDebugSubsystem.cpp:7 lu Profiling/LPDebug ascii 0 / utf16 0 ; MemReports 0 / 0 ; LPDebug 0 / 2 (hors critère). Contexte des 2 : ULPDebugSubsystem (0x80d0f82) et LPDebugSubsystem (0x80d2ee8) = métadonnées de classe UObject enregistrée ; LPDebugSubsystem.cpp:7 : #if !UE_BUILD_SHIPPING PASS (0 attendu pour les deux premiers) ; LPDebug : la classe est enregistrée mais corps exclu ; à noter
d. Garde LPSaveRelaunch scan.py, UTF-16LE LP_SAVE_RELAUNCHED 1 ; LPSaveLocation.ini 1 ; \LifePlay-Revival 1 ; -lpnosaverelaunch 1 ; SaveLocation 2 ; \Content\Paks\LifePlay-Windows.pak 1 (ASCII : 0 partout) PASS (6/6)
e. Sentry absent find <A> -type f avec -iname "*sentry*", *crashpad*, LPSaveLocation.ini ; scan.py / cs.py sur l'exe fichiers : 0 (sentry, crashpad et LPSaveLocation.ini confondus, sur 2 078 fichiers). Exe, sans casse : sentry ascii 4, utf16 2 (bruts). Avec casse : Sentry 0/0, SENTRY 0/0, sentry 0/0. Les 6 occurrences sont toutes précédées de la lettre « s » en capitale E : sEntry (ParameterAssetPathsEntry, bEntrySizeIncludesEntrySpacing, ControlPointsEntryKeys, %*sEntry %0d), c.-à-d. « …s » + « Entry » ; crashpad 0/0 PASS avec réserve : le critère littéral « 0 sans casse » donne 6 (faux positifs sEntry) ; aucune trace du SDK Sentry (0 avec casse, 0 fichier)
f. LPSaveLocation.ini absent find <A> -iname LPSaveLocation.ini (récursif) 0 (inclus dans le compte ci-dessus, recoupé : T2 § 10 donnait aussi 0) PASS
g. MD5 exe md5sum <A>\Windows\LifePlay\Binaries\Win64\LifePlay-Win64-Shipping.exe 4a9bbdb31d6f601ed13c7276fcb64218 (= 4A9BBDB31D6F601ED13C7276FCB64218), 164 987 904 o ; find -type f : 2 078 fichiers (= T2 § 10) ; *.pdb, *.git*, LastResort* : 0 ; CheckPackage PASS code 0 (4/4) : rapporté par l'orchestrateur, non rejoué PASS
h. LPModGuard présent scan.py, UTF-16LE unreadable game version ascii 0 / utf16 1 PASS (témoin de présence seulement)

4. Diff lu en entier

sans objet : aucun diff ; livrable de contrôle du produit. Fichiers du dépôt non modifiés par ce rôle.

5. Verdict

PASS (7 contrôles PASS franchement ; e : PASS avec réserve de formulation du critère, voir ci-dessus). Niveau de preuve : établi pour a, c, d, e, f, g, h (sorties brutes fraîches) ; b établi par lecture. Non mesuré : exécution du jeu (interdite), CheckPackage non rejoué, PDB / BUILD-ID.txt (étape e du T2, hors T3).

6. Points à confirmer par l'utilisateur

  • Accepter la lecture du contrôle e : le critère « 0 sentry sans casse » est impossible à tenir littéralement (...sEntry) ; recommandation : le reformuler en « 0 avec casse + 0 fichier ».
  • LPDebugSubsystem figure dans l'exe comme nom de classe (2 occurrences UTF-16) : accepté, ou à investiguer (le corps est sous #if !UE_BUILD_SHIPPING) ?
  • Étape e du T2 (dossier PDB et BUILD-ID.txt) non faite : à confier à un rôle autorisé avant publication.

Fichiers écrits

  • D:\Game\LifePlay-master 5.8\Saved\REL-ALPHA\pak\LifePlay\Config\DefaultGame.ini (extraction, hors git) ; scripts scan.py, ctx.py, cs.py dans le scratchpad ; ce livrable.

Fichiers à commiter

  • A Docs/Migration/etat/REL/ALPHA/REL-ALPHA-T3-VAL.md (dépôt D:\Game\LifePlay-master 5.8, branche ue5.8).

Tours : 7 / 30

Constats

  • À verser : lp-validate § 5 — recherche de chaînes dans un exe Shipping : sentry sans casse donne des faux positifs ...sEntry (UObject Entry) ; compter avec casse (Sentry) et par fichiers.