LifePlay-Revival/Docs/Migration/etat/AG/AG-T1-CONCEPTION.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

27 KiB
Raw Blame History

Fiche AG-T1 — Niveau N3 — Modèle prévu non précisé (session claude.ai liée au poste) | utilisé claude-opus-5-5 — Agent session liée (hors agents lp-*) — Skills aucun préchargé (lus : voir § 1)

AG-T1-CONCEPTION : gestion du dépôt par un seul agent et skills manquants (2026-10-10)

Lot AG (organisation des agents, doc 32). Lecture seule de tous les dépôts ; seuls ce fichier et les brouillons de etat/AG/brouillons/ sont écrits. Aucun skill installé, aucun agent créé, aucune commande git d'écriture, aucun CHG. Preuve : « établi » = fichier lu ou commande rejouée (citée) ; « estimé » = déduit ; « incertain » = à tester (AG0).


1. Ce qui a été lu

Source Contenu lu Comment
Copie fournie de ~/.claude/skills (%USERPROFILE%\Documents\skills, 2026-10-10) sk-protocol, sk-orchestrate, sk-recount, sk-change-safety, sk-windows-shell, debug-verification, ue-cpp-build (SKILL.md, plan), sk-probe ; dossier synced/ (skills de l'application) écarté en entier sauf ue-cpp-build (titres + § 0-1)
Copie fournie de ~/.claude/agents les 10 agents + sk-probe-agent en entier
Copie fournie de la mémoire du projet MEMORY.md, feedback-subagents-by-task, feedback-file-removal-rules, lifeplay-sandbox-not-committed, lifeplay-github-publication ; recherche « commit, git, session, rôle » dans lifeplay-migration-method et modele-sequencage en entier / par recherche
Skills lp-* (LifePlay-Sandbox-5.8\Tools\claude\skills, branche ue5.8) lp-build, lp-lot, lp-doc + gabarits.md, lp-validate, lp-paths ; en-têtes de lp-commandlets, lp-env, lp-ue-compat en entier / en-têtes
Dépôts jeu 5.5, jeu 5.8, addon (arbre principal et worktree) : branches, worktrees, status, journaux depuis le 2026-10-08, hooks git branch -a, worktree list, status --short, log --all --since=2026-10-08, config core.hooksPath
Docs 10, 21 (§ pin), 22, 26, 27, 29 (§ Méthode), 31 ; SK-ARBRE ; registres STA, OBA, TPL1 voir doc 32

2. Constats sur l'existant

2.1 Dépôts : pourquoi tout le monde se marche sur les pieds (établi)

  1. Personne n'est propriétaire des commits. Aucun agent d'intégration n'existe (lp-integrator prévu par SK-ARBRE § 3.2, jamais écrit) ; lp-lot dit « un commit par phase » sans dire qui ; chaque session principale commite. Aucun hook : core.hooksPath vide et aucun hook actif dans le jeu 5.5, le jeu 5.8, l'addon et Content\Modules 5.8. Seuls git push et git filter-branch sont refusés par settings.local.json.
  2. Rythme et parallélisme. 55 commits sur ue5.8 depuis le 2026-10-08 ; lots STB : 13 commits en 48 min (20:42 → 21:30 le 2026-10-09, 9f59fa6 → 7049121) menés par des sessions parallèles sur la même branche et le même index.
  3. Le même changement commité deux fois. Les skills lp-* vivent dans l'addon, sur deux branches (lot/DC3-atelier pour la copie 5.5, ue5.8 pour la 5.8) : depuis le 2026-10-08, 10 changements commités en double (paires 3d0cb95/8f6bc11, 0d2f0d0/4042315, 3ee14bc/ec23fad, 1b766c2/08d3c7c, aa0c1e5/496ff2c, 8422fd6/a69c43b, 250aa41/d350761, 1bcfe1b/e99e423, 1704741/6295829, 408ce33/8d118bb). Côté jeu, ETAT2 est commité dans les deux copies (d4b3ea3 sur main 5.5, 1d1d283 sur ue5.8).
  4. Divergence en cours. Au moment de la lecture, Tools/claude/skills/lp-build/SKILL.md est modifié et non commité dans l'arbre 5.5 de l'addon (+7 lignes, « décision utilisateur 2026-10-10 (lot STD, 5a) »), alors que la note concerne la 5.8 : les deux copies du skill diffèrent déjà (diff -rq des deux dossiers).
  5. Incidents déjà écrits : fichiers « apparus de l'autre session » dans un git status (etat/publication/PUB2/PUB2-T3.md:17) ; lot en attente de la réécriture d'historique d'une autre session (etat/sandbox/DC3/DC3-IMPL.md:8) ; deux sessions écrivant dans Tools/ et le journal pendant un gel annoncé à une seule (doc 29, règle 7) ; mod monté pendant un commit (CHG-110) ; docs numérotés en double (CHG-246) ; « deux sessions en parallèle = collision de numéros » (lp-doc).
  6. Pins à la main : la ligne « Copie 5.8 » de 21_Sandbox_Addon.md:136 accumule les hashes ; la mémoire lifeplay-sandbox-not-committed situe encore le pin dans S3-INT.md (périmé).
  7. Les skills de méthode et les agents ne sont pas versionnés : ~/.claude/skills et ~/.claude/agents n'ont que les instantanés de lots (LifePlay_Backup_5.5\BUD1-claude, EDIT2-claude, TPL1-claude, SEQ1-skills).
  8. Jonction mal ignorée : ?? Content dans l'arbre principal de l'addon ; la règle /Content/ (barre finale) ne couvre pas une jonction.
  9. Branches figées non déclarées : main de l'addon date du 2026-10-07 (159afbf), 32 commits derrière lot/DC3-atelier, qui sert de branche durable ; la copie 5.5 reçoit encore des commits après ue5.5-final.

2.2 Skills, agents, mémoire (établi)

# Constat Source
S1 lp-builder écrit son livrable dans etat\U58\<lot>\, convention périmée depuis ETAT2 (etat/<projet>/<lot>/) agents/lp-builder.md:16
S2 maxTurns absent de lp-cart, lp-impl, lp-impl-max, lp-validator, lp-writer, opus-xhigh, opus-max, fable-top : le budget BUD1 n'existe que dans la fiche frontmatter des agents
S3 Renvois vers des skills absents : lp-commandlets → ue-commandlet-pattern ; lp-doc → lp-publish (« à venir ») lp-commandlets/SKILL.md:8, lp-doc/SKILL.md:56
S4 Renvois vers la mémoire depuis des skills préchargés par des sous-agents, qui ne la lisent pas (feedback-file-removal-rules : « Les sous-agents ne lisent pas la mémoire ») lp-build § 8 et fin, lp-lot
S5 Agents et gabarits pointent D:\Game\LifePlay-Sandbox\…\gabarits.md (arbre 5.5) même pour un travail 5.8 corps des agents
S6 Agents d'escalade sans restriction d'outils : ils peuvent commiter ; seule la consigne l'interdit opus-xhigh.md, opus-max.md, fable-top.md
S7 sk-protocol § 2 : « Pas de commit … sans demande explicite » — n'indique pas qui commite sk-protocol/SKILL.md
S8 Mémoire feedback-file-removal-rules (2026-10-08) : git rm autorisé à tous ; settings.local.json du jeu l'autorise aussi mémoire, .claude/settings.local.json
S9 lp-paths décrit le dépôt du jeu par le seul chemin 5.5 ; la copie 5.8 (clone distinct) et son Content\Modules ne figurent pas dans la table des dépôts lp-paths/SKILL.md:11-17
S10 Le rôle A-INT (intégrateur, N1) existe dans le modèle de séquençage, sans titulaire unique mémoire modele-sequencage
S11 Le budget par niveau (N0-N2 150 k ; N3-N5 250 k) est en vigueur depuis BUD1 (CHG-295) : l'incohérence D-AG9 du doc 32 est levée sk-orchestrate § 3, commit 239b385

3. Gestion du dépôt : un seul gardien

3.1 Principe

Un seul agent, lp-gardien (rôle A-INT), écrit dans git ; tous les autres lisent et demandent. Il est lancé uniquement par l'orchestrateur général, un ticket à la fois : l'unicité de l'orchestrateur (D-AG1) sert de file d'attente. Les autres sessions (chefs de projet, sessions ponctuelles) ne commitent plus : elles écrivent à l'orchestrateur.

3.2 Flux d'un changement

sous-agent (IMPL, DOC…)        livrable : section « Fichiers à commiter » (A / M / D, un par ligne)
   ↓
manager                         VERDICT ACCEPTÉE + liste des fichiers
   ↓
orchestrateur                   ticket etat/REPO/tickets/<LOT>-R<n>.md (sk-repo § 2), statut « demandé »
   ↓                            (tickets PUSH, RESTORE, HISTOIRE : accord cité, transmis par le chef de projet)
lp-gardien                      contrôles → diff lu → commit sur index privé → tag → pin → journal
   ↓
orchestrateur                   registre TACHES (colonne CHG / hash), lot suivant

Ouverture de lot : ticket TAG (<lot>-avant) avant toute modification. Numéros CHG / ERR / doc : réservés par l'outil (§ 3.4), pas par le gardien, pour ne pas lancer un agent pour un numéro.

3.3 Garde-fous (deux couches)

  1. Hooks git (core.hooksPath de chaque arbre → dossier hooks du dépôt de méthode, D-REPO2). Spécification de pre-commit (sh, exécuté par Git for Windows) :
#!/bin/sh
[ -n "$LP_REPO_HUMAIN" ] && exit 0                       # l'utilisateur à la main
T="/d/Game/LifePlay-master 5.5/Docs/Migration/etat/REPO/tickets/$LP_REPO_TICKET.md"
[ -n "$LP_REPO_TICKET" ] && grep -q '^Statut : en cours' "$T" 2>/dev/null || {
  echo "Commit refusé : réservé au gardien du dépôt (ticket en cours). Demander à l'orchestrateur." >&2; exit 1; }
case "$(git config user.email)" in *@users.noreply.github.com) ;; *)
  echo "Commit refusé : identité $(git config user.email)" >&2; exit 1;; esac
