LifePlay-Revival/Docs/Migration/etat/AG/P7/P7-T6a-DOC.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

14 KiB
Raw Blame History

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 ; cp seulement pour l'étape c.

5. Fichiers à commiter

Addon 5.8 (D:\Game\LifePlay-Sandbox-5.8, branche de l'addon) :

  • A Tools/claude/skills/sk-protocol/SKILL.md (répertoire non suivi : git status montre ?? Tools/claude/skills/sk-protocol/)
  • A Tools/claude/skills/sk-orchestrate/SKILL.md (idem)
  • A Tools/claude/skills/sk-windows-shell/SKILL.md (idem)
  • M Tools/claude/skills/lp-validate/SKILL.md
  • M Tools/claude/skills/lp-lot/SKILL.md
  • M Tools/claude/skills/lp-ue-compat/SKILL.md
  • M Tools/claude/skills/lp-doc/gabarits.md

Addon 5.5 (D:\Game\LifePlay-Sandbox) : commits jumeaux

  • M Tools/claude/skills/lp-validate/SKILL.md
  • M Tools/claude/skills/lp-lot/SKILL.md
  • M Tools/claude/skills/lp-ue-compat/SKILL.md
  • M Tools/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 cmp et 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\skills n'est pas fait (geste de l'utilisateur) ; le gardien n'a rien commité.

Tours : 14 / 40