LifePlay-Revival/Docs/Migration/etat/EVAL/EVAL-T2-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

21 KiB
Raw Permalink Blame History

Fiche EVAL-T2 — 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-T2-INV : commits des dépôts et traces du gardien, 2026-10-08 05:30 → 2026-10-11 05:30 (2026-10-11)

Fenêtre : --since="2026-10-08T05:30:00+02:00" --until="2026-10-11T05:30:00+02:00" (filtre git = date de commit). Sous-périodes sur la date de commit locale (UTC+2) : P0 < 2026-10-08 13:30 ; P1 < 2026-10-10 10:45 ; P2 ensuite. Aucune commande git qui écrit. Données : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\commits.csv (141 lignes + en-tête, UTF-8, LF) ; sortie brute complète du script : ...\EVAL\data\commits-stats.txt ; script : ...\EVAL\scripts\EvalT2_Commits.py.

1. Commandes exactes

Script (produit le CSV et toutes les statistiques ; il lance les git log ci-dessous, lecture seule) :

python -I -X utf8 "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\scripts\EvalT2_Commits.py" > "D:\Game\LifePlay-master 5.8\Docs\Migration\etat\EVAL\data\commits-stats.txt"

(-X utf8 : sans lui, python -I ignore PYTHONIOENCODING et la sortie redirigée est en cp1252.)

Commandes git lancées par le script, par dépôt (S/U = bornes ci-dessus) :

