5.8 KiB
Fiche STE-H3g-I — 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 garde G16 (G16a homme, G16b femme) dans GI:EventGraph (STE-H3g-SPEC.md § 2.3 : 4 nœuds, 2 coupures, 10 liens, SetSkinnedAssetAndUpdate inchangé), compiler (avertissements en erreurs), enregistrer /Game/BPs/GI seul. G15 n'est pas écrite (décision de l'utilisateur Q-H3g-1 = c) — lot STE, registre D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-TACHES.md ligne STE-H3f
2 Complexité : a1 b1 c1 d2 e1 f1 = 7 → N3 (aucun) ; barème § 2 : C3 = 1 (SPEC au geste près, lp-mcp § 3-4) ; S = 2 < 3 → pas de scission ; C9a : à relire le jour de l'envoi par l'orchestrateur (UE-GO, HEAD, GI = C4817B84 = HEAD, GI:EventGraph 6 249 nœuds par dumps\GI__EventGraph_P2.txt, éditeur prêt)
2b Agent : lp-mcp-bp — à invoquer : lp-mcp (§ 1-4), sk-change-safety — outils retirés : aucun
3 Contexte :
- UE-GO de Big Boss : reçu le 2026-10-13 (UeState = 0 ; GI
c4817b84…; Person8668A47Cet RoomCA2A9A0Bà ne pas toucher). C9a relu par l'orchestrateur : HEAD0745917, GIC4817B847ECF246C859647577647D6E9, UeState 0. Si l'éditeur demande au lancement de recompiler des modules (Source/ a changé : LPCameraModeSubsystem, LPOutdoorRoomSubsystem, LPDebugSubsystem) : arrêt sans accepter, éditeur fermé, rends compte (BLOCKED-MODULES). SPEC approuvée par l'utilisateur pour G16 (2026-10-13 ; G15 abandonnée, Q-H3g-1 = c). - Tu lances et fermes toi-même l'éditeur headless (décision de Big Boss, 2026-10-13) selon
lp-mcp§ 2 : 0 processusUnrealEditorde la copie 5.8 avant ; lancement avec-abslog=D:\Game\LifePlay-master 5.8\Saved\Logs\STE-H3g-headless-<horodatage>.log;Wait-HyperAIStudioMCP.ps1 -Port 8000 -UrlPath /mcp -TimeoutSeconds 540; vérifierget_current_level; à la fin (aprèssave_assetsou sur arrêt),Stop-Process -Id <pid>puisTools\UeState.ps1= 0, et aucunGI_Auto*laissé sousSaved\Autosaves(s'il y en a : les déplacer sousD:\Game\LifePlay_Backup_5.5\STE-H3g\autosave\et le rapporter). Tu partages la connexion MCP de la session ; outil :ToolSearchselect:mcp__unreal-mcp__call_tool; outils MCP absents après le lancement →BLOCKED-MCP, éditeur fermé. - Instantané déjà pris par l'orchestrateur :
D:\Game\LifePlay_Backup_5.5\STE-H3g\Content\BPs\GI.uasset(MD5 à reporter = GI de départ). Ne relance pasSnapshot.ps1; contrôle les deux MD5 ; écart → arrêt. - Person et Room sont modifiés non commités par d'autres lots (STG-B1, CAM-B2) : ne les ouvre pas, ne les enregistre pas ;
save_assetssur/Game/BPs/GIseul. - SPEC :
D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-H3g-SPEC.md§ 2.0 (préalables, P4 pour G16), § 2.1 (conventions), § 2.3 (G16 : avant / après, liens, comptes), § 3 (repli), § 4 (R-H3g-4), § 7 (critères). Dump de référence :dumps\GI__EventGraph_P2.txt(6 249 nœuds). Points amont à reprendre : R-H3g-4 (boucleForEachLoopsur tableau effacé = 0 itération, estimé) : à la relecture, dire si les bouclesMacroInstance_4 / _5ont un autre successeur queCallFunction_5654(sinon l'elseest bien « ce que l'exécution fait aujourd'hui »). 4 Entrées et questions : - Avant toute écriture : compte de
GI:EventGraph(find_nodes title:"", attendu 6 249) ; P4 de la SPEC pour G16 (get_node_infosdes nœuds listés, liens = « Avant ») ; tout écart → arrêt. - Nœuds (4) :
G16a-V,G16b-V(IsValid, pur),G16a-B,G16b-B(Branche) ; avant chaquecreate_node:find_node_typesavec le filtre ; après :get_node_infos. - Coupures (2) :
CallFunction_662.then/MacroInstance_5.Exec;CallFunction_661.then/MacroInstance_4.Exec. - Liens (10) : exactement ceux du § 2.3.2.
- Après :
get_node_infosdes 4 nouveaux et des nœuds de P4 ; compte 6 253 ;compile_blueprint {warnings_as_errors:true}→ aucun diagnostic (journal de l'éditeur) ;save_assets/Game/BPs/GIseul ; MD5 de GI après ;git status --short -- Content= GI + Person + Room (ces deux derniers inchangés : MD5 avant / après). 5 Pièges : un appel MCP à la fois, jamais deux dans le même message (y comprisbreak_pinsetconnect_pins) ;create_nodeprendpos;connect_pins/break_pinsprennentoutput_pin,input_pin; indices relus ; type_id localisés (lp-mcp § 3 ;Utilitaires|ContrôleDeFlux|Brancherelu en H3d) ; le journal headless se lit partail -n +N | grepou Read avecoffset; le crochetecriture-gardienrefuse tout>et les heredocs en Bash ; aucun nom d'utilisateur niC:\Users\<nom>dans le livrable. 6 Interdits : aucun autre graphe ni asset ouvert en écriture ou enregistré ; G15 interdite ;delete_nodeinterdit ; aucune écriture parexecute_tool_scriptnihyper_*; pas deSnapshot.ps1,Restore.ps1, git en écriture ; tu ne relances pas l'éditeur après un arrêt ; outils MCP absents →BLOCKED-MCP(+ sk-protocol § 2). 7 Livrable :D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-H3g-IMPL.mdau gabarit IMPL : MD5 de départ, compte avant / après, correspondance SPEC → nom réel → type_id, coupures et liens relus, compilation (heure du journal),save_assets, MD5 après, écarts, état de reprise si arrêt. Un seul Write, LF. 8 Critère d'acceptation : 4 nœuds, 2 coupures, 10 liens relus conformes ; 6 253 nœuds ; compilation 0 / 0 ; GI enregistré (MD5 ≠ départ) ; Person et Room inchangés. 9 Budget et arrêt : ≈ 50 tours (plafond 60), pic ≤ 200 k, ≈ 30 min — tentative 1/4 ; arrêt au premier refus de permission, sur tout écart de P4, ou sur un diagnostic de compilation ; au budget : arrêt sans enregistrer un graphe incomplet, livrable partiel avec état de reprise.