LifePlay-Revival/Docs/Migration/etat/EVAL2/EVAL2-T5-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

23 KiB
Raw Blame History

Fiche EVAL2-T5 — Niveau N1 — Modèle prévu non chiffré dans la fiche | utilisé claude-sonnet-5-5 — Agent lp-inventory — Skills sk-protocol, sk-recount, lp-paths

EVAL2-T5-INV : fiches, VAL et écarts de protocole pendant P3 (2026-10-14)

Période P3 : 2026-10-11 05:30 → 2026-10-14 18:25:41 (UTC+2). Coupure P3a / P3b : 2026-10-13 12:07:16 (valeur communiquée par l'orchestrateur EVAL2 en cours de fiche, qui remplace la valeur provisoire 10:00 ; constante SPLIT des scripts). Lecture seule sur etat\ ; écrits : ce fichier, data\fiches.csv, data\fiches-registres.csv, data\val.csv, data\val-sans-verdict.txt, data\ecarts.csv, data\dp716.csv, data\dp716-issues.csv, data\fiches-stats.txt, scripts\eval2_fiches.py, scripts\eval2_val.py, scripts\eval2_post.py. L'original EVAL\scripts\eval_fiches.py est intact (il n'a pas été ouvert en écriture).

1. Commandes exactes

python -I -X utf8 "D:/Game/LifePlay-master 5.8/Docs/Migration/etat/EVAL2/scripts/eval2_fiches.py"   (fiches, registres, candidats d'écarts, S / C9a ; écrit aussi data\fiches-stats.txt)
python -I -X utf8 "D:/Game/LifePlay-master 5.8/Docs/Migration/etat/EVAL2/scripts/eval2_val.py"      (verdicts de VAL, remplace data\val.csv)
python -I -X utf8 "D:/Game/LifePlay-master 5.8/Docs/Migration/etat/EVAL2/scripts/eval2_post.py"     (écarts retenus, jointure S / C9a avec les registres)
Grep (count) sur data\fiches.csv : ",VAL," -> 87 ; ",P3b," -> 356 ; "10:14:42" -> 66 ; sur data\val.csv : ",PASS-STATIC,\d+,PASS-STATIC," -> 34 ; sur data\ecarts.csv : retenus -> 41
Grep \r sur les CSV et le .txt de data\ -> 0 fichier (LF)
Grep / Read ciblés : P7-TACHES.md l. 28-30, STG-TACHES.md l. 40, BOSS-JOURNAL.md (écarts), COMMUN-2/6/8/9/10/12-BILAN.md (lignes des cas KO), 33_Eval_Organisation_72h.md l. 70-124, P7-DECISIONS.md l. 24

Définitions : celles de l'EVAL (doc 33 § 4, eval_fiches.py) : en-tête complet = modèle prévu + utilisé + agent + skills + « Niveau Nx » dans les 1 500 premiers caractères ; ligne Tours = Tours : en début de ligne n'importe où ; statut canonique d'un registre = premier mot-clé du gabarit (faite, en cours en classes hors gabarit). Fenêtre par date de modification (comme l'EVAL). Écarts au script d'origine : dossiers fiches\ classés rôle FICHE (fiches d'envoi, hors livrables) ; EVAL et EVAL2 exclus ; sous-dossiers AG\* traités comme des lots ; rattachement des lignes de registre à P3 par la date des livrables .md cités dans la ligne.

2. Comptes bruts

2.1 Fichiers et livrables (sortie de fiches-stats.txt)

Fichiers sous etat (hors EVAL, EVAL2) : 2387 ; modifies dans la fenetre : 1058 (.md 641) ; posterieurs a la borne : 0 (.md 0)
P3a : INV 16 ; CART 2 ; DIAG 3 ; SPEC 9 ; IMPL 32 ; BUILD 13 ; VAL 30 ; DOC 18 ; INT 10 ; EVAL 3 ; FICHE 57 ; TACHES 12 ; autre 80 ; total 285
P3b : INV 3 ; CART 6 ; DIAG 24 ; SPEC 14 ; IMPL 62 ; BUILD 17 ; VAL 57 ; DOC 4 ; INT 2 ; EVAL 6 ; FICHE 62 ; TACHES 6 ; autre 93 ; total 356
tout : INV 19 ; CART 8 ; DIAG 27 ; SPEC 23 ; IMPL 94 ; BUILD 30 ; VAL 87 ; DOC 22 ; INT 12 ; EVAL 9 ; FICHE 119 ; TACHES 18 ; autre 173 ; total 641

Recompte par une autre méthode : Grep ",VAL," data\fiches.csv = 87 ; Grep ",P3b," data\fiches.csv = 356 (identiques).

2.2 Qualité des livrables de rôle (331 livrables, hors FICHE, TACHES, autre)

P3a : 136 livrables ; en-tete complet 124/136 = 91.2 % ; niveau 125/136 = 91.9 % ; ligne Tours 86/136 = 63.2 % ; etat de reprise 1/136 = 0.7 %
P3b : 195 livrables ; en-tete complet 152/195 = 77.9 % ; niveau 172/195 = 88.2 % ; ligne Tours 141/195 = 72.3 % ; etat de reprise 2/195 = 1.0 %
tout : 331 livrables ; en-tete complet 276/331 = 83.4 % ; niveau 297/331 = 89.7 % ; ligne Tours 227/331 = 68.6 % ; etat de reprise 3/331 = 0.9 %
Livrables sans ligne Tours, par role : IMPL 32 ; DIAG 13 ; INT 10 ; SPEC 10 ; EVAL 7 ; DOC 7 ; CART 7 ; BUILD 6 ; INV 6 ; VAL 6
Valeurs Tours n/b : 221 ; n > b : 10 : CAM-B2b-IMPL-F5 (62/60) ; CAM-B2n-IMPL (63/60) ; CAM-B2p-G-PC-IMPL (63/60) ; OUTC-VAL-B (57/55) ; STE-GEL1-D1 (18/15) ; STE-GEL1-IMPL (41/40) ; STE-H3g-IMPL (53/50) ; STE-ORG-AUDIT (37/35) ; STE-ORG4c-IMPL (51/50) ; STE-ORG4c-Ic1 (50/45)

Les 10 dépassements = 4,5 % des 221 valeurs lisibles, de 1 à 5 tours chacun (maximum +5 : STE-ORG4c-Ic1). Lecture : les Tours sont déclarés par les agents (sous-comptés, sk-protocol § 8) ; non recomptés par FicheStats.py ici.

Par lot (extrait, livrables de rôle ; tableau complet dans data\fiches-stats.txt § C) :

Lot Livrables .md Rôles En-tête complet Ligne Tours VAL
CAM 91 68 44/68 = 64,7 % 43/68 = 63,2 % 19
ST/STG 101 76 56/76 = 73,7 % 56/76 = 73,7 % 22
ST/STE 103 47 45/47 = 95,7 % 44/47 = 93,6 % 12
AG/P7 45 20 19/20 = 95,0 % 17/20 = 85,0 % 4
REL 31 14 14/14 = 100 % 9/14 = 64,3 % 5
OUTC 16 10 10/10 = 100 % 9/10 = 90,0 % 2
AG/TRACE1 20 12 12/12 = 100 % 11/12 = 91,7 % 3
AG/PUB3 12 9 8/9 = 88,9 % 3/9 = 33,3 % 3

2.3 Registres : lignes de fiche rattachées à P3 (246 sur 429 ; 44 lignes sans livrable .md daté, non classables)

Total P3 : statuts faite 121 ; acceptée 60 ; autre 31 ; reçue 14 ; en cours 10 ; envoyée 5 ; reprise 2 ; à faire 2 ; relayée 1
Total P3 : niveaux N0 21 ; N1 87 ; N2 38 ; N3 62 ; N4 1 ; sans 37

Par lot (statuts, tentatives b/c/d dans le nom de fiche, mot « hors budget », cause de reprise lue par mots-clés) :

Lot Lignes P3 Niveaux Statuts Tentatives b/c/d « hors budget » Cause (mots-clés)
ST/STG 56 N0 16, N1 4, N2 9, N3 24, sans 3 faite 41, autre 13, en cours 1, envoyée 1 0 0 —
CAM 37 N1 3, N2 7, N3 22, N4 1, sans 4 faite 27, acceptée 4, autre 3, reprise 2, en cours 1 1 1 agent 3
AG/P7 21 N0 2, N1 16, N2 2, N3 1 acceptée 14, reçue 5, relayée 1, en cours 1 4 1 budget 1, consigne 1
AG/TRACE1 17 N1 9, N2 2, N3 3, sans 3 faite 11, reçue 5, en cours 1 2 0 —
ST/STE 14 N1 2, N2 2, N3 6, sans 4 faite 13, en cours 1 2 0 agent 2
ARCH427 12 N1 6, sans 6 acceptée 6, faite 3, autre 2, en cours 1 0 0 —
OUTC 11 N1 7, N2 4 acceptée 3, envoyée 3, reçue 3, faite 2 1 0 budget 1, consigne 1
AG/PUB3 7 N1 4, N2 2, N3 1 faite 5, autre 2 0 0 —
AG/VERR1 7 N1 3, N2 2, sans 2 acceptée 3, faite 3, autre 1 0 0 agent 1
REL 5 N1 2, N3 3 en cours 2, autre 2, à faire 1 0 0 agent 1
autres (14 lots) 59 voir fiches-stats.txt § D — 9 3 —

Statut escaladée : 0 ligne. Lignes reprise : 2 (CAM), relayée : 1 (P7-H2, sk-protocol § 9). Cause de reprise « consigne » (P7-H2v → H2b : « cause consigne (fiche H2 4b) », P7-TACHES.md:29-30) : établie sur P7 ; les autres causes viennent d'une lecture par mots-clés (incertain).

2.4 VAL de P3 (87 fichiers de rôle VAL modifiés dans la fenêtre ; data\val.csv)

Sortie de eval2_val.py (jeton du verdict par heuristique) :

VAL : 87
dernier : PASS 41 ; PASS-STATIC 38 ; FAIL 7 ; BLOCKED-jeton-UE 1
P3a : 30 VAL ; dernier PASS 26 ; FAIL 3 ; PASS-STATIC 1
P3b : 57 VAL ; dernier PASS-STATIC 37 ; PASS 15 ; FAIL 4 ; BLOCKED-jeton-UE 1
Sans verdict trouve : 0

Corrections après relecture à la main (Grep des lignes FAIL dans les 9 fichiers concernés) : 2 « FAIL » sont faux (OBP-T1-VAL.md:61 « aucune n'a justifié un FAIL » ; STG-SF5m-VAL.md:93 « aucun n'est un FAIL ») ; 66 fichiers .md portent la même heure de modification 2026-10-13 10:14:42 (Grep "10:14:42" fiches.csv = 66), dont 11 VAL de lots plus anciens (AG-T8, OBB-T1, OBB-T1b, OBB-T3, OBP-T1, OBP-T2, STE-VAL, TPL1, U4-T6, U7b-T6, U8-T5c : retouche en bloc, tous PASS en fin). Les VAL produites en P3 sont donc 87 − 11 = 76 (estimé : la retouche en bloc n'est pas expliquée par une source).

Verdict final (76 VAL de P3) Total P3a (19) P3b (57)
PASS 31 (40,8 %) 16 15
PASS-STATIC 39 (51,3 %) 1 38
FAIL 5 (6,6 %) 2 (PUB3-T6a, STE-H10) 3 (P7-H2, STG-M1d, STG-WALK)
BLOCKED 1 (CAM-B2r, jeton UE) 0 1

Les P3b sont à 67 % PASS-STATIC (38/57) contre 5 % en P3a (1/19) : effet de la file de compilation (build seulement après les VAL statiques, COMMUN-2 à 13) et des lots STG / CAM / STE sans éditeur, estimé.

VAL ayant rendu au moins un verdict FAIL (9 sur 76 = 11,8 %), avec la reprise :

VAL Fichier:ligne Nature du FAIL Reprise
P7-H2-VAL AG/P7/P7-H2-VAL.md:4,80 28 cas adverses passent le nouveau crochet ; « cause consigne » (P7-TACHES.md:29) P7-H2b (tentative 2/4) reçue partielle ≈ 45 min plus tard (3 h 20 → 4 h 05, P7-TACHES.md:29-30), 34 tours, 366 k, 42 min ; la VAL H2v : 20 tours, 226 k, 24 min
STG-WALK-VAL ST/STG/STG-WALK-VAL.md:6,76 P2, P5 FAIL (prémisse fausse sur AnimToPlay) STG-WALK-VAL2.md PASS-STATIC ; mtime des deux VAL à 2 min 23 s d'écart (21:21:36 → 21:23:59, l'IMPL de la passe 2 entre les deux : non retrouvée)
STG-M1d-VAL ST/STG/STG-M1d-VAL.md:76 appel non compilable GetLength() sur objet const STG-M1d-VAL2.md PASS-STATIC ; mtime 00:56:30 → 00:58:08 (1 min 38 s)
STE-H10-VAL ST/STE/STE-H10-VAL.md:56 FAIL « au sens littéral » : CompileAllBlueprints 3 erreurs (assets CC_Shaders introuvables), cause externe aucune VAL de reprise (autres critères PASS) ; le lot continue (DOC, INT présents)
PUB3-T6a-VAL AG/PUB3/PUB3-T6a-VAL.md:4,79 « verdict historique FAIL (script avant corrections) » PUB3-T6a-bis-VAL.md:70 PASS avec réserve D8 (mtimes égaux, délai non mesurable)
PUB3-T6b-VAL AG/PUB3/PUB3-T6b-VAL.md:26,52 FAIL strict (lettre du critère 1), cause bénigne pas de VAL de reprise relevée
STE-H3d-VALJEU ST/STE/STE-H3d-VALJEU.md:22,57 FAIL du seul critère 3 (E1 : 2 occurrences contre ≤ 1) critère traité en E1 ; verdict final du fichier PASS (l. 76)
CAM-B2p-E-VAL CAM/CAM-B2p-E-VAL.md:80,164 1re passe FAIL (B1 : local masquant un membre) reprise dans le même fichier § 7 : PASS-STATIC
CAM-B2p-J-VAL CAM/CAM-B2p-J-VAL.md:6,152,159 1re passe FAIL (D1 bloquant, échelle des deltas) reprise dans le même fichier : PASS-STATIC

Taux de FAIL : 5 FAIL finaux sur 76 (6,6 %) ; 9 VAL avec FAIL à un stade sur 76 (11,8 %). Cause de reprise après FAIL : consigne 1 établi (P7-H2) ; défaut de l'implémentation 5 (WALK, M1d, B2p-E, B2p-J, H3d) ; cause externe 1 (H10) ; script 1 (PUB3-T6a) ; 1 non classée (T6b).

2.5 PASS-STATIC suivis d'un KO en jeu (croisement avec data\commun.csv et les bilans COMMUN)

Établis par la ligne du bilan qui nomme le correctif et le KO (colonne regression de commun.csv = insuffisant) :

Correctif (VAL) Verdict VAL KO en jeu sur le même défaut Source
S-F5m (STG-SF5m-VAL.md) PASS-STATIC (l. 5, 91) C9 P3 : « S-F5m a joué contre la façade » (joueur écarté de 7,5 cm), nouveau correctif S-F5p ; déjà C8 O5 (S-F5m et S-F5n annoncés) COMMUN-9-BILAN.md:13, COMMUN-8-BILAN.md:24
B2p-E (CAM-B2p-E-VAL.md) PASS-STATIC final (1re passe FAIL) C10 Q1 KO : « la borne de B2p-E repose sur Room.Box, qui dépasse les murs de plus d'1 m » COMMUN-10-BILAN.md:11
B2q-a (STG-B2q-VAL.md) PASS-STATIC (l. 132, 152) C8 N1 OK partiel : « B2q-a aide, mais au café l'homme puis Bridget disparaissent » ; B2q-b1 (STG-B2qb-VAL.md, PASS-STATIC) confirmé OK en C9 P1 COMMUN-8-BILAN.md:21, COMMUN-9-BILAN.md:11
B2s (CAM-B2s-VAL.md) PASS (V7 non rejouable par la VAL) C6 J5 KO « C1 à côté de la tête… Correctif B2s » (colonne insuffisant) COMMUN-6-BILAN.md:16

Soit 3 PASS-STATIC (+ 1 PASS dont l'essai en jeu était reporté) suivis d'un KO ou d'un partiel sur le même cas, sur 5 cas marqués insuffisant dans commun.csv (J5, N1, P3, Q1, S3). S3 (C12, « le lit nous interdit de se poser ») : le correctif visé n'est pas nommé dans la ligne lue (non rattaché). Le croisement exhaustif cas par cas (chaque cas KO ↔ chaque VAL) n'a pas été fait : seuls les cas insuffisant ont été suivis. Sur les 38 PASS-STATIC de P3b, 3 sont ainsi établis suivis d'un KO (≈ 8 %, borne basse).

2.6 Écarts de protocole (data\ecarts.csv, 274 lignes candidates ; 41 retenues après relecture)

Candidats par catégorie (regex, fiches-stats.txt § F) : instantané 22 lignes / 19 fichiers ; redirection 220 / 52 ; statut sauté 0 ; avant gel 5 / 4 ; hors file 9 / 3 ; « écart de protocole / constaté / de méthode » 18 / 17. Retenues par type : refus_crochet 20 ; ecart_methode_agent 8 ; instantane_manquant 7 ; instantane_declare_sans_objet 2 ; ecriture_avant_gel 2 ; instantane_tardif 2.

Liste nominative des écarts de protocole au sens de la fiche (hors refus du crochet, domaine EVAL2-T6) :

Type Cas Chemin:ligne Effet noté
Instantané manquant ORG5-I2a : sk-change-safety non invoqué, aucun instantané avant modification de LPBonusRewardSubsystem.h/.cpp (fichiers I1 non suivis) ST/STE/STE-ORG5-I2a-IMPL.md:117 ; risque :153 retour arrière impossible ; cas connu ORG5
Instantané tardif ORG5-I1 : sk-change-safety invoqué après l'écriture des 2 fichiers neufs ST/STE/STE-ORG5-I1-IMPL.md:78 sans effet (fichiers neufs)
Règle tirée consigne « Snapshot avant toute IMPL sur fichier non suivi » ST/STE/STE-PASSATION.md:83 —
Instantané manquant B2n : l'état de B2k seul n'a pas d'instantané CAM/CAM-B2n-IMPL.md:47 B2k non restaurable seul
Instantané manquant .h de DirectControl sans instantané ST/STG/STG-SF5-C1W-VAL.md:50 MD5 égal à la valeur KO3b
Instantané manquant (brouillon) « instantané d'I1 absent (écart STE) » BOSS/JOURNAUX1/CHG-brouillons.md:124 reprise de l'écart ORG5
Sans objet déclaré T4b : fichiers TRACE1-T4b-* sans instantané AG/TRACE1/TRACE1-T4b-IMPL.md:81 déclaré
Sans objet déclaré T1b : pas d'instantané de ORGA1-SPEC.md AG/ORGA1/ORGA1-T1b-IMPL.md:41 déclaré, non destructif
Écriture avant gel STG-M1 écrit dans Source/ avant le gel de Big Boss pour le build V7 de CAM (2026-10-13 13:42) BOSS/BOSS-JOURNAL.md:457 (doublon BOSS/JOURNAUX1/SUIVI-propositions.md:129) « écart sans conséquence » (archive V7 finie 13:41:05, exe sans M1)
Méthode (agent) Edit au lieu du script, script non exécuté en écriture AG/ORGA1/ORGA1-T1b-IMPL.md:37, AG/ORGA1/ORGA1-T1-VAL.md:27 sans effet
Méthode (agent) 2 appels MCP envoyés en parallèle CAM/CAM-B1-IMPL.md:50 règle « ne pas chevaucher »
Méthode (agent) rm -f refusé par les permissions OUTC/OUTC-VAL-B.md:104 aucune suppression
Méthode (agent) DIAG demandé en lecture seule, l'agent a fait davantage ST/STG/STG-COMMUN3-ANALYSE.md:11 signalé par l'agent
Méthode (agent) redirection d'entrée vers le fichier nul malgré la consigne, non refusée par le crochet ST/STE/STE-ORG5-V2-VAL.md:73 sortie ignorée
Méthode (agent) MD5 en échec (échappement $f), lecture seule, refait ST/STG/STG-D2-INV.md:97 bénin

Cas non retrouvés dans les sources lues, à ne pas présenter comme établis :

  • Redirection du gardien : 0 ligne dans etat\REPO\ (Grep redirig|redirect|redirection -i → « No matches found ») ; les 220 lignes « redirection » de la regex concernent le crochet ecriture-gardien (> lu comme redirection : refus à tort), 19 d'entre elles retenues comme refus_crochet (P7-T8a-INV.md:46, CAM-B2f-VAL.md:114, CAM-B2i-VAL.md:177, CAM-B2kmn-VAL.md:202, CAM-B2p-G-PC-VAL.md:237, CAM-B2p-H-VAL.md:201, CAM-B2p-I-VAL.md:185, CAM-B2p-J-PC-IMPL.md:193, CAM-B2p-R-VAL.md:196, CAM-B2s-VAL.md:188, STE-H10-GI2-IMPL.md:195,285, STE-ORG-AUDIT.md:156,161,301, STG-FACADE-IMPL.md:216, STG-SF4-VAL.md:83, STG-SF5-C1W-VAL.md:168, BOSS-JOURNAL.md:389). Liste non exhaustive : les 200 autres lignes sont « non relu ».
  • Statuts de ticket sautés : 0 ligne (regex statut[s] … saut) ; la mesure relève de EVAL2-T2 (tickets, REPO-JOURNAL.md), pas relue ici.
  • Travail hors file de la copie UE : aucune ligne de P3 ; les 9 lignes « hors file » sont du 2026-10-10 (BOSS-JOURNAL.md:71,76,84,116-120,232,235, hors période) ou une règle (CAM-TACHES.md:7).

2.7 Essai D-P7.16 (doc 33 § 7 ; décision P7-DECISIONS.md:24)

data\dp716.csv (169 lignes avec « S = » ou « C9a », 79 fichiers) ; data\dp716-issues.csv (52 fiches d'envoi : fiches\*.md et *-FICHE.md) :

fichiers avec S ou C9a : 79 ; fiches d'envoi : 52
fiches avec S ET C9a : 35 ; S seul : 2 ; C9a seul : 15
par lot : ST/STE 37 ; CAM 12 ; AG 2 ; ST/STG 1
rattachees a une ligne de registre : 16 / 52
S>=seuil (scission prevue) : 3 ; S<seuil : 26 ; S sans seuil lisible : 8

Lecture : l'essai n'a été appliqué que par STE (37 fiches sur 52) et CAM (12) ; STG n'en porte qu'une, REL, OUTC, TRACE1 (2 lignes de registre « S = 0 », TRACE1-TACHES.md:27,29), P7 (P7-T4b-EVAL.md a le barème, P7-TACHES.md:23,25 des cases) l'utilisent peu ; le registre STG-TACHES.md n'a que des notes « a b c d e f = n → Nx » sans S. Issues des fiches portant S et C9a (la jointure aux registres ne réussit que pour 16 fiches sur 52 : le registre STE regroupe des fiches ; issue lue donc sur les livrables nommés comme la fiche) :

  • Fiches STE avec S < seuil dont le livrable dépasse le budget Tours : STE-GEL1 (S = 2 < 3 ; STE-GEL1-IMPL.md 41/40), STE-GEL1-D1 (S = 0 ; 18/15), STE-H3g (S = 2 < 3 ; STE-H3g-IMPL.md 53/50), STE-ORG (S = 2 < 3 ; STE-ORG-AUDIT.md 37/35), STE-ORG4c (S = 2 < 3 ; STE-ORG4c-IMPL.md 51/50), STE-ORG4-Ic1 (S = 2 < 3 ; STE-ORG4c-Ic1.md 50/45 : appariement par nom, estimé) → 6 hors budget sur 35 fiches S + C9a (17 %), toutes de 1 à 5 tours ; les 29 autres sont dans le budget ou sans valeur lisible.
  • S ≥ seuil (scission prévue dans la fiche) : STE-ORG5 (S = 3 ≥ 3), STE-ORG5-V1 et V2 (S = 2 ≥ 2) : 3 fiches ; suivi par les fiches ORG5-I1, I2, I2a, V1, V2 ; STE-ORG5-I2a-IMPL porte l'écart d'instantané (2.6). Pas d'escalade ni de reprise de ces fiches.
  • Reprises : cause « agent » lue 1 fois parmi les fiches rattachées au registre (mots-clés) ; aucune reprise ni escalade établie sur une fiche S + C9a. CAM : CAM-B2p-SPEC.md:8,123,251 note C9a (« sources relues le jour même ») ; CAM-B2k-FICHE :9 « S = … 1 = 2 < 3 : une fiche ».
  • Comparaison à un témoin sans S / C9a : non faite (la fiche ne la demande pas, et aucun registre ne note S pour les fiches hors essai).

3. Écarts au compte attendu de la fiche

  • Coupure P3a / P3b : la fiche donnait 2026-10-13 10:00 (provisoire) ; remplacée en cours de fiche par 12:07:16 (message de l'orchestrateur) ; SPLIT mis à jour dans eval2_fiches.py, tous les comptes P3a / P3b ci-dessus sont à 12:07:16. Effet : le script avait déjà été écrit avec 10:00 ; la sortie citée ici provient de l'exécution après le changement (fiches-stats.txt l. 1).
  • « Reprise après FAIL (délai, nombre de tours) » : les tours des VAL de reprise ne sont donnés que pour P7-H2v / H2b (colonne Tours de P7-TACHES.md) ; pour les autres, les registres STG / CAM / STE ne portent pas de colonne Tours (ils sont des notes libres) et Tools/FicheStats.py n'a pas été lancé (hors fiche). Délais en minutes d'après les heures de modification (voir 4).
  • « Statuts de ticket sautés » et « redirection du gardien » : 0 retrouvé (2.6). Ce n'est pas la preuve d'une absence : la fiche cite le cas ORG5 pour l'instantané seulement.
  • La mesure 1 « statut acceptée / reprise / hors budget / escaladée » est approximative : les registres STG, CAM, STE écrivent « faite » (121 lignes P3) plutôt que « acceptée » (60) ; 0 escaladée ; hors budget = n > b dans la ligne Tours du livrable (10) ou mot « hors budget » dans la ligne (5 lignes de registre).

4. Établi / estimé / incertain

Établi (sortie rejouée, source citée) : comptes de livrables par rôle et phase (641 ; 87 VAL ; 356 en P3b, recomptés par Grep) ; taux d'en-tête, de « Niveau Nx » et de ligne Tours ; 10 valeurs Tours n > b ; verdicts finaux des 9 VAL à FAIL relus à la source (lignes citées) ; 4 correctifs PASS-STATIC / PASS suivis d'un KO (lignes de bilan citées) ; liste des écarts d'instantané, d'écriture avant gel et de méthode (chemin:ligne relus) ; 0 ligne sur les statuts sautés et la redirection du gardien dans etat\REPO\. Estimé : 76 VAL produites en P3 (87 moins 11 retouchées en bloc à 10:14:42, hypothèse d'une retouche de masse non expliquée) ; effet de la file de compilation sur la part de PASS-STATIC ; délais de reprise par mtime (WALK 2 min 23 s, M1d 1 min 38 s : les deux VAL ont pu être écrites à la suite dans la même session) ; 8 % de PASS-STATIC suivis d'un KO (borne basse). Incertain : (a) fenêtre par date de modification : un livrable de P3 retouché après le 14 18:25:41 ou un livrable ancien retouché en P3 est compté de travers (0 .md postérieur à la borne : le script s'est exécuté avant d'autres écritures, CAM-B2j-VAL.md et STG-SF4*-VAL.md ont 18:22:58) ; (b) rattachement des lignes de registre à P3 par les .md cités (44 lignes sans date) ; (c) cause de reprise par mots-clés ; (d) croisement KO ↔ VAL limité aux cas insuffisant (S3 non rattaché) ; (e) jointure S / C9a ↔ registre 16 / 52 ; (f) les 200 lignes « redirection » non relues peuvent contenir un écart du gardien (essai qui trancherait : lire ces 200 lignes de data\ecarts.csv, ou Grep -i "gardien.*(redirig|renvoy)" sur REPO-JOURNAL.md, en lecture) ; (g) détection de verdict par jetons : un FAIL ou un PASS cité dans une phrase peut fausser (2 faux corrigés à la main ; les 87 non relus un à un) ; (h) BOSS-JOURNAL.md contient de nombreuses lignes très longues non affichées par Grep : la recherche d'écarts y est partielle pour les formulations hors regex.

Tours : 30 / 40

Constats

  • Pièges outil : Grep sans -o « omet les lignes longues » des registres ([Omitted long matching line] pour P7-TACHES.md, STG-TACHES.md) : Read avec offset / limit pour les lire. Un .md retouché en bloc (66 fichiers à 10:14:42) fausse tout inventaire par date de modification : à noter pour l'EVAL (EVAL2-STATS).
  • Fichiers écrits (aucun fichier suivi par git modifié ; tous sous Docs\Migration\etat\EVAL2\, non commités) : EVAL2-T5-INV.md, data\fiches.csv, data\fiches-registres.csv, data\val.csv, data\val-sans-verdict.txt, data\ecarts.csv, data\dp716.csv, data\dp716-issues.csv, data\fiches-stats.txt, scripts\eval2_fiches.py, scripts\eval2_val.py, scripts\eval2_post.py. Ordre de rejeu : eval2_fiches.py, eval2_val.py, eval2_post.py.
  • À verser : lp-inventory / sk-protocol § 7 — pour lire une ligne de registre longue, Read avec offset et limit (Grep l'omet) ; lp-doc § TACHES — les registres STG / CAM / STE n'ont ni colonne Tours ni « acceptée » : l'issue d'une fiche ne se mesure pas par le registre.