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 parToolSearchselect:mcp__unreal-mcp__call_tool. - Instantané déjà pris :
D:\Game\LifePlay_Backup_5.5\STE-H10\Content\BPs\GI.uasset=FE4406A0294A8001F612CD03EE2C20CC(= HEAD772b959, = GI sur disque au départ). Ne relance pasSnapshot.ps1(il écraserait la référence si GI avait bougé) : contrôle seulement les deux MD5 (instantané etContent\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 surdestroyDummyseulement). 4 Entrées et questions : - Graphe
/Game/BPs/GI.GI:EventGraph, chaîneDestroyPerson(CustomEvent_3172:then1,Person2,WithoutDestroying3,ReuseableInScene4 ; à 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_valuetrue) ; D3Set SaveBeforeDestroy(false) ; G1 Branche ; GR lectureRevertSkipped; G2 Branche ; GV lectureValidde Person (type_idClasse|Person|ObtenirValid; celui que donne le filtre avec contexte,Variables|Pardéfaut|ObtenirValid, est refusé parcreate_node) ; G3 appelClasse|Person|RevertStripAll; G4Set 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_typesavec 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_nodeprendpos(pasposition) ;connect_pins/break_pinsprennentoutput_pin,input_pin; indices de broches à relire, jamais supposés ; type_id localisés (lp-mcp § 3) ; les comparateurs ne sortent pas defind_node_types(aucun n'est requis ici) ;hyper_blueprint_debug_inspectabsent 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 deSavePresetni deGetSMBoolForSMC_Clothdans cette fiche ; aucune écriture parexecute_tool_scriptnihyper_*; pas deSnapshot.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.mdau 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) ; PersonD1B4C63D…et TopRight1FCB94A6…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).