TOP=$(git rev-parse --show-toplevel)
[ -d "$TOP/Mods" ] && [ -n "$(ls -A "$TOP/Mods")" ] && { echo "Commit refusé : Mods/ non vide (CHG-110)" >&2; exit 1; }
git diff --cached --name-only | grep -E '(^|/)\.mcp\.json$|^\.claude/|^Docs/Migration/etat/|^Mods/' && {
  echo "Commit refusé : fichier interdit indexé" >&2; exit 1; }
exit 0

Pas de pre-push : git push est déjà refusé à tous les agents par settings.local.json, et c'est l'utilisateur qui pousse. post-commit (facultatif) : ligne au REPO-JOURNAL.md (hash, ticket, date), pour que même un commit de l'utilisateur soit tracé. Le dépôt local Content\Modules reçoit les mêmes hooks (sans le contrôle Mods/). 2. Pas de règles de refus sur les commandes git (révisé le 2026-10-10, 09 h 30). Les règles de settings.local.json s'appliquent aussi aux sous-agents lancés depuis la copie : refuser git commit bloquerait le gardien comme les autres. Le hook suffit : il laisse passer un commit qui porte un ticket en cours et refuse tous les autres, git -C … commit compris. Seule une session dédiée du gardien, ouverte depuis un autre dossier avec ses propres réglages, permettrait d'y ajouter des règles de refus (D-REPO1 b). git push et git filter-branch restent refusés comme aujourd'hui ; l'autorisation git rm (règle du 2026-10-08) est à retirer de settings.local.json seulement si D-REPO4 est retenue, le hook couvrant déjà le commit qui suivrait. 3. Journal relu : à chaque EVAL de lot, l'orchestrateur compare git log du lot aux tickets ; un commit sans ticket est un écart.

