9.7 KiB
Fiche REL-ALPHA — Niveau N1 (lot) — Modèle prévu opus (orchestration) ; lp-writer, lp-validator, lp-builder (sonnet / haiku) | utilisé claude-opus-5-5 (préparation) — Agent session REL — Skills lp-lot, lp-build, lp-paths
REL-ALPHA : build de livraison de l'alpha 2026.10.2.1a (2026-10-14) — fiche préparée, en attente d'UE-GO
Demande de l'utilisateur, transmise par Big Boss le 2026-10-14 : « bien je valide le comportement de l'alpha. Prépares la build de livraison ».
- Base : l'arbre actuel, qui correspond à COMMUN-13 validé, plus le seul changement de version.
- Rien n'est encore fait dans UE. Seul un relevé T0 de
%LOCALAPPDATA%\LifePlaya été pris, en lecture seule (§ T4).
Point à trancher avant T1 (Big Boss / utilisateur) : la lettre « a » casse le contrôle de version des mods
Constat (établi, lecture du code) :
LPModGuard.cpp:52-73(ParseVersion) refuse toute composante non numérique :2026.10.2.1aest donc illisible.- Conséquence 1 :
bGameParsed = false(l. 272). Le contrôle « version max » des mods est désactivé sans bruit en Shipping (l. 381), puisque la ligne d'erreur (l. 277) n'existe qu'en journal et que le Shipping n'en a pas. - Conséquence 2 :
BuildMod.ps1:181, 279(addon) inscritMODULE_GAME_VERSION: <ProjectVersion>dans tout mod construit contre ce jeu. Un mod construit pour l'alpha porterait2026.10.2.1a. Il serait refusé par le contrôle « version min », actif par défaut (LPModGuard.cpp:366-371, « unreadable game version »). LPVersionSubsystem.cpp:15affiche la chaîne telle quelle (GI.version_text) : aucun problème de ce côté.
| Option | Changement | Effet |
|---|---|---|
| A (recommandée) | ProjectVersion=2026.10.2.1 ; « alpha » seulement dans le nom de l'archive, le tag v2026.10.2.1a et les notes de version |
contrôles des mods intacts ; aucun code touché ; le menu affiche 2026.10.2.1 |
| B | Garder 2026.10.2.1a, puis accepter un suffixe de lettres dans ParseVersion (C++ de LPModGuard, VAL, build) |
touche au format MODULE_GAME_VERSION des mods, donc au contrat des mods, figé : décision dédiée de l'utilisateur ; risque avant la livraison |
| C | Garder 2026.10.2.1a sans rien changer |
version max désactivée ; mods construits pour l'alpha refusés tant que le joueur ne décoche pas le contrôle dans Settings > Misc. Déconseillé |
Étapes (une fiche par étape, livrables dans ce dossier)
T1 — Version (sans jeton UE)
-
Tools\Snapshot.ps1 -Lot REL-ALPHA -Path Config\DefaultGame.ini, puis Edit de la ligne 4 :ProjectVersion=2026.10.2.0→ valeur de l'option retenue. Fins de ligne d'origine gardées (git ls-files --eolrelevé avant). -
Diff attendu : 1 ligne. Livrable :
REL-ALPHA-T1-IMPL.md. -
T1v (lp-validator, agent distinct) :
git diff -- Config/DefaultGame.ini= 1 ligne ;- MD5 de l'instantané = MD5 de HEAD ;
- aucun autre fichier de
Config/modifié ; - format conforme à
ParseVersionsi l'option A est retenue.
Livrable :
REL-ALPHA-T1v-VAL.md.
T2 — Build Shipping (lp-builder, sous UE-GO)
-
Contrôle d'entrée.
UeState.ps1: 0 processus. MD5 relevés parGet-FileHashet comparés à ceux de COMMUN-13 (message de Big Boss du 2026-10-14) :- CameraMode
.cpp1f10631f,.h9aee8d04 ; - PC 707220a6 ; Room 93138747 ; GI 32fc0a97 ; Person 8668a47c ; TopRight cb835360 ;
- ShowCouple 3cdd572d / 44c721ee ;
- DirectControl 5f9d7e00 / 01d5ea3c ;
- OutdoorRoom dc68ed8a / 6a3edd73 ;
- Debug f0081f9f / 78d3a079 ;
- SaveRelaunch a0cd6687 / f31173f6 ;
- BonusReward 16147626 / 87177c7a ;
LifePlay.cpp3f7ffa30 ;- ajouts REL-ALPHA (option B) :
LPModGuard.cpp54aac4d9 (V2, VAL V3 PASS-STATIC),LPModGuard.hc09543be (inchangé),Config/DefaultGame.ini4f89f2d1 (ProjectVersion=2026.10.2.1a, VAL T1v PASS).
Écart = ARRÊT. Aussi :
Mods\vide ; aucunLPSaveLocation.inidans la copie. - CameraMode
-
Compilation :
.\Tools\Build.ps1 -Lot REL-ALPHA -Target LifePlay -Config Shipping -ExtraArgs '-NoUBA'(procédure U8-T2r2). Critère : code 0, 0 erreur, 0 avertissement nouveau. -
Cuisson à froid, sans
-iterate(doc 21 l. 214, U8-T3r2) :.cmdd'une ligneRunUAT.bat BuildCookRun -project=… -platform=Win64 -clientconfig=Shipping -skipbuild -cook -createreleaseversion=<version> -unattended -utf8output -nop4, avec la sortie redirigée dans le.cmd(le crochet refuse>sur la ligne de commande de l'agent).Critères :
FULL COOKprésent ;LegacyIterative(casse exacte) absent ; 0 erreur ; 0 avertissement ; nombre de paquets relevé. -
Mise en paquet (U8-T4r2) :
-skipbuild -skipcook -stage -pak -iostore -compressed -createreleaseversion=<version> -archive -archivedirectory="D:\Game\LifePlay_Build_5.8_ALPHA-2026.10.2.1a_Shipping" -nodebuginfo.PDB copié dans
D:\Game\LifePlay_Build_5.8_ALPHA-2026.10.2.1a_Shipping_PDBavecBUILD-ID.txt(GUID RSDS de l'exe). -
CheckPackage :
pwsh -NoProfile -File Tools\CheckPackage.ps1 -Build "D:\Game\LifePlay_Build_5.8_ALPHA-2026.10.2.1a_Shipping" -Config Shipping. Critère : PASS, code 0. -
Livrable :
REL-ALPHA-T2-BUILD.md, avec les journaux archivés sousSaved\Logs\portage\REL-ALPHA_*et une ligne de traces.
Durée estimée (estimé d'après U8r2 et COMMUN-13) : 20 à 35 min de jeton UE.
- Compilation Shipping : 5 à 15 min. Le module LifePlay est à recompiler en entier, puisque le dernier exe Shipping de la copie date du 2026-10-10.
- Cuisson complète : 3 à 10 min (U8r2 : 2 min 31 s ; assets modifiés depuis).
- Paquet : 1 à 2 min ; CheckPackage et PDB : 1 à 2 min.
T3 — Contrôles du Shipping (lp-validator, sans lancer le jeu, sans jeton UE)
| Contrôle | Méthode | Attendu |
|---|---|---|
| Version | UnrealPak.exe <archive>\Windows\LifePlay\Content\Paks\LifePlay-Windows.pak -Extract <scratchpad> -Filter=*DefaultGame.ini, ou -List puis extraction ; Releases\<version> créé par la cuisson |
ProjectVersion=<version> dans l'ini du pak ; dossier Releases\<version> présent |
DrawDebugBox (ERR-124) |
Lecture : EngineDefines.h:13-15 donne UE_ENABLE_DEBUG_DRAWING = !(SHIPPING || TEST) || WITH_EDITOR, et DrawDebugHelpers.h:14 : les appels sont vides en Shipping. Archive : contrôle croisé par -clientconfig=Shipping dans le journal UAT |
établi par lecture ; aucun appel actif en Shipping |
| Témoins de débogage | LPDebugSubsystem.cpp:7 (#if !UE_BUILD_SHIPPING) ; dans l'exe (UTF-16LE) : 0 occurrence de chaînes propres au débogage, par exemple Profiling/LPDebug et MemReports (LPDebugSubsystem.cpp:78, 101) |
0 |
| Garde LPSaveRelaunch | Dans LifePlay-Win64-Shipping.exe (UTF-16LE) : LP_SAVE_RELAUNCHED, LPSaveLocation.ini, \LifePlay-Revival, -lpnosaverelaunch, SaveLocation, Content\Paks\LifePlay-Windows.pak |
6 sur 6 présentes |
| Sentry absent | Archive : 0 fichier *sentry*, 0 crashpad_handler.exe ; exe : 0 sentry (ASCII et UTF-16, sans casse) |
0 |
LPSaveLocation.ini |
Get-ChildItem -Recurse <archive> -Filter LPSaveLocation.ini |
0 |
| Développement | CheckPackage (T2.5) : aucun PDB, addon, .git ni LastResort* dans l'archive |
PASS |
Livrable : REL-ALPHA-T3-VAL.md.
T4 — Essais E5 et E9 avec l'utilisateur (Shipping, via Big Boss)
- Relevé T0 pris le 2026-10-14 (lecture seule) :
REL-ALPHA-releve-T0-LifePlay.csv(chemin relatif, octets, date, MD5). Contenu de%LOCALAPPDATA%\LifePlay: 68 fichiers, 19 650 943 octets, dernière écriture 2026-10-13 23:17:10.%LOCALAPPDATA%\LifePlay-Revivalest absent.- Note : les écritures du 2026-10-13 entre 22:58 et 23:17 (
WindowsNoEditor\*.ini,UE4CC-*,Default.sav,GameSettings.sav) viennent d'un jeu UE4, la version d'origine. Ce dossier reste donc le dossier vivant des anciennes versions.
- Note : les écritures du 2026-10-13 entre 22:58 et 23:17 (
- Juste avant l'essai : refaire le même relevé (
T1), identique à T0 sauf si une ancienne version a été jouée entre-temps, et vérifier queLifePlay-Revivalest absent. - E9 (Shipping sans
.ini) : l'utilisateur lance<archive>\Windows\LifePlay.exe, puis fait une nouvelle partie, une sauvegarde, quitte, relance et charge par Continuer. Attendus :- pendant le jeu,
Get-CimInstance Win32_Process -Filter "Name like 'LifePlay%'"montre 3 processus : le bootstrap, le parentLifePlay-Win64-Shipping.exesans-UserDir, et l'enfant avec-UserDir="…\LifePlay-Revival"; %LOCALAPPDATA%\LifePlay-Revival\Saved\{Config,SaveGames}est créé ;- Continuer recharge la partie ;
- relevé T2, pris après la fermeture du dernier jeu, identique à T1 (0 fichier créé ou modifié dans
%LOCALAPPDATA%\LifePlay).
- pendant le jeu,
- E5 (
SaveDirinvalide) : poser<archive>\Windows\LifePlay\LPSaveLocation.iniavec[SaveLocation]etSaveDir=relatif\x, lancer puis quitter. Même dossierLifePlay-Revival, même ancien dossier intact. Retirer le.iniaprès l'essai, puisque l'archive se publie sans lui. - Sans journal en Shipping, la preuve vient des lignes de commande, des dossiers et des relevés. Livrable :
REL-ALPHA-T4-ESSAI.md.
T5 — Après l'essai de l'utilisateur
- Copie de l'archive vers
D:\Game\LifePlay_Publication\contrôlée parTools\PubCheck.ps1(code 0 exigé). - Notes de version : brouillon
REL-ALPHA-NOTES.md, soumis à Big Boss. Elles reprennent le README REL-SAV-DOC D1 (nouveau dossier, anciennes sauvegardes non déplacées,LPSaveLocation.ini). - Tag local
v2026.10.2.1apar le gardien, après les commits des lots ordonnés par Big Boss. Pas de push.
Contraintes
Agents lp-* ; ni tee, ni >, ni -> dans les commandes des agents (redirection seulement dans un .cmd écrit par Write) ; un refus du crochet entraîne l'arrêt et un compte rendu ; aucun jeton UE avant l'UE-GO ; aucun fichier hors Config/DefaultGame.ini (T1) et les livrables.