Fiche CAM-T6 — Niveau N1 — Modèle prévu : modèle de l'agent lp-builder (valeur non précisée dans la fiche) | utilisé claude-haiku-5-5 (Haiku 5.5) — Agent lp-builder — Skills lp-commandlets, sk-windows-shell, sk-protocol (invoqués) ; lp-build (chargé dans le contexte) # CAM-T6-BUILD : LPDumpFunction en lecture seule, broches et liens d'exécution (2026-10-11) Résultat : réussi. Les trois commandlets rendent le code 0, 0 erreur, les liens d'exécution sont présents dans les trois sorties, les MD5 des trois assets sont identiques avant et après, et aucun fichier suivi par git hors `Docs\` n'a été modifié par ce run. Un fait hors de mon périmètre est survenu pendant le run : le HEAD a changé (voir § 9 et Constats). ## 1. Commande exacte Interpréteur : pwsh 7 (`pwsh -NoProfile -Command`), répertoire `D:\Game\LifePlay-master 5.8`. Une porte de processus précède chaque lancement (groupe `UnrealEditor*`, `ShaderCompileWorker*`, `UnrealBuildTool*`, `LifePlay*.exe` ; `Cursor.exe` noté, sans effet). Lancements, en arrière-plan, un par commandlet : ``` & "D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1" -Lot CAM-T6 -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM" -Commandlet LPDumpFunction -Args "-BP=Birdview -Fn=* -Pins -Exec" & "D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1" -Lot CAM-T6 -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM" -Commandlet LPDumpFunction -Args "-BP=ContactMenu -Fn=* -Pins -Exec" & "D:\Game\LifePlay-master 5.8\Tools\RunCommandlet.ps1" -Lot CAM-T6 -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM" -Commandlet LPDumpFunction -Args "-BP=Person -Fn=EventGraph -Pins -Exec" ``` Commande effective du moteur (ligne 2 de chaque sortie de tâche) : `D:\Game\Launcher\Engine\UE_5.8\Engine\Binaries\Win64\UnrealEditor-Cmd.exe "D:\Game\LifePlay-master 5.8\LifePlay.uproject" -run=LPDumpFunction -BP=... -Fn=... -Pins -Exec -unattended -nopause -nosplash -stdout -FullStdOutLogOutput -abslog=...`. Syntaxe vérifiée à la source, pas d'écart : `Source/LifePlayEditorTools/LPDumpFunctionCommandlet.cpp:85` (ParseCommandLine), `:89` (`Switches.Contains("Pins")`), `:92` (`Switches.Contains("Exec")`), `:150` (`-Fn=*` = tous les graphes), `:180` (sans `-Exec`, les broches d'exécution sont masquées). `-EtatDir` absolu : résumés écrits dans `Docs\Migration\etat\CAM\` (confirmé, § 10). ## 2. Code de sortie - Birdview : 0 (`Docs\Migration\etat\CAM\CAM-T6_LPDumpFunction_20261011-013552.txt`, ligne 3 : `code de sortie : 0` ; code de la tâche d'arrière-plan : 0). - ContactMenu : 0 (`...20261011-013659.txt`, ligne 3 ; tâche : 0). - Person EventGraph : 0 (`...20261011-013811.txt`, ligne 3 ; tâche : 0). - Ligne `code=…` de `RunCommandlet.ps1:72` absente de la sortie capturée (cause non établie, voir Constats). Le code 0 est donc établi par le résumé et par le code de sortie de la tâche, pas par cette ligne. ## 3. Modules recompilés sans objet : aucune compilation lancée (commandlets seuls, `UnrealEditor-Cmd` ne compile pas). Aucun module recompilé ; aucune DLL modifiée. ## 4. Erreurs et avertissements nouveaux - Erreurs : 0 ligne, 0 signature (ligne 6 des trois résumés : `=== Erreurs : 0 lignes, 0 signatures`). - Avertissements : sans objet au sens compilateur. Le résumé compte comme « avertissements » les lignes de dump, émises en `Warning` par la commandlet : Birdview 1784 lignes (1342 signatures), ContactMenu 6287 (4093), Person 19358 (12958). Aucun avertissement UBT, UHT ou C++. ## 5. Toolchain sans objet : aucune compilation. Moteur lu par `RunCommandlet.ps1` : UE 5.8, `D:\Game\Launcher\Engine\UE_5.8\Engine` (ligne 2 de chaque sortie de tâche). ## 6. Preuve de chargement si addon Addon chargé, établi par la sortie : `Docs\Migration\etat\CAM\CAM-T6_LPDumpFunction_20261011-013552.txt` lignes 111-120 : `PATHS racine addon D:/Game/LifePlay-Sandbox-5.8` ; `Modules : 8 sandbox, 16 jeu`. Preuve de chargement propre à un code nouveau : sans objet (aucun code nouveau compilé). ## 7. Journal archivé Journaux bruts (dans `Saved\Logs\portage\`, ignorés par git) : - `CAM-T6_LPDumpFunction_20261011-013552.log` (Birdview) - `CAM-T6_LPDumpFunction_20261011-013659.log` (ContactMenu) - `CAM-T6_LPDumpFunction_20261011-013811.log` (Person) Résumés comptés (dans `Docs\Migration\etat\CAM\`, ignorés par git) : mêmes radicaux, extension `.txt`. ## 8. MD5 avant / après Relevé avant lancement, puis après les trois commandlets (`Get-FileHash -Algorithm MD5`). | Asset | MD5 attendu | Avant | Après | Identique | |---|---|---|---|---| | `Content\BPs\Birdview.uasset` | AC4B231463C3FF61335A33B81300793C | AC4B231463C3FF61335A33B81300793C | AC4B231463C3FF61335A33B81300793C | oui | | `Content\UI\ContactMenu.uasset` | 369088B422E1D4F43788D91068114A64 | 369088B422E1D4F43788D91068114A64 | 369088B422E1D4F43788D91068114A64 | oui | | `Content\BPs\Person.uasset` | BE21838A677A61D5DD0FBAC2C6C25A5A | BE21838A677A61D5DD0FBAC2C6C25A5A | BE21838A677A61D5DD0FBAC2C6C25A5A | oui | Résultat : 3/3 identiques, avant et après. ## 9. git status avant / après Lecture seule (`git -C "D:\Game\LifePlay-master 5.8" status --short`). Aucune commande git en écriture. Avant : HEAD `4283c13`, branche `ue5.8`, 22 lignes (relevé au début du run) : ``` M Docs/Migration/etat/BOSS/BOSS-JOURNAL.md M Docs/Migration/etat/ST/STE/STE-TACHES.md M Docs/Migration/etat/U58/U8/U8-T3p.md M Docs/Migration/etat/U58/U8/U8-T6-VAL.md M Docs/Migration/etat/U58/U8/U8-TACHES.md M Docs/Migration/etat/U58/U8/fiches/U8-T8a.md ?? Docs/Migration/etat/CAM/ ?? Docs/Migration/etat/ST/STE/STE-H4-C0-SPEC.md ?? Docs/Migration/etat/ST/STE/STE-H4-DIAG.md ?? Docs/Migration/etat/ST/STE/STE-H4-MESURE.md ?? Docs/Migration/etat/ST/STE/fiches/STE-H4.md ?? Docs/Migration/etat/U58/U8/U8-T2r2-BUILD.md ?? Docs/Migration/etat/U58/U8/U8-T3r2-BUILD.md ?? Docs/Migration/etat/U58/U8/U8-T4r2-BUILD.md ?? Docs/Migration/etat/U58/U8/U8-T5ar2-VAL.md ?? Docs/Migration/etat/U58/U8/U8-T5br2-BUILD.md ?? Docs/Migration/etat/U58/U8/U8-T5cr2-VAL.md ?? Docs/Migration/etat/U58/U8/U8-T7b-VAL.md ?? Docs/Migration/etat/U58/U8/U8-T7b_streetmap_58.csv ?? Docs/Migration/etat/U58/U8/U8-T8a-BUILD.md ?? Docs/Migration/etat/U58/U8/fiches/U8-T2r2-T5br2.md ?? Docs/Migration/etat/U58/U8/fiches/U8-T7b.md ``` Après : HEAD `c01b543`, même branche, 9 lignes : ``` M Docs/Migration/etat/BOSS/BOSS-JOURNAL.md M Docs/Migration/etat/ST/STE/STE-TACHES.md ?? Docs/Migration/etat/CAM/ ?? Docs/Migration/etat/ST/STE/STE-H4-C0-SPEC.md ?? Docs/Migration/etat/ST/STE/STE-H4-DIAG.md ?? Docs/Migration/etat/ST/STE/STE-H4-MESURE.md ?? Docs/Migration/etat/ST/STE/fiches/STE-H4.md ?? Docs/Migration/etat/ST/STE/fiches/STE-H7.md ?? Docs/Migration/etat/ST/STE/fiches/STE-H8.md ``` Explication des différences : - Commit `c01b543` (auteur : identité git locale, 2026-10-11 01:38:18 +0200, « U8 : refonte U8r2 … »), créé pendant le run par une autre session : 18 fichiers, tous sous `Docs/Migration/etat/` (`git show --stat c01b543`). Il absorbe les U8 modifiés ou non suivis du relevé initial. Il ne touche ni `Content/` ni `Source/`. - `STE-H7.md` et `STE-H8.md` : apparus pendant le run, hors `CAM/`, hors de ce que mes commandes écrivent (`CAM\` et `Saved\Logs\portage\`). - Aucune ligne sous `Content/`, `Source/`, `Config/` ni hors `Docs/` dans les deux relevés. ## 10. Comptes des dumps Comptes faits sur les résumés `.txt` (une copie de chaque dump), par Grep avec ancres `^LogLPDump: Warning:` (les lignes de signatures d'avertissements commencent par un nombre, elles sont exclues). | Dump (fichier) | Graphes | Nœuds | Lignes `->` | Liens `execute ->` / `then ->` | Durée | Code | |---|---|---|---|---|---|---| | Birdview, toutes fonctions (`...013552.txt`) | 4 | 366 | 898 | 220 | 51 s | 0 | | ContactMenu, toutes fonctions (`...013659.txt`) | 34 | 1430 | 3253 | 919 | 51 s | 0 | | Person, EventGraph (`...013811.txt`) | 1 | 3684 | 9142 | 2892 | 56 s | 0 | Contrôles croisés : - Birdview : graphes `UserConstructionScript` 1 + `CheckIfCameraMovable` 16 + `isScreenPositionOccupied` 9 + `EventGraph` 340 = 366 nœuds, égal au décompte des lignes de nœuds. - ContactMenu : somme des 34 en-têtes « (N noeuds) » = 1430, égale au décompte des lignes de nœuds. - Person : en-tête 3684 = décompte 3684. - Liens d'exécution présents, exemples lus : `CAM-T6_LPDumpFunction_20261011-013552.txt` ligne 46 `then -> K2Node_CallFunction_14.execute` et ligne 128 `execute -> K2Node_FunctionEntry_18.then`. - Broches visibles (`-Pins`) : par exemple ligne 131 `GI -> K2Node_VariableGet_1.self, ...` (même fichier). - Journaux bruts : chaque dump y figure deux fois (sortie de commandlet, puis écho `LogInit: Display:` avec `-FullStdOutLogOutput`). Birdview : 6 en-têtes, 383 nœuds, 927 `->`, 222 liens exécution (`...013552.log`). ContactMenu : 37 en-têtes, 1445 nœuds, 3279 `->`, 925 liens exécution (`...013659.log`). Person : non compté dans le journal. Le résumé `.txt` ne garde qu'une copie : ce sont ses chiffres qui valent. ## 11. Fichiers à commiter - A `Docs/Migration/etat/CAM/CAM-T6-BUILD.md` (ce livrable, nouveau fichier, dépôt `D:\Game\LifePlay-master 5.8`, branche `ue5.8`). Le gardien décide du commit. - Aucun autre fichier suivi modifié par cet agent. Les `.txt` et `.log` produits sont ignorés par git. Tours : 26 / 40 (compte déclaré à la rédaction, `FicheStats.py` non lancé ; le Write est le 26e tour) ## Constats - Écart 1 (hors fiche) : HEAD passé de `4283c13` à `c01b543` pendant le run, par le commit d'une autre session (§ 9). La fiche citait `4283c13`. Aucune incidence sur les trois assets (MD5 identiques). - Écart 2 : la ligne `code=… duree=… erreurs=… avertissements=…` (`RunCommandlet.ps1:72`) n'apparaît pas dans la sortie capturée, alors que `exit $p.ExitCode` (ligne 75) ferme le pwsh englobant. Cause non établie ; essai qui trancherait : lancer `RunCommandlet.ps1` directement dans un terminal et lire la dernière ligne. - Point à noter : le résumé `RunCommandlet` range les lignes de dump dans « Avertissements » (Warning UE). Ce ne sont pas des avertissements de compilation ; les chiffres d'avertissements du § 4 ne doivent pas être lus comme des défauts. - Incertitude : `FicheStats.py` n'a pas été lancé ; le compte de tours (26) est déclaré, pas mesuré. - Aucune correction, aucun script, aucune édition hors du livrable.