106 lines
13 KiB
Markdown
106 lines
13 KiB
Markdown
|
|
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.
|