LifePlay-Revival/Docs/Migration/etat/REL/REL2/REL2-VAL.md
2026-10-21 09:36:04 +02:00

23 KiB
Raw Blame History

Fiche REL2-VAL — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-validator (A-VAL) — Skills sk-protocol, sk-recount, debug-verification, lp-validate

REL2-VAL : VAL commune de la build 1 (alpha 2026.10.2.2a), statique, sans jeton UE (2026-10-21)

Ordonnateur : Big Boss (local_104ff22d). Rien n'a été modifié hors ce livrable ; aucun jeton UE, aucun jeu lancé, aucune compilation, aucune commande git qui écrit. Copie : D:\Game\LifePlay-master 5.8, branche ue5.8 (git rev-parse --abbrev-ref HEAD), HEAD 05364875f7783502376fa8f2b4e0669cd4ecc93f (0536487). Tag de base v2026.10.2.1a = 2f5d51b74d1c99ede72126a7ced12034eea768a9 (2026-10-14 18:25). État de l'arbre au contrôle (git status --short) : M Config/DefaultGame.ini, M LifePlay.uproject, M de trois fichiers Docs/Migration/etat/BOSS|REPO, plus des fichiers non suivis (Docs/LP-PROJET.ini, etat\AG\ORGA2, etat\REL\ERR145|GIREV|REL2). Aucun fichier de Source, Plugins, Content modifié ou non suivi ; git diff --stat HEAD -- Config Source Plugins Content : Config/DefaultGame.ini | 2 +-, 1 fichier.

1. Fiches amont relues

  • etat\REL\REL2\REL2-T1-IMPL.md (seule IMPL de REL2 ; lue en entier, 13 lignes).
  • etat\REL\ALPHA\REL-ALPHA.md (T1v, T2.1 lus l. 1 à 80) ; Source\LifePlay\LPModGuard.cpp l. 40 à 119.
  • Bilans d'essai etat\BOSS\COMMUN-14, 16, 17, 18, 19, 20, 21, 23-BILAN.md (comptes de verdicts et cas liés aux changements) ; COMMUN-15-TESTS.md et COMMUN-22\COMMUN-22-BUILD.md (pas de bilan : voir C4) ; BOSS-JOURNAL.md l. 1049 à 1062 (QPERS) ; BOSS-ETAT.md (extraits).
  • IMPL/BUILD/VAL citées par MD5 (colonne « Fiche qui cite le MD5 actuel » du contrôle 2).
  • Docs\Journal_Modifications.md l. 1134 à 1150 (CHG-370 à CHG-386).
  • Non relus ligne à ligne : les journaux de jeu (COMMUN-*\*.log), lus seulement via les bilans.

2. Points à confirmer des IMPL amont

Id Point (REL2-T1-IMPL, l. 10) Résultat
P1 Diff d'une ligne PASS (contrôle 1.1)
P2 MD5 de l'instantané = MD5 de HEAD PASS (contrôle 1.2)
P3 Format accepté par ParseVersion PASS-STATIC (contrôle 1.4, lecture du code ; non exécuté)

3. Critères rejoués

Légende : PASS, CONSTAT (écart ou réserve, non bloquant), ÉCHEC (bloquant). Aucun ÉCHEC.

Contrôle 1 — T1v

N° Contrôle Commande Résultat brut Verdict
1.1 git diff -- Config/DefaultGame.ini = 1 ligne git diff -- Config/DefaultGame.ini un seul hunk @@ -1,7 +1,7 @@ : -ProjectVersion=2026.10.2.1a / +ProjectVersion=2026.10.2.2a (ligne 4) ; git diff --stat HEAD -- Config : 1 file changed, 1 insertion(+), 1 deletion(-) PASS
1.2 MD5 instantané = MD5 HEAD md5sum "D:/Game/LifePlay_Backup_5.5/REL2/Config/DefaultGame.ini" ; git show HEAD:Config/DefaultGame.ini | md5sum ; manifest.csv 4f89f2d1b63dd7d6bcae0fa1575f6727 des deux côtés ; manifeste : "Config\DefaultGame.ini","True","3324","4F89F2D1B63DD7D6BCAE0FA1575F6727","2026-10-21T08:29:55", seul fichier du manifeste PASS
1.3 Aucun autre fichier de Config modifié git diff --name-only HEAD -- Config Config/DefaultGame.ini (1 ligne de sortie) PASS
1.4 Format accepté par ParseVersion Read LPModGuard.cpp:55-92 ; git diff --stat v2026.10.2.1a HEAD -- Source/LifePlay/LPModGuard.cpp Source/LifePlay/LPModGuard.h découpe sur . → 2026,10,2,2a ; lettres ASCII de fin de la dernière composante retirées (l. 61-75) → 2 ; composantes non vides, ≤ 9 chiffres, chiffres seuls (l. 76-89) → {2026,10,2,2}, true. LPModGuard.cpp et .h : 0 ligne de différence depuis le tag (MD5 54aac4d9… / c09543be… = valeurs de REL-ALPHA.md l. 46). Estimé par lecture, non exécuté PASS-STATIC
1.5 Fins de ligne conservées git ls-files --eol Config/DefaultGame.ini i/lf w/lf attr/-text PASS
1.6 MD5 de la nouvelle valeur md5sum Config/DefaultGame.ini 8d7f4bdf45e4f36620ccfe043b380c66 = valeur citée par REL2-T1-IMPL.md l. 9 PASS

