60 lines
3.7 KiB
Markdown
60 lines
3.7 KiB
Markdown
# OUTC-T7-IMPL : CopieEtat.ps1, git sans verrou d'index facultatif (2026-10-11)
|
|
|
|
Fiche OUTC-T7 — Niveau N2 — Modèle prévu opus | utilisé claude-opus-5-5 — Agent orchestrateur (session OUTC) — Skills lp-lot, sk-change-safety
|
|
|
|
Origine : point d'incertitude 4 d'OUTC-T4a (`OUTC-VAL-A.md`). `CopieEtat.ps1` lançait `git status` sans
|
|
`--no-optional-locks`. Ce `status` pouvait donc prendre `index.lock` un instant et faire échouer un commit du gardien
|
|
lancé au même moment. `GitEtat.ps1` évite déjà ce cas.
|
|
|
|
## 1. Fichiers modifiés
|
|
|
|
`M Tools\CopieEtat.ps1` (dépôt jeu, fichier neuf du lot, pas encore commité), fonction `Invoke-LPGit` (l. 143-147) :
|
|
- `--no-optional-locks` est ajouté en tête des arguments de chaque appel git ;
|
|
- le commentaire de la fonction gagne une ligne.
|
|
Rien d'autre ne change. MD5 avant `4A83F321C9EBBA12FF0AB64DA85CD3D2` (livré par T1 et validé par T4a), après
|
|
`5E441FA06F05B1F1D91B91DCAC5B023F`. LF, 0 CR, 0 octet non ASCII, analyse syntaxique sans erreur.
|
|
|
|
Écriture : version préparée dans `…\scratchpad\OUTC-T7\` et testée là. `UnrealEditor-Cmd` était absent (0 à 07:13:01).
|
|
Je contrôle que le MD5 de `Tools\CopieEtat.ps1` vaut encore celui d'avant, puis j'écris en une seule copie.
|
|
|
|
## 2. Écarts à la SPEC
|
|
|
|
Aucun. Le script reste en lecture seule ; l'option empêche seulement les écritures facultatives d'index de `git status`.
|
|
|
|
## 3. Essais
|
|
|
|
| Commande | Code | Synthèse |
|
|
|---|---|---|
|
|
| version T1, `-Lot OUTC -Assets Content\BPs\GI.uasset,Content\BPs\GM.uasset -Json` | 1 | `proc=1 … git=0/9/0 hors_declares=9 … head=7bceea6/22dd7c3/c8661cd verrou=98:libre alertes=PROC,GIT` |
|
|
| version T7 (scratchpad, `-Copie` vers la copie 5.8), même appel | 1 | identique au champ `cpu` près |
|
|
| version T7 installée, `-Assets Content\BPs\GI.uasset` | 1 | `proc=0 … alertes=GIT` (l'éditeur `-game` PID 2620 venait de se fermer ; 9 fichiers addon non déclarés d'un autre lot) |
|
|
|
|
Limite constatée, sans lien avec T7 : `Win32_Processor.LoadPercentage` revient parfois vide. Sur 3 lancements, `cpu=?`
|
|
sort une fois. Le script affiche alors `?`, comme prévu à la l. 427.
|
|
|
|
Piège rencontré pendant l'essai : avec `pwsh -File`, une liste PowerShell passée en `-Assets $a` arrive en deux
|
|
arguments. Le second, refusé (`PositionalBinding=$false`), donne le code 2. Il faut écrire la liste dans un seul argument
|
|
`a,b`.
|
|
|
|
Code 0 réel avec la version T7 : P3 de la reprise de T4a l'a bloqué (`BLOCKED-PROC`), parce que l'éditeur PID 28332
|
|
tournait (essai MCP du lot MCPA, sous GO de Big Boss). L'orchestrateur l'a rejoué ensuite par
|
|
`…\scratchpad\OUTC-T7\code0.ps1`, en lecture seule. La sortie brute est copiée dans `OUTC-T7_code0.txt` et le JSON dans
|
|
`OUTC-T7_code0.json`.
|
|
|
|
| Heure | Commande | Code | Synthèse |
|
|
|---|---|---|---|
|
|
| 07:17:56 | `CopieEtat.ps1 -Lot OUTC -Assets 'Content\BPs\GI.uasset,Content\BPs\GM.uasset' -Sortie ref.json` | 1 | `proc=1 … git=0/11/0 hors_declares=11 … alertes=PROC,GIT` |
|
|
| 07:18:00 | `UeState.ps1 -Copie 'D:\Game\LifePlay-master 5.8' -WaitExit -TimeoutSeconds 3600` | 0 | `attente terminee apres 155 s : plus rien ne tourne` |
|
|
| 07:20:36 | même appel de CopieEtat avec `-Reference ref.json` | **0** | `COPIE OK … proc=0 assets=2 absents=0 modifies=0 git=0/11/0 hors_declares=0 parasites=0 … alertes=aucune` |
|
|
|
|
## 4. Points à confirmer en VAL
|
|
|
|
- P1 : diff `CopieEtat.avant.ps1` → `Tools\CopieEtat.ps1` réduit à `Invoke-LPGit` (2 lignes).
|
|
- P2 : `git status` lancé par CopieEtat ne touche plus la date de `.git\index` (date relevée avant et après).
|
|
- P3 : V3 et V5 rejoués rapidement sur la version installée : mêmes codes.
|
|
|
|
## 5. Fichiers à commiter
|
|
|
|
`A Tools/CopieEtat.ps1` (déjà au ticket, version T7) ; `A Docs/Migration/etat/OUTC/OUTC-T7-IMPL.md`.
|
|
|
|
Tours : sans objet (fiche de l'orchestrateur)
|