82 lines
11 KiB
Markdown
82 lines
11 KiB
Markdown
|
|
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.
|
||
|
|
- [x] 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.
|