11 KiB
Fiche CAM-B2f-VAL — Niveau N1 — Modèle prévu non précisé | utilisé claude-sonnet-5-5 — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate
CAM-B2f-VAL : Room, sonde C2 de Camera à Visibility (2026-10-13)
Verdict global : PASS. V5 PASS, V6 PASS, MD5 finaux PASS. Éditeur fermé au départ et à la fin. Je n'ai modifié aucun asset, aucun code, aucune doc validée ; seuls fichiers écrits : les 2 sorties de commandlet et ce livrable.
1. Fiches amont relues
Docs/Migration/etat/CAM/CAM-B2f-FICHE.md(§ 2 écritures et critères VAL, § 5 amendement B2f-a), lue en entier.Docs/Migration/etat/CAM/CAM-B2f-IMPL.md(seule IMPL amont de la fiche), lue en entier : § 1 à 6, constats C1 à C5, B2f-a A1 à A5.- Référence d'avant :
Docs/Migration/etat/CAM/CAM-B2d-VAL_LPDumpFunction_20261013-173214.txtetCAM-B2d-VAL_CompileAllBlueprints_20261013-173326.txt. - Hors périmètre de cette VAL : la partie C++ de la fiche (§ 1), qui se contrôle au build COMMUN-3 (V7).
2. Points à confirmer des IMPL
| Point (CAM-B2f-IMPL § 5) | Résultat | Preuve |
|---|---|---|
P1. Dump Room : TraceTypeQuery1 sur 459, 499, 505 ; 1260 nœuds ; aucun K2Node_IfThenElse_101 |
PASS | § 3 V5 |
P2. Diff avec le dump de l'instantané : seules les 3 valeurs TraceChannel changent |
PASS | § 3 V5 : 3 lignes de diff dans le corps, 10 778 lignes de part et d'autre |
| P2b. Baisse de 66 octets du fichier (6 378 087 → 6 378 021), cause non vérifiée | reporté (incertain) | Je ne l'ai pas tranchée : il faudrait comparer les deux binaires. Le dump logique n'a aucune différence autre que les 3 valeurs. Non bloquant. |
P3. MD5 de Room = F2B082D2… à l'ouverture de la VAL |
PASS | md5sum avant les commandlets (relevé en début de VAL) et après (§ 3) |
P4. V6 CompileAllBlueprints = référence |
PASS | § 3 V6 |
| P4b. V7 dans le build COMMUN-3 | reporté (COMMUN-3) | Hors de cette VAL |
P5. Ne pas accepter la restauration de Room_Auto1 au prochain lancement de l'éditeur |
reporté (consigne à l'utilisateur, case § 6) | Non rejouable ici : je n'ai pas ouvert l'éditeur ni regardé Saved/Autosaves. |
3. Critères rejoués
Conditions : copie D:\Game\LifePlay-master 5.8, branche ue5.8, moteur 5.8 (Tools\RunCommandlet.ps1). Éditeur fermé : .\Tools\UeState.ps1 → processus=0 editeur=0 compilation=0 shaders=0 jeu=0 avant les commandlets et après. Lot de sortie CAM-B2f-VAL (préfixe imposé), -EtatDir vers le dossier etat\CAM.
V5 : dump de Room
Commande :
.\Tools\RunCommandlet.ps1 -Lot CAM-B2f-VAL -Commandlet LPDumpFunction -Args '-BP=Room -Fn=* -Pins -Exec' -EtatDir 'D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM'
Sortie brute : code=0 duree=93s erreurs=0 avertissements=10816. Fichier : Docs/Migration/etat/CAM/CAM-B2f-VAL_LPDumpFunction_20261013-195332.txt (MD5 b5fcb941e680447337044571137de8f7). Journal complet : Saved/Logs/portage/CAM-B2f-VAL_LPDumpFunction_20261013-195332.log.
Comparaisons (méthode : diff <(grep -v '^LogInit:' référence) <(grep -v '^LogInit:' nouveau) ; première section de chaque graphe = lignes 1 à 10886 ; les deux fichiers font 10 937 lignes, dont 51 LogInit:) :
| Contrôle | Attendu | Obtenu | Verdict |
|---|---|---|---|
| Nombre d'en-têtes de graphe dans la première section | 39 (référence) | 39 et 39 (grep -c '=== Room :: ') |
PASS |
| En-tête EventGraph | (1260 noeuds) |
=== Room :: EventGraph (1260 noeuds) === à la ligne 4833 |
PASS |
Nœuds listés dans EventGraph (2e méthode : lignes K2Node_… entre les lignes 4834 et 10886) |
1260 | 1260 | PASS |
TraceChannel des nœuds 459, 499, 505 (lignes 10069, 10472, 10567 du fichier) |
'TraceTypeQuery1' |
'TraceTypeQuery1' aux 3 lignes ; nœud lu dans le contexte de chacune (K2Node_CallFunction_459, _499, _505, appel KismetSystemLibrary::SphereTraceSingle()) |
PASS |
Occurrences de TraceTypeQuery2 dans le nouveau dump |
0 | 0 | PASS |
K2Node_IfThenElse_101 |
0 | 0 (nouveau et référence) | PASS |
| Autres différences, nœud, lien ou valeur, tous graphes | aucune | voir ci-dessous | PASS |
Différences brutes du corps du dump (à partir de la ligne 109, hors LogInit: ; 10 778 lignes de chaque côté) : 3 lignes, et rien d'autre. Numéros du diff pris sur le corps coupé (ajouter 108 pour le fichier entier) :
9961c9961 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
10364c10364 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
10459c10459 < LogLPDump: Warning: TraceChannel = 'TraceTypeQuery2'
> LogLPDump: Warning: TraceChannel = 'TraceTypeQuery1'
Différences brutes de l'en-tête et du sommaire (lignes 1 à 108, produits par RunCommandlet.ps1, pas du dump) : lignes Lot, Date (durée 93 s contre 56 s) et Journal ; une BOM UTF-8 en tête du nouveau fichier ; « 6556 signatures » contre « 6557 » dans la référence, avec les mêmes 10 816 lignes d'avertissements. Le sommaire est trié par compte avec un départage instable : le diff trié des lignes 10 à 108 ne montre qu'une paire en bord de troncature (« 100 premières », compte 6) : Condition -> K2Node_PromotableOperator_8.ReturnValue dans la référence, execute -> K2Node_CallArrayFunction_0.then dans le nouveau. Ce sont des ex æquo coupés par la troncature ; le corps, lui, est celui du diff ci-dessus.
V6 : CompileAllBlueprints
Commande :
.\Tools\RunCommandlet.ps1 -Lot CAM-B2f-VAL -Commandlet CompileAllBlueprints -EtatDir 'D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM'
Sortie brute : code=3 duree=207s erreurs=25 avertissements=55. Fichier : Docs/Migration/etat/CAM/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.txt (MD5 8f1491188d2ec4c5e75cbe49d33abefc). Journal : Saved/Logs/portage/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.log.
| Contrôle | Référence B2d | Obtenu B2f | Verdict |
|---|---|---|---|
| Code de sortie | 3 | 3 | PASS |
| Ligne finale du journal | Compiling Completed with 3 errors and 0 warnings and 0 blueprints that failed to load. (l. 3301) |
même texte (l. 3302) | PASS |
| Résumé « Erreurs » | 25 lignes, 16 signatures | 25 lignes, 16 signatures | PASS |
| Résumé « Avertissements » | 55 lignes, 42 signatures | 55 lignes, 42 signatures | PASS |
With N error(s), N warning(s) (journal) |
17 / 34 | 17 / 34 | PASS |
Lignes [AssetLog] … Error |
9, toutes CR_FaceExpRig |
9 au total, 9 avec le motif CR_FaceExpRig |
PASS |
| Compilations « a réussi » / échecs | 420 / 0 | 420 / 0 | PASS |
| Room | La compilation de Room a réussi ! [en 1 104 ms] |
La compilation de Room a réussi ! [en 1 327 ms] (journal l. 2021) |
PASS |
Diff trié des deux résumés (rang [NNNN,NN] et compte retirés) |
seules différences : durées de 7 compilations (ActorMacros, GI, PC, Person, Room, StandardMacros, StreetMap_Static) et le nom du journal dans la ligne de commande | PASS (aucun message nouveau) |
Aucune erreur et aucun avertissement nouveaux ; aucun sur Room. Les 6 lignes LogScript: Error: Script Msg: Could not find graph function data for node @@. ne nomment pas d'asset ; elles sont identiques à la référence en nombre (6) et en texte.
MD5 et état de l'éditeur en fin de VAL
$ md5sum Content/BPs/Room.uasset Content/BPs/GI.uasset Content/BPs/Person.uasset
f2b082d2911d9f7c7be60c2cf30ee6d5 *Content/BPs/Room.uasset
e64b5b37c9ef0db7735de0d6e3bd7c1c *Content/BPs/GI.uasset
8668a47c627f7a5254910cf0ac33b12a *Content/BPs/Person.uasset
$ .\Tools\UeState.ps1
processus=0 editeur=0 compilation=0 shaders=0 jeu=0
Attendus f2b082d2…, e64b5b37…, 8668a47c… : identiques. Les mêmes MD5 avaient été relevés avant les commandlets : elles n'ont rien réécrit. PASS.
4. Diff lu en entier
- Diff logique de Room : le dump
-Fn=*couvre 39 graphes ; le diff brut contre la référence compte 3 lignes, toutesTraceChannel, nœuds 459, 499, 505. Aucun nœud, lien ni valeur d'un autre graphe ne change. - Git :
git status --short Content SourcemontreMsurRoom.uasset,GI.uassetetPerson.uasset: états déjàMau début de la session, non attribuables à cette fiche seule. Je n'ai pas fait degit diffdu binaire. - Aucun chemin de profil Windows dans les sorties de commandlet (
grep -c Users→ 0 et 0) ni dans ce livrable.
5. Verdict
PASS (V5 PASS, V6 PASS, MD5 PASS, éditeur à 0 au départ et en fin). Réserves, non bloquantes :
- Estimé : la référence B2d correspond à la Room
CA2A9A0B…(affirmé par la demande de l'orchestrateur ; je n'ai pas pu relire ce MD5 à l'heure du dump B2d, 17:33). La conformité « seules 3 lignes changent » est établie contre cette référence. - Incertain : cause de la baisse de 66 octets du fichier (P2b).
- Non rejoué : V7 (build COMMUN-3), cas CAM-17 à CAM-19, partie C++ de la fiche.
6. Points à confirmer par l'utilisateur
- Au prochain lancement de l'éditeur, refuser la restauration de
Room_Auto1si elle est proposée (état intermédiaire avec le nœud temporaire, CAM-B2f-IMPL A3). Je n'ai pas vérifié l'existence de ce fichier. - Accepter l'écart E3 de l'IMPL (un nœud créé puis supprimé, prescrit par l'amendement § 5) : le graphe final est conforme (0
K2Node_IfThenElse_101, 1260 nœuds). - Le commit de
Room.uassetportera aussi les changements non commités d'avant B2f (Room déjàMau début de la session) : décision au gardien.
7. Fichiers à commiter
Aucun fichier suivi modifié par moi. Fichiers nouveaux de la VAL (dépôt du jeu, branche ue5.8, dossier etat/) :
A Docs/Migration/etat/CAM/CAM-B2f-VAL.mdA Docs/Migration/etat/CAM/CAM-B2f-VAL_LPDumpFunction_20261013-195332.txtA Docs/Migration/etat/CAM/CAM-B2f-VAL_CompileAllBlueprints_20261013-195519.txtHors dépôt (ignorés) : deux journaux dansSaved/Logs/portage/.
Tours : 14 / 40
Constats
- Le crochet
ecriture-gardiena refusé deux de mes commandes Bash (redirection vers un fichier temporaire ;>=dans unechopris pour une redirection). Aucune écriture n'a eu lieu ; j'ai repris les comparaisons pardiff <(…) <(…). - À verser :
lp-validate— comparer deux dumps Room pardiff <(grep -v '^LogInit:' A) <(grep -v '^LogInit:' B)sans redirection ; comparer le corps (à partir de la ligne 109), pas le sommaire deRunCommandlet.ps1, dont le tri par compte a un départage instable. PourCompileAllBlueprints, le « 3 errors and 0 warnings » se lit dans le journalSaved/Logs/portage/*.log, pas dans le résumé.txt.