Contrôle 2 — Inventaire v2026.10.2.1a..HEAD (Source, Plugins, Config, Content)

Commandes : git diff --name-status v2026.10.2.1a..HEAD -- Source Plugins Config Content → 34 fichiers ; recompte … | cut -c1 | sort | uniq -c : 11 A, 23 M, 0 D (11 + 23 = 34) ; git diff --stat … : 34 files changed, 3634 insertions(+), 141 deletions(-). Hors liste : Content/Heavy (ignoré, git ls-files Content/Heavy | wc -l = 0). Les 586 fichiers du diff global du tag comprennent Docs/, Tools/ (retirés de l'index par CHG-357), .gitignore, README.md : hors périmètre.

Les 34 fichiers sont propres par rapport à HEAD (git diff --quiet HEAD -- <fichier> : 34 « CLEAN »). Aucun fichier de Source, Plugins/ModdingExtra, Content/BPs, Content/UI, Config n'est plus récent que le 2026-10-20 21:40 (find … -newermt) sauf Config/DefaultScalability.ini (22:49) et Config/DefaultGame.ini (2026-10-21 08:29) ; l'exe de la dernière build d'essai (COM23) date de 21:37.

« Fiche » = fiche qui cite le MD5 actuel (grep des 8 premiers caractères dans etat\**\*.md). Recoupé avec la date du dernier commit du fichier (git log -1) : aucun fichier n'a de MD5 plus récent que celui cité. PASS = fiche IMPL/BUILD/VAL/BILAN et CHG trouvés et MD5 du disque cité.

Fichier CHG (journal l. 1134-1150) Fiche qui cite le MD5 actuel MD5 disque (complet) Verdict
Config/DefaultInput.ini 373 KEY2-BUILD-01/02, KEY2-IMPL-01, KEY2-VAL-01 1a8e89a1ac4acc462280e654ffe4ffd8 PASS
Config/DefaultScalability.ini 386 seulement BOSS-JOURNAL.md l. 1055 (3dca7e5d -> b3ecb28c) et QPERS-PRE.md ; aucune IMPL, BUILD ni VAL b3ecb28c561866d90bb96476387e298c CONSTAT C1
Content/BPs/PC.uasset 375, 376 CAM2-IMPL-06, COMMUN-19-BILAN, STM1-B5-FIN 6603c77ff670d51927863cbd9d56203c PASS
Content/BPs/Room.uasset 375, 376 CAM2-IMPL-02 à 06, CAM2-VAL-02/03, COMMUN-17-BUILD 2b1cfa2eb1ea51f632eef80d4271b9e4 PASS
Content/UI/CharGen.uasset 371 CG2-IMPL-01, CG2-VAL-01, COMMUN-14-BUILD 8d781ec0b94318b5bfbf22ee3b33556a PASS
Content/UI/CharGenSlider.uasset 371 idem cbe53469fc73e7829a00710126095c7e PASS
Content/UI/VisualMorph.uasset 371 idem 84dd9b17b977a007f9a13940406e970a PASS
Content/UI/MainMenu.uasset 380 DISC1-B1, COMMUN-20-BUILD/BILAN 2815910e8a7f0f48a9fdb1e172c7eac5 PASS
Plugins/ModdingExtra/…/ModdingExtraBPLibrary.cpp 381 FIX1-F6-IMPL, FIX1-F6-VAL, COMMUN-21-BILAN 1f93601c71d126f173fe30636aec0660 PASS
Source/LifePlay/LPAssetRegistryHelpers.cpp 370 STM1-IMPL-01, STM1-B1-VAL 61b641efdff8942d0cceb827e5668c8e PASS
Source/LifePlay/LifePlay.cpp 370 idem c3d0b3b7ad8210404284f1faf1b27bbd PASS
Source/LifePlay/LifePlay.h 370 idem df5da24a8457f802b87eb87e103e4352 PASS
Source/LifePlay/LPCityTraceSubsystem.cpp (A) 370 idem e5a0d22de9889c9265456c9b4f66fa59 PASS
Source/LifePlay/LPCityTraceSubsystem.h (A) 370 idem 47769ceca14092febc943cd499233117 PASS
Source/LifePlay/LPCityWaterMask.h (A) 379 STM1-B6-FIN, COMMUN-20-BILAN 966dc14d525c34c7fd19d0f0b73b8a6d PASS
Source/LifePlay/LPCityWaterSubsystem.cpp (A) 372, 379 idem 9c0b257ee0ae377146aeda72519330bf PASS
Source/LifePlay/LPCityWaterSubsystem.h (A) 372, 379 idem 2cdc10018eb1287d7f9e302eee182185 PASS
Source/LifePlay/LPCameraModeSubsystem.cpp 373-376, 383 FIX1-F8a-IMPL, COMMUN-23-BILAN 976bf0a458b87f9aecf974fcec3209f0 PASS
Source/LifePlay/LPCameraModeSubsystem.h 373, 374 CAM2-IMPL-02/03, KEY2-IMPL-01 36feac2a77e13529a8ea689be74c954f PASS
Source/LifePlay/LPRoomBoundsCameraModifier.cpp (A) 375, 376 CAM2-IMPL-03 à 06, CAM2-VAL-03 a3b0319458288ceb69293563b0bea35b PASS
Source/LifePlay/LPRoomBoundsCameraModifier.h (A) 375, 376 idem f5eeae0574f760ed2382c2538a23e1a9 PASS
Source/LifePlay/LPKeyboardSubsystem.cpp 373, 376, 378, 382 KEY2-BUILD-04, SET1-V1b-IMPL, COMMUN-21-BILAN 611c21489d80374a4817f70e408cf4db PASS
Source/LifePlay/LPKeyboardSubsystem.h 373 KEY2-IMPL-01 06793e5749102b5a943ee8bbc8a1f625 PASS
Source/LifePlay/LPSettingsSubsystem.cpp 373, 385 SET1-V1b-IMPL, COMMUN-23-BILAN 6277a8fc139c05dc10e302f88de0f8d9 PASS
Source/LifePlay/LPSettingsSubsystem.h 385 idem 138350efe8473c430db984db63c8feac PASS
Source/LifePlay/LPColorGradeSubsystem.cpp 385 idem 5be400543166b6de7a4a88f6097a9d93 PASS
Source/LifePlay/LPVideoQualitySubsystem.cpp 385 idem c3055197030bdbbce813df4cc6d7cd63 PASS
Source/LifePlay/LPModInfoSubsystem.cpp 385 idem 98206e688308e908b04ae15cf408e1bb PASS
Source/LifePlay/LPDirectControlSubsystem.cpp 384 FIX1-MZ2-IMPL, COMMUN-23-BILAN 86ef519e880989941e033edeadda7c26 PASS
Source/LifePlayEditorTools/LPBuildCityWaterCommandlet.cpp (A) 372, 379 STM1-B6-FIN, COMMUN-20-BILAN fa6fbb72cabc0fd73663ef0e86942309 PASS
Source/LifePlayEditorTools/LPBuildCityWaterCommandlet.h (A) 372 STM1-IMPL-02 7b1e1a523d914f1cad832ff40ada1710 PASS
Source/LifePlayEditorTools/LPImportCityOSMCommandlet.cpp (A) 377 STM1-B5-FIN 1470d0b30d0eb5092aee4659a91bd342 PASS
Source/LifePlayEditorTools/LPImportCityOSMCommandlet.h (A) 377 STM1-B5-FIN d3f90da28f235b21c1867f452344c24b PASS
Source/LifePlayEditorTools/LifePlayEditorTools.Build.cs 372, 377 STM1-B3-FIN da4771a9ddd0a921a538ae52369f5c62 PASS

Compte : 34 lignes = 33 PASS + 1 CONSTAT (C1). Le module LifePlayEditorTools (5 fichiers du tableau) est un module éditeur : absent de la cible Shipping. Journal : 17 lignes CHG-370 à CHG-386 présentes (l. 1134-1150) ; CHG-379 cite aussi CentralLondon_Mask.uasset et CHG-377 Paris.uasset, sous Content/Heavy (ignoré, hors diff, non vérifiés ici : C7).

Contrôle 3 — Builds d'essai utilisateur

Changement (CHG) Essai en jeu (bilan) Verdict
CHG-370 trace de ville (STM1) COMMUN-14.1 PASS (COMMUN-14-BILAN.md) ; COMMUN-16.25 PASS PASS
CHG-371 CG2 (3 Blueprints) COMMUN-14 : .6 et .10 PASS partiel (boutons de créature non vus), .8 et .9 non joués (C8, Q8 reportés en build 2) ; aucun second essai CONSTAT C3
CHG-372 eau de Londres COMMUN-16.23 PASS partiel (maisons dans le fleuve), puis COMMUN-20.7 et COMMUN-21.13 PASS PASS
CHG-373 à 376 CAM2 et KEY2 COMMUN-15 suspendu (KO bloquant) ; COMMUN-16 : 12 PASS, 4 KO ; COMMUN-17 : 3 PASS, 14 non joués ; COMMUN-18 : 18 PASS, 1 FAIL (.2), 1 non concluant (.10) ; COMMUN-19 : 11 PASS dont la résolution du FAIL .2 par CAM2-IMPL-06 ; COMMUN-20 : 12 PASS (dont V/X du couple .12). L'état final (MD5 actuels de PC, Room, RoomBounds, Keyboard) a été joué en COMMUN-19, 20 et 21 PASS avec réserve (C4 : COMMUN-18.10 « pièce cachée » jamais atteint, reporté en build 2)
CHG-377 commandlet OSM éditeur seulement, aucun essai en jeu requis (STM1-B5-FIN, compilation) sans objet
CHG-378 KEY2 sections COMMUN-20.1 à .5 PASS PASS
CHG-379 Tamise (option D) COMMUN-20.6-.8 PASS, COMMUN-21.13 PASS, COMMUN-23.7c PASS (« quelques blocs gris restent » : volumes de la carte, build 2) PASS
CHG-380 lien Discord COMMUN-20.9 PASS PASS
CHG-381 F6 sauvegardes COMMUN-21.1-.3 et .6 PASS ; .4 sans objet (repli de lecture non éprouvé) ; .5 non joué (-LPNoSavesRedirect) ; E9 (Shipping, %LOCALAPPDATA%\LifePlay-Revival) jamais joué PASS avec réserve (C5)
CHG-382 KEY2 second appui COMMUN-21.7 à .11 PASS PASS
CHG-383 F8a COMMUN-23.7a PASS (22:03) PASS
CHG-384 M-Z talons COMMUN-23.6 PASS (meshZ −80,4 conservé, 0 ligne M-Z :) PASS
CHG-385 SET1 COMMUN-23.1 à .5 PASS ; .4 (onglets au titre après retour de partie) incertain : ligne onglets poses … (ecran titre) absente du journal, rejeu prévu à l'essai final CONSTAT C2
CHG-386 QPERS (r.Tonemapper.Sharpen=0.5, High/Epic) aucun essai de l'ini ; essai par commande console le 2026-10-20 22:38 (« un peu plus net »), gravé à 22:49 (BOSS-JOURNAL.md l. 1051, 1055), après la dernière build d'essai (COM23, exe 21:37) CONSTAT C1

Bilans : COMMUN-17 à 23 existent sauf COMMUN-22 (ni fiche de tests ni bilan : séance FIX1-MES sur la build COM22 « F8a + trace M-Z », verdicts dans BOSS-JOURNAL.md l. 1022-1028 et annexe de COMMUN-23-BILAN.md). Dernière build d'essai : D:\Game\LifePlay_Build_5.8_Development_COM23 (exe 335 855 104 octets, 2026-10-20 21:37). Aucun changement de code ou de Blueprint n'est postérieur à cette build (contrôle 2).

Contrôle 4 — Restes de débogage (code modifié)

Commande : git diff -U0 v2026.10.2.1a HEAD -- Source Plugins | grep -E '^\+\+\+ |^\+.*(UE_LOG|UE_BUILD_SHIPPING|WITH_EDITOR|FAutoConsole|IConsoleManager|RegisterConsole|Exec\(|FConsoleCommand|PersonsLog|DrawDebug)' → 74 lignes, relues en entier (fichier du scratchpad).

Point Constat Verdict
Traces UE_LOG Warning 2 : ModdingExtraBPLibrary.cpp (« liste lue dans Content, Saves non redirige pour les listes ») et LPCityWaterSubsystem.cpp (« masque … illisible ») : cas d'exception seulement PASS
Traces UE_LOG Display ModdingExtra F6 (4), LPColorGrade, LPModInfo, LPSettings (2), LPVideoQuality, LPKeyboard (2), LPDirectControl (M-Z, 1) : à l'ouverture d'un menu ou à l'événement, pas par trame ; COMMUN-23 : 0 ligne M-Z :, 5 onglets poses en 17 min PASS
Traces Log (CameraMode, CityTrace, CityWater) niveau Log, par événement ; ex. POV souris 52 lignes, C1 souris 23 lignes sur un essai (COMMUN-20) PASS
Compilées en Shipping ? non : ni bUseLoggingInShipping ni NO_LOGGING forcé dans Source/*.Target.cs ou Config (Grep sur Source : seul le commentaire LPSessionLogSubsystem.cpp:25) → UE_LOG supprimé du Shipping par défaut du moteur PASS (estimé par le défaut moteur, non exécuté)
-LPPersonsLog actif par défaut non : LPDebugSubsystem.cpp:638-642 lit le paramètre de ligne de commande ; fichier non modifié depuis le tag ; sous #if !UE_BUILD_SHIPPING (l. 7 à 820) PASS
#if !UE_BUILD_SHIPPING attendus LPCityTraceSubsystem.cpp (corps, commande LP.CityTrace) et .h (commentaire) présents. Seule commande console ajoutée : LP.CityTrace (aucun autre RegisterConsoleCommand, Exec(, FAutoConsole dans le diff) PASS
Interrupteur de ligne de commande conservé en Shipping -LPNoSavesRedirect (F6) : repli volontaire vers l'ancien chemin, sans effet par défaut PASS (non éprouvé en jeu : C5)
Chemins absolus de la machine git diff -U0 … -- Source Plugins Config | grep -E '^\+' | grep -nE '[A-Za-z]:[\\/]|<profil>|/Users/' : sortie vide (motif non éprouvé sur un cas positif : lire « aucun trouvé ») PASS

Contrôle 5 — Mods\, LPSaveLocation.ini, LifePlay.uproject

Point Commande Résultat Verdict
Mods\ vide ls -d Mods ; ls -A Mods | wc -l dossier présent, 0 entrée PASS
LPSaveLocation.ini find . -name LPSaveLocation.ini -not -path './.git/*' 0 résultat PASS
Content/Saves (ignoré, présent) find Content/Saves -type f 4 fichiers : Default/Characters/Player.lpcharacter, _session/Characters/1.lpcharacter, 2.lpcharacter, 3.lpcharacter ; DirectoriesToAlwaysCook=/Game ne cuit que des assets ; l'archive reste à contrôler CONSTAT C7
LifePlay.uproject git diff HEAD -- LifePlay.uproject ; JSON : pwsh … Get-Content -Raw … | ConvertFrom-Json | Out-Null sans erreur modifié localement (15 insertions, 7 suppressions, daté 2026-10-19 23:32), non committé volontairement (BOSS-ETAT.md l. 145, 175). Diff : (a) McpAutomationBridge (Enabled false, TargetAllowList Editor) retiré de sa place d'origine (l. 52-57) et ajouté en fin de liste, contenu identique ; (b) ajout de HyperAIStudio (Enabled: true, MarketplaceURL, SupportedTargetPlatforms: Win64, sans TargetAllowList) en fin de liste. Le .uproject du tag n'a pas cette entrée CONSTAT C6

Ce changement local d'uproject entre dans toute build faite depuis cette copie (UBT et UAT lisent le fichier sur disque, pas HEAD) ; les builds Development COMMUN-14 à 23 l'avaient déjà. HyperAIStudio : modules de type Editor (HyperAIStudio.uplugin l. 18-40 lues), donc non liés au Shipping ; le plugin a un dossier Content et "CanContainContent": true. Le Shipping 2026.10.2.1a (tag) a été construit sans cette entrée. Incertain : effet sur le contenu de l'archive Shipping ; l'essai qui tranche est CheckPackage Shipping (T2.5).

Contrôle 6 — PubCheck sur l'arbre

Commande : pwsh -NoProfile -File Tools\PubCheck.ps1 -Arbre ue5.8 < /dev/null → sortie : PubCheck : 0 constat(s) ; code de sortie 0. PASS.

Contrôle 7 — MD5 de contrôle d'entrée pour la build Shipping (comme REL-ALPHA T2.1)

À rejouer avant Build.ps1 par Get-FileHash -Algorithm MD5 ; écart = ARRÊT. Les 8 premiers caractères suffisent à la comparaison rapide ; valeurs complètes au contrôle 2. Cette liste remplace celle de COMMUN-13 (REL-ALPHA.md l. 37-46), périmée pour tous les fichiers ci-dessous.

  • Config : DefaultGame.ini 8d7f4bdf (ProjectVersion=2026.10.2.2a, LF) ; DefaultInput.ini 1a8e89a1 ; DefaultScalability.ini b3ecb28c.
  • Contenu : PC.uasset 6603c77f ; Room.uasset 2b1cfa2e ; CharGen 8d781ec0 ; CharGenSlider cbe53469 ; MainMenu 2815910e ; VisualMorph 84dd9b17.
  • Plugin : ModdingExtraBPLibrary.cpp 1f93601c.
  • Source/LifePlay : LPAssetRegistryHelpers.cpp 61b641ef ; LPCameraModeSubsystem.cpp 976bf0a4 / .h 36feac2a ; LPCityTraceSubsystem.cpp e5a0d22d / .h 47769cec ; LPCityWaterMask.h 966dc14d ; LPCityWaterSubsystem.cpp 9c0b257e / .h 2cdc1001 ; LPColorGradeSubsystem.cpp 5be40054 ; LPDirectControlSubsystem.cpp 86ef519e ; LPKeyboardSubsystem.cpp 611c2148 / .h 06793e57 ; LPModInfoSubsystem.cpp 98206e68 ; LPRoomBoundsCameraModifier.cpp a3b03194 / .h f5eeae05 ; LPSettingsSubsystem.cpp 6277a8fc / .h 138350ef ; LPVideoQualitySubsystem.cpp c3055197 ; LifePlay.cpp c3d0b3b7 ; LifePlay.h df5da24a ; LPModGuard.cpp 54aac4d9 ; LPModGuard.h c09543be.
  • Source/LifePlayEditorTools (hors cible Shipping, pour mémoire) : LPBuildCityWaterCommandlet.cpp fa6fbb72 / .h 7b1e1a52 ; LPImportCityOSMCommandlet.cpp 1470d0b3 / .h d3f90da2 ; LifePlayEditorTools.Build.cs da4771a9.
  • Inchangés depuis le tag (absents du diff) : GI, Person, TopRight, ShowCouple, OutdoorRoom, Debug, SaveRelaunch, BonusReward. Leurs MD5 de COMMUN-13 (REL-ALPHA.md l. 38-44) restent la référence ; non rejoués ici (chemins non relevés), à rejouer en T2.1.
  • Autres conditions de T2.1 : UeState.ps1 = 0 processus ; Mods\ vide ; aucun LPSaveLocation.ini (conformes à cet instant, contrôle 5).

4. Diff lu en entier

  • Lu en entier : Config/DefaultGame.ini (1 ligne), Config/DefaultInput.ini et DefaultScalability.ini (diffs complets), LifePlay.uproject (diff complet).
  • DefaultInput.ini : retrait de SpeedUp/SpeedDown sur pavé, Equals, Hyphen, TestScenes sur Tilde, MoveForward sur Z, MoveRight sur Q ; ajout ActionPanel (Q), CameraHeight (G/B), CoupleMoveY (V/X) : cohérent avec COMMUN-15-TESTS.md § 1 (estimé, non comparé caractère à caractère à KEY2-SPEC-01.md). DefaultScalability.ini : +4 lignes (deux commentaires, deux r.Tonemapper.Sharpen=0.5 sous [AntiAliasingQuality@2] et @3). Fins de ligne CRLF conservées pour ces deux fichiers (git ls-files --eol : i/crlf w/crlf).
  • Code C++ (Source, Plugins) : non relu ligne à ligne (3634 lignes ajoutées) ; validé par les IMPL/VAL/BUILD amont, les MD5 identiques à ceux des builds jouées et le balayage ciblé du contrôle 4. Les 6 .uasset sont binaires : seul le MD5 est comparé.
  • REL2-T1-IMPL.md l. 8 déclare « sed sur la ligne 4 seule » pour DefaultGame.ini : écart de méthode au sens de sk-protocol § 7 (Edit prescrit), sans effet mesuré (diff d'une ligne, LF gardé).

5. Verdict

PASS-STATIC : prêt pour la build Shipping, aucun bloquant.

  • T1v : PASS (diff, MD5 de l'instantané, aucun autre fichier de Config) ; format de version : PASS-STATIC.
  • Inventaire : 33 fichiers sur 34 couverts par IMPL/BUILD et CHG, à MD5 identique ; le 34e (DefaultScalability.ini) est couvert par CHG-386 et le journal de Big Boss, sans IMPL, VAL ni build.
  • Aucun reste de débogage actif en Shipping ; Mods\ vide ; aucun LPSaveLocation.ini ; PubCheck 0.
  • Réserves à porter à l'essai final et à la décision de Big Boss : C1 à C7.

Témoin en jeu (R8) : les correctifs de comportement ont leur témoin au contrôle 3 (COMMUN-19.1, 20.1-.12, 21.1-.14, 23.1-.7). QPERS : Témoin en jeu : à créer (cas à demander à l'orchestrateur, fiche FIT).

6. Points à confirmer par l'utilisateur

  • C1 : accepter de livrer r.Tonemapper.Sharpen=0.5 (High/Epic) sans essai de l'ini en build, ou le faire contrôler à l'essai final Shipping.
  • C6 : LifePlay.uproject (HyperAIStudio activé) : construire avec la copie locale telle quelle, ou retirer l'entrée avant le Shipping (décision de Big Boss ; ce validateur ne le fait pas).
  • C5 : jouer E9 de F6 en Shipping (sauvegardes sous %LOCALAPPDATA%\LifePlay-Revival, lancement par le .bat avec -UserDir, relevé de %LOCALAPPDATA%\LifePlay avant et après la fermeture).
  • C2 : rejouer COMMUN-23.4 (écran titre après un retour de partie) à l'essai final.

Constats

  • C1 (non bloquant, à décider) : Config/DefaultScalability.ini (CHG-386, QPERS) sans IMPL/VAL/BUILD ; essai par console seulement ; gravé après la dernière build d'essai.
  • C2 : COMMUN-23.4 incertain (bilan, « Incertain » 1) ; rejeu prévu à l'essai final.
  • C3 : CHG-371 (CG2, trois Blueprints) : un seul essai (COMMUN-14), couverture partielle ; C8, Q7, Q8 et boutons de créature en build 2.
  • C4 : COMMUN-18.10 non concluant (Room cachee=1 : 0 ligne) reporté en build 2. COMMUN-22 sans fiche de tests ni bilan. COMMUN-20 : 51 actions à la première écriture contre 50 relues (cause non établie), flèches du couple sans ligne de trace.
  • C5 : F6 : E9 (Shipping) jamais joué ; repli de lecture (COMMUN-21.4) et -LPNoSavesRedirect (.5) non éprouvés en jeu ; réserves 1 à 3 de FIX1-F6-VAL.md reportées en build 2.
  • C6 : LifePlay.uproject local (HyperAIStudio) : voir contrôle 5. Le Shipping de l'alpha précédente est construit sans cette entrée.
  • C7 : Content/Saves contient 4 fichiers .lpcharacter (ignorés par git) ; CentralLondon_Mask.uasset et Paris.uasset (CHG-379, CHG-377) non vérifiés ici ; à contrôler dans l'archive par CheckPackage (T2.5) et le contrôle T3 de LPSaveLocation.ini. README.md cite encore 2026.10.2.1a (l. 10-14, 61-64) : mise à jour attendue à la publication, hors périmètre de cette VAL.

Non rejoué : compilation (Build.ps1 -FromLog), LPTestStringCompat, ouverture de l'éditeur (G-U3), lecture des journaux de jeu, MD5 des Blueprints inchangés (GI, Person…), relecture ligne à ligne du C++.

Tours : 25 / 40

Fichiers à commiter

  • A Docs/Migration/etat/REL/REL2/REL2-VAL.md (seul fichier écrit par ce validateur ; dépôt jeu, branche ue5.8).