Ces couches arrêtent les accidents, pas un contournement délibéré (LP_REPO_TICKET peut être posé à la main) : le contourner est un écart à signaler, comme dans sk-protocol.

3.4 Outil Repo.ps1 (à écrire, lot AG1, lp-tooling N1-N2, avec VAL)

Conventions des outils du projet : pwsh 7, simulation par défaut, -Apply pour écrire, codes 0 / 1 / 2 / 3 (conforme / écart / refus / erreur), résumé dans etat/REPO/.

Action Qui Effet
-Etat tous (lecture) pour les 6 arbres (§ 3.5) : branche, HEAD, avance / retard, fichiers modifiés et non suivis, index.lock, opération en cours, tickets ouverts ; code 0 propre, 1 changements, 2 anomalie
-Reserve CHG|ERR|DOC -Lot <l> orchestrateur, lp-writer, chef verrou NUMEROS.lock (création exclusive), max(journal, registre, docs, registre des réservations) + 1, ligne au registre, libération ; code 2 si verrou occupé
-Commit -Ticket <id> [-Apply] gardien contrôles de sk-repo § 3.1-3.2, liste de ce qui serait commité ; avec -Apply : index privé, LP_REPO_TICKET, commit, contrôle § 3.5, journal
-Tag, -Report (cherry-pick -x), -Pin gardien sur ticket
-Push -Ticket <id> gardien préparation seulement : gh auth status, liste des commits à pousser, contrôles de publication ; l'utilisateur pousse
-Install [-Apply] gardien, ticket AG1 core.hooksPath des 6 arbres ; contrôle que settings.local.json ne refuse aucune commande du gardien

