14 KiB
Fiche P7-T6a — Niveau N1 — Modèle prévu sonnet | utilisé Sonnet 5.5 (claude-sonnet-5-5) — Agent lp-writer — Skills sk-protocol, sk-change-safety
P7-T6a-DOC : versement des « À verser » du lot P7 dans 7 skills (2026-10-12)
Tentative 1/4. Réservations Big Boss (2026-10-12) : 7 fichiers de l'addon 5.8 et jumeaux de l'addon 5.5 (arbitrage :
commits jumeaux tant que la jonction 5.8\.claude\skills pointe sur l'addon 5.5). Aucun refus d'autorisation
rencontré ; rien écrit sous %USERPROFILE%\.claude ; aucune commande git qui écrit.
1. Fichiers écrits
Addon 5.8 (D:\Game\LifePlay-Sandbox-5.8\Tools\claude\skills\), tous par Edit :
| V | Fichier | Emplacement | Ligne après | Statut |
|---|---|---|---|---|
| V1 | sk-protocol\SKILL.md |
§ 1, puce en fin de section | l. 16-17 | appliqué |
| V2 | sk-protocol\SKILL.md |
§ 7, puce en fin de section | l. 87-89 | appliqué |
| V3 | sk-protocol\SKILL.md |
§ 7, puce « Agent sans Edit » (liste + phrase finale) | l. 75-80 | appliqué |
| V4 | sk-orchestrate\SKILL.md |
§ 2, puce après les règles dures | l. 26-30 | appliqué |
| V5 | sk-orchestrate\SKILL.md |
§ 3, fin du paragraphe Taille | l. 60-61 | appliqué |
| V6 | sk-orchestrate\SKILL.md |
§ 4, statuts de la puce « Échec » | l. 78 | appliqué |
| V7 | sk-orchestrate\SKILL.md |
§ 1, puce N5 | l. 16 | appliqué |
| V8 | lp-doc\gabarits.md |
§ TACHES, après « Statuts : … » | l. 85-88 | appliqué |
| V9 | lp-validate\SKILL.md |
§ 1, puce | l. 38-39 | appliqué |
| V10 | lp-validate\SKILL.md |
§ 1, puce | l. 40-41 | appliqué |
| V11 | sk-windows-shell\SKILL.md |
§ Chemins et guillemets, 3 puces | l. 19, 20, 21 | appliqué |
| V12 | lp-lot\SKILL.md |
§ Avant toute modification, 2 puces | l. 36-38 et 39-41 | appliqué |
| V13 | lp-ue-compat\SKILL.md |
§ 1 Cadre, puce en fin de section | l. 23-25 | appliqué |
Écarts de forme (aucun texte changé) : coupures de ligne à ≈ 120 caractères, permises par la fiche ; V3 : les 4 lignes de la puce « Agent sans Edit » sont réécrites en 6 lignes (même texte, reflux des retours à la ligne) pour tenir à 120 lignes ; V8 : la ligne « 2026-10-10) ; au 4e échec… » est coupée avant « Colonne CHG » (même texte) ; V5 : retour à la ligne dans le paragraphe Taille (qui est une ligne unique très longue) avant « sur 10 viennent du pic ».
Addon 5.5 (D:\Game\LifePlay-Sandbox\Tools\claude\skills\), par cp depuis l'addon 5.8 (étape c) :
lp-validate\SKILL.md, lp-lot\SKILL.md, lp-ue-compat\SKILL.md, lp-doc\gabarits.md.
Instantané (étape a) : D:\Game\LifePlay_Backup_5.5\P7\T6a\{addon58,addon55}\<skill>\ et
D:\Game\LifePlay_Backup_5.5\P7\T6a\manifest.csv (7 + 4 fichiers, MD5 de départ, tous égaux à ceux de la fiche).
Retour arrière : recopier chaque fichier de l'instantané vers son chemin d'origine (Copy-Item ; MD5 de départ ci-dessous),
ou git revert du commit du ticket (les 3 sk-* sont non suivis dans l'addon 5.8 : retour par l'instantané seulement).
MD5 de départ (8 premiers car.) : sk-protocol 33B8EBCA, sk-orchestrate 5E930A7B, sk-windows-shell FEAE2C7C, lp-validate 27865537,
lp-lot 0D226F1C, lp-ue-compat 760E6E83, gabarits 9DA8BE89 (complets dans manifest.csv).
2. Numéros utilisés (CHG, ERR, doc)
sans objet : la fiche ne réserve aucun numéro et n'en demande pas ; Grep P7 dans etat\REPO\NUMEROS.md : aucun résultat.
La DOC de clôture (P7-T6) portera l'entrée CHG.
3. Index, plages et registre des reports
sans objet : aucun doc créé, aucun CHG, aucun report coché (fiche de versement de skills).
4. Écarts à la fiche
- Aucun texte hors V1-V13 ; aucun autre fichier touché ; aucun refus d'autorisation.
sk-protocol: 113 → 120 lignes (limite 120 atteinte exactement) ; V1 / V2 non raccourcis, mais le reflux de V3 (voir § 1) a été nécessaire.- Lignes > 120 caractères : seulement des lignes préexistantes (paragraphes de
sk-orchestrate, descriptions) ; la limite de la fiche porte sur le nombre de lignes. tar,sed, script : aucun utilisé pour écrire ;cpseulement pour l'étape c.
5. Fichiers à commiter
Addon 5.8 (D:\Game\LifePlay-Sandbox-5.8, branche de l'addon) :
ATools/claude/skills/sk-protocol/SKILL.md(répertoire non suivi :git statusmontre?? Tools/claude/skills/sk-protocol/)ATools/claude/skills/sk-orchestrate/SKILL.md(idem)ATools/claude/skills/sk-windows-shell/SKILL.md(idem)MTools/claude/skills/lp-validate/SKILL.mdMTools/claude/skills/lp-lot/SKILL.mdMTools/claude/skills/lp-ue-compat/SKILL.mdMTools/claude/skills/lp-doc/gabarits.md
Addon 5.5 (D:\Game\LifePlay-Sandbox) : commits jumeaux
MTools/claude/skills/lp-validate/SKILL.mdMTools/claude/skills/lp-lot/SKILL.mdMTools/claude/skills/lp-ue-compat/SKILL.mdMTools/claude/skills/lp-doc/gabarits.md
Le dossier Tools/claude/skills/ de l'addon 5.8 contient d'autres dossiers non suivis (debug-verification, sk-change-safety,
sk-probe, sk-recount, sk-repo, synced, ue-cpp-build) : hors périmètre, non touchés. Le déploiement vers %USERPROFILE%\.claude\skills
(sk-protocol, sk-orchestrate, sk-windows-shell) reste un geste de l'utilisateur.
6. Lignes « À verser » versées
sans objet : fiche de versement ; elle verse les lignes V1-V13 choisies par l'orchestrateur ; la DOC de clôture P7-T6 notera
versé (CHG-n) dans la colonne du registre.
Contrôles (étape d)
Commande (sorties collées telles quelles) :
wc -l ; tr -cd '\r' < f | wc -c ; md5sum ; awk (colonne max) sur les 7 fichiers de l'addon 5.8
sk-protocol/SKILL.md lignes=120 CR=0 md5=3f72741d5c63504906d5e299131d1ca6 maxcol=697
sk-orchestrate/SKILL.md lignes=102 CR=0 md5=9e12c4af49be905fb1da66dfcf390bba maxcol=841
sk-windows-shell/SKILL.md lignes=52 CR=0 md5=e8f8f58e3ed4bc57a6abf988e215f6e9 maxcol=410
lp-validate/SKILL.md lignes=112 CR=0 md5=e6ef4630bf35bb4d3b3dab42e4d84122 maxcol=574
lp-lot/SKILL.md lignes=87 CR=0 md5=aefeaa1e6ad2acf5f500bf243000110a maxcol=363
lp-ue-compat/SKILL.md lignes=72 CR=0 md5=3ce73bbf6344d44ec2f7e7292365d3cb maxcol=615
lp-doc/gabarits.md lignes=112 CR=0 md5=a0021c8caa1a469c66e9e03d90546e3c maxcol=150
Jumeaux de l'addon 5.5 (CR par tr -cd '\r' < f | wc -c, MD5, cmp addon 5.8 / addon 5.5) :
lp-validate/SKILL.md CR=0 md5=e6ef4630bf35bb4d3b3dab42e4d84122
cmp OK lp-validate/SKILL.md
lp-lot/SKILL.md CR=0 md5=aefeaa1e6ad2acf5f500bf243000110a
cmp OK lp-lot/SKILL.md
lp-ue-compat/SKILL.md CR=0 md5=3ce73bbf6344d44ec2f7e7292365d3cb
cmp OK lp-ue-compat/SKILL.md
lp-doc/gabarits.md CR=0 md5=a0021c8caa1a469c66e9e03d90546e3c
cmp OK lp-doc/gabarits.md
git diff --no-index --numstat <instantané> <fichier> (code de sortie 1 = différences, attendu) :
11 4 sk-protocol/SKILL.md (V1 +2, V2 +3, V3 -4/+6)
9 3 sk-orchestrate/SKILL.md (V4 +5, V5 -1/+2, V6 -1/+1, V7 -1/+1)
3 0 sk-windows-shell/SKILL.md (V11)
4 0 lp-validate/SKILL.md (V9, V10)
6 0 lp-lot/SKILL.md (V12)
3 0 lp-ue-compat/SKILL.md (V13)
4 1 lp-doc/gabarits.md (V8 : 1 ligne coupée en 4)
addon 5.5 : 4/0 lp-validate, 6/0 lp-lot, 3/0 lp-ue-compat, 4/1 gabarits (identiques à l'addon 5.8)
Chaque compte correspond aux Vn attendus : aucun autre bloc changé.
Diff complet (git diff --no-index -U0 <instantané> <fichier>, en-têtes retirés)
##### sk-protocol/SKILL.md
@@ -15,0 +16,2 @@
+- `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).
@@ -73,4 +75,6 @@
-- **Agent sans Edit** (lecture seule voulue : `lp-builder`, `lp-cart`, `lp-inventory`, `lp-validator`) : n'appelle
- jamais Edit (outil absent, l'appel échoue). Rédige le livrable en entier, puis **un seul Write** ; une correction =
- un nouveau Write complet du même livrable. Write ne sert qu'au livrable ; le shell n'écrit que ce que produisent les
- commandes de la fiche (journaux, résumés de `Build.ps1`), jamais un script ou un fichier retouché.
+- **Agent sans Edit** (lecture seule voulue : `lp-builder`, `lp-cart`, `lp-cart-max`, `lp-diag`, `lp-inventory`,
+ `lp-mcp`, `lp-validator`) : n'appelle jamais Edit (outil absent, l'appel échoue). Rédige le livrable en entier,
+ puis **un seul Write** ; une correction = un nouveau Write complet du même livrable. Write ne sert qu'au livrable ;
+ le shell n'écrit que ce que produisent les commandes de la fiche (journaux, résumés de `Build.ps1`), jamais un
+ script ou un fichier retouché. Dans la copie 5.8, le crochet `ecriture-gardien` refuse leurs écritures par le
+ shell hors `etat/`, `Saved/` et du dossier temporaire (P7-T3b).
@@ -82,0 +87,3 @@
+- 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).
##### sk-orchestrate/SKILL.md
@@ -16 +16 @@
-- **N5** : sommet ; échec de N4 ou enjeu maximal (irréversible, ampleur) dès le départ.
+- **N5** : sommet ; échec de N4, ou enjeu maximal (irréversible, ampleur) sur une fiche insécable (§ 2).
@@ -25,0 +26,5 @@
+- 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.
@@ -55 +60,2 @@
-**Taille** (…) [ligne unique préexistante, inchangée jusqu'à « synthèse `opus-max` à 162 k en 7 tours. »]
+**Taille** (…) [même ligne, inchangée jusqu'à] synthèse `opus-max` à 162 k en 7 tours. 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.
@@ -72 +78 @@
- l'utilisateur avec options et recommandation. Chaque tentative = une ligne au registre (statuts `reprise`, `escaladée`).
+ l'utilisateur avec options et recommandation. Chaque tentative = une ligne au registre (statuts `reprise`, `escaladée`, `relayée`).
##### sk-windows-shell/SKILL.md
@@ -18,0 +19,3 @@
+- 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).
##### lp-validate/SKILL.md
@@ -37,0 +38,4 @@
+- 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).
+- 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).
##### lp-lot/SKILL.md
@@ -35,0 +36,6 @@
+- É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).
##### lp-ue-compat/SKILL.md
@@ -22,0 +23,3 @@
+- 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).
##### lp-doc/gabarits.md
@@ -85 +85,4 @@
-2026-10-10) ; au 4e échec, statut `bloquée (échec)`. Colonne CHG : le numéro réservé ; le hash du commit se
+2026-10-10) ; au 4e échec, statut `bloquée (échec)`. 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).
+Colonne CHG : le numéro réservé ; le hash du commit se
Seule entorse de présentation du diff ci-dessus : la ligne Taille de sk-orchestrate (≈ 900 caractères) est abrégée par « (…) » ;
le texte exact ajouté est celui de V5 ; la sortie brute complète a été lue au tour 11.
Constats
- Établi (sorties ci-dessus) : V1-V13 appliqués, 0 CR, 4 jumeaux identiques par
cmpet MD5,sk-protocolà 120 lignes pile (toute addition future dans ce fichier doit d'abord en retirer une). - Les
sk-*sont non suivis dans l'addon 5.8 (dossiers??) : le « diff » git du gardien sera un ajout complet, pas un diff ; le contrôle du changement repose sur l'instantanéP7\T6a\addon58. - Non mesuré : la lecture des skills par un agent frais (effet des nouvelles puces) ; le déploiement vers
%USERPROFILE%\.claude\skillsn'est pas fait (geste de l'utilisateur) ; le gardien n'a rien commité.
Tours : 14 / 40