LifePlay-Revival/Docs/Migration/etat/OUTC/OUTC-T6-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

4.9 KiB

OUTC-T6-IMPL : EtatDir.ps1, -EtatDir relatif sans dossier parasite (2026-10-11)

Fiche OUTC-T6 — Niveau N2 — Modèle prévu opus | utilisé claude-opus-5-5 — Agent orchestrateur (session OUTC) — Skills lp-lot, sk-change-safety, sk-windows-shell

Origine : demande de Big Boss du 2026-10-11 (« Corrige aussi Tools\EtatDir.ps1:30 (-EtatDir relatif → dossier parasite), si c'est dans ton périmètre »). Dans le périmètre du lot : contrôle des dossiers parasites (M1). Correctif de moins de 20 lignes, fait par l'orchestrateur (code moyen, sk-orchestrate § 1) ; VAL indépendante en OUTC-T4.

1. Fichiers modifiés

M Tools\EtatDir.ps1 (copie 5.8, dépôt jeu) : 18 lignes ajoutées, 3 retirées (git diff --stat).

  • l. 7-11 (aide) : règle du préfixe, refus des parasites et de la racine, règle OUT[A-Z]?\d*.
  • l. 26 : règle ^(PROP|SK|ETAT\d*|OUT[A-Z]?\d*)(?:-|$) (avant OUT\d*) : OUTC et OUTC-Tn → etat\OUTC\.
  • l. 33-39 : -EtatDir relatif : / → \, .\ retiré, préfixe Docs\Migration\etat\ ou etat\ retiré (insensible à la casse) ; vide après retrait → exception (racine d'etat\).
  • l. 52-56 : après calcul, exception si le chemin est la racine d'etat\ ou contient, sous etat\, un segment etat ou Migration (vaut aussi pour un -EtatDir absolu et pour les règles de lot).

Écriture : version préparée et testée dans le scratchpad (…\scratchpad\OUTC-T6\EtatDir.ps1), puis une seule écriture Copy-Item -Force vers Tools\ (consigne de Big Boss : Build.ps1 et RunCommandlet.ps1 le dot-sourcent pendant que STE travaille). MD5 avant 28274CB7428E4A5D25F3BAE46486C012, après 5E18EC5BDBFE9B80D55C985B15F864E4. LF, sans BOM, 0 octet non ASCII (FileCheck.ps1 : LF=62, alertes 0). Build.ps1 analysé sans erreur (Parser::ParseFile, 0 erreur).

2. Écarts à la SPEC

La SPEC (OUTC-SPEC.md § 2) ne prévoyait pas EtatDir.ps1 : ajout demandé par Big Boss après la SPEC. Changement de comportement voulu, en plus du correctif : OUTC-T1 allait dans etat\OUTC-T1\ (lot hors table), il va maintenant dans etat\OUTC\ ; un -EtatDir relatif qui désignait la racine ou un parasite lève désormais une exception au lieu de créer le dossier.

Écart de procédure : Big Boss a ensuite demandé de remplacer le fichier « entre deux commandlets ». Le remplacement a eu lieu à 06:32:38 (LastWriteTime), alors que UnrealEditor-Cmd PID 37900 (-run=CompileAllBlueprints, copie 5.8, lot STE) tournait depuis 06:31:44. Je l'estime sans effet : RunCommandlet.ps1 dot-source EtatDir.ps1 et résout le dossier aux l. 38-39, avant de lancer le commandlet, et l'écriture s'est faite en une seule copie. Big Boss en est informé. Pour les écritures suivantes de Tools\, je vérifie d'abord que UnrealEditor-Cmd est absent.

3. Instantané

Tools\Snapshot.ps1 -Lot OUTC -Path Tools\EtatDir.ps1 → D:\Game\LifePlay_Backup_5.5\OUTC\manifest.csv (7 entrées), copie D:\Game\LifePlay_Backup_5.5\OUTC\Tools\EtatDir.ps1.

4. Essais (17 cas, ancienne vs nouvelle version, Resolve-LPEtatDir … -NoCreate)

Sorties brutes : OUTC-T6_essais.txt (même dossier). Résumé :

Entrée (lot, -EtatDir) Avant Après
U8, STE, OUT1, OUTC, ZZZ, PUB2 (sans -EtatDir) U58\U8, ST\STE, OUT1, OUTC, ZZZ, publication\PUB2 identique
OUTC-T1 etat\OUTC-T1 etat\OUTC
Docs\Migration\etat\OUTC etat\Docs\Migration\etat\OUTC (parasite) etat\OUTC
Docs/Migration/etat/U58/U8 parasite etat\U58\U8
etat\OUTC, .\etat\OUTC etat\etat\OUTC, etat\.\etat\OUTC (parasites) etat\OUTC
U58\etat\U8 parasite créé exception « dossier parasite refusé »
Docs\Migration\etat\Docs\Migration\etat\X parasite double exception
etat etat\etat exception (racine)
publication\PUB2\neutral\Docs inchangé inchangé (pas un parasite)
D:\Temp\abs D:\Temp\abs identique
absolu …\Docs\Migration\etat / …\etat\U58\etat acceptés exception (racine / parasite)

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

Aucun appel réel de Build.ps1 ou RunCommandlet.ps1 (ils lancent UBT ou l'éditeur : copie UE). Les appelants ne passent -EtatDir que sur demande de l'opérateur (paramètre transmis tel quel).

6. Points à confirmer en VAL

  • P1 : rejouer les 17 cas (…\scratchpad\OUTC-T6\test.ps1 -Script Tools\EtatDir.ps1) et les 2 cas absolus ; comparer à la copie sauvegardée.
  • P2 : Build.ps1, RunCommandlet.ps1, ReimportCorrectif.ps1 s'analysent sans erreur et dot-sourcent EtatDir.ps1 sans le modifier.
  • P3 : diff lu en entier ; LF, sans BOM, ASCII.

7. Fichiers à commiter (dépôt jeu, D:\Game\LifePlay-master 5.8)

M Tools/EtatDir.ps1
A Docs/Migration/etat/OUTC/OUTC-T6-IMPL.md

(OUTC-T6_essais.txt : .txt sous etat\, ignoré par git comme les autres journaux de lot.)

Tours : sans objet (fiche de l'orchestrateur)