66 lines
6.2 KiB
Markdown
66 lines
6.2 KiB
Markdown
|
|
# ETAT2-T7-VAL — validation de ETAT2-T6 dans la copie 5.8 (étape B2)
|
|||
|
|
|
|||
|
|
Fiche ETAT2-T7-VAL (étape B2) — Niveau N2 — Modèle prévu lp-validator | utilisé Sonnet 5.5 (`claude-sonnet-5-5`) — Agent lp-validator — Skills lp-validate, lp-build, sk-recount, sk-protocol (présents : sk-protocol, sk-recount, debug-verification, lp-validate)
|
|||
|
|
|
|||
|
|
Date : 2026-10-09, 15:32-15:36. Copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`, HEAD `1d1d283`, tag `ETAT2-avant` = `cb6697a`. Aucun script modifié, aucun commit, aucune compilation. Livrable amont relu : `etat\ETAT2\ETAT2-T6-IMPL.md` ; cartographie `ETAT2-T1-CART.md` § 2.3.
|
|||
|
|
|
|||
|
|
## Verdict global : PASS
|
|||
|
|
|
|||
|
|
| Contrôle | Verdict |
|
|||
|
|
|---|---|
|
|||
|
|
| V1 statique | PASS |
|
|||
|
|
| V2 `Build.ps1 -FromLog` réel | PASS |
|
|||
|
|
| V3 `RunCommandlet.ps1` réel (moteur 5.8) | PASS |
|
|||
|
|
| V4 racine `etat\` inchangée | PASS (333 avant, 333 après V2 et V3) |
|
|||
|
|
|
|||
|
|
## V1 statique (établi)
|
|||
|
|
|
|||
|
|
| Critère | Attendu | Recompté | Commande |
|
|||
|
|
|---|---|---|---|
|
|||
|
|
| Fichiers du diff vs `ETAT2-avant` | 4 du cherry-pick + `Build.ps1`, rien d'autre | `AssetHeaders`, `Build`, `EtatDir`, `ReimportCorrectif`, `RunCommandlet` (5 fichiers, +73/−15) ; rien hors `Tools\` ; index vide | `git diff --stat ETAT2-avant` ; `git diff --stat ETAT2-avant -- . ':!Tools'` (vide) ; `git diff --cached --stat` (vide) |
|
|||
|
|
| `git status` | seul `Build.ps1` modifié | ` M Tools/Build.ps1` (avant et après V2/V3) | `git status --short` |
|
|||
|
|
| Fidélité du cherry-pick | lignes ± de `d4b3ea3` = `1d1d283` | MD5 des lignes ± identique (`bf462a95…`) des deux commits | `git show <c> \| grep -E '^[+-][^+-]' \| md5sum` |
|
|||
|
|
| Diff `Build.ps1` vs § 2.3 | 5 changements | lu en entier : en-tête d'aide, paramètre `$EtatDir`, dot-source + `Resolve-LPEtatDir … -NoCreate`, 2 lignes `$sum` (`-FromLog` : `ETAT2_BuildLog_…`, normal : `…_Build_…`) ; +8/−4 ; rien d'autre | `git diff ETAT2-avant -- Tools/Build.ps1` |
|
|||
|
|
| Analyse syntaxique | 0 erreur × 5 | Build 0, EtatDir 0, RunCommandlet 0, ReimportCorrectif 0, AssetHeaders 0 | `[System.Management.Automation.Language.Parser]::ParseFile` (pwsh) |
|
|||
|
|
| `Remove-Item` ajouté | 0 | 0 | `git diff -U0 ETAT2-avant \| grep '^+' \| grep -c Remove-Item` |
|
|||
|
|
| Fins de ligne | = HEAD (LF) | les 5 fichiers : CRLF 0 ; LF identique à HEAD pour `EtatDir` 47, `RunCommandlet` 74, `ReimportCorrectif` 93, `AssetHeaders` 52 ; `Build.ps1` copie de travail 137 LF (HEAD 133 : +4 lignes de la modification non commitée), CRLF 0 | script Python (`b.count`) sur copie de travail et `git show HEAD:` |
|
|||
|
|
|
|||
|
|
## V2 réel sans moteur (établi)
|
|||
|
|
|
|||
|
|
Commande (pwsh, depuis la copie 5.8) : `.\Tools\Build.ps1 -Lot ETAT2 -FromLog 'Saved\Logs\portage\U7_Build_20261009-103224.log'` → code de sortie du script 0 ; affichage `code=-1 duree=0s erreurs=0 avertissements=0 autres=0 unites=12` (code -1 = « pas de compilation », comportement de `-FromLog`).
|
|||
|
|
|
|||
|
|
- Résumé écrit : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ETAT2\ETAT2_BuildLog_20261009-153325.txt` (1366 octets), pas à la racine de `etat\`.
|
|||
|
|
- Recompte contre U7-T14 (`etat\U7-VAL_BuildLog_20261009-123403.txt`, même journal source) : après les 5 lignes d'en-tête (date/lot/horodatage), contenu identique (`diff` sans sortie) : 0 erreur, 0 avertissement, 0 autre, 12 unités (dont `Module.LifePlay.cpp`), 0 DLL ; ligne `Using Visual Studio … MSVC\14.50.35717` conforme à lp-validate § 2.
|
|||
|
|
|
|||
|
|
## V3 réel avec moteur (établi)
|
|||
|
|
|
|||
|
|
Avant : `tasklist | grep -i UnrealEditor` vide (0 processus), à l'avant et à l'après.
|
|||
|
|
Commande : `.\Tools\RunCommandlet.ps1 -Lot ETAT2 -Commandlet LPTestStringCompat` (forme de l'en-tête du script) → code 0, `code=0 duree=16s erreurs=0 avertissements=2`.
|
|||
|
|
|
|||
|
|
- Résumé : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\ETAT2\ETAT2_LPTestStringCompat_20261009-153349.txt` (8779 octets).
|
|||
|
|
- Journal : `D:\Game\LifePlay-master 5.8\Saved\Logs\portage\ETAT2_LPTestStringCompat_20261009-153349.log`.
|
|||
|
|
- Ligne attendue présente (résumé l. 9-10, 92-93) : `=== 3120 cas : compat != herite(UE4) : 0 ; moteur != herite(UE4) : 60 ===` : critère bloquant rempli, 60 = référence.
|
|||
|
|
- Les 2 « avertissements » du résumé sont cette même ligne de résultat (émise en `Warning:` par la commandlet, dédoublonnée sur 2 canaux), pas des avertissements moteur.
|
|||
|
|
- `LogHyperAIStudio…Error` dans le journal : 0 ; lignes `Error:` dans le journal : 0 (le correctif ERR-054 tient au démarrage commandlet).
|
|||
|
|
|
|||
|
|
## V4 racine de `Docs\Migration\etat\` (établi)
|
|||
|
|
|
|||
|
|
`find Docs/Migration/etat -maxdepth 1 -type f | wc -l` : 333 avant V2, 333 après V2, 333 après V3. Seul nouveau contenu : le dossier `etat\ETAT2\` (2 fichiers). Aucun fichier déplacé.
|
|||
|
|
|
|||
|
|
## Écarts et réserves
|
|||
|
|
|
|||
|
|
1. Aucun écart bloquant. Le script ne comptait que `ls | wc -l` = 342 entrées au premier relevé (333 fichiers + 9 sous-dossiers ; 343 avec le dossier `ETAT2` créé ensuite) : la valeur 333 de la fiche est celle des fichiers, confirmée.
|
|||
|
|
2. Observation reprise du T6 (non vérifiée comme défaut) : `$etatDir` et `$EtatDir` désignent la même variable en PowerShell (`Build.ps1:42` et `:51`) ; sans effet fonctionnel, V2 le confirme.
|
|||
|
|
3. Non rejoué : essai de `-EtatDir` explicite et table de 34 cas (déjà PASS en T6, hors fiche) ; lot hors table (`O2`) ; copie 5.5 (hors périmètre de cette fiche) ; compilation (interdite).
|
|||
|
|
4. Fichiers écrits par la validation : les 2 résumés ci-dessus, le journal `ETAT2_LPTestStringCompat_20261009-153349.log`, ce livrable ; scratchpad : `parse.ps1`. `Build.ps1` reste modifié et non commité (décision de l'orchestrateur).
|
|||
|
|
|
|||
|
|
## Compte rendu sk-protocol
|
|||
|
|
|
|||
|
|
[sk-protocol] Skills présents : sk-protocol, sk-recount, debug-verification, lp-validate.
|
|||
|
|
1. Résultat : réussi, PASS global (V1-V4).
|
|||
|
|
2. Preuves : commandes ci-dessus rejouées à neuf, sorties lues en entier.
|
|||
|
|
3. Chiffres : diff 5 fichiers +73/−15 ; parse 0×5 ; `Remove-Item` ajouté 0 ; V2 0/0/0, 12 unités, identique à U7-T14 ; V3 `3120 / 0 / 60`, code 0, 0 erreur HyperAIStudio ; racine `etat\` 333/333/333.
|
|||
|
|
4. Incertitudes : aucune sur le périmètre ; 5.5 non testé ici.
|
|||
|
|
5. Écarts : aucun bloquant (voir ci-dessus).
|
|||
|
|
6. Suite : l'orchestrateur doit commiter `Tools/Build.ps1` sur `ue5.8` puis lancer B3, état : `1d1d283` commité, `Build.ps1` modifié non commité, `etat\ETAT2\` contient 2 sorties d'essai (à intégrer au manifeste B3).
|