LifePlay-Revival/Docs/Migration/etat/AG/P7/P7-T4a-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

156 lines
15 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 P7-T4a — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths
# P7-T4a-INV : relevé à rebours de 30 fiches de P1-P2 notées a-f, avec issue réelle et C3 / C4 / C5 / C9 (2026-10-12)
Table : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\P7\data\bareme.csv` (30 lignes de données, 28 colonnes, séparateur `,`, aucun champ ne contient de virgule). Aucune conclusion sur le barème (c'est T4b).
## 1. Commandes exactes
Abréviations : `E` = `D:\Game\LifePlay-master 5.8\Docs\Migration\etat` ; `S` = `D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills` (état du 2026-10-12, pas celui du jour de chaque fiche).
Choix des fiches (lectures) :
- Read `E\AG\P7\fiches\P7-T4a.md` ; Read `D:\Game\LifePlay-Sandbox\Tools\claude\skills\lp-doc\gabarits.md` ; Read `D:\Game\LifePlay-master 5.8\Docs\33_Eval_Organisation_72h.md` (lignes 20-90, périodes P1 / P2).
- Glob `**/*-TACHES.md` dans `E` (27 registres).
- Read en entier : `E\OB\OBB\OBB-TACHES.md`, `E\OB\OBA\OBA-TACHES.md`, `E\ST\STA\STA-TACHES.md`, `E\ST\STB\STB-TACHES.md`, `E\ST\STC\STC-TACHES.md`, `E\ST\STD\STD-TACHES.md`, `E\ST\STE\STE-TACHES.md`, `E\ST\STF\STF-TACHES.md`, `E\U58\U8\U8-TACHES.md`, `E\EVAL\EVAL-TACHES.md`, `E\DOC\DOCMV\DOCMV-TACHES.md` ; Read `E\AG\AG-TACHES.md` lignes 26-33.
- Grep `^\| \S+ \|.{0,400}?\b(reprise|escalad\w+|bloquée|coupée|prolongation|partielle)\b.{0,100}` dans `E`, glob `{AG,STC,STF,STE,OBP,LISIB,DOCSTAT,README,ETAT3,TPL1,CAM,ARCH427}-TACHES.md`, `-o` : 2 lignes (CAM-T5b, AG-T4b).
- Grep `^\|[^|]*\|[^|]*\|[^|]*\|[^|]*\|[^|]*\|\s*(reprise|escalad|bloqu|coup)[^|]*\|` dans `E`, glob `{U8,STA,STB,STC,STD,STE,STF,OBA,OBB,OBP,DOCMV,DOCSTAT,README,ETAT3,LISIB,EVAL,AG}-TACHES.md`, `count` : 0 (17 registres, aucun statut formel commençant par reprise / escalad / bloqu / coup).
- Grep `^\| [A-Za-z0-9]+-[A-Za-z0-9-]*[0-9][bcd] \|` dans `E`, glob `*-TACHES.md`, `-o` : 32 premières cellules à suffixe b / c / d (liste lue, voir § 3 point 7).
Mesures de budget (lecture seule, sortie dans le dossier temporaire de la session) :
- `cd "D:/Game/LifePlay-master 5.8" && for L in OBB OBA STA STB STC STD STE STF EVAL; do python -I Tools/FicheStats.py --lot $L | head -60; done` puis `python -I Tools/FicheStats.py --lot AG | head -40` et `... --lot U8 | head -40` ; sortie : `%USERPROFILE%\AppData\Local\Temp\claude\D--Game-LifePlay-master-5-8\4f688665-a1a8-4aaa-acb2-f53a1627a9db\scratchpad\fs.txt` (9 lots) et sortie console (AG, U8).
C3 (couverture par skill) : Grep, `path` = `S`, `glob` = `{lp-*,sk-*,debug-verification,ue-cpp-build}/**/*.md` (écarte le dossier `synced\`), `output_mode` = `count`, sauf C3-16 (`content`, `-n`) :
- C3-01 `CheckPackage|contrôles? de paquet`
- C3-02 `BuildCookRun|nodebuginfo|skipcook|createreleaseversion|FULL COOK`
- C3-03 `CHG-|Journal_Modifications|entrée CHG`
- C3-04 `git-dir|core\.worktree|ModulesGit`
- C3-05 `Accessed None`
- C3-06 `LogStats`
- C3-07 `preuve par l'échec`
- C3-08 `CompileAllBlueprints`
- C3-09 `LPDumpFunction`
- C3-10 `\bPIE\b`
- C3-11 `BOSS-JOURNAL|BUILD-GO|BUILD-DEMANDE`
- C3-12 `FicheStats|transcri|\.jsonl`
- C3-13 `get_node_infos|Bindings|find_nodes`
- C3-14 `UnrealPak|\.pak\b|liste du pak`
- C3-15 `fins de ligne|CRLF`
- C3-16 `^## (EVAL|DIAG|CART|SPEC|VAL|DOC|INV)` (`content`)
- C3-17 `widget|WidgetStyle|Slate`
- C3-18 `synthèse|consolid`
- C3-19 `Build\.ps1` (lancé, non retenu dans le CSV : aucun geste du CSV n'est un build seul)
C4 (précédent) : Grep, `path` = `E`, `glob` = `*-TACHES.md`, `output_mode` = `count`, motif ancré sur les lignes de tableau `^\|.*` :
- C4-01 `lp-impl` ; C4-02 `(cuisson|empaquetage|UAT)` ; C4-03 `(MOVE|core\.worktree|git-dir)` ; C4-04 `DIAG` ; C4-05 `LogStats` ; C4-06 `(PIE|parcours)` ; C4-07 `(dumps?\b|LPDumpFunction)` ; C4-08 `lp-validator` ; C4-09 `lp-writer` ; C4-10 `(transcription|FicheStats)` ; C4-11 `(SpinBox|MCP \(lecture|lecture MCP)` ; C4-12 `(MCP\)|orchestrateur \(MCP)` ; C4-13 `lp-inventory` ; C4-14 `(BOSS-JOURNAL|file de la copie|BUILD-GO)`.
C5 et C9 : lecture de la ligne du registre citée dans la colonne `ref_registre` (chemin relatif à `E`, ligne), motif court dans `motif_C5` et `motif_C9`.
Barèmes appliqués (écrits ici pour que T4b puisse les contester) :
- C3 : 0 = gabarit ou format exact du geste dans `S` ; 1 = commande ou procédure écrite dans un skill `lp-*` ; 2 = mention ou principe seul (`sk-*`, ou terme présent sans procédure) ; 3 = aucun résultat. Jugement porté sur le geste de l'objectif de la fiche, pas sur le rôle du livrable.
- C4 : nombre de lignes de registre antérieures au début de la fiche (ordre des lots lu dans les registres et dans `fs.txt`) qui font le même geste : 0 = 3 ou plus ; 1 = 1-2 ; 2 = mention indirecte (autre objet, même agent ou même gabarit) ; 3 = aucune.
- C5 et C9 : barème de la fiche P7-T4a rubrique 4.
Contrôle de la sortie (seconde méthode, lecture seule) : `cd "D:/Game/LifePlay-master 5.8/Docs/Migration/etat/AG/P7" && python -I -` avec un script lisant `data/bareme.csv` par le module `csv` (colonnes par ligne, somme a..f contre total, valeurs C3 / C4 / C5 / C9, comptes par statut) et comptant les octets `CR` des deux livrables.
## 2. Comptes bruts
Registres lus : 11 en entier + 1 extrait (AG) ; présents sur disque : 27 (`Glob **/*-TACHES.md`). Aucun registre pour U0 à U7, ETAT2, OUT1 (absents de la liste du Glob ; seuls `U58\U8\U8-TACHES.md` et `U58\U8P\U8P-TACHES.md` existent côté U).
CSV (contrôle `python -I`) : 31 lignes (1 en-tête + 30), 28 colonnes sur chacune, 0 octet CR, pas de BOM, 30 fiches distinctes. Répartition de `statut_final` (comptée à la main avant écriture, confirmée par le contrôle) :
| statut_final | lignes |
|---|---:|
| reprise | 7 (OBB-T3, OBB-T7, AG-T2, AG-T4, OBB-R7, U8-T4, U8-T5c) |
| escaladée | 1 (STD-TXT) |
| partielle | 4 (OBB-T7d, STA-T2b-BEAUTE, STA-T2b-GIUBER, STA-T2b-VILLE) |
| acceptée-réserve | 3 (STB-JEU, STF-T4, EVAL-T4) |
| acceptée-corrigée | 1 (OBB-T1b) |
| à-corriger | 1 (STC-T0) |
| faite-partielle | 1 (STE-D) |
| retirée | 1 (STB-MEN) |
| suspendue | 1 (OBB-T1) |
| acceptée | 10 |
| total | 30 |
Statut autre que `acceptée` : 20 lignes (critère de la fiche : au moins 8). Reprises et escalades (colonne `reprise_escalade` = oui) : 8 lignes, dont 5 avec note a-f complète (OBB-T3, OBB-T7, STD-TXT, AG-T2, AG-T4) et 3 sans (OBB-R7 : pas de note au registre ; U8-T4 et U8-T5c : total seul). Hors budget (colonne `hors_budget` commençant par oui) : 10 lignes (OBB-T3, STF-T4, EVAL-T4, STA-T2c, OBA-T5, STB-VAL, OBB-EVAL, EVAL-T1a, U8-T4, U8-T5c) ; sans mesure par fiche : 7 lignes (STD-TXT, STD-GIX, OBB-T1, STB-MEN, STB-JEU, STC-T0, STE-D) ; OBB-T7 est une fiche composée (5 sous-fiches mesurées, toutes dans le budget).
Notes : 27 lignes ont les six notes a-f et la somme égale le total (0 écart) ; 3 lignes ont les notes vides (OBB-R7, U8-T4, U8-T5c).
Valeurs relevées (nombre de lignes par valeur 0 / 1 / 2 / 3) : C3 = 1 / 22 / 6 / 1 ; C4 = 10 / 8 / 10 / 2 ; C5 = 2 / 18 / 10 / 0 ; C9 = 7 / 7 / 12 / 4. Aucune valeur hors 0-3.
Comptes FicheStats lus (`fs.txt`, console pour AG et U8), fiches / hors budget : OBB 27 / 2 ; OBA 7 / 2 ; STA 10 / 1 ; STB 2 / 1 ; STC 4 / 0 ; STD 1 / 0 ; STE 13 / 2 ; STF 10 / 1 ; EVAL 10 / 6 ; AG 10 / 0 ; U8 24 / 4.
Comptes C3 (fichiers, occurrences) :
- C3-01 : 3 fichiers, 5 (`lp-build\SKILL.md` 1, `lp-build\shipping.md` 3, `sk-windows-shell\SKILL.md` 1)
- C3-02 : 3 fichiers, 7 (`lp-build\SKILL.md` 4, `sk-orchestrate\SKILL.md` 1, `lp-build\shipping.md` 2)
- C3-03 : 8 fichiers, 21 (dont `lp-doc\SKILL.md` 9, `lp-doc\gabarits.md` 1)
- C3-04 : 3 fichiers, 6 (`lp-paths` 4, `lp-repo` 1, `sk-repo` 1)
- C3-05 : 1 fichier, 2 (`lp-mcp\SKILL.md`)
- C3-06 : 6 fichiers, 8
- C3-07 : 3 fichiers, 3 (`sk-orchestrate`, `sk-protocol`, `lp-validate`)
- C3-08 : 3 fichiers, 3 (`lp-doc`, `lp-commandlets`, `lp-mcp`)
- C3-09 : 2 fichiers, 2 (`lp-commandlets`, `lp-mcp`)
- C3-10 : 2 fichiers, 2 (`lp-mcp`, `lp-validate`)
- C3-11 : 2 fichiers, 11 (`lp-lot\SKILL.md` 3, `lp-lot\boss.md` 8)
- C3-12 : 4 fichiers, 7 (`lp-lot\boss.md` 2, `lp-doc\gabarits.md` 3, `sk-orchestrate` 1, `sk-protocol` 1)
- C3-13 : 1 fichier, 7 (`lp-mcp\SKILL.md`)
- C3-14 : **0 résultat** (aucun skill ne parle de la liste d'un pak)
- C3-15 : 7 fichiers, 14
- C3-16 : 7 lignes, toutes dans `lp-doc\gabarits.md` (l. 23, 27, 32, 36, 50, 55, 67)
- C3-17 : 4 fichiers, 4 (`lp-env`, `lp-build`, `lp-mcp`, `lp-ue-compat\ruptures.md`, une occurrence chacun)
- C3-18 : 1 fichier, 3 (`sk-orchestrate\SKILL.md`)
- C3-19 : 7 fichiers, 21 (non utilisé dans le CSV)
Comptes C4 (lignes de tableau : fichiers) :
- C4-01 : 8 lignes / 4 fichiers (OBB 3, STE 1, OUTC 3, STC 1)
- C4-02 : 16 / 5 (OBA 1, OBB 2, U8 8, SK-T1 4, STE 1)
- C4-03 : 9 / 4 (OBP 1, ARCH427 1, OBB 6, U8 1)
- C4-04 : 18 / 3 (STE 8, STD 4, STA 6)
- C4-05 : 7 / 4 (SK-T1 2, U8 3, STB 1, STE 1)
- C4-06 : 19 / 7 (LISIB 2, STB 1, SK-T1 4, STC 4, U8 3, STF 4, STE 1)
- C4-07 : 26 / 8 (CAM 2, EVAL 1, STC 1, SK-T1 3, STB 3, STA 7, STD 2, STE 7)
- C4-08 : 40 / 21
- C4-09 : 31 / 13
- C4-10 : 11 / 7 (OBP 1, OBB 1, ETAT3 1, TPL1 1, U8P 4, EVAL 2, U8 1)
- C4-11 : 14 / 7 (STD 2, STA 1, STC 2, STB 1, LISIB 2, STE 2, STF 4)
- C4-12 : 31 / 7 (STF 7, LISIB 1, STB 9, STC 5, STD 2, STE 6, P7 1)
- C4-13 : 21 / 10
- C4-14 : 17 / 10
## 3. Écarts au compte attendu de la fiche
1. **Critère d'arrêt (< 8 reprises ou escalades)** : 8 cas trouvés, soit exactement le seuil, sans marge. Aucun registre de P1-P2 ne porte de statut formel `reprise (...)` ou `escaladée (...)` (Grep de § 1, 0 résultat) : les 8 cas se lisent dans le texte des cellules Statut. Un lecteur qui compterait seulement les statuts formels en trouverait 0 ; un lecteur qui exigerait la note a-f complète en trouverait 5. La fiche a été poursuivie sur la lecture à 8 ; l'orchestrateur tranche si cette lecture est la bonne.
2. **Échantillon** : ce n'est pas « les 30 plus récentes » mais : les 8 reprises / escalades, 12 autres fiches au statut différent de `acceptée` (partielle, retirée, suspendue, réserve, corrigée, à corriger, faite 13/14), puis 10 acceptées tirées des lots OBB, OBA, STA, STB, STD, EVAL. Il est biaisé vers les lots ST et OB ; les fiches STE-H* (statut « faite » ou « DIAG fait », sans note de statut plus fine) et le lot DOCMV (8 fiches « faite », aucune anomalie de statut) n'y figurent pas.
3. **Lots hors liste de la fiche** : AG (AG-T2, AG-T4), STC, STD, STE ajoutés parce que `33_Eval_Organisation_72h.md` § 1 place ST, OB, DOC et U8 dans P2 et que des reprises s'y trouvent ; AG-T2 (10-10 11:23) tombe dans P2 (début 10:45). Lots de la liste sans registre : U0 à U7, ETAT2, OUT1.
4. **Notes a-f manquantes** : OBB-R7 (note « — », ticket gardien), U8-T4 et U8-T5c (registre U8 : `2 → N0`, `4 → N1`, total seul, avant TPL1). Cellules laissées vides, motif dans `note_vide`. Aucune note inventée.
5. **C3 biaisé par la date** : `S` est l'état du 2026-10-12. `lp-mcp` date de la porte G-STM (2026-10-10, après STA et STB), `lp-lot\boss.md` d'ORGA1 (CHG-328, 2026-10-11, après EVAL-T4), `gabarits.md` de TPL1 (2026-10-09) ; les mentions de `CheckPackage` sont d'après OBB-T3 (le script est créé par cette fiche). Les dates des fichiers n'ont pas été relues dans git : estimé. Les valeurs C3 de OBB-T3, OBB-T1, OBB-T1b, OBB-R7, STA-T2b ×3, STD-GIX, STB-MEN, STC-T0, EVAL-T4 sont donc au mieux optimistes ; la ligne à 3 (OBB-T6) ne l'est pas.
6. **Hors budget : registre et FicheStats divergent** pour STA-T2b-BEAUTE, -GIUBER, -VILLE (le registre écrit « hors budget » à 178 / 158 / 235 k, FicheStats les classe N3 donc budget 250 k : dans le budget ; STA-TACHES.md:42 le dit). La colonne `hors_budget` suit FicheStats et rappelle le registre. AG-T2 (17 tours, 132 k), AG-T4 (23 tours, 116 k) dans le budget ; U8-T4 (42 tours, 87 k) et U8-T5c (44 tours, 148 k) hors budget de tours : cohérent avec les registres.
7. **Piège de comptage** : `EVAL\data\fiches-registres.csv` (colonne `lignes_tentative_bcd`) compte les premières cellules à suffixe b / c / d ; or le suffixe `d` désigne aussi une fiche DOC (OBB-T1bd, OBB-T3d, OBB-T1d, OBB-T7d) et `b` une autre fiche (U8-T5b, AG-T1b, STF-T3b), pas une reprise. La valeur 4 pour OBB correspond à quatre fiches DOC (T1b, T1d, T7d, T3d), pas à quatre reprises. Le même fichier donne `st_reprise` = 0 et `st_escaladée` = 0 pour tous les lots, ce qui concorde avec le Grep de § 1.
8. **OBB-T7** : fiche composée (T7a, T7b, T7c, T7v, T7s) ; la ligne du CSV est celle du registre (une cellule), tours et pic laissés vides.
9. **Commande FicheStats** : lancée avec `head -60` (`head -40` pour AG et U8) ; aucun lot n'a atteint la limite (le plus long : OBB, 27 fiches, 29 lignes de tableau). Elle lit les transcriptions de `~/.claude/projects/` et n'écrit rien dans le dépôt.
## 4. Établi / estimé / incertain
Établi (relu à la source ou recompté par une seconde méthode) :
- Les 30 lignes du CSV, chacune avec la ligne de registre citée (`ref_registre`) et le texte du statut recopié.
- Les notes a-f et totaux recopiés des registres ; somme a..f = total sur les 27 lignes complètes (script `csv`, 0 écart).
- Les comptes C3 et C4 de § 2 (sorties brutes de Grep) ; les comptes FicheStats de § 2 ; l'absence de statut formel de reprise (0 sur 17 registres).
- Les comptes du CSV : 30 fiches distinctes, 20 statuts autres que `acceptée`, 8 reprises / escalades, 10 hors budget, valeurs C3-C9 toutes dans 0-3, 0 octet CR, 0 nom d'utilisateur Windows dans les deux livrables.
- U0 à U7, ETAT2, OUT1 n'ont pas de registre dans `E`.
Estimé (raisonnement) :
- Toutes les valeurs C3, C4, C5, C9 : jugement appliqué aux barèmes de § 1 ; C4 suppose l'ordre des lots tiré des heures de `fs.txt` (OBB-T6 08:01, STC 09:11, OBB-T3 11:13, AG-T2 11:23, STE 12:33, EVAL-T4 le 10-11 à 05:33). Une valeur C5 à 2 est une inspection écrite au registre, pas une mesure.
- Le caractère « reprise » de U8-T4 (« livrable rendu sur relance ») et U8-T5c (« rejetée par l'orchestrateur ») : lecture du texte, pas un statut.
Incertain (essai qui trancherait) :
- C3 « au moment de la fiche » : `git -C "D:\Game\LifePlay-Sandbox-5.8" log --follow -- Tools/claude/skills/<skill>` aux dates de fiche donnerait l'état exact (lecture seule, non fait faute de tours).
- Les registres des lots U0 à U7 n'existent pas : le total de reprises de P1-P2 est un minimum.
- STE-H* et DOCMV hors échantillon : un tirage différent changerait la répartition des valeurs.
Tours : 24 / 40
## Constats
- Pour T4b, sans conclusion : sur les 8 reprises / escalades, la cause écrite au registre est la consigne (OBB-T3, OBB-R7, AG-T4, OBB-T7), le budget de tours (U8-T4), un parcours utilisateur rejeté (U8-T5c), un niveau jugé insuffisant (STD-TXT) ou un défaut de livrable (AG-T2). C'est la lecture du doc 33 § 4 (« les reprises viennent des consignes ») ; elle n'est ni confirmée ni infirmée ici.
- Les lignes `R` du gardien dans `OBB-TACHES.md` (R1, R3 à R9) portent `—` en note ; la colonne `niveau` d'OBB-R7 (`N1?` dans FicheStats, déduit de l'agent) n'est pas au registre et reste vide dans le CSV.
- Fichiers à commiter : `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\P7\P7-T4a-INV.md` (A) et `D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\P7\data\bareme.csv` (A), jeu, branche `ue5.8` ; `.gitignore` laisse passer les `.md` et `.csv` de `etat/`.
- À verser : `lp-doc/gabarits.md § TACHES — la reprise n'a pas de statut formel dans les registres P1-P2 (0 sur 17 registres) : elle se lit dans le texte, et les suffixes b / c / d servent aussi aux fiches DOC et VAL (OBB-T1bd, OBB-T3d), donc ne pas les compter comme tentatives`.