LifePlay-Revival/Docs/Migration/etat/EVAL/EVAL-T6-INV.md
edujiro5972 8084622450 LifePlay UE 5.8 : état de développement au 2026-10-19
Tickets : REP1-T4

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 22:57:42 +02:00

26 KiB
Raw Blame History

Fiche EVAL-T6 — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent lp-inventory — Skills sk-protocol, sk-recount, sk-windows-shell (+ lp-paths préchargé)

EVAL-T6-INV : commandes et contrôles répétés dans les transcriptions, usage et création de Tools\* (2026-10-11)

Fenêtre : 2026-10-08 05:30 → 2026-10-11 05:30 (UTC+2) ; P0 → 2026-10-08 13:30, P1 → 2026-10-10 10:45:20, P2 → fin. Session b339a92a et ses sous-agents exclus. Les chemins personnels et le contenu des commandes ne sont pas repris : seuls les motifs normalisés sont cités.

1. Commandes exactes

Commande unique, rejouable (PowerShell ou Git Bash, ≈ 16 s, code de sortie 0, stderr vide) :

python -I -X utf8 "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_commandes.py"

Le script lit %USERPROFILE%\.claude\projects\D--Game-LifePlay-master-5-8\ et ...\D--Game-LifePlay-master-5-5\ (*.jsonl et <session>\subagents\agent-*.jsonl + .meta.json), lit data\sessions.csv et data\subagents.csv (lecture seule), liste Tools\ (premier niveau, 25 fichiers) et lance, par fichier : git -C "D:\Game\LifePlay-master 5.8" log --diff-filter=A --format="%h|%ad|%s" --date=iso -- Tools/<f> (lecture seule). Il écrit data\commands.csv, data\commands_prefixes.csv, data\commands_tools.csv, data\commands_resume.txt (noms neufs, aucun écrasement). Sortie complète : data\commands_resume.txt.

