LifePlay-Revival/Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-IMPL.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

27 KiB
Raw Blame History

Fiche TRACE1-T4a — Niveau N3 — Modèle prévu opus | utilisé claude-opus-5-5 (déclaré par l'environnement) — Agent lp-impl — Skills sk-protocol, sk-windows-shell, lp-paths (préchargés aussi : ue-cpp-build, lp-build, lp-ue-compat, sans usage ici)

TRACE1-T4a-IMPL : Tools\Traces.ps1, inventaire des traces en lecture seule (2026-10-13)

Script écrit, critères 1 à 4 de TRACE1-T3-SPEC.md § 7 et analyse (critère 7, partie Traces) prouvés par essais à blanc ; sorties brutes et notes TRACE en ## Constats. Aucun fichier déplacé, renommé, supprimé ni envoyé à la corbeille ; Tools\Corbeille.ps1 (fiche T4b) non lu ni touché ; aucune commande Unreal ; aucune commande git qui écrit.

1. Fichiers modifiés

  • D:\Game\LifePlay-master 5.8\Tools\Traces.ps1 : créé, 474 lignes, LF, sans BOM, ASCII seul (0 octet non ASCII, 0 CR : tr -cd '\r' | wc -c, grep -c -P '[^\x00-\x7F]').
    • l. 1-97 : aide .SYNOPSIS .DESCRIPTION .PARAMETER .EXAMPLE (racines, motifs, filtre, colonnes, format d'index, codes) ; l. 98-106 : [CmdletBinding()] param(-Inventaire, -Avant, -Index, -Doublons, -Sortie, -Json) ; $ErrorActionPreference = 'Stop'.
    • l. 114 Hide-LPProfil (profil → %USERPROFILE%) ; l. 119 Write-LPAvert (sortie d'erreur) ; l. 121 Test-LPBackup.
    • l. 124 Get-LPDateProduction : 3 motifs de la SPEC dans l'ordre, sinon LastWriteTime.
    • l. 154 Get-LPRacines : racines de T1 § 1 sans celles de Q4 ; l. 183 Get-LPEntrees : parcours Get-ChildItem -LiteralPath -Recurse -File -Force, motifs et filtre de T1, exclusions de la SPEC § 3, instantanés lus dans les manifest.csv, dossiers de plantage regroupés.
    • l. 278 Get-LPCapacitesCorbeille (Win32_Volume.DeviceID {guid} ↔ HKCU:\…\BitBucket\Volume\{guid}\MaxCapacity).
    • l. 294-347 : index (Split-LPListe, Expand-LPAccolades, ConvertTo-LPMotifs, Get-LPMotifsIndex).
    • l. 349-372 : mise en ligne et écriture TSV ([IO.File]::WriteAllText, UTF-8 sans BOM, LF : seule écriture du script, l. 368, chemin rendu absolu par GetUnresolvedProviderPathFromPSPath).
    • l. 374 : garde de chargement par . (fonctions définies, rien lancé) ; l. 376-474 : corps sous try, catch → ERREUR … et code 2.
  • Fichiers d'essai sous D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\TRACE1\ (tous TRACE1-T4a-*) : TRACE1-T4a-essais.ps1 (étapes d'essai rejouables : -Etape Compare|Detail|Avant|Index|Doublons|Capacites|Manifestes|Compte|Dates|Existence), TRACE1-T4a-inventaire.txt (3 083 entrées), TRACE1-T4a-avant.txt (74), TRACE1-T4a-index.txt, TRACE1-T4a-index-vide.txt, TRACE1-T4a-doublons.txt (1 138 lignes), TRACE1-T4a-index-temoin.csv, TRACE1-T4a-index-temoin-vide.csv, et ce livrable.

2. Écarts à la SPEC

  • E1, défaut de -Avant : la SPEC se contredit. Le § 3 dit « défaut : même jour du mois précédent ». Le § 7.1 et la fiche § 4 l. 9 attendent de -Inventaire sans -Avant le compte complet de T1. Les commandes de la fiche font foi : sans -Avant, aucun filtre ; le défaut de la SPEC reste accessible par -Avant mois (essai : avant : 2026-09-13). Point à confirmer.
  • E2, colonnes : aux 5 colonnes de la SPEC (Cat, Chemin, Octets, DateProduction, SourceDate, dans cet ordre) s'ajoutent Fichiers, Index (couverte | sans-resume) et Corbeille (ok | trop-gros), puisque la SPEC ne dit pas où portent ces marques. Le TSV a une ligne d'en-tête et DateProduction s'écrit yyyy-MM-dd HH:mm:ss.
  • E3, -Doublons : la liste devient celle des doublons (Groupe, Role, MD5 + colonnes ci-dessus). Trois rôles : original (hors Backup_5.5), copie (sous Backup_5.5, avec un original dans le groupe) et copie-seule (aucun original). La ligne DOUBLONS groupes= copies= octets-copies= s'affiche avant la ligne TRACES, qui reste la dernière. -Inventaire et -Doublons s'excluent (code 2). Seules les entrées fichiers sont comparées, pas les dossiers de plantage.
  • E4, règle « ni .md ni .csv » limitée aux racines Docs\Migration\etat des copies, comme les comptes de T1 le montrent. Une première version l'appliquait à tout chemin contenant \Docs\Migration\etat\ : elle retenait 382 fichiers de LifePlay_Publication\{clean,v1,v1b}\Docs\Migration\etat\ et 1 de Backup_5.5\DC4\clone_essai1, absents de T1, d'où la correction (Constats, essai 1, premier passage). Les motifs se lisent sur le chemin absolu. T1 semble avoir lu .ini hors Crashes\ sur le chemin relatif à la racine, et laissé de côté 44 CrashReportClient.ini des plantages de 5.5\Saved et 5.8\Saved. Ici, ils sont inclus et suivent leur dossier de plantage.
  • E5, manifestes : Rel (format de Snapshot.ps1) est lu, la colonne chemin relative est aussi admise (Backup_5.5\P7\T6a\manifest.csv). Un manifeste sans l'une ni l'autre fait exclure tout son dossier (Backup_5.5\P7\T5\manifest.csv, colonnes Path,MD5,Existed à chemins absolus de l'addon : 1 avertissement). Un dossier de plantage dont un fichier est un instantané est retiré en entier.
  • E6, dates : le motif backup-(\d{4})\.(\d{2})\.(\d{2}) reprend l'heure -hh.mm.ss quand elle suit, sans changer le jour. Un motif qui ne donne pas de date valide est ignoré : on passe au motif suivant.
  • E7, index : règles de format que la SPEC ne précisait pas.
    • Un élément de fichiers qui contient \ est un chemin relatif à D:\Game (ou commençant par %USERPROFILE% ou par une lettre de lecteur).
    • Un élément sans \ est un nom du dossier de l'élément précédent.
    • * vaut tout texte sans \.
    • Le motif doit désigner le chemin entier de l'entrée : un dossier seul ne couvre pas son contenu.
    • Index par défaut absent : avertissement, toutes les entrées sont sans-resume.
    • Index donné mais absent, ou sans colonnes fichiers/resume : code 2.
  • E8, corbeille : un volume sans capacité lisible donne trop-gros (choix prudent, la SPEC est muette). NukeOnDelete n'est pas lu.
  • E9, sorties : AVERTISSEMENT, INFO (racines, fichiers lus, retenus, instantanés, manifestes, erreurs d'accès) et ERREUR vont sur la sortie d'erreur, pour que -Json reste pur. Avec -Sortie, la console ne reçoit que la ou les lignes de compte.
  • E10 : un chargement par . ne fait que définir les fonctions. C'est ce qui permet d'appeler la fonction de date du critère 2.
  • E11, lecture de Q4 : sont exclus et jamais lus %LOCALAPPDATA%\UnrealBuildTool, \CrashReportClient, \EpicGamesLauncher et \UnrealEngine\Common\Zen. Sont gardés \UnrealEngine\Common\UnrealTrace (journaux Server_*.log du serveur de traces, tournants, non cités par Q4), %LOCALAPPDATA%\UnrealHeaderTool (1 fichier), les UAT de toutes versions et %LOCALAPPDATA%\UnrealEngine\<version>\Saved.
  • E12 : les exclusions \etat\REPO\ et .py .png .jpg .json s'appliquent à tout chemin \etat\ : les deux copies, et Backup_5.5\etat, où elles n'ont rien retiré de plus.
  • E13 : en plus du témoin de 3 lignes, un second témoin, TRACE1-T4a-index-temoin-vide.csv (mêmes lignes, résumé de la ligne 3 vidé), prouve la règle « résumé vide = sans-resume » sans retirer au premier la preuve positive des accolades.
  • Racines : D:\Game est déduit de l'emplacement du script (parent du projet), pas écrit en dur. Les moteurs restent <D:\Game>\Launcher\Engine\UE_5.5 et UE_5.8, comme en T1.

3. Instantané

D:\Game\LifePlay_Backup_5.5\TRACE1\manifest.csv l. 2 : "Tools\Traces.ps1","False","0","","2026-10-13T08:20:14" (fait par la session principale avant la fiche ; Restore.ps1 -Lot TRACE1 retirerait le fichier par déplacement). Les fichiers d'essai TRACE1-T4a-* sont neufs, hors instantané.

4. Ce qui n'a pas été fait

  • Aucun envoi ni déplacement. Tools\Corbeille.ps1 (T4b), TRACES-INDEX.csv (T6) et les textes de T8 ne font pas partie de cette fiche.
  • Branche trop-gros non exercée par des données réelles : la plus grosse entrée (6 704 805 392 octets) reste sous les capacités relues (C: 50 837 Mo, D: 197 398 Mo). Seule la carte des capacités est prouvée (Constats). Volume sans clé BitBucket non essayé.
  • -Doublons -Json non essayé (-Json essayé avec -Inventaire -Avant mois).
  • Essais sous pwsh 7 seulement (pas sous Windows PowerShell 5.1).
  • Critères 5, 6 et 7 de la SPEC § 7 pour Corbeille.ps1 : fiche T4b. Pour Traces.ps1, la lecture de code (critère 6) est faite : seule écriture WriteAllText l. 368 ; -Force seulement sur Get-ChildItem (l. 161, 203, lecture des fichiers cachés) ; aucun Remove-Item, rm, del, Delete(, Move-Item, Rename-Item, Copy-Item, Set-Content, Out-File, New-Item (Grep, Constats).

5. Points à confirmer en VAL

  • Critère 1 et tolérance ± 2 % : 3 304 fichiers contre 3 228 attendus (T1 après exclusions), soit + 2,35 % brut. L'écart est réconcilié fichier par fichier, sans reste : + 44 .ini de plantage (E4), + 51 fichiers créés depuis T1, − 19 disparus. Les entrées sont 3 083, parce que 297 fichiers sont regroupés en 76 dossiers de plantage. Reste à dire si la tolérance porte sur les fichiers réconciliés ou sur les entrées.
  • E1 : sans -Avant, aucun filtre ; défaut de la SPEC par -Avant mois.
  • E4 : copies d'etat de LifePlay_Publication\{clean,v1,v1b} (382 fichiers .txt) hors règle, comme en T1.
  • E11 : UnrealEngine\Common\UnrealTrace (13 journaux tournants) et UnrealHeaderTool (1) gardés dans la règle.
  • E5 : dossier Backup_5.5\P7\T5 exclu en entier, faute de colonne Rel ou chemin.
  • E8 : volume sans capacité lisible = trop-gros.
  • Doublons (Q8) : 138 copies (7 855 386 094 octets), pas seulement sous Dbg-*. On en trouve aussi sous Backup_5.5\DC2-VAL (37), Backup_5.5\etat (35, sauvegarde d'etat), U7 (18), ARCH427 (11)… La liste chiffrée de T7 doit le montrer à l'utilisateur.
  • Doublons : 395 groupes sans membre sous Backup_5.5 (par exemple copies 5.5 / 5.8 d'etat) sortent en rôle original seul ; 56 copie-seule sans original.
  • Dates : LifePlay-backup-2026.09.28-14.53.49.log (ARCH427) a une LastWriteTime de 16:53:49. L'heure du nom semble UTC (décalage de 2 h) : près de minuit, le jour lu peut différer d'un jour. La règle prend le nom tel quel.
  • Critère 7 : LF sans BOM, comme 18 des 21 Tools\*.ps1 suivis (3 en CRLF : BuildDebug, CollectDebugArtifacts, SummarizeDebugCsv).

6. Fichiers à commiter

Dépôt du jeu, D:\Game\LifePlay-master 5.8, branche ue5.8 (HEAD lu en fin de fiche : f32df0d ; la fiche citait 9eaa6cc) :

  • A Tools/Traces.ps1
  • A Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-IMPL.md (livrable)
  • A Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-index-temoin.csv (suivi par .gitignore:78, à commiter ou non : décision de l'orchestrateur)
  • A Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-index-temoin-vide.csv (idem)

Non suivis, ignorés par .gitignore:75 (contrôle git check-ignore -v) : TRACE1-T4a-essais.ps1 et les 5 TRACE1-T4a-*.txt.

Tours : 31 / 60

Constats

Sorties brutes des essais. Le nom du compte n'y figure pas : les chemins du profil sont écrits %USERPROFILE% par le script, et les GUID de volume sont remplacés par {guid}.

Analyse (fiche § 4, SPEC § 7.7)

Trace : console — Fiche TRACE1-T4a — 2026-10-13 08:30
Commande     : pwsh -NoProfile -Command '[Parser]::ParseFile("D:\Game\LifePlay-master 5.8\Tools\Traces.ps1",[ref]$t,[ref]$e)' ;
               pwsh -NoProfile -Command "Get-Help 'D:\Game\LifePlay-master 5.8\Tools\Traces.ps1'" ;
               (cwd copie 5.8) pwsh -NoProfile -Command "& { . .\Tools\Traces.ps1 -? }"
Environnement: copie 5.8, ue5.8, machine non calme (sessions CAM et T4b actives)
Attendu      : 0 erreur d'analyse, aide affichée, code 0
Obtenu       : ci-dessous
Lecture      : aucun
BOM?  3c 23 0a
CR: 0
non-ASCII: 0
erreurs d analyse : 0
=== Get-Help
NOM
    D:\Game\LifePlay-master 5.8\Tools\Traces.ps1
SYNOPSIS
    Inventaire des traces et journaux des sessions (lecture seule) : date de production, resume dans l'index,
    doublons par MD5, garde-fou de capacite de la corbeille.
SYNTAX
    D:\Game\LifePlay-master 5.8\Tools\Traces.ps1 [-Inventaire] [[-Avant] <String>] [[-Index] <String>] [-Doublons]
    [[-Sortie] <String>] [-Json] [<CommonParameters>]
code=0
--- & { . .\Tools\Traces.ps1 -? }
NOM
    D:\Game\LifePlay-master 5.8\Tools\Traces.ps1
SYNOPSIS
    Inventaire des traces et journaux des sessions (lecture seule) : ...
code=0

Critère 1 : inventaire complet

Trace : Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-inventaire.txt — Fiche TRACE1-T4a — 2026-10-13 08:35
Commande     : pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\Traces.ps1" -Inventaire -Sortie "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-inventaire.txt"
Environnement: copie 5.8, ue5.8 ; D: ; machine non calme ; durée 97 s (premier passage)
Attendu      : ≈ 3 574 − exclusions Q4, etat\REPO, preuves, instantanés (± 2 %) ; code 1 (index absent)
Obtenu       : ci-dessous
Lecture      : entrées ≠ fichiers (dossiers de plantage regroupés) ; T1 = LastWriteTime et chemin relatif

Premier passage (règle etat trop large, E4) : INFO racines=63 lus=518599 retenus=4702 instantanes=1032 manifestes=199 erreurs-acces=0, TRACES entrees=3449 …, avec 382 fichiers de LifePlay_Publication en plus de T1. Le script a été corrigé, puis l'essai rejoué :

AVERTISSEMENT index absent : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\TRACES\TRACES-INDEX.csv ; toutes les entrees sont sans-resume
AVERTISSEMENT manifestes sans colonne Rel ni chemin lisible : 1 (dossier du manifeste exclu en entier)
INFO racines=63 lus=518627 retenus=3347 instantanes=43 manifestes=200 erreurs-acces=0
TRACES entrees=3083 octets=37550514853 couvertes=0 sans-resume=3083 trop-gros=0
code=1

Contre-comptage (pwsh -NoProfile -File …\TRACE1-T4a-essais.ps1 -Etape Compare, puis -Etape Detail) :

T4a : entrees=3083 dont dossiers-plantage=76 ; fichiers (dossiers developpes)=3304 ; somme colonne Fichiers=3304
T1 : fichiers=3574
  T1 motif [] : 3271
  T1 motif [etat-preuve] : 102
  T1 motif [etat-REPO] : 132
  T1 motif [Q4-profil] : 69
Communs=3209 ; T1 seul=365 ; T4a seul=95
--- par categorie : T1 brut, T1 apres exclusions sans instantanes, T4a fichiers, T4a entrees
copie        T1= 2611 T1-excl= 2377 T4a-fichiers= 2453 T4a-entrees= 2295
build        T1=  218 T1-excl=  218 T4a-fichiers=  218 T4a-entrees=  218
backup       T1=  551 T1-excl=  551 T4a-fichiers=  508 T4a-entrees=  455
publication  T1=   23 T1-excl=   23 T4a-fichiers=   23 T4a-entrees=   23
moteur       T1=    3 T1-excl=    3 T4a-fichiers=    3 T4a-entrees=    3
profil       T1=  168 T1-excl=   99 T4a-fichiers=   99 T4a-entrees=   89
T1-fichiers.txt LastWriteTime : 2026-10-13 08:04:44
--- T4a seul (nature : ini de plantage | date lue dans le nom | autre)
   13  autre | %USERPROFILE%\AppData\Local\UnrealEngine\Common
   27  autre | D:\Game\LifePlay-master 5.8\Docs
    2  date-nom 2026-10-13 | D:\Game\LifePlay-master 5.8\Docs
    9  date-nom 2026-10-13 | D:\Game\LifePlay-master 5.8\Saved
   35  ini-plantage | D:\Game\LifePlay-master 5.5\Saved
    9  ini-plantage | D:\Game\LifePlay-master 5.8\Saved
--- T1 seul (motif | existe | date) : regroupé
   69 Q4 (CrashReportClient 23, EpicGamesLauncher 9, UnrealEngine\Common\Zen 37)
  132 REPO (5.8 : 126, 5.5 : 6) ; 102 preuve (5.8 : 63, 5.5 : 39)
   43 autre, existe=True : Backup_5.5\etat 39, ETAT2-R8 2, U2 2 (instantanés : Backup_5.5\etat\manifest.csv présent)
   19 autre, existe=False : UnrealTrace\Server_*.log 13, 5.8\Saved\Logs 6 (AutoSDKInfo-backup-2026.10.13-*)

Réconciliation : 3 574 − 69 − 132 − 102 − 43 = 3 228 fichiers attendus. On retire 19 disparus et on ajoute 44 .ini de plantage (E4) et 51 fichiers créés après 08:04:44 (13 + 29 + 9) : 3 228 − 19 + 44 + 51 = 3 304, le compte obtenu ; 0 fichier inexpliqué. Le regroupement de 297 fichiers en 76 dossiers de plantage donne 3 304 − 297 + 76 = 3 083 entrées.

Nom du compte (-Etape Compte : Select-String -SimpleMatch $env:USERNAME, valeur jamais écrite) :

TRACE1-T4a-avant.txt : 0
TRACE1-T4a-doublons.txt : 0
TRACE1-T4a-essais.ps1 : 0
TRACE1-T4a-index-temoin-vide.csv : 0
TRACE1-T4a-index-temoin.csv : 0
TRACE1-T4a-index-vide.txt : 0
TRACE1-T4a-index.txt : 0
TRACE1-T4a-inventaire.txt : 0
code=0

Essai -Avant 2026-09-13

Trace : Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-avant.txt — Fiche TRACE1-T4a — 2026-10-13 08:37
Commande     : pwsh -NoProfile -File "…\Tools\Traces.ps1" -Inventaire -Avant 2026-09-13 -Sortie "…\TRACE1-T4a-avant.txt"
Environnement: idem
Attendu      : T1 = 122 fichiers dont 11 UBT (Q4) → 111 fichiers du scan, ≈ 58,1 Mo ; moins en entrées (plantages)
Obtenu       : ci-dessous
Lecture      : aucun
TRACES entrees=74 octets=60899824 couvertes=0 sans-resume=74 trop-gros=0
code=1
--- -Etape Avant
T4a -Avant 2026-09-13 : entrees=74 fichiers=114 octets=60899824 ; T1 Date < 2026-09-13 : fichiers=111 octets=60899344
--- T4a seul (nature : ini de plantage | date lue dans le nom | autre)
    3  ini-plantage | D:\Game\LifePlay-master 5.5\Saved
--- T1 seul (motif d'exclusion de la SPEC | existe | date dans le nom selon Traces.ps1)

114 fichiers = 111 de T1 + 3 .ini (E4), avec 480 octets d'écart ; aucun fichier de T1 manquant. 16 dossiers de plantage regroupent 56 fichiers (7 × 4 ARCH427, 3 × 4 copie 5.5, 4 × 3 %USERPROFILE%\AppData\Local\LifePlay, 2 × 2 Lightmass), d'où 114 − 56 + 16 = 74 entrées. Les 11 journaux UBT de T1 sont hors règle (Q4). -Avant mois -Json (ConvertFrom-Json) : code=1, avant : 2026-09-13, entrees : 74, compte identique.

Critère 2 : date de production

Trace : console — Fiche TRACE1-T4a — 2026-10-13 08:42
Commande     : pwsh -NoProfile -File "…\TRACE1-T4a-essais.ps1" -Etape Dates   (charge Traces.ps1 par « . », appelle Get-LPDateProduction)
Environnement: idem
Attendu      : 2026-10-08 17:00:00 nom ; 2026-09-30 21:23:52 nom ; 2026-09-30 nom ; utrace et sans date = écriture ; dossier = max LastWriteTime
Obtenu       : ci-dessous
Lecture      : la date d'écriture passée aux noms est fictive (2026-10-01 12:34:56) pour voir si elle est prise ou non
U5_Build_20261008-170000.log               -> 2026-10-08 17:00:00 (nom)   [Ecriture passee : 2026-10-01 12:34:56]
LifePlay-backup-2026.09.30-21.23.52.log    -> 2026-09-30 21:23:52 (nom)   [Ecriture passee : 2026-10-01 12:34:56]
L7i_partie1_20260930.log                   -> 2026-09-30 00:00:00 (nom)   [Ecriture passee : 2026-10-01 12:34:56]
STE-J6.utrace                              -> 2026-10-01 12:34:56 (ecriture)   [Ecriture passee : 2026-10-01 12:34:56]
sans_date.log                              -> 2026-10-01 12:34:56 (ecriture)   [Ecriture passee : 2026-10-01 12:34:56]
--- fichiers et dossier reels (ligne de l'inventaire, puis recalcul independant)
D:\Game\LifePlay_Build_5.8_STE-J6_Development\Windows\LifePlay\Saved\Profiling\STE-J6.utrace
   inventaire : 2026-10-13 07:44:17 (ecriture) Fichiers=1 ; LastWriteTime max relu : 2026-10-13 07:44:17
D:\Game\LifePlay_Backup_5.5\etat\U58\U7\T4\Crashes\UECC-Windows-1533E7EE4C5C4EFCAB4FCA9A7CD6CF0C_0000
   inventaire : 2026-10-08 23:35:54 (ecriture) Fichiers=4 ; LastWriteTime max relu : 2026-10-08 23:35:54
D:\Game\LifePlay-master 5.8\Saved\Logs\portage\LISIB_Build_20261010-173435.log
   inventaire : 2026-10-10 17:34:35 (nom) Fichiers=1 ; LastWriteTime max relu : 2026-10-10 17:35:13
D:\Game\LifePlay_Backup_5.5\ARCH427\LifePlay_Build_427_Dev\WindowsNoEditor\LifePlay\Saved\Logs\LifePlay-backup-2026.09.28-14.53.49.log
   inventaire : 2026-09-28 14:53:49 (nom) Fichiers=1 ; LastWriteTime max relu : 2026-09-28 16:53:49
D:\Game\LifePlay-master 5.5\Saved\Logs\portage\L7i_partie1_20260930.log
   inventaire : 2026-09-30 00:00:00 (nom) Fichiers=1 ; LastWriteTime max relu : 2026-09-30 23:25:26
code=0

Critère 3 : correspondance avec un index

Trace : Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-index.txt, TRACE1-T4a-index-vide.txt — Fiche TRACE1-T4a — 2026-10-13 08:50
Commande     : pwsh -NoProfile -File "…\Tools\Traces.ps1" -Inventaire -Index "…\TRACE1-T4a-index-temoin.csv" -Sortie "…\TRACE1-T4a-index.txt"
               idem avec TRACE1-T4a-index-temoin-vide.csv → TRACE1-T4a-index-vide.txt ; idem avec un index absent ;
               pwsh -NoProfile -File "…\TRACE1-T4a-essais.ps1" -Etape Index (attendu calculé sans les motifs du script)
Environnement: idem
Attendu      : L1 nom exact 1, L2 motif * (L7i_*, V1rc_*) n, L3 accolades 2 ; témoin vide : L3 sans-resume ; index absent : code 2
Obtenu       : ci-dessous (les 31 lignes « couverte » : TRACE1-T4a-index.txt)
Lecture      : entrées totales 3 084 / 3 087 : traces créées entre deux passages par les autres sessions

Témoin (TRACE1-T4a-index-temoin.csv, colonne fichiers des 3 lignes) : LifePlay_Build_5.8_STE-J6_Development\Windows\LifePlay\Saved\Profiling\STE-J6.utrace ; LifePlay-master 5.5\Saved\Logs\portage\L7i_*, V1rc_* ; LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\{SessionA.utrace, SessionA_cpu.utrace}.

=== essai 3 : -Index temoin
TRACES entrees=3084 octets=37550496264 couvertes=31 sans-resume=3053 trop-gros=0
code=1
=== essai 3b : -Index temoin-vide
TRACES entrees=3087 octets=37551181380 couvertes=29 sans-resume=3058 trop-gros=0
code=1
=== essai 3c : -Index absent explicite
ERREUR index introuvable : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-absent.csv
code=2
=== Index (attendu independant)
attendu : L1 nom exact=1 ; L2 motif * (L7i_, V1rc_)=28 ; L3 accolades=2 ; total=31
TRACE1-T4a-index.txt : entrees=3084 couvertes=31 sans-resume=3053
   couverte D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA_cpu.utrace
   couverte D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA.utrace
   couverte D:\Game\LifePlay_Build_5.8_STE-J6_Development\Windows\LifePlay\Saved\Profiling\STE-J6.utrace
   couverte D:\Game\LifePlay-master 5.5\Saved\Logs\portage\L7i_action.txt
   … (26 autres L7i_*, dont L7i_partie1_20260930.log)
   couverte D:\Game\LifePlay-master 5.5\Saved\Logs\portage\V1rc_partie_20260930_suite.log
   couverte D:\Game\LifePlay-master 5.5\Saved\Logs\portage\V1rc_partie_20260930.log
TRACE1-T4a-index-vide.txt : entrees=3087 couvertes=29 sans-resume=3058
   couverte D:\Game\LifePlay_Build_5.8_STE-J6_Development\Windows\LifePlay\Saved\Profiling\STE-J6.utrace
   … (les 28 mêmes L7i_* / V1rc_*)
   sans-resume (attendu par le temoin) D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA_cpu.utrace
   sans-resume (attendu par le temoin) D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA.utrace
code=0

Critère 4 : doublons

Trace : Docs\Migration\etat\AG\TRACE1\TRACE1-T4a-doublons.txt — Fiche TRACE1-T4a — 2026-10-13 08:39 → 08:42
Commande     : pwsh -NoProfile -File "…\Tools\Traces.ps1" -Doublons -Sortie "…\TRACE1-T4a-doublons.txt"  (arrière-plan, 2 min 45 s)
               contre-vérification : certutil -hashfile <fichier> MD5 sur les deux SessionA.utrace
Environnement: idem ; ≈ 7,9 Go lus pour les MD5
Attendu      : groupe SessionA.utrace, original LifePlay_Build_5.5_DebugGame, copie Backup_5.5\Dbg-I4, MD5 égaux
Obtenu       : ci-dessous
Lecture      : aucun
AVERTISSEMENT index absent : … ; toutes les entrees sont sans-resume
AVERTISSEMENT manifestes sans colonne Rel ni chemin lisible : 1 (dossier du manifeste exclu en entier)
INFO racines=63 lus=518630 retenus=3348 instantanes=43 manifestes=200 erreurs-acces=0
DOUBLONS groupes=527 copies=138 octets-copies=7855386094
TRACES entrees=3084 octets=37550487779 couvertes=0 sans-resume=3084 trop-gros=0
code=1
--- TRACE1-T4a-doublons.txt l. 1010-1011
467	original	44B6203349721CD88A804C190E573FD3	build	D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA.utrace	6704805392	2026-10-04 12:52:21	ecriture	1	sans-resume	ok
467	copie	44B6203349721CD88A804C190E573FD3	backup	D:\Game\LifePlay_Backup_5.5\Dbg-I4\SessionA\Profiling\SessionA.utrace	6704805392	2026-10-04 12:52:21	ecriture	1	sans-resume	ok
--- certutil
Hachage MD5 de D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA.utrace :
44b6203349721cd88a804c190e573fd3
Hachage MD5 de D:\Game\LifePlay_Backup_5.5\Dbg-I4\SessionA\Profiling\SessionA.utrace :
44b6203349721cd88a804c190e573fd3
--- -Etape Doublons
lignes=1138 groupes=527
  copie          138 lignes     7855386094 octets
  copie-seule     56 lignes      109036406 octets
  original       944 lignes     7903224967 octets
  groupes a 0 octet : 0
  groupes dont tous les membres sont hors Backup_5.5 : 395
  copies par dossier de Backup_5.5 : DC2-VAL 37 ; etat 35 ; U7 18 ; ARCH427 11 ; Dbg-I5 9 (191 396 060) ;
  Dbg-G6p 5 (538 929 831) ; Dbg-I2 4 ; Dbg-I6 4 ; Dbg-I4 3 (6 970 208 729) ; U4-T6 3 ; L2 2 ; SB2-REF 2 ; U4 2 ; U4-REF55 2 ; DC3-VAL 1

Les autres doublons de T1 § 2.4 sont aussi retrouvés : SessionA_cpu.utrace (groupe 466), G6Dev.utrace (164) et ChaosVD-20261004_130550.utrace (131).

Garde-fou corbeille, codes d'erreur, existence

--- -Etape Capacites (Get-LPCapacitesCorbeille chargé par « . », puis registre lu directement)
C: 53306458112 octets = 50837 Mo
D: 206986805248 octets = 197398 Mo
E: 14648606720 octets = 13970 Mo
F: 202183278592 octets = 192817 Mo
G: 202145529856 octets = 192781 Mo
--- lecture directe du registre (BitBucket\Volume) : MaxCapacity = 192817, 197398, 192781, 50837, 50837, 13970
=== -Avant invalide : pwsh -NoProfile -File …\Traces.ps1 -Avant 13/09/2026
ERREUR -Avant attend AAAA-MM-JJ ou mois : 13/09/2026
code=2
=== -Inventaire -Doublons
ERREUR -Inventaire et -Doublons s'excluent
code=2
=== -Etape Existence (Test-Path sur 5 chemins de l'inventaire, après tous les essais)
True | D:\Game\LifePlay_Backup_5.5\Dbg-I4\SessionA\Profiling\SessionA.utrace
True | D:\Game\LifePlay_Build_5.8_STE-J6_Development\Windows\LifePlay\Saved\Profiling\STE-J6.utrace
True | D:\Game\LifePlay_Backup_5.5\etat\U58\U7\T4\Crashes\UECC-Windows-1533E7EE4C5C4EFCAB4FCA9A7CD6CF0C_0000
True | D:\Game\LifePlay-master 5.8\Saved\Logs\portage\LISIB_Build_20261010-173435.log
True | %USERPROFILE%\AppData\Local\LifePlay\Saved\Crashes\UE4CC-Windows-2CBC33664ECAB3B589BD2F84BE82F5E7_0000
code=0
--- git status --porcelain --untracked-files=all -- Tools Docs/Migration/etat/AG/TRACE1 (extraits de cette fiche)
?? Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-index-temoin-vide.csv
?? Docs/Migration/etat/AG/TRACE1/TRACE1-T4a-index-temoin.csv
?? Tools/Corbeille.ps1      (fiche T4b, non touché)
?? Tools/Traces.ps1

Observations

  • Le motif \Crashes\ a deux formes. Crashes\<UECC-…> de l'éditeur ou du jeu donne 4 fichiers. Swarm\…\UnrealLightmass\Saved\Crashes\_0000 donne 2 fichiers. Les deux sont regroupés en une entrée.
  • Backup_5.5\etat contient deux choses : l'instantané du lot etat (manifest.csv, Rel = Docs\Migration\etat\…, exclu) et la sauvegarde brute d'etat (Backup_5.5\etat\U58\…, dans la règle, Q6), dont 35 fichiers sont des copies MD5 de l'original (Q8).
  • Durées : inventaire ≈ 97 s pour 518 600 fichiers lus sur 63 racines ; -Doublons, 2 min 45 s.