22 KiB
Fiche STE-ORG4-Ic2 — Niveau N3 — Modèle prévu opus (xhigh) | utilisé claude-opus-5-5 — Agent lp-mcp-bp — Skills sk-protocol, sk-change-safety, lp-mcp, lp-lot
STE-ORG4c-IMPL : O4c, seconde moitié : coupure, 26 liens, 7 valeurs, compilation stricte, GI enregistré, éditeur fermé (2026-10-14)
Tentative 1 (fiche STE-ORG4-Ic) : arrêt au budget avant l'opération, rien d'écrit (livrable partiel remplacé par celui-ci). Première moitié : STE-ORG4c-Ic1.md (17 nœuds créés, éditeur laissé ouvert).
Résultat : réussi sur les critères d'acceptation de la fiche (rubrique 8), puis arrêt sur un refus du crochet au tout dernier geste. J'ai fait 1 coupure, 26 liens et 7 valeurs, et je les ai relus conformes. GI:EventGraph compte 6 271 nœuds. La compilation stricte rend null, sans Error ni Warning au journal. save_assets de /Game/BPs/GI seul : GI vaut maintenant 32fc0a970ab194626e8dc07df3a9633d. Les 6 assets de contrôle sont inchangés, l'éditeur est fermé et UeState vaut 0. Reste un point ouvert : l'autosauvegarde de l'éditeur a écrit Saved\Autosaves\Game\BPs\GI_Auto1.uasset (10:32:41). Le crochet ecriture-gardien a refusé de la déplacer vers D:\Game\LifePlay_Backup_5.5\STE-ORG4c\autosave\. Elle est toujours en place, et c'est à l'orchestrateur de la déplacer.
1. Fichiers modifiés
D:\Game\LifePlay-master 5.8\Content\BPs\GI.uasset: grapheEventGraph(événementCum, brancheForceEnd). MD5bd0a2256b875a3ac875630e4b85d92d7→32fc0a970ab194626e8dc07df3a9633d. Ce binaire porte aussi O4a, G16 et B7-a, qui étaient déjà dans l'état d'entrée.- Fichier écrit par l'éditeur hors
Content, non déplacé (refus du crochet) :D:\Game\LifePlay-master 5.8\Saved\Autosaves\Game\BPs\GI_Auto1.uasset(52 684 303 octets, 10:32). Son MD5 n'a pas été mesuré, parce que la commande refusée le calculait. - Ce livrable.
Déroulé (heures locales ; le journal de l'éditeur est en UTC, soit l'heure locale moins 2 h) :
| Étape | Commande / appel | Résultat brut |
|---|---|---|
| Contrôle d'entrée (10:29:03) | md5sum (GI, instantané, 6 assets de contrôle) ; tasklist //FI "PID eq 23296" ; ls -la Saved/Autosaves/Game/BPs Saved/Autosaves/Game/UI ; git status --short -- Content |
MD5 au § 3, conformes ; UnrealEditor.exe 23296 Console 1 8 055 272 Ko ; aucun GI_Auto* (BPs : Person_Auto1, Room_Auto1..4, TestStatic_Auto1 ; UI : MainMenu_Auto1) ; M GI, PC, Person, Room, TopRight |
| Disponibilité | SceneTools.get_current_level {} |
{"returnValue":"/Game/Scenes/CentralLondon"} |
| Compte d'entrée | BlueprintTools.find_nodes {graph:{refPath:"/Game/BPs/GI.GI:EventGraph"}, title:""} (412 732 caractères, enregistrés par l'outil dans %USERPROFILE%\.claude\projects\…\tool-results\mcp-unreal-mcp-call_tool-1791966548416.txt) ; grep -o '"refPath"' <fichier> | wc -l ; grep -oE des 17 noms | sort | uniq -c |
6271 ; chacun des 17 noms présent 1 fois |
| Nœuds d'Ic1 et de départ | get_node_infos de IfThenElse_875, CallFunction_11423, VariableGet_3498, MacroInstance_97, PromotableOperator_0, CallFunction_992 |
liens « avant » identiques à Ic1 (IfThenElse_875.then → CallFunction_11423:0 seul ; CallFunction_11423.execute ← 3 sources ; VariableGet_3498 → GetArrayItem_1037:0 seul) ; les 3 nœuds d'Ic1 sans lien, broches identiques à la table d'Ic1 |
| Coupure | break_pins IfThenElse_875 out 0 / CallFunction_11423 in 0 |
{"returnValue":null} |
| Liens 1, 2 | connect_pins |
null ×2 |
| Typage de la macro | get_node_infos MacroInstance_97 |
Array « Matrice de Person Référence d'objets » ← VariableGet_3498:0 ; Array Element (out 1) « Person Référence d'objet » ; indices inchangés (0 LoopBody, 1 Array Element, 2 Array Index, 3 Completed) |
Liens 3 à 12, valeur Penis, liens 13 à 19 |
connect_pins ×17, set_pin_value ×1 |
null ×18 |
| Typage des comparateurs | get_node_infos PromotableOperator_0, PromotableOperator_1, CallFunction_878 |
C1, C2 : A et B « Float (double-précision) », A ← VariableGet_784:0, B vide, type affiché `Math |
| Valeurs 90.0 et 100.0, liens 20 à 26, 4 valeurs des marqueurs | set_pin_value ×2, connect_pins ×7, set_pin_value ×4 |
null ×13 |
| Relecture finale (10:32:22) | get_node_infos en 2 lots de 10 (les 17 nœuds et les 3 nœuds existants touchés) ; Bash : wc -l du journal |
tout conforme, voir les tables ci-dessous ; journal : 2448 lignes ; grep -c 'Fatal|LogBlueprint: Error|SavePackage' → 0 ; processus 23296 vivant |
| Compte final | find_nodes (412 732 caractères, …\tool-results\mcp-unreal-mcp-call_tool-1791966755910.txt) ; grep -o '"refPath"' <fichier> | wc -l |
6271 |
| Compilation (10:32:46) | BlueprintTools.compile_blueprint {blueprint:{refPath:"/Game/BPs/GI.GI"}, warnings_as_errors:true} |
{"returnValue":null} ; journal l. 2464 LogBlueprint: Compiling Blueprint '/Game/BPs/GI.GI' (08:32:46 UTC), puis l. 2465 LogUObjectHash: Compacting … et l. 2466 LogAutomationController: Ignoring very large delta … ; tail -n +2449 <journal> | grep -c 'Error|Warning' → 0 |
| Autosauvegarde de l'éditeur (10:32:41, avant la compilation) | (non demandée ; journal l. 2454-2460) | Editor autosave … for '/Game/Scenes/CentralLondon', puis OBJ SAVEPACKAGE PACKAGE="/Game/BPs/GI" FILE="…/Saved/Autosaves/Game/BPs/GI_Auto1.uasset" … AUTOSAVING=true et Moving '…/Saved/GI_Auto1…tmp' to '…/Saved/Autosaves/Game/BPs/GI_Auto1.uasset'. Aucune autosauvegarde de niveau n'apparaît sous Saved/Autosaves/Game |
| Enregistrement (10:33:09) | AssetTools.save_assets {asset_paths:["/Game/BPs/GI"]} |
{"returnValue":true} ; journal après la l. 2466 : OBJ SavePackage … package [/Game/BPs/GI], LogSavePackage: Moving output files for package: /Game/BPs/GI, Moving '…/Saved/GIFEEE9E2E4C6454AE3994E2932020BC47.tmp' to '…/Content/BPs/GI.uasset' ; aucun autre paquet, aucune ligne Error / Warning |
| Fermeture (10:33:27 à 10:33:38) | md5sum GI ; pwsh -NoProfile -Command "Stop-Process -Id 23296; Wait-Process -Id 23296 -Timeout 120; Start-Sleep -Seconds 10; …" ; pwsh -NoProfile -File Tools/UeState.ps1 ; tasklist //FI "IMAGENAME eq UnrealEditor.exe" ; md5sum ×7 ; ls des autosauvegardes ; find Saved/Autosaves -name 'GI_Auto*' ; git status --short -- Content |
GI 32fc0a97… avant et après la fermeture ; Wait-Process: Impossible de trouver un processus avec l'identificateur de processus 23296. (déjà terminé, sans effet) ; ferme 10:33:38 ; processus=0 editeur=0 compilation=0 shaders=0 jeu=0 ; aucune tâche UnrealEditor.exe ; 6 assets de contrôle inchangés ; Saved/Autosaves/Game/BPs/GI_Auto1.uasset (52 684 303 octets, 10-14 10:32) ; M GI, PC, Person, Room, TopRight (comme à l'entrée) |
| Déplacement de l'autosauvegarde | mkdir -p "D:/Game/LifePlay_Backup_5.5/STE-ORG4c/autosave" && mv -n Saved/Autosaves/Game/BPs/GI_Auto1.uasset … |
refusé par le crochet, commande non exécutée : Refus du crochet ecriture-gardien. Agent : lp-mcp-bp — Ecriture: mkdir -p D:/Game/LifePlay_Backup_5.5/STE-ORG4c/autosave — Cet agent n'a pas de droit d'ecriture (sk-protocol § 7) … Chemins libres : etat/, Saved/Logs/portage/, Saved/<lot>/, le dossier temporaire. → arrêt (fiche, rubrique 5) |
Coupure, liens et valeurs (relus)
refPath = /Game/BPs/GI.GI:EventGraph.K2Node_<Nom>. « out n » = EGPD_Output d'indice n ; « in n » = EGPD_Input d'indice n.
| # SPEC | Geste | Relu (relecture finale) |
|---|---|---|
| coupure | IfThenElse_875 out 0 ✕ CallFunction_11423 in 0 |
IfThenElse_875.then → MacroInstance_97:0 seul ; CallFunction_11423.execute ne reçoit plus IfThenElse_875 |
| 1 | IfThenElse_875 out 0 → MacroInstance_97 in 0 |
oui |
| 2 | VariableGet_3498 out 0 → MacroInstance_97 in 1 |
SexPersons → 2 cibles : GetArrayItem_1037:0, MacroInstance_97:1 |
| 3 | MacroInstance_97 out 3 → CallFunction_11423 in 0 |
CallFunction_11423.execute ← 3 sources : CallFunction_32955:0, IfThenElse_189:0, MacroInstance_97:3 |
| 4 | MacroInstance_97 out 0 → IfThenElse_222 in 0 |
oui |
| 5 | MacroInstance_97 out 1 → CallFunction_729 in 0 |
oui (Object « Référence d'objet ») |
| 6 | CallFunction_729 out 0 → IfThenElse_222 in 1 |
oui |
| 7 | IfThenElse_222 out 0 → IfThenElse_223 in 0 |
oui |
| 8 | MacroInstance_97 out 1 → VariableGet_782 in 0 |
oui |
| 9 | VariableGet_782 out 0 → CommutativeAssociativeBinaryOperator_111 in 0 |
oui (IsMale → A) |
| 10 | MacroInstance_97 out 1 → VariableGet_783 in 0 |
oui |
| 11 | VariableGet_783 out 0 → CallFunction_737 in 0 |
oui (Genital Texte → InText « Texte (par référence) ») |
| 12 | CallFunction_737 out 0 → CallFunction_878 in 0 |
oui (ReturnValue Chaîne → A Chaîne) |
| 13 | CallFunction_878 out 0 → CommutativeAssociativeBinaryOperator_111 in 1 |
oui |
| 14 | CommutativeAssociativeBinaryOperator_111 out 0 → IfThenElse_223 in 1 |
oui |
| 15 | IfThenElse_223 out 0 → IfThenElse_224 in 0 |
oui |
| 16 | IfThenElse_223 out 1 → IfThenElse_225 in 0 |
oui |
| 17 | MacroInstance_97 out 1 → VariableGet_784 in 0 |
oui |
| 18 | VariableGet_784 out 0 → PromotableOperator_0 in 0 |
oui |
| 19 | VariableGet_784 out 0 → PromotableOperator_1 in 0 |
Sex_Orgasm → 2 cibles |
| 20 | PromotableOperator_0 out 0 → IfThenElse_224 in 1 |
oui |
| 21 | PromotableOperator_1 out 0 → IfThenElse_225 in 1 |
oui |
| 22 | IfThenElse_224 out 1 → CallFunction_918 in 0 |
oui |
| 23 | IfThenElse_225 out 1 → CallFunction_988 in 0 |
oui |
| 24 | CallFunction_918 out 0 → CallFunction_992 in 0 |
oui |
| 25 | CallFunction_988 out 0 → CallFunction_992 in 0 |
CallFunction_992.execute ← 2 sources (CallFunction_918:0, CallFunction_988:0) |
| 26 | MacroInstance_97 out 1 → CallFunction_992 in 1 |
Array Element → 5 cibles : CallFunction_729:0, VariableGet_782:0, VariableGet_783:0, VariableGet_784:0, CallFunction_992:1 |
| Valeur | Broche | Avant | Après (relu) |
|---|---|---|---|
| V1 | CallFunction_878 in 1 (B, Chaîne) |
vide (Ic1) | Penis |
| V2 | PromotableOperator_0 in 1 (B, double) |
vide (relu après le lien 19) | 90.0 |
| V3 | PromotableOperator_1 in 1 (B, double) |
vide (relu après le lien 19) | 100.0 |
| V4 | CallFunction_918 in 1 (InString) |
Hello (Ic1) |
ORG4 bonus Endsex homme |
| V5 | CallFunction_918 in 2 (bPrintToScreen) |
true (Ic1) |
false |
| V6 | CallFunction_988 in 1 (InString) |
Hello (Ic1) |
ORG4 bonus Endsex femme |
| V7 | CallFunction_988 in 2 (bPrintToScreen) |
true (Ic1) |
false |
bPrintToLog reste true sur les deux marqueurs (TextColor (R=0.000000,G=0.660000,B=1.000000,A=1.000000), Duration 2.000000, Key None : valeurs par défaut). |
Contrôles de la SPEC § 2.3, relus en fin :
IfThenElse_875.else→MacroInstance_18:0 inchangé ;IfThenElse_875.execute←IfThenElse_98:0 etCondition←CustomEvent_4245:2, inchangés.- Les 4 Branches ont leur
Conditionreliée :IfThenElse_222←CallFunction_729:0 ;IfThenElse_223←CommutativeAssociativeBinaryOperator_111:0 (et nonVariableGet_782directement) ;IfThenElse_224←PromotableOperator_0:0 ;IfThenElse_225←PromotableOperator_1:0. - Impasses vides :
IfThenElse_222out 1 (else),IfThenElse_224out 0 (then),IfThenElse_225out 0 (then),CallFunction_992out 0 (then) ;MacroInstance_97out 2 (Array Index) sans lien. - Typage :
Array Element« Person Référence d'objet » ;PromotableOperator_0/1:A,B« Float (double-précision) », affichésMath|Flottant|float<floataprès liaison (et non plusMath|Durée|Timespan<Timespan) ;CallFunction_878:A,B« Chaîne », typeUtilitaires|Chaîne|Equal,CaseInsensitive(String);CallFunction_737:Utilitaires|Chaîne|ToString(Text);CommutativeAssociativeBinaryOperator_111:Math|Booléen|ORBoolean, deux broches d'entrée (aucune ajoutée) ;VariableGet_784:|GetSex_Orgasm, sortie « Float (double-précision) ». - Seule la sortie
Completed(out 3) de la boucle rejointAfterCumSpeed.
Garde Accessed None (lp-mcp § 1 règle 4) : IsValid (CallFunction_729) et la Branche IfThenElse_222 forment une garde prudentielle, décidée par Q-ORG4c-4 de la SPEC. Un élément nul dans SexPersons n'a jamais été relevé comme un état normal. La garde rend aussi sûr le OU pur CommutativeAssociativeBinaryOperator_111 (R-ORG4c-11) : ses deux opérandes sont lus sur l'élément déjà validé. Les autres conditions sont des cascades de Branches. Le comportement change volontairement (bonus à Endsex, décisions de l'utilisateur du 2026-10-14) ; le chemin existant reste identique quand SexPersons est vide (Completed part aussitôt vers AfterCumSpeed).
2. Écarts à la SPEC
- Autosauvegarde non déplacée : la fiche (rubrique 3) demande de déplacer
GI_Auto*versD:\Game\LifePlay_Backup_5.5\STE-ORG4c\autosave\. Le crochetecriture-gardienrefuse à l'agentlp-mcp-bptoute écriture horsetat/,Saved/Logs/portage/,Saved/<lot>/et du dossier temporaire. Je me suis arrêté là, sans contournement. Rien n'a été créé ni déplacé. Le fichierSaved\Autosaves\Game\BPs\GI_Auto1.uasset(52 684 303 octets, 10:32) reste à déplacer par l'orchestrateur. Il ne touche pasContent\BPs\GI.uasset. Le risque est qu'à la prochaine ouverture de l'éditeur, une invite de restauration propose cette version, qui précède la compilation. - Ordre des valeurs :
90.0et100.0ont été posés après les liens 18 et 19, après une relecture du typage des deux comparateurs. La consigne de la SPEC (« relierSex_OrgasmàC1.Aet àC2.Aavant de poser lesB») est donc respectée. Les deux valeurs des marqueurs ont été posées après le lien 26, etPenisjuste après le lien 12. L'ordre des 26 liens est celui de la SPEC. - « Relire avant et après » les valeurs : pour
InString,bPrintToScreenetE.B, la valeur « avant » est celle relue par Ic1 (Hello,true, vide). PourC1.BetC2.B, c'est la relecture faite ici après le lien 19 (vides). Pas de relecture dédiée juste avant chaqueset_pin_value. Le « après » est la relecture finale. hyper_blueprint_debug_inspect: non appelé. Le serveur ne l'a pas (mémoire du projet ; je ne l'ai pas revérifié dans cette session). Le repli de la SPEC § 2.1 s'applique : compilation stricte + journal.- Messages mixtes : quatre messages ont associé une commande Bash (ou un Grep) à une lecture MCP : le contrôle d'entrée avec
get_current_level; le comptage d'entrée avecget_node_infos; lewc -ldu journal avec la relecture finale (lot 1) ; le comptage final aveccompile_blueprint. Un Grep deSTE-ORG4a-IMPL.mdest aussi parti avec la relecture de la macro. Aucunconnect_pins,break_pins,set_pin_valuenisave_assetsn'a été accompagné d'une autre commande. Il n'y a jamais eu deux appels MCP dans un même message. Wait-Processa signalé « Impossible de trouver un processus » : le processus était déjà terminé à la fin deStop-Process. La commande a continué,Start-Sleep -Seconds 10compris. Sans effet.- Pas d'autre écart : aucun nœud créé, aucun
delete_node, aucun repli de conception, aucune écriture parexecute_tool_scriptnihyper_*, aucun autre asset enregistré.
3. Instantané
Pris par l'orchestrateur, non relancé (fiche, rubrique 6) : D:\Game\LifePlay_Backup_5.5\STE-ORG4c\Content\BPs\GI.uasset. Je n'ai pas relu le manifeste ; le MD5 du fichier sauvegardé a été mesuré à l'entrée.
| Fichier | MD5 entrée (10:29:03) | MD5 sortie (10:33:38, éditeur fermé) |
|---|---|---|
Content\BPs\GI.uasset |
bd0a2256b875a3ac875630e4b85d92d7 |
32fc0a970ab194626e8dc07df3a9633d (déjà mesuré à 10:33:27, avant la fermeture) |
instantané STE-ORG4c\Content\BPs\GI.uasset |
bd0a2256b875a3ac875630e4b85d92d7 |
non remesuré (non touché) |
Content\BPs\Room.uasset |
931387479e2d15f80bc4f36398907712 |
identique |
Content\BPs\PC.uasset |
f45be57a39d13d3eb19d0b543153ab0b |
identique |
Content\BPs\Person.uasset |
8668a47c627f7a5254910cf0ac33b12a |
identique |
Content\UI\SexAction.uasset |
a8705f7fbe1fde1daba0464bfc9ff9b5 |
identique |
Content\UI\TopRight.uasset |
cb8353603cf95849b4f778a33b4bfbd2 |
identique |
Content\Heavy\New2\Furniture\fnt_ext001.uasset |
df2db514e0e2345c6ccac66a0787621f |
identique |
Retour arrière (proposé, non lancé, éditeur fermé, sur décision de l'orchestrateur) : .\Tools\Restore.ps1 -Lot STE-ORG4c -Only Content\BPs\GI.uasset -WhatIf, puis la même commande sans -WhatIf. Attendu : GI bd0a2256… (état d'après O4a, avec G16 et B7-a). Après un commit du gardien : git revert du commit du ticket. |
Entrée de journal (sk-change-safety) : 2026-10-14 | O4c (coupure, 26 liens, 7 valeurs sur les 17 nœuds d'Ic1), GI:EventGraph | Content\BPs\GI.uasset | retour arrière : Restore.ps1 -Lot STE-ORG4c -Only Content\BPs\GI.uasset | instantané : D:\Game\LifePlay_Backup_5.5\STE-ORG4c\ | vérification : GI bd0a2256… → 32fc0a97…, 6 autres assets identiques, 6 271 nœuds, compilation 0 / 0.
4. Ce qui n'a pas été fait
- L'autosauvegarde
GI_Auto1.uassetn'a pas été déplacée (refus du crochet, § 2), et son MD5 n'a pas été mesuré. - Pas de dump
LPDumpFunctionni deCompileAllBlueprints(éditeur fermé) : c'est la VAL V5. - Pas de preuve en jeu (build empaqueté +
LogStats, V6) : hors de cette fiche (lp-mcp§ 1 règle 5). - Les noms de fonctions des nœuds T, E et O (
Conv_TextToString,EqualEqual_StriStri,BooleanOR) ne sont pas affichés parget_node_infos. Je n'ai relu que leurs type_id et leurs broches. - Le chevauchement des positions avec des nœuds existants n'a pas été vérifié (cosmétique, Ic1 § 2).
5. Points à confirmer en VAL
- Autosauvegarde :
D:\Game\LifePlay-master 5.8\Saved\Autosaves\Game\BPs\GI_Auto1.uassetdéplacée par l'orchestrateur versD:\Game\LifePlay_Backup_5.5\STE-ORG4c\autosave\;find Saved/Autosaves -name 'GI_Auto*'→ aucun résultat. md5sum Content/BPs/GI.uasset→32fc0a970ab194626e8dc07df3a9633d; Room93138747…, PCf45be57a…, Person8668a47c…, SexActiona8705f7f…, TopRightcb835360…,fnt_ext001df2db514…inchangés.- Dump V5 (
-BP=GI -Fn=EventGraph -Pins -Exec) : en-tête(6273 noeuds), soitfind_nodes6 271 plus l'écart constant de +2 relevé en O4a (Ic1 § 5) ; les liens de la SPEC § 7 V5 ;CallFunction_737=KismetTextLibrary::Conv_TextToString();CallFunction_878=KismetStringLibrary::EqualEqual_StriStri()avecB=Penis;CommutativeAssociativeBinaryOperator_111=KismetMathLibrary::BooleanOR();PromotableOperator_0/1=Less_DoubleDoubleavecB90 / 100. - Comptes relatifs au dump P1 (SPEC § 7 V5) :
macro 'ForEachLoop'+1,GiveOrgasmReward0 → 1,PrintString+2,variable 'IsMale'+1,variable 'Genital'+1,Conv_TextToString+1,EqualEqual_StriStri+1,BooleanOR+1,variable 'Sex_Orgasm'0 → 1,Sex_OrgasmCounts0 → 0. - Diff indépendant (
DiffRemplacementNoeuds.py) : 7 nœuds communs aux broches modifiées (4 pour O4a, plusIfThenElse_875,CallFunction_11423,VariableGet_3498) ;GetArrayItem_1037n'est pas touché. CompileAllBlueprints, éditeur fermé : 0 erreur ;LPTestStringCompat3120 / 0 / 60.- V6 en jeu (S1 à S6 de la SPEC § 7), avec le build empaqueté et
LogStats.
6. Fichiers à commiter
Dépôt jeu, branche ue5.8 (ticket au gardien ; GI est un binaire unique qui porte aussi O4a, G16 et B7-a, R-ORG4c-6) :
- M
Content/BPs/GI.uasset(MD532fc0a970ab194626e8dc07df3a9633d) - A
Docs/Migration/etat/ST/STE/STE-ORG4c-IMPL.md(ou M si l'orchestrateur a fait commiter le livrable partiel de la tentative 1) Ne se commitent pas :Saved\Autosaves\…\GI_Auto1.uasset(à déplacer), le journalSaved\Logs\STE-ORG4c-headless-20261014-102142.log(trace).
Tours : 51 / 50 (plafond 60 ; compte de l'agent, python -I Tools/FicheStats.py --lot STE fait foi)
Constats
- 44 appels MCP en tout, un seul par message :
get_current_level×1,find_nodes×2,get_node_infos×5,break_pins×1,connect_pins×26,set_pin_value×7,compile_blueprint×1,save_assets×1. Toutes les écritures ont rendu{"returnValue":null}(ettruepoursave_assets). - Toolsets vérifiés (journal de l'éditeur) :
editor_toolset.toolsets.blueprint.BlueprintToolspourfind_nodes,get_node_infos,compile_blueprint;editor_toolset.toolsets.asset.AssetTools.save_assetsa répondutrue. - Les comparateurs promotables (
Inférieurà(<)) affichentMath|Durée|Timespan<Timespantant qu'ils ne sont pas reliés, puisMath|Flottant|float<floatdès queAreçoit un double.Bprend le type double tout seul, sans lien. - Autosauvegarde de l'éditeur pendant la session : environ 11 minutes après le lancement (10:21:42 → 10:32:41), l'éditeur a écrit
GI_Auto1.uasset, le paquet modifié en mémoire, sousSaved\Autosaves. Le risque relevé par Ic1 (« Constats ») s'est réalisé. Pour les prochaines sessions MCP longues, l'orchestrateur peut prévoir lui-même le déplacement (le crochet le refuse àlp-mcp-bp), ou couper l'autosauvegarde au lancement (piste non vérifiée). - Aucun
>,<niteedans les commandes ; aucun fichier intermédiaire désigné par une variable :F=…désigne le fichier que l'outil a enregistré, que j'ai seulement lu. Un seul refus du crochet (le déplacement de l'autosauvegarde), et aucun refus de permission. - Aucun nom de compte cité : les chemins du profil sont écrits
%USERPROFILE%.