75 lines
14 KiB
Markdown
75 lines
14 KiB
Markdown
Fiche OUTC-T5 — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-writer — Skills sk-protocol, lp-doc
|
||
# OUTC-T5-DOC : entrée CHG-329 du lot OUTC, plage de l'index, statut NUMEROS (2026-10-11)
|
||
|
||
Départ à froid, jeton du journal accordé à OUTC par Big Boss (JOURNAL-LIBRE reçu, HEAD `61edc08`, CHG-328 d'ORGA1 commité). Contrainte de l'orchestrateur respectée : aucun nom d'utilisateur ni chemin de profil dans le journal, l'index, `NUMEROS.md` ni ce livrable ; le dossier d'essais est désigné par `<scratchpad>`. Aucun essai n'a été lancé par cette fiche : elle ne fait que de la documentation, à partir des livrables amont cités ci-dessous.
|
||
|
||
## 1. Fichiers écrits
|
||
|
||
| Fichier | Modification |
|
||
|---|---|
|
||
| `D:\Game\LifePlay-master 5.8\Docs\Journal_Modifications.md` | +1 ligne : `CHG-329`, insérée au-dessus de `| CHG-328 |` (l. 1134 ; `CHG-328` est devenue l. 1135) ; aucune autre ligne touchée |
|
||
| `D:\Game\LifePlay-master 5.8\Docs\README.md` | l. 72 : `CHG-001` à `CHG-328` → `CHG-001` à `CHG-329` (1 ligne) |
|
||
| `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REPO\NUMEROS.md` | l. 47 : statut de `| CHG | 329 | OUTC |` `réservé` → `utilisé (…)` (1 ligne, CRLF conservé) |
|
||
| `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\OUTC\OUTC-DOC.md` | ce livrable (neuf) |
|
||
|
||
Méthode : outil Edit pour les trois fichiers partagés, Write pour ce livrable ; aucun script ni `sed -i`.
|
||
|
||
Sources lues (en tête et en conclusion, comme demandé) : `OUTC-SPEC.md` (§ 1, 3, 4, 7, 8), `OUTC-TACHES.md`, `OUTC-T6-IMPL.md` et `OUTC-T7-IMPL.md` (têtes), `OUTC-VAL-A.md` et `OUTC-VAL-B.md` (en entier). Non relus : `OUTC-T1-IMPL.md`, `OUTC-T2-IMPL.md`, `OUTC-T3-IMPL.md` ; leurs faits passent par `OUTC-TACHES.md` et par les deux VAL, qui les ont relus. Empreintes et nombres de lignes des 7 scripts : relevés à la source (`md5sum`, `wc -l` sur `Tools/`), égaux à ceux des VAL (`UeState` `736FBF15…`, `FileCheck` `1FD13C70…`, `EtatDir` `5E18EC5B…`, `CopieEtat` `5E441FA0…` de la version OUTC-T7, `Verrou` `788B21F3…`, `Numero` `8803E6A4…`, `GitEtat` `F50A0C23…`).
|
||
|
||
Texte exact de l'entrée (une seule ligne dans le journal, 9 champs `|`) :
|
||
|
||
```
|
||
| CHG-329 | 2026-10-11 | OUTC | Lot OUTC (fiches OUTC-SPEC, OUTC-T1 à T3 IMPL, OUTC-T6 et OUTC-T7 faites par l'orchestrateur, OUTC-T4a et OUTC-T4b VAL, OUTC-T5 DOC) : quatre scripts neufs sous `Tools/`, chacun avec une ligne de synthèse, une sortie `-Json` et des codes de sortie prouvés. `Tools/CopieEtat.ps1` : contrôle de la copie partagée (processus Unreal et 7z qui citent la copie, MD5 des assets déclarés avec `-Reference` et `-Autorise`, `git status` du jeu, de l'addon et de Modules, dossiers parasites sous `etat/`, HEAD, verrou, charge CPU) ; codes 0 aucune alerte, 1 au moins une alerte, 2 usage, copie, dépôt ou référence introuvable ; tous les appels git avec `--no-optional-locks` (OUTC-T7, point 4 de la VAL A). `Tools/Verrou.ps1` : `-Prendre`, `-Rendre`, `-Etat` selon `sk-repo` § 2, sans paramètre de forçage ; création du dossier par `CreateDirectoryW` (écart E1 : `New-Item` sans `-Force` n'est pas atomique, 10 tours sur 60 à un seul succès en threads contre 60 sur 60) ; codes 0 pris, rendu ou libre, 1 occupé ou refusé ou déjà libre, 2 usage. `Tools/Numero.ps1` : `-Reserver CHG, ERR ou DOC` sous verrou (maximum du journal 5.8, de la copie 5.5 et de `NUMEROS.md`, ligne ajoutée par ajout d'octets, CRLF du fichier conservé, préfixe vérifié, verrou rendu dans `finally`) et `-Dernier` en lecture seule ; codes 0 réservé, 1 verrou occupé, 2 erreur. `Tools/GitEtat.ps1` : une ligne par fichier pour les trois dépôts (statut, name-status, fins de ligne `i/` et `w/`, comptes de CR de l'arbre et de HEAD), alerte `FINS` ; codes 0, 1 alerte `FINS`, 2 usage ou dépôt introuvable. Trois scripts modifiés : `Tools/UeState.ps1` (`-Copie`, `-Json`) et `Tools/FileCheck.ps1` (`-Json`), sortie par défaut identique (18 paires comparées à l'ancienne version, octets de stdout, stderr et code ; seule différence, la trace d'exception d'un `throw`) ; `Tools/EtatDir.ps1` (`-EtatDir` relatif sans dossier parasite, racine et parasites refusés, règle `OUT[A-Z]?\d*`, demande de Big Boss). Livrables `Docs/Migration/etat/OUTC/` (`OUTC-SPEC.md`, `OUTC-T1-IMPL.md`, `OUTC-T2-IMPL.md`, `OUTC-T3-IMPL.md`, `OUTC-T6-IMPL.md`, `OUTC-T7-IMPL.md`, `OUTC-VAL-A.md`, `OUTC-VAL-B.md`, `OUTC-DOC.md`, `OUTC-TACHES.md`, fiches) ; `Docs/README.md` (plage du journal) ; `Docs/Migration/etat/REPO/NUMEROS.md` (CHG-329 « utilisé ») ; instantané `D:\Game\LifePlay_Backup_5.5\OUTC` (7 entrées : 4 absentes au départ, 3 existantes) | Décision de l'utilisateur 2026-10-11 E2 « approuvé » sur la recommandation R2 de `etat/EVAL/EVAL-RAPPORT.md` (§ 6 M1, M4, M5 ; § 8 R2) : remplacer les contrôles mécaniques faits à la main par des scripts (empreintes MD5 improvisées, relevés de processus, `git status` de trois dépôts, lecture du verrou, réservation des numéros ; mesures d'EVAL sur 72 h dans `EVAL-STATS.md` § 7 et `EVAL-T6-INV.md` : 538 empreintes, 452 relevés de processus, 1 794 appels d'état git, 1 085 appels de verrou et de tickets). Preuves : `OUTC-VAL-A.md` PASS (V1 à V6, V11, V12 ; code 0 réel sur la copie 5.8 le 2026-10-11 à 07:01:42 puis, pour la version OUTC-T7, à 07:20:36 rejoué par l'orchestrateur après fermeture de l'éditeur ; code 1 réel `PROC` et `GIT` ; durée 4,1 à 5,8 s) et `OUTC-VAL-B.md` PASS (V1, V7 à V10 PASS, V11 PASS-STATIC ; atomicité de `Verrou.ps1` : 13 tours sur 13 à un seul gagnant ; numéros consécutifs de `Numero.ps1` avec préfixe identique et CRLF conservé sur copie de `NUMEROS.md`). CHG-329 réservé par `Numero.ps1` lui-même (premier essai réel, verrou 101, `NUMEROS.md` à 47 lignes CRLF et 0 LF seul). Non rejoués par la VAL : un appel réel de `Build.ps1`, `RunCommandlet.ps1` et `ReimportCorrectif.ps1` avec le nouvel `EtatDir.ps1` (analyse syntaxique seulement), Windows PowerShell 5.1 pour les trois scripts de la VAL B, `7z.exe` réel sur la copie ; les cases « Points à confirmer par l'utilisateur » des deux VAL ne sont pas cochées | MD5 d'avant → après : `Tools/UeState.ps1` `A47107D5…` → `736fbf158c0772bab81e98e96604809f` (+63 −3, 167 lignes) ; `Tools/FileCheck.ps1` `CA9CBA16…` → `1fd13c705ef5869f79e5165d039f3aaa` (+44 −5, 203 lignes) ; `Tools/EtatDir.ps1` `28274CB7…` → `5e18ec5bdbfe9b80d55c985b15f864e4` (+18 −3, 62 lignes) ; `Tools/CopieEtat.ps1` — → `5e441fa06f05b1f1d91b91dcac5b023f` (461 lignes) ; `Tools/Verrou.ps1` — → `788b21f30155200a497c3919fb3cba29` (228 lignes) ; `Tools/Numero.ps1` — → `8803e6a42dad21292dfe3024732bf589` (291 lignes) ; `Tools/GitEtat.ps1` — → `f50a0c23c809cbc446c5d1e3e979beb3` (412 lignes) ; les sept en LF, sans BOM, les quatre neufs en ASCII ; journal +1 ligne ; index 1 ligne modifiée (`CHG-328` → `CHG-329`) ; `NUMEROS.md` 1 statut (`réservé` → `utilisé`, CRLF conservé) | `.\Tools\Restore.ps1 -Lot OUTC` après `.\Tools\Snapshot.ps1 -Lot OUTC-retour` (les quatre scripts neufs sont retirés, jamais supprimés ; `UeState.ps1`, `FileCheck.ps1` et `EtatDir.ps1` d'avant sont rendus ; proposé, jamais lancé sans accord) ; ou `git revert` du commit du ticket `OUTC-R1` (`git log --grep OUTC-R1`), par ticket RESTORE au gardien avec l'accord de l'utilisateur ; les lignes du journal, de l'index et de `NUMEROS.md` ne reviennent que par ce `git revert` (hors du manifeste OUTC) |
|
||
```
|
||
|
||
Contrôles de la saisie (établi) : `awk -F'|' 'NR==1134{print NF}'` → 9 champs (ID, Date, Lot, Fichiers, Raison, Avant → après, Retour arrière, plus les deux bords vides) comme la ligne `CHG-328` ; `Grep '^| CHG-329 '` dans le journal → 1 occurrence, l. 1134, `CHG-328` l. 1135.
|
||
|
||
## 2. Numéros utilisés, réservés à ce lot, et commande de contrôle
|
||
|
||
| Type | Numéro | Réservation | État avant mon écriture | État après |
|
||
|---|---|---|---|---|
|
||
| CHG | 329 | `NUMEROS.md` l. 47, lot OUTC, verrou 101, réservé par `Numero.ps1` le 2026-10-11 07:18 | statut `réservé` ; 0 occurrence de `^| CHG-329 ` dans le journal | statut `utilisé` ; 1 occurrence (l. 1134) |
|
||
| ERR | aucun | — | — | — |
|
||
| DOC | aucun | — | — | — |
|
||
|
||
Commandes de contrôle (rejouées) : `Grep '^\| CHG \| 329 '` sur `NUMEROS.md` (l. 47) ; `grep -c '^| CHG-329 ' Docs/Journal_Modifications.md` → 1 ; `grep -n '^| CHG-329 \|^| CHG-328 '` → l. 1134 et 1135. Aucune ERR : aucune erreur nouvelle n'est à consigner par cette fiche (les écarts de méthode des deux VAL sont dans leurs constats). Aucun numéro de doc : le lot n'a créé aucun `Docs/NN_*.md`.
|
||
|
||
## 3. Index, plages et registre des reports
|
||
|
||
- Index `Docs/README.md` l. 72 : plage `CHG-001` à `CHG-328` → `CHG-001` à `CHG-329` (`CHG-048 absent` conservé).
|
||
- Aucun nouveau doc numéroté, donc aucune ligne d'index à ajouter.
|
||
- Registre des reports (doc 21) : sans objet : la fiche ne le demande pas et le lot n'a pas modifié `21_Sandbox_Addon.md`.
|
||
- Registre des erreurs : sans objet : aucune ERR ouverte ou close par cette fiche.
|
||
|
||
Contrôle `git diff --numstat -- Docs/Journal_Modifications.md Docs/README.md Docs/Migration/etat/REPO/NUMEROS.md` (HEAD `61edc08`, branche `ue5.8`) :
|
||
|
||
| Moment | Journal | README | NUMEROS |
|
||
|---|---|---|---|
|
||
| Avant mon écriture (état de départ, `git status --short` de ces 3 fichiers vide aussi) | sortie vide (0 0) | sortie vide | sortie vide |
|
||
| Après | `1 0` | `1 1` | `1 1` |
|
||
|
||
Attendu par la fiche : journal +1 par rapport à l'état d'avant, README `1 1` en plus de l'état d'avant. Constaté : conforme (l'état d'avant étant vide, les valeurs après sont les différences). Fins de ligne après, `pwsh -NoProfile -Command "& 'Tools/FileCheck.ps1' Docs/Journal_Modifications.md, Docs/README.md, Docs/Migration/etat/REPO/NUMEROS.md; exit $LASTEXITCODE"` : code 0, `fichiers=3 CRLF=1 LF=2 alertes=0 introuvables=0` ; journal `LF` 1 307 lignes (1 306 avant), README `LF` 115 lignes (inchangé), `NUMEROS.md` `CRLF` 47 / LF seul 0 / CR 0 isolé (inchangé), BOM `-` partout. Compte de CR de `NUMEROS.md` par `tr -cd '\r' | wc -c` : 47 (avant l'écriture : 47 lignes CRLF relevées par FileCheck). La commande `pwsh -File Tools\FileCheck.ps1 a b c` citée par la fiche n'accepte pas plusieurs fichiers séparés par des espaces (erreur de liaison, comportement ancien, `OUTC-VAL-A.md` Constat 4) : j'ai donc utilisé la forme `-Command` avec virgules.
|
||
|
||
Recherche de données personnelles : `git diff -U0 -- Docs/Journal_Modifications.md | grep -c` du nom d'utilisateur ou du préfixe de profil Windows (motifs non reproduits ici) → 0 ligne ajoutée concernée ; les 6 lignes du journal qui contiennent un chemin de profil sont préexistantes, non touchées (non réécrites : `lp-doc`, « on ne réécrit pas le passé »).
|
||
|
||
## 4. Écarts à la fiche
|
||
|
||
1. Cellule de statut de `NUMEROS.md` : remplacée par `utilisé (journal `Docs/Journal_Modifications.md`, au-dessus de CHG-328, sous jeton de Big Boss ; ticket OUTC-R1)`, sur le modèle de la ligne CHG-328, et non par le seul mot `utilisé`. Le critère « statut `utilisé` » est tenu ; un lecteur qui veut le mot seul peut le prendre en début de cellule.
|
||
2. Ticket `OUTC-R1` et hash : cités dans l'entrée par le nom du ticket (le hash n'existe pas encore, `lp-doc`) ; le ticket n'est pas encore écrit (`OUTC-TACHES.md` l. 19, « à faire »).
|
||
3. Entrée longue (une ligne de 5 292 octets (`sed -n 1134p | wc -c`), contre 4 336 pour la ligne CHG-328) : la fiche demande de couvrir 7 scripts, 2 VAL, l'instantané et le retour arrière. Si l'orchestrateur la veut plus courte, la correction est une nouvelle entrée ou un nouvel Edit avant le commit, pas un script.
|
||
4. Le retour arrière par `Restore.ps1 -Lot OUTC` ne couvre que les 7 fichiers `Tools/` du manifeste (lu : 7 lignes, dont 4 `Existed=False`). Journal, index et NUMEROS ne sont pas dans ce manifeste : l'entrée le dit, le retour passe par `git revert`. La fiche écrit « manifeste … 7 entrées » : confirmé à la source ; `OUTC-TACHES.md` l. 5 dit encore « 6 entrées » (état à l'ouverture, avant l'ajout d'`EtatDir.ps1` à 06:31:48).
|
||
5. Rien de la fiche n'a été vérifié par essai de ma part : les verdicts PASS, les codes et les temps viennent des deux VAL (`OUTC-VAL-A.md` § 3 et § 5 ; `OUTC-VAL-B.md` § 3 et § 5) et de `OUTC-TACHES.md` (code 0 de 07:20:36, réservation de 07:18). Les cases « Points à confirmer par l'utilisateur » des deux VAL restent **non cochées** : l'acceptation des écarts E1 (`CreateDirectoryW`), du changement de comportement d'`EtatDir.ps1`, des écarts de forme de `GitEtat.ps1` et du `-Rendre` sans `-Ticket` revient à l'utilisateur. VAL ≠ DOC : je n'ai rien coché.
|
||
6. Aucun conflit rencontré : le journal ne contenait que `CHG-328` (commité) en tête ; aucune entrée non commitée d'un autre lot ; `git status --short` des 3 fichiers partagés était vide au départ. Critère d'arrêt de la rubrique 9 non déclenché.
|
||
|
||
## 5. Fichiers à commiter (le ticket suit aussitôt : fichiers partagés)
|
||
|
||
Dépôt du jeu `D:\Game\LifePlay-master 5.8`, branche `ue5.8` :
|
||
|
||
- `M Docs/Journal_Modifications.md`
|
||
- `M Docs/README.md`
|
||
- `M Docs/Migration/etat/REPO/NUMEROS.md`
|
||
- `A Docs/Migration/etat/OUTC/OUTC-DOC.md`
|
||
|
||
Pour mémoire, non écrits par cette fiche et à inscrire par l'orchestrateur au ticket `OUTC-R1` : `Tools/CopieEtat.ps1`, `Tools/Verrou.ps1`, `Tools/Numero.ps1`, `Tools/GitEtat.ps1` (neufs), `Tools/UeState.ps1`, `Tools/FileCheck.ps1`, `Tools/EtatDir.ps1` (modifiés), `OUTC-SPEC.md`, `OUTC-T1-IMPL.md`, `OUTC-T2-IMPL.md`, `OUTC-T3-IMPL.md`, `OUTC-T6-IMPL.md`, `OUTC-T7-IMPL.md`, `OUTC-VAL-A.md`, `OUTC-VAL-B.md`, `OUTC-TACHES.md`, `fiches/`. Les fichiers `*_essais.txt` et `*.json` du dossier sont ignorés par git (`.gitignore:75`, d'après `OUTC-VAL-A.md` Constat 8). Aucune écriture git de ma part.
|
||
|
||
Tours : 12 / 25
|