25 KiB
Fiche TRACE1-T4cv — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 (déclaré par l'environnement) — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate
TRACE1-T4cv-VAL : correction T4c (TracesRacines.ps1, Traces.ps1, Corbeille.ps1) contre R1, R2, E11 et les critères 1 à 7 de la SPEC § 7 (2026-10-13)
Copie D:\Game\LifePlay-master 5.8, branche ue5.8, HEAD f32df0d (relevé 09:34). Les trois scripts sont non suivis (??).
MD5 relus au départ (09:34) et à la fin (09:46), identiques entre eux et à ceux de TRACE1-T4c-IMPL.md § 1 :
Traces.ps1 CDB3D82F49BA7BE08AF445B4732FB96D (22 446 o, mtime 09:17:12), Corbeille.ps1 61EF5E9C22C0A666FBCACB8B6100B9CD
(20 644 o, 09:17:57), TracesRacines.ps1 191408D58D2D2E103E019E633C9078B2 (9 674 o, 09:16:28). Leurs dates sont antérieures
au début de cette VAL (09:34) : rien n'a été modifié ici. Corbeille.ps1 n'a jamais été lancé avec -Envoyer (le script
d'essai Invoke-Script refuse cet argument en code).
Corbeille de Windows (Shell.Application.Namespace(10).Items().Count) : 2521 avant, 2521 après, relevée au début et à la
fin de chaque étape (tous les relevés à 2521, dernier à 09:46:49) et autour de chacun des 22 cas d'une ligne.
Fichiers existants : aucun n'a changé (empreintes MD5 avant et après de chaque chemin d'essai, § 3 ; 70 fichiers non
TRACE1-T4cv-* du dossier du lot : 70 au départ, 70 à la fin, 0 différence).
1. Fiches amont relues
| Fichier | Relu | Remarque |
|---|---|---|
fiches\TRACE1-T4cv.md |
oui | fiche de cette VAL |
TRACE1-T4c-IMPL.md |
oui, en entier | § 1 à 6 et Constats ; chiffres recomptés en § 3 |
TRACE1-T4v-VAL.md |
oui, en entier | R1, R2, décision E11, critères 1 à 7 et À verser |
TRACE1-T3-SPEC.md |
oui, en entier | § 3, § 4, § 7 (critères 1 à 7) |
Tools\TracesRacines.ps1 (174 l.), Tools\Corbeille.ps1 (401 l.), Tools\Traces.ps1 (428 l.) |
lus en entier | § 4 |
TRACE1-T4b-essai.ps1, TRACE1-T4b-essai.txt, TRACE1-T4c-essais.ps1 (60 premières lignes) |
lus | rejeu de T4b et fonctions d'essai |
D:\Game\LifePlay_Backup_5.5\TRACE1-T4c\Tools\{Traces,Corbeille}.ps1 |
comparés | versions d'avant T4c (MD5 de Traces.ps1 c4ce7fff…9545, égal au départ de l'IMPL) |
Non relus : TRACE1-T4a-IMPL.md, TRACE1-T4b-IMPL.md, TRACE1-T1-INV.md (la fiche cite T4c, T4v, T3).
2. Points à confirmer des IMPL (TRACE1-T4c-IMPL.md § 5)
| Point | Résultat | Preuve |
|---|---|---|
R1 : 4 cas (CrashReportClient, UnrealBuildTool, EpicGamesLauncher\Saved\Logs, Zen) → REFUS hors-racines, code 2 |
PASS | § 3 : 4 fichiers existants repris à neuf (Compat.ini, Log_GPF.json, cef3-backup-2026.10.12-16.36.15.log, Data\root_manifest), les 4 REFUS hors-racines, code 2 |
E11 : UnrealTrace et UnrealHeaderTool → REFUS hors-racines, code 2 |
PASS | Server_1142.log (fichier existant, ≠ celui de l'IMPL Server_1148.log, tournant) et UnrealHeaderTool\Saved\Config\CrashReportClient\…\CrashReportClient.ini : REFUS hors-racines, code 2 |
R2 : 5 cas P7\T5 / P7\T6a → REFUS manifest, code 2 |
PASS | 6 cas (les 5 plus un fichier désigné par la colonne chemin de P7\T6a\manifest.csv) : tous REFUS manifest, code 2 |
Témoin UnrealEngine\4.27\Saved\Logs\… admis A-BLANC, code 0 |
PASS | UE4-backup-2026.09.07-10.16.02.log, 125 655 o : A-BLANC, code 0 |
TRACE1-T4b-essai.ps1 rejoué : 41 lignes identiques, ETAT IDENTIQUE=True |
PASS | 41 lignes de TRACE1-T4b-essai.txt (de --- cas1-absent à --- etat apres) contre 41 lignes nouvelles : 0 différence (Compare-Object -CaseSensitive) ; ETAT IDENTIQUE=True ; corbeille 2521 / 2521 |
Chaîne -Avant 2026-09-13 puis Corbeille.ps1 -Liste : 73 A-BLANC, 0 REFUS, code 0 ; seule différence avec T4v (74) : UnrealHeaderTool.log |
PASS | 73 / 0 / code 0, octets=60728133 ; différence avec TRACE1-T4v-avant.txt : exactement %USERPROFILE%\AppData\Local\UnrealHeaderTool\Saved\Logs\UnrealHeaderTool.log ; différence avec TRACE1-T4c-avant.txt : 0 |
| Différence d'inventaire T4v → T4c : 14 attendues, le reste d'autres sessions, 0 « autre » | PASS (chiffres recomptés, écarts de dates) | § 3.2 critère 1 : T4v seul 35 = 14 attendues + 21 disparues + 0 autre ; aucune entrée nouvelle sous les 6 chemins |
E1 : protéger le dossier P7\T5 en entier convient |
comportement PASS ; acceptation reportée (orchestrateur, § 6) | P7\T5\agents\lp-cart.md et P7\T5\skills\sk-orchestrate\SKILL.md refusés manifest ; Get-LPTraceInstantanes : Entiers contient P7\T5, pas P7\T6a |
E2 : règle chemin-introuvable |
comportement PASS ; acceptation reportée | manifeste de synthèse chemin,md5 avec valeur inexistante : motif chemin-introuvable, dossier protégé en entier ; P7\T6a reste décidable (Entiers ne le contient pas) |
E3 : exclusion des etat\REPO des copies |
PASS | D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REPO\NUMEROS.md : REFUS hors-racines (et suivi-git), code 2 ; 0 entrée etat\REPO dans l'inventaire |
Branche dossier Corbeille.ps1:290 |
PASS | positif : 2 dossiers Crashes\UECC-… de l'inventaire admis, code 0 ; négatif : dossier …\Backup_5.5\etat\Docs\Migration\etat\U58\U7\T4\Crashes\UECC-…_0000, ni décrit lui-même, ni sous un dossier protégé en entier, Test-LPTraceInstantane faux, 4 chemins décrits dessous : REFUS manifest (ligne 290 seule), code 2 |
Select-String : aucune liste de racines dans Traces.ps1 ni Corbeille.ps1 |
PASS | § 3.1 a : 9 correspondances jugées une à une, aucune ne définit une racine |
Constat : LifePlay-Sandbox-5.8\Tools\claude\agents\lp-cart.md non suivi, maintenant refusé manifest |
PASS (constat confirmé) | git -C D:\Game\LifePlay-Sandbox-5.8 status --short -- Tools/claude/agents/lp-cart.md → ?? ; ls-files vide ; Corbeille.ps1 : REFUS manifest, code 2 |
E11 du § 2 de l'IMPL : %TEMP%\v.txt laissé en place |
constat confirmé, reporté (utilisateur) | fichier présent, 7 197 o, 09:26 ; non touché par cette VAL |
3. Critères rejoués
Tous les essais passent par TRACE1-T4cv-essais.ps1 -Etape <étape>, TRACE1-T4cv-essais2.ps1, TRACE1-T4cv-essais3.ps1 -Etape <étape>
(sorties TRACE1-T4cv-etape-*.txt), lancés par pwsh -NoProfile -File. Aucun -Envoyer, aucun envoi, aucun déplacement.
3.1 Contrôles de la fiche § 4
| # | Contrôle | Commande | Résultat recompté | Verdict |
|---|---|---|---|---|
| a | Source unique des racines | Grep des noms de racines (LifePlay-master, LifePlay_Build_, LifePlay_Backup_5.5, LOCALAPPDATA, APPDATA, Launcher\Engine, UnrealHeaderTool, CrashReportClient, UnrealBuildTool, EpicGamesLauncher, Common\Zen, UnrealTrace, LifePlay-Sandbox, U58-essai, LifePlay_Publication) dans Traces.ps1 et Corbeille.ps1 ; Select-String -SimpleMatch de 18 noms (étape Code) |
Traces.ps1 : 7 lignes (l. 16 texte d'aide et l. 151 motif de fichiers \CrashReportClient\ du filtre de T1 ; l. 51, 71, 72, 189 : texte et commentaire sur LifePlay_Backup_5.5 ; l. 19 filtre \etat\REPO\ de T1). Corbeille.ps1 : 2 lignes, l. 89-90, dépôts git des modules (--git-dir). Aucune de ces 9 lignes ne définit une racine. Traces.ps1:165 et Corbeille.ps1:174 appellent le même Get-LPTraceRacines ; exclusions Traces.ps1:160 / Corbeille.ps1:175 ; instantanés Traces.ps1:190 / Corbeille.ps1:184 |
PASS |
| b | R1 et E11, 6 chemins à blanc | Corbeille.ps1 -Liste <ligne> pour un fichier existant de chacun des 6 chemins |
6 × REFUS hors-racines, CORBEILLE envoyes=0 octets=0 refuses=1 echecs=0, code 2 ; empreinte MD5 avant = après ; corbeille 2521 / 2521 ; liste MD5 avant = après. Traces.ps1 -Inventaire : 0 entrée sous chacun des 6 chemins (préfixe %USERPROFILE%\AppData\Local\… : CrashReportClient 0, UnrealBuildTool 0, EpicGamesLauncher\Saved\Logs 0, Common\Zen 0, Common\UnrealTrace 0, UnrealHeaderTool 0). Contre-épreuve : Grep insensible à la casse du motif dans l'inventaire : 1 ligne, …\Docs\Migration\etat\AG\TRACE1\TRACE1-T4c-cas-e11-unrealheadertool.txt (nom d'un fichier d'essai de T4c, pas un chemin du profil) |
PASS — R1 et E11 levés |
| c | R2 à blanc | 6 fichiers existants (P7\T5\agents\lp-cart.md, P7\T5\skills\sk-orchestrate\SKILL.md, original LifePlay-Sandbox-5.8\Tools\claude\agents\lp-cart.md, P7\T6a\addon58\lp-doc\gabarits.md, P7\T6a\addon55\lp-doc\gabarits.md, P7\T6a\addon58\sk-protocol\SKILL.md désigné par la colonne chemin) |
6 × REFUS manifest, code 2, empreintes et corbeille inchangées. Inventaire : 0 entrée sous P7\T5 et P7\T6a. Les manifestes P7\T5, P7\T6a et TRACE1-T4c ont la même MD5 au départ et à la fin |
PASS — R2 levé |
| d | etat\REPO |
un fichier existant de Docs\Migration\etat\REPO (voir § 2) |
REFUS hors-racines, code 2 ; 0 entrée de l'inventaire |
PASS |
| e | Branche dossier, UECC-… de l'inventaire |
2 dossiers (60 présents) | A-BLANC 1 848 688 et 1 417 139 o, code 0 ; empreintes de dossier (4 fichiers) inchangées |
PASS |
| f | Motifs de manifeste | lecture de TracesRacines.ps1:137-155 et exécution sur 9 manifestes de synthèse TRACE1-T4cv-m-*.csv passés à Get-LPTraceInstantanes -Manifestes (en mémoire, rien dans Backup_5.5) |
illisible (en-tête Rel,Rel), vide (0 octet et en-tête seul), sans-colonne, chemin-invalide (caractère NUL), chemin-introuvable, chemin-absolu : motif obtenu = motif attendu, dossier protégé en entier (fichier non décrit du dossier protégé = vrai) ; 2 manifestes décidables (Rel, chemin) : aucun motif, fichier non décrit protégé = faux ; le fichier absolu de la colonne Path est protégé. Manifestes réels : 202, 8 535 chemins décrits, 1 non décidable (chemin-absolu, P7\T5), 0 illisible ; recompte par Directory.EnumerateFiles : 202, en-têtes 200 × "Rel","Existed","Size","MD5","Date", 1 × chemin,md5, 1 × Path,MD5,Existed |
PASS (exécuté ; les motifs non exercés par T4c le sont maintenant) |
| g | Non-régression T4b | TRACE1-T4b-essai.ps1 rejoué (étape T4b) |
voir § 2 : 41 / 41 lignes identiques, ETAT IDENTIQUE=True, corbeille 2521 / 2521 |
PASS |
| h | Chaîne | Traces.ps1 -Avant 2026-09-13 -Sortie TRACE1-T4cv-avant.txt (code 1, index absent, attendu) puis Corbeille.ps1 -Liste à blanc |
73 entrées ; 73 A-BLANC, 0 REFUS, A BLANC lignes=73 octets=60728133, code 0 ; empreintes (Test-Path et MD5, 73 chemins) avant = après ; liste MD5 avant = après |
PASS |
| i | Critère 6 | Select-String -SimpleMatch de 19 motifs dans les 3 scripts + analyse AST (InvokeMemberExpressionAst, CommandAst) |
Remove-Item, Move-Item, rm , del , Delete(, Rename-Item, Copy-Item, Set-Content, Out-File, New-Item, Invoke-Expression, Start-Process, [IO.File]::Delete, [IO.Directory]::Delete : 0 ligne dans chacun des 3 scripts. Seuls appels de suppression : Corbeille.ps1:384 DeleteDirectory($cible, 'OnlyErrorDialogs', 'SendToRecycleBin') et :386 DeleteFile(…, 'SendToRecycleBin') (autres occurrences de DeleteFile : texte l. 49, 52, message l. 230). Seule écriture de Traces.ps1 : WriteAllText l. 322 (-Sortie) ; TracesRacines.ps1 : aucune. -Force : TracesRacines.ps1 l. 64, 122 ; Traces.ps1 l. 171 ; Corbeille.ps1 l. 122, 246, 285, tous sur Get-Item / Get-ChildItem |
PASS |
| j | Critère 7 | octets, analyse (Parser.ParseFile), pwsh -NoProfile -Command "& { . '<script>' -? }", Get-Help -Full |
TracesRacines.ps1 9 674 o CR=0 LF=174 ; Traces.ps1 22 446 o CR=0 LF=428 ; Corbeille.ps1 20 644 o CR=0 LF=401 ; non-ASCII=0, BOM=False, dernier octet LF (les 3) ; mêmes valeurs de style que Numero.ps1 (13 849 o, CR=0) et UeState.ps1 (6 964 o, CR=0). Erreurs d'analyse 0 (les 3) ; aide -? code 0, 70 / 77 / 90 lignes ; Get-Help rend le synopsis |
PASS |
| k | Corbeille et listes | Namespace(10).Items().Count ; MD5 des listes |
2521 avant et après, à chaque étape et à chaque cas ; MD5 de chaque liste d'essai identique avant et après | PASS |
3.2 Critères 1 à 4 de la SPEC § 7 (non-régression, rejoués au-delà de la fiche)
| # | Critère | Commande | Résultat recompté | Verdict |
|---|---|---|---|---|
| 1 | Inventaire | Traces.ps1 -Inventaire -Sortie …\TRACE1-T4cv-inventaire.txt (111 s) |
TRACES entrees=3146 octets=37575665451 couvertes=0 sans-resume=3146 trop-gros=0, code 1 (index absent, attendu) ; INFO racines=64 lus=523021 retenus=3410 instantanes=43 manifestes=202. Nom du compte : 0 occurrence (profil et variable USERNAME, comptage seul). Contre T4v (3 089) : T4v seul 35 = 14 attendues + 21 disparues + 0 autre ; absents de T4v : 92 dont 90 créés ou écrits après 08:38 et 2 plus anciens (Saved\Logs\AutoSDKInfo-backup-2026.10.13-07.09.30.{json,txt}, estimé : rotation renommée après le balayage de T4v, même cas que T4v). Contre T4c (3 115) : 15 disparus, 46 nouveaux tous récents, 0 autre. La comparaison à T1 (± 2 %) n'est pas rejouée |
PASS (non-régression ; ± 2 % de T1 : reporté, décidé en T4v) |
| 2 | Dates | Get-LPDateProduction par chargement ., 8 noms (6 de la SPEC et 2 cas limites) |
8 / 8 conformes : U5_Build_20261008-170000.log 2026-10-08 17:00:00 nom ; LifePlay-backup-2026.09.30-21.23.52.log 2026-09-30 21:23:52 nom ; L7i_partie1_20260930.log 2026-09-30 nom ; STE-J6.utrace, UECC-Windows-ABCDEF_0000, nom sans date, X_20261399.log : écriture fictive 2031-02-03 ; Y_20261008-250000_20260101.log 2026-10-08 nom |
PASS |
| 3 | Index | -Inventaire -Index TRACE1-T4a-index-temoin.csv |
couvertes=31 (= T4v : STE-J6 1 + L* 26 + V* 2 de portage + SessionA 2) ; 3 lignes + en-tête ; les 31 se regroupent par dossier et motif sur ces 3 lignes. Témoin à résumé vide non rejoué |
PASS (témoin vide : reporté) |
| 4 | Doublons | Traces.ps1 -Doublons -Sortie …\TRACE1-T4cv-doublons.txt (183 s) |
DOUBLONS groupes=527 copies=138 octets-copies=7855386094 (= T4v) ; rôles copie 138, copie-seule 56, original 944 (= T4v) ; groupe 467 : original D:\Game\LifePlay_Build_5.5_DebugGame\Windows\TraceArchive\SessionA.utrace, copie D:\Game\LifePlay_Backup_5.5\Dbg-I4\SessionA\Profiling\SessionA.utrace ; Get-FileHash des deux : 44B6203349721CD88A804C190E573FD3 |
PASS |
| 5 | Refus à blanc | § 3.1 b, c, d, g | refus attendus, code 2, rien envoyé, état identique | PASS |
| 6 | Pas de suppression hors SendToRecycleBin |
§ 3.1 i | voir i | PASS |
| 7 | Fins de ligne, encodage, analyse, aide | § 3.1 j | voir j | PASS |
4. Diff lu en entier
Les trois scripts sont non suivis : le « diff » est la lecture complète (Read, 174 + 401 + 428 lignes) plus la comparaison
aux versions d'avant T4c (git diff --no-index --unified=0, --numstat).
| Fichier | Lignes | Conforme | Constats |
|---|---|---|---|
Tools\TracesRacines.ps1 |
174 (nouveau) | oui | seule définition des copies (6), builds (LifePlay_Build_* développé), sauvegarde, publication, racines (81 ce jour : copie 30, build 38, backup 1, publication 1, moteur 8, profil 3), exclusions (8) et règles des manifestes ; aucune écriture ; fonctions *-LPTrace* (8) ; seule variable posée : $LPTraceJeuRoot (= D:\Game, déduit de l'emplacement du fichier) |
Tools\Corbeille.ps1 |
401 (avant : 443) | oui | numstat +32 −74 : listes de racines et lecture des manifestes (anciennes l. 79-104, 191-220) remplacées par le dot-sourcing (l. 85) et les appels l. 173-187 ; hors-racines par Test-LPTraceSousRacines (l. 268-269) ; manifest par Test-LPTraceInstantane (l. 279) ; dossier : @($Inst.Decrits) + $Entiers (l. 290). Les trois racines en trop (R1) ont disparu ; l'ensemble des contrôles et le chemin d'envoi (l. 355-401) sont inchangés |
Tools\Traces.ps1 |
428 (avant : 474) | oui | numstat +26 −72 : Get-LPRacines retiré ; racines et exclusions partagées (l. 159-182) ; instantanés (l. 189-195) ; $tracesCharge lu avant le dot-sourcing (l. 101) ; if ($tracesCharge) { return } (l. 328) |
Écarts de l'IMPL (§ 2 E1 à E11) jugés en « Constats ». Modifications faites par cette VAL (inventaire) : aucune sur le dépôt,
sur les scripts, sur les livrables existants ni sur D:\Game\LifePlay_Backup_5.5. Fichiers créés : 54 fichiers
TRACE1-T4cv-* au relevé de fin (scripts …-essais.ps1, …-essais2.ps1, …-essais3.ps1, …-attente.ps1 ; sorties
…-etape-*.txt, …-inventaire.txt, …-avant.txt, …-index.txt, …-doublons.txt, …-essai-t4b.txt, …-etat-depart.txt ;
listes d'une ligne …-cas-*.txt ; 9 manifestes de synthèse …-m-*.csv) et ce livrable. Rien dans %TEMP% ni ailleurs.
git status --short -- Tools : ?? Tools/Corbeille.ps1, ?? Tools/PubCheck.ps1, ?? Tools/Traces.ps1,
?? Tools/TracesRacines.ps1, ?? Tools/hooks/ (identique au départ ; PubCheck.ps1 et hooks/ ne viennent pas de ce lot).
5. Verdict
PASS pour les contrôles de la fiche § 4 et pour les critères 1 à 7 de la SPEC § 7 (rejoués, voir § 3).
Global : PASS. Réserves levées :
- R1 levée : les racines viennent d'une seule fonction (
Get-LPTraceRacines) appelée par les deux scripts ;CrashReportClient,UnrealBuildTooletEpicGamesLauncher\Saved\Logsne sont plus des racines (aucune racine liée à ces chemins, ni àUnrealHeaderTool) ;Common\Zenest refusé à blanc. - R2 levée :
P7\T5(manifestePath) etP7\T6a(manifestechemin) sont protégés ; les copies et l'original sont refusésmanifest. - Décision E11 appliquée :
Common\UnrealTraceetUnrealHeaderToolsont hors règle dans les deux scripts (2 refus à blanc ; 0 entrée d'inventaire). - Pas de régression : critères 1 à 7 et T4b rejoués ; corbeille 2521 avant et après.
Ce qui n'est pas prouvé : l'envoi réel (interdit ici), les refus trop-gros, lecture-seule, lien-interne, corbeille-desactivee,
session-non-interactive, git-erreur, manifest-illisible sur des données réelles, Windows PowerShell 5.1, le témoin d'index à
résumé vide, la comparaison à T1 (± 2 %), la durée ajoutée par la recherche des manifestes à toute profondeur (Corbeille.ps1 :
8 à 10 s par appel, mesuré ; comparaison à l'ancienne version non faite).
6. Points à confirmer par l'utilisateur
- E1 : protéger le dossier
P7\T5en entier (effet constaté : l'original non suiviLifePlay-Sandbox-5.8\Tools\claude\agents\lp-cart.md, avant admis, est refusémanifest). Recommandation : accepter (conservateur). - E2 : règle
chemin-introuvablepour la colonnechemin. Recommandation : accepter (rejouée sur donnée de synthèse). - E3 : exclusion des
etat\REPOdes 6 copies dansCorbeille.ps1(vérifiée). Recommandation : accepter. - E9 de l'IMPL :
Get-LPRacinesretiré, doncTRACE1-T4v-essais.ps1 -Etape Racinesne se rejoue plus. Recommandation : accepter, la preuve de T4c (même fonction pour les deux scripts) la remplace. %TEMP%\v.txt(7 197 o, 09:26, chemins deTRACE1-T4v-avant.txt) laissé par T4c : le mettre à la corbeille ou le laisser ?- T5 (envoi réel du fichier témoin) : GO séparé, non donné ici.
- Windows PowerShell 5.1 jamais essayé : à faire ou sans objet (le projet utilise pwsh 7) ?
Fichiers à commiter (dépôt du jeu, ue5.8, par le gardien) : A Docs/Migration/etat/AG/TRACE1/TRACE1-T4cv-VAL.md (.gitignore:77
le laisse passer). Les autres TRACE1-T4cv-* suivent .gitignore:75 (/Docs/Migration/etat/**, vérifié par git check-ignore -v
pour …-essais.ps1). Les trois scripts de Tools\ sont à commiter selon TRACE1-T4c-IMPL.md § 6.
Tours : 26 / 40
Constats
Écarts de l'IMPL (§ 2), jugement
| # | Écart | Jugement | Motif |
|---|---|---|---|
| E1 | manifeste Path absolu : chemins et dossier du manifeste protégés |
acceptable, décision de l'orchestrateur | rejoué (c) ; effet sur lp-cart.md noté en § 6 |
| E2 | chemin introuvable = non décidable |
acceptable, décision de l'orchestrateur | rejoué (f) |
| E3 | etat\REPO des copies exclu |
acceptable, décision de l'orchestrateur | rejoué (d) |
| E4 | motif hors-racines gardé (la fiche écrit hors-racine) |
conforme à la décision | sorties des cas R1, E11, REPO |
| E5 | manifestes cherchés à toute profondeur dans Corbeille.ps1 |
acceptable | 202 manifestes des deux côtés (même fonction) ; recompte indépendant 202 |
| E6 | manifeste vide non décidable | acceptable | rejoué (f), deux cas |
| E7 | $tracesCharge lu avant le dot-sourcing |
acceptable | -? code 0 et chargement par . utilisé pour les dates (critère 2) |
| E8 | fonctions d'aide en plus | acceptable | 8 fonctions *-LPTrace*, nommage respecté |
| E9 | Get-LPRacines retiré |
acceptable, noté en § 6 | |
| E10 | skills invoqués après les modifications | sans effet sur le résultat | oubli de méthode, signalé par l'IMPL |
| E11 | %TEMP%\v.txt écrit hors périmètre |
écart de l'IMPL, constaté | fichier présent, non touché ; case en § 6 |
Observations
- Lignes
VERDICT=KOdansTRACE1-T4cv-etape-Refus.txt(l. 77 et 82) : deux cas « bonus » informatifs (dossiersCrashes\<dossier>sousBackup_5.5:ARCH427\LifePlay-master 4.27\Saved\Crashes\UE4CC-…_0000etbuilds_supprimees\LifePlay_Build_5.5_L7cdj\…\Crashes\_0000) où mon script attendait un refus à tort : ils sont admis à blanc (code 0) parce qu'aucun manifeste ne les décrit et qu'ils sont dans la règle (Q6 de la SPEC). Ce n'est pas un défaut des scripts ; la ligne de verdict global de l'étape (« tous les cas OK ») ne compte pas ces cas bonus. Le cas bonus 3 (etat\Docs\Migration\etat\U58\U7\T4\Crashes\UECC-…) est refusémanifest, ce qui a servi à prouver la branche dossier (Corbeille.ps1:290). - Dérive des chiffres depuis l'IMPL (autres sessions) : racines 81 (IMPL 80) et builds 38 (IMPL 37,
ls -d /d/Game/LifePlay_Build_*= 38), inventaire 3 146 (IMPL 3 115), T4v seul 35 dont 21 disparues (IMPL 33 dont 19). Même structure : 14 attendues, 0 autre. - Ancrage des lieux :
TracesRacines.ps1déduitD:\Gamede son emplacement ($LPTraceJeuRoot), alors que les versions d'avant T4c l'écrivaient en dur. Sans effet pour les copies sousD:\Game; un script lancé depuis une copie rangée ailleurs verrait d'autres racines (estimé, non essayé). Corbeille.ps1:89-90gardeD:\Game\…en dur pour les dépôts git des modules (--git-dir) : ce ne sont pas des racines de la règle.- Le Grep de la contre-épreuve de 3.1 b a d'abord rendu 0 ligne (Grep est sensible à la casse, le
-matchde PowerShell non) ; relancé sans respecter la casse, le seul écart est le nom du fichier de T4c cité plus haut.
Note TRACE
Trace : Docs\Migration\etat\AG\TRACE1\TRACE1-T4cv-etape-*.txt — Fiche TRACE1-T4cv — 2026-10-13 09:34 à 09:48
Commande : pwsh -NoProfile -File TRACE1-T4cv-essais.ps1 -Etape Depart|Inventaire|Refus|T4b|Chaine|Code|Fin ;
TRACE1-T4cv-essais2.ps1 ; TRACE1-T4cv-essais3.ps1 -Etape Dates|Recents|Index|Doublons ; jamais Corbeille.ps1 -Envoyer
Environnement: copie 5.8, ue5.8, HEAD f32df0d, pwsh 7.6.6, UserInteractive=True ; machine non calme (autres sessions écrivent dans Saved et les builds)
Attendu : R1, R2, E11 levés ; critères 1 à 7 sans régression ; corbeille 2521 avant et après ; aucun fichier existant modifié
Obtenu : § 2 et § 3 ; corbeille 2521 à chaque relevé ; MD5 des 3 scripts, des 3 manifestes et des 70 autres fichiers du dossier inchangés
Lecture : les comptes de l'inventaire bougent entre deux passages (3 146, 3 184 au passage -Index/-Doublons) : fichiers créés par les autres sessions ; la référence est le passage de l'étape Inventaire (3 146)
Sorties brutes (extraits)
TRACES entrees=3146 octets=37575665451 couvertes=0 sans-resume=3146 trop-gros=0 (code 1, index absent)
INFO racines=64 lus=523021 retenus=3410 instantanes=43 manifestes=202 erreurs-acces=0
T4v seul : 35 = attendues (UnrealTrace, UnrealHeaderTool) 14 + disparues (Test-Path faux) 21 + autres 0
T4c seul (absents maintenant) : 15 = disparus 15 + autres 0
T4cv seul (absents de T4c) : 46 = crees ou ecrits apres 09:05:53 : 46 ; plus anciens : 0
lignes comparees : T4b=41 maintenant=41 ; differences=0 ; identiques=True ETAT IDENTIQUE=True
TRACES entrees=73 octets=60728133 couvertes=0 sans-resume=73 trop-gros=0
Corbeille.ps1 -Liste (a blanc) : code=0 ; lignes A-BLANC=73 ; REFUS=0 A BLANC lignes=73 octets=60728133
manifestes=202 ; decrits=8535 ; entiers=1 ; NON DECIDABLE : chemin-absolu D:\Game\LifePlay_Backup_5.5\P7\T5
TRACES entrees=3184 ... couvertes=31 DOUBLONS groupes=527 copies=138 octets-copies=7855386094
CORBEILLE AVANT items=2521 ... CORBEILLE APRES items=2521 ; identique=True (étape Fin, 09:46:49)