LifePlay-Revival/Docs/Migration/etat/CAM/CAM-B2p-G-PC-VAL.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

22 KiB
Raw Blame History

Fiche CAM-B2p-G-PC-VAL — Niveau N1 — Modèle prévu non précisé par la demande | utilisé claude-sonnet-5-5 — Agent lp-validator (A-VAL) — Skills sk-protocol, sk-recount, debug-verification, lp-validate

CAM-B2p-G-PC-VAL : validation de CAM-B2p-G-PC (PC, C3 dans le cycle C du sexe G-d, panneau des positions G-g) (2026-10-14)

Verdict global : PASS (V5, V6, MD5 et UeState rejoués à neuf, éditeur fermé). Deux points restent non vérifiés faute de moyen sans éditeur : le défaut de SexC3 (faux attendu) et l'éventuel export orphelin VariableGet_387 dans le fichier enregistré. Le comportement en jeu (V7) n'est pas de cette VAL : reporté.

Copie D:\Game\LifePlay-master 5.8, branche ue5.8 (git branch --show-current). Aucun asset, code ni doc validée modifié par la VAL. Seuls fichiers écrits : les 2 sorties de commandlets (§ 3), leurs 2 journaux sous Saved\Logs\portage\, le diff brut Saved\CAM-B2p-G-PC-VAL_diff.txt (sortie de git diff --no-index --output=, dossier ignoré par git) et ce livrable. Aucune commande git qui écrit. Le jeton UE était tenu par l'orchestrateur ; les commandlets ont tourné un à la fois.

