chore(tickets): sync store local — #295 passage qa après QA verte (carnet complet cause/fix/validations post-restart transcript, capture utilisateur UnitySoundTool attachée; index/counter) + rattrapage store #293/#294 clos (carnets docs SDK contrat MCP plugins et lancement serveurs Node; bumps pointeur IdeaSDK déjà mergés sur develop via 1935e98/b1c173f); scripts/ hors périmètre; aucun push

This commit is contained in:
2026-09-09 18:44:08 +02:00
parent 1b1476de52
commit 8482fc5bd2
10 changed files with 465 additions and 1 deletions

View File

@ -0,0 +1,90 @@
---
issueRef: "#293"
version: 4
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedAt: 1788962603796
---
## QA - 2026-09-09 - Validation doc-only SDK
Périmètre vérifié dans le submodule `sdk/IdeaSDK`, branche `feature/293-mcp-tools-exposure-docs`.
Diff relu : modifications limitées à `docs/activation-context.md`, `docs/manifest.md` et `docs/project-plugin-assignments.md`.
Commandes exécutées :
```bash
git status --short --branch
```
Sortie :
```text
## feature/293-mcp-tools-exposure-docs
M docs/activation-context.md
M docs/manifest.md
M docs/project-plugin-assignments.md
```
```bash
git diff --stat
```
Sortie :
```text
docs/activation-context.md | 11 ++++++++
docs/manifest.md | 58 ++++++++++++++++++++++++++++++++++++++
docs/project-plugin-assignments.md | 13 +++++++++
3 files changed, 82 insertions(+)
```
```bash
npm run check
```
Sortie essentielle :
```text
> @idea/plugin-sdk@0.1.0 check
> npm run build && npm run typecheck:examples && npm run package:hello-plugin
> @idea/plugin-sdk@0.1.0 build
> tsc -p tsconfig.json
> @idea/plugin-sdk@0.1.0 typecheck:examples
> tsc -p examples/hello-plugin/tsconfig.json --noEmit
> @idea/plugin-sdk@0.1.0 package:hello-plugin
> npm run build && npm run build:hello-plugin && node scripts/package-hello-plugin.mjs
> @idea/plugin-sdk@0.1.0 build
> tsc -p tsconfig.json
> @idea/plugin-sdk@0.1.0 build:hello-plugin
> tsc -p examples/hello-plugin/tsconfig.build.json
created /home/anthony/Documents/Projects/IdeA/sdk/IdeaSDK/examples/hello-plugin/build/hello-plugin-0.1.0.zip
```
Lecture QA : la documentation clarifie bien que les tools agent MCP viennent de `contributes.mcpServers` via serveurs MCP stdio et `tools/list`, pas d'une API `activate(ctx)` ; elle couvre `ctx.pluginRoot`, `autoStart: true`, le triplet `pluginId`/`serverId`/`toolName`, et la recommandation skill -> MCP tool pour les scripts packagés.
Verdict QA : VERT.
## Git - 2026-09-09 - Intégration locale
Git a intégré la branche dédiée du submodule SDK :
- Submodule `sdk/IdeaSDK`: `develop` pointe sur `68fd612` (`merge(sdk): intègre feature/293-mcp-tools-exposure-docs`).
- Commit de feature SDK: `42567a5` (`docs(sdk): contrat d'exposition des tools MCP par les plugins`).
- Repo parent IdeA: `develop` pointe sur `1935e98` (`chore(sdk): pointe le submodule sur develop`).
Aucune action distante effectuée. État parent restant hors périmètre : fichiers tickets locaux et répertoire `scripts/` déjà visibles/non liés à la doc SDK.
## Réponse contractuelle pour UnityPlugin #11
1. Contrat manifest/runtime : exposer un serveur MCP stdio dans `idea-plugin.json` sous `contributes.mcpServers` avec `id`, `displayName`, `command`, `transport: "stdio"`, idéalement `autoStart: true`; l'agent reçoit les tools via assignation `pluginId`/`serverId`/`toolName` après activation projet et relance agent.
2. Pas de support SDK actuel pour enregistrer des tools MCP directement depuis `activate(ctx)`; seuls les serveurs MCP déclarés/externes sont le contrat agent-callable.
3. `ctx.pluginRoot` est l'API officielle pour résoudre la racine du package installé depuis le runtime. `import.meta.url` peut servir à de la résolution module JS, mais n'est pas le contrat host/plugin. Pour `contributes.mcpServers`, `${pluginRoot}` et `${appDataDir}` sont substitués au démarrage du serveur.
4. Recommandation court terme UnityPlugin : packager un serveur MCP stdio Node/script dans le plugin, le déclarer via `contributes.mcpServers`, assigner les tools aux agents, et modifier les skills pour demander l'appel des tools plutôt que référencer `../../scripts/...` depuis le Markdown.
5. Documentation SDK enrichie dans `manifest.md`, `activation-context.md`, `project-plugin-assignments.md`.

View File

@ -0,0 +1,17 @@
---
id: "79792d0c-92a2-499d-8dc3-7b0e65d38dcc"
number: 293
title: "Clarifier et documenter l’exposition de tools MCP par les plugins IdeA"
status: "closed"
priority: "high"
sprint: null
links: []
agentRefs: []
attachments: []
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
createdAt: 1788962113957
updatedAt: 1788962603796
version: 4
---
Demande entrante depuis Main du projet UnityPlugin, ticket #11. Clarifier le contrat SDK/manifest/runtime pour exposer des tools MCP depuis un plugin IdeA, vérifier si le SDK supporte les tools fournis directement par le runtime ou seulement des MCP servers déclarés/externes, préciser la résolution du répertoire d’installation plugin, et enrichir IdeaSDK/docs si le point est absent ou ambigu.