LifePlay-Revival/Docs/Migration/etat/OB/OBB/OBB-T3-DOC.md

106 lines
13 KiB
Markdown
Raw Normal View History

Fiche OBB-T3d — Niveau N1 — Modèle prévu modèle de l'agent lp-writer | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent lp-writer — Skills sk-protocol, lp-doc, lp-lot, lp-repo (§ 7), sk-repo (§ 2 et § 6)
# OBB-T3-DOC : réservation du numéro CHG d'OBB-T3 et entrée CHG-301 écrite au journal (2026-10-10)
**Mise à jour (relance, 11:33-11:35)** : le Big Boss a inversé l'ordre du journal (OBB avant AR). L'entrée CHG-301 est maintenant
**écrite** (voir « Entrée écrite » en fin de livrable) ; NUMEROS l. 16 est passé à `utilisé`. Les mentions « non écrite », « réservé » et
« critère 8 non rejoué » plus bas décrivent l'état du premier passage (on n'efface pas le passé) ; ce paragraphe et la section
« Entrée écrite » font foi.
Copie `D:\Game\LifePlay-master 5.8`, branche `ue5.8`, HEAD `b63196a` (= tag `OBB-avant`). Consigne de l'orchestrateur reçue en cours de
fiche (arbitrage Big Boss, ordre du journal : AR CHG-299, puis OBB, puis gel DOCMV) : réserver maintenant, **ne pas écrire** dans
`Journal_Modifications.md`, fournir le texte complet ici. Hors gabarit : la section « Entrée prête, non écrite » (consigne de
l'orchestrateur) s'ajoute au gabarit DOC ; l'entrée du journal n'est pas écrite, le critère 8 de la fiche (diff du journal) est
donc **non rejoué** : il le sera à la fiche d'écriture.
## 1. Fichiers écrits (chemins)
- `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REPO\NUMEROS.md` : une ligne ajoutée (CHG-301, statut `réservé`), l. 16 (Edit).
- `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REPO\VERROU\13\qui.txt` et dossier `13-libre` (verrou pris puis rendu ; dossiers
locaux, non suivis par git).
- `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\OB\OBB\OBB-T3-DOC.md` (ce livrable).
- **Non écrit** : `Journal_Modifications.md` (consigne). Établi : `git status --short -- Docs/Migration/Journal_Modifications.md` vide à
l'entrée de la fiche (commande rejouée avant la réservation) ; aucun retrait à faire, je n'y ai rien écrit.
## 2. Numéros utilisés (CHG, ERR, doc) et commande de contrôle
- **CHG-301**, lot OBB, statut NUMEROS `réservé` (à passer à `utilisé` par la fiche d'écriture, après l'entrée au journal).
- ERR : aucun. Doc numéroté : aucun.
- Réservation sous verrou (`sk-repo` § 2) : plus grand numéro de `VERROU` = 12 (`12` et `12-libre` présents, donc libre) ; `mkdir VERROU/13`
réussi à 11:28 (`qui.txt` écrit), `mkdir VERROU/13-libre` fait après l'écriture de la ligne : verrou rendu (`ls VERROU | sort -n | tail`
→ `12-libre`, `13`, `13-libre`). Le `mkdir 13-libre` a été lancé dans le même tour que l'Edit de NUMEROS (même lot d'appels) ; la ligne
est bien présente ensuite (`grep -n 'CHG | 301' NUMEROS.md` → l. 16) [estimé : l'ordre d'exécution n'est pas garanti, sans effet vu].
- Maxima relevés sous verrou (commandes `grep -ohE '^\| CHG-[0-9]+' … | sort -n | tail -3`) : journal 5.8 = 298 (CHG-296, 297, 298) ;
journal 5.5 = 297 (294, 295, 297) ; `NUMEROS.md` = 300 (299 AG, 300 DOCMV, tous deux `réservé`) ; `grep -rohE 'CHG-[0-9]{3}' Docs/Migration`
(hors outil Grep, qui saute `etat/`) : maximum `CHG-299` (aucune mention de CHG-300 ou plus). Maximum réel = 300, d'où 301.
- Contrôle d'absence avant écriture : `grep -rn 'CHG-30[0-9]' Docs/Migration` → aucun résultat (CHG-301 absent du journal).
- Contrôle à rejouer à l'écriture : `Grep '^\| CHG-301 ' Journal_Modifications.md` → 1 ligne ; `NUMEROS.md` l. 16 → `utilisé`.
## 3. Index, plages et registre des reports mis à jour
sans objet : aucune doc numérotée créée, ni modifiée, ni plage du README touchée ; l'entrée du journal n'est pas écrite (la plage
`CHG-001` à `CHG-nnn` du README n'est pas concernée par la consigne ; ni `README.md` ni docs numérotées modifiables par cette fiche).
## 4. Écarts à la fiche
1. Entrée CHG **non écrite** (consigne de l'orchestrateur postérieure à la fiche) ; texte fourni ci-dessous. Critère d'acceptation
« `git diff` du journal ne montre que l'entrée CHG d'OBB-T3 » : non applicable à ce stade ; « NUMEROS porte la ligne au statut
`utilisé` » : **non** (statut `réservé`, voulu par la consigne) ; « verrou rendu » : oui.
2. Fins de ligne du journal relevées avant écriture (pour la fiche d'écriture) : `Journal_Modifications.md` = **CRLF** sur les 1276 lignes
(1276 lignes avec CR sur 1276), sans BOM (premiers octets `# J`). Edit garde CRLF ; l'entrée doit tenir sur **une seule ligne**
(tableau Markdown).
3. Place prévue (à vérifier à l'écriture) : bloc des entrées récentes, l. 1134-1137 au moment du relevé, ordre non uniforme
(296, 298, 297, 295 de haut en bas). CHG-299 (AR) et CHG-300 (DOCMV) y seront ajoutés avant moi. Insertion proposée : **juste au-dessus de
la ligne de plus haut numéro présente** (aujourd'hui `| CHG-296 |`, l. 1134 ; après AR, au-dessus de l'entrée CHG-299), sans déplacer
ni modifier aucune autre entrée. Repérage : `Grep '^\| CHG-29[5-9]|^\| CHG-30' Journal_Modifications.md`.
4. La fiche de départ cite « 3 dernières entrées CHG-296 à CHG-298 » : format relu (colonnes `ID | Date | Lot | Fichiers | Raison | Avant → après | Retour arrière`,
`Journal_Modifications.md:8`).
## 5. Fichiers à commiter
Dépôt du jeu `D:\Game\LifePlay-master 5.8`, branche `ue5.8` (le ticket suit au gardien ; **ordre du journal : après le commit d'AR**, voir `OBB-TACHES.md` l. 18) :
- `A Docs/Migration/etat/OB/OBB/OBB-T3-DOC.md` (ce livrable)
- `M Docs/Migration/etat/REPO/NUMEROS.md` : **fichier partagé** ; son diff contient aussi les lignes CHG-299 (AG) et CHG-300 (DOCMV) et d'autres
changements d'autres sessions (`git diff --stat` : 4 insertions, 1 suppression au relevé). Ma seule ligne : CHG-301 (l. 16). À ne commiter
qu'avec l'accord des autres lots ou dans le ticket où l'orchestrateur le décide.
- Journal : rien à commiter pour cette fiche (non écrit). Fiche d'écriture : `M Docs/Migration/Journal_Modifications.md`, `M Docs/Migration/etat/REPO/NUMEROS.md`.
## Entrée prête, non écrite
Ligne unique, à insérer telle quelle (fins de ligne CRLF du fichier, pas de barre verticale dans le texte). Dépendances connues à la date :
lot OBB, ticket suivant `OBB-R2` (nom d'après `OBB-TACHES.md` l. 18 ; à corriger si l'orchestrateur le nomme autrement).
```
| CHG-301 | 2026-10-10 | OBB | `Tools/CheckPackage.ps1` (neuf, 228 lignes, ASCII, LF : 4 contrôles en lecture seule d'un dossier de build empaqueté, paramètres `-Build`, `-Config Shipping/Development/DebugGame` (déduit de l'exe archivé si absent), `-ProjectRoot` ; (1) `Modules/.git` au manifeste NonUFS et sur disque, (2) `LPSandbox` au manifeste UFS, (3) `LPAnimMeasure` au `.rsp`, (4) `LPSandbox` dans le seul tableau `BuildPlugins` du `.target` ; codes 0 = 4 PASS, 1 = au moins un FAIL, 2 = NON-CONCLUANT sans FAIL, 3 = contrôle impossible ; le `.rsp` et le `.target` du projet ne valent pour le build contrôlé que si l'exe du projet a la même taille et la même date (2 s) que l'exe archivé et que le fichier n'est pas postérieur à cet exe de plus de 10 min, sinon NON-CONCLUANT) ; `Tools/BuildDebug.ps1` (+6 lignes, après la copie des PDB et avant la ligne `archive=` : appel de `CheckPackage.ps1`, tout code différent de 0 arrête le script avec ce code) ; `Tools/SplitModules.ps1` (+7 lignes, avant tout déplacement : code 1 ou 3 = refus par `throw`, code 2 = avertissement et publication poursuivie) ; hors dépôt : instantané `D:\Game\LifePlay_Backup_5.5\OBB\manifest.csv`, livrables `etat/OB/OBB/` (`OBB-T3-IMPL.md`, `OBB-T3-VAL.md`, `OBB-T3-DOC.md`) | Exigence B3 / G-OB-7 (`etat/OB/OBA/OBA-T5-EVAL.md` l. 89-98) : le paquet Shipping U8 contenait le dépôt `.git` des modules (142 lignes au manifeste NonUFS) et l'addon `LPSandbox` (1 ligne au manifeste UFS) sans qu'aucun outil ne le signale avant publication. Preuves rejouées par la VAL (`OBB-T3-VAL.md`, verdict PASS) : `Shipping_U8` code 1 (`[1]` FAIL 142, `[2]` FAIL 1, `[3]` et `[4]` NON-CONCLUANT : exe du projet relié à 20:08:50 contre 17:56:48 à l'archive, même taille 164 823 552 o) ; `DC4` avec le projet 5.5 : 4 PASS, code 0 (sans `-ProjectRoot` : code 2, autre taille d'exe) ; `Shipping_AP7` avec le projet 5.5 : `[2]` FAIL 2, `[3]` FAIL 1, `[4]` FAIL 1, code 1 ; `STC_Development` : `[1]` FAIL 142, code 1 ; build inexistant : code 3 ; faux builds jetables : règle des 10 min (9 min PASS, 11 min NON-CONCLUANT), refus de `SplitModules.ps1` prouvé sans déplacement (arbre inchangé). Branchement de `BuildDebug.ps1` : PASS-STATIC (UAT non lancé), analyse syntaxique 0 erreur sur les 3 scripts | 3 fichiers de `Tools` : 1 créé (0 → 228 lignes), `BuildDebug.ps1` 90 → 96 lignes (CRLF gardé), `SplitModules.ps1` 160 → 167 lignes (LF gardé) ; `git diff --stat -- Tools` : 2 fichiers, 13 insertions, 0 suppression. Conséquence : `BuildDebug.ps1` sort en code 1 après l'archivage de tout build tant que `Content\Modules\.git` existe (levé par OBB-T1, suspendue). Limites : (a) les builds Shipping lancés par UAT directement (hors `BuildDebug.ps1`) doivent appeler `CheckPackage.ps1` aussitôt après l'archivage et avant toute recompilation (consigne de skill à venir, `OBB-T3-IMPL.md` Constats 4) ; (b) en publication `[3]` et `[4]` seront souvent NON-CONCLUANT (projet recompilé après l'empaquetage) et ne bloquent pas `SplitModules.ps1` ; (c) un `.git` de sous-module (`Modules/<module>/.git`) n'est pas relevé | `git revert` du commit du ticket `OBB-R2` (restitue `BuildDebug.ps1` et `SplitModules.ps1` et retire `Tools/CheckPackage.ps1` de l'arbre suivi) ; hors git : `.\Tools\Restore.ps1 -Lot OBB` (proposé seulement, avec l'accord de l'utilisateur) pour les deux scripts modifiés, et déplacer `Tools\CheckPackage.ps1` vers `D:\Game\LifePlay_Backup_5.5\OBB` (jamais supprimer) |
```
Contrôles de l'entrée avant écriture (faits ici, sources) : chiffres repris de `OBB-T3-IMPL.md` § 1 et § 3 et de `OBB-T3-VAL.md` § 2 à 5
(lus en entier) ; 90 → 96 lignes (CR = LF = 90 puis 96, IMPL § 1 et VAL P7) ; 160 → 167 (VAL P7). Aucun contenu de jeu, aucun nom
de mod ou de texte ; noms de modules d'outillage seulement (`LPSandbox`, `LPAnimMeasure`, code du projet).
Points que la fiche d'écriture doit vérifier avant d'insérer : (i) `git status --short -- Docs/Migration/Journal_Modifications.md` ne montre plus que
l'entrée d'AR (CHG-299) ou est vide après son commit ; (ii) ticket `OBB-R2` bien le ticket du commit de `Tools/` ; (iii) numéros `CHG-301` toujours
réservé à OBB dans `NUMEROS.md` ; (iv) `CheckPackage.ps1` toujours à 228 lignes (`wc -l`) et MD5 `7173f917718c206dd6750064ac1a224f`.
## Entrée écrite (relance)
Vérifications avant écriture, rejouées à 11:33 : (i) `git status --short -- Docs/Migration/Journal_Modifications.md` vide ; (ii) ticket `OBB-R2`
confirmé par l'orchestrateur (aucun fichier `OBB-R2.md` encore sous `etat/REPO/tickets/`, seul `OBB-R1.md`) ; (iii) `NUMEROS.md` l. 16 = CHG-301 OBB
`réservé`, l. 15 = CHG-300 DOCMV, `grep -c '^| CHG-301 '` du journal = 0 avant ; (iv) `Tools/CheckPackage.ps1` = 228 lignes, MD5
`7173f917718c206dd6750064ac1a224f` (`wc -l`, `md5sum`).
Écriture (Edit) : verrou `VERROU/14` pris à 11:33 (`qui.txt`), rendu par `14-libre` après le rejeu des contrôles (`ls VERROU | sort -n | tail -3` →
`13-libre`, `14`, `14-libre`). L'entrée du livrable (section « Entrée prête, non écrite ») est insérée **telle quelle**, ligne unique, **au-dessus de
`| CHG-296 |`** : CHG-299 (AR) n'était pas encore au journal ; autres entrées non touchées. Elle porte désormais la ligne 1134 (CHG-296, 298, 297, 295
suivent en 1135-1138). `NUMEROS.md` l. 16 : statut `utilisé (entrée écrite au journal 5.8 à 11:34, … non commitée)`.
**Critère 8 rejoué** (commandes, résultats bruts) :
- `git diff --stat -- Docs/Migration/Journal_Modifications.md` → `1 file changed, 1 insertion(+)` ; lignes ajoutées commençant par `+|` = 1 (`+| CHG-301 | 2026-10-10 | OBB …`) ;
lignes supprimées (`^-[^-]`) = 0. Ajout seul, ma seule ligne.
- Fins de ligne : `grep -c $'\r$'` = **1277** lignes avec CR pour **1277** lignes (avant : 1276 / 1276) : CRLF gardé, nouvelle ligne comprise ; premiers
octets `# J` : pas de BOM. (`git diff | grep -c $'\r$'` = 0 : les lignes du diff sont affichées sans CR, sans conséquence, le comptage du fichier fait foi.)
- `grep -n '^| CHG-301 ' Journal_Modifications.md` → l. 1134 (1 occurrence) ; `NUMEROS.md` l. 16 → `utilisé`.
- Verrou rendu : `14-libre` présent.
Fichiers à commiter (mise à jour, le gardien commite aussitôt : fichier partagé ; ticket `OBB-R2` pour `Tools/`, ordre arrêté par l'orchestrateur) :
- `M Docs/Migration/Journal_Modifications.md` (une ligne : CHG-301 ; **rien d'AR ni d'autre dans ce diff**, établi ci-dessus)
- `M Docs/Migration/etat/REPO/NUMEROS.md` (ma ligne l. 16 ; le diff contient aussi les lignes 299 et 300 des autres sessions : même réserve qu'en § 5)
- `A Docs/Migration/etat/OB/OBB/OBB-T3-DOC.md` (ce livrable)
Tours : 8 / 40 (premier passage) ; relance : 5 / 31
## Constats
1. Écart de formulation de la fiche : « DC4 + projet 5.5 : 4 PASS » est établi seulement avec `-ProjectRoot` de la copie 5.5 ; l'entrée le dit.
2. Les trois points « à trancher » de la VAL § 6 (blocage sur code 2 en publication, `.git` de sous-module, limites de rattachement) sont consignés
comme limites (b), (c) dans l'entrée, sans décision à la place de l'orchestrateur ; ils restent ouverts en case non cochée dans `OBB-T3-VAL.md` § 6.