59 lines
8.1 KiB
Markdown
59 lines
8.1 KiB
Markdown
Fiche KEY2-VAL-03 — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent A-VAL (lp-validator) — Skills sk-protocol, sk-recount, debug-verification, lp-validate
|
|
# KEY2-VAL-03 : validation statique de KEY2-BUILD-02 (2026-10-20)
|
|
|
|
Résultat : PASS global (6 critères PASS ; recompte par les journaux et lecture des objets intermédiaires, aucune recompilation). Niveaux : établi = commande rejouée par moi ; estimé = déduit ; incertain = non vérifié.
|
|
|
|
## 1. Fiches amont relues
|
|
- `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\KEY2\KEY2-BUILD-02.md` (lu en entier).
|
|
- `KEY2-VAL-01.md` (modèle de forme, lu en entier).
|
|
- Journaux `KEY2_Build_20261020-105554.log` et `KEY2_Build_20261020-105653.log` (grep et `Build.ps1 -FromLog`).
|
|
|
|
## 2. Points à confirmer des IMPL amont
|
|
- BUILD-02 § État de reprise (a) sortie PubCheck : PASS (rejouée, Constats).
|
|
- BUILD-02 (b) un build qui recompile `LPCameraModeSubsystem.cpp` pour le C4701 `Aim` : reporté (ce build ne le recompile pas, établi critère 3).
|
|
- BUILD-02 (c) `FicheStats.py` : reporté (non demandé).
|
|
- IMPL-01 § 5 V1 à V23 (comportement) : reportés, hors périmètre d'une VAL de build.
|
|
|
|
## 3. Critères rejoués
|
|
Cwd `D:\Game\LifePlay-master 5.8`, branche ue5.8.
|
|
|
|
| # | Critère | Recompté | Commande / source | Verdict |
|
|
|---|---|---|---|---|
|
|
| 1 | Recompte `-FromLog` ; `Result: Succeeded` | Journal 105554 : `code=-1 duree=0s erreurs=0 avertissements=0 autres=20 unites=3`, l.53 `Result: Succeeded`. Journal 105653 : `code=-1 duree=0s erreurs=0 avertissements=0 autres=0 unites=3`, l.30 `Result: Succeeded`. Processus Build.ps1 code 0 deux fois (code=-1 par construction du mode -FromLog) | `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\Build.ps1" -Lot KEY2 -FromLog "<journal complet>" -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\KEY2"` + Grep `Result:` | PASS |
|
|
| 2 | 0 erreur ; avertissements connus seuls | Erreurs 0 dans les deux (Grep `error` insensible à la casse : aucune ligne compilateur). Avertissements compilateur 0 (aucun C4701). Journal 105554 l.9 à 28 : 20 lignes `Warning: Plugin 'HyperAIStudio' does not list plugin…` (connues). Journal 105653 : aucune ligne warning. Aucun avertissement nouveau. `LPCameraModeSubsystem.cpp` non recompilé, donc l'absence du C4701 `Aim` est attendue ; il n'est ni confirmé ni corrigé | Grep `warning\|error` sur les deux journaux | PASS |
|
|
| 3 | Unités et binaires | Journal 105554 : l.42 `Compile [x64] LPKeyboardSubsystem.cpp`, l.43 `Compile [x64] LPSettingsSubsystem.cpp`, l.44 `Module.LifePlay.cpp`, l.45 `Link UnrealEditor-LifePlay.dll`. Journal 105653 : l.20 et l.21 mêmes unités `[NoUba]`, l.22 Module, l.23 `Link LifePlay.exe`, l.28 `Output binary`. Ligne toolchain : `…\MSVC\14.50.35717` (l.34 / l.13). MD5 actuels : LPKeyboardSubsystem.cpp `7960e871cdc9a9f4d1426b0872d4c90e`, LPSettingsSubsystem.cpp `5ff9f26d45634de43113098fb9798597` (conformes). Dates : Keyboard.cpp 10:50:18, Settings.cpp 10:53:35, tous deux avant le début du build 1 (10:55:54 d'après le nom du journal). Binaires : UnrealEditor-LifePlay.dll 10:56:43 ; LifePlay.exe 10:57:52 (postérieurs) | Grep journaux ; `md5sum` ; `ls -l --time-style=full-iso` | PASS |
|
|
| 4 | Fichiers neufs STM1 `LPCityWaterSubsystem.cpp/.h` | Voir ci-dessous : à jour dans les deux cibles, UBT les voit | `ls -l`, `find Intermediate\Build\Win64`, Grep | PASS |
|
|
| 5 | Fins de ligne Keyboard.cpp et Settings.cpp = HEAD | `git ls-files --eol` : `i/crlf w/crlf` pour les deux. CR contre LF (`tr -cd '\r'` et `tr -cd '\n'`) : Keyboard.cpp CR=1486 LF=1486 ; Settings.cpp CR=896 LF=896. HEAD : Keyboard.cpp CR=958 LF=958 ; Settings.cpp CR=887 LF=887. CRLF partout, aucun LF seul, style identique à HEAD | commandes citées | PASS |
|
|
| 6 | UeState | `processus=0 editeur=0 compilation=0 shaders=0 jeu=0`, code 0 | `pwsh -NoProfile -File "D:\Game\LifePlay-master 5.8\Tools\UeState.ps1"` | PASS |
|
|
|
|
Critère 4, preuves (établi, lecture seule) :
|
|
- Sources : `Source/LifePlay/LPCityWaterSubsystem.h` 10:46:38 ; `.cpp` 10:47:24.
|
|
- Cible éditeur : `Intermediate\Build\Win64\x64\UnrealEditor\Development\LifePlay\LPCityWaterSubsystem.cpp.obj` 10:47:53 (1 056 417 octets), `.dep.json` 10:47:52 : postérieurs aux deux sources.
|
|
- Cible jeu : `…\x64\UnrealGame\Development\LifePlay\LPCityWaterSubsystem.cpp.obj` 10:48:59 (890 276 octets), `.dep.json` 10:48:57 : postérieurs aux deux sources.
|
|
- Les deux `Module.LifePlay.cpp` (unité regroupée, 10:55:58 éditeur, 10:56:56 jeu) n'incluent que `…\UHT\LPCityWaterSubsystem.gen.cpp` (l.8 éditeur, l.8 jeu), pas le `.cpp` : le fichier est compilé comme unité à part (`LPCityWaterSubsystem.cpp.obj`), comme Keyboard et Settings qui sont des fichiers modifiables hors regroupement. Les fichiers UHT `LPCityWaterSubsystem.generated.h` / `.gen.cpp` existent pour les deux cibles.
|
|
- Conclusion : UBT les voit (UHT, objet, dep.json générés). Ils ne figurent pas dans les unités de BUILD-02 parce que leurs objets sont à jour (compilés à 10:47 et 10:48 par un build antérieur, avant le build 1 de BUILD-02). Estimé, non vu : que ces objets sont ceux liés dans la DLL (10:56:43) et l'exe (10:57:52) ; ils sont plus anciens que les liens et aucun journal ne dit le contraire, mais la liste des entrées de l'éditeur de liens n'a pas été lue.
|
|
- Hors demande, même lecture : `LPBuildCityWaterCommandlet.cpp` (10:40:51) et `LifePlayEditorTools.Build.cs` (10:40:58) ont leur objet `LPBuildCityWaterCommandlet.cpp.obj` à 10:41:22 et `UnrealEditor-LifePlayEditorTools.dll` à 10:41:24 : à jour aussi (module non compilé par ces builds).
|
|
|
|
## 4. Diff lu en entier
|
|
Non lu en entier (hors périmètre : VAL de build). Comptage brut : `git diff --stat -- Source/LifePlay/LPSettingsSubsystem.cpp` = 1 fichier, 9 insertions. Le diff de LPKeyboardSubsystem.cpp n'a pas été relu ; son MD5 a changé depuis VAL-01 (`7501EC6A…` devenu `7960E871…`, CR 1476 devenu 1486) : modifié par KEY2-DIAG-01, conformité à la SPEC non vérifiée ici.
|
|
|
|
## 5. Verdict
|
|
PASS global : code 0 des deux builds (`Result: Succeeded` lu dans les journaux), 0 erreur, 0 avertissement nouveau, unités, MD5, dates et binaires conformes, fichiers STM1 à jour dans les deux cibles, fins de ligne identiques à HEAD, UeState 0. Témoin en jeu : à créer (correctif de comportement KEY2, aucun cas COMMUN-<n>.<k> désigné ; demande à l'orchestrateur).
|
|
|
|
## 6. Points à confirmer par l'utilisateur
|
|
- [ ] Orchestrateur : désigner le cas COMMUN-<n>.<k> témoin de KEY2.
|
|
- [ ] Un build qui recompile `LPCameraModeSubsystem.cpp` pour confirmer ou écarter le C4701 `Aim`.
|
|
- [ ] VAL de comportement V1 à V23 (IMPL-01 § 5) et relecture du diff de DIAG-01 à ordonner.
|
|
|
|
Tours : 5 / 10
|
|
|
|
## Constats
|
|
- PubCheck, commande : `pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\PubCheck.ps1' -Fichiers @('D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\KEY2\KEY2-VAL-03.md','D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\KEY2\KEY2-BUILD-02.md')"` ; sortie dans le compte rendu de l'agent (un seul Write : ce livrable ne peut pas la contenir). Livrable écrit en LF.
|
|
- Effet de bord de ma vérification : `Build.ps1 -FromLog` écrit un résumé par appel ; les deux appels ont eu la même seconde, un seul fichier subsiste : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REL\KEY2\KEY2_BuildLog_20261020-105940.txt` (le premier est écrasé par le second, établi : les deux sorties citent `…105940`). Une première tentative (chemin `$l` mal cité) a échoué, code 1, rien écrit.
|
|
- Lignes 15 à 20 du livrable BUILD-02 vérifiées : durées 49,45 s et 60,35 s non rejouées (résumés `.txt` non relus) ; le reste des chiffres de BUILD-02 (3 unités, 20 / 0 lignes UBT, l.42-45 et l.20-23, l.28) est confirmé par mes lectures.
|
|
- Observation reprise de BUILD-02 non réexaminée : `-NoUBA` avec journal « Unreal Build Accelerator local executor » (incertain).
|
|
- Non mesuré : `LPTestStringCompat`, ouverture éditeur, exécution en jeu, entrées de l'éditeur de liens.
|
|
|
|
## Fichiers à commiter
|
|
- A `Docs/Migration/etat/REL/KEY2/KEY2-VAL-03.md` (dépôt jeu, branche ue5.8).
|
|
- `KEY2_BuildLog_20261020-105940.txt` (créé par moi) : suivi par git non vérifié ; à décider par le gardien.
|