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.ps1l. 79-104 a 83 racines,Traces.ps180 ; en trop :%LOCALAPPDATA%\CrashReportClient,%LOCALAPPDATA%\UnrealBuildTool,%LOCALAPPDATA%\EpicGamesLauncher\Saved\Logs(hors règle, Q4) ;%LOCALAPPDATA%\UnrealEnginecouvre aussiCommon\Zenexclu parTraces.ps1. - R2 :
Corbeille.ps1ne lit que la colonneReldesmanifest.csv;Backup_5.5\P7\T5\manifest.csv(Path,MD5,Existed, chemins absolus) etBackup_5.5\P7\T6a\manifest.csv(chemin,md5, chemins relatifs à une base non dite) sont admis à blanc alors queTraces.ps1les traite comme instantanés. - Décision E11 de l'orchestrateur (application de Q4, journaux tournants des outils) :
%LOCALAPPDATA%\UnrealHeaderToolet%LOCALAPPDATA%\UnrealEngine\Common\UnrealTracesortent de la règle, commeCommon\Zen. 4 Entrées et commandes : - Créer
Tools\TracesRacines.ps1(à inclure par. "$PSScriptRoot\TracesRacines.ps1", même style queTools\EtatDir.ps1) : fonctions qui rendent (1) les racines lues, (2) les sous-chemins exclus (Q4 :UnrealEngine\Common\Zen,UnrealEngine\Common\UnrealTrace, et ce queTraces.ps1exclut déjà), (3) l'ensemble des chemins protégés par instantané :Rel(formatSnapshot.ps1),Pathabsolu,cheminrelatif ; manifeste sans colonne reconnue ou chemin non résoluble : tout son dossier protégé. - Modifier
Traces.ps1etCorbeille.ps1pour n'utiliser que ces fonctions (aucune liste de racines restante dans les deux scripts) ;%LOCALAPPDATA%\UnrealHeaderToolretiré. - Essais (dans un
.ps1deDocs\Migration\etat\AG\TRACE1\TRACE1-T4c-essais.ps1, pas enpwsh -Commanddepuis Git Bash) :Traces.ps1 -Inventaire -Sortie …\TRACE1-T4c-inventaire.txt: compte comparé àTRACE1-T4v-inventaire.txt, différence = les entréesUnrealHeaderTooletUnrealTraceseules (lister) ;Corbeille.ps1 -Listeà blanc : une ligne%LOCALAPPDATA%\CrashReportClient\Saved\Logs\<un fichier existant>→REFUS hors-racine; un fichier existant sousCommon\Zen→ refus ; un fichier existant décrit parBackup_5.5\P7\T5\manifest.csvet un fichier existant sousBackup_5.5\P7\T6a\→REFUS manifest; relancerTRACE1-T4b-essai.ps1→ refus et admission de T4b inchangés ;- chaîne
Traces.ps1 -Avant 2026-09-13 -Sortie …\TRACE1-T4c-avant.txtpuisCorbeille.ps1 -Listeà blanc sur sa colonneChemin→ code 0 (toute entrée de l'inventaire est admise par la corbeille) ; - corbeille
Namespace(10).Items().Countavant et après : identique ; MD5 relus des fichiers des listes : identiques ; - analyse
ParseFile0 erreur pour les 3 scripts, aide-?code 0, 0 CR, ASCII, sans BOM. 5 Pièges :TRACE1-T4a-IMPL.mdetTRACE1-T4v-VAL.mdÀ verser (regex depuis Git Bash,return , $liste, redirections refusées par le crochetecriture-gardienpour certains agents : écrire les sorties par-Sortieou dans le.ps1d'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 : jamaisCorbeille.ps1 -Envoyer, aucun envoi à la corbeille, aucun déplacement ni suppression ; n'écrire queTools\TracesRacines.ps1,Tools\Traces.ps1,Tools\Corbeille.ps1et des fichiersTRACE1-T4c-*deDocs\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.mdau gabarit IMPL deD:\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 (dansTracesRacines.ps1,Select-Stringle 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).