LifePlay-Revival/Docs/Migration/etat/EVAL/EVAL-T1a-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

306 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Fiche EVAL-T1a — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 (Sonnet 5.5) — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths (sk-windows-shell non invoqué)
# EVAL-T1a-INV : relevé chiffré des sessions principales Claude Code, 2026-10-08 05:30 → 2026-10-11 05:30 (2026-10-11)
Fenêtre en UTC+2 (fixe, pas de bascule horaire dans la fenêtre). Session exclue : `b339a92a` (EVAL), fichier principal et sous-agents. Dossiers lus : `...\D--Game-LifePlay-master-5-8`, `...\D--Game-LifePlay-master-5-5`, `...\D--Game-LifePlay-master-5-5--claude-worktrees-measurement-tool-character-animations-028723` (sous `%USERPROFILE%\.claude\projects\`). Sessions principales ayant au moins un événement dans la fenêtre : 34 (5.8 : 24, 5.5 : 10, worktree : 0 événement dans la fenêtre).
## 1. Commandes exactes
Relevé (sorties : `data\sessions.csv`, `data\outils.csv`, `data\tableaux.md`), environ 7 s :
```
python -I "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_sessions.py"
```
Recompte indépendant (autre formulation : regex sur lignes brutes, `sk-recount`), mêmes bornes :
```
python -I "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_sessions_recount.py"
```
Découverte des marqueurs (inspections de structure, sans citer de contenu) : décomptes des champs `type`, `origin.kind`, `promptSource`, `turnOrigin`, `toolDenialKind`, `permissionDecision`, `attachment.type` sur les transcriptions, par `python -I -c` ponctuels (non conservés ; leurs résultats sont repris ci-dessous et rejouables par le script).
**Bornes.**
- P0 = 2026-10-08 05:30 → 13:30 ; P1 = 13:30 → **2026-10-10 10:45:20 (UTC+2) = 08:45:20Z** ; P2 = 10:45:20 → 2026-10-11 05:30.
- Session Big Boss : `92a3927f` confirmée par le **titre** (champ `custom-title` : « Big Boss: gestion des conflits et planning » puis « Big Boss ») ; c'est la seule session dont le titre contient « Big Boss » parmi tous les fichiers principaux des trois dossiers (sortie du script : `Candidats Big Boss ... [('92a3927f', '2026-10-10 10:45:20')]`). Heure retenue = premier événement horodaté du fichier (toutes natures) = première entrée `user` à contenu texte = 10:45:20.899 (UTC+2). Le recompte retrouve la même borne.
- Aucun événement de la fenêtre avant 08:06 (P0) ; la session « Big Boss » n'a pas de sous-agents (0 fichier).
**Marqueurs fixés par inspection** (entrées `user` qui ne portent pas de `tool_result`) :
| Catégorie | Marqueur |
|---|---|
| Message humain | `origin.kind == "human"` (aussi `turnOrigin == "human"`), entrée `user` |
| Message humain livré par la file d'attente | pièce jointe `attachment.type == "queued_command"` avec `origin.kind == "human"` (tapé pendant un tour ; absent des entrées `user`) |
| Message d'une autre session Claude Code | `origin.kind == "peer"`, `from` commençant par `uds:` (tube nommé ; champs `fromSession`, `msg_id`) |
| Message d'une session latérale (hôte) | `origin.kind == "peer"`, `from` commençant par `local_` (champ `hostInjected`) |
| Compte rendu de sous-agent (handback) | `origin.kind == "peer"`, `from` = identifiant court d'agent, champs `handback`, `senderTaskId` |
| Notification de tâche / sous-agent | `origin.kind == "task-notification"` |
| Événement automatique `side-sessions-event` | entrée `user` sans `origin`, `turnOrigin == "sdk"`, texte contenant la balise `<side-sessions-event` |
| Événement automatique `system-reminder` | entrée `user` sans `origin`, texte débutant par `<system-reminder>` |
| Premier prompt SDK d'une session latérale | entrée `user` sans `origin`, `promptSource == "sdk"` (6 occurrences, rangées dans « sans origine autre ») |
| Commande slash tapée | texte débutant par `<command-name` ou `<local-command` (9 ; comptée à part) |
| Méta / reprise d'usage | `isMeta == true` sans `origin` (dont textes d'usage-limit) ; `isCompactSummary` = résumé de compactage |
Vérifié : aucun autre `origin.kind` dans les deux dossiers 5.8 et 5.5 (commande de contrôle sur les lignes portant `"origin"` : compte vide hors human / peer / task-notification) ; aucun chevauchement entre entrées `user` et pièces jointes `queued_command` (même catégorie, `msg_id`, texte) : « aucun ».
**Refus d'autorisation : motif retenu.** Entrée `user` portant un `tool_result` **et** le champ `toolDenialKind` ∈ {`automode-blocked` (refus du mode automatique / classifieur), `permission-rule` (règle de permission), `user-rejected` (refus de l'utilisateur)}. Replis prévus si le champ manque : `permissionDecision.decision == "reject"` ou texte du résultat débutant par « Permission for this action was denied » / « The user doesn't want to proceed » (0 cas de repli dans la fenêtre : le champ couvre tout). Comptés à part et non comme refus : `automode-unavailable` (classifieur sans réponse : 0 dans la fenêtre), `interrupted` et `cancelled` (2).
## 2. Comptes bruts
Définitions. Temps actif = somme des écarts ≤ 10 min entre événements horodatés (toute entrée portant `timestamp`) ; « session » = ses propres événements, « mur » = événements de toutes les sessions mêlés (méthode `periods_all.py`, doc 31) ; « toutes activités » = sessions principales + sous-agents. Tours assistant = identifiants `message.id` uniques par fichier. Contexte par tour = input + cache_read + cache_creation. Jetons lus = somme de ces trois par tour. Appels d'outils = blocs `tool_use` (dédoublonnés par id ; le compte naïf est identique). Erreurs = `tool_result` avec `is_error`. Messages humains : colonne « humains (dont file) ». Les événements sont rangés par horodatage, pas par session (une session à cheval est coupée aux bornes ; les écarts à cheval sur une borne ne comptent pas dans le temps actif par sous-période).
### 2.1 Par session (fenêtre entière), temps et messages
| sid | dos. | titre | premier | dernier | actif (h) | humains (dont file) | autres sessions (uds + locale) | handback sous-ag. | notif. | auto | slash | tours |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| d3ec373a | 5.5 | Lifeplay UE 4.27 vers 5.5 migration | 10-08 08:10 | 10-08 08:11 | 0.01 | 0 (0) | 1 + 0 | 0 | 0 | 0 | 0 | 2 |
| 6082a074 | 5.5 | Rotation locale PoseMeasure Orchestrator | 10-08 08:06 | 10-08 13:47 | 3.33 | 28 (0) | 0 + 0 | 14 | 19 | 3 | 3 | 222 |
| 5568589b | 5.5 | Repos non visibles aux autres utilisateurs | 10-08 08:10 | 10-08 08:12 | 0.03 | 0 (0) | 1 + 0 | 1 | 1 | 0 | 0 | 6 |
| 5069aabb | 5.5 | Agent sk-probe-agent test | 10-08 13:26 | 10-08 13:26 | 0.00 | 1 (0) | 0 + 0 | 1 | 0 | 0 | 0 | 2 |
| cd5304ac | 5.5 | Méthode sur U0 | 10-08 13:48 | 10-09 23:39 | 1.65 | 12 (0) | 5 + 0 | 14 | 16 | 2 | 0 | 144 |
| df3f1aa2 | 5.5 | Commençons U2 | 10-08 16:00 | 10-09 23:39 | 0.71 | 6 (0) | 3 + 0 | 5 | 7 | 2 | 0 | 63 |
| c4717ef9 | 5.5 | Commençons U3 | 10-08 16:51 | 10-09 23:39 | 0.51 | 5 (2) | 1 + 0 | 4 | 4 | 2 | 0 | 134 |
| ea5c60a3 | 5.5 | Commençons U4 | 10-08 17:43 | 10-09 23:39 | 1.99 | 4 (0) | 1 + 0 | 18 | 22 | 2 | 0 | 126 |
| 6e5ebe19 | 5.5 | Commencons u6 | 10-08 22:01 | 10-09 23:39 | 0.77 | 15 (4) | 5 + 0 | 3 | 3 | 4 | 0 | 95 |
| ab8918a1 | 5.5 | Commençons U7 | 10-08 23:26 | 10-09 23:39 | 6.89 | 46 (6) | 24 + 0 | 42 | 51 | 14 | 0 | 394 |
| 87a0d630 | 5.8 | Lot 29 : sélection outils debugging | 10-09 13:06 | 10-10 11:12 | 6.80 | 60 (9) | 41 + 3 | 34 | 42 | 26 | 0 | 815 |
| 7074e3d2 | 5.8 | Audit des scripts agent répétés | 10-09 15:33 | 10-09 23:49 | 0.62 | 5 (0) | 5 + 3 | 0 | 0 | 7 | 0 | 68 |
| 650723c6 | 5.8 | Outils communs : UeState, FileCheck, LogStats -Latest | 10-09 16:10 | 10-09 23:48 | 0.42 | 0 (0) | 8 + 1 | 0 | 0 | 7 | 0 | 96 |
| 6c6597f8 | 5.8 | Récupérer le parseur uasset.py perdu dans %TEMP% | 10-09 16:10 | 10-09 23:49 | 0.65 | 0 (0) | 6 + 1 | 0 | 0 | 8 | 0 | 68 |
| eaa66797 | 5.8 | Règles d'outillage pour les agents lp-* (Edit, Grep) | 10-09 16:10 | 10-09 23:49 | 0.52 | 3 (0) | 7 + 0 | 1 | 0 | 3 | 0 | 98 |
| 55ab9753 | 5.8 | Évaluation efficacité trois derniers jours | 10-09 16:43 | 10-09 23:47 | 1.06 | 14 (0) | 8 + 0 | 1 | 0 | 4 | 0 | 154 |
| f93ec294 | 5.8 | Commençons u8 | 10-09 17:18 | 10-09 23:39 | 0.69 | 1 (0) | 8 + 3 | 2 | 2 | 8 | 0 | 54 |
| 7e4fa63e | 5.8 | Aligner registres doc 21 / doc 29 (constats U8-T0) | 10-09 17:43 | 10-09 23:39 | 0.06 | 0 (0) | 6 + 0 | 0 | 0 | 3 | 0 | 36 |
| 24ad9ebb | 5.8 | Reprenons u8 | 10-09 17:51 | 10-09 23:54 | 1.47 | 6 (0) | 7 + 2 | 6 | 4 | 6 | 0 | 137 |
| a3b3b6e0 | 5.8 | Reporter les pièges U8 dans les skills lp-* | 10-09 21:38 | 10-09 23:39 | 0.24 | 1 (0) | 1 + 1 | 0 | 0 | 2 | 0 | 32 |
| a51c7320 | 5.8 | Lot UI : vitesse caméra en slider, durée des scènes protégée | 10-09 23:32 | 10-10 10:01 | 1.99 | 15 (0) | 4 + 3 | 4 | 9 | 13 | 0 | 264 |
| 2ec0dec7 | 5.8 | STC : diagnostic menu Settings (Fable) | 10-10 00:19 | 10-10 08:57 | 0.53 | 13 (1) | 0 + 0 | 0 | 0 | 1 | 0 | 132 |
| 3ca6d56f | 5.8 | Lot séparé : protéger les 12 autres SpinBox de Settings | 10-10 09:08 | 10-10 09:13 | 0.07 | 0 (0) | 0 + 1 | 0 | 0 | 3 | 0 | 26 |
| 637ffab6 | 5.8 | LOT STF | 10-10 09:32 | 10-10 19:48 | 4.04 | 26 (0) | 65 + 0 | 15 | 14 | 2 | 0 | 423 |
| 92a3927f | 5.8 | Big Boss | 10-10 10:45 | 10-11 05:29 | 8.04 | 29 (3) | 143 + 29 | 0 | 0 | 78 | 3 | 679 |
| 37530d8d | 5.8 | LOT STE | 10-10 10:59 | 10-11 05:29 | 6.85 | 24 (0) | 93 + 0 | 31 | 26 | 10 | 3 | 995 |
| 0b6366db | 5.8 | OBB | 10-10 11:09 | 10-10 15:02 | 2.99 | 12 (0) | 41 + 0 | 38 | 39 | 2 | 0 | 283 |
| af24d4e5 | 5.8 | AR : clôture du lot AG (AG-R1 à AG-R3) | 10-10 11:18 | 10-10 12:40 | 1.14 | 0 (0) | 2 + 8 | 11 | 12 | 13 | 0 | 156 |
| ecaeb97f | 5.8 | DOCMV : remonter journal, registre et docs dans Docs\ | 10-10 11:24 | 10-10 12:14 | 0.63 | 0 (0) | 7 + 0 | 5 | 2 | 3 | 0 | 123 |
| d6c77f06 | 5.8 | README : index Docs\README.md à jour pour la 5.8 | 10-10 14:35 | 10-10 15:40 | 0.45 | 1 (0) | 0 + 4 | 2 | 2 | 3 | 0 | 86 |
| 41d14bfe | 5.8 | LISIB : lisibilité des textes et SpinBox hors Settings | 10-10 15:32 | 10-10 19:48 | 1.21 | 6 (1) | 0 + 3 | 5 | 4 | 18 | 0 | 177 |
| b7f71cec | 5.8 | DOCSTAT : statuts des docs, renvois 08/09, doc 32 | 10-10 17:19 | 10-10 17:36 | 0.28 | 0 (0) | 0 + 1 | 2 | 0 | 5 | 0 | 79 |
| 9dd89366 | 5.8 | LOT U8 : état des lieux et reprise | 10-10 17:58 | 10-11 05:29 | 2.66 | 15 (0) | 0 + 15 | 16 | 14 | 13 | 0 | 245 |
| 755d79b0 | 5.8 | Camera : audit des caméras du jeu | 10-11 00:14 | 10-11 01:48 | 0.83 | 4 (0) | 0 + 2 | 8 | 8 | 7 | 0 | 87 |
« auto » = side-sessions-event + system-reminder + méta + sans origine (dont prompt SDK) + origine absente (pièce jointe sans `origin`) + résumés de compactage. Heures locales UTC+2. Les 9 commandes slash ne sont pas dans « humains ».
### 2.2 Par session, outils, erreurs, refus
| sid | outils | Bash | PS | Read | Edit | Write | Grep | Glob | Agent | SendMsg | mcp | autres | err/res | refus | indispo | interr. | compact. (boundary/résumé) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| d3ec373a | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/1 | 0 | 0 | 0 | 0/0 |
| 6082a074 | 210 | 57 | 33 | 12 | 24 | 15 | 4 | 0 | 14 | 4 | 34 | 13 | 7/210 | 1 | 0 | 0 | 1/1 |
| 5568589b | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0/4 | 0 | 0 | 0 | 0/0 |
| 5069aabb | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0/1 | 0 | 0 | 0 | 0/0 |
| cd5304ac | 127 | 76 | 2 | 8 | 20 | 0 | 0 | 0 | 14 | 3 | 0 | 4 | 1/127 | 0 | 0 | 0 | 0/0 |
| df3f1aa2 | 60 | 0 | 19 | 10 | 12 | 4 | 5 | 1 | 5 | 1 | 0 | 3 | 6/60 | 2 | 0 | 0 | 0/0 |
| c4717ef9 | 158 | 87 | 10 | 16 | 27 | 9 | 1 | 0 | 4 | 0 | 0 | 4 | 7/158 | 1 | 0 | 0 | 0/0 |
| ea5c60a3 | 104 | 61 | 9 | 2 | 3 | 0 | 0 | 0 | 15 | 3 | 2 | 9 | 5/104 | 0 | 0 | 0 | 0/0 |
| 6e5ebe19 | 80 | 49 | 15 | 2 | 2 | 2 | 0 | 0 | 3 | 3 | 0 | 4 | 3/80 | 0 | 0 | 0 | 0/0 |
| ab8918a1 | 333 | 158 | 31 | 6 | 31 | 5 | 1 | 0 | 35 | 31 | 1 | 34 | 13/333 | 1 | 0 | 0 | 0/0 |
| 87a0d630 | 1162 | 250 | 116 | 54 | 44 | 16 | 44 | 4 | 34 | 98 | 470 | 32 | 26/1162 | 0 | 0 | 0 | 1/1 |
| 7074e3d2 | 66 | 0 | 36 | 4 | 3 | 4 | 4 | 0 | 0 | 6 | 7 | 2 | 2/66 | 0 | 0 | 0 | 0/0 |
| 650723c6 | 101 | 32 | 21 | 8 | 23 | 4 | 1 | 0 | 0 | 8 | 1 | 3 | 7/101 | 1 | 0 | 0 | 0/0 |
| 6c6597f8 | 57 | 33 | 3 | 7 | 2 | 2 | 0 | 0 | 0 | 6 | 0 | 4 | 3/57 | 0 | 0 | 0 | 0/0 |
| eaa66797 | 140 | 40 | 6 | 30 | 44 | 2 | 12 | 0 | 1 | 4 | 0 | 1 | 11/140 | 0 | 0 | 0 | 0/0 |
| 55ab9753 | 232 | 52 | 22 | 41 | 86 | 8 | 7 | 0 | 1 | 8 | 0 | 7 | 5/232 | 0 | 0 | 0 | 0/0 |
| f93ec294 | 44 | 13 | 1 | 2 | 6 | 1 | 4 | 0 | 2 | 4 | 3 | 8 | 0/44 | 0 | 0 | 0 | 0/0 |
| 7e4fa63e | 33 | 17 | 2 | 2 | 6 | 0 | 2 | 0 | 0 | 1 | 0 | 3 | 0/33 | 0 | 0 | 0 | 0/0 |
| 24ad9ebb | 136 | 74 | 16 | 4 | 10 | 5 | 1 | 0 | 6 | 10 | 1 | 9 | 2/136 | 0 | 0 | 0 | 0/0 |
| a3b3b6e0 | 39 | 19 | 3 | 3 | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1/39 | 0 | 0 | 0 | 0/0 |
| a51c7320 | 255 | 0 | 74 | 11 | 15 | 7 | 9 | 0 | 4 | 4 | 122 | 9 | 23/255 | 1 | 0 | 0 | 0/0 |
| 2ec0dec7 | 120 | 62 | 0 | 1 | 6 | 1 | 0 | 0 | 0 | 0 | 49 | 1 | 11/120 | 0 | 0 | 0 | 0/0 |
| 3ca6d56f | 29 | 13 | 0 | 1 | 3 | 4 | 0 | 0 | 0 | 1 | 3 | 4 | 0/29 | 0 | 0 | 0 | 0/0 |
| 637ffab6 | 372 | 155 | 18 | 6 | 14 | 13 | 2 | 0 | 10 | 41 | 97 | 16 | 26/372 | 1 | 0 | 0 | 0/0 |
| 92a3927f | 734 | 277 | 43 | 5 | 78 | 1 | 6 | 1 | 0 | 287 | 14 | 22 | 5/734 | 1 | 0 | 0 | 1/1 |
| 37530d8d | 958 | 72 | 250 | 20 | 19 | 40 | 21 | 0 | 32 | 68 | 404 | 32 | 15/957 | 1 | 0 | 0 | 1/1 |
| 0b6366db | 291 | 76 | 9 | 14 | 82 | 22 | 0 | 1 | 35 | 42 | 1 | 9 | 4/291 | 1 | 0 | 0 | 0/0 |
| af24d4e5 | 198 | 81 | 3 | 4 | 61 | 14 | 0 | 0 | 10 | 13 | 0 | 12 | 3/198 | 0 | 0 | 0 | 0/0 |
| ecaeb97f | 210 | 66 | 2 | 47 | 61 | 20 | 0 | 0 | 4 | 5 | 0 | 5 | 3/210 | 0 | 0 | 0 | 0/0 |
| d6c77f06 | 84 | 61 | 1 | 0 | 5 | 8 | 0 | 0 | 2 | 4 | 0 | 3 | 0/84 | 0 | 0 | 0 | 0/0 |
| 41d14bfe | 186 | 99 | 6 | 4 | 44 | 13 | 1 | 0 | 5 | 8 | 0 | 6 | 3/186 | 0 | 0 | 0 | 0/0 |
| b7f71cec | 93 | 45 | 2 | 13 | 19 | 5 | 0 | 0 | 2 | 3 | 0 | 4 | 2/93 | 0 | 0 | 0 | 0/0 |
| 9dd89366 | 201 | 143 | 3 | 1 | 3 | 8 | 0 | 0 | 16 | 19 | 0 | 8 | 1/201 | 0 | 0 | 0 | 0/0 |
| 755d79b0 | 78 | 38 | 0 | 9 | 7 | 4 | 0 | 0 | 6 | 11 | 0 | 3 | 4/78 | 0 | 0 | 2 | 0/0 |
« mcp » = tous les noms `mcp__*` ; « autres » = noms hors liste (Task*, ToolSearch, Skill, Monitor…). `Agent` regroupe `Agent` et `Task`. Détail par nom et par `subagent_type` : `data\outils.csv` (genres `outil`, `agent_type_modele`, `modele`, `refus_ou_denial_kind`, `sous_agent_outil`, `sous_agent_modele`).
### 2.3 Par session, contexte, jetons, modèles
| sid | ctx moy | ctx méd | pic | >150k | %>150k | jetons lus (M) | sous-ag. outils | sous-ag. tours | sous-ag. jetons (M) | modèles (tours) |
|---|---|---|---|---|---|---|---|---|---|---|
| d3ec373a | 664k | 664k | 664k | 2/2 | 100.0 | 1.3 | 0 | 0 | 0.0 | opus-5-5=2 |
| 6082a074 | 326k | 240k | 767k | 188/222 | 84.7 | 72.5 | 518 | 324 | 38.4 | opus-5-5=222 |
| 5568589b | 496k | 497k | 500k | 6/6 | 100.0 | 3.0 | 6 | 6 | 0.4 | opus-5-5=6 |
| 5069aabb | 67k | 67k | 67k | 0/2 | 0.0 | 0.1 | 1 | 1 | 0.0 | opus-5-5=2 |
| cd5304ac | 198k | 202k | 309k | 98/144 | 68.1 | 28.5 | 726 | 633 | 90.8 | opus-5-5=144 |
| df3f1aa2 | 157k | 147k | 271k | 31/63 | 49.2 | 9.9 | 242 | 162 | 12.8 | opus-5-5=63 |
| c4717ef9 | 192k | 191k | 321k | 87/134 | 64.9 | 25.7 | 82 | 75 | 3.7 | opus-5-5=134 |
| ea5c60a3 | 217k | 217k | 351k | 99/126 | 78.6 | 27.4 | 740 | 639 | 78.1 | opus-5-5=126 |
| 6e5ebe19 | 148k | 148k | 222k | 45/94 | 47.9 | 13.9 | 53 | 28 | 1.3 | opus-5-5=94; synthetic=1 |
| ab8918a1 | 459k | 462k | 795k | 367/394 | 93.1 | 180.9 | 1810 | 1553 | 223.9 | opus-5-5=394 |
| 87a0d630 | 478k | 468k | 965k | 742/815 | 91.0 | 390.3 | 1909 | 1159 | 123.0 | opus-5-5=815 |
| 7074e3d2 | 164k | 171k | 223k | 46/68 | 67.6 | 11.2 | 0 | 0 | 0.0 | opus-5-5=68 |
| 650723c6 | 170k | 174k | 236k | 65/96 | 67.7 | 16.4 | 0 | 0 | 0.0 | opus-5-5=96 |
| 6c6597f8 | 195k | 210k | 247k | 59/68 | 86.8 | 13.3 | 0 | 0 | 0.0 | opus-5-5=68 |
| eaa66797 | 154k | 159k | 217k | 59/98 | 60.2 | 15.1 | 1 | 2 | 0.1 | opus-5-5=98 |
| 55ab9753 | 259k | 265k | 391k | 135/154 | 87.7 | 40.0 | 32 | 21 | 1.2 | opus-5-5=154 |
| f93ec294 | 124k | 129k | 155k | 7/54 | 13.0 | 6.7 | 119 | 74 | 9.3 | opus-5-5=54 |
| 7e4fa63e | 105k | 106k | 124k | 0/36 | 0.0 | 3.8 | 0 | 0 | 0.0 | opus-5-5=36 |
| 24ad9ebb | 206k | 215k | 302k | 100/137 | 73.0 | 28.2 | 214 | 160 | 10.0 | opus-5-5=137 |
| a3b3b6e0 | 121k | 128k | 146k | 0/32 | 0.0 | 3.9 | 0 | 0 | 0.0 | opus-5-5=32 |
| a51c7320 | 298k | 304k | 503k | 225/264 | 85.2 | 78.9 | 144 | 89 | 7.3 | opus-5-5=264 |
| 2ec0dec7 | 243k | 256k | 343k | 109/132 | 82.6 | 32.2 | 0 | 0 | 0.0 | opus-5-5=132 |
| 3ca6d56f | 144k | 159k | 187k | 15/26 | 57.7 | 3.8 | 0 | 0 | 0.0 | opus-5-5=26 |
| 637ffab6 | 425k | 438k | 744k | 369/421 | 87.6 | 179.0 | 269 | 199 | 19.1 | opus-5-5=421; synthetic=2 |
| 92a3927f | 393k | 345k | 825k | 576/678 | 85.0 | 266.9 | 0 | 0 | 0.0 | opus-5-5=678; synthetic=1 |
| 37530d8d | 442k | 406k | 898k | 892/994 | 89.7 | 439.4 | 1448 | 816 | 111.5 | opus-5-5=994; synthetic=1 |
| 0b6366db | 379k | 388k | 636k | 260/283 | 91.9 | 107.3 | 1026 | 513 | 36.5 | opus-5-5=283 |
| af24d4e5 | 258k | 263k | 387k | 139/156 | 89.1 | 40.3 | 254 | 130 | 8.1 | opus-5-5=156 |
| ecaeb97f | 218k | 224k | 350k | 91/123 | 74.0 | 26.8 | 117 | 74 | 5.2 | opus-5-5=123 |
| d6c77f06 | 162k | 167k | 222k | 55/86 | 64.0 | 14.0 | 79 | 23 | 1.7 | opus-5-5=86 |
| 41d14bfe | 264k | 290k | 398k | 146/177 | 82.5 | 46.8 | 141 | 81 | 5.9 | opus-5-5=177 |
| b7f71cec | 213k | 234k | 288k | 67/79 | 84.8 | 16.9 | 51 | 29 | 2.3 | opus-5-5=79 |
| 9dd89366 | 292k | 293k | 465k | 226/245 | 92.2 | 71.6 | 536 | 319 | 28.0 | opus-5-5=245 |
| 755d79b0 | 221k | 231k | 316k | 69/87 | 79.3 | 19.2 | 475 | 205 | 32.9 | opus-5-5=87 |
« synthetic » = tours `<synthetic>` (messages d'erreur générés par l'hôte, contexte 0, exclus des statistiques de contexte). Modèle déclaré dans les transcriptions : `claude-opus-5-5` pour toutes les sessions principales ; sous-agents : voir 2.4.
### 2.4 Par sous-période P0 / P1 / P2 (indicateurs du doc 31 § 2 et § 4.1)
| Indicateur | P0 | P1 | P2 | Total |
|---|---|---|---|---|
| Début (premier événement) | 10-08 08:06 | 10-08 13:31 | 10-10 10:45 | 10-08 08:06 |
| Fin (dernier événement) | 10-08 13:29 | 10-10 10:45 | 10-11 05:29 | 10-11 05:29 |
| Actif session principale (h, mur) | 3.07 | 22.11 | 11.00 | 36.20 |
| Actif toutes activités (h, mur) | 3.70 | 25.95 | 11.68 | 41.33 |
| Actif, somme des sessions (h) | 3.09 | 27.61 | 29.39 | 60.14 |
| Sessions actives | 4 | 21 | 12 | 34 |
| Événements horodatés (principales) | 1169 | 16742 | 17797 | 35708 |
| **Messages humains** (entrées `user` + file d'attente) | 26 | 207 | 119 | 352 |
| dont livrés par la file d'attente | 0 | 21 | 5 | 26 |
| comparaison : compte « prompts » du doc 31 (hors file) | 27 | 190 | 117 | 334 |
| Commandes slash (à part) | 3 | 0 | 6 | 9 |
| **Messages d'autres sessions** (uds + locale) | 2 | 148 | 423 | 573 |
| dont autres sessions Claude Code (tube uds) | 2 | 130 | 361 | 493 |
| dont session latérale injectée par l'hôte (`local_`) | 0 | 18 | 62 | 80 |
| Comptes rendus de sous-agents (handback) | 15 | 132 | 136 | 283 |
| Notifications de tâche / sous-agent | 19 | 157 | 125 | 301 |
| dont livrés par la file (pairs, handback, notifications) | 16 | 189 | 258 | 463 |
| Auto : `side-sessions-event` | 0 | 35 | 51 | 86 |
| Auto : `system-reminder` | 0 | 21 | 64 | 85 |
| Auto : méta, sans origine (dont prompts SDK), origine absente, résumés de compactage | 3 | 61 | 39 | 103 |
| Tours assistant (principale) | 213 | 2926 | 3362 | 6501 |
| **Appels d'outils (principale)** | 201 | 3271 | 3425 | 6897 |
| Bash | 52 | 1031 | 1127 | 2210 |
| PowerShell | 33 | 386 | 337 | 756 |
| Read | 11 | 213 | 123 | 347 |
| Edit | 22 | 358 | 393 | 773 |
| Write | 12 | 78 | 147 | 237 |
| Grep | 4 | 93 | 28 | 125 |
| Glob | 0 | 5 | 2 | 7 |
| Agent | 16 | 121 | 125 | 262 |
| SendMessage | 4 | 183 | 509 | 696 |
| mcp__* | 34 | 660 | 515 | 1209 |
| autres | 13 | 143 | 119 | 275 |
| Appels d'outils (sous-agents) | 520 | 5999 | 4474 | 10993 |
| **Appels d'outils (total)** | 721 | 9270 | 7899 | 17890 |
| Part des sous-agents (%) | 72 | 65 | 57 | 61 |
| Résultats d'outils (principale) | 201 | 3271 | 3424 | 6896 |
| **Erreurs d'outils** (principale) | 6/201 | 128/3271 | 65/3424 | 199/6896 |
| Erreurs d'outils (sous-agents) | 18/519 | 178/6000 | 65/4473 | 261/10992 |
| Erreurs d'outils (total, %) | 24/720 (3.3 %) | 306/9271 (3.3 %) | 130/7897 (1.6 %) | 460/17888 (2.6 %) |
| **Refus d'autorisation** | 1 | 7 | 3 | 11 |
| dont `automode-blocked` / `permission-rule` | 1 / 0 | 2 / 5 | 3 / 0 | 6 / 5 |
| Classifieur indisponible | 0 | 0 | 0 | 0 |
| Interrompus / annulés | 0 | 0 | 2 | 2 |
| **Compactages** (`compact_boundary` / résumé) | 1/1 | 1/1 | 2/2 | 4/4 |
| Contexte moyen par tour | 329k | 307k | 377k | 344k |
| Contexte médian par tour | 228k | 245k | 323k | 287k |
| Pic de contexte | 767k | 965k | 898k | 965k |
| Tours > 150k | 177/213 (83.1 %) | 2252/2925 (77.0 %) | 2946/3358 (87.7 %) | 5375/6496 (82.7 %) |
| **Jetons lus, principale (M)** | 70.2 | 898.7 | 1266.5 | 2235.4 |
| Jetons lus, sous-agents (M) | 38.3 | 559.3 | 253.8 | 851.4 |
| **Jetons lus, total (M)** | 108.5 | 1458.0 | 1520.3 | 3086.8 |
| Lecture en cache (%) | 97.0 | 98.5 | 99.2 | 98.9 |
Par heure active, base « toutes activités, mur » (le doc 31 § 2 divise par cette base) :
| Indicateur / h | P0 | P1 | P2 | Total |
|---|---|---|---|---|
| Messages humains | 7.03 | 7.98 | 10.19 | 8.52 |
| Messages d'autres sessions | 0.54 | 5.70 | 36.22 | 13.87 |
| Appels d'outils (total) | 195.02 | 357.29 | 676.28 | 432.90 |
| Commandes shell, principale (Bash + PowerShell) | 22.99 | 54.62 | 125.34 | 71.77 |
| Jetons lus, principale (M) | 18.99 | 34.64 | 108.43 | 54.09 |
| Jetons lus, sous-agents (M) | 10.35 | 21.56 | 21.73 | 20.60 |
| Jetons lus, total (M) | 29.34 | 56.20 | 130.16 | 74.69 |
| Refus d'autorisation | 0.27 | 0.27 | 0.26 | 0.27 |
Base « session principale, mur » : messages humains 8.47 / 9.36 / 10.82 / 9.72 par heure ; appels d'outils de la principale 65.51 / 147.94 / 311.42 / 190.52 ; jetons lus de la principale 22.88 / 40.64 / 115.16 / 61.75 M (P0 / P1 / P2 / total).
Appels `Agent` par `subagent_type` et surcharge de modèle (principale ; sans surcharge sauf mention) :
- P0 (16) : general/opus 4, general/sonnet 3, general-purpose/sonnet 2, general-purpose/fable 2, general/fable 2, general-purpose/opus 1, sk-probe-agent 1, opus-xhigh 1.
- P1 (121) : lp-builder 34 (dont haiku 3, sonnet 1), lp-cart 23 (dont sonnet 1), lp-validator 18, lp-inventory 14 (dont haiku 1), lp-writer 15 (dont opus 1, haiku 1), lp-impl 13 (dont sonnet 2), lp-gardien 1, lp-impl-max 1, opus-max 1, opus-xhigh 1.
- P2 (125) : lp-gardien 47, lp-validator 24 (dont sonnet 1), lp-builder 18, lp-cart 16, lp-writer 13, lp-inventory 3, lp-impl 3, opus-xhigh 1.
- Total (262) : lp-gardien 48, lp-builder 52, lp-validator 42, lp-cart 39, lp-writer 28, lp-inventory 17, lp-impl 16, lp-impl-max 1, opus-max 1, opus-xhigh 3, general / general-purpose 14 (opus 5, sonnet 5, fable 4), sk-probe-agent 1.
Modèles, tours assistant. Principale : `opus-5-5` 213 / 2925 / 3358 (P0 / P1 / P2), `<synthetic>` 0 / 1 / 4. Sous-agents : P0 opus 170, sonnet 102, fable-5-1 55, haiku 1 ; P1 opus 2648, sonnet 1030, haiku 867 ; P2 sonnet 1405, opus 695, haiku 342 ; total opus 3513, sonnet 2537, haiku 1210, fable 55.
Cohérence (sortie du script) : somme des sessions = somme P0+P1+P2 pour messages humains (352), messages `uds` (493), `local_` (80), handback (283), notifications (301), appels d'outils (6897), tours (6501), jetons lus de la principale (2 235 400 052), appels des sous-agents (10 993), jetons lus des sous-agents (851 385 722), erreurs (199), refus (11) : toutes « OK ».
### 2.5 Recompte (sk-recount)
| Élément | Script principal | Recompte (`eval_sessions_recount.py`, regex sur lignes brutes) | Verdict |
|---|---|---|---|
| Appels d'outils, principale P0 / P1 / P2 / total | 201 / 3271 / 3425 / 6897 | 201 / 3271 / 3425 / 6897 | confirmé |
| Appels d'outils, sous-agents | 520 / 5999 / 4474 / 10993 | 520 / 5999 / 4474 / 10993 | confirmé |
| Erreurs d'outils, principale | 6 / 128 / 65 / 199 | 6 / 128 / 65 / 199 | confirmé |
| Erreurs d'outils, sous-agents | 18 / 178 / 65 / 261 | 18 / 178 / 65 / 261 | confirmé |
| Messages humains (entrées + file) | 26 / 207 / 119 / 352 | 26 / 207 / 119 / 352 | confirmé |
| Refus `automode-blocked` | 1 / 2 / 3 / 6 | 1 / 2 / 3 / 6 | confirmé |
| Refus `permission-rule` | 0 / 5 / 0 / 5 | 0 / 5 / 0 / 5 | confirmé |
| Interrompus, annulés | 0 / 0 / 2 | 0 / 0 / 2 | confirmé |
| Borne P1/P2 | 10:45:20 | 10:45:20.899 | confirmé |
Non recomptés par une seconde méthode : temps actif, contexte, jetons, tours (même méthode que le doc 31, voir 4).
## 3. Écarts au compte attendu de la fiche
1. **Sessions hors des trois dossiers.** Le dossier `...\D--Game-LifePlay-master-4-27` contient une session `e3d15049` (« Commençons U2 ») avec 31 événements le 10-08 15:59 (UTC+2), dans la fenêtre. Non comptée : la fiche ne cite que trois dossiers. Si l'orchestrateur veut l'inclure, elle ajouterait environ 31 événements à P1 (pas d'effet sensible sur les totaux). Le dossier worktree (`...028723`) n'a aucun événement dans la fenêtre (0 session).
2. **Messages humains : le compte du doc 31 diffère.** Le compte « prompts » du doc 31 (texte ne débutant pas par `<`, hors `isMeta`) donne 334 contre 352 ici. Écart de 18 = 26 messages tapés pendant un tour (pièces jointes `queued_command`, absentes des entrées `user`) − 8 entrées que le doc 31 compte et qui ne sont pas des messages humains (6 prompts SDK d'initialisation de sessions latérales, identifiés ; 2 autres, non identifiés individuellement). Pour comparer au doc 31, utiliser la ligne « comparaison » (27 / 190 / 117) ; pour le décompte réel, 26 / 207 / 119.
3. **« Messages reçus d'autres sessions » : trois natures.** La fiche les regroupe ; le transcript en distingue trois : sessions Claude Code par tube `uds:` (493), sessions latérales injectées par l'hôte `local_` (80), comptes rendus de sous-agents `handback` (283 : ce ne sont pas d'autres sessions mais des retours d'agents). Total « autres sessions » retenu = uds + local = 573 ; handback et notifications de tâche (301) sont comptés à part.
4. **`side-sessions-event` : marqueur retenu.** Entrées `user` sans `origin` dont le texte contient la balise `<side-sessions-event` (86, dont 35 en P1 et 51 en P2) ; elles apparaissent aussi comme `queue-operation`.
5. **Refus d'autorisation.** Le motif retenu (section 1) donne 11 refus (6 `automode-blocked`, 5 `permission-rule`), 0 `user-rejected`, 0 refus par repli textuel. Sur l'ensemble des transcriptions des dossiers 5.8 et 5.5 (toutes dates) existent aussi 38 résultats `automode-unavailable` (classifieur sans réponse) : aucun dans la fenêtre. Le taux de refus par heure active est quasi constant (0,27 / 0,27 / 0,26) et faible en valeur absolue : 11 refus pour 6 897 appels de la principale.
6. **Temps actif par sous-période.** P1 couvre 45 h de durée murale (2026-10-08 13:30 → 2026-10-10 10:45, nuits comprises) pour 25,95 h actives ; seule la durée active sert aux taux horaires. La somme des temps actifs par session (60,14 h) dépasse le temps mur (36,20 h) parce que les sessions travaillent en parallèle.
7. **Compactages.** 4 en tout (6082a074 en P0 ; 87a0d630 en P1 ; 92a3927f et 37530d8d en P2) ; `compact_boundary` et résumé concordent (4/4).
8. **Fichiers voisins.** Le dossier `data\` contient aussi `aggregats.md`, `commits.csv`, `commits-stats.txt`, `subagents.csv`, et `scripts\` les fichiers `EvalT2_Commits.py`, `eval_subagents.py`, `eval_load.py`, `eval_probe*.py` : non produits par cette fiche (autres fiches EVAL en parallèle), non lus, non modifiés. Mes fichiers : `sessions.csv`, `outils.csv`, `tableaux.md`, `eval_sessions.py`, `eval_sessions_recount.py`. Risque : si une autre fiche écrit aussi `outils.csv`, le fichier serait écrasé (la date du fichier correspond à mon dernier lancement).
## 4. Établi / estimé / incertain
**Établi** (commande rejouée, recomptée par une autre formulation)
- Les comptes de la section 2.4 pour les appels d'outils (principale et sous-agents), erreurs d'outils, messages humains, refus et interruptions : `eval_sessions_recount.py` retombe sur les mêmes valeurs par période (2.5).
- Identité de la session Big Boss et heure de début de P2 : titre `Big Boss` unique parmi les fichiers principaux des trois dossiers ; premier événement 10:45:20.899 (UTC+2) = 08:45:20Z (script, sortie `Session Big Boss retenue`). Justification de la borne : c'est le premier événement du fichier, et la fiche définit P2 comme le premier événement de la session Big Boss.
- Cohérence interne : somme des sessions = somme des sous-périodes pour 12 grandeurs (sortie du script, section « Contrôles » de `data\tableaux.md`).
- Aucun identifiant `message.id` assistant n'apparaît dans deux sessions principales (0 sur 6 501) : pas de double compte entre sessions.
- Les transcriptions sont lisibles : aucun arrêt pour illisibilité.
**Estimé**
- Temps actif, contexte par tour, jetons lus, tours : même méthode que `sessions.py` / `periods_all.py` / `context.py` du doc 31 (écart ≤ 10 min ; tours dédoublonnés par `message.id`, première occurrence), mais non recomptés par une seconde méthode. Les valeurs d'`output_tokens` ne sont pas utilisées (la première occurrence d'un message en flux peut les sous-estimer).
- Les temps actifs par sous-période perdent les écarts à cheval sur une borne (au plus quelques minutes par borne).
- Les « 2 autres textes sans `origin` » de l'écart 2 : raisonnement par différence 334 − 326 = 8, dont 6 identifiés.
- Le détail des noms d'outils « autres » (275) n'est pas repris ici : voir `data\outils.csv`.
**Incertain** (essai qui trancherait)
- Si les sessions latérales (messages `local_`, prompt SDK) doivent compter comme « sessions principales » : 9 sessions n'ont aucun message humain (`d3ec373a`, `5568589b`, `650723c6`, `6c6597f8`, `7e4fa63e`, `3ca6d56f`, `af24d4e5`, `ecaeb97f`, `b7f71cec`) et sont probablement des sessions lancées par l'hôte ou par d'autres sessions ; elles sont comptées (la fiche vise les fichiers principaux des dossiers). Essai : filtrer sur la présence d'au moins un message humain.
- La session `e3d15049` (dossier 4-27) est hors périmètre faute d'instruction (écart 1).
- Titres de session : dernier `custom-title` du fichier, tronqué à 60 caractères ; un titre peut avoir changé en cours de session (ex. `LOT STD` puis `LOT STE` pour `37530d8d`).
Tours : 27 / 40
## Constats
- Fichiers écrits (chemins absolus) : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\EVAL-T1a-INV.md`, `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_sessions.py`, `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_sessions_recount.py`, `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\sessions.csv` (75 lignes : une par session et période, plus totaux ; niveaux `session_periode`, `session`, `periode`, `total`), `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\outils.csv`, `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\tableaux.md`.
- Fichiers à commiter : A pour chacun de ces six fichiers (dépôt du jeu ; `etat\` est suivi en `.md` et `.csv` seulement, le suivi des `.py` dépend du `.gitignore` : à confirmer par le gardien, `lp-paths`).
- Colonnes de `sessions.csv` : voir l'en-tête du fichier ; unités : heures décimales pour `actif_*`, jetons en unités.