3.5 Organisation des dépôts proposée

Arbre Branche Statut proposé (D-REPO3)
LifePlay-master 5.8 ue5.8 actif, seul arbre du jeu qui reçoit des commits
LifePlay-master 5.5 main gelé depuis ue5.5-final ; commit seulement sur accord (correctif V1.x)
LifePlay-Sandbox-5.8 ue5.8 actif
LifePlay-Sandbox lot/DC3-atelier gelé (sert la copie 5.5)
Content\Modules (5.5 et 5.8) — local, jamais poussé ; commit par le gardien
dépôt de méthode (nouveau, D-REPO2) main actif : skills/methode (sk-*, ue-*, debug-*), skills/projet (lp-*), agents/, hooks/, tools/Repo.ps1

Dépôt de méthode (recommandation SK-ARBRE D2, jamais réalisée) : un seul exemplaire de chaque skill, versionné.

  • ~/.claude/agents → jonction vers agents/ du dépôt.
  • ~/.claude/skills/<sk-…> → une jonction par skill (le dossier ~/.claude/skills contient aussi synced/, écrit par l'application : il ne doit pas devenir une jonction entière).
  • .claude\skills des deux copies du jeu → la même cible skills/projet : plus de double commit.
  • Tools/claude/skills de l'addon : retiré (ticket gardien, sur les deux branches), avec renvoi au nouveau dépôt.
  • Privé (GitHub privé ou local seulement, D-REPO2) ; jamais publié.

3.6 Changements à apporter à l'existant

Élément Changement
sk-protocol § 2 « Pas de commit » → « aucune commande git qui écrit : lister les fichiers à commiter dans le livrable »
sk-orchestrate § 4 ticket TAG à l'ouverture, ticket COMMIT après VAL / DOC, boucle manager (doc 32 § 3)
lp-lot git tag <lot>-avant et « commit par phase » → tickets du gardien ; retour arrière git → ticket RESTORE
lp-doc numéro par Repo.ps1 -Reserve au lieu de « dernier + 1 » ; renumérotation (git mv) → ticket
lp-paths table des dépôts → renvoi à lp-repo § 1 (les 6 arbres)
lp-doc/gabarits.md section « Fichiers à commiter » en fin d'IMPL, DOC, BUILD ; gabarits TICKET et SUIVI ; colonnes Manager, Tentatives, Décision du registre
lp-builder chemin du livrable etat\<projet>\<lot>\ (S1)
tous les agents maxTurns 40 (N0-N2) ou 60 (N3-N5) (S2) ; disallowedTools: AskUserQuestion ; ligne « aucune commande git qui écrit »
mémoire feedback-file-removal-rules : git rm par le gardien seul ; lifeplay-sandbox-not-committed : pin dans doc 21 § Copie 5.8 ; feedback-subagents-by-task : gardien et managers
.gitignore de l'addon /Content/ → /Content (jonction)

4. Skills manquants : conception

4.1 Vue d'ensemble

Skill Couche Statut Priorité Préchargé par
sk-repo 1 brouillon écrit P1 lp-gardien
lp-repo 3 brouillon écrit (remplace lp-git prévu) P1 lp-gardien
sk-manage 1 brouillon écrit P1 6 managers
sk-plan 1 brouillon écrit P1 lp-planificateur
sk-chef 1 brouillon écrit P1 session du chef (invoqué)
lp-mcp 3 brouillon écrit (STM-T5 en attente) P1 lp-blueprint, lp-debugger
lp-measure 3 conçu § 4.2 P1 (critère de sortie ST) lp-measure, lp-mgr-verif
sk-comparability 1 conçu § 4.2 P1 lp-measure, lp-debugger
debug-systematic 2 conçu § 4.2 (adaptation, revue R1) P1 lp-debugger
lp-diag-options 3 conçu § 4.2 P1 lp-debugger, lp-measure
lp-debug-build 3 reprise de .cursor/skills/lifeplay-debug-build P2 (projet OB) lp-measure
ue-commandlet-pattern 2 conçu § 4.2 (renvoi orphelin, S3) P2 lp-tooling
sk-estimate 1 conçu § 4.2 P2 (STA-T4, OBA-T5, portes) opus-max
lp-publish 3 conçu § 4.2 (renvoi orphelin, S3) P3 (U8) lp-gardien (push), lp-validator (B7)
lp-cook 3 à extraire de lp-build § 4 P3 (U8) lp-builder
lp-mods 3 SK-ARBRE § 5.3 inchangé P3 lp-content
lp-content-pipelines 3 SK-ARBRE § 5.3 inchangé après V2.0 lp-content
ue-umg-slate, ue-crash-reading, ue-cook-package 2 SK-ARBRE § 5.2 inchangé à la demande —
git-phase-commits, lp-git — absorbés par sk-repo / lp-repo — —
lp-val-profiles — absorbé par lp-validate (écrit) — —
sk-web-data — non nécessaire : sk-protocol § 2 (« recherche web d'abord », contenu web = donnée) — —
sk-spec-template — remplacé par le gabarit SPEC de gabarits.md + le corps de l'agent lp-spec — —

4.2 Fiches de conception (skills non rédigés)

lp-measure (≤ 100 lignes). Description : mesure runtime LifePlay et tests en jeu - build Development empaqueté, parcours fixes, LogStats A/B, normalisation, consignes de test, bissection des modules. Sections : (1) règle d'or : jamais l'éditeur en -game, build Development empaqueté (-skipcook sur la même cuisson pour mesurer un Shipping) ; (2) parcours fixes S2 : nouvelle partie (liste des villes) + Continuer (sauvegarde de référence Saved\SaveGames et Content\Saves), éditeur de personnage, scène de couple ; (3) LogStats.ps1 -Log, -Compare a,b (par pwsh -Command), -Latest, index SPAWN > 0 avant de compter, comptes par personnage ; (4) références : build U6, build DC4 5.5 ; (5) bissection S8 (vin_Base seul, puis un module à la fois) ; (6) consignes à l'utilisateur via le chef : build, .bat, lieu, durée, actions, captures même cadrage, même heure ; (7) « le défaut existe-t-il dans le build précédent ? » avant toute conclusion ; retour arrière proposé. Sources : mémoires lifeplay-runtime-measurement, feedback-compare-before-rollback, feedback-packaging-test-paths ; doc 10 § 3.3, § 4 ; doc 29 S2, S8 ; lp-validate § 5 ; lp-build § 4 (Shipping sans journal, -UserDir).

sk-comparability (≤ 60). Check-list générique avant toute conclusion A/B : même configuration de build, même parcours, même état de départ, mêmes réglages (vitesse du jeu, heure), même cadrage pour une capture, échantillon normalisé, référence identifiée et datée ; gabarit de constat (référence, essai, écart, verdict confirmé / non comparable). Arrêt : comparaison non comparable → verdict « non comparable », jamais « régression ».

debug-systematic (≤ 120, adaptation). Source : obra/superpowers systematic-debugging (MIT), copié seul après revue R1 (SK-ARBRE § 7) : 4 phases (reproduire, isoler, cause racine, correctif), une hypothèse à la fois, preuve avant correctif, « 3 correctifs ratés → remettre l'hypothèse en question ». Ajouts LifePlay génériques : ordre « préexistant ? → conditions → mesure → correctif » (doc 10 § 3.1-3.5) ; une fiche DIAG = une hypothèse (gabarit DIAG).

lp-diag-options (≤ 70). Options de diagnostic du jeu et de l'éditeur : -LPDump*, -LPTrace*, -LPDumpEvery, -LPCollisionLog, LPDumpFunction (nommage des événements depuis STB-T0), commandes console LifePlay.*, lanceurs .bat de Tools/debug ; quelle option pour quel symptôme ; vitesse du jeu et téléportations apparentes (doc 10 § 3.2). Sources : doc 09 § 4, doc 18, etat/ST/STA (dumps).

ue-commandlet-pattern (≤ 90). Patron générique : -DryRun par défaut, compte attendu = compte trouvé sinon arrêt, contrôle intégré, journal horodaté, défauts sûrs, -run=pythonscript -FullStdOutLogOutput, scan_paths_synchronous, only_if_is_dirty=False, NodeGuid régénérés. Source : Rapport 2026-09-28 § 6 ; lp-build § 8 (pythonscript) ; lp-commandlets.

sk-estimate (≤ 70). Unités d'effort (séance, tours, jetons), calibrage par mesures (FicheStats.py, doc 31), registre de risques P × I avec signal et parade, points de non-retour, liste fermée de décisions, recommandation go / no-go argumentée. Source : UA-SYNTHESE § 7, STA-T4, OBA-T5.

lp-publish (≤ 90). Catégories interdites du dépôt public (PUB1, PUB2 : aucun contenu sexuel, aucun preset de personne réelle, modules thématiques, planches, .claude/, McpAutomationBridge), balayage rev-list --objects et chaînes des .uasset, identité et compte (gh auth status), tags, archives et SHA-256 (doc 10 § 6), « rien n'est poussé sans accord ». Préchargé par le gardien pour un ticket PUSH.

4.3 Agents manquants

Agent Rôle Modèle Skills Priorité
lp-gardien A-INT unique sonnet sk-protocol, sk-repo, lp-repo, sk-change-safety brouillon, P1
lp-planificateur planification opus xhigh sk-protocol, sk-plan, sk-orchestrate, lp-lot brouillon, P1
lp-mgr-realisation manager C1, D opus sk-protocol, sk-recount, sk-manage, lp-ue-compat brouillon, P1
lp-mgr-analyse, -build, -verif, -debug, -doc managers B/J, E, F, G, I sonnet (debug : opus) sk-protocol, sk-recount, sk-manage + lp-paths / lp-build / lp-validate / lp-build / lp-doc P1 (même corps que le brouillon)
lp-debugger (+ -max) G1-G5 opus xhigh (max) sk-protocol, debug-systematic, lp-diag-options, lp-build P1 (projet ST)
lp-measure F3, F5, G5 sonnet sk-protocol, sk-comparability, lp-measure, lp-diag-options P1
lp-blueprint correctifs Blueprint par MCP (D5) opus high sk-protocol, lp-mcp, lp-commandlets, lp-lot ; mcpServers: [unreal-mcp] (le .mcp.json de la copie 5.8 déclare deux fois le même serveur, unreal et unreal-mcp sur localhost:8000 : doublon à retirer par l'utilisateur) P1
lp-spec, lp-research, lp-tooling, lp-cart-max C1, B5-B6, D5-D7, escalade CART opus xhigh / sonnet SK-ARBRE § 3.2 P2
lp-content D9, E4 sonnet lp-mods, lp-content-pipelines P3
lp-integrator — — remplacé par lp-gardien —

5. Ordre de mise en œuvre

  1. AG0 (tests, doc 32 § 11) + AG0-R : installer les hooks sur une copie jetable d'un dépôt et vérifier : commit refusé sans ticket, accepté avec, index commun intact après commit sur index privé, git -C … commit arrêté, post-commit écrit le journal.
  2. AG1-R (avant tout le reste) : dépôt de méthode, hook pre-commit installé (Repo.ps1 facultatif, + VAL s'il est écrit), skills sk-repo / lp-repo, agent lp-gardien, changements du § 3.6. À partir de là, plus aucun commit hors gardien.
  3. AG1 : sk-manage, sk-plan, sk-chef, planificateur, 6 managers, maxTurns partout.
  4. AG1-ST : lp-mcp, lp-measure, sk-comparability, debug-systematic, lp-diag-options, agents lp-debugger, lp-measure, lp-blueprint — ce dont le pilote ST a besoin.
  5. AG2 pilote (un lot ST), AG3 évaluation ; P2 et P3 ensuite, au rythme des projets OB et U8. Les brouillons sont relus par l'orchestrateur contre R9-R12 de SK-ARBRE avant installation ; un nouvel agent n'est visible qu'après redémarrage des sessions (mémoire feedback-subagents-by-task).

6. Décisions à soumettre (liste fermée)

# Décision Options Recommandation
D-REPO1 Forme du gardien (a) sous-agent lancé par l'orchestrateur seul ; (b) session dédiée « Dépôt » qui reçoit des messages (a) : l'orchestrateur unique sert de file ; (b) seulement si plusieurs orchestrateurs
D-REPO2 Emplacement des skills et agents (a) dépôt de méthode privé unique (skills, agents, hooks, outil) ; (b) lp-* gardés dans l'addon, reportés par le gardien d'une branche à l'autre (a) : met fin aux doubles commits et versionne enfin sk-* et les agents
D-REPO3 Copie 5.5 et branche lot/DC3-atelier (a) gelées, commit sur accord ; (b) actives (a)
D-REPO4 Règle du 2026-10-08 « git rm permis » (a) réservée au gardien ; (b) inchangée (a)
D-REPO5 Garde-fous (a) hook pre-commit + journal ; (b) hook + règles de refus sur git (exige une session dédiée du gardien, ouverte depuis un autre dossier) ; (c) consignes seules (situation actuelle) (a) (révisé le 2026-10-10 : les règles de refus bloqueraient aussi le gardien sous-agent)
D-REPO6 Push (a) le gardien prépare (ticket PUSH en simulation : liste des commits, contrôles lp-publish), l'utilisateur pousse ; (b) le gardien pousse sur accord cité (a) : c'est la pratique actuelle (git push déjà refusé par settings.local.json, PUB2 poussé par l'utilisateur)
D-REPO7 main de l'addon (2026-10-07) (a) avancé sur ue5.8 après V2.0 ; (b) laissé (a), par ticket
D-REPO8 Numéros CHG / ERR / doc (a) réservation par l'outil sous verrou ; (b) « dernier + 1 » (actuel) (a)

7. Établi / estimé / incertain

  • Établi : constats du § 2 (commandes et fichiers cités) ; contenu des skills et agents lus (copies du 2026-10-10).
  • Estimé : git -C … commit n'est pas arrêté par un motif Bash(git commit:*) ; le coût du gardien (un ticket ≈ 10 à 20 tours en sonnet).
  • Incertain : comportement des hooks sh de Git for Windows lancés depuis Git Bash et PowerShell (AG0-R) ; champ mcpServers d'un agent avec un serveur HTTP local (AG0) ; jonctions par skill sous ~/.claude/skills vues par l'application de bureau (même test que T5c de SK-ARBRE).

Constats

La copie de ~/.claude/skills contient un dossier synced/ (skills de l'application Claude) : il ne fait pas partie de la méthode et ne doit pas être versionné ni recouvert par une jonction.

Suite du 2026-10-10 (09 h)

  • Installé (à recopier par l'utilisateur dans ~/.claude) : agent lp-gardien, skill sk-repo ; révisés : sk-protocol (§ 2 git réservé au gardien, § 3 ligne Tours, § 8 budget de tours), sk-orchestrate (tickets, classement des échecs, 4 tentatives, maxTurns), les 10 agents (maxTurns 50 / 75, disallowedTools: AskUserQuestion, ligne git, ligne Tours ; chemin de lp-builder corrigé).
  • Écrits dans les deux arbres de l'addon, non commités : lp-repo (nouveau), lp-lot, lp-doc, gabarits.md, lp-paths. Tickets etat/REPO/tickets/AG-R1 à AG-R3.
  • brouillons/skills/sk-repo, lp-repo, agents/lp-gardien.md remplacés par les versions installées. lp-mcp : la version écrite par la session STM-T5 dans l'addon (copie 5.5) le 2026-10-10 à 08 h 18 fait foi ; synchronisée à 09 h 15 vers l'addon 5.8 et vers brouillons/skills/lp-mcp (trois copies identiques, MD5 8a896676…), ajoutée aux tickets AG-R1 et AG-R2.
  • Plafond maxTurns des brouillons : planificateur 75, manager 50 (règle budget + 25 %).
  • 09 h 30 : D-REPO5 révisée, (a) hook + journal sans règles de refus sur git (§ 3.3) ; le gardien reste un sous-agent (D-REPO1 a).