git -C "D:\Game\LifePlay-master 5.8"  log --all --since=S --until=U --format=%x1e%H%x1f%h%x1f%aI%x1f%cI%x1f%ae%x1f%ce%x1f%P%x1f%s%x1f%b%x1f
git -C "D:\Game\LifePlay-master 5.8"  log --all --since=S --until=U --format=%x1e%H --numstat
git -C "D:\Game\LifePlay-master 5.8"  for-each-ref --format=%(refname:short) refs/heads refs/remotes refs/tags   (puis rev-list <ref> --since --until, par ref)
git -C "D:\Game\LifePlay-Sandbox-5.8" log --all ...            (addon ; mêmes options)
git --git-dir=D:\Game\LifePlay_ModulesGit\5.8.git --work-tree="D:\Game\LifePlay-master 5.8\Content\Modules" log --all ...   (modules 5.8)
git -C "D:\Game\LifePlay-master 5.5"  log --all ...            (jeu 5.5, ligne séparée)
git --git-dir=D:\Game\LifePlay_ModulesGit\5.5.git --work-tree="D:\Game\LifePlay-master 5.5\Content\Modules" log --all ...   (modules 5.5)
git -C "D:\Game\LifePlay-Sandbox" log --all ...                (addon 5.5 : même dépôt que l'addon 5.8, voir § 2)
git -C <arbre> rev-parse --git-common-dir ; git -C <arbre> config --get core.hooksPath

Recomptes par une autre formulation (lancés par moi) :

git rev-list --all --count --since=S --until=U                      (dans chaque dépôt ; jeu 5.8 aussi avec `ue5.8` seul)
python -I -X utf8 -c "import csv,collections; ..."                 (relecture du CSV : lignes, depot, lot, sous_periode, hash uniques)
git log --all --since=S --until=U --format=%ct | python -I -X utf8 -c "...statistics.median..."
git log -1 --format='%h parents=%p' b63196a ; git log -1 --format='%h parents=%p' 3aaaf2c ; git log -1 --format='%h %cI' 58f2f13
git log --all --since=S --until=U -E --grep='ERR-0(58|86|87|88)' --format='%h %s'
ls Docs/Migration/etat/REPO/tickets | wc -l ; ls Docs/Migration/etat/REPO/VERROU | grep -c -- '-libre' ; ls Docs/Migration/etat/REPO/VERROU | grep -vc -- '-libre'
tr -cd '\r' < Docs/Migration/etat/EVAL/data/commits.csv | wc -c
git check-ignore -v <les 4 fichiers du livrable> ; git status --short

Lectures : REPO-JOURNAL.md (Read, 67 lignes), NUMEROS.md (Read, 41 lignes), tickets\U8-R6.md, skill lp-repo (Grep R-REPO1).

2. Comptes bruts

2.1 Commits par dépôt (sortie du script, § « Commits par depot ») — recompté par git rev-list --all --count : identique

Dépôt Commits P0 P1 P2 Fichiers (numstat) + / −
jeu 5.8 (--all) 90 5 52 33 1421 (dont 315 binaires) +85266 / −41386
addon (5.8 et 5.5 : un seul dépôt) 40 0 28 12 138 +3114 / −364
modules 5.8 1 0 0 1 1 +12 / −12
Total 3 dépôts (fiche) 131 5 80 46
jeu 5.5 (ligne séparée) 10 5 4 1 135 +953 / −36240
modules 5.5 0 0 0 0 0 0
addon 5.5 (D:\Game\LifePlay-Sandbox) 40 = les mêmes que l'addon ci-dessus
  • CSV : 141 lignes = 90 + 40 + 1 + 10 (relecture csv : 141 ; wc -l = 142 avec l'en-tête ; 0 CR). Hash uniques (dépôt, hash) = 141.
  • Addon 5.8 = worktree de l'addon 5.5 : git rev-parse --git-common-dir = D:/Game/LifePlay-Sandbox/.git pour les deux ; git log --all donne 40 dans l'un et l'autre arbre. Compté une fois (dépôt « addon »).
  • Jeu 5.5 : 9 des 10 hash (les commits du 2026-10-08 et d4b3ea3, colonne CSV aussi_dans_jeu58 = oui) sont aussi dans le jeu 5.8 ; d4b3ea3 n'y est joignable que par la ref c55/main. Propre au 5.5 : 46fe1b4 (ETAT3-R2). Objets distincts toutes entrées = 132.
  • Jeu 5.8 : 89 commits joignables depuis ue5.8 (git rev-list ue5.8 --count = 89), 9 depuis main / c55/main / origin/main. Aucun commit de fusion (parents > 1), aucun commit hors ref.
  • Addon : 25 sujets distincts ; 15 sujets portés par 2 commits jumeaux (branches lot/DC3-atelier et ue5.8, à quelques secondes d'écart), 10 sujets à 1 commit (15×2 + 10 = 40).
  • Date d'auteur ≠ date de commit pour 6 commits : 1d1d283 (jeu 5.8, +567 s) ; addon cc649fd (+49 s, le --amend de DOCMV-R3), 1bcfe1b (+425 s), 1704741 (+10693 s), 408ce33 (+71563 s), f0af432 (+8 s).
  • Hors fenêtre de 41 s : 58f2f13 (U8-R6, 2026-10-11T05:30:41+02:00) ; l'addon n'a rien après la borne.

2.2 Commits par sous-période (tous dépôts, 141) : P0 = 10, P1 = 84, P2 = 47 (somme 141)

P0 : jeu 5.8 = 5, jeu 5.5 = 5 · P1 : jeu 5.8 = 52, addon = 28, jeu 5.5 = 4 · P2 : jeu 5.8 = 33, addon = 12, modules 5.8 = 1, jeu 5.5 = 1.

2.3 Commits par lot (règle : texte avant le premier : du sujet, avec ou sans espace ; si un identifiant de ticket y figure, son préfixe ; sinon premier mot coupé au premier -, sauf U-PLAN). Somme = 141 = total par dépôt

  • jeu 5.8 (90 ; 37 lots) : STB 15, U8 8, OBB 5, ETAT2 4, STE 4, STF 4, STM 4, AG 3, OBP 3, U7 3 ; à 2 : BUD1, DOCMV, EDIT1, EDIT2, EDIT3, ETAT3, OUT1, README, U-PLAN, U0 ; à 1 : DC4, DOCNUM, DOCSTAT, LISIB, REPO (préfixe brut REPO-MV), SEQ1, STAT1, STC, STD, TPL1, U1, U2, U3, U4, U5, U6, U7b.
  • addon (40 ; 17 lots) : AG 4, OBP 4, OUT1 4, U4 3, U7 3 ; à 2 : BUD1, DOCMV, EDIT1, EDIT2, EDIT3, ETAT2, OBB, TPL1, U1, U3 ; à 1 : SK, U7b.
  • modules 5.8 (1) : STB 1. jeu 5.5 (10) : U-PLAN 2, U0 2, DC4 1, DOCNUM 1, ETAT2 1, ETAT3 1, README 1, U1 1.
  • Tous dépôts (38 lots distincts) : STB 16, U8 8, AG 7, ETAT2 7, OBB 7, OBP 7, OUT1 6, U7 6, BUD1 4, DOCMV 4, EDIT1 4, EDIT2 4, EDIT3 4, STE 4, STF 4, STM 4, U-PLAN 4, U0 4, U1 4, U4 4, ETAT3 3, README 3, TPL1 3, U3 3, DC4 2, DOCNUM 2, U7b 2, DOCSTAT 1, LISIB 1, REPO 1, SEQ1 1, SK 1, STAT1 1, STC 1, STD 1, U2 1, U5 1, U6 1.
  • Préfixes bruts regroupés (colonne CSV prefixe_brut) : AG + ETAT3→AG ; STB-*→STB ; STE-Rn STE→STE ; STF-T5 (a|b)→STF ; STM-T4c→STM ; U0-entree→U0 ; U8-ADDON→U8 ; OBP-T2→OBP ; REPO-MV→REPO.

2.4 Auteurs

  • Identités d'e-mail distinctes : 2, auteur = committer pour les 141 commits. Longue 336072401+edujiro5972@users.noreply.github.com : 113 commits (jeu 5.8 90, modules 1, jeu 5.5 10, addon 12). Courte edujiro5972@users.noreply.github.com : 28 commits, tous dans l'addon, tous avant le gardien, dernier 2026-10-09T23:46:14.
  • Addon : 28 courtes avant le gardien, 12 longues après (dont bdb8f6b et a8dea6d = AG-R1/R2 commités avec -c user.email=… long, journal l.14-15, avant le correctif de config AG-R5, l.18).
  • Noms d'auteur : non relevés.

2.5 Mise en place du gardien et commits après lui

  • Premier commit sur ticket : 3aaaf2c (jeu 5.8, ETAT3-R1), 2026-10-10T10:45:50+02:00 ; le hash figure dans la ligne Statut : fait (3aaaf2c) du ticket. Premier verrou (dossier VERROU\1) : 10:35:40. Premier commit dont le message cite un ticket : 6eb1544, 11:36:27 (cite OBB-R1, OBB-R2, REPO-MV-R1, STF-R1).
  • Avant le gardien : 94 commits (jeu 5.8 57, addon 28, jeu 5.5 9) ; après : 47 (jeu 5.8 33, addon 12, modules 5.8 1, jeu 5.5 1), soit P2 en entier.
  • Après le gardien, 41 commits sur 47 citent un ticket (sujet : 7 ; corps seulement : 34) : jeu 5.8 28, addon 12, modules 5.8 1. 6 commits ne citent aucun identifiant de ticket dans leur message (liste complète) ; tous sont rattachés à un ticket par un autre moyen ; 0 commit sans aucun lien à un ticket :
Dépôt Hash Date locale Lot Fichiers Lien au ticket Preuve
jeu 5.8 3aaaf2c 10-10 10:45:50 ETAT3 301 ETAT3-R1 Statut : fait (3aaaf2c) (établi)
jeu 5.5 46fe1b4 10-10 10:46:21 ETAT3 3 ETAT3-R2 Statut : fait (46fe1b4) (établi)
jeu 5.8 bc4d91f 10-10 10:54:01 STC 6 STC-R1 Statut : fait (bc4d91f) (établi)
jeu 5.8 1a4e73c 10-10 10:54:18 ETAT3 2 ETAT3-R5 Statut : fait (1a4e73c) (établi)
jeu 5.8 b7f8efc 10-10 10:59:01 REPO-MV 16 REPO-MV-R1 Statut : fait (b7f8efc) (établi)
jeu 5.8 b63196a 10-10 11:03:08 STD 3 STD-R1 estimé : ticket Statut : fait sans hash, journal l.10 « b7f8efc → (hash : git log --grep STD-R1) » ; or le message ne contient pas STD-R1, donc --grep ne le retrouve pas ; git log -1 --format=%p b63196a = b7f8efc (parent = HEAD d'entrée du journal)

Ces 6 commits précèdent le premier message citant un ticket (11:36:27) ; ils sont faits sur ticket, mais leur message n'a pas l'identifiant (R-REPO1 prévoit de retrouver le hash par git log --grep <TICKET>). Écart à signaler à l'orchestrateur, pas un commit hors gardien.

  • Identifiants que la regex de la fiche trouve mais qui n'ont pas de fichier tickets\ : MV-R1 (fragment de REPO-MV-R1, dans 6eb1544) et R16-R19 (plage de numéros, dans fcdaf24, avant le gardien). Faux positifs de la regex, ignorés.

2.6 CHG cités dans les messages (sujet + corps)

  • 78 CHG distincts, CHG-245 à CHG-323, un seul trou dans la suite : CHG-269. 129 commits sur 141 citent au moins un CHG ; après le gardien : 40 sur 47 (7 sans CHG).
  • CHG ≥ 296 cités (les 28 réservés par NUMEROS.md) : 296 à 323, tous. Liste complète des CHG par commit : colonne chg_cites du CSV.

2.7 Intervalles entre commits du jeu 5.8 (date de commit, minutes) — médiane recomptée par %ct : 90 commits, 89 intervalles, 10.0

Ensemble Commits Médiane Moyenne Min Max
jeu 5.8 --all 90 10.0 46.7 0.0 810.9
sur ue5.8 seule 89 11.2 47.2 0.0 810.9
avant gardien 57 8.8 42.4 0.0 810.9
après gardien (= P2) 33 12.8 35.1 0.3 229.4
P0 / P1 5 / 52 21.9 / 6.7 20.6 / 39.7 12.4 / 0.0 26.3 / 810.9
3 dépôts confondus 131 4.0 32.0 0.0 810.5

2.8 Tickets (...\etat\REPO\tickets\)

  • 63 fichiers (ls | wc -l = 63). Statuts lus (ligne Statut :) : fait seul 52 ; fait (annotation) 10 (hash 5 : ETAT3-R1, R2, R5, STC-R1, REPO-MV-R1 ; hash dépôt Modules : U8-R1 ; fusion : ETAT3-R3 avec AG-R2, ETAT3-R4 avec AG-R1 ; tag sans commit : STE-R1 ; 2e passage : OBB-R7) ; abandonné 1 (OBB-R11, type PUSH, session fermée, verrou 59 libéré par Big Boss) ; refusé 0, demandé / en cours 0.
  • Types (titre) : COMMIT 50, TAG 8, MOVE 2, CONFIG 1, RESTORE 1, PUSH 1.
  • Par lot : OBB 11, AG 9, OBP 7, STF 7, STE 6, U8 6, DOCMV 5, ETAT3 5, LISIB 2, DOCSTAT 1, README 1, REPO-MV 1, STC 1, STD 1 (somme 63).
  • Date de modification dans la fenêtre : 62 ; hors fenêtre : U8-R6 (mtime 2026-10-11T05:30:33, commit 58f2f13 à 05:30:41). Premier mtime 2026-10-10T10:46:02, dernier 2026-10-11T05:30:33. (mtime = dernière écriture, pas la création.)
  • Tickets liés à au moins un commit de la fenêtre (message ou hash) : 57. Sans commit lié : 6 = AG-R5 (CONFIG), DOCMV-R1 (TAG), STF-R3 (TAG), STF-R5 (TAG), OBB-R11 (PUSH abandonné), U8-R6 (COMMIT, commit hors fenêtre). Donc 49 des 50 tickets COMMIT ont leur commit dans la fenêtre. Parmi les 57, 8 tickets de type autre que COMMIT (TAG, MOVE, RESTORE) ne sont « liés » que parce qu'un message de commit ultérieur les cite en trace (AG-R6, LISIB-R1, OBB-R1, OBB-R6, OBB-R7, STE-R1, STE-R4, STF-R1) : ils n'ont pas de commit propre.
  • Rapprochement avec le journal : 48 lignes COMMIT (hors refus) pour 47 commits liés dans la fenêtre ; la ligne sans commit est U8-R6 (l.66). 0 commit de gardien sans ligne de journal. 16 tickets sont cités par 2 commits ou plus (jeu + addon, jeu + modules : paires de livraison, par exemple U8-R1 = 36d1fa4 et c8661cd) ; liste dans commits-stats.txt, § Tickets.

2.9 Verrou (...\REPO\VERROU\)

  • 164 entrées, toutes des dossiers : 82 N (max 82) et 82 N-libre ; 82 paires ; N sans N-libre (verrous non rendus) : 0 ; N-libre sans N : 0 ; suite 1..82 continue (ls VERROU | grep -c -- '-libre' = 82 ; grep -vc = 82).
  • Premier dossier 2026-10-10T10:35:40, dernier 2026-10-11T05:30:45. Délai entre le dossier N et N-libre (mtime) : médiane 36 s, maximum 1843 s (verrou 59, celui d'OBB-R11 abandonné), 0 négatif.
  • Les lignes du journal citent 47 numéros de verrou distincts (min 5, max 82) ; l'emploi des 35 autres n'est pas recoupé ici.
  • Dossier parasite : ...\etat\REPO\3-libre\ (vide, mtime 2026-10-10T10:46:31), hors de VERROU\ ; VERROU\3-libre existe aussi.

2.10 REPO-JOURNAL.md (67 lignes, 62 lignes de journal aux l.5-66, 9 colonnes chacune ; 0 CR)

  • Dates : 2026-10-10 58 lignes, 2026-10-11 4 lignes (STE-R6, U8-R4, U8-R5, U8-R6).
  • Par lot (colonne « Lot / CHG ») : OBB 11, STF 8, AG 7, OBP 7, STE 6, U8 6, DOCMV 5, ETAT3 3, AG + ETAT3 2, LISIB 2, DOCSTAT 1, README 1, REPO-MV 1, STC 1, STD 1 (somme 62 ; en éclatant AG + ETAT3 : AG 9, ETAT3 5).
  • Par opération : COMMIT 48, TAG 8, MOVE 2, CONFIG 1, RESTORE 1, refus 2 (somme 62). Les 62 tickets cités dans la colonne Ticket ont un fichier ; le seul fichier sans ligne de journal est OBB-R11 (abandonné).
  • Incidents visibles (numéros = lignes du fichier) :
    • --amend : l.20 DOCMV-R3 (INCIDENT) : git diff --name-only sur index privé frais a ajouté 3 fichiers (écart de fins de ligne) ; premier commit d396816 corrigé par commit --amend (resté au reflog seulement) ; effet de bord M sur 3 fichiers de l'addon 5.5 ; suites : ERR-087, CHG-302, règle lp-repo (AG-R7, AG-R8, AG-R9) et RESTORE l.24 AG-R6 (fins de ligne de 3 fichiers, instantané D:\Game\LifePlay_Backup_5.5\AG-R6).
    • Refus : 2 opérations refusées (journal l.33 OBB-R7 : éditeur Unreal en cours, PID 30840, rien fait, refait l.34 « 2e passage » ; l.36 STF-R2 : STF-SPEC.md en CRLF dans l'arbre, diff 105/97 pour 8 lignes réelles, rien commité, repris l.37 « relance »). Le mot « refus » apparaît dans 4 lignes (l.33, 35, 36, 37) ; l.35 et l.37 le citent dans le texte de contrôle seulement.
    • Identité non conforme : l.14, l.15 (adresse courte), commits avec -c user.email= (accord « Per-commit override ») ; l.18 AG-R5 corrige git config --local user.email dans l'addon.
    • Écarts signalés : l.38 STE-R2 (livrables en CRLF alors que le ticket annonçait LF ; « n » littéral dans STE-TACHES.md`) ; ligne d'un autre lot apparue (l.32 AG-R9 : ligne OBB-R6 ; l.10 STD-R1 : ligne REPO-MV-R1).
    • index.lock : 52 lignes le mentionnent, toutes sous la forme « pas d'index.lock » ; 0 incident. Hook : core.hooksPath non défini dans les 4 arbres (git config --get, code 1), .git\hooks du jeu 5.8 = fichiers .sample seulement ; ...\REPO\hooks\pre-commit (1622 o) existe mais n'est pas installé ; 19 lignes de journal notent « aucun core.hooksPath » ; l.43 OBP-R2 « pas de garde-fou installé ». 0 refus par hook.
    • Verrou rendu : l.21 DOCMV-R4, l.55 LISIB-R1 (verrou rendu avant une nouvelle prise). Aucun verrou resté pris.
    • Commit à hash non retrouvable par --grep : STD-R1 (voir § 2.5).

2.11 NUMEROS.md (41 lignes ; CRLF : 40 CR / 40 LF, 10368 o ; 32 lignes de réservation)

Type Lignes Numéros utilisé réservé abandonné
CHG 28 296 à 323 (suite continue) 28 0 0
ERR 3 058 à 086 (29), 087, 088 = 31 31 0 0
DOC 1 32 1 0 0
  • Lots (CHG) : STE 9, OBB 4, STF 3, OBP 2, STC, ETAT3, REPO-MV, AG, DOCMV, AG (suite), README, DOCSTAT, LISIB, U8 : 1 chacun. Dates : 28 lignes le 2026-10-10, 4 le 2026-10-11 (CHG-320 à 323).
  • Rapprochement avec les commits : les 28 CHG de NUMEROS.md sont cités par au moins un message de commit de la fenêtre (liste des non cités : vide) ; aucun CHG ≥ 296 cité par un commit n'est absent de NUMEROS.md. Messages citant ERR-058, ERR-086, ERR-087 ou ERR-088 (git log --grep) : 3aaaf2c, eb03bfe, 073f9df.
  • 12 lignes portent encore dans le texte du statut « non commité(e) » alors que la ligne est utilisé et que le numéro est cité par un commit : DOC 32 (l.9), CHG-297 (l.11), ERR-058 à 086 (l.12), CHG-301 (l.16), ERR-087 (l.17), CHG-302 (l.18), CHG-304 (l.20), CHG-307 (l.23), CHG-308 (l.24), CHG-310 (l.27), CHG-312 (l.29), CHG-323 (l.40). Texte non mis à jour après commit ; le statut (premier mot) reste exact.

3. Écarts au compte attendu de la fiche

La fiche ne fixait pas de compte attendu. Points où les faits diffèrent de la description de la fiche :

  1. « Les 3 dépôts » : l'addon 5.5 et l'addon 5.8 sont un seul dépôt (worktree), donc 40 commits, pas 80. Les dépôts comptés : jeu 5.8 (90), addon (40), modules 5.8 (1) = 131.
  2. Ligne séparée jeu 5.5 : 10 commits dont 9 déjà comptés dans le jeu 5.8 (mêmes hash ; le jeu 5.8 a la ref c55/main). Le CSV les porte quand même (141 lignes) avec aussi_dans_jeu58 = oui ; objets distincts = 132. Addon 5.5 : pas de ligne séparée (même dépôt) ; modules 5.5 : 0 commit.
  3. « Commit sans ticket après la mise en place du gardien » : 6 commits (tableau § 2.5) ne citent pas d'identifiant de ticket dans leur message (10:45:50 à 11:03:08) ; 0 sans lien du tout. 41 sur 41 commits faits à partir de 11:36:27 citent leur ticket.
  4. 3aaaf2c est le premier commit sur ticket (10:45:50), soit 50 s après le début de P2 (10:45) ; début du gardien retenu = ce commit, car aucun commit n'existe entre le premier verrou (10:35:40) et lui.
  5. Lot « REPO » dans le CSV pour le préfixe REPO-MV (règle de coupe au premier -) ; le lot du journal et des tickets s'écrit REPO-MV.
  6. Dossier REPO\3-libre hors de VERROU\ (vide) ; ticket OBB-R11 sans ligne de journal ; NUMEROS.md : 12 textes de statut périmés (§ 2.11).
  7. Critère d'acceptation : total par lot (141) = total par dépôt (90 + 40 + 1 + 10 = 141) = total par sous-période (10 + 84 + 47 = 141) = lignes du CSV (141, relues par csv, wc -l 142 avec en-tête). Rempli.

4. Établi / estimé / incertain

Établi (commande rejouée, recomptée par une seconde formulation) : les comptes par dépôt (rev-list --count), le CSV (141 lignes, hash uniques), la médiane 10.0 min (script et %ct), 63 tickets et leurs statuts, 82 / 82 / 82 du verrou (ls + grep -c), 62 lignes de journal, 32 lignes de NUMEROS.md, core.hooksPath non défini, addon 5.5 = addon 5.8 (même common-dir), parent de b63196a et 3aaaf2c, hors-fenêtre de 58f2f13. Estimé : (a) le lien b63196a → STD-R1 (chaîne de parent : unique candidat, message sans identifiant) ; (b) la règle de lot (heuristique sur le préfixe du sujet ; la répartition par lot en dépend, pas les totaux) ; (c) le début du gardien = date du premier commit lié à un ticket, déduit du Statut du ticket ; (d) les sous-périodes sont calculées sur la date de commit ; 6 commits ont une date d'auteur différente (écarts du § 2.1), le CSV garde les deux dates, le classement P0/P1/P2 selon la date d'auteur n'a pas été recalculé ; (e) « dans la fenêtre » des tickets d'après le mtime (dernière écriture). Incertain (essai qui trancherait) : (1) commits hors refs, du reflog ou de stash (ex. d396816, amendé) : non comptés par --all, git reflog les montrerait ; (2) emploi des 35 numéros de verrou non cités par le journal : lire les colonnes Lot et Demandeur de NUMEROS.md et les tickets ; (3) pourquoi REPO\3-libre existe : lire REPO-JOURNAL.md autour de 10:46 ou interroger le gardien ; (4) noms d'auteur : git log --format=%an ; (5) les 7 commits sans CHG après le gardien : filtrer le CSV (apres_gardien = oui et chg_cites vide).

Tours : 18 / 40

Constats

  • Autres fichiers modifiés ou non suivis dans l'arbre jeu 5.8 au moment de git status --short, que je n'ai pas touchés (autres sessions) : M Tools/FicheStats.py, M etat/BOSS/BOSS-JOURNAL.md, M etat/ST/STE/STE-TACHES.md, ?? etat/ARCH427/, ?? etat/CAM/, ?? etat/U58/U8P/, ?? etat/ST/STE/….
  • Fins de ligne : NUMEROS.md CRLF (40/40) comme annoncé ; REPO-JOURNAL.md LF (0 CR) ; README.md du dossier REPO CRLF (13/13). Les 63 tickets, REPO-JOURNAL.md et NUMEROS.md sont lus en UTF-8 strict sans erreur.

Fichiers écrits et à commiter (dépôt jeu 5.8, branche ue5.8 ; aucun commit de ma part)

  • A Docs/Migration/etat/EVAL/EVAL-T2-INV.md (.gitignore:77, ajoutable)
  • A Docs/Migration/etat/EVAL/data/commits.csv (.gitignore:78, ajoutable)
  • Écrits mais ignorés par git (.gitignore:75, git check-ignore -v) : Docs/Migration/etat/EVAL/data/commits-stats.txt, Docs/Migration/etat/EVAL/scripts/EvalT2_Commits.py (le script reste rejouable depuis le disque ; à ranger dans Tools/ sur décision de l'orchestrateur).