11 KiB
Fiche VAGFIX-IMPL — Niveau N1 — Modèle prévu non précisé par la fiche | utilisé claude-opus-5-5 — Agent lp-impl — Skills sk-protocol, ue-cpp-build, lp-build, lp-ue-compat
VAGFIX-IMPL : le README racine n'est plus un fichier partagé dans Tools\Vague.ps1 (2026-10-21)
[sk-protocol] Skills chargés dans le contexte : sk-protocol, ue-cpp-build, lp-build, lp-ue-compat.
Ordonnateur : Big Boss (local_104ff22d). Décision de l'utilisateur relayée par la fiche (non tapée dans cette session) :
« Fais d'abord corriger Vague.ps1 (le README racine n'est pas le README des CHG), puis relance la vague avec le README. »
Résultat : réussi. Le README racine passe dans un ticket ordinaire (essai-OK, code 0). Docs/README.md et
Docs/Journal_Modifications.md restent refusés en C4 hors ticket PARTAGES.
1. Fichiers modifiés
D:\Game\LifePlay-master 5.8\Tools\Vague.ps1(local, ignoré par git :.gitignore:91 /Tools/), 2 lignes :- l. 258 :
|^(Docs/)?README\.md$'→|^Docs/README\.md$' # README racine : fichier ordinaire (VAGFIX); - l. 340 :
elseif ($c -match 'README\.md$')→elseif ($c -match '^Docs/README\.md$').
- l. 258 :
- Fondement :
lp-repo§ 6 (D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills\lp-repo\SKILL.md:61-62) : «README.md(index) […] tous dansDocs/de la copie 5.8 ». - Autres endroits qui reconnaissent un README sans
Docs/: aucun. GrepREADME\\?\.mdsurTools\*.{ps1,py,psm1,cmd,bat}(chemin passé enpath, carTools/est ignoré) : seules les lignes 258 et 340 deVague.ps1répondent. - MD5 : avant
24b2ef4f6a6729c98b6958c7e8d09619, aprèsad23aae837827bda0c2d244a1b046c44. 494 lignes avant et après. Fins de ligne : 0 CR, donc LF seul, inchangé. UTF-8 sans BOM (premiers octets#Re), inchangé. Analyse syntaxique PowerShell (Parser::ParseFile) : 0 erreur.
2. Écarts à la SPEC
- E1, emplacement du ticket d'essai. La solution de repli de la fiche (ticket dans
etat\AG\VAGFIX\) ne peut pas servir.Vague.ps1lit les tickets à un seul endroit,<Racine>\Docs\Migration\etat\REPO\tickets\<id>.md(Vague.ps1:76-77,106), sans option de chemin. De plus,etat\AG\VAGFIX\*.mdn'est pas ignoré :git check-ignore -vrenvoie la règle de ré-inclusion.gitignore:77 !/Docs/Migration/etat/**/*.md. J'ai donc fait l'essai sur un clone jetable dans le scratchpad, avec-Racine <clone>, comme VAG1 (VAG1-IMPL.md:24;VAG1-SPEC-01.md:21: « servent aux essais sur clones »). Mise en place :git clone --shared --no-checkout, puis sparse-checkout de/README.md,/Docs/README.md,/Docs/Journal_Modifications.mdet/Docs/Migration/etat/REPO/. Le README du clone est une copie duREADME.mdmodifié de la copie 5.8 : même MD5d7a974193c6a15a54289554c2482a6ba, mêmenumstat 57 13. C'est le cas de la vague 14. Les commandes git qui écrivent n'ont touché que ce clone. Aucun ticket n'a été écrit dans le dépôt : 0 fichierVAGFIX*dansetat\REPO\tickets. - E2, identité.
user.nameetuser.emaildu jeu sont dans.git/config(git config --show-origin), que le clone ne reprend pas. Je les ai injectés pour le seul processus parGIT_CONFIG_COUNT/GIT_CONFIG_KEY_n/GIT_CONFIG_VALUE_n, avec les valeurs lues dans le jeu. Ces valeurs n'ont été ni affichées ni écrites. - E3, verrou. Le clone n'a pas de dossier
VERROU. Le premier passage a renduBLOCKED-VERROU : Verrou.ps1 : racine introuvable. J'ai ensuite passé-RacineVerrouvers un dossier vide du scratchpad. Le verrou réel n'a été ni lu ni pris. - E4 : un commentaire de traçabilité a été ajouté en fin de ligne 258 (
# README racine : fichier ordinaire (VAGFIX)). - E5, essais en plus de la fiche :
- ESSAI3 (
M Docs/README.md, ticket ordinaire) ; - ESSAI4-PARTAGES (
M README.mddans un ticket PARTAGES) ; - reproduction du défaut avec l'ancien script (instantané
24b2ef4f), copié dans le scratchpad avec des copies deVerrou.ps1etPubCheck.ps1.
- ESSAI3 (
- E6 : je n'ai rien supprimé (
sk-protocol§ 2). Le clone, les 4 tickets d'essai et les copies de scripts restent dans le scratchpad de la session, hors dépôt.Vague.ps1écrit aussi, par conception,message-<id>.txtdans%TEMP%\claude\VAG1-run\(Vague.ps1:91-92,319-320).
3. Instantané
pwsh -NoProfile -File Tools/Snapshot.ps1 -Lot VAGFIX -Path Tools/Vague.ps1 (depuis la racine du jeu), code 0 :
sauvegarde : Tools/Vague.ps1 (24B2EF4F6A6729C98B6958C7E8D09619)
1 entree(s) ajoutee(s) a D:\Game\LifePlay_Backup_5.5\VAGFIX\manifest.csv
Copie : D:\Game\LifePlay_Backup_5.5\VAGFIX\Tools\Vague.ps1 (MD5 24b2ef4f…). Retour arrière proposé :
Tools\Restore.ps1 -Lot VAGFIX.
4. Ce qui n'a pas été fait
- Aucun essai sur le dépôt réel (
-Racinepar défaut). La fiche l'interdit sans ticket dans le dépôt. - Aucune exécution
-Executer, aucun commit, aucun verrou pris. La vague 14 n'a pas été relancée : c'est à Big Boss de le faire. - Pas d'entrée CHG ni de ligne dans
Tools\LISEZMOI.md. Pour un outil local deTools/, l'instantané et le CHG remplacent le commit (lp-build§ 1,sk-protocol§ 7). Le numéro de CHG est à décider et à réserver par Big Boss. - Hors périmètre, non modifié :
(^|/)(…|FILE|…)\.md$(l. 258) reconnaît aussi unFILE.md, unNUMEROS.md, etc. placé dans n'importe quel dossier.
5. Points à confirmer en VAL
- Le diff entre l'instantané et
Tools\Vague.ps1ne porte que sur les lignes 258 et 340 (voir Constats). MD5 après :ad23aae8…. - ESSAI1 (
M README.md, ticket ordinaire, HEAD3f74261) →VERDICT VAGFIX-ESSAI1 — essai-OK — fichiers 1, code 0. - ESSAI2 (
M Docs/Journal_Modifications.md, ticket ordinaire) →refusé C4-CHEMIN-INTERDIT, code 1. - ESSAI3 (
M Docs/README.md, ticket ordinaire) →refusé C4-CHEMIN-INTERDIT, code 1. - ESSAI4-PARTAGES (
M README.md) →refusé P5-PARTAGES : M README.md n'est pas un fichier partage, code 1. Ce changement de comportement est voulu. Pour relancer la vague 14, Big Boss metM README.mddans un ticket ordinaire, pas dans le ticket PARTAGES. git status --porcelain -ualldu jeu et de l'addon : identique avant et après les essais (cmp).- Fins de ligne de
Vague.ps1: LF seul (0 CR), UTF-8 sans BOM.
6. Fichiers à commiter
A Docs/Migration/etat/AG/VAGFIX/VAGFIX-IMPL.md(dépôt du jeu, brancheue5.8).Tools/Vague.ps1: rien à commiter (local, ignoré par.gitignore:91). La trace est l'instantanéVAGFIXet le CHG que décidera Big Boss.
Tours : 23 / 40 (déclaré ; Tools/FicheStats.py --lot VAGFIX fait foi)
Constats
Diff (diff <instantané> <Tools\Vague.ps1>, code 1 = différences) :
258c258
< $partages = '(^|/)(Journal_Modifications|Registre_Erreurs|NUMEROS|BOSS-ETAT|BOSS-JOURNAL|FILE|REPO-JOURNAL)\.md$|^(Docs/)?README\.md$'
---
> $partages = '(^|/)(Journal_Modifications|Registre_Erreurs|NUMEROS|BOSS-ETAT|BOSS-JOURNAL|FILE|REPO-JOURNAL)\.md$|^Docs/README\.md$' # README racine : fichier ordinaire (VAGFIX)
340c340
< elseif ($c -match 'README\.md$') { $ok = ($txt -match 'CHG-001.*CHG-(\d+)') -and ($ids -contains "CHG-$([int]$Matches[1])") }
---
> elseif ($c -match '^Docs/README\.md$') { $ok = ($txt -match 'CHG-001.*CHG-(\d+)') -and ($ids -contains "CHG-$([int]$Matches[1])") }
Trace : sorties ci-dessous, fiche VAGFIX-IMPL, 2026-10-21.
- Commande :
pwsh -NoProfile -File Tools\Vague.ps1 -Tickets <id> -Racine <clone> -RacineVerrou <dossier vide>, lancée depuisD:\Game\LifePlay-master 5.8, en mode essai par défaut. - Environnement : clone jetable du jeu (
ue5.8, HEAD3f74261) sous le scratchpad de la session ; addon réelD:\Game\LifePlay-Sandbox-5.8, lu seulement. - Attendu (écrit avant de lancer) : ESSAI1
essai-OK; ESSAI2 C4. - Lecture : la sortie STATUS de l'addon est coupée ici (lignes
??sans rapport).essai-OKn'est émis qu'après un PubCheck à 0 sur le README et le message (Vague.ps1:355-357).
Après correctif (ad23aae8) :
=== pwsh -NoProfile -File Tools\Vague.ps1 -Tickets VAGFIX-ESSAI1 -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI1 — essai-OK — fichiers 1
STATUS jeu :
## ue5.8...origin/ue5.8
M README.md
?? Docs/Migration/etat/REPO/tickets/VAGFIX-ESSAI1.md
?? Docs/Migration/etat/REPO/tickets/VAGFIX-ESSAI2.md
?? Docs/Migration/etat/REPO/tickets/VAGFIX-ESSAI3.md
STATUS addon :
## ue5.8...origin/ue5.8 [ahead 5]
code=0
=== pwsh -NoProfile -File Tools\Vague.ps1 -Tickets VAGFIX-ESSAI2 -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI2 — refusé C4-CHEMIN-INTERDIT : M Docs/Journal_Modifications.md (fichier partage hors ticket PARTAGES, V5)
code=1
=== pwsh -NoProfile -File Tools\Vague.ps1 -Tickets VAGFIX-ESSAI3 -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI3 — refusé C4-CHEMIN-INTERDIT : M Docs/README.md (fichier partage hors ticket PARTAGES, V5)
code=1
=== APRES (ad23aae8) : pwsh -NoProfile -File Tools\Vague.ps1 -Tickets VAGFIX-ESSAI4-PARTAGES -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI4-PARTAGES — refusé P5-PARTAGES : M README.md n'est pas un fichier partage
code=1
Avant correctif (instantané 24b2ef4f, copié dans le scratchpad), mêmes tickets. Les deux effets constatés en vague 14
sont reproduits :
=== AVANT (24b2ef4f) : pwsh -NoProfile -File <scratch>\ancien\Tools\Vague.ps1 -Tickets VAGFIX-ESSAI1 -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI1 — refusé C4-CHEMIN-INTERDIT : M README.md (fichier partage hors ticket PARTAGES, V5)
code=1
=== AVANT (24b2ef4f) : pwsh -NoProfile -File <scratch>\ancien\Tools\Vague.ps1 -Tickets VAGFIX-ESSAI4-PARTAGES -Racine <clone> -RacineVerrou <vide>
VERDICT VAGFIX-ESSAI4-PARTAGES — refusé P6-V5-LIGNE-INCONNUE : README.md:10 : alpha 2026.10.2.2a, download the game archive. The latest full source archive is the V1.5 one (Unreal Engine 5.5).
code=1
Dépôts réels non touchés :
jeu: status identique
addon: status identique
git rev-parse --short HEAD du jeu : 3f74261. Tickets VAGFIX* dans etat\REPO\tickets : 0.
Ticket d'essai type (ESSAI1, écrit dans le clone seulement) :
# Ticket VAGFIX-ESSAI1 — COMMIT
Statut : demandé
Dépôt : jeu 5.8 — Branche attendue : ue5.8 — HEAD attendu : 3f74261
Fichiers :
M README.md
Message : VAGFIX essai README racine en ticket ordinaire ; corps `Tickets : VAGFIX-ESSAI1`
CHG / ERR : aucun
À verser :
lp-repo§ 6 : «README.md(index) » désigneDocs/README.md, jamais le README racine. Le README racine part dans un ticket ordinaire.lp-repo(essai deVague.ps1sur clone) :-RacineVerroudoit viser un dossier qui existe (sinonBLOCKED-VERROU racine introuvable) ;- l'identité du jeu est dans
.git/config: l'injecter parGIT_CONFIG_COUNTdans le clone ; git clone --shared --no-checkoutévite de copier les objets.
sk-windows-shell: en Git Bash, les motifs sparse-checkout qui commencent par/sont convertis enC:/Program Files/Git/.... Il fautMSYS_NO_PATHCONV=1et un chemin Windows pourgit -C.
Suite : Big Boss doit décider du CHG de ce correctif, puis relancer la vague 14 avec M README.md dans un ticket ordinaire.
État : correctif appliqué et essayé à blanc sur clone, rien de commité.