Méthode : un appel = un bloc tool_use (identifiant dédoublonné sur l'ensemble des fichiers), horodaté à la ligne de transcription, retenu si dans la fenêtre. Durée = horodatage du tool_result (même tool_use_id) moins celui du tool_use. Acteur = principale ou agentType du .meta.json. Fiche d'un sous-agent = colonne fiche de subagents.csv, à défaut le premier identifiant LOT-Tn de la description du .meta.json. Une famille compte au plus une fois par appel. Regex insensibles à la casse (sauf f.VERROU), appliquées au champ command de Bash et PowerShell (« shell »), sauf mention.

Regex par famille (GIT = \bgit(\s+(-C|-c|--git-dir|--work-tree)(=|\s+)("[^"]*"|'[^']*'|\S+))*\s+) :

  • (a) Get-FileHash ; \bmd5sum\b ; \bsha(1|224|256|384|512)sum\b ; certutil(\.exe)?\s+[^\n]*-hashfile ; info : hashlib\.(md5|sha\d*).
  • (b) (Get-CimInstance|Get-WmiObject)[\s\S]{0,200}?Win32_Process ; Get-Process\b[^\n]*(unreal|lifeplay) ; \btasklist\b ; info : \bStop-Process\b|\btaskkill\b.
  • (c) GIT status\b ; GIT diff\b[^\n|;&]*--(stat|numstat|name-status)\b ; GIT log\b ; GIT show\b[^\n|;&]*--name-status ; GIT ls-files\b[^\n|;&]*--eol ; comptes de CR : tr\s+-d\s+\S*\\r|\$'\\r|\[char\]\s*13|\bb['"]\\r['"]|\.count\(\s*b?['"]\\r|r\b|0x0d\b|grep\s+-c\S*\s+\S*\r`.
  • (d) un motif par fichier de Tools\ : (?<![\w.\-])<nom exact>(?![\w]) (correspondance sur le nom, quel que soit le dossier) ; UnrealEditor-Cmd|-run=\w+ sans RunCommandlet\.ps1 dans la même commande ; \bRunUAT\b|\bBuildCookRun\b sans BuildDebug\.ps1.
  • (e) shell et outil Grep (champs pattern + path + glob) ; motif Accessed\s+None, LogBlueprint, LogScript, \bError:, \bWarning: ET contexte \.log\b|[\\/]Logs[\\/]|Saved[\\/]Logs ; variante « avec compte » : contexte journal + (grep\s+-[a-z]*c|Measure-Object|\.Count\b|-Count\b|\bwc\s+-l|output_mode.{0,4}count) + un des cinq motifs.
  • (f) tous outils texte (shell ; Read / Edit / Write : file_path ; Grep : pattern + path ; Glob) : VERROU (casse exacte), NUMEROS\.md, REPO-JOURNAL\.md, info etat[\\/]+REPO\b ; shell seul : (\bmkdir\b|New-Item|\bmd\b|Remove-Item|\brmdir\b)[^\n]*verrou.
  • (g) (Get-ChildItem|\bgci\b|\bdir\b|\bls\b)[\s\S]*?-Recurse[\s\S]*?Measure-Object[\s\S]*?-Sum ; (^|[\s;|&])du\s+-[a-zA-Z]*[sh] ; info : LifePlay_Build\w* proche de Measure-Object|LastWriteTime|du |ls -l.
  • (h) \b(python3?|py)(\.exe)?\b[^\n|;]*?\s-\s*<< (heredoc) ; \|\s*(python3?|py)(\.exe)?\b[^\n|]*\s-(\s|$) (here-string redirigée) ; python … -c " ou ' avec commande > 200 caractères ; outil Write vers .py|.ps1|.sh|.bat|.cmd hors Tools\ ; « lancé après écriture » : commande shell contenant le chemin complet d'un script écrit plus tôt dans la même transcription.
  • (i) outils ListAgents et SendMessage (par nom d'outil, pas Bash).
  • Préfixes : première commande de la commande, après retrait des cd …, des affectations VAR=… / $x = …, des options -… ; deux premiers mots en minuscules ; chemin → <chemin> (ou nom du script si extension ps1|py|sh|bat|cmd|exe|js), chaîne entre guillemets → <chaîne>, variable → <var>.

Recoupements (deuxième méthode, sk-recount) : script indépendant (parcours os.walk, fenêtre comparée en UTC sur chaîne, sous-chaînes sans regex) conservé dans le bac à sable de la session, non versionné ; sorties au § 3. Comptes de commands_tools.csv relus par python -I -X utf8 -c (somme des appels 1 185 ; 14 scripts à 34 appels ou moins ; 5 à 2 appels ou moins).

2. Comptes bruts

2.1 Population examinée

Élément Valeur
Fichiers principaux lus (hors b339a92a) / sous-agents 39 / 361
tool_use bruts / identifiants en double ignorés / dans la fenêtre 25 807 / 1 365 / 17 890 (principale 6 897, sous-agents 10 993)
Bash + PowerShell examinés 7 764 (Bash 6 946, PowerShell 818 ; principale 2 966, sous-agents 4 798 ; P0 395, P1 4 611, P2 2 758)
Durée mesurée des appels shell n = 7 763, moyenne 7,3 s, médiane 1,6 s, somme 15,7 h
Sous-agents absents de subagents.csv 101 fichiers ; fiche reprise de la description : 44 ; 35 agents / 1 838 appels de la fenêtre sans fiche (lp-cart 1 223, lp-builder 347, lp-validator 152, lp-inventory 60, lp-impl 54, lp-writer 1)

Recoupement : sessions.csv donne Bash+PowerShell = 2 966 et tous outils = 6 897 pour les principales (34 sessions, 0 écart par session) ; mesure ici 2 966 et 6 897. Sous-agents : subagents.csv somme de appels_outils = 11 007 ; mesure ici 10 993 (écart 14, 0,13 %).

2.2 Familles (hors scripts Tools\, voir 2.3)

Colonnes : total | principale | sous-agents | P0 / P1 / P2 | sessions-agents distincts | fiches distinctes | durée moyenne / médiane (s) | coût brut = appels × moyenne (h). Les lignes en gras sont l'union des appels de la famille (un appel multi-motifs compté une fois).

Famille / motif Total Princ. Sous-ag. P0 / P1 / P2 Unités Fiches Durée moy / méd Coût (h)
a. empreintes (union) 543 256 287 0 / 164 / 379 138 90 5,6 / 2,3 0,85
a.md5sum 314 137 177 0 / 86 / 228 93 62 5,1 / 2,2 0,45
a.Get-FileHash 196 111 85 0 / 51 / 145 48 25 6,7 / 2,4 0,37
a.sha*sum 28 10 18 0 / 19 / 9 17 12 9,1 / 3,5 0,07
a.certutil -hashfile 4 1 3 0 / 1 / 3 3 2 3,7 / 3,6 0,00
a.hashlib (info) 12 4 8 0 / 11 / 1 8 6 1,8 / 1,5 0,01
b. processus (union) 455 216 239 9 / 222 / 224 75 55 10,2 / 2,1 1,29
b.Get-CimInstance Win32_Process 107 49 58 4 / 20 / 83 24 15 17,8 / 2,0 0,53
b.Get-Process Unreal/LifePlay 172 80 92 4 / 97 / 71 46 31 8,1 / 2,1 0,39
b.tasklist 173 80 93 1 / 107 / 65 41 31 7,4 / 2,2 0,36
b.Stop-Process / taskkill (info) 30 21 9 1 / 13 / 16 12 6 14,8 / 7,6 0,12
c. état git, fins de ligne (union) 1 794 827 967 33 / 778 / 983 248 180 3,2 / 1,9 1,60
c.git status 1 156 569 587 17 / 498 / 641 235 171 3,0 / 2,0 0,97
c.git log 610 357 253 15 / 289 / 306 176 121 3,0 / 2,0 0,51
c.git diff --stat/--numstat/--name-status 476 183 293 6 / 204 / 266 145 109 2,9 / 1,9 0,39
c.comptes de CR 248 84 164 5 / 127 / 116 86 67 3,9 / 1,7 0,27
c.git ls-files --eol 109 27 82 0 / 23 / 86 53 41 2,2 / 1,7 0,07
c.git show --name-status 70 27 43 0 / 0 / 70 36 28 3,0 / 2,4 0,06
d. scripts, union (25 scripts de 2.3 + les deux lignes ci-dessous) 996 407 589 9 / 572 / 415 155 102 13,3 / 2,2 3,68
d.UnrealEditor-Cmd / -run= sans RunCommandlet.ps1 68 31 37 0 / 38 / 30 22 18 9,2 / 1,7 0,17
d.RunUAT / BuildCookRun sans BuildDebug.ps1 32 9 23 3 / 20 / 9 20 14 17,8 / 1,6 0,16
e. journaux, shell + Grep (union) 272 83 189 1 / 160 / 111 72 43 2,0 / 1,5 0,15
e.Warning: 124 16 108 1 / 84 / 39 47 34 1,9 / 1,3 0,07
e.Error: 101 20 81 0 / 72 / 29 50 35 2,2 / 1,8 0,06
e.Accessed None 82 39 43 0 / 41 / 41 25 8 1,9 / 1,4 0,04
e.LogBlueprint 32 11 21 0 / 5 / 27 18 7 2,3 / 1,6 0,02
e.LogScript 27 9 18 0 / 13 / 14 9 4 2,0 / 2,0 0,01
e.avec compte (sous-ensemble) 126 53 73 1 / 76 / 49 40 27 2,7 / 1,9 0,09
f. verrou, tickets, tous outils (union) 1 085 363 722 0 / 26 / 1 059 78 65 2,2 / 1,6 0,68
f.dossier etat/REPO (info) 1 045 339 706 0 / 21 / 1 024 77 65 2,2 / 1,6 0,65
f.VERROU 323 116 207 0 / 12 / 311 68 56 2,0 / 1,7 0,18
f.NUMEROS.md 292 130 162 0 / 6 / 286 51 40 2,2 / 1,8 0,18
f.REPO-JOURNAL.md 285 28 257 0 / 2 / 283 58 49 1,9 / 1,6 0,15
f.mkdir / New-Item / Remove verrou 141 70 71 0 / 4 / 137 49 37 2,1 / 1,8 0,08
g. taille / date de build (union) 252 128 124 8 / 145 / 99 74 50 8,1 / 2,4 0,57
g.dossier de build + taille/date (info) 203 114 89 1 / 114 / 88 53 33 6,3 / 2,2 0,35
g.gci -Recurse … Measure-Object -Sum 54 12 42 2 / 34 / 18 33 22 4,5 / 3,1 0,07
g.du 36 21 15 5 / 21 / 10 21 12 26,1 / 4,8 0,26
h. Python, scripts temporaires (union) 684 311 373 4 / 443 / 237 106 75 4,1 / 1,6 0,78
h.python heredoc 282 201 81 3 / 162 / 117 45 22 4,2 / 1,8 0,33
h.python -c > 200 car. 189 70 119 0 / 149 / 40 67 47 2,9 / 1,7 0,15
h.Write de script (.py/.ps1/.sh/.bat hors Tools) 135 26 109 0 / 78 / 57 45 34 0,3 / 0,0 0,01
h.script lancé après écriture (même transcription) 92 17 75 0 / 67 / 25 33 26 12,1 / 1,9 0,31
h.here-string redirigée vers python 1 1 0 1 / 0 / 0 1 0 2,2 / 2,2 0,00
i. SendMessage 696 696 0 4 / 183 / 509 28 0 (la principale n'a pas de fiche) 2,6 / 1,6 0,51
i.ListAgents 24 24 0 0 / 12 / 12 7 0 0,5 / 0,0 0,00

Composition par outil, relevée avec le script (sonde de la session, hors dépôt) : f = shell 677 sur 1 085, outils de fichier 408 (pour le seul motif etat/REPO : Edit 237, Read 106, Write 47, Grep 11, Glob 1) ; e = shell 186 sur 272, Grep 86. Les autres familles sont du shell seul, sauf h.Write.

Acteurs dominants (extrait de commands_resume.txt, 4 premiers) : git status : principale 569, lp-gardien 185, lp-validator 129, lp-builder 85 ; git log : principale 357, lp-gardien 70, lp-validator 48, lp-cart 43 ; diff : principale 183, lp-gardien 121, lp-validator 77, lp-impl 34 ; comptes de CR : principale 84, lp-impl 51, lp-gardien 47, lp-validator 19 ; md5sum : principale 137, lp-validator 52, lp-gardien 42, lp-impl 37 ; Get-FileHash : principale 111, lp-builder 62, lp-validator 17, lp-inventory 6 ; processus (CIM) : principale 49, lp-builder 36, lp-validator 11, lp-gardien 5 ; tasklist : principale 80, lp-builder 40, lp-validator 22, lp-impl 14 ; Warning: lp-builder 42, lp-validator 32, lp-cart 18, principale 16 ; Accessed None : principale 39, lp-cart 25, lp-validator 14, lp-inventory 4 ; VERROU : lp-gardien 152, principale 116, lp-writer 53 ; REPO-JOURNAL : lp-gardien 254, principale 28 ; python heredoc : principale 201, lp-cart 31, lp-validator 22, lp-impl 9 ; python -c long : principale 70, lp-cart 37, lp-validator 26, lp-impl 18 ; script écrit puis lancé : lp-builder 23, lp-impl 23, lp-validator 20, principale 17.

Lots les plus concernés (shell, d'après la sonde sur commands.csv ; lot « - » = principale ou agent sans lot) : c : U8 105, OBB 102, ETAT2 72, STE 59 ; f : OBB 90, STE 57, STF 52, AG 49 ; a : U8 43, ETAT2 25, OBB 23, U7b 23 ; b : U7b 40, U4 27, U8 25, U5 24 ; g : OBB 30, U8 28, U7 22 ; h : U7b 40, U7 35, U1 26, U8 23.

Part des appels shell par sous-période (union de la famille ÷ appels shell de la période : P0 395, P1 4 611, P2 2 758) : c 8,4 % → 16,9 % → 35,6 % ; a 0 % → 3,6 % → 13,7 % ; b 2,3 % → 4,8 % → 8,1 %.

2.3 Scripts de Tools\ (premier niveau, 25 fichiers) : usage dans la fenêtre et création git

Appels = mention du nom dans la commande shell (exécution ou lecture), pas toujours une exécution. « Accès » = Read / Edit / Write / Grep / Glob dont le texte porte le nom. Création = git log --diff-filter=A (le plus ancien commit d'ajout) ; lot = étiquette du sujet du commit. Ordre : appels décroissants.

Fichier Commit Création (+0200) Lot (sujet) Appels P0 / P1 / P2 Total Princ. / Sous-ag. Accès Unités Fiches
RunCommandlet.ps1 9b7e971 2026-09-29 01:12 L1 1 / 104 / 75 180 38 / 142 23 52 33
UeState.ps1 866e869 2026-10-09 16:37 OUT1 0 / 75 / 86 161 62 / 99 2 44 22
Build.ps1 8e21f6b 2026-10-08 17:39 U3 0 / 100 / 25 125 47 / 78 17 51 32
Snapshot.ps1 1122e17 2026-09-29 00:56 L0 2 / 85 / 34 121 97 / 24 7 37 10
LogStats.ps1 39fac16 2026-09-29 01:01 L0 1 / 55 / 12 68 28 / 40 13 26 18
Engine.ps1 26f2be7 2026-10-08 16:37 U2 0 / 51 / 9 60 20 / 40 3 27 19
FileCheck.ps1 866e869 2026-10-09 16:37 OUT1 0 / 37 / 23 60 30 / 30 2 20 11
BuildDebug.ps1 b8414af 2026-10-07 15:49 Dbg 1 / 35 / 21 57 23 / 34 10 26 11
EtatDir.ps1 1d1d283 2026-10-09 15:18 ETAT2 0 / 42 / 8 50 26 / 24 15 15 6
CheckIntegrity.ps1 39fac16 2026-09-29 01:01 L0 2 / 17 / 28 47 13 / 34 15 21 15
uasset58.py 2883b80 2026-10-10 13:22 STF 0 / 0 / 40 40 14 / 26 6 9 3
CheckPackage.ps1 6eb1544 2026-10-10 11:36 OBB 0 / 0 / 34 34 8 / 26 13 13 10
FicheStats.py 80022ad 2026-10-09 17:48 TPL1 0 / 20 / 12 32 22 / 10 11 10 4
ReimportCorrectif.ps1 9cf045e 2026-09-29 02:09 Tools 0 / 28 / 4 32 5 / 27 13 14 11
uasset.py 8c6149e 2026-10-09 16:38 OUT1 0 / 26 / 4 30 28 / 2 1 6 1
Restore.ps1 1122e17 2026-09-29 00:56 L0 2 / 20 / 5 27 20 / 7 2 15 7
SplitModules.ps1 4b8688b 2026-10-02 20:55 MODS14 0 / 4 / 20 24 6 / 18 8 8 5
AssetHeaders.ps1 1122e17 2026-09-29 00:56 L0 0 / 18 / 2 20 2 / 18 4 9 7
BuildCollections.py 2a1eede 2026-10-02 14:11 O7d 1 / 0 / 4 5 2 / 3 2 4 3
CollectDebugArtifacts.ps1 b8414af 2026-10-07 15:49 Dbg 0 / 3 / 0 3 0 / 3 0 1 1
AuditScriptDeps.py b6e5871 2026-10-02 01:47 O1 1 / 1 / 0 2 1 / 1 0 2 1
DiffRemplacementNoeuds.py 5d1f9a1 2026-09-30 17:05 L7a 0 / 2 / 0 2 0 / 2 1 1 1
FixTextureMips.py 5f6b3fb 2026-10-02 09:07 O4 1 / 1 / 0 2 0 / 2 0 2 2
SummarizeDebugCsv.ps1 b8414af 2026-10-07 15:49 Dbg 0 / 2 / 0 2 0 / 2 0 1 1
AuditAssets.py b4c4886 2026-10-02 00:41 O0 1 / 0 / 0 1 0 / 1 0 1 1

Somme des colonnes « Total » : 1 185 mentions ; union d.* = 996 appels distincts, parce qu'une commande cite souvent plusieurs scripts. Aucun des 25 fichiers n'a 0 appel. Créés pendant la fenêtre : Engine.ps1 (10-08 16:37, U2), Build.ps1 (10-08 17:39, U3), EtatDir.ps1 (10-09 15:18), UeState.ps1 et FileCheck.ps1 (10-09 16:37, OUT1), uasset.py (10-09 16:38), FicheStats.py (10-09 17:48), CheckPackage.ps1 (10-10 11:36), uasset58.py (10-10 13:22) : neuf scripts, cités 30 à 161 fois chacun. Pour CheckPackage.ps1 et uasset58.py (appels tous en P2), la colonne ne permet pas de dire s'il y a des appels avant la création (non vérifié à la minute près).

2.4 Top 40 des préfixes normalisés (Bash + PowerShell ; 1 335 préfixes distincts pour 7 764 appels)

Colonnes : appels | sessions-agents | fiches.

# Préfixe Appels Unités Fiches # Préfixe Appels Unités Fiches
1 grep <chaîne> 723 117 90 21 get-content <chemin> 76 7 1
2 grep <chemin> 374 75 51 22 mkdir <var> 75 47 39
3 ls <chemin> 371 163 124 23 pwsh <chemin> 75 38 34
4 pwsh <chaîne> 311 73 59 24 mkdir <chemin> 73 56 46
5 python <<heredoc 226 42 19 25 pwsh <var> 62 22 17
6 for f 214 97 72 26 git show 58 34 21
7 git diff 197 92 67 27 git ls-files 45 29 16
8 echo <chaîne> 196 72 63 28 get-childitem <chemin> 44 11 2
9 cat >> 177 25 11 29 awk <chaîne> 44 19 17
10 git status 154 67 42 30 for r 42 22 11
11 cat <chemin> 149 71 49 31 for i 39 19 16
12 sed <chaîne> 138 30 21 32 git branch 39 31 25
13 cat > 122 53 44 33 find <chemin> 37 23 13
14 git log 112 42 16 34 python <var> 37 17 10
15 for v 107 23 19 35 md5sum <chemin> 36 24 10
16 ls 103 74 53 36 git rev-parse 34 26 16
17 git <chemin> 101 64 48 37 pwsh runcommandlet.ps1 32 8 3
18 sed <chemin> 91 45 29 38 git <var> 31 13 9
19 python <chaîne> 89 35 22 39 printf <chemin> 30 20 12
20 ls <var> 78 46 35 40 get-content <var> 29 8 3

Lecture (établi pour les comptes, interprétation estimée) : les préfixes de recherche ou de lecture grep (723 + 374), ls (371 + 103 + 78), cat <chemin> (149), sed (138 + 91) et find (37) totalisent 2 064 appels, que Grep / Glob / Read couvrent (règle sk-protocol § 7 pour les agents lp-*) ; cat > et cat >> (122 + 177 = 299) sont des écritures de fichier par le shell. git diff (197) et git status (154) par préfixe sont inférieurs aux comptes de famille (476 et 1 156) parce que le préfixe normalisé range les formes git -C <chemin> … sous git <chemin> (101) et git <var> (31).

2.5 Fichiers de données produits

data\commands.csv : 1 612 lignes de données (motif, acteur, sous-période, lot, appels, sessions-agents distincts, fiches distinctes, durée somme, nombre de durées) ; data\commands_prefixes.csv : 1 335 lignes ; data\commands_tools.csv : 25 lignes ; data\commands_resume.txt : 236 lignes. Contrôle : wc -l sur chaque fichier (en-tête compris : 1 613, 1 336, 26, 236 ; relevé en cours de travail).

3. Écarts au compte attendu de la fiche

  • Critère d'acceptation : total Bash+PowerShell 7 764 ; principales recoupées exactement avec sessions.csv (2 966 = 2 966, 34 sessions, 0 écart par session) ; sous-agents 10 993 contre 11 007 (écart 14, 0,13 %, cause non recherchée : subagents.csv peut compter des appels hors fenêtre ou dédoublonnés autrement). Deuxième méthode indépendante : 17 890 tool_use et 7 764 appels shell, identiques à la première ; sous-chaînes (sans regex) : md5sum 314 (= 314), Get-FileHash 196 (= 196), tasklist 173 (= 173), RunCommandlet.ps1 180 (= 180), FicheStats.py 32 (= 32) ; Win32_Process 108 (107 ici : le motif ici exige Get-CimInstance / Get-WmiObject avant) ; git status 810 (1 156 ici : le motif ici accepte git -C <chemin> status) ; git log 442 (610, même raison) ; ls-files --eol 112 (109 : ici motif ordonné ls-files … --eol) ; VERROU 351 en minuscules incluses et shell seul (323 ici : casse exacte, tous outils) ; accessed none 67 (82 ici : contexte .log exigé mais outil Grep ajouté) ; unrealeditor-cmd 76 (68 ici : exclusion des commandes citant RunCommandlet.ps1). Écarts expliqués par les différences de motif ; aucun inexpliqué hormis les 14 appels de sous-agents.
  • Fiches distinctes : 35 agents (1 838 appels de la fenêtre) restent sans fiche (57 des 101 absents de subagents.csv n'ont pas de description exploitable, une partie n'a pas d'appel dans la fenêtre) ; les colonnes « fiches » sont des minimums. Pour la principale le champ fiche n'existe pas : 0 (« sessions-agents distincts » donne la mesure).
  • Lot : vide (« - ») pour la principale et les 35 agents sans fiche ; les classements par lot sont partiels (c : 897 appels shell en « - » sur 1 794 au total).
  • Durée : horodatage du bloc tool_use à son tool_result ; les appels parallèles se chevauchent, les attentes de permission et les appels en arrière-plan faussent. Le coût « brut » = appels × moyenne est une borne indicative de temps machine, pas de temps de modèle ni de tours ; la moyenne est tirée par quelques appels longs (RunCommandlet.ps1 : moyenne 42,6 s, médiane 5,0 s).
  • Première version du script corrigée avant ce livrable : le motif UnrealEditor seul comptait 116 appels (corrigé : 68 avec UnrealEditor-Cmd|-run=) ; « script lancé après écriture » comptait 196 par nom de fichier (corrigé : 92 par chemin complet) ; le préfixe <chemin> (1 176 appels) venait d'affectations VAR="…" non retirées (corrigé). Les chiffres de ce livrable sont ceux de la version finale, rejouable.
  • h.Write-script ne compte que les scripts écrits dans la fenêtre ; l'exécution d'un script écrit dans une session précédente n'apparaît pas dans « lancé après écriture ».

4. Établi / estimé / incertain

Établi (commande du § 1, recoupée au § 3) : population (17 890 / 7 764), comptes par famille et par sous-période, acteurs, unités, dates de création git, nombre d'appels par Tools\*. Estimé : coût brut en heures (moyenne × appels ; temps machine borné, voir § 3) ; « candidats » ci-dessous (raisonnement : fréquence × répartition entre acteurs × existence d'un script voisin) ; part par sous-période (union ÷ shell de la période ; P0 est courte : 395 appels). Incertain : si un motif répété est une redondance ou un contrôle nécessaire différent à chaque fois (essai qui trancherait : lire une dizaine de cas par famille, hors fiche) ; couverture réelle de FileCheck.ps1 / UeState.ps1 / LogStats.ps1 par rapport aux familles a, b, e (scripts non lus) ; origine des 14 appels d'écart sur les sous-agents ; fiches des 35 agents sans fiche.

Constats

Par ordre de coût brut décroissant (appels × durée moyenne, sans le temps de modèle), pour décision de l'orchestrateur :

  1. d. scripts : RunCommandlet.ps1 (180 appels, ≈ 2,1 h, essentiellement l'exécution d'Unreal et non du redump) ; UnrealEditor-Cmd / -run= sans RunCommandlet.ps1 : 68 appels (31 principale, 37 sous-agents, 18 fiches) ; RunUAT / BuildCookRun sans BuildDebug.ps1 : 32 appels (lp-builder 15).
  2. c. état git et fins de ligne : 1 794 appels, 248 sessions-agents, 180 fiches, ≈ 1,6 h machine ; la part passe de 8 % (P0) à 36 % (P2) des appels shell. Candidat : un script « état » (status + diff --name-status + ls-files --eol + comptes de CR) dans Tools\.
  3. b. processus : 455 appels, ≈ 1,3 h, dont 224 en P2, alors que UeState.ps1 existe depuis le 10-09 16:37 (86 appels en P2). Candidat : imposer UeState.ps1 aux fiches build / validation (lp-builder : 64 appels Get-Process directs).
  4. a. empreintes : 543 appels, 90 fiches, dont 538 en md5sum / Get-FileHash / sha*sum contre 60 appels de FileCheck.ps1 (créé le 10-09) ; 379 en P2. Candidat : généraliser FileCheck.ps1 ou un mode « empreinte avant / après » de Snapshot.ps1 (couverture à vérifier, incertain).
  5. h. Python : 282 heredocs (201 de la principale), 189 python -c longs, 135 scripts écrits dont 92 relancés ensuite ; ≈ 0,8 h. Candidat : bibliothèque d'analyse (transcriptions, CSV) dans Tools\ ou un skill ; le shell Bash fait par ailleurs 2 064 appels de recherche / lecture et 299 écritures cat > (§ 2.4).
  6. f. verrou, tickets : 1 085 appels (677 en shell), 1 059 en P2 ; 141 mkdir / New-Item / Remove sur le verrou ; NUMEROS.md 292 appels (principale 130). Candidat : script Verrou (prendre, rendre, état) et lecture de NUMEROS.md par script.
  7. g. taille / date de build : 252 appels (du 36, gci -Recurse 54, dossier de build 203), 128 de la principale. Candidat : option de taille dans CheckPackage.ps1.
  8. e. journaux : 272 appels (Warning: 124, Error: 101, Accessed None 82) ; LogStats.ps1 existe depuis le 09-29 (68 appels) ; lp-cart et lp-validator interrogent encore les journaux directement (couverture de LogStats à vérifier).
  9. i. SendMessage 696 appels (28 sessions, tous en principale), ListAgents 24 (7 sessions) : coordination entre sessions, pas un candidat d'outil.
  10. Tools\ : 14 des 25 scripts ont 34 appels ou moins (5 en ont 2 ou moins) ; 9 scripts ont été créés pendant la fenêtre et sont déjà cités 30 à 161 fois.

Fichiers écrits (chemins absolus) : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_commandes.py ; D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\commands.csv ; ...\data\commands_prefixes.csv ; ...\data\commands_tools.csv ; ...\data\commands_resume.txt ; ce livrable. Fichiers à commiter (le gardien décide ; .gitignore retient les .md et .csv sous etat\, le sort des .py et .txt est à confirmer) : A Docs/Migration/etat/EVAL/EVAL-T6-INV.md, A Docs/Migration/etat/EVAL/data/commands.csv, A Docs/Migration/etat/EVAL/data/commands_prefixes.csv, A Docs/Migration/etat/EVAL/data/commands_tools.csv, A Docs/Migration/etat/EVAL/scripts/eval_commandes.py, A Docs/Migration/etat/EVAL/data/commands_resume.txt. Aucune commande git qui écrit lancée.

Tours : 18 / 40