1. Fiches amont relues

  • CAM-B2p-G-PC-FICHE.md (étapes 1 à 10, amendement B2p-G-PC-a l. 69-79, VAL V5 / V6) : relue en entier.
  • CAM-B2p-G-PC-IMPL.md (agent lp-mcp-bp, Tours : 63 / 60 déclaré, hors budget du niveau mais sous le plafond de 75, noté par l'auteur l. 226) : relue en entier. Gabarit IMPL de lp-doc : les 6 sections numérotées sont présentes et dans l'ordre (1 Fichiers modifiés, 2 Écarts, 3 Instantané, 4 Ce qui n'a pas été fait, 5 Points à confirmer, 6 Fichiers à commiter), plus Mesuré, Reprise et Constats. Reprise est une section hors gabarit, non annoncée en tête (Hors gabarit : <motif> absent) : écart de forme mineur. En-tête sur 2 lignes conforme ; « Modèle prévu non précisé par la fiche » (même écart de forme que B2p-R, non bloquant).
  • CAM-B2p-R-VAL.md : modèle de forme.
  • Références : CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt (PC d'avant, EventGraph 1439 nœuds) et CAM-B2p-R-VAL_CompileAllBlueprints_20261014-101259.txt (V6).
  • Instantané d'avant : D:\Game\LifePlay_Backup_5.5\CAM-B2p-G-PC\manifest.csv (cité par l'IMPL § 1.1 ; non rejoué : le diff de dump suffit au périmètre de la fiche).

2. Points à confirmer des IMPL

Id Point (IMPL § 5, fiche, demande) Verdict Preuve
G-1 V5 : seules différences = variable SexC3, les 8 nœuds du § 3.2 (sans VariableGet_387), coupures 123.then ↛ 35 et 15.then ↛ 10, 8 liens G-d et 4 liens G-g PASS § 3.1 : 12 hunks de corps et de pied, tous classés ; EventGraph 1439 → 1447 ; 37 lignes de dump ajoutées. La déclaration de la variable n'est pas listée par le dump : elle est établie par les nœuds Get / Set variable 'SexC3' (dump l. 6486, 6489, 6503) et par la compilation du PC sans erreur (§ 3.3), PASS-STATIC pour la déclaration seule
G-2 IfThenElse_63.then vide aussi dans la référence ? (point (a) de la demande) PASS référence …011816.txt l. 3858 : then (vide) ; nouveau dump l. 3858 : then (vide) ; 63.execute ← InputAction_3.Pressed, 63.else → 40 identiques ; aucun hunk sur 63. Le « then vide » n'est donc pas un effet de l'écriture
G-3 Un objet orphelin VariableGet_387 apparaît-il dans le dump ? (point (b)) PASS Grep VariableGet_387 sur le nouveau dump : 0 occurrence (ni nœud, ni cible de lien) ; les nœuds 385, 386 et 408 existent, 387 non
G-4 CallFunction_35 : exécution non reliée après la coupure, aucun diagnostic PASS dump l. 3009 : execute (vide) ; V6 : La compilation de PC a réussi ! [en 920 ms] (résumé l. 142), 0 erreur et 0 avertissement nouveau (§ 3.3)
G-5 Défaut de SexC3 = faux (point (c) de la demande) Non vérifié le dump ne liste pas les variables de membre ni leur défaut ; il ne montre que les valeurs de broche SexC3 = 'false' (Set_39, l. 6492) et 'true' (Set_58, l. 6506). L'IMPL § 4 le dit déjà (« non relu sur le CDO »). Aucun commandlet du catalogue ne dump les variables (Grep de SexC3, DefaultValue dans Source/LifePlay/LPDump*.cpp : 0). Essai qui trancherait : lecture du CDO du PC dans l'éditeur. Attendu faux par le défaut du type bool, non établi
G-6 V6 : CompileAllBlueprints = référence ; PC sans erreur ni avertissement nouveau PASS § 3.3
G-7 Croissance du PC de 19 273 octets ; VariableGet_387 écrit ou non comme export orphelin Incertain (reporté) taille actuelle 3 424 059 octets (stat, 2026-10-14 13:52:07) = valeur de l'IMPL. Le dump parcourt Nodes et ne peut pas montrer un export hors graphe. Sans effet attendu ; non tranché
G-8 Comportement en jeu (Scene → C → C3 → C → POV 1 … → Scene ; Espace bascule le panneau pendant le sexe ; clics courts gauche et droit ne le basculent plus ; hors sexe Espace met en pause) Reporté essai en jeu, build empaqueté (V7) ; hors périmètre VAL (éditeur fermé, pas de jeu). Lecture statique seulement : § 3.1a à 3.1c

3. Critères rejoués

Environnement : éditeur fermé ; moteur D:\Game\Launcher\Engine\UE_5.8 ; .\Tools\UeState.ps1 avant le 1er commandlet, avant le 2e et à la fin : processus=0 editeur=0 compilation=0 shaders=0 jeu=0 (UeState = 0 aux trois relevés). Le 2e commandlet a démarré après la fin du 1er.

3.0 MD5 de départ (avant tout lancement) : PASS

$ md5sum Content/BPs/PC.uasset Content/BPs/Room.uasset Content/BPs/GI.uasset Content/BPs/Person.uasset
b07f16a9ec04ca297a8504f126d406e1 *Content/BPs/PC.uasset
931387479e2d15f80bc4f36398907712 *Content/BPs/Room.uasset
32fc0a970ab194626e8dc07df3a9633d *Content/BPs/GI.uasset
8668a47c627f7a5254910cf0ac33b12a *Content/BPs/Person.uasset
$ stat -c "%s %y %n" Content/BPs/PC.uasset
3424059 2026-10-14 13:52:07.758768000 +0200 Content/BPs/PC.uasset

Attendu : PC B07F16A9… (avant : F45BE57A…), Room 93138747…, GI 32FC0A97…, Person 8668A47C… : conforme.

3.1 V5 PC (dump) : PASS

Commande (via powershell -NoProfile -Command, après Set-Location sur la copie) :

.\Tools\RunCommandlet.ps1 -Lot CAM-B2p-G-PC-VAL -Commandlet LPDumpFunction -Args "-BP=PC -Fn=EventGraph -Pins -Exec" -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM"
code=0 duree=56s erreurs=0 avertissements=6447
resume : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM\CAM-B2p-G-PC-VAL_LPDumpFunction_20261014-135527.txt
journal : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\CAM-B2p-G-PC-VAL_LPDumpFunction_20261014-135527.log

Trace : CAM-B2p-G-PC-VAL_LPDumpFunction_20261014-135527.txt — Fiche CAM-B2p-G-PC-VAL — 2026-10-14 13:55-13:56. Environnement : copie 5.8, branche ue5.8, éditeur fermé, PC B07F16A9…. Attendu (écrit avant lancement, d'après la fiche et la demande) : code 0 ; EventGraph 1447 nœuds (1439 + 8) ; 8 nœuds IfThenElse_132, 133, 134, VariableGet_385, 386, VariableSet_39, 58, CallFunction_408 ; aucun VariableGet_387 ; liens et coupures de la fiche et de la demande ; rien d'autre. Obtenu : code 0, 0 erreur ; les « 6447 avertissements » sont le dump lui-même (canal LogLPDump: Warning), pas des diagnostics. Pied de fichier : référence 0 error(s), 6360 warning(s), nouveau 6397 : +37 lignes (recoupe le détail du § 3.1b). Lecture : le fichier contient deux copies du dump (journal, puis écho stdout tronqué après la l. 6518, 13 nœuds seulement) ; le recompte des nœuds ne retient que la première (l. 121 à 6517).

Recompte indépendant des nœuds (autre méthode que l'en-tête du dump) :

Élément Référence Nouveau Méthode Verdict
En-tête === PC :: EventGraph (… noeuds) === 1439 1447 (l. 121 et l. 6518) Grep noeuds\) +8 = attendu
Lignes de nœud K2Node_ (deux copies) 1452 1460 Grep en comptage de ^(LogInit: Display: )?LogLPDump: Warning: K2Node_ écart 8
Moins la copie d'écho tronquée (13 nœuds, l. 6519 à 6567 : Event_0, Self_0, CallFunction_126, CreateWidget_4, VariableGet_2454, VariableSet_23, InputAction_6, IfThenElse_582, VariableSet_148, VariableGet_188, CallFunction_1067, CallFunction_1068, IfThenElse_316) −13 −13 lecture Read l. 6500-6619 1439 et 1447 : confirmés

Diff : git diff --no-index --unified=0 CAM-B2kmn-VAL_LPDumpFunction_20261014-011816.txt CAM-B2p-G-PC-VAL_LPDumpFunction_20261014-135527.txt --output=Saved\CAM-B2p-G-PC-VAL_diff.txt. Bilan brut (--stat) : 1 file changed, 111 insertions(+), 74 deletions(-) ; diff de 233 lignes ; 44 hunks (Grep -c '^@@' = 44, 44 en-têtes énumérés par -o). Répartition par numéro de ligne de début de hunk du fichier de référence :

  • 32 hunks d'en-tête (lignes 2 à 108 : date, durée, journal, histogramme « Avertissements : 6410 → 6447 lignes, 4761 → 4785 signatures (100 premieres) », classement des signatures réordonné) : bruit, l'histogramme bouge avec le nombre de lignes. Aucun ne touche un nœud. Équilibre : 124 lignes de diff entre les l. 5 et 160 du diff, moins 32 en-têtes de hunk, soit 62 insertions et 62 suppressions.
  • 12 hunks de corps et de pied (EventGraph) : 10 modifications d'une ligne (§ 3.1a), 1 hunk d'ajout (l. 6481, +38 −1) et 1 hunk de pied (l. 6531, compteur final, +1 −1). Insertions : 10 + 38 + 1 = 49 ; suppressions : 10 + 1 + 1 = 12.
  • Total : 62 + 49 = 111 insertions, 62 + 12 = 74 suppressions, 32 + 12 = 44 hunks : égal au --stat et au comptage des @@.

3.1a Les 10 modifications d'une ligne, avec la lecture au dump (lignes citées = nouveau fichier) :

Réf. l. Nœud / broche Avant → après Attendu
121 en-tête EventGraph 1439 noeuds → 1447 noeuds 8 nœuds en plus
829 IfThenElse_123.then (l. 826-830 : Condition ← VariableGet_233) CallFunction_35.execute → (vide) coupure 123.then ↛ 35
987 VariableGet_22.SexOn IfThenElse_15.Condition → IfThenElse_15.Condition, IfThenElse_134.Condition 22 alimente aussi 134.Condition, garde 15
992 IfThenElse_15.then (l. 989-993) IfThenElse_10.execute → (vide) coupure 15.then ↛ 10
1549 IfThenElse_40.then (l. 1546-1550 : execute ← 63.else, Condition ← CallFunction_125) CallFunction_277.execute → IfThenElse_134.execute 40.then → 134
1727 IfThenElse_23.then (l. 1724-1728 : Condition ← VariableGet_51.SexOn, else → 131) IfThenElse_44.execute → IfThenElse_132.execute 23.then → 132
1738 IfThenElse_44.execute IfThenElse_23.then, CustomEvent_5.then → CustomEvent_5.then, VariableSet_39.then, IfThenElse_133.then 44 garde CustomEvent_5.then, perd 23, gagne 39 et 133
3009 CallFunction_35.execute (appel LeftMouseSexOn) IfThenElse_123.then → (vide) côté réciproque de la coupure 123
3022 IfThenElse_10.execute IfThenElse_15.then, CustomEvent_11.then → CustomEvent_11.then côté réciproque de la coupure 15
4424 CallFunction_277.execute (PlayClick) IfThenElse_40.then → IfThenElse_134.else 134.else → 277, 40 ne va plus vers 277

3.1b Nœuds créés : hunk d'ajout (dump l. 6481 à 6517, 37 lignes, plus la ligne d'écho remplacée l. 6518), extrait fidèle :

K2Node_IfThenElse_132   execute<-IfThenElse_23.then  Condition<-VariableGet_385.SexC3  then->VariableSet_39.execute  else->IfThenElse_133.execute
K2Node_VariableGet_385  variable 'SexC3'  SexC3->IfThenElse_132.Condition  self(vide)
K2Node_VariableSet_39   variable 'SexC3'  execute<-IfThenElse_132.then  then->IfThenElse_44.execute  SexC3='false'  self(vide)
K2Node_IfThenElse_133   execute<-IfThenElse_132.else  Condition<-VariableGet_386.POVOn  then->IfThenElse_44.execute  else->VariableSet_58.execute
K2Node_VariableGet_386  variable 'POVOn'  POVOn->IfThenElse_133.Condition  self(vide)
K2Node_VariableSet_58   variable 'SexC3'  execute<-IfThenElse_133.else  then(vide)  SexC3='true'  self(vide)
K2Node_CallFunction_408 appel ?::LeftMouseSexOn()  execute<-IfThenElse_134.then  then(vide)  self(vide)
K2Node_IfThenElse_134   execute<-IfThenElse_40.then  Condition<-VariableGet_22.SexOn  then->CallFunction_408.execute  else->CallFunction_277.execute

Lignes par nœud : 132 = 5, 385 = 3, 39 = 6, 133 = 5, 386 = 3, 58 = 6, 408 = 4, 134 = 5 : somme 37, égale à 6397 − 6360. Le hunk compte +38 −1 parce que la ligne d'écho LogInit: Display: … (1439 noeuds) est remplacée par la même à 1447.

3.1c Recompte des liens de la demande, un par un, tous lus dans le dump :

# Lien attendu Lu
1 23.then → 132 (plus vers 44) l. 1727
2 132.then → 39 ; 39.then → 44 132 : then -> VariableSet_39.execute ; 39 : then -> IfThenElse_44.execute
3 132.else → 133 132 : else -> IfThenElse_133.execute
4 133.then → 44 ; 133.else → 58 133 : then -> IfThenElse_44.execute, else -> VariableSet_58.execute
5 58.then vide 58 : then (vide)
6 44.execute garde CustomEvent_5.then l. 1738
7 conditions 132 ← 385, 133 ← 386 132 : Condition -> VariableGet_385.SexC3 ; 133 : Condition -> VariableGet_386.POVOn
8 123.then ne va plus vers 35 ; 15.then ne va plus vers 10 l. 829, 992 : (vide)
9 40.then → 134 (plus vers 277) l. 1549
10 134.else → 277 ; 134.then → 408 ; 408.then vide 134 : else -> CallFunction_277.execute, then -> CallFunction_408.execute ; 408 : then (vide)
11 134.Condition ← VariableGet_22.SexOn, qui garde 15.Condition l. 987 et 134 : Condition -> VariableGet_22.SexOn
12 aucun VariableGet_387 0 occurrence
Soit 8 nœuds, 8 liens G-d, 4 liens G-g et 2 coupures : les nombres d'IMPL § 3.2 sont retrouvés. Rien d'autre : aucun hunk sur
IfThenElse_63, VariableGet_233, CustomEvent_5, CustomEvent_11, InputAction_3, IfThenElse_131, ni sur aucun autre
nœud.

3.1d Périmètre du dump : -Fn=EventGraph ne dump qu'un graphe (EventGraph du PC). Les autres graphes du PC ne sont pas dans cette commande et ne sont pas rejoués ici.

3.2 V5 Room / GI / Person

Non demandé par la fiche (aucune écriture de ces assets). Contrôlé seulement par MD5 (§ 3.4).

3.3 V6 CompileAllBlueprints : PASS

Attendu (écrit avant lancement, d'après la référence B2p-R) : code 3, 25 lignes d'erreur / 16 signatures, 55 lignes d'avertissement / 42 signatures, 3 erreurs au décompte final, 420 compilations réussies, 421 lignes Loading and Compiling, toutes les erreurs sur CR_FaceExpRig / RLExpStruct (moteur), PC compilé sans erreur ni avertissement.

.\Tools\RunCommandlet.ps1 -Lot CAM-B2p-G-PC-VAL -Commandlet CompileAllBlueprints -EtatDir "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM"
code=3 duree=202s erreurs=25 avertissements=55
resume : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\CAM\CAM-B2p-G-PC-VAL_CompileAllBlueprints_20261014-135635.txt
journal : D:\Game\LifePlay-master 5.8\Saved\Logs\portage\CAM-B2p-G-PC-VAL_CompileAllBlueprints_20261014-135635.log

Trace : Fiche CAM-B2p-G-PC-VAL — 2026-10-14 13:56-13:59. Lecture : code 3 est le code de la référence (le moteur compte les 3 erreurs de CR_FaceExpRig), pas un échec nouveau.

Élément Référence B2p-R B2p-G-PC (rejoué) Méthode Verdict
Code de sortie 3 3 RunCommandlet identique
Lignes d'erreur / signatures 25 / 16 25 / 16 en-tête du résumé (l. 6) identique
Bloc « Erreurs » (16 lignes, l. 7 à 22) — mêmes 16 lignes, même ordre et mêmes comptes lecture parallèle des deux résumés (Read) identique, toutes CR_FaceExpRig / RLExpStruct
Bloc « Avertissements » (55 / 42, l. 25 à 66) 55 / 42 mêmes 42 lignes, même ordre et mêmes comptes lecture parallèle identique, toutes CR_FaceExpRig
Compiling Completed with … 3 errors and 0 warnings and 0 blueprints that failed to load (journal l. 3302) même texte (journal l. 3302) Grep sur les deux journaux identique
Compilations réussies 420 420 Grep en comptage de La compilation de .* a réussi identique
Lignes Loading and Compiling 421 421 Grep en comptage identique (421 = 420 + CR_FaceExpRig en erreur)
PC La compilation de PC a réussi ! [en 978 ms] (l. 118) La compilation de PC a réussi ! [en 920 ms] (l. 142) Grep PC sans erreur ni avertissement

Aucune ligne d'erreur ou d'avertissement du résumé ne cite PC, SexC3, IfThenElse_13x ou CallFunction_408 : les blocs ne contiennent que CR_FaceExpRig / RLExpStruct. Limite : la liste complète des BP compilés (nom + chemin) n'a pas été comparée par somme de contrôle comme en B2p-R (pas de sed ni de tube autorisés ici) ; le compte des 420 réussies et des 421 chargements, les deux blocs lus ligne à ligne et le décompte final tiennent lieu de recoupement.

3.4 MD5 après les commandlets : PASS

$ md5sum ../../../../Content/BPs/PC.uasset … Room.uasset … GI.uasset … Person.uasset   (relevé après V5 et V6)
b07f16a9ec04ca297a8504f126d406e1 *../../../../Content/BPs/PC.uasset
931387479e2d15f80bc4f36398907712 *../../../../Content/BPs/Room.uasset
32fc0a970ab194626e8dc07df3a9633d *../../../../Content/BPs/GI.uasset
8668a47c627f7a5254910cf0ac33b12a *../../../../Content/BPs/Person.uasset

Identiques au § 3.0 : les commandlets n'ont rien écrit dans ces 4 assets. git status --short -- Content/BPs Source Config : GI, PC, Person, Room en M (depuis des lots antérieurs), plus des fichiers Source/LifePlay/ modifiés ou non suivis (LPBonusRewardSubsystem, LPCameraModeSubsystem, LPSaveRelaunch) qui ne relèvent pas de ce lot ; aucun n'est écrit par la VAL.

3.5 UeState final : PASS

.\Tools\UeState.ps1 après V6 : processus=0 editeur=0 compilation=0 shaders=0 jeu=0 (UeState = 0).

4. Diff lu en entier

  • Diff de dump : lu en entier (233 lignes, 44 hunks : 32 d'en-tête classés, 12 de corps et de pied classés, § 3.1). Recompte indépendant : --stat = 111 insertions(+), 74 deletions(-) ; Grep des @@ = 44 ; répartition 32 + 12 par numéro de ligne ; nœuds recomptés par lignes K2Node_ moins l'écho tronqué (1447 contre 1439).
  • Diff de V6 : lu en parallèle (§ 3.3) : aucune différence de contenu.
  • Fichier du dépôt modifié par le lot CAM-B2p-G-PC : Content/BPs/PC.uasset seul (binaire, non lisible en diff texte ; son contenu est validé par le dump). Room, GI et Person : MD5 inchangés.
  • Fins de ligne : sans objet : aucun fichier texte du jeu modifié par le lot en dehors de livrables Markdown neufs ; PC.uasset est binaire.

5. Verdict

PASS : V5 (1447 nœuds = 1439 + 8, 8 nœuds créés sans VariableGet_387, liens et coupures de la fiche, aucune autre différence), V6 (= référence, PC sans erreur ni avertissement), MD5 (PC B07F16A9… ; Room, GI, Person inchangés, avant et après), UeState = 0 aux trois relevés. Non rejoué ou non vérifié : défaut de SexC3 (G-5, non lisible sans éditeur), export orphelin éventuel (G-7), V7 en jeu et LogStats (G-8), comparaison octet à octet de PC.uasset avec l'instantané, somme de contrôle de la liste complète des BP de V6, autres graphes du PC.

6. Points à confirmer par l'utilisateur

  • Défaut de SexC3 = faux : lecture du CDO du PC à l'ouverture de l'éditeur, ou à défaut effet en jeu (premier appui sur C du sexe depuis la Scene doit rendre C3, pas la vue C1 ou C2).
  • V7 en jeu (build empaqueté, B2p-G compilé) : Scene (POVOn faux, SexC3 faux) → C → C3 (SexC3 vrai, vue inchangée) → C → SexC3 faux, puis POV 1 … dernier POV → C → Scene ; pendant le sexe, Espace bascule le panneau des positions au lieu de mettre en pause, et le clic molette est fait par le C++ ; les clics courts gauche et droit ne le basculent plus ; hors sexe, Espace met toujours en pause et rien d'autre ne change.
  • LogStats en jeu sans Accessed None nouveau sur le PC. Lecture statique : 134.Condition reprend VariableGet_22.SexOn (self ← VariableGet_6044.GI), déjà lu par IfThenElse_15 ; 385 et 386 n'ont pas de broche cible (self = le PC) ; aucune lecture de GI nouvelle, donc pas de nouvelle source d'Accessed None établie par le dump.

Fichiers à commiter

Aucun fichier du jeu modifié par la VAL. Livrables à ranger par le gardien (dépôt du jeu, branche ue5.8, sous etat/) :

  • A Docs/Migration/etat/CAM/CAM-B2p-G-PC-VAL.md
  • A Docs/Migration/etat/CAM/CAM-B2p-G-PC-VAL_LPDumpFunction_20261014-135527.txt
  • A Docs/Migration/etat/CAM/CAM-B2p-G-PC-VAL_CompileAllBlueprints_20261014-135635.txt
  • (déjà annoncés par l'IMPL : M Content/BPs/PC.uasset, A Docs/Migration/etat/CAM/CAM-B2p-G-PC-IMPL.md)

Tours : 14 / 40

Constats

  • Le dump du PC contient deux copies de l'EventGraph : le journal complet (l. 121-6517) puis un écho stdout tronqué (13 nœuds, l. 6519-6567). Un comptage des lignes K2Node_ donne donc 1460 (et 1452 pour la référence) : il faut retrancher les 13 de l'écho pour retrouver 1447 (et 1439). Le recompte par l'en-tête et par les lignes concordent ainsi.
  • Les 32 hunks d'en-tête du diff de dump sont le bruit habituel de l'histogramme d'avertissements ; leur équilibre (62 / 62) se contrôle sans les lire un à un, en retranchant les hunks de corps du total.
  • Ce que le dump ne dit pas : la déclaration des variables de membre et leur défaut. Le contrôle « défaut faux » d'une variable de Blueprint demande l'éditeur (ou un commandlet qui lit le CDO), à prévoir dans la fiche suivante qui ajoute une variable.
  • Sans sed, awk, tube ni redirection (crochet ecriture-gardien), la comparaison de deux résumés CompileAllBlueprints se fait par lecture parallèle (Read des 80 premières lignes) et Grep en comptage ; la somme de contrôle de la liste des BP, utilisée en B2p-R, n'est pas reproductible dans ces conditions.