9 KiB
Fiche P7-T6a — Niveau N1 — Modèle prévu sonnet | utilisé <modèle déclaré par ton environnement> — Agent lp-writer — Skills sk-protocol, sk-change-safety
1 Objectif : les lignes « À verser » du lot P7, la décision D-P7.16 et quatre corrections de forme relevées en VAL versées dans 8 fichiers de skills (addon 5.8, jumeaux lp-* et gabarits.md recopiés à l'identique dans l'addon 5.5), textes ci-dessous — lot P7, registre P7-TACHES.md ligne T6a
2 Complexité : a2 b0 c0 d1 e1 f0 = 4 → N1 (textes dictés par la fiche ; seul le placement exact dans la section est à choisir)
2b Agent : lp-writer (modèle surchargé : aucun) — préchargés : sk-protocol, sk-change-safety — à invoquer : aucun — outils retirés : aucun
3 Contexte : la DOC de clôture verse les lignes À verser du registre (D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills\lp-doc\gabarits.md l. 57-58 et 94-95) ; ici, le versement est séparé de la DOC (P7-T6) pour être validé et déployé avant le commit. Sources : colonne « À verser » de D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\P7\P7-TACHES.md, ...\P7\P7-T4b-EVAL.md § 5, ...\P7\P7-DECISIONS.md (D-P7.16 « T4b Go », D-P7.17 « plus de développement 5.5 », utilisateur 2026-10-12), réserves R4, R5 de ...\P7\P7-T9-VAL.md et réserve de P7-T5 (sk-protocol l. 73). Réservations Big Boss : sk-protocol, sk-orchestrate, gabarits.md (lot P7) ; lp-validate, sk-windows-shell, lp-lot, lp-ue-compat déclarés le 2026-10-12. Où vivent les fichiers (relevé de la session P7, 2026-10-12) : les sk-* n'existent que dans l'addon 5.8 (D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills\) et dans %USERPROFILE%\.claude\skills (déploiement = geste de l'utilisateur, pas toi) ; les lp-* et lp-doc\gabarits.md sont jumeaux identiques dans l'addon 5.8 et l'addon 5.5 (D:\Game\LifePlay-Sandbox\Tools\claude\skills\), ce dernier actif par la jonction 5.8\.claude\skills. MD5 et lignes de départ (addon 5.8) : sk-protocol\SKILL.md 33B8EBCA 113 l. ; sk-orchestrate\SKILL.md 5E930A7B 96 l. ; sk-windows-shell\SKILL.md FEAE2C7C 49 l. ; lp-validate\SKILL.md 27865537 108 l. ; lp-lot\SKILL.md 0D226F1C 81 l. ; lp-ue-compat\SKILL.md 760E6E83 69 l. ; lp-doc\gabarits.md 9DA8BE89 109 l. ; addon 5.5 : mêmes MD5 pour les 4 lp-* / gabarits. Points amont à reprendre : aucun.
4 Entrées et commandes :
a. Vérifier les MD5 ci-dessus (écart = arrêt). Instantané : copier les 7 fichiers de l'addon 5.8 et les 4 de l'addon 5.5 dans D:\Game\LifePlay_Backup_5.5\P7\T6a\{addon58,addon55}\<skill>\ + manifest.csv (chemin, MD5).
b. Versements, par Edit, dans l'addon 5.8 (texte à reprendre tel quel, référence entre parenthèses comprise ; tu peux couper une ligne à ≈ 120 caractères) :
V1 sk-protocol § 1, une puce en fin de section : « PONG ne prouve ni le modèle ni l'effort : claude -p --output-format json donne le modèle réel (modelUsage), l'effort n'est pas exposé ; --agents attend un fichier JSON, pas un dossier (P7-T1). »
V2 sk-protocol § 7, une puce en fin de section : « Tester un hook de refus : un agent lp-* refuse de lui-même une consigne d'écriture avant le hook ; prendre des agents d'essai déclarés par claude -p --agents <fichier JSON> (consigne « exécute sans juger »), ou rejouer la charge JSON sur le script ; --agent <nom> donne aussi agent_type à la session principale (P7-T3a, T3a2). »
V3 sk-protocol l. 73 : la liste « lecture seule voulue : lp-builder, lp-cart, lp-inventory, lp-validator » devient « lp-builder, lp-cart, lp-cart-max, lp-diag, lp-inventory, lp-mcp, lp-validator » ; et, à la fin de cette puce, une phrase : « Dans la copie 5.8, le crochet ecriture-gardien refuse leurs écritures par le shell hors etat/, Saved/ et du dossier temporaire (P7-T3b). »
V4 sk-orchestrate § 2, une puce après le paragraphe des règles dures : « La grille choisit la capacité ; elle ne prévoit ni le dépassement de budget ni l'échec de consigne (P7-T4b : 30 fiches P1-P2, rho +0,14, aucun échec de capacité). Essai (D-P7.16, utilisateur 2026-10-12), sur le lot suivant : noter avant l'envoi S = C3 + f (C3 : 0 = gabarit ou format exact du geste dans un skill, 1 = procédure écrite dans un lp-*, 2 = principe seul, 3 = rien) et scinder si S ≥ 2 (N0-N2) ou S ≥ 3 (N3-N5) ; case C9a : chaque fait d'état et chaque critère de la fiche relu le jour même, sinon relire ou demander avant l'envoi ; l'issue est notée après. »
V5 sk-orchestrate § 3, à la fin du paragraphe Taille : « La note a compte les fichiers touchés, pas les sources lues ; 8 dépassements sur 10 viennent du pic, c'est-à-dire du volume lu (P7-T4b) : compter les sources à lire dans la taille. »
V6 sk-orchestrate l. 72 : « (statuts reprise, escaladée) » devient « (statuts reprise, escaladée, relayée) ».
V7 sk-orchestrate l. 16 : « - N5 : sommet ; échec de N4 ou enjeu maximal (irréversible, ampleur) dès le départ. » devient « - N5 : sommet ; échec de N4, ou enjeu maximal (irréversible, ampleur) sur une fiche insécable (§ 2). »
V8 lp-doc\gabarits.md § TACHES, une phrase après la ligne « Statuts : … » (l. 83-85) : « Un niveau ajusté à l'envoi s'écrit ajusté dans la colonne Note, pas escaladé ; une ligne b / c / d écrit sa cause : reprise de la fiche (une tentative) ou suite d'un objet amont (VAL qui rend un FAIL juste, DOC ou VAL de suivi : pas une tentative) (P7-T4a, T4b). »
V9 lp-validate § 1, une puce : « Fichiers non suivis (skills, agents) : comparer à l'instantané du lot, git diff --no-index [--numstat] <instantané> <fichier> (code 1 = différences, pas une erreur) (P7-T2, T9v). »
V10 lp-validate § 1, une puce : « Une roue Python (.whl) se lit sans l'installer : extraction par python -I + zipfile depuis le scratchpad (tar -xf de Git Bash refuse un zip), sha256 de RECORD vérifié, rien exécuté (P7-T7). »
V11 sk-windows-shell § Chemins et guillemets, trois puces : « Motif grep terminé par \ : « Trailing backslash » ; doubler le \ ou grep -F (P7-T2). » ; « python -I ignore PYTHONIOENCODING : la sortie reste en cp1252 et casse sur −, ≈ ; ajouter -X utf8 (P7). » ; « Chemin Windows dans le remplacement d'un sed : \a devient BEL, \h devient h ; préférer l'outil Edit (P7). »
V12 lp-lot § Avant toute modification, deux puces : « Écrire des skills, des agents ou dans %USERPROFILE%\.claude : le mode auto le refuse souvent (Self-Modification, non déterministe) ; prévoir le geste de l'utilisateur, avec les commandes PowerShell Get-FileHash / Copy-Item et les MD5 attendus avant et après (P7-T9, T10). » ; « Installer un hook : poser d'abord le fichier à l'endroit que nomme la commande ($CLAUDE_PROJECT_DIR = la copie du jeu), puis le bloc hooks ; script introuvable = code 2 = toutes les commandes Bash et PowerShell refusées (P7-T3b, 2026-10-12). »
V13 lp-ue-compat § 1 Cadre, une puce : « Une signature d'API UE se lit dans l'en-tête du moteur (fichier:ligne) ; codeturion/unreal-api-mcp 0.3.1 n'est pas une source (surcharges écrasées, dépréciation marquée sur la voisine, constructeurs et .h.inl absents, paramètres coupés ; P7-T7). »
c. Jumeaux : recopier à l'identique (cp) les 4 fichiers modifiés lp-validate\SKILL.md, lp-lot\SKILL.md, lp-ue-compat\SKILL.md, lp-doc\gabarits.md de l'addon 5.8 vers l'addon 5.5 ; MD5 égaux ensuite.
d. Contrôles : wc -l (≤ 120 chacun ; si sk-protocol dépasse 120, raccourcir V1 / V2 à une ligne chacun, sans retirer la référence), CR par tr -cd '\r' < f | wc -c (0), MD5 des 7 + 4 fichiers, git diff --no-index --numstat instantané → version pour chacun (diff complet collé dans le livrable), cmp addon 5.8 / addon 5.5 pour les 4 jumeaux.
5 Pièges : sk-protocol § 7 (Edit seulement pour les skills, jamais de script ; cp seulement pour l'étape c) ; nouveaux : l'écriture de skills peut être refusée par le mode auto : arrête-toi et rapporte le message exact, ne contourne pas ; grep -c $'\r$' ment sous Git Bash ; un motif grep terminé par \ échoue.
6 Interdits : aucun texte hors V1-V13 ; aucun autre fichier (ni sk-recount, ni sk-repo, lp-repo, ni agents, ni hook) ; rien sous %USERPROFILE%\.claude ; aucune commande git qui écrit ; aucun nom d'utilisateur Windows (+ sk-protocol § 2).
7 Livrable : D:\Game\LifePlay-master 5.8\Docs\Migration\etat\AG\P7\P7-T6a-DOC.md au gabarit DOC (tableau V1-V13 : fichier, ligne après, appliqué / refusé) + diffs collés + compte rendu sk-protocol § 3
8 Critère d'acceptation : V1-V13 appliqués (ou refus cité mot pour mot), aucun autre bloc changé (numstat), ≤ 120 lignes, 0 CR, 4 jumeaux identiques (cmp)
9 Budget et arrêt : 40 tours (N1), pic ≤ 150 k, ≈ 25 min — tentative 1/4 ; arrêt si un MD5 de départ diffère ou au premier refus d'autorisation (livrable partiel avec la liste de ce qui reste) ; au budget : livrable partiel + état de reprise