LifePlay-Revival/Docs/Migration/etat/CG/CG2/CG2-VAL-01.md
edujiro5972 56dfcfc3d2 LifePlay UE 5.8 : état de développement au 2026-10-20
Tickets : PUB-20261020-T1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-20 17:35:10 +02:00

16 KiB
Raw Blame History

Fiche CG2-VAL-01 — Niveau N1 — Modèle prévu haiku | utilisé claude-haiku-5-5 (Haiku 5.5) — lp-validator Skills : lp-validate, sk-protocol, sk-recount, debug-verification

CG2-VAL-01 : validation de la build 1 CG2 (CG2-IMPL-01 v4 : cœur et C7 faits, C8 sautée) (2026-10-20)

Lecture seule : aucun éditeur, MCP, build, commandlet ni jeu lancé ; aucune commande git en écriture. Seul ce fichier est écrit.

1. Fiches amont relues

Fiche Relue Gabarit
CG2-SPEC-01.md (révision 3) en-tête (l. 1-14), § 7 (l. 149-167), § 9 (l. 177-202), § 10 (l. 204-225) ; diff git lu en entier : +50 lignes, § 9 et § 10 seulement § 1 à § 7 présents dans l'ordre ; § 8 à § 10 ajoutés
CG2-IMPL-01.md v4 intégralité (l. 1-250) ; seule IMPL du lot, v1 à v3 décrites dans son historique (l. 14-30) § 1 à § 6 présents ; « Hors gabarit » annoncé en tête (l. 3) ; écart de forme E4
CG2-TACHES.md intégralité (l. 1-55) + diff git lu en entier 13 colonnes présentes ; colonne Tours déclarée, non mesurée (E5)
COMMUN-14-BILAN.md § 1 à § 6 (l. 5-139) § 1 à § 6 présents ; § 4 et § 5 contredits (R6, E1, E3)
CG2-JOURNAL-BROUILLON.md intégralité CHG « 420 réussis » : confirmé (§ 3.3)
OPT0-G0-INV-01.md l. 81 seule (référence CR_FaceExpRig), non relu en entier —
CG2-CART-01.md non relu : hors liste de la fiche, inchangé (git status) —

2. Points à confirmer des IMPL (IMPL v4 § 5 et SPEC § 7)

