35 KiB
Fiche U8-T7 — Niveau N1 — Modèle prévu lp-validator | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate
U8-T7-VAL : VAL du Shipping candidat V2.0 D:\Game\LifePlay_Build_5.8_Shipping_U8r contre les critères 1 à 6 du plan 27 (2026-10-10)
Hors gabarit : les sections 1 à 6 suivent le gabarit VAL ; la fiche (§ 6) demande en plus une section 7 « Réserves » et une section 8 « Fichiers à commiter » ; les contre-vérifications 3a à 3f (fiche § 3) et le tableau des critères sont réunis dans la section 3.
Lecture seule : aucun fichier de jeu, d'archive, de journal ou de dépôt modifié ; ni jeu, ni éditeur, ni compilation lancés ; aucune commande git qui écrit. Seul fichier écrit dans le projet : ce livrable. Un résumé Build.ps1 -FromLog a été dirigé par -EtatDir vers le scratchpad de la session (hors projet), pour ne rien écrire sous etat\. git status --short -- . ':!Docs' relevé à l'ouverture et à la fin : une seule ligne, M Content/BPs/GI.uasset, qui n'est pas de moi (réserve R1).
Verdict (en tête)
PASS avec réserves : candidat à la porte T11 sous réserve de T8a et T8b, et de R1, R2, R5 et R10 ci-dessous.
- Le paquet est conforme et recoupé :
CheckPackage4 PASS (code 0) rejoué ; 2 078 fichiers, 0*.pdb, 0LastResort*, 0Manifest_DebugFiles*, 0 cheminModules/.git, 0LPSandboxau manifeste UFS, 0LPAnimMeasureet 0LPSandboxdans l'exe ; liste de fichiers identique à…_Shipping_OBB2; SHA-256 du.ucasidentique entre l'archive Shipping,Releases\2026.10.2.0et l'archive Development ; exe archivé = exe du projet = SHA-256 deBUILD-ID.txt. - Critères du plan 27 : établi PASS pour 1, 5 et 6 ; non établi pour 2, 3 et 4 en totalité (la partie cuisson / chargement du critère 2 et le smoke du critère 3 sont établis ; voir le tableau).
- Une contre-vérification est négative en l'état : l'archive contient les 14 modules optionnels
vin_*(626 fichiers), alors que la règle « jeu léger » n'en garde que 2. C'est attendu de la chaîne (l'éclatement est un pas de publication,SplitModules.ps1, T8c) et identique à…_OBB2; l'archive n'est donc pas publiable telle quelle (3d, R10).
1. Fiches amont relues
Lues en entier, avec leurs sources recomptées (section 3) :
| Livrable | Verdict de l'auteur | Écart de gabarit relevé |
|---|---|---|
U8-TACHES.md (section « Reprise du 2026-10-10 », D1 à D9, tableau de la reprise) |
— | ligne T4r : « Releases6.10.2.0 » pour Releases\2026.10.2.0 (séquence \2026 perdue à la saisie, sans effet) |
U8-ETAT-2026-10-10.md |
— | hors gabarit (état des lieux) |
U8-T0r-INV.md |
OK, HEAD 36d1fa4, 20 chemins cuits |
écart annoncé (« Hors gabarit ») ; recompté : 20 chemins, 70 commits |
U8-T3p.md |
faite (référence déplacée, 5 fichiers, MD5 avant = après) | pas de gabarit (action de l'orchestrateur) |
U8-T2r-BUILD.md |
code 0, 0 / 0, 1 unité, 62 s | conforme au gabarit BUILD (1 à 7) |
U8-T3r-BUILD.md |
code 0, FULL COOK, 8 923 paquets, 0 / 0, 136 s |
conforme |
U8-T4r-BUILD.md |
code 0, 2 078 fichiers, CheckPackage 4 PASS |
section absente : le gabarit BUILD veut 3 « Modules recompilés », 4 « Erreurs et avertissements », 5 « Toolchain », 6 « Preuve de chargement », 7 « Journal archivé » ; le livrable a 3 à 6 = étapes de la fiche, sans annonce « Hors gabarit » |
U8-T5br-BUILD.md |
code 0, .ucas = T4r au SHA-256 |
sections renommées (1 compilation, 2 empaquetage, 3 critères) : l'ordre du gabarit n'est pas suivi, sans annonce |
U8-T5ar-VAL.md |
PASS (smoke utilisateur) | sections 1 à 6 du gabarit VAL absentes (ni points à confirmer, ni verdict numéroté) ; acceptable pour un relevé de partie jouée, à noter |
U8-T5cr-VAL.md |
PASS avec réserve | conforme (sections 1 à 6 + Constats) ; la ligne « Tours » est après « Fichiers à commiter » et non avant « Constats » (mineur) |
U8-T6-VAL.md |
ANNULÉE | gabarit VAL absent (livrable de constat) |
Références : U8-T5c-VAL.md (en-tête, § 1 et § 2), OB\OBB\OBB-EVAL.md (§ 7.1 l. 150-162, § 7.4, § 7.6, § 7.8), doc 21 l. 136 et 210-229, doc 27 l. 384-391, 15_Modules_Optionnels.md § 3 et § 5, README racine l. 61 et 82 |
— | — |
Aucune IMPL dans ce lot (builds, mesures, relevés). Le point de départ des builds est 36d1fa4 (0 fichier hors Docs/ modifié à T0r, U8-T0r-INV.md a4).
2. Points à confirmer des livrables amont
Pas d'IMPL : les « points à confirmer » des BUILD et VAL tiennent lieu.
| Point (source) | Résultat | Preuve |
|---|---|---|
T3r : ligne Display Falling back to legacy iterative cook mode (l. 239) n'est pas un avertissement |
PASS | journal U8-T3r_Cook_20261010-200000.log : grep -c "Warning: " = 0, grep -c "Error: " = 0 ; l. 250 FULL COOK … recooking all packages ; l. 311 Cooked packages 8923 Packages Remain 0 Total 8923 ; l. 560 Success - 0 error(s), 0 warning(s) ; l. 574-580 ExitCode=0, BUILD SUCCESSFUL |
| T4r : correspondance PDB ↔ exe non prouvée | reporté (R6) | rejoué : SHA-256 de l'exe archivé = ligne de BUILD-ID.txt ; SHA-256 du PDB (5C6FB4BD…8E7C65) = BUILD-ID.txt ; l'enregistrement RSDS lu dans l'exe (octet 148 450 880) porte les octets du GUID BE8D0875-47EC-F03F-160C-88AA… écrit dans BUILD-ID.txt ; le GUID du PDB lui-même n'est lu par personne |
| T5br : « Target is up to date », exe Development de 18:40 | PASS | find Source Config LifePlay.uproject Plugins -newer Binaries/Win64/LifePlay.exe (hors Marketplace et McpAutomationBridge) : 0 fichier ; l'exe de 18:40:44 sort de STF_Build_20261010-184002.log (Compile Module.LifePlay.cpp, Result: Succeeded, 43 s) ; sources du jeu les plus récentes 18:21 (T5br § 1) ; git diff --name-only 16b126c HEAD -- . ':!Docs' = 0 |
T5br / T4r : .ucas identique |
PASS | SHA-256 recalculés (3c) |
T5cr case 1 (exposition STB-MAP : 0 ligne MapMarkers) |
reporté (R3) | recompté sur le journal de la cible : MapMarkers = 0, Gamethread hitch = 0 ; pas de parcours « carte » |
T5cr case 2 (No SkeletalMesh 7 971, dont 6 121 d'un acteur) |
reporté (R4) | recompté : 7 971 au total ; répartition par acteur non rejouée |
| T5cr case 3 (parcours différent des références) | reporté (R15) | non rejouable en lecture seule |
| T5cr case 4 (7 commandlets STE-D4 en parallèle 20:12-20:17) | reporté (R15 ; sans effet sur les comptes de lignes) | — |
T5cr case 5 (réf 1 = LifePlay-backup-2026.10.09-16.46.02.log) |
PASS (estimé fort) | U8-TACHES.md l. 15 : T5c rejouée 18:43-18:46 locale, 15 SPAWN ; le journal couvre 16:43:03 → 16:46:02 UTC, soit +2 h |
| T5cr : chiffres clés | PASS | recomptés par grep -c sur le journal de la cible (11 853 lignes, 2 300 912 o, 20:20) : index SPAWN 37, ContactMenu 0, from array Floats_3_ 4, Gamethread hitch 0, MapMarkers 0, Fatal / Assertion / Ensure 0, Error: 6, Accessed None 6, No SkeletalMesh 7 971 : identiques au livrable |
| T5ar : smoke court, sans journal, sans sauvegarde puis rechargement | reporté (R2) | — |
| T6 : annulée | reporté (R2) | décision de l'utilisateur ; doc 21 l. 210 reste ouvert |
3. Critères rejoués
3.0 Tableau des critères d'acceptation globaux (doc 27 l. 386-391)
Verdicts : établi PASS / établi FAIL / non établi.
| # | Critère | Preuve | Source | Verdict |
|---|---|---|---|---|
| 1 | Le jeu 5.8 compile (éditeur, Development, Shipping) sans l'addon et avec | Shipping : U8-T2r code 0, 0 erreur, 0 avertissement, 1 unité (recompté par Build.ps1 -FromLog : erreurs=0 avertissements=0 autres=0 unites=1, chaîne MSVC 14.50.35717) ; exe LifePlay-Win64-Shipping.exe 164 843 520 o ; CheckPackage [3] PASS : .rsp de lien sans LPAnimMeasure, [2] 0 LPSandbox au manifeste, exe sans LPAnimMeasure ni LPSandbox (0 / 0, 3b) = Shipping sans l'addon, le .uproject déclarant toujours AdditionalPluginDirectories. Development : exe de 18:40:44 compilé sur les sources finales (STF_Build_20261010-184002.log : Result: Succeeded), aucune source plus récente. Éditeur : LISIB-J1a_Build_20261010-183020.log LifePlayEditor Win64 Development Result: Succeeded (incrémental, 4 actions), sans erreur de compilation (seuls des avertissements UBT du plugin tiers HyperAIStudio). Non rejoué sur ce HEAD : éditeur et Development avec l'addon physiquement absent (dernière preuve : lots DC1-DC4 en 5.5, UA-PLUGINS.md:231) |
U8-T2r-BUILD.md, journaux ci-contre, 3a, 3b, 3f |
établi PASS pour le Shipping (candidat) et pour la compilation éditeur / Development avec l'addon déclaré ; la mention « sans l'addon » en éditeur / Development n'est pas rejouée (R7, sans effet sur le paquet) |
| 2 | Chargement et cuisson sans erreur ; villes et Blueprints identiques en données à la référence 5.5 | Cuisson : recomptée sur U8-T3r_Cook_*.log : FULL COOK, 8 923 paquets, 0 Error: , 0 Warning: , Success - 0 error(s), 0 warning(s), ExitCode=0 (cuisson complète, DDC gardée, décision D3). Chargement : parcours de 8 min, journal de la cible : 0 Fatal, 0 Assertion, 0 Ensure, LogExit: Exiting, mais 6 lignes Error: (5 Non-Focusable widget + r.MorphTarget.Mode is read only!), toutes déjà présentes dans les deux journaux de référence (U8-T5cr-VAL.md § 5) : famille connue, pas « zéro ». Identité des données : LPCheckStreetMap 280 / 280 identique à 5.5 et CompileAllBlueprints 0 erreur datent du 2026-10-08 (U5-VAL.md V4b ; doc 28 l. 300) ; depuis, 8 Blueprints cuits ont changé (20 chemins cuits depuis 9242cdb, dont StreetMap_Static le 2026-10-09 21:17) ; dernier CompileAllBlueprints : STE-VAL_CompileAllBlueprints_20261010-174503.log (Success - 0 error(s), 0 warning(s)), vraisemblablement antérieur au commit 5c55db4 de GI (19:29, estimé) ; aucun LPCheckStreetMap après STB-SMS (grep -rl LPCheckStreetMap etat/ST : 0 fichier) |
U8-T3r-BUILD.md, 3e, U5-VAL.md, journal STE-VAL |
non établi (cuisson : établi PASS ; chargement : PASS avec 6 erreurs connues ; données villes / Blueprints sur le contenu final : preuve manquante = LPCheckStreetMap + CompileAllBlueprints sur le HEAD final, copie UE ; aucune fiche du registre ne l'apporte : à ouvrir par l'orchestrateur ou à écarter à la porte T11) |
| 3 | Comportement en jeu équivalent au build 5.5 (A/B, contrôle visuel), réglages vidéo fonctionnels | A/B et menu Vidéo : établis en U6 sur un build antérieur (U6-VAL.md PASS ; doc 28 l. 301 : « Recommended → High », relance, son, reprise de partie et rues OK selon l'utilisateur). Candidat : smoke Shipping joué par l'utilisateur (U8-T5ar-VAL.md : PASS, 0 plantage, Crashes absent, dossier réel 73 / 73 inchangé) ; parcours DC4 sur l'archive Development de la même cuisson (U8-T5cr-VAL.md, recompté : ContactMenu 0, Floats_3_ 4 contre 2 591, Accessed None 6 contre 223, 0 hitch, 0 Fatal). Manque : brouillard / Effects Low-Med jamais comparé (T6 annulée, la V1.5 n'a pas le réglage, doc 21 l. 210) ; réglages vidéo non exercés sur le candidat après STC / STE (LPUserSettings, LPSettingsSubsystem changés) ; aucun parcours « carte » (R3) |
U6-VAL.md, U8-T5ar-VAL.md, U8-T5cr-VAL.md, U8-T6-VAL.md, 2 |
non établi (comportement de partie : établi PASS sur un parcours ; réglages vidéo et brouillard : preuve manquante = contrôle visuel et menu Vidéo sur le Shipping U8r, ou autre référence 5.5 dotée du réglage ; aucune fiche du registre ne l'apporte : décision de l'utilisateur à la porte T11) |
| 4 | Mods : contrat inchangé, 3 mods recuits chargés, mods 5.5 signalés par l'avertissement de version | Contrat : aucun fichier du plugin de chargement des mods (ModdingExtra) parmi les 20 chemins cuits changés depuis 9242cdb (T0r d1, recompté : 20) ; LPStringCompat, MainMenu et GI ont changé, leur effet sur les mods n'est pas rejoué (estimé). 3 mods recuits : les 3 archives …-for-LifePlay-2026.10.2.0.zip de D:\Game\LifePlay_Publication\Mods datent d'U7-T15 (ancienne référence, U8-ETAT § 2) ; T8a pas faite. Avertissement de version : établi en U7 (doc 21 l. 205, CHG-257), non rejoué sur U8r |
U8-T0r-INV.md, U8-TACHES.md (T8a « à faire »), doc 21 l. 205 |
non établi (preuve manquante = 3 × BuildMod contre la nouvelle référence et chargement en jeu avec garde acceptée : fiche U8-T8a) |
| 5 | Plus aucun outil, critère ni réglage fondé sur 4.27 ; chemin moteur à un seul endroit | grep -n "4\.27|UE_4\.27" Tools/*.ps1 Config/*.ini : 0 ligne (témoin : 8 fichiers Tools/*.ps1 contiennent « 5.8 », la recherche lit bien) ; Tools entier : 3 lignes, toutes dans uasset.py (2) et uasset58.py (1), commentaires de l'analyseur hors éditeur « UE 4.27 uniquement » (seul utilisateur de uasset.py : uasset58.py) ; Source : 15 lignes dans 13 fichiers, toutes en commentaire historique (« portage 4.27 », « défaut déjà présent en 4.27 ») ; Plugins/ModdingExtra : 1 fichier, idem. Chemin moteur : grep -rIn 'Game.\{1,2\}Launcher' Tools : Engine.ps1:46 $LPEngineBase = 'D:\Game\Launcher\Engine' (les lignes 14 et 29 sont de la documentation) ; UE_5.8 dans Tools : une seule ligne, Engine.ps1:29 (exemple d'en-tête) ; aucun .bat / .cmd à la racine, aucun chemin moteur dans Config\*.ini ; version lue dans EngineAssociation |
3e, Engine.ps1 l. 1-46, doc 28 l. 297 (U2) |
établi PASS sur le périmètre de la fiche (Tools/*.ps1, Config/*.ini) ; case laissée à l'utilisateur : Tools/uasset.py est un outil qui ne lit que le format 4.27 (R8) |
| 6 | CHG par lot, commits par phase, rien poussé sans accord | git log --oneline 9242cdb..HEAD | wc -l = 70 commits ; 67 portent un CHG- dans le sujet ; 3 n'en portent pas : 36d1fa4 (U8, état des lieux), e5b7968 (STF, clôture), 08e2148 (OBB, clôture) ; git branch -r : c55/main, origin/HEAD, origin/main, vinfamy/master (aucun ue5.8) ; git rev-parse --abbrev-ref ue5.8@{u} : « no upstream configured » ; git log --oneline HEAD --not --remotes | wc -l = 77 ; git merge-base ue5.8 origin/main = f953e03 = origin/main |
3e | établi PASS en local (rien de poussé d'après les références distantes locales ; aucune interrogation du serveur) ; réserve R9 (3 commits sans numéro de CHG dans le sujet ; CHG de la reprise U8 non encore réservé) |
3.1 Contre-vérifications rejouées (commande et sortie brute)
3a. CheckPackage
Commande : pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\CheckPackage.ps1" -Build "D:\Game\LifePlay_Build_5.8_Shipping_U8r" -Config Shipping
CheckPackage : build D:\Game\LifePlay_Build_5.8_Shipping_U8r ; configuration Shipping ; projet D:\Game\LifePlay-master 5.8
exe archive : D:\Game\LifePlay_Build_5.8_Shipping_U8r\Windows\LifePlay\Binaries\Win64\LifePlay-Win64-Shipping.exe (2026-10-10 19:58:14, 164843520 o)
exe du projet : D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay-Win64-Shipping.exe (2026-10-10 19:58:14, 164843520 o)
[1] PASS 0 D:\Game\LifePlay_Build_5.8_Shipping_U8r\Windows\Manifest_NonUFSFiles_Win64.txt
[2] PASS 0 D:\Game\LifePlay_Build_5.8_Shipping_U8r\Windows\Manifest_UFSFiles_Win64.txt
[3] PASS 0 D:\Game\LifePlay-master 5.8\Intermediate\Build\Win64\x64\LifePlay\Shipping\LifePlay-Win64-Shipping.exe.rsp
[4] PASS 0 D:\Game\LifePlay-master 5.8\Binaries\Win64\LifePlay-Win64-Shipping.target
Resultat : PASS (code 0)
EXIT=0
[3] et [4] rendent 0 (pas 2) : l'exe du projet est resté celui de 19:58:14, personne n'a recompilé le Shipping depuis T2r. À relancer à la porte T11 : un Shipping recompilé par une autre session fait passer [3] / [4] à NON-CONCLUANT (code 2).
3b. Archive Shipping
Commande (PowerShell, Get-ChildItem -Recurse -File -Force sur l'archive et sur …_Shipping_OBB2, Compare-Object des chemins relatifs, recherche de motifs sur les noms ; Select-String sur le manifeste ; lecture binaire de l'exe en Latin1, recherche ordinale ASCII et UTF-16 ; témoins ci-dessous) :
U8r files: 2078 bytes: 1573304031
OBB2 files: 2078 bytes: 1573286287
pdb: 0
LastResort*: 0
Manifest_DebugFiles*: 0
path Modules/.git: 0
ucas count: 2
manifest UFS exists: True lines: 22069 LPSandbox lines: 0
diff lists (relative paths): 0
size differs: \Windows\LifePlay\Binaries\Win64\LifePlay-Win64-Shipping.exe 164843520 vs 164830208
size differs: \Windows\LifePlay\Content\Paks\global.ucas 3398864 vs 3398528
size differs: \Windows\LifePlay\Content\Paks\LifePlay-Windows.ucas 1259281744 vs 1259277648
files with different size: 3
- Nombre de fichiers : 2 078 (attendu 2 078). Écart d'octets avec OBB2 : 1 573 304 031 − 1 573 286 287 = 17 744 = 13 312 + 336 + 4 096 (les trois fichiers listés) : cohérent. Le total d'OBB2 est celui du doc 21 l. 227 (1 573 286 287).
- Témoins :
*.ucas= 2 (le filtre de noms voit des fichiers) ;*.pdb= 7 dansBinaries\Win64du projet (U8-T4r-BUILD.md§ 4, témoin inverse, non rejoué). - Recherche de chaînes dans l'exe archivé (164 843 520 o),
IndexOfordinal sur la chaîneLatin1, ASCII et UTF-16 :
LPAnimMeasure: ascii=0 utf16=0
LPSandbox: ascii=0 utf16=0
LPAnimCore: ascii=0 utf16=1
LPCoupleSim: ascii=1 utf16=0
ModdingExtra: ascii=2 utf16=5
LifePlay: ascii=9 utf16=25
LPAnimMeasure = 0 et LPSandbox = 0 (attendu 0). Témoins positifs : ModdingExtra 2 / 5 et LifePlay 9 / 25 (la recherche trouve des chaînes présentes). Information : LPAnimCore (plugin du jeu, DC1) et LPCoupleSim sont présents : ils appartiennent au jeu public (LPAnimCore n'est pas l'addon).
3c. SHA-256, version, PDB
Commandes : Get-FileHash -Algorithm SHA256 sur chaque fichier (PowerShell) ; lecture de Config/DefaultGame.ini l. 1-6 ; ls -la du dossier PDB ; lecture de BUILD-ID.txt.
ship ucas D6AD1068973D4E6682A724B18EB1A74D706AD0E66BB76CD018314C89E7AA2D55 (…_Shipping_U8r\Windows\LifePlay\Content\Paks\LifePlay-Windows.ucas)
ref ucas D6AD1068973D4E6682A724B18EB1A74D706AD0E66BB76CD018314C89E7AA2D55 (Releases\2026.10.2.0\Windows\LifePlay-Windows.ucas)
dev ucas D6AD1068973D4E6682A724B18EB1A74D706AD0E66BB76CD018314C89E7AA2D55 (…_Development_U8r\Windows\LifePlay\Content\Paks\LifePlay-Windows.ucas)
ship exe 06F6D29232738333660542AA8640EF97993F1BDE248E3D68B3640B528955FA9A
proj exe 06F6D29232738333660542AA8640EF97993F1BDE248E3D68B3640B528955FA9A
LifePlay-Windows.utoc: archive=4089A7862F5089E6 ref=4089A7862F5089E6 same=True
LifePlay-Windows.pak: archive=EE54838BC7988EC9 ref=EE54838BC7988EC9 same=True
pdb sha256: 5C6FB4BDDF30CEFE74AB899C27972BE431525E122245D798276D48160F8E7C65
.ucas: les trois sont identiques (SHA-256D6AD1068…AA2D55)..utocet.pakde l'archive = ceux deReleases(16 premiers hex, comparaison complète dans la commande).Config/DefaultGame.inil. 4 :ProjectVersion=2026.10.2.0(head -6 | cat -A, fin de ligne LF). Le numéro écrit dans le paquet n'est pas lu (estimé : mêmeProjectVersionà la cuisson de 20:00, fichier non modifié).Releases\: 5 fichiers (AssetRegistry.bin4 569 308 ;LifePlay-Windows.pak20 217 671 ;.ucas1 259 281 744 ;.utoc1 575 606 ;Metadata\DevelopmentAssetRegistry.bin8 615 803), tailles =U8-T4r-BUILD.md§ 3 ; l'ancienne référence est en sauvegarde (U8-T3p.md, non rouverte).D:\Game\LifePlay_Build_5.8_Shipping_U8r_PDB:BUILD-ID.txt(568 o, 20:04) etLifePlay-Win64-Shipping.pdb(225 710 080 o, 19:58).BUILD-ID.txt:exe archive … SHA-256 : 06F6D292…955FA9A= exe archivé recalculé ;PDB copie … SHA-256=5C6FB4BD…8E7C65= PDB recalculé ;RSDS GUID … BE8D0875-47EC-F03F-160C-88AA98FADA82,commit : 36d1fa4. Lecture binaire de l'exe à l'offset 148 450 880 : la signatureRSDSy est suivie des octets75 08 8D BE EC 47 3F F0 16 0C 88 AA(encodage petit-boutiste du GUID deBUILD-ID.txt) ; les 4 derniers octets (98 FA DA 82) ne sont pas lus par ma lecture décalée. GUID du PDB : non lu (R6).
3d. Contenu public (règle « jeu léger »)
Règle lue : README racine l. 61 (V1.5) « The packaged game only contains the base modules vin_Base and vin_VanillaRealistic » (l. 82, V1.4 : plus lp_Revival) ; Docs/15_Modules_Optionnels.md l. 48 et Tools/modules/next.json : "essential": ["vin_Base", "vin_VanillaRealistic"], groupe vin_Modules = les 14 autres vin_*.
Dossiers sous Windows\LifePlay\Content\Modules, archive U8r et …_OBB2 : liste identique, 2 053 fichiers chacune (commande : Get-ChildItem -Force du dossier, puis -Recurse -File par dossier) :
MorphTags 9 ; vin_Base 1396 ; vin_BDSM 21 ; vin_Bestiality 66 ; vin_Corruption 49 ; vin_Incest 150 ;
vin_Interracial 45 ; vin_Netori 37 ; vin_NonConsensual 56 ; vin_NTR 52 ; vin_OldYoung 15 ;
vin_Polyamorous 38 ; vin_Pregnancy 87 ; vin_Tentacles 8 ; vin_VanillaPorn 1 ; vin_VanillaRealistic 1 ;
vin_Watersports 1 ; 21 fichiers texte à la racine (beauty_standards_default.txt, Clothes4.txt, … uniforms.txt)
- Somme : 1 396 + 626 + 1 + 9 + 21 = 2 053. Dossiers
vin_*: 16 (ls -d) ; fichiers horsvin_Baseetvin_VanillaRealistic: 626 (find … -path '*/vin_*' -not -path '*/vin_Base/*' -not -path '*/vin_VanillaRealistic/*') = les 14 modules du groupevin_Modules(doc 15 l. 64 : 626 fichiers en V1.5). Le build 5.5 V1.5 (LifePlay_Build_5.5_Shipping_V1.5) ne contient quevin_Base,vin_VanillaRealistic,MorphTagset les fichiers texte. - Aucun mod d'assets : pas de dossier
Windows\LifePlay\Modsdans l'archive (ls: introuvable), aucun.lpmodhorsvin_*(find -iname "*.lpmod"horsModules/vin_*: vide) ; nilp_Revivalnilpr_*. - Résultat : négatif en l'état. L'archive Shipping contient 14 modules hors de la règle « jeu léger ». Même contenu qu'OBB2 : la chaîne
BuildCookRunn'applique pas la règle, c'estTools/SplitModules.ps1 -Config Tools\modules\next.jsonqui les déplace et les met en zip (publication, fiche U8-T8c). Constat de préparation pour T8c :next.jsonporte"version": "2026.10.1.5"(à aligner sur2026.10.2.0), etOBB-EVAL.md§ 7.6 note queSplitModules.ps1laisse passer NON-CONCLUANT (code 2) en avertissement.
3e. Critères 5 et 6, commandes de la fiche
git -C "D:\Game\LifePlay-master 5.8" log --oneline 9242cdb..HEAD | wc -l -> 70
git rev-list --count main..ue5.8 -> 77
git rev-list --count origin/main..ue5.8 -> 81
git log --oneline HEAD --not --remotes | wc -l -> 77
git branch -r -> c55/main ; origin/HEAD -> origin/main ; origin/main ; vinfamy/master
git rev-parse --abbrev-ref ue5.8@{u} -> fatal: no upstream configured for branch 'ue5.8'
git merge-base ue5.8 origin/main -> f953e0393fce658446f25ed530e74f88e5f34e4c (= origin/main)
git diff --name-only 9242cdb HEAD -- Content Source/LifePlay Config LifePlay.uproject Plugins | wc -l -> 20
git log --format=%s 9242cdb..HEAD | grep -c "CHG-" -> 67 (sans CHG : 3)
grep -n "4\.27\|UE_4\.27" Tools/*.ps1 Config/*.ini -> (aucune sortie)
grep -rIn "4\.27" Tools | wc -l -> 3 ; grep -rIn "4\.27" Source | wc -l -> 15 (13 fichiers)
grep -rn "UE_5\.8" Tools -> Tools/Engine.ps1:29 (exemple d'en-tête)
grep -rIn 'Game.\{1,2\}Launcher' Tools (ps1, py, json) -> Engine.ps1:14 (doc), :29 (doc), :46 ($LPEngineBase)
Interprétation (estimée) : les 15 lignes de Source et les 3 de Tools sont des commentaires d'historique ou le commentaire d'en-tête de l'analyseur de paquets 4.27 ; aucun script de compilation, de cuisson ou de réglage ne dépend de 4.27. 77 commits non présents sur un distant (OBB-EVAL.md § 7.4 en comptait 64 à son époque) : tous les travaux de migration sont locaux ; 81 contre origin/main parce que main local a 4 commits d'avance sur origin/main (77 = 81 − 4, estimé). Limite : références distantes locales, git fetch et ls-remote non lancés.
3f. Recompte du build Shipping depuis le journal (lp-validate § 2)
Commande : pwsh -NoProfile -File Tools/Build.ps1 -Lot U8-VAL -FromLog "D:\Game\LifePlay-master 5.8\Saved\Logs\portage\U8_Build_20261010-195713.log" -EtatDir "<scratchpad de la session>"
code=-1 duree=0s erreurs=0 avertissements=0 autres=0 unites=1
chaine : Using Visual Studio 14.50.35739 toolchain (C:\Program Files\Microsoft Visual Studio\18\Community\VC\Tools\MSVC\14.50.35717) and Windows 10.0.22621.0 SDK (C:\Program Files (x86)\Windows Kits\10).
code=-1 = le code de sortie n'est pas dans le journal en mode -FromLog (le livrable T2r donne 0 ; Total execution time: 61.24 seconds). Erreurs 0, avertissements 0, 1 unité (Module.LifePlay.cpp), MSVC 14.50.35717 : conformes à U8-T2r-BUILD.md. Le journal de cuisson (U8-T3r_Cook_*.log) est recompté en section 2 (0 / 0).
4. Diff lu en entier
sans objet : aucune IMPL dans le lot ; lot de builds, de mesures et de relevés, aucun fichier source modifié par les rôles amont (git diff --name-only 16b126c HEAD -- . ':!Docs' = 0 ; U8-T0r-INV.md a4 : 0 fichier hors Docs/ à T0r). Fins de ligne, .uproject, LPTestStringCompat : sans objet (aucun code ni configuration modifié, aucune compilation éditeur demandée). État git à l'ouverture de cette fiche : 21 éléments sous Docs/Migration/etat/ (4 modifiés, 17 non suivis, dont les livrables U8 de la reprise) et M Content/BPs/GI.uasset (non committé, MD5 ee266d19de9819dd8577ae5f9e0d6e17 contre b8b97c46b825a6af942baabd5bf74c56 au HEAD ; fichier daté du 2026-10-10 21:17, donc écrit après la cuisson de 20:00 et après l'empaquetage de 20:15 ; session STE en cours, STE-H3c-SPEC.md et STE-H5b-SPEC.md non suivis).
5. Verdict
PASS avec réserves (global ; chaque critère est au tableau 3.0).
| Critère | Verdict |
|---|---|
| 1 compilation | établi PASS (Shipping, Development, éditeur avec l'addon déclaré) ; « sans l'addon » en éditeur / Development non rejoué (R7) |
| 2 chargement, cuisson, données | non établi (cuisson : PASS ; chargement : PASS avec 6 erreurs connues ; identité des données sur le contenu final : non établie, R5) |
| 3 comportement en jeu, réglages vidéo | non établi (smoke et parcours : PASS ; brouillard et réglages vidéo : R2) |
| 4 mods | non établi (T8a, R13) |
| 5 plus de 4.27, un seul chemin moteur | établi PASS (R8 : uasset.py) |
| 6 CHG, commits, rien poussé | établi PASS en local (R9) |
Contrôle de paquet (CheckPackage 4 PASS, listes, SHA-256, PDB, BUILD-ID) |
établi PASS (R6 : GUID du PDB) |
| Contenu public (règle « jeu léger ») | négatif en l'état : 14 modules vin_* (626 fichiers) ; à traiter par SplitModules en T8c (R10) |
| Cohérence référence / archive | établi PASS (.ucas, .utoc, .pak identiques ; ProjectVersion 2026.10.2.0) |
Pas de FAIL établi. Ce qui empêche un PASS sec : trois critères non établis et deux faits nouveaux (R1 : GI.uasset modifié depuis la cuisson ; R10 : modules vin_* non éclatés).
6. Points à confirmer par l'utilisateur
- 1. Brouillard / Effects Low-Med (doc 21 l. 210) : accepter de publier sans comparaison 5.5 / 5.8, ou demander une autre référence 5.5 dotée du réglage (T6 annulée par l'utilisateur).
- 2. Contrôle visuel et menu Vidéo sur le Shipping U8r (critère 3), à faire à la porte T11 ou par une fiche de reprise : non planifié au registre.
- 3. Identité des données (
LPCheckStreetMap280 / 280,CompileAllBlueprints) sur le HEAD final (critère 2) : fiche à ouvrir sur la copie UE, ou accepter l'estimation (les changements STB-SMS et STE sont des gardesIsValidd'après les messages de commit, non relus en détail). - 4.
GI.uassetmodifié au 21:17 (R1) : si STE le commite avant T11, refaire T2r à T5br ; sinon le candidat reste la cuisson de 20:00 sur36d1fa4. - 5.
Tools/uasset.py(analyseur 4.27, seul le format 4.27) : le garder (outil d'analyse de l'origine) ou le retirer au titre du critère 5. - 6. Parcours « carte » (R3) et volume
No SkeletalMesh(R4) : à classer, comme demandé parU8-T5cr-VAL.md§ 6. - 7. G-OB (doc 30) et sortie de ST (D2) : la porte T11 les exige ; STE est encore actif (R1, R16).
7. Réserves
| # | Objet | Effet | Fiche ou décision qui la lève |
|---|---|---|---|
| R1 | Content/BPs/GI.uasset modifié dans l'arbre au 21:17 (non committé, session STE), après la cuisson et l'empaquetage du candidat |
si commité avant T11, le paquet U8r n'est plus l'état du jeu : CheckPackage ne le détecte pas (il compare l'exe, pas le contenu cuit) |
refaire T2r à T5br après le dernier commit STE ; décision orchestrateur / utilisateur ; re-contrôle git status --short -- . ':!Docs' à T11 |
| R2 | T6 annulée : brouillard / Effects non comparé (doc 21 l. 210) ; réglages vidéo non exercés sur le candidat | critère 3 non établi ; écart visuel possible entre 5.5 et 5.8 | décision de l'utilisateur à la porte T11 (cases 1 et 2, section 6) |
| R3 | Parcours « carte » à faire : 0 ligne MapMarkers, 0 hitch = preuve par absence ; STB-MAP non exposé en T5cr (doc 21 l. 211) |
le report des hitchs MapMarkers_C reste ouvert |
un parcours qui ouvre la carte, hors registre : à planifier ou à porter au doc 29 |
| R4 | No SkeletalMesh 7 971 dont 6 121 d'un acteur (Person_C_2147481863, d'après T5cr) |
volume 9 fois la réf 1, pas de cause établie ; famille présente dans les deux références | classement par l'orchestrateur (doc 29), aucune action dans U8 |
| R5 | Critère 2 : identité des données (villes, Blueprints) non rejouée sur le contenu final ; dernier CompileAllBlueprints vraisemblablement avant 5c55db4 |
écart de données non exclu sur 8 Blueprints changés depuis 9242cdb |
fiche à ouvrir sur la copie UE (LPCheckStreetMap + CompileAllBlueprints) |
| R6 | GUID du PDB lui-même non lu (SHA-256 du PDB, SHA-256 de l'exe et enregistrement RSDS de l'exe concordent avec BUILD-ID.txt) |
un PDB d'une autre compilation de même taille passerait inaperçu | lecture de l'en-tête MSF du PDB ou dumpbin /headers, par T8c ou une fiche d'outillage |
| R7 | Éditeur / Development « sans l'addon » non rejoué sur ce HEAD (dernier essai : DC1-DC4 en 5.5) | critère 1 : la moitié « sans addon » repose sur une preuve ancienne ; le Shipping candidat est sans addon (prouvé) | essai copie UE (Makefile.bin déplacé, lp-build § 8), à décider ; sans effet sur le paquet |
| R8 | Tools/uasset.py et uasset58.py : analyseur borné au format 4.27 |
lecture stricte du critère 5 : un outil « fondé sur 4.27 » reste | case 5, section 6 |
| R9 | 3 commits sans CHG- dans le sujet (36d1fa4, e5b7968, 08e2148) ; CHG de la reprise U8 (T0r à T7) non réservé ; rien vérifié côté serveur |
critère 6 : traçabilité à compléter ; poussée à décider | gardien du dépôt et NUMEROS.md (CHG « un pour la reprise, un pour T2r-T5cr, un pour T8 » prévus en U8-ETAT § 8) ; push à la porte T11 (D8) |
| R10 | 14 modules vin_* (626 fichiers) dans l'archive Shipping ; next.json à 2026.10.1.5 |
l'archive n'est pas publiable telle quelle ; SplitModules laisse passer NON-CONCLUANT en avertissement (OBB-EVAL.md § 7.6) |
U8-T8c (SplitModules.ps1, archive de base, 3 mods) puis contrôles PUB ; version de next.json alignée avant |
| R11 | Dossier Saved du Shipping installé : %LOCALAPPDATA%\LifePlay\Saved, commun avec les versions précédentes (doc 21 l. 225) |
un joueur qui met à jour réutilise ses sauvegardes et son GameSettings.sav de V1.x |
décision D4 = a : texte au README par U8-T8b, sauvegardes à faire avant mise à jour |
| R12 | README.md racine : l. 4 « UE 5.8 » et statut V2.0 pas encore écrits (doc 21 l. 229) |
publication incomplète | U8-T8b |
| R13 | Trois mods recuits non rejoués ; archives U7-T15 produites contre l'ancienne référence | critère 4 non établi | U8-T8a (BuildMod × 3, garde acceptée en jeu) |
| R14 | Écarts de gabarit des livrables amont : T4r (sections 3 à 6 de BUILD absentes), T5br (ordre non suivi), T5ar et T6 (gabarit VAL absent) ; ligne T4r du registre : « Releases6.10.2.0 » |
traçabilité | correction par l'auteur ou l'orchestrateur, hors VAL |
| R15 | Parcours de T5cr non identique aux références ; durées sous charge STE-D4 ; un parcours, un journal par cas | comparaisons « équivalent » restent estimées (T5cr § D3) | aucune fiche ; limite de méthode connue depuis U6 |
| R16 | G-OB (doc 30) non clos et sortie de ST non déclarée (D2) | la porte T11 les exige | décision de l'utilisateur à T11 |
Réserve du brief levée par cette fiche : T5br « Target is up to date » (exe Development de 18:40) : aucune source, configuration ni plugin du jeu plus récent que l'exe, exe compilé sur les sources finales (section 2).
8. Fichiers à commiter
Dépôt du jeu D:\Game\LifePlay-master 5.8, branche ue5.8 (aucune commande git d'écriture lancée) :
A Docs/Migration/etat/U58/U8/U8-T7-VAL.md(ce livrable, seul fichier écrit dans le projet ; fins de ligne LF).
Hors de cette fiche, non suivis ou modifiés avant elle et appartenant à d'autres rôles ou sessions : les livrables U8 de la reprise (U8-T0r-INV, U8-T2r-BUILD, U8-T3p, U8-T3r-BUILD, U8-T4r-BUILD, U8-T5ar-VAL, U8-T5br-BUILD, U8-T5cr-VAL, U8-T6-VAL, U8-INT, fiches\), U8-TACHES.md modifié, et M Content/BPs/GI.uasset (R1) qui ne doit pas partir avec le ticket U8.
Tours : 25 / 40
Constats
- Fait nouveau, important pour la porte :
GI.uasseta été réécrit à 21:17 dans l'arbre de travail pendant cette VAL (session STE, copie UE tenue par une autre session). Le candidat U8r correspond au commit36d1fa4(arbre propre à T0r, cuisson de 20:00). Rien dans les livrables U8 ne lie l'archive à un hash de contenu cuit, seulement à l'exe (BUILD-ID.txt:commit : 36d1fa4). - Cohérence des totaux : 17 744 octets d'écart avec OBB2 = somme exacte des trois fichiers qui diffèrent (exe,
global.ucas,LifePlay-Windows.ucas) ; 2 078 = 2 078 fichiers ; 2 053 fichiers deModules= 1 396 + 626 + 1 + 9 + 21, recoupés par deux commandes (liste par dossier etfind). - Pièges rencontrés :
Build.ps1 -FromLogécrit un résumé sousetat\<projet>\<lot>\par défaut (-EtatDirle redirige) ;grep -csur plusieurs fichiers filtré pargrep -v ":0"ne rend rien quand tout vaut 0, d'où un témoin positif explicite pour le critère 5 ;Get-ChildItemsans-Forcemanque les fichiers cachés (utilisé avec-Force). - Non rejoué :
LPTestStringCompat(aucune compilation éditeur dans la fiche) ; cycle de non-régression des correctifs STB / STE (retrait puis remise) ; relecture du contenu cuit des 8 Blueprints ; contrôle en jeu de quoi que ce soit (aucun lancement permis) ; interrogation du serveur git.