5.9 KiB
QG1-IMPL-01 : F4 (uproject), F5 (7 fiches de l'addon), Q2 (garde lp-mcp, find)
Fiche QG1-IMPL-01 — Niveau N1 — Modèle prévu sonnet | utilisé sonnet (claude-sonnet-5-5) — Agent session « Sonnet · QG1 » (ex. REP1) — Skills lp-lot, lp-doc, sk-protocol, sk-change-safety. Date : 2026-10-20. Pas de copie UE. Aucune écriture git. Instantané : D:\Game\LifePlay_Backup_5.5\QG1\manifest.csv (uproject et garde).
1. Résultat : réussi (F4, F5, Q2), avec les réserves du § 5
2. F4 : LifePlay.uproject, TargetAllowList: ["Editor"] remis sur McpAutomationBridge
- Avant : l'entrée
McpAutomationBridge(déplacée en fin de liste par l'éditeur) n'avait queEnabled: false(ERR-140). - Après : même entrée, plus
"TargetAllowList": ["Editor"](4 lignes, tabulations du fichier). Seule cette entrée est modifiée ; l'entréeHyperAIStudioreste locale (décision de l'utilisateur, ERR-140). - Mesuré : MD5 avant
0800FC6F53AA80D6645411C17337093A→ aprèsc4da6e2b067a959a98850dbe73acf781; CR 334 → 337 pour 334 → 337 lignes (CRLF conservé,git ls-files --eol:i/crlf w/crlf) ; JSON relu sans erreur (json.load).git diff --numstat LifePlay.uproject:15 7(cumul HEAD, dont les lignes locales HyperAIStudio et le déplacement : voir ERR-140) . - Retour arrière :
.\Tools\Restore.ps1 -Lot QG1 -Only LifePlay.uproject(le fichier sauvegardé est l'état avant F4, avec HyperAIStudio local).
3. F5 : 7 fiches de l'addon à constat PubCheck
Cause : le chemin du profil (C:\Users\<compte>\.cursor\skills\…) dans 7 fiches (18 constats : 9 lignes, PROFIL et NOM). Remplacement de C:\Users\<compte>\.cursor par %USERPROFILE%\.cursor (aucun nom de compte laissé), Edit replace_all, un fichier à la fois.
Fiche (addon Docs\etat\) |
Lignes touchées | MD5 après | CR |
|---|---|---|---|
CG\ENV1\ENV1-T1-FICHE.md |
8 | 54FD8C64CCBED2FEDD0D2FFEC4DB447E |
0 |
CG\SHP1\SHP1-T1-FICHE.md |
8 | 69E89552BE702BBF0F2BD6AA85A9BB5A |
0 |
CG\SHP1\SHP1-T2-FICHE.md |
8 | B139437E91082127B954044AE44DFB30 |
0 |
OUT\PROJ1\PROJ1-T3-DOC.md |
7, 8, 9 | 15D6DB00189625718926A3771E652FAF |
0 |
OUT\UEM1\UEM1-T5-FICHE.md |
15 | 539219D4B239584826FEDD3A12486AA0 |
17 (CRLF) |
OUT\UEM1\UEM1-T6-FICHE.md |
13 | EC654BC1CB6C1D563A4CB38A36F8992D |
15 (CRLF) |
OUT\UEM1\UEM1-T7-FICHE.md |
15 | F6103A8353AA9433AF008C2494B596C9 |
17 (CRLF) |
PubCheck des 7 fichiers après : PubCheck : 0 constat(s) (avant : 18 constat(s)). Les fichiers sont non suivis par git dans l'addon : pas de numstat possible ; fins de ligne par fichier conservées (CRLF pour les trois UEM1, LF pour les autres, comptés par CR).
4. Q2 : garde lp-mcp, find fonction sûre (v7)
- Fichier :
Tools\hooks\lp-mcp-garde-lecture.py(local, non suivi). Changement :"find"ajouté àSURES(2 lignes : le jeu de noms sûrs et une ligne de docstring v7).git diff --no-indexcontre la copie du profil :1 file changed, 2 insertions(+), 1 deletion(-). - MD5 : v6
ced2d9a556ef530b4bfcd056246be3be→ v7b9e7ba298458d69cee5fa4799879be92. - Copie du profil (
%USERPROFILE%\.claude\hooks\lp-mcp-garde-lecture.py) non modifiée : c'est la garde réellement active, elle relève de l'utilisateur. À copier par lui (geste, § 6). MD5 du profil aujourd'hui :ced2d9a5…(identique à v6). - Essais (
Saved\QG1\test_garde_v7.py, 8 cas, sortie brute) :
--- v7 (Tools/hooks) --- v6 (profil)
OK find sur chaine code 0 attendu 0 KO find sur chaine code 2 attendu 0
OK find nu code 0 attendu 0 KO find nu code 2 attendu 0
OK lecture find_assets code 0 OK lecture find_assets code 0
OK script lecture len/range code 0 OK script lecture len/range code 0
OK create refuse code 2 attendu 2 OK create refuse code 2
OK delete refuse code 2 attendu 2 OK delete refuse code 2
KO find_and_delete refuse code 0 att. 2 KO find_and_delete refuse code 0 att. 2
OK ecriture editeur refuse code 2 OK ecriture editeur refuse code 2
total 7 sur 8 total 5 sur 8
Le cas 1 et 2 prouvent la correction (refus à tort de TSC1 levé). Le KO find_and_delete est antérieur (v6 aussi) : un nom en find_ passe pour une lecture dans un script ; non corrigé ici (hors périmètre, écriture réelle impossible hors execute_tool, qui vérifie les verbes). Noté en incertitude.
5. Écarts et incertitudes
- F5 : pas d'instantané avant (fichiers non suivis, remplacement trivial réversible : remettre
C:\Users\<compte>\.cursor). Écart àsk-change-safety. - Un contrôle JSON a employé
python -c(lecture seule) contre la règle de méthode : à ne pas répéter. - Incertain : la garde v7 n'a pas été rejouée sur le corpus complet
Tools\hooks\cas-v2.jsonldu crochet.
6. Gestes de l'utilisateur
Pour activer la garde v7 (Q2) :
- Copier :
Copy-Item "D:\Game\LifePlay-master 5.8\Tools\hooks\lp-mcp-garde-lecture.py" "$env:USERPROFILE\.claude\hooks\lp-mcp-garde-lecture.py" - Attendu :
(Get-FileHash "$env:USERPROFILE\.claude\hooks\lp-mcp-garde-lecture.py" -Algorithm MD5).Hash=B9E7BA298458D69CEE5FA4799879BE92.
7. Fichiers à commiter (par le gardien)
- Jeu (M) :
LifePlay.uprojectseulement si l'utilisateur lève sa décision « uproject reste local » (il porte aussi HyperAIStudio : ne PAS le commiter tel quel). Sinon, rien. - Jeu (A) :
Docs/Migration/etat/AG/QG1/QG1-IMPL-01.md. - Addon (A, non suivis) : les 7 fiches du § 3 (
Docs/etat/CG/ENV1/ENV1-T1-FICHE.md,Docs/etat/CG/SHP1/SHP1-T1-FICHE.md,…SHP1-T2-FICHE.md,Docs/etat/OUT/PROJ1/PROJ1-T3-DOC.md,Docs/etat/OUT/UEM1/UEM1-T5-FICHE.md,…T6-FICHE.md,…T7-FICHE.md) si Big Boss veut les suivre. - Hors git :
Tools/hooks/lp-mcp-garde-lecture.py,Saved/QG1/.
Tours : environ 26. À verser : lp-mcp — la garde v7 accepte find ; sk-change-safety — un remplacement de masse sur fichiers non suivis demande quand même un instantané.