Id Point Verdict Preuve
V1 git status de Content/ PASS § 3.1
V2 liaisons relues (SelectInt, SetIsEnabled, Substring, P20, P25) relu par IMPL (C3, C4, C5, C6, C7, C9) ; C1 : réserve R4 IMPL § 1, l. 68-149
V3 compilation sans Error ni Warning relu par IMPL IMPL § 6 bis, l. 199-213 ; recoupé en § 3.3
V4 CompileAllBlueprints, éditeur fermé PASS § 3.3
V5 MD5 des quatre .uasset PASS § 3.2
V6a menu de forme sans CharGen (cas .4) PASS § 3.5
V6b réglage anti-déformation, visage inchangé (cas .5) PASS (réserve mineure : l'entrée ne détaille pas les trois curseurs) § 3.5 ; bilan § 2
V6c boutons d'état (cas .6) PASS partiel (R1) § 3.5
V6d refus des trois noms à l'enregistrement (cas .7) PASS § 3.6
V6e C8 (cas .8) reporté : B2 (C8 non faite, IMPL § 4 ; TACHES « Report en B2 ») IMPL § 2 H1 ; TACHES l. 26-37
Point B2 condition IsMale sans garde dans VisualMorph (IfThenElse_1) reporté : B2 SPEC § 9, l. 195-196 ; IMPL § 5
V7 PubCheck et fins de ligne PASS (amont) ; présent fichier : § 7 § 3.7
IMPL § 4 C2 sautée (sans objet, SPEC § 9) ; C10 et C11 reportées B2 ; étape 6 faite ; build faite reporté (B2) pour C2, C10, C11 ; PASS pour étape 6 (journal de V4) § 3.3 ; COMMUN-14-BUILD.md

3. Critères rejoués (commande → résultat)

3.1 V1 — PASS

Commande : git -C "D:/Game/LifePlay-master 5.8" status --short -- Content/

 M Content/UI/CharGen.uasset
 M Content/UI/CharGenSlider.uasset
 M Content/UI/VisualMorph.uasset

Rien d'autre sous Content/ ; Content/BPs/GI.uasset absent de la liste, donc intact.

3.2 V5 — PASS

Commande : Get-FileHash -Algorithm MD5 (pwsh) sur les quatre fichiers.

8D781EC0B94318B5BFBF22EE3B33556A  Content\UI\CharGen.uasset
CBE53469FC73E7829A00710126095C7E  Content\UI\CharGenSlider.uasset
84DD9B17B977A007F9A13940406E970A  Content\UI\VisualMorph.uasset
32FC0A970AB194626E8DC07DF3A9633D  Content\BPs\GI.uasset

Avant (manifeste D:\Game\LifePlay_Backup_5.5\CG2\manifest.csv, l. 2 à 5) : CharGenSlider 9B194EA6…, CharGen E4C2EEA6…, VisualMorph 849C46E0… ; GI 32FC0A97…, égal à l'après. Les trois « après » diffèrent des « avant ». Les valeurs concordent avec IMPL § 1 (en minuscules) et § 7.

3.3 V4 — PASS

Journal : Saved\Logs\portage\CG2_CompileAllBlueprints_20261020-021948.log (505 048 o). Commande : Grep sur le journal.

2657: LogCompileAllBlueprintsCommandlet: ... Compile of CharGenSlider successful! [in 427 ms]
2830: ... Compile of CharGen successful! [in 702 ms]
2833: ... Compile of VisualMorph successful! [in 155 ms]
3333: Compiling Completed with 3 errors and 0 warnings and 0 blueprints that failed to load.
3376: Commandlet->Main return this error code: 3
3377: With 17 error(s), 34 warning(s)
  • « successful! » : 420 lignes (count). Le brouillon CHG l'annonce : confirmé.
  • Avertissement nommant CharGen, CharGenSlider ou VisualMorph : 0 (Grep Warning.*(CharGen|VisualMorph)|(CharGen|VisualMorph).*Warning).
  • Erreurs ((?i)error) : 33 lignes (count). Listées : l. 2, 5, 7, 402 (DLL absentes, GetLastError=126, sans lien) ; l. 3046 à 3102 et l. 3340 à 3349 (CR_FaceExpRig et structures de /Engine/CC_Shaders) ; l. 3376 et 3377. La 33e ligne est le résumé l. 3333, non affiché par la recherche de contenu (déduit : 32 lignes listées plus l. 3333). Aucune erreur sur les trois Blueprints de CG2.
  • Seul échec : CR_FaceExpRig, contenu du moteur installé. Même référence que G0 : etat\OPT\OPT0\OPT0-G0-INV-01.md, l. 81 (« CR_FaceExpRig … 3 erreurs », code de sortie 3). Hors CG2.

3.4 V2 et V3 — relus par l'IMPL (non rejoués)

Copie UE absente et MCP exclu : non rejouable. Contrôle de la présence des relectures dans IMPL v4 :

  • C3 : « Relu : aucun présent » (l. 76). C4 : DynamicCast_0 et CallFunction_95 relus (l. 82-83). C5 : liaisons de garde et sorties relues (l. 85-110). C6 : relue (l. 112-113). C7 : relue (l. 130-131). C9, lectures 1 et 2 : relues (l. 141-142, l. 149).
  • C1 : liaison IfThenElse_5#1 → VariableSet_4226#0 citée (l. 68-69), sans mention de relecture. La précondition de SPEC § 9 (VariableGet_25 sans autre liaison) n'est pas tracée : R4.
  • Compilation sans Error ni Warning : CharGenSlider (v2, filtre Error|Warning : sortie vide), CharGen et VisualMorph (v4 : seule ligne « Compiling Blueprint », IMPL § 6 bis, l. 201-213).

3.5 V6 — journal de l'essai

Sessions identifiées par la première ligne de chaque journal (Log file open) :

  • S1 = Saved\Logs\LifePlay-backup-2026.10.20-06.46.10.log (build Development, D:\Game\LifePlay_Build_5.8_Development\Windows\LifePlay\) : session ouverte à 07:57:50 (heure locale), 7 544 lignes, 1 073 894 o, LastWriteTime 08:46:10, MD5 7D748AB03A9DE454DFB2DCC6DE8DB570. C'est la session des cas .4 à .7.
  • S2 = Saved\Logs\LifePlay.log, identique à la copie etat\BOSS\COMMUN-14\COMMUN-14.4-17_LifePlay_20261020-0757.log (MD5 F51967CDE5F640BD45AB650D2CE42016) : session ouverte à 08:46:15, 1 099 lignes, 103 442 o, LastWriteTime 08:53:25.
  • Taille attendue par la fiche (313 710 o) : aucun journal de Saved\Logs de cette taille. Tailles relevées : 118 895 ; 173 753 ; 226 098 ; 1 073 894 ; 103 442 o.
Motif (Grep, mode count) S1 S2 Attendu Critère
LogInit (contrôle, doit être > 0) 93 93 > 0 méthode
property chargen 0 0 0 V6a
Hello ; test2905 0 ; 0 0 ; 0 0 V6b
Accessed None.*(CharGen_C|CharGenSlider_C|VisualMorph_C) 0 0 0 V6c
: Error: 20 1 (l. 942) — bilan § 5, R6
InputMode:UIOnly 21 non compté — R6

Méthode : Grep (outil), même expression régulière que grep -c -E ; LogStats.ps1 non lancé.

Verdicts : V6a PASS (cas .4) ; V6b PASS (.5) ; V6c PASS partiel (.6) ; V6d PASS (.7, § 3.6) ; V6e non joué (.8).

3.6 V6d — fichiers écrits (Get-ChildItem, LastWriteTime depuis 2026-10-20 07:57)

  • Build, Windows\LifePlay\Content\Modules : deux fichiers de 2 106 o chacun. L'un porte un nom normal (écrit à l'enregistrement) ; l'autre a l'extension doublée (*.lpcharacter.lpcharacter, ERR-142 réservé au brouillon).
  • Copie, Content\Modules : aucun fichier.
  • Aucun fichier au nom des trois refus (a/b, ..x, a\b). Les refus eux-mêmes sont observés par l'utilisateur (cas .7) ; l'absence de fichiers est vérifiée ici.

