126 lines
10 KiB
Markdown
126 lines
10 KiB
Markdown
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.
|