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
sentrysans casse » est impossible à tenir littéralement (...sEntry) ; recommandation : le reformuler en « 0 avec casse + 0 fichier ». LPDebugSubsystemfigure 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) ; scriptsscan.py,ctx.py,cs.pydans le scratchpad ; ce livrable.
Fichiers à commiter
- A
Docs/Migration/etat/REL/ALPHA/REL-ALPHA-T3-VAL.md(dépôtD:\Game\LifePlay-master 5.8, brancheue5.8).
Tours : 7 / 30
Constats
- À verser : lp-validate § 5 — recherche de chaînes dans un exe Shipping :
sentrysans casse donne des faux positifs...sEntry(UObject Entry) ; compter avec casse (Sentry) et par fichiers.