3.7 V7 — PASS (amont)

Commande : pwsh -NoProfile -Command "& 'D:\Game\LifePlay-master 5.8\Tools\PubCheck.ps1' -Fichiers @(SPEC, IMPL, TACHES, JOURNAL-BROUILLON)", sortie PubCheck : 0 constat(s), code 0. Retours chariot (tr -cd '\r' | wc -c) dans les .md de etat\CG\CG2\ : CG2-SPEC-01 0, CG2-IMPL-01 0, CG2-TACHES 0, CG2-JOURNAL-BROUILLON 0, CG2-CART-01 0. Fins LF.

4. Diff lu en entier

Commande : git --no-pager diff --stat sur Content/ et Docs/Migration/etat/CG/CG2/ : 5 files changed, 93 insertions(+), 2 deletions(-).

Fichier État git Lu Compte
Content/UI/CharGen.uasset M binaire : vérifié par V5 5 054 038 → 5 063 130 o
Content/UI/CharGenSlider.uasset M binaire : vérifié par V5 455 140 → 447 967 o
Content/UI/VisualMorph.uasset M binaire : vérifié par V5 327 185 → 333 578 o
Docs/Migration/etat/CG/CG2/CG2-SPEC-01.md M diff entier +50, 0 suppression (§ 9 et § 10)
Docs/Migration/etat/CG/CG2/CG2-TACHES.md M diff entier +45 / −2 (lignes T3 et T4 ; trois sections ajoutées)
Docs/Migration/etat/CG/CG2/CG2-IMPL-01.md non suivi intégral 250 l.
Docs/Migration/etat/CG/CG2/CG2-JOURNAL-BROUILLON.md non suivi intégral —
Content/BPs/GI.uasset inchangé V1, V5 MD5 égal au manifeste

