6 KiB
Fiche STE-ORG4-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 dans GI:EventGraph O4a (garde PersonCumming, STE-ORG4-SPEC.md § 2.2, reprise par STE-ORG4c-SPEC.md § 2.2) puis O4c (bonus à Endsex pour chaque participant, homme = IsMale OU Genital == 'Penis' ≥ 90, femme ≥ 100, marqueurs « homme » / « femme », STE-ORG4c-SPEC.md § 2.3) : au total 20 nœuds, 2 coupures, 32 liens, 8 valeurs, compte 6 253 → 6 273 (dump ; find_nodes sans les commentaires) ; compiler (avertissements en erreurs) ; enregistrer /Game/BPs/GI seul — lot STE, registre D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-TACHES.md ligne STE-ORG
2 Complexité : a1 b2 c1 d2 e1 f1 = 8 → N3 (aucun) ; barème § 2 : C3 = 1 (SPEC au geste près, 62 gestes) ; S = 2 < 3 → pas de scission ; C9a : relu le 2026-10-14 par l'orchestrateur (UE-GO de Big Boss ; UeState 0 ; GI E64B5B37C9EF0DB7735DE0D6E3BD7C1C = G16 + STG B7-a, non commité ; P0 levé : ForceEnd = 'true' à Endsex, dumps\SexAction__EventGraph_P0.txt)
2b Agent : lp-mcp-bp — à invoquer : lp-mcp (§ 1-4), sk-change-safety — outils retirés : aucun
3 Contexte :
- UE-GO de Big Boss (2026-10-14, créneau STE : P0 fait, GEL1-I fait, IMPL ORG4 ; le build COMMUN-6 part juste après).
- Tu lances et fermes toi-même l'éditeur headless selon
lp-mcp§ 2 : 0 processusUnrealEditorde la copie 5.8 avant ;-abslog=D:\Game\LifePlay-master 5.8\Saved\Logs\STE-ORG4-headless-<horodatage>.log; prêt quand le journal montreLogHttpListener: Created new HttpListener on 127.0.0.1:8000et queget_current_levelrépond (ne pas se fier seul àWait-HyperAIStudioMCP.ps1) ; si l'éditeur demande de recompiler des modules : arrêt sans accepter,BLOCKED-MODULES; à la finStop-Process -Id <pid>,Tools\UeState.ps1= 0, aucunGI_Auto*sousSaved\Autosaves(l'éditeur autosauvegarde vers 10 min : le déplacer sousD:\Game\LifePlay_Backup_5.5\STE-ORG4\autosave\et le dire). Connexion MCP de la session (ToolSearchselect:mcp__unreal-mcp__call_tool) ; outils absents →BLOCKED-MCP. - Instantané déjà pris par l'orchestrateur :
D:\Game\LifePlay_Backup_5.5\STE-ORG4\Content\BPs\GI.uasset(E64B5B37…). Ne relance pasSnapshot.ps1; contrôle les deux MD5 ; écart → arrêt. - Ne pas ouvrir ni enregistrer Person, Room, PC, SexAction, TopRight,
fnt_ext001;save_assetssur/Game/BPs/GIseul. MD5 de contrôle avant / après : TopRightCB835360, Room3A451FDD, PCF45BE57A, Person8668A47C, SexActionA8705F7F,Content\Heavy\New2\Furniture\fnt_ext001.uassetDF2DB514. - SPEC :
D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-ORG4c-SPEC.md(lire en entier : § 2.0 préalables, § 2.1 table des type_id dont 7 jamais créés à relever parfind_node_typesavec le filtre donné, § 2.2 O4a, § 2.3 O4c, § 2.4 comptes, § 2.6 règle commune, § 3 repli, décisions et « P0 levé » en fin de fichier) etSTE-ORG4-SPEC.md§ 2 (O4a, conventions). Dump de référence :dumps\GI__EventGraph_P2.txt(6 249 nœuds, avant G16 ; G16 = +4 → 6 253 ; B7-a dansShow, hors EventGraph). Points amont à reprendre :find_nodes title:""ne liste pas les commentaires (compte attendu par MCP = compte du dump moins ses commentaires) ; une sortiefind_nodesde plusieurs milliers de nœuds dépasse la limite : compter sur le fichier enregistré par l'outil ; unPromotableOperatornon relié s'affiche sous un autre type jusqu'à sa première liaison ; ordre O4a puis O4c, un seulsave_assetsà la fin. 4 Entrées et questions : - Avant toute écriture : compte de
GI:EventGraph; préalables P1-P7 de la SPEC (get_node_infosdes nœuds listés, liens = « avant ») ; tout écart → arrêt. - Nœuds, coupures, liens, valeurs : exactement ceux de la SPEC ; avant chaque
create_node:find_node_typesavec le filtre ; après :get_node_infos. - Après : relecture des 20 nouveaux nœuds et des nœuds de départ ; compte +20 ;
compile_blueprint {warnings_as_errors:true}→ aucun diagnostic ;save_assets/Game/BPs/GIseul ; MD5 de GI après ; MD5 de contrôle inchangés. - Si un type_id jamais créé est introuvable : appliquer le repli § 3 s'il est écrit ; sinon arrêt sans enregistrer (et dire si O4a seul peut être enregistré : Q-ORG4-5 l'autorise, O4a complet et compilé).
5 Pièges : un appel MCP à la fois ;
create_nodeprendpos;connect_pins/break_pinsprennentoutput_pin,input_pin; indices relus ; type_id localisés ; le crochetecriture-gardienrefuse tout caractère>en Bash (même2>&1,2>/dev/null),python -c, heredocs : au premier refus, arrêt et compte rendu ; aucun nom d'utilisateur niC:\Users\<nom>dans le livrable. 6 Interdits : aucun autre graphe ni asset ouvert en écriture ou enregistré ;delete_nodeinterdit ; aucune écriture parexecute_tool_scriptnihyper_*; pas deSnapshot.ps1,Restore.ps1, git en écriture ; pas de relance de l'éditeur après un arrêt ; aucunPerson::Cumajouté (+ sk-protocol § 2). 7 Livrable :D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ST\STE\STE-ORG4-IMPL.mdau gabarit IMPL : MD5 de départ, compte avant / après, correspondance SPEC → nom réel → type_id, coupures, liens et valeurs relus, compilation (heure du journal),save_assets, MD5 après, MD5 de contrôle, écarts, état de reprise si arrêt. Un seul Write, LF. 8 Critère d'acceptation : 20 nœuds, 2 coupures, 32 liens, 8 valeurs relus conformes ; +20 nœuds ; compilation 0 / 0 ; GI enregistré (MD5 ≠ départ) ; autres assets inchangés ; éditeur fermé, UeState 0 9 Budget et arrêt : ≈ 80 tours (plafond 95), pic ≤ 200 k, ≈ 60 min — tentative 1/4 ; arrêt au premier refus de permission ou du crochet, sur tout écart des préalables, ou sur un diagnostic de compilation ; au budget : arrêt sans enregistrer un graphe incomplet, livrable partiel avec état de reprise