7 KiB
Fiche PUB3-T6a-bis — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 (déclaré par l'environnement) — Agent lp-validator — Skills sk-protocol, sk-recount, lp-validate, sk-windows-shell, debug-verification
PUB3-T6a-bis-VAL : rejeu de la VAL de Tools\PubCheck.ps1 après corrections D1 à D7 (2026-10-13)
Copie D:\Game\LifePlay-master 5.8, branche ue5.8. Tools\PubCheck.ps1 relu en entier (290 l.). Valeurs personnelles
jamais écrites : <compte>, <machine>, <adresse>. <scratchpad> = dossier temporaire de la session. Aucune écriture git
dans le projet (les git init/add/commit visent des témoins jetables du scratchpad), aucun hook installé, aucun fichier du
projet modifié sauf PUB3-T6a-VAL.md (corrigé, § 4) et ce livrable.
1. Fiches amont relues
PUB3-T6a-VAL.md (FAIL, D1 à D7), PUB3-T5-IMPL.md § 6 et § 7 (annoncés par la coordination), Tools\PubCheck.ps1 corrigé.
Fraîcheur : HEAD ue5.8 a avancé d'un commit (a08c134, CAM-B1) depuis la VAL précédente (f32df0d).
2. Points à confirmer des IMPL (T5 § 6 et § 7)
| Point | Verdict |
|---|---|
| Corrections D1 à D7 effectives | PASS, voir § 3 |
| Extension de la SPEC (CHEMIN-NOM, CHEMIN-MACHINE, IDENTITE-NOM) à juger | PASS techniquement ; opportunité à l'utilisateur (§ 6) |
Client graphique sans pwsh dans le PATH |
reporté (inchangé) |
3. Critères rejoués
3.1 Verdict par défaut
| Défaut | Essai (témoin jetable ou dépôt réel) | Résultat brut (masqué) | Verdict |
|---|---|---|---|
| D1 messages | commit dont le message contient le compte, nom git d'auteur = compte, email noreply ; -Pointe HEAD -Distant origin |
e42c54f:IDENTITE:0:IDENTITE-NOM ; e42c54f:MESSAGE:1:NOM ; PubCheck : 2 constat(s) ; code 1 (avant : 0) |
PASS |
D2 -Index et ++ |
plus.txt (ligne ajoutée ++ <compte>) |
plus.txt:2:NOM présent en -Index (avant : absent) ; -Index du témoin B : 8 constats |
PASS |
| D3 temps quadratique | texte à lignes courtes, compte en dernière ligne, -Fichiers |
1,9 Mo 1,2 s ; 4,7 Mo 2,1 s ; 9,4 Mo 3,5 s ; 18,8 Mo 5,9 s ; 109 Mo : -Arbre 32,1 s, -Pointe 31,4 s, -Fichiers 29,6 s, constat gros.txt:1400001:NOM (ligne exacte : 1 400 000 lignes + 1) ; avant : 13 s / 78 s / 330 s / > 1 180 s |
PASS (linéaire ; 109 Mo dépasse 30 s, hors de la SPEC § 4.3 qui vise 60 s pour ue5.8) |
| D4 chemins et noms | fichiers propre-<machine>.txt, propre-<compte>.txt, neutre.txt (même contenu) ; nom git d'auteur = machine |
-Fichiers, -Index, -Arbre : propre-<machine>.txt:0:CHEMIN-MACHINE et propre-<compte>.txt:0:CHEMIN-NOM, code 1 ; -Pointe : d2ae07b:IDENTITE:0:IDENTITE-NOM ; <compte>-fichier.txt:0:CHEMIN-NOM aussi en -Index, -Arbre, -Pointe (témoin B) |
PASS avec réserve D8 |
| D5 masque | -Depot = dossier sous le profil |
PubCheck : erreur : depot introuvable : C:\Users\<compte>\AppData\Local\Temp\… ; chemins de constat masqués |
PASS |
| D6 cosmétique | -Index avec chemin à espaces ; ligne « introduit par » |
dossier avec espaces/f e.txt:1:NOM sans tabulation ; introduit par 094ed0c (7 car.) |
PASS |
| D7 document | PubCheck.ps1 -Fichiers sur PUB3-T5-IMPL.md, PUB3-T3-SPEC.md, Tools/PubCheck.ps1, Tools/hooks/pre-push |
PubCheck : 0 constat(s) |
PASS |
D8 (nouveau, mineur, faux négatif) : en -Pointe, des fichiers de même contenu forment un seul blob et seul le premier chemin
listé par rev-list --objects est testé (PubCheck.ps1:235, $vus[$sha]). Témoin à trois fichiers de contenu identique, dont deux
avec le compte ou la machine dans le nom : -Pointe HEAD donne 0 constat(s), alors que -Fichiers, -Index et -Arbre en donnent 2.
3.2 Témoins A, B, C rejoués (dépôts neufs)
A : 9 constats en -Fichiers, -Index, -Arbre -Binaires, -Pointe (8 sans -Binaires), mêmes catégories qu'à la VAL précédente
(NOM, PROFIL sous deux formes, PROFIL autre nom, MACHINE, ADRESSE, BINAIRE-NOM) ; cas admis 0 dans les 4 modes ; IDENTITE code 1 ;
USERNAME vide, COMPUTERNAME vide, dépôt introuvable, ref inconnue : code 2. B : espaces, non ASCII, CRLF, majuscules,
souligné, UTF-16, ++ : tous détectés. C : lignes de 20 000, 100 000 et 400 000 car. : code 0 en 0,8 à 1 s.
3.3 Critères sur le vrai dépôt
| # | Commande | Compte brut | Verdict |
|---|---|---|---|
| 1 | pwsh -NoProfile -File Tools\PubCheck.ps1 -Arbre ue5.8 (et avec -Binaires) |
PubCheck : 218 constat(s), code 1, 2,7 s ; 69 fichiers, 109 fichier:ligne, NOM=109, PROFIL=109, aucune catégorie CHEMIN ; identique avec -Binaires. git grep -c : 69 fichiers, 109 lignes ; git grep -o : 116 |
PASS : 218 inchangé, pas de faux positif des nouvelles catégories |
| 5 | USERNAME='' + -Arbre ue5.8 |
PubCheck : erreur : variable USERNAME vide, code 2 |
PASS |
| 6 | -Pointe ue5.8 -Distant origin |
HEAD a08c134 : 746 constats (NOM=374, PROFIL=372), code 1, 22 s. -Pointe f32df0d : 734, identique à l'ancien compte ; les 12 de plus viennent d'un seul blob introduit par a08c134. Aucune ligne CHEMIN, IDENTITE ni MESSAGE |
PASS (écart de compte expliqué) |
| 7 | <scratchpad>\hook-test.sh (même charge qu'avant) |
ue5.8 code 1 (22 s) ; pointe origin/main code 0 ; sha local zéros code 0 ; PATH sans pwsh code 1 ; LP_PUBCHECK absent code 1 |
PASS |
| 8 | Select-String -SimpleMatch compte et machine sur PUB3\ (10 fichiers dont les 2 livrables), PubCheck.ps1, pre-push |
compte : 0 ; machine : 0 | PASS |
4. Corrections de mon livrable précédent
PUB3-T6a-VAL.md réécrit en entier (un seul Write) : l. 58 et 89 reformulées sans exemple de chemin de profil ; « 16 s » retiré ;
« (l. 15) » remplacé par « l. 15-16 » ; renvoi vers ce livrable ajouté. Son verdict FAIL reste historique ; il est levé ici.
5. Contrôles finaux mesurés
Commande : pwsh -NoProfile -File Tools\PubCheck.ps1 -Fichiers Docs/Migration/etat/AG/PUB3/PUB3-T6a-VAL.md Docs/Migration/etat/AG/PUB3/PUB3-T6a-bis-VAL.md
Sortie : PubCheck : 0 constat(s), code 0 (mesuré avant la dernière réécriture de ce fichier, qui ne change que ce § 5 et le
compte de tours ; le même contrôle est rejoué après, voir le compte rendu). Select-String -SimpleMatch compte et machine : 0 et 0.
6. Verdict et points à confirmer
Verdict global : PASS avec réserve D8. D1 à D7 : PASS. Critères 1, 5, 6, 7, 8 : PASS sur le vrai dépôt.
- Extension de la SPEC (CHEMIN-NOM, CHEMIN-MACHINE, IDENTITE-NOM) : accepter ou retirer (aucun faux positif sur
ue5.8). - D8 : corriger (tester tous les chemins d'un blob partagé) ou accepter ; le risque ne vaut que si un chemin fautif partage un blob.
- Établi : tout le § 3 (rejoué aujourd'hui). Estimé : D8 limité aux blobs partagés (lecture de
PubCheck.ps1:232-236). Incertain : client graphique sanspwsh; push vers URL ;-Arbre origin/main(non rejoué).
Fichiers à commiter
A Docs/Migration/etat/AG/PUB3/PUB3-T6a-bis-VAL.md ; M (ou A) Docs/Migration/etat/AG/PUB3/PUB3-T6a-VAL.md (réécrit).
Tours : 20 / 30