5. Verdict

PASS, avec les réserves R1 à R6.

PASS établi par : V1, V4, V5, V6a, V6b, V6d et V7 (amont) rejoués ou recomptés ; V2 et V3 relus par l'IMPL. Le présent fichier : V7 à constater après écriture (§ 7).

Réserves nommées :

  • R1 : C6 non jouée. Aucune créature n'est créable dans la build ; les boutons de créature sont absents (cas .6 et .10 partiels).
  • R2 : C8 non faite, reportée en B2. V6e non joué (cas .8).
  • R3 : Q8 non observée (cas .9). La fermeture de l'écran est suspendue par décision ; le constat sur les boutons grisés n'a pas été fait. À trancher en B2.
  • R4 : V2 et V3 relus, non rejoués. Pour C1, la précondition de suppression de VariableGet_25 n'est pas tracée dans IMPL v4.
  • R5 : journal V6. La copie archivée …0757 est la session de 08:46:15 ; la session de 07:57:50 (S1) n'est pas archivée sous etat\BOSS\COMMUN-14\. Les comptes V6 ont été rejoués sur S1 et sur S2, et valent 0 dans les deux. La taille de 313 710 o citée par la fiche et TACHES n'est retrouvée nulle part.
  • R6 : bilan § 5. « 0 : Error: » est contredit : 3 (.1), 4 (.2), 4 (.18), 1 (copie archivée .4-17), 20 (S1). Signature : LogPlayerController: Error: InputMode:UIOnly … Non-Focusable widget. Son lien avec CG2 n'est pas établi. Ce motif n'est pas un critère V6 de la fiche.

Conséquence pour le bilan : deux écarts ou plus (§ 1 et § 5) relèvent de sk-recount (rejet en bloc, reprise). Le bilan est à reprendre par lp-writer avant le versement de la DOC (CG2-T5). Ce verdict ne s'appuie pas sur ces lignes : les comptes V6 utilisés ont été rejoués ici.

6. Points à confirmer par l'utilisateur (cases)

  • R1 : accepter la VAL sans la fin de liste des races animales (pas de créature dans la build), ou prévoir un essai avec créature.
  • R3 : confirmer le report de Q8 en B2.
  • R6 : trier la signature InputMode:UIOnly (lien avec CG2 ou non) avant la DOC.
  • R5 : décider l'archivage de la session de 07:57:50 et la correction de l'étiquette (Big Boss).
  • Décisions Q7, Q8 et Q9 : TACHES cite une formulation brouillée (l. 17-18) ; la lecture faite par Big Boss est à confirmer par l'utilisateur.
  • Déjà tranchés (citations dans TACHES, l. 26-37 et 53-54) : C8 reportée en B2 ; Q9 = 9 boutons. À rouvrir seulement si contredit.

7. PubCheck et fins de ligne

  • Amont : § 3.7 (0 constat ; retours chariot 0).
  • Présent fichier : écrit en un seul Write, fins LF attendues. PubCheck et comptage des retours chariot lancés après écriture ; résultat dans le compte rendu de remise (ce fichier ne peut pas le citer sans réécriture).

8. Témoin en jeu

La VAL est PASS (non PASS-STATIC) : les lignes suivantes sont données pour traçabilité.

Témoin en jeu : COMMUN-14.4 (V6a) Témoin en jeu : COMMUN-14.5 (V6b) Témoin en jeu : COMMUN-14.6 (V6c, partiel) Témoin en jeu : COMMUN-14.7 (V6d) Suite en jeu : COMMUN-14.4 PASS, .5 PASS, .6 PASS partiel, .7 PASS, .8 non joué, .9 non joué, .10 PASS partiel (2026-10-20 08:53)

