LifePlay-Revival/Docs/Migration/etat/REPO/PUB/PUB-20261021-VAL.md
2026-10-21 10:57:36 +02:00

11 KiB

Fiche PUB-20261021-VAL — Niveau N1 — Modèle prévu sonnet | utilisé sonnet (claude-sonnet-5-5) — Agent lp-validator — Skills sk-protocol, sk-recount, debug-verification, lp-validate

PUB-20261021-VAL : contrôle du contenu avant le push du commit de publication (2026-10-21)

Lecture seule du dépôt ; seul écrit : ce fichier. Modèle : PUB-20261020-VAL.md. Règle : doc 27 l. 70 (« sans contenu de jeu ni contenu sexuel »). Diff contrôlé : git diff 56dfcfc 655b44a (vagues 10 à 13).

1. Fiches amont relues

  • etat\REPO\PUB\PUB-20261020-VAL.md (modèle de contrôle et de gabarit, relu en entier).
  • Fiche de la session (consignes de l'ordonnateur) et son message en cours de tâche (fetch réussi). Pas d'autre amont : le contenu contrôlé est le diff lui-même.
  • Gabarit lp-doc\gabarits.md : relu en tête seulement (règle « sections numérotées dans l'ordre ») ; le plan suit le modèle PUB-20261020-VAL.

2. Points à confirmer des IMPL

sans objet : aucune IMPL dans cette fiche.

3. Critères rejoués

Refs (établi, git rev-parse ue5.8 pub/ue5.8 origin/ue5.8 56dfcfc 655b44a '655b44a^{tree}') : ue5.8 = 655b44ae74eb7d03871db04ea53bf76667e84b31 ; pub/ue5.8 = origin/ue5.8 = 56dfcfc3d20e72c1b1e3d2df079ab305980fed8a ; arbre 655b44a^{tree} = 82e2709853a3257af44dd7f330a3522996236b15. Fetch : je ne l'ai pas lancé. Information de l'ordonnateur (reçue en cours de tâche, non rejouée par moi) : le fetch a réussi à 09:3x, le serveur Forgejo est de nouveau joignable, FETCH_HEAD et origin/ue5.8 distant valent 56dfcfc, comme pub/ue5.8 : parent prévu confirmé (rapporté par l'ordonnateur, non revérifié ici ; mes rev-parse locaux concordent avec 56dfcfc). Note : 56dfcfc n'est pas ancêtre de 655b44a (git merge-base --is-ancestor : code 1), attendu, la publication est un commit à historique séparé (git commit-tree … -p pub/ue5.8). git rev-list --count 56dfcfc..655b44a : 198 (sans portée sur la publication).

# Critère Commande Résultat Verdict
1 PubCheck 0 constat pwsh -NoProfile -File Tools\PubCheck.ps1 -Arbre ue5.8 -Binaires -Depot "D:/Game/LifePlay-master 5.8" </dev/null PubCheck : 0 constat(s), code 0 PASS
2 Périmètre : 72 fichiers git diff --stat 56dfcfc 655b44a ; --name-status « 72 files changed, 7340 insertions(+), 97 deletions(-) » ; 53 A + 19 M = 72 PASS
3 Contenu adulte explicite voir § 3.2 aucun terme dans les fichiers de jeu ni les sources ; occurrences seulement dans la VAL de la veille PASS
4 Secrets, données personnelles voir § 3.3 aucun secret, e-mail, IP, nom de profil PASS
5 Fichiers à exclure absents voir § 3.4 absents ; LifePlay.uproject suivi mais identique au publié PASS
6 Journaux de jeu de session absents voir § 3.4 0 fichier .log ni journal de jeu dans le diff PASS
7 Binaires voir § 3.5 0 binaire ajouté ou modifié PASS
8 README inchangé git diff --name-only 56dfcfc 655b44a -- README.md 0 ligne (décision de l'utilisateur) PASS

3.2 Contenu adulte

Méthode : git diff -U0 56dfcfc 655b44a écrit dans un fichier du scratchpad (7 888 lignes), puis recherche (outil Grep, insensible à la casse, mots entiers, lignes +) de 41 termes : xxx, sex(y/ual), porn(o), fuck(ing), pussy, cock, cum, dick, penis, vagina, blowjob, orgasm, rape, dildo, boob(s), breast, nipple, genital(s), nude, naked, bondage, bdsm, anal, masturbat*, erotic, hentai, nsfw, slut, whore, clit*, semen, sperm, vulva, erection, explicit. Sortie : 6 lignes du diff (6876, 6878, 6879, 6880, 6882 et 6923), toutes dans PUB-20261020-VAL.md (fichier ajouté par ce diff : il cite les termes cherchés et les identifiants xxx / sex / bondage de la veille : dossier D:\XxX\…, noms de widgets UI/Sex*, UI/Bondage). Citation de termes de contrôle, aucune description : cat. T, déjà jugée PASS le 2026-10-20. Aucune occurrence dans les 71 autres fichiers (sources C++, .ini, .md de lots, .csv). Par nom de fichier : git diff --name-only 56dfcfc 655b44a filtré sur sex|nude|porn : 0 ligne. Non lu une à une : les 7 340 lignes ajoutées (balayage lexical seulement, cf. Limites).

3.3 Secrets et données personnelles

  • Jetons, mots de passe, clés (password|passwd|token|secret|api_key|bearer|ghp_|github_pat|AKIA) sur le diff : seuls résultats = ligne 73 (mot « secret » dans une ligne de journal, voir hôte ci-dessous), et la VAL de la veille (lignes 6871-6923 : noms de variables, recommandations sans valeur, Tokens du C++). Aucune valeur de secret. Aucun résultat dans les sources C++ du diff.
  • Adresses de messagerie (expression régulière usuelle « partie locale, arobase, domaine, extension ») : 0 résultat.
  • Adresses réseau numériques (quatre groupes de chiffres séparés par des points) : 2 résultats, les adresses de boucle locale et « toutes interfaces » (ligne 6890, VAL de la veille, citation de la règle). Aucune autre.
  • Noms de profil Windows et du propriétaire de la machine (recherche des identifiants de profil, de prénom et de nom connus du poste) : 0. Le motif générique de dossier de profil n'apparaît qu'à la ligne 6890 (motif cité dans la VAL de la veille). Les chemins D:\Game\… (arbre de travail, builds LifePlay_Build_5.8_*, sauvegardes LifePlay_Backup_5.5\…, moteur D:\Game\Launcher\Engine\UE_5.8) et C:\Program Files apparaissent dans les fiches de lot : chemins de la machine sans nom de profil, du même type que ceux déjà publiés (PubCheck : 0 constat). APPDATA / %LOCALAPPDATA% : variables d'environnement, sans nom d'utilisateur (les 2 CSV contiennent %LOCALAPPDATA%\LifePlay-Revival en clair).
  • REL2-releve-R0.csv (97 lignes) et R1.csv (105 lignes) : relevés « Racine, Chemin, Octets, Date » (noms de fichiers : CrashReportClient.ini, GameUserSettings.ini, *.sav, *.lpcharacter.json, etc.). Noms, tailles, dates seulement ; aucun contenu de sauvegarde. Pas des journaux de jeu.
  • Domaine : forgejo.edujiro5972.fr figure déjà dans l'arbre publié 56dfcfc (3 fichiers : BOSS-ETAT.md, BOSS-JOURNAL.md, REP1-DOC-02.md, 6 lignes, git grep -c). Dans 655b44a : 5 fichiers (ajout de PUB-20261020-VAL.md, 2 lignes, et tickets/PUB-20261020-T1.md, 1 ligne ; BOSS-JOURNAL.md passe de 1 à 3). Décision de l'utilisateur du 2026-10-20 17:34 (« On garde le nom forgejo.edujiro… », citée dans le diff, ligne 74) : hostname gardé. Non rouvert ici.

3.4 Fichiers à ne pas publier, journaux de jeu

Commande : git ls-tree -r --name-only 655b44a filtré sur LifePlay\.uproject|LP-PROJET\.ini|AG/ORGA2|\.log$|DC2-BUILD. Sortie brute : LifePlay.uproject (une seule ligne).

  • LifePlay.uproject : suivi, donc dans l'arbre ; git diff 56dfcfc 655b44a -- LifePlay.uproject | wc -l : 0, identique à la version déjà publiée. La modification locale ( M LifePlay.uproject de git status --short) n'est pas dans 655b44a. Conforme si le commit de publication prend 655b44a^{tree} et non l'index ni le répertoire de travail.
  • Docs/LP-PROJET.ini et Docs/Migration/etat/AG/ORGA2/ : 0 fichier dans l'arbre (filtre LP-PROJET|ORGA2 : 0 ligne) ; non suivis (?? dans le statut).
  • *.log : 0. Noms contenant log, session ou journal dans le diff : 3, Docs/Journal_Modifications.md, BOSS-JOURNAL.md, REPO-JOURNAL.md (journaux de projet en texte, pas des journaux de jeu). Aucun journal de session de jeu dans le diff.
  • Autres fichiers locaux non commités (BOSS-JOURNAL.md, FILE.md, LifePlay.uproject) : hors du commit si l'arbre vient de 655b44a. Arbre : 2 449 fichiers (git ls-tree -r --name-only 655b44a | wc -l) contre 2 396 pour 56dfcfc ; écart 53 = nombre de fichiers A du diff (cohérent).

3.5 Binaires

git diff --name-status 56dfcfc 655b44a filtré sur uasset|umap|exe|dll|pak|zip|7z|png|jpg|wav|mp3|bin|pdb|txt : 0 ligne. Fichiers hors .md du diff (13, git diff --numstat) : Config/DefaultGame.ini, Config/DefaultScalability.ini, 2 .csv, ModdingExtraBPLibrary.cpp, 8 fichiers Source/LifePlay (7 .cpp et 1 .h : CameraMode, ColorGrade, DirectControl, Keyboard, ModInfo, Settings x2, VideoQuality), tous texte. 59 .md + 13 autres = 72 (confirme le total). Aucun binaire ajouté, aucun modifié. Modifications de configuration : ProjectVersion=2026.10.2.1a -> 2026.10.2.2a (DefaultGame.ini), r.Tonemapper.Sharpen=0.5 en deux sections (DefaultScalability.ini) ; rien de personnel.

4. Diff lu en entier

git diff --name-status 56dfcfc 655b44a | awk '{print $1}' | sort | uniq -c : 53 A, 19 M = 72 fichiers (recompté par --stat : « 72 files changed, 7340 insertions(+), 97 deletions(-) » ; git diff --name-status | wc -l : 72). Attendu 72 : confirmé. Répartition par dossier : Docs/Migration/etat/REL 30, REPO 21, BOSS 9, Docs/Journal_Modifications.md 1, Config 2, Source/LifePlay 8, Plugins/ModdingExtra 1. Méthode : balayage par motifs (§ 3.2, § 3.3) du diff complet, lecture des lignes à constat et du numstat des 13 fichiers non .md. Les 7 340 lignes n'ont pas été lues une à une.

5. Verdict : PASS

Les contrôles sont conformes : PubCheck 0 constat, 72 fichiers comme attendu, aucun contenu sexuel explicite ajouté, aucun secret, aucun nom de profil, fichiers exclus et journaux de jeu absents de l'arbre, aucun binaire, README inchangé. Réserve non bloquante : le README annonce encore l'alpha 2026.10.2.1a alors que DefaultGame.ini porte 2026.10.2.2a : écart voulu par l'utilisateur (README, livraison et tag v2026.10.2.2a ensuite).

6. Points à confirmer par l'utilisateur

  • Le commit de publication prend l'arbre de 655b44a (git commit-tree 655b44a^{tree} -p pub/ue5.8), pas le répertoire de travail : sinon LifePlay.uproject local, Docs/LP-PROJET.ini et etat/AG/ORGA2/ seraient embarqués.
  • Parent pub/ue5.8 = 56dfcfc : confirmé par le fetch de l'ordonnateur (serveur redevenu joignable, origin/ue5.8 distant = 56dfcfc). Information rapportée, non rejouée par le validateur.
  • Désaccord assumé entre README (2.1a) et version du jeu (2.2a) pour cette publication : accepté par l'utilisateur, à rappeler après la livraison du jeu.

Limites (non mesuré)

  • Balayage lexical (anglais, français) : une phrase explicite sans l'un des termes n'est pas vue. Textures, icônes, sons : aucun dans le diff.
  • Contrôle du diff 56dfcfc..655b44a, non des 2 396 fichiers déjà publiés.
  • Serveur distant non interrogé par le validateur (état du serveur repris de l'ordonnateur).

Fichiers à commiter

A : Docs/Migration/etat/REPO/PUB/PUB-20261021-VAL.md (ce livrable). Aucun autre fichier modifié par cette fiche. Ce fichier ne figure pas dans 655b44a (donc pas dans l'arbre contrôlé) ; commité avant la publication, il entre dans un commit suivant, pas dans cette publication.

Tours : 14 / 40 À verser : lp-validate — pour le balayage de publication, écrire le diff -U0 dans le scratchpad puis le filtrer avec Grep : les VAL de publication précédentes citent leurs propres termes de recherche et ressortent comme faux positifs. Ne jamais écrire dans une VAL les identifiants de profil recherchés, des adresses IP littérales ni un exemple d'adresse de messagerie : PubCheck les signale (constats NOM et ADRESSE). Suite : Big Boss doit donner la commande de push (arbre de 655b44a, parent pub/ue5.8 = 56dfcfc) après réponse aux cases du § 6 ; état : contrôle terminé, PASS.