27 KiB
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)
- Personne n'est propriétaire des commits. Aucun agent d'intégration n'existe (
lp-integratorprévu par SK-ARBRE § 3.2, jamais écrit) ;lp-lotdit « un commit par phase » sans dire qui ; chaque session principale commite. Aucun hook :core.hooksPathvide et aucun hook actif dans le jeu 5.5, le jeu 5.8, l'addon etContent\Modules5.8. Seulsgit pushetgit filter-branchsont refusés parsettings.local.json. - Rythme et parallélisme. 55 commits sur
ue5.8depuis 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. - Le même changement commité deux fois. Les skills
lp-*vivent dans l'addon, sur deux branches (lot/DC3-atelierpour la copie 5.5,ue5.8pour la 5.8) : depuis le 2026-10-08, 10 changements commités en double (paires3d0cb95/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 (d4b3ea3surmain5.5,1d1d283surue5.8). - Divergence en cours. Au moment de la lecture,
Tools/claude/skills/lp-build/SKILL.mdest 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 -rqdes deux dossiers). - 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 dansTools/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). - Pins à la main : la ligne « Copie 5.8 » de
21_Sandbox_Addon.md:136accumule les hashes ; la mémoirelifeplay-sandbox-not-committedsitue encore le pin dansS3-INT.md(périmé). - Les skills de méthode et les agents ne sont pas versionnés :
~/.claude/skillset~/.claude/agentsn'ont que les instantanés de lots (LifePlay_Backup_5.5\BUD1-claude,EDIT2-claude,TPL1-claude,SEQ1-skills). - Jonction mal ignorée :
?? Contentdans l'arbre principal de l'addon ; la règle/Content/(barre finale) ne couvre pas une jonction. - Branches figées non déclarées :
mainde l'addon date du 2026-10-07 (159afbf), 32 commits derrièrelot/DC3-atelier, qui sert de branche durable ; la copie 5.5 reçoit encore des commits aprèsue5.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)
- Hooks git (
core.hooksPathde chaque arbre → dossierhooksdu dépôt de méthode, D-REPO2). Spécification depre-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 versagents/du dépôt.~/.claude/skills/<sk-…>→ une jonction par skill (le dossier~/.claude/skillscontient aussisynced/, écrit par l'application : il ne doit pas devenir une jonction entière)..claude\skillsdes deux copies du jeu → la même cibleskills/projet: plus de double commit.Tools/claude/skillsde 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
- 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 … commitarrêté,post-commitécrit le journal. - AG1-R (avant tout le reste) : dépôt de méthode, hook
pre-commitinstallé (Repo.ps1facultatif, + VAL s'il est écrit), skillssk-repo/lp-repo, agentlp-gardien, changements du § 3.6. À partir de là, plus aucun commit hors gardien. - AG1 :
sk-manage,sk-plan,sk-chef, planificateur, 6 managers,maxTurnspartout. - AG1-ST :
lp-mcp,lp-measure,sk-comparability,debug-systematic,lp-diag-options, agentslp-debugger,lp-measure,lp-blueprint— ce dont le pilote ST a besoin. - 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 … commitn'est pas arrêté par un motifBash(git commit:*); le coût du gardien (un ticket ≈ 10 à 20 tours ensonnet). - Incertain : comportement des hooks sh de Git for Windows lancés depuis Git Bash et PowerShell (AG0-R) ;
champ
mcpServersd'un agent avec un serveur HTTP local (AG0) ; jonctions par skill sous~/.claude/skillsvues 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) : agentlp-gardien, skillsk-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 (maxTurns50 / 75,disallowedTools: AskUserQuestion, ligne git, ligne Tours ; chemin delp-buildercorrigé). - Écrits dans les deux arbres de l'addon, non commités :
lp-repo(nouveau),lp-lot,lp-doc,gabarits.md,lp-paths. Ticketsetat/REPO/tickets/AG-R1àAG-R3. brouillons/skills/sk-repo,lp-repo,agents/lp-gardien.mdremplacé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 versbrouillons/skills/lp-mcp(trois copies identiques, MD58a896676…), ajoutée aux tickets AG-R1 et AG-R2.- Plafond
maxTurnsdes 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).