9.4 KiB
Fiche AG-T1b — Niveau N1 — Modèle prévu sonnet | utilisé claude-sonnet-5-5 (Sonnet 5.5) — Agent lp-writer — Skills sk-protocol, lp-doc, lp-lot
AG-T1b-IMPL : correction des écarts E1, E2, E3 de AG-T2-VAL dans les skills des deux arbres de l'addon et dans le hook (2026-10-10)
Preuve : « établi » = commande rejouée ou fichier lu. Modifications faites avec l'outil Edit seulement (un fichier recopié
ensuite par cp de l'arbre 5.8 vers l'arbre principal). Aucune commande git qui écrit. Rien écrit dans la copie 5.5.
Arbre de référence : D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills ; recopie : D:\Game\LifePlay-Sandbox\Tools\claude\skills.
1. Fichiers modifiés (chemins, lignes, avant / après)
Numéros de ligne = fichier après.
| Réf. | Fichier | Ligne(s) | Avant | Après |
|---|---|---|---|---|
| E1a | lp-repo/SKILL.md § 3 |
30-31 | `.claude/`, `.mcp.json` (jeton), `Docs/Migration/etat/`, `Mods/` (doit être **vide** : CHG-110), `ModSources/`, |
`.claude/`, `.mcp.json` (jeton), `Docs/Migration/etat/` sauf `.md` et `.csv` (suivis en texte seul depuis ETAT3, / `.gitignore` l. 74-78 de la copie 5.8 ; voir § 4), `Mods/` (doit être **vide** : CHG-110), `ModSources/`, (une ligne devient deux : +1 ligne, 92 → 93) |
| E1b | lp-paths/SKILL.md |
42-43 | `Plugins/McpAutomationBridge/`, `Docs/Migration/etat/` (tout le dossier, `.gitignore:74` ; `:53` pour les `.txt`), / `*.png`, `*.7z`, `*.mp4`, packs d'animation |
`Plugins/McpAutomationBridge/`, `Docs/Migration/etat/` sauf les `.md` et `.csv` (suivis en texte seul depuis / ETAT3, `.gitignore` l. 74-78 ; l. 53 pour les `.txt`), `*.png`, `*.7z`, `*.mp4`, packs d'animation (deux lignes, 72 → 72) |
| E2a | lp-doc/SKILL.md |
27-28 | « … citer le ticket <LOT>-R<n> ; la correspondance / ticket → hash est dans etat/REPO/REPO-JOURNAL.md. » |
« … citer le ticket <LOT>-R<n> ; le hash se retrouve par / git log --grep <LOT>-R<n> (R-REPO1 : etat/REPO/REPO-JOURNAL.md note le HEAD d'avant, pas le hash). » (64 → 64) |
| E2b | lp-doc/gabarits.md § TACHES |
84-88 | « … le hash du commit est dans / etat/REPO/REPO-JOURNAL.md. Les quatre colonnes de mesure sont remplies par python -I … / … » (5 lignes) |
« … le hash du commit se / retrouve par git log --grep <ticket> (R-REPO1). Les quatre colonnes de mesure sont remplies par / python -I Tools/FicheStats.py --lot <LOT> (copie 5.8) … » ; paragraphe reformaté en 5 lignes (sens conservé, 88 → 88) |
| E2c | lp-repo/SKILL.md § 8 |
75 | Message : <LOT> : <résumé sans contenu de jeu> (CHG-nnn) |
Message : <LOT> : <résumé sans contenu de jeu> (CHG-nnn) ; corps Tickets : -R[, …](pourgit log --grep) |
| E3 | lp-mcp/SKILL.md |
25 | « … fin de gel annoncée ; commit de ses seuls fichiers et lignes. » | « … fin de gel annoncée ; ses seuls fichiers et lignes, commités par ticket au gardien (lp-repo). » (62 → 62) |
| E1c | D:\Game\LifePlay-master 5.8\Docs\Migration\etat\REPO\hooks\pre-commit |
7 | TICKETS="${LP_REPO_TICKETS:-/d/Game/LifePlay-master 5.5/Docs/Migration/etat/REPO/tickets}" |
TICKETS="${LP_REPO_TICKETS:-/d/Game/LifePlay-master 5.8/Docs/Migration/etat/REPO/tickets}" |
| E1c | idem | 29 | INTERDITS=$(git diff --cached … | grep -E '<motif inchangé>') |
INTERDITS=$(git diff --cached … | grep -E '<motif inchangé>' | grep -vE '^Docs/Migration/etat/.*\.(md|csv)$') (motif conservé, filtre ajouté au pipeline) |
Les 7 remplacements sont faits et seuls (E1a, E1b, E1c en deux lignes comptées pour un seul remplacement de la fiche, E2a, E2b, E2c, E3). Le texte de
la ligne 30 de lp-repo (E1a) est celui de la fiche ; il ne reprend pas l'exception sandbox/DC2/DC2-BUILD.md ni la liste .txt, .log, VERROU\
proposées par la VAL (la fiche fait foi).
Vérifications de la règle citée : .gitignore de la copie 5.8, l. 74-78 (règle ETAT3 : tout etat/** ignoré, sauf dossiers, *.md, *.csv) et
l. 53 (/Docs/Migration/etat/**/*.txt) : relu avec Grep, conforme aux numéros écrits.
2. Écarts à la fiche
Aucun écart de texte. Reformatages (autorisés par la fiche, « reformater le paragraphe touché seulement ») : E1a (+1 ligne), E1b (césure déplacée),
E2b (césure des lignes 84-88). Constat : le texte imposé de E3 laisse la phrase de lp-mcp l. 24-25 un peu elliptique
(« … fin de gel annoncée ; ses seuls fichiers et lignes, commités par ticket au gardien (lp-repo). ») : appliqué tel quel, à relire par l'orchestrateur.
3. Instantané
Fait par l'orchestrateur : D:\Game\LifePlay_Backup_5.5\AG-fix\manifest.csv (2026-10-10 11:31). Je l'ai relu : les MD5 « avant » ci-dessous
sont ceux du manifeste, et je les ai rejoués avant toute modification (identiques, dans les deux arbres).
| Fichier | MD5 avant (manifeste = rejoué) | MD5 après |
|---|---|---|
lp-repo/SKILL.md |
806b7f78e010985ec18fc2069b75893c |
122d15b78985c66f06f173b6f46e55d4 |
lp-paths/SKILL.md |
53be296c6653ee540128d0da6df2ba74 |
a8a8597d5c788f672c283226d78e2ac9 |
lp-doc/SKILL.md |
c08e0f51eb77655160ae247bbd50f96b |
e169eb4cc62880f3e8e61d47bb595372 |
lp-doc/gabarits.md |
ad38ca0693681f2b0d127c28e5230d98 |
0280a86d8217effd1744a19a38c01b85 |
lp-mcp/SKILL.md |
8a896676bcfc1e064629be4bbe01deff |
35983be22608e10c69114a1e77264a78 |
etat\REPO\hooks\pre-commit (copie 5.8) |
c68dc5b9be044345353f4475af7d2424 |
9451cf2de86048e08acf6b1058a1c99c |
Retour arrière : D:\Game\LifePlay_Backup_5.5\AG-fix\ (.\Tools\Restore.ps1 -Lot AG-fix -WhatIf pour simuler ; proposé, non lancé).
4. Ce qui n'a pas été fait
- Hook non installé (
core.hooksPathinchangé) ;AG-T1-CONCEPTION.mdl. 106 non modifié (document de conception daté). lp-build,lp-lot,lp-validatenon touchés ; la faute « des copie 5.8 » delp-lotl. 55 reste (hors décision).- Les MD5 exigés par les tickets
AG-R1/AG-R2pourlp-mcp(8a896676…) ne valent plus : nouveau MD535983be22608e10c69114a1e77264a78, à reporter dans les deux tickets par l'orchestrateur (je n'ai pas touché aux tickets). - Aucune relecture de VAL : revérification limitée à demander (fiche AG-T2b, par l'orchestrateur).
5. Points à confirmer en VAL
- 5 paires MD5 égales entre arbres (rejoué ci-dessous, à rejouer par la VAL).
- Les 7 remplacements, relus dans le fichier (pas seulement dans ce tableau).
git diff -- Tools/claude/skills | md5sumidentique dans les deux arbres (7f117a8e325a8b03f7f4522e433a190aici) ;AG-R1.mdl. 21 cite l'ancien01860dfc…, à mettre à jour.- E1 :
lp-repo§ 9 (l. 83-84, « fichier du § 3 indexé ») est cohérent avec le § 3 corrigé et avec le filtre du hook (lecture). - E3 : accepter le libellé imposé de
lp-mcpl. 25 (point 6 de AG-T2-VAL).
Preuves rejouées (toutes après modification) :
| Contrôle | Commande | Résultat |
|---|---|---|
| Paires MD5 | md5sum des 5 fichiers dans chaque arbre (après cp) |
5 paires égales, valeurs du § 3 |
| LF sans BOM | pwsh -NoProfile -Command "& '…\Tools\FileCheck.ps1' @(5 skills + hook)" |
fichiers=6 LF=6 alertes=0 introuvables=0, code=0, CRLF 0 / CR 0 / BOM - |
| Syntaxe du hook | sh -n "…\hooks\pre-commit" |
code 0, aucune sortie |
| Longueur | wc -l |
lp-repo 93, lp-paths 72, lp-doc 64, gabarits 88, lp-mcp 62 (tous ≤ 120) ; aucune ligne modifiée > 120 octets (awk length : les lignes > 120 relevées sont antérieures, comptées en octets) |
| État git, arbre 5.8 | git -C D:/Game/LifePlay-Sandbox-5.8 status --porcelain -uall |
6 M (lp-build, lp-doc/SKILL, lp-doc/gabarits, lp-lot, lp-paths, lp-validate) + 2 ?? (lp-mcp, lp-repo), rien d'autre |
| État git, arbre principal | idem sur D:/Game/LifePlay-Sandbox |
sortie identique |
| Diff stat | git -C <arbre> diff --stat -- Tools/claude/skills |
identique dans les deux : 6 fichiers, 93 insertions, 57 suppressions (avant : 90 / 54 selon AG-T2-VAL G3) |
Un premier essai de FileCheck (guillemets et accent grave en bash) a échoué sur une erreur de syntaxe du shell (unexpected EOF while looking for matching accent grave) avant d'avoir lancé le script ; rejoué sans l'accent grave, résultat ci-dessus.
6. Fichiers à commiter
Rien de neuf : mêmes 8 fichiers par arbre que AG-R1 / AG-R2 (statuts et dépôts inchangés) ; le hook n'est pas suivi (etat/REPO/hooks/ : fichier sans extension .md / .csv, ignoré par .gitignore l. 75).
Dépôt addon, arbre D:\Game\LifePlay-Sandbox-5.8 (ticket AG-R1) et arbre D:\Game\LifePlay-Sandbox (ticket AG-R2) :
- M
Tools/claude/skills/lp-build/SKILL.md,lp-doc/SKILL.md,lp-doc/gabarits.md,lp-lot/SKILL.md,lp-paths/SKILL.md,lp-validate/SKILL.md - A
Tools/claude/skills/lp-mcp/SKILL.md,Tools/claude/skills/lp-repo/SKILL.md
(parmi eux, modifiés par cette fiche : lp-doc/SKILL.md, lp-doc/gabarits.md, lp-paths/SKILL.md, lp-mcp/SKILL.md, lp-repo/SKILL.md, dans les deux arbres.)
Dépôt du jeu, copie 5.8 (suivi en texte seul depuis ETAT3) :
- A
Docs/Migration/etat/AG/AG-T1b-IMPL.md(ce livrable)
Tours : 7 / 30
Constats
- Les dépôts addon sont deux worktrees du même dépôt (AG-T2-VAL § 1) : les deux arbres sont identiques fichier par fichier (MD5) et par diff.
- Le hook n'est pas sous git : sa modification n'a que l'instantané
AG-fixpour filet. - Fichiers modifiés par moi : les 5 skills dans l'arbre 5.8 (Edit), leur recopie dans l'arbre principal (
cp), le hook (Edit, 2 lignes), ce livrable (Write).