156 lines
15 KiB
Markdown
156 lines
15 KiB
Markdown
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`.
|