LifePlay-Revival/Docs/Migration/etat/ST/STE/fiches/STE-H10-GI1.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.3 KiB

Fiche STE-H10-GI1 — Niveau N3 — Modèle prévu opus (xhigh) | utilisé <modèle déclaré> — Agent lp-mcp-bp — Skills sk-protocol, sk-change-safety, lp-mcp, lp-lot

1 Objectif : écrire par MCP la partie EventGraph de B1-a dans GI (STE-H10-SPEC.md § C.5, premier bloc : 2 variables membres, 9 nœuds, 3 coupures, 18 liens, 1 set_pin_value), compiler (avertissements en erreurs), enregistrer /Game/BPs/GI seul. La partie SavePreset de B1-a et B2-a sont la fiche suivante (STE-H10-GI2). État intermédiaire sûr : sans S1-S3, RevertSkipped reste false, G1 prend toujours else, et SavePreset ne lit pas encore SaveBeforeDestroy : comportement inchangé. 2 Complexité : a1 b2 c1 d2 e1 f1 = 8 → N3 (aucun) 2b Agent : lp-mcp-bp — à invoquer : lp-mcp (§ 1-4), sk-change-safety — outils retirés : aucun 3 Contexte :

  • BUILD-GO de Big Boss : <à reporter au lancement> (STE-H10 (a), GI seul). Éditeur 5.8 déjà prêt (port 8000), lancé par l'orchestrateur ; la session qui te lance est connectée à unreal-mcp (tu partages sa connexion). Charge les outils par ToolSearch select:mcp__unreal-mcp__call_tool.
  • Instantané déjà pris : D:\Game\LifePlay_Backup_5.5\STE-H10\Content\BPs\GI.uasset = FE4406A0294A8001F612CD03EE2C20CC (= HEAD 772b959, = GI sur disque au départ). Ne relance pas Snapshot.ps1 (il écraserait la référence si GI avait bougé) : contrôle seulement les deux MD5 (instantané et Content\BPs\GI.uasset) et écris-les au livrable ; écart → arrêt.
  • Person et TopRight sont déjà écrits (non commités) : ne les ouvre pas, ne les enregistre pas.
  • SPEC : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-H10-SPEC.md § C.5 (lis aussi § C.1 point 4 et § 2.2). Points relevés au premier passage (perdu, rien enregistré) : STE-H10-IMPL.md § 4-5. Dump de référence de la chaîne : dumps\GI__EventGraph_V5.txt (n° de lignes GEV de la SPEC ; GI a changé depuis par C0 sur destroyDummy seulement). 4 Entrées et questions :
  • Graphe /Game/BPs/GI.GI:EventGraph, chaîne DestroyPerson (CustomEvent_3172 : then 1, Person 2, WithoutDestroying 3, ReuseableInScene 4 ; à relire). Nœuds existants : IfThenElse_152, CallFunction_104 (SavePreset, sans entrée Person), CallFunction_937 (RestoreCbe), CallFunction_166 (destroyDummy), CallFunction_731 (PrintString « DestroyDummy was from DestroyPerson »).
  • Avant toute écriture : relever le nombre de nœuds de l'EventGraph (référence pour la VAL : après = avant + 9).
  • Variables : add_variable(GI, "SaveBeforeDestroy", "bool"), add_variable(GI, "RevertSkipped", "bool") (membres, défaut false).
  • Nœuds (9) : D1 Branche ; D2 Set SaveBeforeDestroy (set_pin_value true) ; D3 Set SaveBeforeDestroy (false) ; G1 Branche ; GR lecture RevertSkipped ; G2 Branche ; GV lecture Valid de Person (type_id Classe|Person|ObtenirValid ; celui que donne le filtre avec contexte, Variables|Pardéfaut|ObtenirValid, est refusé par create_node) ; G3 appel Classe|Person|RevertStripAll ; G4 Set RevertSkipped (false).
  • Coupures (3) : IfThenElse_152.then / CallFunction_104.execute ; CallFunction_104.then / CallFunction_937.execute ; CallFunction_166.then / CallFunction_731.execute.
  • Liens (18), exactement ceux du § C.5 (de IfThenElse_152.then → D1.execute à G4.then → CallFunction_731.execute).
  • Avant chaque create_node : find_node_types avec le filtre ; après : get_node_infos (broches, types) ; tout écart → arrêt. 5 Pièges : un appel MCP à la fois, jamais deux dans le même message ; create_node prend pos (pas position) ; connect_pins / break_pins prennent output_pin, input_pin ; indices de broches à relire, jamais supposés ; type_id localisés (lp-mcp § 3) ; les comparateurs ne sortent pas de find_node_types (aucun n'est requis ici) ; hyper_blueprint_debug_inspect absent du serveur : compile_blueprint {warnings_as_errors:true} + journal de l'éditeur. 6 Interdits : aucun autre asset ouvert en écriture ni enregistré (Person, TopRight compris) ; pas de SavePreset ni de GetSMBoolForSMC_Cloth dans cette fiche ; aucune écriture par execute_tool_script ni hyper_* ; pas de Snapshot.ps1, Restore.ps1, git en écriture ; tu ne fermes pas l'éditeur ; tu ne relances pas l'éditeur ; outils MCP absents → BLOCKED-MCP (+ sk-protocol § 2). 7 Livrable : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-H10-GI1-IMPL.md au gabarit IMPL (lp-doc/gabarits.md) : MD5 de départ, compte de nœuds avant / après, correspondance SPEC → nom réel → type_id, coupures et liens relus, résultat de compilation (heure du journal), save_assets, MD5 de GI après, écarts, état de reprise si arrêt. Un seul Write, LF. 8 Critère d'acceptation : 2 variables, 9 nœuds, 3 coupures, 18 liens, D2 = true, relus conformes ; compilation 0 erreur 0 avertissement ; GI enregistré (MD5 ≠ FE4406A0) ; Person D1B4C63D… et TopRight 1FCB94A6… inchangés. 9 Budget et arrêt : ≈ 60 tours (plafond 75), pic ≤ 250 k, ≈ 30 min. Au budget : arrêt sans enregistrer un graphe incomplet, livrable partiel avec état de reprise (ce qui est créé, nom réel des nœuds).