182 lines
23 KiB
Markdown
182 lines
23 KiB
Markdown
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.
|