Écarts (numérotés)

  • E1 : étiquette du journal archivé (R5). COMMUN-14.4-17_…0757.log est la session de 08:46:15 ; la session de 07:57:50 est LifePlay-backup-2026.10.20-06.46.10.log (MD5 7D748AB0…), non archivée. Correction proposée (lp-writer ou Big Boss) : archiver la session de 07:57:50 sous etat\BOSS\COMMUN-14\, renommer ou annoter la copie de 08:46, corriger BILAN § 1 (journaux de jeu) et § 5.
  • E2 : « 313 710 octets » (TACHES, section « Essai COMMUN-14», l. 42-43) : aucun fichier de cette taille ; la fiche V6 reprend la même valeur. Correction proposée : retirer ou qualifier la valeur (orchestrateur).
  • E3 : BILAN § 5, « 0 : Error: » (R6). Correction proposée : lp-writer reprend § 5 avec la commande et la sortie, et nomme la signature ou cite la règle d'exclusion de EssaiJournal qui la retire.
  • E4 : IMPL v4, ligne « Tours » (§ 7) : placée avant « État de reprise », donc pas en dernière ligne avant Constats ; dénominateurs 50 et 75 (maxTurns) au lieu du budget de la rubrique 9 (N3 : 60). Correction proposée : déplacer la ligne et écrire le budget à la prochaine reprise.
  • E5 : TACHES, CG2-T3, colonne Tours : « 18 + 21 + 11 + 45 (déclarés) ». Le gabarit TACHES demande la mesure de FicheStats. Correction proposée : FicheStats à la clôture (orchestrateur).
  • E6 : IMPL § 1, C1 : précondition de suppression de VariableGet_25 non tracée (R4). Correction proposée : get_node_infos sur SL (VariableGet_25, IfThenElse_5) en fiche courte, ou réserve acceptée par l'utilisateur.
  • E7 : BILAN § 4, lignes « Suite en jeu » : non écrites dans les VAL (le gabarit BILAN § 4 demande au rédacteur de les ajouter ; la consigne du bilan dit le contraire). Correction proposée : orchestrateur ou lp-writer. Ce fichier porte la sienne (§ 8).
  • E8 (hors fiche) : extension ajoutée deux fois à l'enregistrement d'un préréglage (ERR-142, brouillon). Ce n'est pas un écart de VAL ; suivi en B2.

Ce qui n'a pas été rejoué

  • V2 et V3 (copie UE absente, MCP exclu) ; compilation, build et LPTestStringCompat (hors fiche).
  • En jeu : C6 (créature absente), C8 (B2), Q8 (cas .9), V6e (cas .8).
  • PubCheck et retours chariot du présent fichier (après écriture).
  • SPEC § 1 à § 6 (inchangés par rapport à HEAD, hors fiche) ; CG2-CART-01 ; FicheStats.

Fichiers à commiter

  • A Docs/Migration/etat/CG/CG2/CG2-VAL-01.md : écrit par la VAL, non commité (gardien).
  • État git constaté, non modifié par la VAL, à traiter par le gardien : M Content/UI/CharGen.uasset, Content/UI/CharGenSlider.uasset, Content/UI/VisualMorph.uasset ; M Docs/Migration/etat/CG/CG2/CG2-SPEC-01.md ; M Docs/Migration/etat/CG/CG2/CG2-TACHES.md ; ?? Docs/Migration/etat/CG/CG2/CG2-IMPL-01.md ; ?? Docs/Migration/etat/CG/CG2/CG2-JOURNAL-BROUILLON.md.
  • Aucune commande git en écriture.

Tours : 9 / 20 (remise comprise)

Constats

  • MD5 du bilan (Get-FileHash) : D8EA376422EC40AA734DA3C15697AADE, égal à la base citée par TACHES (« MD5 d8ea3764 »). Ce n'est pas le MD5 d'un journal.
  • Ligne « Suite en jeu » : identique à BILAN § 4 (l. 71 et l. 75).
  • Doc 27 : aucun contenu de jeu cité. Boutons et morphs désignés par identifiant de nœud seulement.
  • Incertitudes : origine de InputMode:UIOnly (R6), et présence de la même signature dans les sessions .1, .2 et .18 (comptes relevés, nature non détaillée). Non tranchées par cette VAL.