21 KiB
Fiche EVAL-T5 — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths
EVAL-T5-INV : indicateurs des fiches et des registres, 2026-10-08 05:30 → 2026-10-11 05:30 (2026-10-11)
Fenêtre : date de modification (mtime) comprise dans [2026-10-08 05:30, 2026-10-11 05:30[ (UTC+2, décalage local lu : +2:00). Sous-périodes sur le mtime :
P0 < 2026-10-08 13:30 ; P1 < 2026-10-10 10:45 ; P2 ensuite. Racine D:\Game\LifePlay-master 5.8\Docs\Migration\etat\, dossier EVAL\ exclu. Lecture seule hors
EVAL\data\, EVAL\scripts\ et ce livrable. Aucune commande git qui écrit.
Sortie complète du script (tableaux par lot, par registre) : ...\EVAL\data\fiches-stats.txt (état de 05:49). Tables : fiches.csv (414 lignes + en-tête, UTF-8, LF, 0 CR),
fiches-registres.csv (21 lignes + en-tête, 0 CR), fiches-lots.csv (37 lignes + en-tête). Script : ...\EVAL\scripts\eval_fiches.py.
1. Commandes exactes
Commande rejouable (écrit les 4 fichiers de EVAL\data\ ; la même sortie va aussi sur la sortie standard) :
python -I -X utf8 "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\eval_fiches.py"
Méthode d'en-tête identique à D:\Game\LifePlay-master 5.8\Saved\STAT1\fiches.py : 1 500 premiers caractères du texte (lecture UTF-8, errors="replace", fins de ligne universelles, donc CRLF/LF sans effet) ;
motifs [Mm]od[eè]le (pr[ée]vu|utilis), \b[Aa]gent\b, \b[Ss]kills?\b (colonnes entete_modele_fp, agent, skills) ; mêmes compteurs escalad / contredit|contre-v[ée]rif|recompt / \bFAIL\b sur le texte entier ;
même regex de nom fixre (colonne fixlike). Écarts à fiches.py, déclarés : (a) lots pris par mtime et non par liste fixe ; (b) racine = copie 5.8 (fiches.py lit la copie 5.5) ;
(c) colonnes en plus : modele_prevu ([Mm]od[eè]le pr[ée]vu), modele_utilise (\|\s*utilis[ée]\b ou [Mm]od[eè]le utilis), niveau ([Nn]iveau\s*:?\s*\**N[0-5]), entete_complet (prévu ET utilisé ET agent ET skills ET niveau),
ligne_tours (^…Tours\s*: en début de ligne, n'importe où), tours_valeur (dernière occurrence Tours : n / b), etat_reprise (titre ou ligne commençant par « État de reprise »), fichiers_a_commiter
(Fichiers…à commiter), tentative_nom (jeton T|R|H + chiffres + b|c|d dans le nom, hors 1er jeton) ; (d) les *-TACHES.md sans tableau de registre sont comptés en rôle autre.
Rôle déduit du nom (heuristique) : dernier jeton du nom (séparateurs - _ .) qui vaut INV|CART|DIAG|SPEC|IMPL|BUILD|VAL|DOC|INT|EVAL (suffixe chiffre et lettre admis : VAL1, T5cr2-VAL → VAL) ; nom en -TACHES.md → TACHES ; sinon autre.
Lot = dossier : deux niveaux sous ST, OB, U58, DOC, sandbox, VQ (ex. ST/STE), un niveau ailleurs (AG, CAM, REPO…), (racine) pour les fichiers directement sous etat\.
« Livrables de rôle » (dénominateur B) = les 10 rôles INV…EVAL (233 fichiers) ; dénominateur A = tous les .md modifiés dans la fenêtre (414).
Registres : tout *-TACHES.md dont une ligne d'en-tête de tableau commence par Fiche|Id|Tâche et contient Statut ; une « ligne de fiche » = ligne de ce tableau à 1re cellule non vide (plusieurs tableaux par fichier admis).
Statut = premier mot-clé trouvé dans la cellule (8 statuts du gabarit, plus deux classes hors gabarit : faite* = fait/faite/écrite/retiré, en cours* = en cours/en attente/à écrire).
Recomptes par une autre formulation (lancés par moi) :
pwsh -NoProfile -Command "Get-ChildItem -Recurse -File … | Where-Object { LastWriteTime -ge 2026-10-08 05:30 -and -lt 2026-10-11 05:30 }" (comptes de fichiers, octets, P0/P1/P2, .md, .txt/.log/.csv)
pwsh … ReadAllText + Substring(0,1500) + -cmatch (hdrModele, agent, skills sur les .md de la fenêtre) ; -match "(?m)^[\s>*_`-]*Tours\s*:"
python -I -X utf8 -c "import csv … " (relecture de fiches.csv : lignes, octets, noms uniques, rôles, comptes d'en-tête)
Grep ^\s*\| sur **/*-TACHES.md (output_mode count) ; Grep ^[\s>*_`-]*Tours\s*: sur **/*.md (count) ; Grep ^\s*\|.*acceptée sur **/*-TACHES.md (count)
wc -l …\fiches.csv …\fiches-registres.csv …\fiches-lots.csv ; tr -cd '\r' < …\fiches.csv | wc -c ; git check-ignore -v <fichiers> ; git status --short -- Docs/Migration/etat/EVAL
2. Comptes bruts
2.1 Fichiers de etat\ (hors EVAL) — sortie fiches-stats.txt § A, recomptée par Get-ChildItem : identique
| Mesure | Valeur | Recompte pwsh |
|---|---|---|
Fichiers sous etat\ (tous types) |
1428 | 1428 |
| Fichiers modifiés dans la fenêtre | 1002 | 1002 |
.md au total / dans la fenêtre |
511 / 414 | — / 414 |
Octets des .md de la fenêtre |
4 574 463 | 4 574 463 |
.md par sous-période (nombre ; octets) |
P0 15 ; 304 311 — P1 153 ; 2 083 611 — P2 246 ; 2 186 541 | 15 / 153 / 246 |
| Fichiers postérieurs à la borne de fin (non comptés) | 24, dont 16 .md |
24 |
Journaux bruts .txt + .log + .csv dans la fenêtre |
530 fichiers ; 105 208 273 octets | 530 ; 105 208 273 |
dont .txt / .log / .csv |
478 ; 75 953 583 — 36 ; 28 719 264 — 16 ; 535 426 | identique |
| par sous-période | P0 0 ; 0 — P1 268 ; 57 486 097 — P2 262 ; 47 722 176 | — |
- Journaux bruts par lot (nombre, octets) : ST/STE 142 (43 746 917) ; REPO 83 (5 419) ; ST/STA 77 (11 710 155) ; ST/STB 41 (13 633 108) ; U58/U7 36 (15 360 618) ; CAM 21 (3 264 947) ; U58/U7b 20 (1 487 130) ; U58/U4 15 (682 698) ; U58/U5 15 (1 064 715) ; U58/U6 11 (12 415 248) ; U58/U8 10 (153 256) ; DOC/ETAT3 7 ; OUT1 7 ; U58/U3 6 ; anim 5 ; ST/STC 5 ; ST/STF 4 ; AG 3 ; ST/LISIB 3 ; ST/STM 3 ; U58/U0 3 ; U58/U1 3 ; (racine) 2 ; ETAT2 2 ; OB/OBA 2 ; U58/U2 2 ; DOC/DOCMV 1 ; OB/OBB 1.
Les 16
.csvsont comptés dans les « journaux bruts » comme la fiche le demande ; je n'ai pas relu leur contenu (certains peuvent être des tables et non des journaux d'exécution). - Autres extensions modifiées dans la fenêtre (non comptées ci-dessus) :
.png12,.json12,.jpg11,.ini6,.runtime-xml4,.dmp4,.py3,.ps12, sans extension 1,.depart1,.essai21,.lpcharacter1. .mdpostérieurs à la borne (16) :ARCH427/ARCH427-T2-REFS,ARCH427/ARCH427-TACHES,ARCH427/fiches/ARCH427-T1,…-T2,BOSS/BOSS-JOURNAL,REPO/NUMEROS,REPO/REPO-JOURNAL,REPO/tickets/U8-R6,U8P-R1,U8P-R2,ST/STE/STE-H10-SPEC,ST/STE/STE-TACHES,U58/U8/U8-INT,U58/U8P/U8P-T1-IMPL,U8P-T1-VAL,U58/U8P/U8P-TACHES.
2.2 Livrables .md par rôle (414)
INV 16 ; CART 21 ; DIAG 18 ; SPEC 16 ; IMPL 33 ; BUILD 42 ; VAL 46 ; DOC 22 ; INT 13 ; EVAL 6 ; TACHES 17 ; autre 164 (dont 63 fichiers de REPO\, tickets de dépôt pour l'essentiel, et 101 hors REPO).
Fins de ligne : CRLF 24 fichiers, LF seul 390 (lecture en octets).
2.3 Indicateurs par sous-période (doc 31 § 3) — fiches-stats.txt § C
A = tous les .md ; B = les 233 livrables de rôle (3 en P0, 111 en P1, 119 en P2).
| .md (A) | modèle (fiches.py) A | agent A | skills A | en-tête complet B | niveau B | ligne Tours B | État de reprise B | Fichiers à commiter B | escalad. (mentions) | |
|---|---|---|---|---|---|---|---|---|---|---|
| P0 | 15 | 12/15 = 80,0 % | 2/15 = 13,3 % | 5/15 = 33,3 % | 0/3 = 0,0 % | 0/3 | 0/3 = 0,0 % | 0/3 | 0/3 | 18 |
| P1 | 153 | 137/153 = 89,5 % | 140/153 = 91,5 % | 136/153 = 88,9 % | 106/111 = 95,5 % | 110/111 = 99,1 % | 7/111 = 6,3 % | 1/111 = 0,9 % | 7/111 = 6,3 % | 14 |
| P2 | 246 | 155/246 = 63,0 % | 163/246 = 66,3 % | 164/246 = 66,7 % | 107/119 = 89,9 % | 115/119 = 96,6 % | 84/119 = 70,6 % | 0/119 | 87/119 = 73,1 % | 7 |
| Total | 414 | 304/414 = 73,4 % | 305/414 = 73,7 % | 305/414 = 73,7 % | 213/233 = 91,4 % | 225/233 = 96,6 % | 91/233 = 39,1 % | 1/233 = 0,4 % | 94/233 = 40,3 % | 39 |
Recompte indépendant (pwsh, mêmes motifs, 1 500 car.) sur les 414 .md : modèle 304, agent 305, skills 305 ; lignes Tours : en début de ligne 92 (CSV : 92 = 91 de rôle + 1 hors rôle) ; Grep Tours : sur tous les .md de etat\ : 100 fichiers,
dont 4 sous EVAL\ (exclus) et 4 postérieurs à la borne (exclus) → 92. Identique.
- Lignes
Tours : n / blisibles : 87 ; budgets b : 40 ×59, 60 ×20, 20 ×4, 30 ×3, 25 ×1. LignesTourssans valeurn / blisible : 5. n > b : 1 (ST/STF/STF-VAL.md, 36 / 25). - Fiches reprises : 1 livrable de rôle avec section « État de reprise » (P1). Noms de livrables à suffixe de tentative
T|R|H n b|c|d: 39 (P1 13, P2 26) ; regexfixredefiches.py: 102 (P1 13, P2 89), dont 62 dans le lotREPO(noms…-Rn) ; hors REPO : 40 (P2 27). - Escalades : mentions du radical
escaladdans les livrables, 39 (P0 18, P1 14, P2 7). Statutescaladéedans les registres : 0 ; motescaladéedans les registres : 0. - Lots avec VAL : 24 lots ayant ≥ 1 livrable VAL dans la fenêtre (P0 1, P1 14, P2 10) sur 37 lots touchés ; lots avec EVAL : 6 (
DOC/DOCMV,OB/OBA,OB/OBB,ST/STB,U58/U8,sandbox/DC4).
2.4 Par lot (livrables modifiés dans la fenêtre) — fiches-lots.csv, fiches-stats.txt § D
rôle = livrables de rôle ; complet = en-tête complet ; Tours = ligne Tours (sur les livrables de rôle) ; reg. = lignes de fiche du registre du lot s'il est modifié dans la fenêtre ; b/c/d = lignes de tentative du registre ; VAL / EVAL = livrable de ce rôle dans la fenêtre.
| Lot | livr. | rôle | complet | Tours | reg. | b/c/d | VAL | EVAL | P0/P1/P2 |
|---|---|---|---|---|---|---|---|---|---|
| (racine) | 4 | 0 | — | — | — | — | non | non | 0/4/0 |
| AG | 23 | 6 | 6/6 | 6/6 | 12 | 3 | oui | non | 0/10/13 |
| CAM | 9 | 6 | 6/6 | 6/6 | 9 | 1 | non | non | 0/0/9 |
| DOC/DOCMV | 7 | 6 | 6/6 | 1/6 | 8 | 0 | oui | oui | 0/0/7 |
| DOC/DOCSTAT | 4 | 3 | 1/3 | 1/3 | 8 | 0 | oui | non | 0/0/4 |
| DOC/ETAT3 | 4 | 3 | 3/3 | 2/3 | 8 | 0 | non | non | 0/3/1 |
| DOC/README | 5 | 4 | 1/4 | 1/4 | 8 | 0 | oui | non | 0/0/5 |
| DOC/REPO-MV | 1 | 1 | 1/1 | 0/1 | — | — | non | non | 0/0/1 |
| EDIT1 | 1 | 1 | 1/1 | 0/1 | — | — | non | non | 0/1/0 |
| ETAT2 | 8 | 7 | 7/7 | 0/7 | — | — | oui | non | 0/8/0 |
| OB/OBA | 8 | 7 | 7/7 | 0/7 | 7 | 0 | non | oui | 0/8/0 |
| OB/OBB | 27 | 25 | 25/25 | 21/25 | 22 | 4 | oui | oui | 0/1/26 |
| OB/OBP | 8 | 7 | 7/7 | 6/7 | 10 | 2 | oui | non | 0/0/8 |
| OUT1 | 2 | 1 | 0/1 | 0/1 | — | — | non | non | 0/2/0 |
| REPO | 63 | 0 | — | — | — | — | non | non | 0/0/63 |
| SK | 6 | 0 | — | — | — | — | non | non | 5/1/0 |
| ST/LISIB | 11 | 7 | 7/7 | 3/7 | 12 | 0 | oui | non | 0/0/11 |
| ST/STA | 11 | 10 | 10/10 | 0/10 | 11 | 1 | non | non | 0/11/0 |
| ST/STB | 11 | 10 | 10/10 | 1/10 | 13 | 0 | oui | oui | 0/11/0 |
| ST/STC | 10 | 8 | 8/8 | 4/8 | 10 | 2 | oui | non | 0/8/2 |
| ST/STD | 4 | 3 | 3/3 | 0/3 | 9 | 0 | non | non | 0/3/1 |
| ST/STE | 47 | 22 | 20/22 | 18/22 | — (registre à 05:30:05, 5 s après la borne) | — | oui | non | 0/0/47 |
| ST/STF | 16 | 11 | 11/11 | 4/11 | 13 | 2 | oui | non | 0/1/15 |
| TPL1 | 2 | 1 | 1/1 | 0/1 | 6 | 0 | oui | non | 0/2/0 |
| U58/U0 | 4 | 1 | 1/1 | 0/1 | — | — | oui | non | 0/4/0 |
| U58/U1 | 7 | 4 | 4/4 | 0/4 | — | — | oui | non | 0/6/1 |
| U58/U2 | 6 | 5 | 4/5 | 0/5 | — | — | oui | non | 0/6/0 |
| U58/U3 | 6 | 2 | 1/2 | 0/2 | — | — | oui | non | 0/6/0 |
| U58/U4 | 8 | 7 | 7/7 | 0/7 | — | — | oui | non | 0/8/0 |
| U58/U5 | 7 | 4 | 4/4 | 0/4 | — | — | oui | non | 0/7/0 |
| U58/U6 | 5 | 4 | 3/4 | 0/4 | — | — | oui | non | 0/5/0 |
| U58/U7 | 19 | 15 | 15/15 | 0/15 | — | — | oui | non | 0/19/0 |
| U58/U7b | 8 | 8 | 8/8 | 0/8 | — | — | oui | non | 0/8/0 |
| U58/U8 | 41 | 31 | 25/31 | 17/31 | 34 | 5 | oui | oui | 0/10/31 |
| U58/UA | 8 | 0 | — | — | — | — | non | non | 7/0/1 |
| VQ/VQ5 | 1 | 1 | 0/1 | 0/1 | — | — | oui | non | 1/0/0 |
| sandbox/DC4 | 2 | 2 | 0/2 | 0/2 | — | — | non | oui | 2/0/0 |
Lots portant un registre *-TACHES.md mais absents du tableau (registre et livrables postérieurs à la borne) : ARCH427 (registre à 05:36:49), U58/U8P (05:45:41).
Contrôle d'acceptation : lignes du CSV 414 = somme des livrables par lot (37 lots) 414 = somme P0 + P1 + P2 (15 + 153 + 246) 414 = somme par rôle 414 = .md de la fenêtre comptés par pwsh 414 (assertion aussi dans le script).
2.5 Registres *-TACHES.md — fiches-registres.csv, fiches-stats.txt § E
- 21 fichiers
*-TACHES.mdhorsEVAL\; 20 portent un tableau de registre ; 17 modifiés dans la fenêtre ; 3 modifiés après la borne (ARCH42705:36:49,ST/STE05:30:05,U58/U8P05:45:41). Le 21e,SK/SK-T1-TACHES.md, est un livrable (taxonomie des types de tâches, 242 lignes lues, aucune ligne de registre) : compté en rôleautre, hors registres. - Recompte des lignes : Grep
^\s*\|sur les 20 registres = 284 lignes de tableau = 234 lignes de fiche + 50 (25 tableaux × en-tête + séparateur). Identique au script (234).
Registres modifiés dans la fenêtre (17), lignes de fiche = 200 :
| Mesure | Valeur |
|---|---|
| Statuts du gabarit | à faire 15 ; envoyée 4 ; reçue 3 ; acceptée 96 ; reprise 0 ; escaladée 0 ; coupée 0 ; bloquée 0 |
| Statuts hors gabarit | faite* 64 ; en cours* 2 ; autre 16 (textes cités dans fiches-stats.txt, dernière ligne) |
| Niveaux (note → Nx) | N0 23 ; N1 72 ; N2 33 ; N3 22 ; N4 3 ; N5 0 ; sans niveau 47 (lignes sans note exploitable : « — », « à noter », sessions, lignes de suivi) |
| Agents cités (une occurrence par ligne et par agent) | orchestrateur 72 ; lp-validator 26 ; lp-builder 26 ; lp-gardien 24 ; lp-writer 18 ; lp-cart 17 ; autre 12 ; lp-inventory 10 ; lp-impl 4 |
| Lignes de tentative b/c/d (id `…Tnb | c |
| Mots (texte entier des registres) | escaladée 0 ; bloquée 0 ; hors budget 20 (STA 7, OBA 6, U8 5, OBB 1, STB 1) ; reprise 12 |
| Colonnes remplies (sur 200 lignes) | Tours 81 = 40,5 % ; Pic 22 = 11,0 % ; Jetons 77 = 38,5 % ; Durée 83 = 41,5 % |
Les 20 registres (avec les 3 hors fenêtre) : 234 lignes ; à faire 19, envoyée 4, reçue 3, acceptée 98, faite* 83, en cours* 11, autre 16 ; N0 25, N1 80, N2 35, N3 34, N4 3 ; tentatives b/c/d 27 ; Tours 36,3 %, Pic 9,4 %, Jetons 33,3 %, Durée 37,2 %.
Par registre (lignes ; Tours/Pic/Jetons/Durée remplis ; tentatives) : AG 12 (8/0/8/8 ; 3) ; CAM 9 (0/0/0/0 ; 1) ; DOCMV 8 (3/0/3/4 ; 0) ; DOCSTAT 8 (1/0/1/1) ; ETAT3 8 (0/0/0/0) ; README 8 (0/0/0/0) ; OBA 7 (7/0/7/7) ; OBB 22 (18/2/16/13 ; 4) ; OBP 10 (6/0/6/6 ; 2) ; LISIB 12 (colonnes de mesure absentes) ; STA 11 (10/10/10/10 ; 1) ; STB 13 (2/2/2/2) ; STC 10 (colonnes absentes ; 2) ; STD 9 (0/0/0/0) ; STF 13 (colonnes absentes ; 2) ; TPL1 6 (1/1/1/1) ; U8 34 (25/7/23/31 ; 5) ; hors fenêtre : ARCH427 6 (colonnes absentes) ; STE 22 (3/0/0/3 ; 6) ; U8P 6 (1/0/1/1 ; 1).
Recompte du statut « acceptée » : le script en compte 98 sur les 20 registres (96 sur les 17 de la fenêtre) ; Grep ^\s*\|.*acceptée donne 100 lignes de tableau contenant le mot, toutes colonnes confondues (borne haute cohérente, non probante : voir § 4).
3. Écarts au compte attendu de la fiche
La fiche ne fixait pas de total attendu. Points où les faits diffèrent de sa description :
- mtime ≠ date de production. La fenêtre est définie par mtime ; un fichier réécrit plus tard en sort (voir 2) et un fichier déplacé ou restauré avec mtime conservé n'est pas détecté. Répartition des
.mddeetat\par jour de mtime (horsEVAL) : 10-06 : 25 ; 10-07 : 51 ; 10-08 : 64 ; 10-09 : 79 ; 10-10 : 232 ; 10-11 : 60. Pas de regroupement de masse (au plus 6.mdà la même minute). - Dérive pendant la mesure. Un premier passage (05:47) a compté 415
.md(4 584 831 o) ;REPO/NUMEROS.mda été réécrit par une autre session à 05:49:21 et sort de la fenêtre (414.md, 4 574 463 o). Les fichiers livrés sont ceux du second passage (05:49:13) ; le recompte pwsh qui suit donne 414 / 4 574 463. Un rejeu ultérieur peut donner un total plus bas pour la même raison (tout fichier réécrit après 05:30 sort de la fenêtre). - Registre
ST/STEexclu pour 5 secondes (mtime 05:30:05) alors que son lot a 47 livrables dans la fenêtre : il figure dans « tous les registres » ci-dessus, pas dans les 200 lignes. SK/SK-T1-TACHES.mdn'est pas un registre malgré son nom (fiche SK-T1) ; sans cette règle, le rôle TACHES aurait compté 18 au lieu de 17 et les registres 21 au lieu de 20.- Le rôle
autre(164) regroupe 63 fichiers deREPO\, des fiches d'émission (fiches\*.md), des rapports (*-TRACE,*-MESURE…), synthèses et READMEs : leur en-tête n'est pas du format « Fiche … » ; l'indicateur « en-tête complet » ne porte que sur les 233 livrables de rôle ; les pourcentages A (modèle, agent, skills) portent sur les 414 et baissent en P2 notamment parce que les 63 fichiers deREPO\y entrent (0 sur 63 ont un en-tête de fiche). fixlike(regex defiches.py) est faussé par les noms…-Rn.md: 62 des 102 correspondances sont dansREPO\, non des reprises ; la colonne « hors REPO » (40) ettentative_nom(39) sont plus proches de la notion de reprise. Aucun des deux ne distingue une reprise d'une sous-fiche (T8a,T5cr2sont des fiches distinctes d'U8 et ne sont pas comptées danstentative_nom).- « Fiches » du registre : les 200 lignes comprennent des lignes qui ne sont pas des fiches d'agent (par exemple
AG-T1session claude.ai,AG-ERRligne de l'orchestrateur, décisions) : le dénominateur des colonnes Tours/Pic/Jetons/Durée est le nombre de lignes, non le nombre de fiches d'agent. - Critère d'acceptation : « lignes du CSV = total des agrégats par lot » → 414 = 414, vérifié (assertion et recompte). Commande rejouable : oui, avec la réserve du point 2.
4. Établi / estimé / incertain
Établi (recompté par une seconde méthode) : 1428 fichiers, 1002 modifiés dans la fenêtre, 414 .md / 4 574 463 o, P0/P1/P2 = 15/153/246, 530 journaux bruts / 105 208 273 o (par extension identique), comptes d'en-tête modèle 304 / agent 305 / skills 305, 92 lignes Tours :, 234 lignes de fiche des 20 registres, CSV en LF (0 CR) avec 414 lignes de noms uniques.
Établi (une seule méthode, lecture du script) : les statuts par registre, les niveaux, les agents cités, les mots escaladée|bloquée|hors budget|reprise, les colonnes remplies. La répartition faite* / en cours* / autre repose sur un mot-clé cherché dans la cellule (premier trouvé) ; le total par statut n'est pas recomptable à l'identique par Grep (cellule de statut non isolable par expression régulière simple) : le Grep « acceptée » (toutes colonnes) donne 100 pour 98 comptées, cohérent mais non probant.
Estimé : (a) les sous-périodes par mtime reflètent la date de dernière écriture (§ 3 point 1) ; (b) le rôle par le nom du fichier ; (c) « niveau » et « agent » des registres lus dans les colonnes Note → Nx et Agent (lignes sans colonne claire classées « sans niveau » ou « autre ») ; (d) l'équivalence de « reprise » avec les suffixes b/c/d du nom ; (e) l'en-tête « complet » exige cinq éléments, plus strict que le seul motif fiches.py.
Incertain (essai qui trancherait) : (1) la date de création réelle des fichiers (mtime seul) : comparer à git log --diff-filter=A pour les fichiers suivis (.md et .csv) ; (2) les 16 statuts « autre » : lecture ligne à ligne des registres concernés ; (3) les 47 lignes « sans niveau » : filtrer fiches-registres.csv (colonne N_sans) et lire les lignes ; (4) les 5 lignes Tours illisibles : Grep sur Tours sans n / b ; (5) si les fiches des lots ARCH427 / U8P (postérieures à la borne) doivent compter : relancer après la clôture de ces lots ; (6) le contenu des 16 .csv comptés comme journaux bruts.
Tours : 20 / 40
Constats
- Aucun registre de la fenêtre ne porte de statut
escaladée,coupée,bloquéeoureprise(colonne de statut) ; le motescaladéey est absent,hors budgety apparaît 20 fois (STA, OBA, U8, OBB, STB) etreprise12 fois. - La ligne
Tours : n / bpasse de 0 % (P0) à 6,3 % (P1) puis 70,6 % (P2) des livrables de rôle ; la section « État de reprise » n'apparaît que dans 1 livrable de rôle sur 233. - Les colonnes Pic, Jetons, Durée des registres sont remplies à 11,0 %, 38,5 % et 41,5 % (200 lignes) ; 3 registres de la fenêtre (LISIB, STC, STF) et 1 hors fenêtre (ARCH427) n'ont pas ces colonnes.
- 5 des 17 registres modifiés dans la fenêtre n'ont pas de livrable VAL dans leur lot (
CAM,DOC/ETAT3,OB/OBA,ST/STA,ST/STD) ; 12 en ont un. git status --short -- Docs/Migration/etat/EVALne montre que?? Docs/Migration/etat/EVAL/(dossier entier non suivi, mes fichiers y compris).fiches.pyne retire pas le BOM, mon script non plus : effet nul constaté sur les comptes (recompte pwsh identique).
Fichiers écrits et à commiter (dépôt jeu 5.8, branche ue5.8 ; aucun commit de ma part)
A Docs/Migration/etat/EVAL/EVAL-T5-INV.md(.gitignore:77, ajoutable)A Docs/Migration/etat/EVAL/data/fiches.csv(.gitignore:78, ajoutable)A Docs/Migration/etat/EVAL/data/fiches-registres.csv(.gitignore:78, ajoutable)A Docs/Migration/etat/EVAL/data/fiches-lots.csv(.gitignore:78, ajoutable)- Écrits mais ignorés par git (
.gitignore:75,git check-ignore -v) :Docs/Migration/etat/EVAL/data/fiches-stats.txt,Docs/Migration/etat/EVAL/scripts/eval_fiches.py(rejouable depuis le disque ; à ranger dansTools/sur décision de l'orchestrateur).