LifePlay-Revival/Docs/Migration/etat/REF/REF1/REF1-CART-02.csv
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

94 lines
22 KiB
Text

id;enonce;doc_ligne;categorie;statut
C2-001;Une coiffure doit etre un SkeletalMesh dont les os portent les noms Genesis 8, avec poids repartis sur tete/cou/clavicules/poitrine, materiaux enfants de DazHair, nom unique et declaration dans un .lphair sous Modules;13 §1 l.11-20;PROD;en vigueur
C2-002;Convertir une coiffure statique en suivant l'ordre HairImportFbx.py, commandlet LPHairFromStaticMesh (toujours un essai -DryRun avant, refus d'ecraser un asset), HairMaterials.py, deplacement du dossier _Work vers la sauvegarde, puis .lphair et BuildCollections.py;13 §3 l.63-143;OPE;en vigueur
C2-003;Controler le journal LogLPHairFromStatic a l'essai a blanc: echelle entre 0,8 et 1,5, os head sans correction, largeur de coiffure 25 a 32 cm, sinon ajuster -Scale/-OffsetZ/-OffsetY/-Margin;13 §3 l.81-103;OPE;en vigueur
C2-004;Avant d'importer une coiffure verifier la licence et ne retenir que les licences redistribuables (CC BY, CC0), la licence standard Fab est exclue, et ajouter l'attribution dans Licenses/Free_3D_Models_Credits.txt;13 §3 l.51-52 et §7 l.237-238;PROD;en vigueur
C2-005;Telecharger une archive seulement avec l'accord de l'utilisateur, la copier dans la sauvegarde du lot et travailler sur des copies aux noms sans espaces (arguments Python separes par espaces);13 §3 l.52-55;OPE;en vigueur
C2-006;Ne rien supprimer sans copie: les dossiers de travail et assets retires sont deplaces vers D:\Game\LifePlay_Backup_5.5\<lot>, le retour arriere d'une coiffure consiste a retirer le .lphair puis deplacer les assets;13 §3 l.122-123 et §6 l.242-243;OPE;en vigueur
C2-007;Apres ajout d'une coiffure faire un build Development dans un nouveau dossier d'archive (la mise en place avec -iterate ne retire pas les fichiers supprimes) et verifier la ligne de journal Coiffures : <Nom> ajoutee;13 §3 l.146-151;OPE;en vigueur
C2-008;Le controle en jeu d'une coiffure est fait par l'utilisateur (liste du bon sexe, face, profil, couleur/epaisseur, mouvement, nouvelle partie et Continue) avant validation;13 §3 l.153-162;PROD;en vigueur
C2-009;Le lot de coiffure se cloture par entree CHG, commit et tags <lot>-avant / <lot>-apres / <lot>-valide faits par l'agent;13 §3 l.60 et l.164;DOC;remplacée par skill sk-repo (commits et tags par le seul gardien lp-gardien)
C2-010;Pour un lot de coiffures utiliser Tools/HairPipeline.ps1 -Config Tools/hairs/<lot>.json en deux temps (-Step Inspect puis lecture du rapport puis -Step Apply), champs auto recalcules mais valeurs manuelles jamais ecrasees, coiffure sautee si echelle hors 0,6-1,8, relancable apres interruption;13 §7 l.191-230;OPE;en vigueur
C2-011;Les scripts de coiffure, ModSources et AnimSources vivent dans le depot addon LifePlay-Sandbox et se lancent depuis l'addon;13 en-tete l.3;OPE;en vigueur
C2-012;La version affichee suit annee.mois.majeur.mineur (depuis la V1.5) lue dans ProjectVersion de Config/DefaultGame.ini par LPVersionSubsystem, traitee comme du texte (jamais comparee numeriquement) et mise a jour a chaque publication;14 §2 l.22-29;PROD;contradictoire avec README racine (CHG-361, version alpha 2026.10.2.1a avec suffixe non decrit)
C2-013;Modifier un widget via la commandlet LPEditWidget pilotee par une spec JSON versionnee (Tools/ui/*.json) avec valeur attendue avant, essai a blanc puis compilation avant sauvegarde;14 §2 l.30-35;OPE;en vigueur
C2-014;Sauvegarder les assets modifies dans D:\Game\LifePlay_Backup_5.5\<lot> et revenir en arriere par Tools\Restore.ps1 -Lot <lot>;14 §3 l.46;OPE;en vigueur
C2-015;Build Shipping V1.4: ne garder que vin_Base, lp_Revival et vin_VanillaRealistic et livrer les autres modules dans une archive Optional_Modules via Tools/SplitModules.ps1 -Config Tools/modules/V1.4.json;15 §1 l.6-14 et §3 l.33-39;PROD;remplacée par 15 §5 l.46-65 (lp_Revival retire du jeu de base par 16 §8 l.196)
C2-016;Les Blueprints ne lisent aucun fichier de module optionnel: ils testent seulement GI.IsModEnabled(id) et un module absent de GI.ModEnableds est inactif, removeDeletedMods retire les modules sans dossier;15 §2 l.20-27;PROD;en vigueur
C2-017;SplitModules.ps1 ne supprime rien (deplace vers <build>_modules_optionnels), ajoute une notice LISEZMOI_README, cree l'archive, la teste avec 7-Zip et compare son contenu aux fichiers deplaces;15 §3 l.37-39;OPE;en vigueur
C2-018;Depuis la publication suivant la V1.4 le build ne garde que vin_Base et vin_VanillaRealistic en texte, chaque autre mod a son zip <module>-for-LifePlay-<version>.zip avec README bilingue, et INDEX.txt (nom, archive, taille, SHA-256) alimente le message de diffusion;15 §5 l.46-54;PROD;en vigueur
C2-019;Les modules vin_* optionnels forment un seul zip vin_Modules-for-LifePlay-<version>.zip (groupes dans Tools/modules/next.json), les autres mods gardent chacun leur zip;15 §5 l.60-66;PROD;en vigueur
C2-020;Les modules sont diffuses sur Discord dans un premier temps, sans annonce sur GitHub;15 §5 l.55;PROD;en vigueur
C2-021;SplitModules.ps1 refuse un build contenant un mod d'assets installe (LifePlay/Mods/<mod>): utiliser un build neuf;15 §5 l.56-58;OPE;en vigueur
C2-022;Dans un jeu empaque le moteur lit toujours <jeu>/Mods: chaque Mods/<Nom>/<Nom>.uplugin devient un plugin Mod active par defaut, ses paks IoStore sont montes au demarrage (assets sous /<Nom>/), non signes, avec le registre d'assets du mod;16 §1 l.13-19;PROD;en vigueur
C2-023;Un mod d'assets a deux moities au meme identifiant: plugin de contenu Mods/<Nom> (assets cuits) et module texte Content/Modules/<Nom>/<Nom>.lpmod, distribue en une archive a extraire dans le dossier du jeu;16 §2 l.25-35;PROD;en vigueur
C2-024;Cuire un mod seul en DLC contre la version de reference (RunUAT BuildCookRun avec -dlcname et -basedonreleaseversion), avec le meme moteur que le jeu publie;16 §2 l.37-43 et §5 l.88-89;OPE;en vigueur
C2-025;Chaque publication produit Releases/<version>/Windows (-createreleaseversion, environ 1,3 Go, hors git) livree avec les sources, et aucun build destine a la publication ne se fait sans recreer cette reference;16 §2 l.49-51 et §7 l.166-170;PROD;en vigueur
C2-026;Les assets de base references par les mods (squelettes Genesis, materiau DazHair) ne sont plus renommes ni deplaces, un mod declare la version du jeu visee;16 §3 l.60;PROD;en vigueur
C2-027;Depuis PowerShell passer -createreleaseversion=<version> par cmd /c (sinon la version est coupee a chaque point) et ecrire les commandes aux guillemets imbriques dans un fichier .cmd;16 §5 l.94-96 et §6 l.153-154;OPE;en vigueur
C2-028;Le dossier <projet>/Mods reste vide: Tools/ModSource.ps1 y deplace un mod le temps d'un travail puis le remet dans ModSources, et ne jamais builder ni commiter avec Mods non vide;16 §6 l.125-127 et 24 l.229;OPE;en vigueur
C2-029;Fabriquer un mod de coiffures par HairPipeline.ps1 -Config Tools\mods\<Nom>.json (Inspect puis Apply) puis Tools\BuildMod.ps1 -Name <Nom> -Version <jeu>, qui controle plugin, module, reference, absence d'autre plugin dans Mods, conteneur et teste l'archive;16 §6 l.129-141;OPE;en vigueur
C2-030;Le jeu lit les .lpmod par position pour les lignes 1 a 3 (MODULE_UNIQUEID, NAME, AUTHOR), les cles ajoutees apres sont sans risque, ULPModInfoSubsystem avertit si MODULE_GAME_VERSION differe de ProjectVersion, BuildMod refuse un mod payant a licence non commerciale;16 §8 l.176-188;PROD;en vigueur
C2-031;Le guide des moddeurs (Creating_Asset_Mods.md, explanation.lphair) et les outils NewMod.ps1 / EditMod.ps1 sont decrits dans Docs/Modding du jeu;16 §7 l.158-165;DOC;remplacée par 24 §Points ouverts l.69 (guide deplace dans LifePlay-Sandbox\Docs)
C2-032;Le gestionnaire de mods accessible depuis l'ecran titre s'ajoute par la commandlet LPTitleModManager (essai -DryRun puis application, Blueprint deja traite saute), sans modifier le Blueprint GI;17 §2 l.19-38;PROD;remplacée par 27_Plan_Migration_UE58 (17 declare l'historique 4.27 non mis a jour, l.3)
C2-033;La fermeture du gestionnaire depuis l'ecran titre n'enregistre que ModEnableds dans GameSettings.sav via ULPModSettingsLibrary::SaveModSelection, jamais GI.SaveSettings(slot) hors partie;17 §2 l.30-33 et §3 l.45-46;PROD;en vigueur
C2-034;Deux builds de mesure: Development pour les chiffres comparables (baseline, non-regression) et DebugGame pour la plongee (ratios, piles), a ne reconstruire que si checks, PDB ou outil l'exigent;18 §1 l.8-17;OPE;en vigueur
C2-035;Compiler sans l'addon est possible (avertissement AdditionalPluginDirectory not found) mais UBT reutilise alors un Makefile.bin sans les modules de l'addon: deplacer (pas supprimer) ces Makefile.bin avant de recompiler avec l'addon;18 §1 l.19;OPE;en vigueur
C2-036;Empaqueter avec Tools\BuildDebug.ps1 [-Config DebugGame|Development] sans jamais -nodebuginfo, cuisson -pak -iostore -compressed, PDB recopie et lanceurs Tools/debug/*.bat copies a cote de l'exe, journal sous Saved\Logs\portage;18 §2 l.23-36;OPE;en vigueur
C2-037;Sessions de capture: A (DebugGame, Insights, a-coups), B (DebugGame, memoire/physique), C (Development, CSV+LLM, non-regression), lancees par les bat Tools/debug sur un scenario unique d'environ 15 min;18 §3 l.38-64;OPE;en vigueur
C2-038;Ne jamais passer -csvCaptureFrames (plantage RHI): demarrer le CSV par -ExecCmds, et mesurer un jeu empaquete et non UnrealEditor -game;18 §3 l.66-69;OPE;en vigueur
C2-039;Collecter les preuves par Tools\CollectDebugArtifacts.ps1 -Lot -BuildDir -Session vers LifePlay_Backup_5.5\<lot>\Session<X> (echoue si rien copie) et resumer le CSV par SummarizeDebugCsv.ps1;18 §4 l.71-87;OPE;en vigueur
C2-040;Options runtime non-Shipping de ULPDebugSubsystem: -LPHitchLog, -LPHitchMs, -LPCollisionLog et commandes console LifePlay.Bookmark/MemSnapshot/CollisionDump/HitchSummary, tout derriere #if !UE_BUILD_SHIPPING (cout nul en Shipping);18 §5 l.89-103 et 19 §2 l.86;OPE;en vigueur
C2-041;Gates de la session C: au moins 9000 images, LLM, mediane <= 17 ms (plus ou moins 1) ou ecart explique, jouer sans -LPHitchLog;18 §6 l.118-128;OPE;en vigueur
C2-042;Priorite d'outils: Unreal Insights, CSV/LLM, ChaosVD puis RenderDoc/PIX/Radeon, et Tracy, Optick, Superluminal, ASAN sont ecartes;18 §7 l.144-145 et 19 §2 l.152-153;OPE;contradictoire avec skill lp-perf (recettes PresentMon, CSV Profiler, Gauntlet et Tracy a la demande)
C2-043;Le skill agent de la mesure est .cursor/skills/lifeplay-debug-build, a lire avant tout code et a ne pas contredire sans mise a jour du skill et du plan;18 l.5 et 19 §3 l.167-174;DOC;remplacée par skill lp-perf et skill lp-build (skills lp-* du projet)
C2-044;Ne pas ouvrir de lot d'optimisation tant que les mesures de a-coups (I4) et de memoire (I5) n'ont pas leurs gates verts, et ne pas melanger correction et mesure dans le meme lot;19 §1 l.47 et l.29-37;ORG;en vigueur
C2-045;Regle de sortie d'iteration: on ne passe a l'etape suivante que si tous les criteres mesurables sont verts, code sans artefact = rouge, puis corriger et re-mesurer sans sauter d'etape;19 §4 l.180-184;ORG;en vigueur
C2-046;Go/No-Go a chaque gate avec criteres verts, un sous-lot = un objectif mesure, commit seulement si demande;19 §1 l.74-77;ORG;remplacée par skill sk-repo (commit uniquement par le gardien sur ticket)
C2-047;Identifier le squelette d'un pack d'animations par LPAnimIdentify contre Tools/anim/profiles/*.json (un seul profil, au moins 95 pour cent des os obligatoires), a egalite le profil le plus complet l'emporte, methode ue4/ue5/genesis_direct choisie par -Methode=<id ou auto>;20 §1 l.17 et §2 l.61 et §3 l.76;OPE;en vigueur
C2-048;AnimPipeline.ps1 (appele par BuildMod.ps1 -Anim <pack>) enchaine inventaire, import, identification, pose T, conversion, evaluation, catalogue, livraison, ecrit un rapport JSON par etape, s'arrete au premier controle en echec, reprend par -From et deplace l'ancien resultat vers precedent_<date>;20 §3 l.67-83;OPE;en vigueur
C2-049;Un pack d'animations se declare dans AnimSources/<pack>/pack.json (origine, licence compatible, fichiers, SHA-256) avant tout import;20 §3 l.74;PROD;en vigueur
C2-050;Chaque clip est classe accepte / a revoir / rejete selon les seuils de controle (ecart formule 1 pour cent, penetration 1 cm, sol 3 cm, continuite 10 degres...), un clip rejete bloque la livraison sauf exclusion dans pack.json;20 §3 l.79 et §4 l.95-103;PROD;en vigueur
C2-051;Les clips livres sont renommes <cle>_F / <cle>_M sous /<Mod>/Anims (cle en minuscules prefixee, coupure au dernier _), appeles par ANIMATION: <cle> ou Actor.animate(<cle>) via Room.Dailies et ULPModDailiesSubsystem, avec essai de chargement en jeu;20 §1 l.23 et §3 l.81-85;PROD;en vigueur
C2-052;Le catalogue d'animations (catalogue.json, catalogue.html, vignettes) est regenere a chaque passage et le pilote refuse de livrer un mod dont le catalogue n'a pas ete produit dans le meme passage;20 §5 l.111-149;PROD;en vigueur
C2-053;Chaque lot d'animations suit le protocole 10: instantane, entree CHG, retour arriere par Restore.ps1;20 §6 l.165;DOC;en vigueur
C2-054;Tous les chemins d'assets et fichiers du sandbox passent par Config/LPSandbox.ini lu par FLPSandboxConfig::Get avec repli sur le litteral historique, le fichier vivant dans l'addon depuis DC3;21 §Contrat l.57-69;PROD;en vigueur
C2-055;LPAnimMeasure ne dépend ni de LifePlay ni de LifePlayEditorTools (graphe acyclique), la configuration lui est poussee par un setter, jamais l'inverse;21 §Module l.98 et l.109;PROD;en vigueur
C2-056;Le jeu et l'addon sont deux depots siblings relies par AdditionalPluginDirectories dans LifePlay.uproject, sans submodule, et le jeu consomme un commit precis de l'addon;21 §Strategie git l.117-127;OPE;en vigueur
C2-057;Le pin addon est consigne a la main dans le doc 21 et le README de l'addon a chaque evolution (pin 5.5 f73e017);21 §Strategie git l.127;DOC;remplacée par 21 §Strategie git l.136 (copie 5.8, branche ue5.8) et skill lp-repo (pin tenu par le gardien)
C2-058;La copie 5.8 suit la branche ue5.8 de l'addon via un worktree D:\Game\LifePlay-Sandbox-5.8 declare dans son LifePlay.uproject;21 §Strategie git l.136;OPE;en vigueur
C2-059;Tout changement de geometrie du couple se fait dans LPCoupleSim cote addon puis bump du pin et le jeu ne reintroduit pas de copie locale;21 §CoupleBox l.157;PROD;contradictoire avec 21 §Module l.79 et 24 l.57 (LPCoupleSim rapatrie dans le plugin du jeu LPAnimCore par DC1)
C2-060;LPSandbox est limite a l'editeur (TargetAllowList Editor) pour que l'addon prive ne finisse jamais dans un Shipping publie;21 §Acceptation l.226;PROD;en vigueur
C2-061;Cuire sans -iterate tout build de reference ou de publication (cuisson complete), un build de test ne s'ecrit jamais dans un dossier d'archive existant, et compiler avec -NoUBA si erreurs internes C1001/C2206;21 §Acceptation l.212 et l.214;OPE;en vigueur
C2-062;Archiver les PDB du Shipping dans un dossier par numero de build a cote de Releases, avec BUILD-ID.txt (SHA-256 de l'exe);21 §Acceptation l.224;OPE;en vigueur
C2-063;Content/Modules/.git reste hors de l'arbre (D:\Game\LifePlay_ModulesGit) et chaque build candidat passe Tools\CheckPackage.ps1 (0 ligne Modules/.git au manifeste NonUFS);21 §Acceptation l.227;OPE;en vigueur
C2-064;Une copie de sauvegarde de test comprend Saved\SaveGames et Content\Saves, et le Shipping utilise %LOCALAPPDATA%\LifePlay\Saved (decision D4 de l'utilisateur);21 §Acceptation l.213 et l.225;PROD;en vigueur
C2-065;Les scripts d'etat ecrivent leurs livrables par Tools/EtatDir.ps1 dans etat/<projet>/<lot>, et chaque reste a faire entre dans la liste unique des reports du doc 21 avec un lot proprietaire;21 §Acceptation l.215 et 24 l.198;DOC;en vigueur
C2-066;Politique de modeles par palier (M0 composer-2.5-fast, M2 sonnet-5-5-high, M3 opus thinking, M4 opus medium): palier bas pour VAL a checklist, M2 pour toute operation destructive ou inter-depots, M3 pour IMPL qui change un comportement, traçabilite Modele prevu | utilise (sinon FAIL-TRACE);22 §9 l.202-208;ORG;remplacée par skill sk-orchestrate (niveaux N0-N5) et contradictoire avec 24 §Matrice l.124-131 (haiku/sonnet/opus)
C2-067;Cloture git par lot avec un proprietaire: la fiche IMPL finit par un build vert, gate A-INT avec commit addon, bump du pin, commit jeu et identite git identique dans les deux depots;22 §9 l.209-213;ORG;remplacée par skill sk-repo (gardien unique)
C2-068;Separer VAL et DOC (la VAL est en lecture seule sur les docs d'acceptation), passer par une SPEC avant toute decision d'architecture et tenir un registre unique des reports;22 §9 l.214-217 et 24 l.197-198;ORG;en vigueur
C2-069;Mode multi-agents: GO conditionnel pour migrations a risque (extraction de code, refonte partagee), NO-GO pour lots simples (au plus un fichier de config ou doc, sans C++): un agent plus une VAL basse;22 §8 l.193-196;ORG;en vigueur
C2-070;Un mod est un module texte plus un plugin de contenu au meme identifiant (MODULE_UNIQUEID = nom du plugin = point de montage /<id>/), desinstalle en supprimant Content/Modules/<id> et Mods/<id>;23 §1 l.17-30 et §2.2 l.67-69;PROD;en vigueur
C2-071;Chaine de fabrication d'un mod: Tools/NewMod.ps1, EditMod.ps1 / ModSource.ps1, HairPipeline.ps1 ou anim/AnimPipeline.ps1, puis BuildMod.ps1 -Name <id> -Version <jeu> qui refuse un autre plugin dans Mods, une entree hors Mods/<id>/ ou une licence non commerciale sur un mod payant;23 §2.1 l.50-57;OPE;en vigueur
C2-072;Un mod est cuit contre une version de reference precise du jeu et ne doit referencer aucun contenu /Engine/ non cuit par le jeu;23 §2.1 l.59-63;PROD;en vigueur
C2-073;La case du gestionnaire n'agit que sur les textes (non lus par PopulateRaws), les coiffures (filtrees) et l'avertissement de version: les animations sont toujours ajoutees a Room.Dailies et le plugin Unreal reste monte (ecart E1);23 §2.4 l.93-101;PROD;en vigueur
C2-074;Pour les fichiers texte le premier lu gagne par nom de fichier, donc le module le plus bas dans la liste affichee l'emporte, ordre sans effet sur animations et assets, vin_Base verrouille en dur dans UI/ModuleTick;23 §2.4 l.111-124;PROD;en vigueur
C2-075;Ne jamais declarer de dependance obligatoire entre mods dans le .uplugin (le jeu ne demarrerait pas), CanContainContent est indispensable, un mod Shipping n'apporte aucun code, et MODULE_REQUIREMENTS n'est pas verifie;23 §3.1 l.326-330 et §3.3 l.364-365;PROD;en vigueur
C2-076;Les trois premieres lignes du .lpmod sont lues par position, les autres cles (VERSION, LICENSE, PRICE, PACKAGED, GAME_VERSION) ne sont qu'affichees, et NewMod.ps1 / BuildMod.ps1 les ecrivent;23 §3.2 l.337-352;PROD;en vigueur
C2-077;Les descripteurs .uplugin, .lpmod, pack.json et README dupliquent titre, auteur et licence sans source de verite designee: BuildMod recopie version et lien auteur, DeliverAnims ne cree les descripteurs qu'une fois;23 §3.4 l.367-392;DOC;en vigueur
C2-078;Ordre de priorite des evolutions de mod: E1 (animations selon la case) puis E2+E3 (prerequis et coherence des deux moities) puis E14 (descripteur unique);23 §6 l.449-450;ORG;en vigueur
C2-079;La separation physique de la sandbox en plugins a ete abandonnee a la porte G-SB3 et tout lancement automatise (tournee, test, pilote) ne doit jamais modifier l'etat persistant du joueur (Open non memorise);23 §7.2 l.487 et §7.3 l.503;ORG;en vigueur
C2-080;Le jeu doit compiler, se lancer et se cuire sans le depot prive LifePlay-Sandbox, l'atelier de mods (BuildMod, NewMod, HairPipeline, commandlets LPAnim*, ModSources) vit dans la sandbox, tandis que le chargement des mods, SplitModules et Releases restent dans le jeu;24 §Decisions l.56-61;ORG;en vigueur
C2-081;Strategie git des lots DC: un commit par lot, aucun push sans accord, addon d'abord puis jeu, deplacement entre depots par copie plus SHA-256 identique puis git rm, jamais de suppression avant commit dans l'addon;24 §Strategie git l.101-114;ORG;remplacée par skill sk-repo (gardien unique, tickets)
C2-082;Instantane avant toute modification par .\Tools\Snapshot.ps1 -Lot <lot> -Path ... (option -ProjectRoot pour l'addon) et retour arriere propose par .\Tools\Restore.ps1 -Lot;24 §Strategie git l.109-112;OPE;en vigueur
C2-083;Matrice de modeles M0 a M4 (haiku, sonnet, opus), sous-classer une fiche haute complexite est interdit, surclasser exige un motif ecrit, reprise en fable apres deux echecs de M3;24 §Matrice l.118-136;ORG;remplacée par skill sk-orchestrate (niveaux N0-N5, agents lp-*) et contradictoire avec 22 §9 l.202
C2-084;Un niveau rapide peut reecrire un script fourni malgre l'interdit ou rendre un resultat vide presente comme un succes: la fiche doit dire n'ecris ni ne modifie aucun script, recopier l'erreur et s'arreter, 0 resultat = echec probable;24 §Matrice l.134-136;ORG;en vigueur
C2-085;Toute sous-tache est une fiche DC#-Tn (ID, agent, modele prevu | utilise, dependance, consigne, livrable, critere Done, handoff) et l'agent ne demarre que si le livrable amont existe et n'est pas vide;24 §Protocole l.170-176;DOC;remplacée par skill sk-orchestrate (fiche a 9 rubriques)
C2-086;Regles d'orchestration: hors perimetre stop et signaler, FAIL de VAL = pas de DOC de cloture mais fiche -fix, la compilation appartient a l'IMPL et la VAL ne recompile pas, lot coupe = commit du valide;24 §Regles l.191-199;ORG;en vigueur
C2-087;Roles A-CART, A-ARCH, A-IMPL-H/L, A-BUILD, A-INT, A-VAL, A-DOC associes aux paliers de modeles;24 §Roles l.201-212;ORG;remplacée par agents lp-cart, lp-impl, lp-builder, lp-gardien, lp-validator, lp-writer (skill sk-orchestrate)
C2-088;Les livrables de lot vont dans etat\sandbox\DC#\ de la copie 5.5 (DC#-CART, SPEC, IMPL, BUILD, VAL) et les journaux de commandlets en .txt non suivis;24 §Livrables l.185-189;DOC;remplacée par doc 29 (livrables sous Docs\Migration\etat\<projet>\<lot>\ de la copie 5.8)
C2-089;Avant de compiler fermer l'editeur et ne lancer qu'une compilation a la fois, verifier que les DLL des Binaries de l'addon et de LPAnimCore ne sont pas plus anciennes que celles du jeu, prouver le chargement par une ligne de journal du nouveau code;24 §Pieges l.216-221;OPE;en vigueur
C2-090;La commande de compilation de reference est Build.bat LifePlayEditor Win64 Development avec -WaitMutex sur le chemin UE_5.5 et la copie 5.5;24 §Pieges l.216-218;OPE;remplacée par skill lp-build (Tools/Build.ps1, moteur 5.8)
C2-091;Pieges de lancement: lanceurs sandbox jamais derriere un tuyau (Start-Process cmd.exe), -run=pythonscript avec -FullStdOutLogOutput et scan_paths_synchronous avant does_asset_exist, toute recuisson par RetargetPack.py defait LPAnimTwist;24 §Pieges l.223-228;OPE;en vigueur
C2-092;Le test jeu seul consiste a deplacer (pas supprimer) le dossier de l'addon sous un nom temporaire puis a le remettre, sans editeur ouvert;24 §Pieges l.230-231;OPE;en vigueur
C2-093;Acceptation du decouplage: un clone propre sans addon compile (editeur et Development) et se lance, aucun Build.cs ni script du jeu ne reference LPAnimMeasure ou LPModTools, CHG par lot et pin a jour;24 §Criteres l.380-387;PROD;en vigueur