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

5.8 KiB

Fiche TRACE1-T4c — Niveau N3 — Modèle prévu opus | utilisé <modèle déclaré par ton environnement> — Agent lp-impl — Skills sk-protocol, sk-windows-shell, sk-change-safety 1 Objectif : corriger les réserves R1 et R2 de TRACE1-T4v-VAL.md et appliquer la décision E11 en faisant lire aux deux scripts une seule source de racines, d'exclusions et d'instantanés, D:\Game\LifePlay-master 5.8\Tools\TracesRacines.ps1 — lot TRACE1, registre Docs\Migration\etat\AG\TRACE1\TRACE1-TACHES.md ligne T4c (suite d'un objet amont : VAL qui rend des réserves justes, pas une tentative de T4a/T4b) 2 Complexité : a2 (1 fichier créé, 2 modifiés) b1 c0 d1 (modification de scripts validés) e0 f1 (garde-fous d'un script d'envoi à la corbeille) = 5 → N3 (aucun ajustement) 2b Agent : lp-impl (modèle surchargé : aucun) — préchargés : ceux de l'agent — à invoquer : sk-windows-shell, sk-change-safety — outils retirés : aucun 3 Contexte : copie D:\Game\LifePlay-master 5.8, branche ue5.8, HEAD f32df0d ; scripts non suivis Tools\Traces.ps1 (MD5 de départ C4CE7FFFDB081E6399ADDE4D8BFC9545) et Tools\Corbeille.ps1 (7D144C3C09AAEF06DEAD70DF01BF8203) ; instantané D:\Game\LifePlay_Backup_5.5\TRACE1-T4c\manifest.csv (les deux sauvegardés, TracesRacines.ps1 Existed=False). Livrables amont : Docs\Migration\etat\AG\TRACE1\TRACE1-T4v-VAL.md (R1, R2, jugement des écarts), TRACE1-T3-SPEC.md § 3-4, TRACE1-T4a-IMPL.md, TRACE1-T4b-IMPL.md. Points amont à reprendre :

  • R1 : Corbeille.ps1 l. 79-104 a 83 racines, Traces.ps1 80 ; en trop : %LOCALAPPDATA%\CrashReportClient, %LOCALAPPDATA%\UnrealBuildTool, %LOCALAPPDATA%\EpicGamesLauncher\Saved\Logs (hors règle, Q4) ; %LOCALAPPDATA%\UnrealEngine couvre aussi Common\Zen exclu par Traces.ps1.
  • R2 : Corbeille.ps1 ne lit que la colonne Rel des manifest.csv ; Backup_5.5\P7\T5\manifest.csv (Path,MD5,Existed, chemins absolus) et Backup_5.5\P7\T6a\manifest.csv (chemin,md5, chemins relatifs à une base non dite) sont admis à blanc alors que Traces.ps1 les traite comme instantanés.
  • Décision E11 de l'orchestrateur (application de Q4, journaux tournants des outils) : %LOCALAPPDATA%\UnrealHeaderTool et %LOCALAPPDATA%\UnrealEngine\Common\UnrealTrace sortent de la règle, comme Common\Zen. 4 Entrées et commandes :
  • Créer Tools\TracesRacines.ps1 (à inclure par . "$PSScriptRoot\TracesRacines.ps1", même style que Tools\EtatDir.ps1) : fonctions qui rendent (1) les racines lues, (2) les sous-chemins exclus (Q4 : UnrealEngine\Common\Zen, UnrealEngine\Common\UnrealTrace, et ce que Traces.ps1 exclut déjà), (3) l'ensemble des chemins protégés par instantané : Rel (format Snapshot.ps1), Path absolu, chemin relatif ; manifeste sans colonne reconnue ou chemin non résoluble : tout son dossier protégé.
  • Modifier Traces.ps1 et Corbeille.ps1 pour n'utiliser que ces fonctions (aucune liste de racines restante dans les deux scripts) ; %LOCALAPPDATA%\UnrealHeaderTool retiré.
  • Essais (dans un .ps1 de Docs\Migration\etat\AG\TRACE1\TRACE1-T4c-essais.ps1, pas en pwsh -Command depuis Git Bash) :
    • Traces.ps1 -Inventaire -Sortie …\TRACE1-T4c-inventaire.txt : compte comparé à TRACE1-T4v-inventaire.txt, différence = les entrées UnrealHeaderTool et UnrealTrace seules (lister) ;
    • Corbeille.ps1 -Liste à blanc : une ligne %LOCALAPPDATA%\CrashReportClient\Saved\Logs\<un fichier existant> → REFUS hors-racine ; un fichier existant sous Common\Zen → refus ; un fichier existant décrit par Backup_5.5\P7\T5\manifest.csv et un fichier existant sous Backup_5.5\P7\T6a\ → REFUS manifest ; relancer TRACE1-T4b-essai.ps1 → refus et admission de T4b inchangés ;
    • chaîne Traces.ps1 -Avant 2026-09-13 -Sortie …\TRACE1-T4c-avant.txt puis Corbeille.ps1 -Liste à blanc sur sa colonne Chemin → code 0 (toute entrée de l'inventaire est admise par la corbeille) ;
    • corbeille Namespace(10).Items().Count avant et après : identique ; MD5 relus des fichiers des listes : identiques ;
    • analyse ParseFile 0 erreur pour les 3 scripts, aide -? code 0, 0 CR, ASCII, sans BOM. 5 Pièges : TRACE1-T4a-IMPL.md et TRACE1-T4v-VAL.md À verser (regex depuis Git Bash, return , $liste, redirections refusées par le crochet ecriture-gardien pour certains agents : écrire les sorties par -Sortie ou dans le .ps1 d'essai) ; nouveaux : un dot-source change la portée des variables : préfixer les noms (LPTrace*) pour ne pas écraser celles des scripts. 6 Interdits : jamais Corbeille.ps1 -Envoyer, aucun envoi à la corbeille, aucun déplacement ni suppression ; n'écrire que Tools\TracesRacines.ps1, Tools\Traces.ps1, Tools\Corbeille.ps1 et des fichiers TRACE1-T4c-* de Docs\Migration\etat\AG\TRACE1\ ; aucune commande Unreal ; aucun nom de compte dans un .md ; aucune commande git qui écrit (+ sk-protocol § 2). Refus du mode automatique : arrêt et compte rendu, sans contournement. 7 Livrable : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\TRACE1\TRACE1-T4c-IMPL.md au gabarit IMPL de D:\Game\LifePlay-Sandbox\Tools\claude\skills\lp-doc\gabarits.md + compte rendu sk-protocol § 3 ; « Fichiers à commiter » : Tools\TracesRacines.ps1, Tools\Traces.ps1, Tools\Corbeille.ps1. 8 Critère d'acceptation : une seule liste de racines (dans TracesRacines.ps1, Select-String le prouve) ; R1, R2 et E11 corrigés et prouvés à blanc ; refus de T4b inchangés ; corbeille identique avant et après. 9 Budget et arrêt : 60 tours, pic ≤ 250 k, ≈ 30 min — tentative 1/4 ; arrêt si un fichier disparaît ou change, si la corbeille change de compte, ou si un manifeste ne permet pas de décider (le noter, protéger le dossier entier) ; au budget : livrable partiel + état de reprise (sk-protocol § 8).