8.2 KiB
Fiches U2 — Orchestrateur N2 — Modèle prévu Opus high | utilisé Opus 5.5 (claude-opus-5-5), 2026-10-08
U2 — Retrait 4.27 et chemin moteur (plan 27 § U2)
Dossier de travail : D:\Game\LifePlay-master 5.8, branche ue5.8 (à 1825884, tag U2-avant).
Instantané : D:\Game\LifePlay_Backup_5.5\U2 (944 fichiers : Source, Config, Tools, Docs, LifePlay.uproject, README.md).
Entrée : inventaire etat/U58/U1/U1-RELIQUATS.md (tableaux A–D) et décisions utilisateur du plan 27 § U2.
EngineAssociation reste 5.5 pendant U2 (bascule en U3) : la compilation de contrôle se fait avec UE 5.5.
Conception retenue (orchestrateur)
- Point unique du moteur :
Tools/Engine.ps1, dot-sourcé par les scripts. La version est lue dansLifePlay.uproject(EngineAssociation) : passer à 5.8 en U3 bascule tous les scripts sans autre édition. Variables exposées :$LPProjectRoot,$LPProject,$LPEngineVersion,$LPEngineBase(D:\Game\Launcher\Engine, seul chemin codé),$LPEngineRoot($LPEngineBase\UE_<ver>\Engine, surchargé par$env:LP_ENGINE_ROOTs'il est défini),$LPBuildRoot(D:\Game\LifePlay_Build_<ver>). Erreur explicite si$LPEngineRootn'existe pas. - Dossiers de sortie : dérivés de la version →
_5.8automatiquement après U3 (décision utilisateur) ;Config/DefaultGame.iniStagingDirectory(statique) passe àD:/Game/LifePlay_Build_5.8dès U2.LifePlay_Backup_5.5(sauvegardes) : inchangé. - Retrait des fichiers :
git rm(historique git + instantané U2 = copie préalable).
U2-T1 — IMPL code C++ et config (N1, agent lp-impl, modèle sonnet)
- Objectif : retirer les 16 commandlets D3 et nettoyer les références ; libellés « 4.27 » réécrits sans changement de comportement.
- Note a–f : 1-1-0-1-1-0 (4) → N1.
- Contexte : U1-RELIQUATS § B, § D ; décisions plan 27 § U2.
- Entrées :
git rmdes 32 fichiersSource/LifePlayEditorTools/<Nom>Commandlet.{h,cpp}des 16 noms de § D.1 ;LifePlayEditorTools.Build.cs(commentaires l.33/36/39 ; une dépendance n'est retirée que si un grep prouve qu'aucun fichier restant du module ne l'utilise — sinon garder et le dire) ; commentaires qui citent un commandlet retiré :LPAssetRegistryHelpers.h:10,LPNavigationHelpers.h:12,LPStringCompat.h:15,LPDataCompat.h:9; libellés « 4.27 » deLPStringCompat.h/.cppetLPTestStringCompatCommandlet.h/.cpp(commentaires et chaînes de log) → « sémantique UE4 conservée en 5.8 » / « hérité(UE4) » ;Config/DefaultEngine.inil.15, 19, 128 : commentaires réécrits (TAA validé en jeu 5.5, ERR-032 ; valeurs inchangées) ; commentaires historiquesLPCheckMeshesCommandlet.h:6,LPCheckStreetMapCommandlet.h:8/.cpp:50réécrits sans 4.27. - Pièges : fichiers CRLF (garder la fin de ligne) ;
LPAssetListUtils.hest partagé (garder) ;LPResavePackagesetLPTestStringCompatgardés ; ne pas renommer fonctions, variables ni classes (Find427,Stristr427restent). - Interdits : aucune ligne de logique modifiée hors chaînes de log ; pas de
Tools/,Docs/,Plugins/; pas de compilation (T4) ; pas de commit. - Livrable
etat/U58/U2/U2-T1-IMPL.md: liste des fichiers retirés (32), diff résumé par fichier, grep avant/après. - Acceptation :
git grep -n -E 'LPFix|LPConvertAtmosphericFog' -- Source Config= 0 ;git grep -inE '4\.27|UE_4' -- Source Configne renvoie que des en-têtes historiques justifiés un par un dans le livrable. - Arrêt : une référence à un commandlet retiré dans du code actif (non commentaire) → arrêt et rapport.
U2-T2 — IMPL outils (N1, agent lp-impl, modèle sonnet)
- Objectif :
Tools/Engine.ps1(conception ci-dessus) lu par tous les scripts ; outils sans référence 4.27. - Note : 1-1-1-1-1-0 (5) → N1 (borne haute, conception fixée par l'orchestrateur).
- Contexte : U1-RELIQUATS § A, § B (Tools), § D.4 ; décisions plan 27 § U2.
- Entrées : créer
Tools/Engine.ps1;RunCommandlet.ps1etBuildDebug.ps1: paramètre-Enginegardé mais défaut vide →$LPEngineRoot;BuildDebug.ps1archive sous$LPBuildRoot-<Config>(même forme queD:\Game\LifePlay_Build_5.5_<Config>aujourd'hui) ; exemples d'aide sansLPFix*;ReimportCorrectif.ps1adapté (exemple sansLPFix*, moteur parEngine.ps1, appelLPCheckMeshAssignmentgardé) ;CheckIntegrity.ps1: retirer-Ref427,-InitRef427,$Root427, T-STAT-04 (arbre 4.27) ; T-STAT-02 devient « Modules = référence<ver>» contre<BackupRoot>\ref_modules_<ver>.csvcréé par un nouveau-InitRef(SKIP explicite si absent : la référence 5.8 sera figée après G-U6) ;LogStats.ps1l.6, 12 (commentaire et exemple A/B 5.5 contre 5.8) ;Tools/debug/LifePlay_debug_ui.ps1:15-16: chemins de build viaEngine.ps1quand le script tourne depuis le dépôt (s'il est copié dans un build empaqueté, garder un repli sur$PSScriptRoot— lire le script avant) ; exemples…_5.5_…deCollectDebugArtifacts.ps1,SplitModules.ps1,SummarizeDebugCsv.ps1;AssetHeaders.ps1:7reformulé « UE4 » ;Config/DefaultGame.ini:16→_5.8. - Pièges : PowerShell 7 et 5.1 (
sk-windows-shell) ; dot-source. "$PSScriptRoot\Engine.ps1"; chemin avec espace. - Interdits :
Snapshot.ps1,Restore.ps1(BackupRoot inchangé) ; pas deSource/,Docs/; pas de commit. - Livrable
etat/U58/U2/U2-T2-IMPL.mdavec preuve d'exécution :. .\Tools\Engine.ps1; $LPEngineRoot→ UE_5.5 ;$env:LP_ENGINE_ROOTrespecté ;CheckIntegrity.ps1lancé (aucune erreur de syntaxe) ;Get-Helpdes scripts. - Acceptation :
git grep -nE 'UE_5\.5|UE_4|4\.27|427' -- Tools= 0 hors justification écrite ; aucun script deTools/ne codeD:\Game\Launcheren dehors d'Engine.ps1. - Arrêt : un script dont le comportement changerait au-delà du chemin → arrêt et rapport.
U2-T3 — DOC bandeaux et docs actifs (N1, agent lp-writer)
- Objectif : bandeau « historique 4.27 » sur les docs historiques ; docs actifs alignés sur
Tools/Engine.ps1. - Note : 1-0-0-0-1-1 (3) → N1.
- Contexte : U1-RELIQUATS § C ; règle « pas de réécriture du passé ».
- Entrées : bandeau (sous le titre) sur 01, 02, 03, 04, 05, 06, 07, 11, 12, 17,
Architecture/Rapport_Session_2026-09-28.md,Architecture/VictoryPlugin_Architecture.md, et les docs 13, 24 si leurs mentions sont historiques ; docs actifs mis à jour (pas de bandeau) : 08 Guide développeur, 09 Commandes utiles, 10 Protocole (une note : référence de comportement = build 5.5 validé, D5),Docs/Migration/README.md(index) — exemples$UE = '…UE_5.5…'remplacés par. .\Tools\Engine.ps1/$LPEngineRoot, commandlets retirés marqués « retirés en U2 (historique git) ». - Pièges : ne pas toucher Journal_Modifications, Registre_Erreurs, patchs
correctifs/*.patch, 27, 28, README.md racine, Change_Logs.txt (CHG écrit par l'orchestrateur). - Interdits : pas de
Source/,Tools/,Config/; pas de réécriture de contenu historique ; pas de commit. - Livrable
etat/U58/U2/U2-T3-DOC.md: fichiers modifiés, texte du bandeau, lignes changées dans 08/09/10/README. - Acceptation :
git grep -n 'UE_5\.5' -- Docs/Migration/08* Docs/Migration/09*= 0. - Arrêt : doute sur le caractère historique ou actif d'un doc → le lister, ne pas trancher.
U2-T4 — BUILD contrôle 5.5 (N0, agent lp-builder, modèle haiku) — après T1 et T2
Compilation LifePlayEditor Win64 Development de la copie 5.8 avec UE 5.5 (chemin pris dans Tools/Engine.ps1),
première compilation de la copie (pas de Binaries) ; puis .\Tools\RunCommandlet.ps1 -Lot U2 -Commandlet LPTestStringCompat.
Acceptation : code 0, toolset 14.38.33130 au journal, aucun avertissement nouveau, test vert.
Livrable etat/U58/U2/U2-T4-BUILD.md.
U2-T5 — VAL (N1, agent lp-validator) — après T4
Recompte des greps d'acceptation T1–T3, lecture du diff entier git diff U2-avant, ajouts non demandés, verdict.
Livrable etat/U58/U2/U2-VAL.md.
INT / DOC (orchestrateur)
CHG-252, plan 27 (résultat U2), doc 28, registre des reports (doc 21) ; commit sur ue5.8 seulement ; skill
lp-commandlets mise à jour (local) ; mémoire. Rien n'est poussé.