chore(tickets): sync store local — #285 rouvert puis implémenté: pluginRoot officiel activate(ctx) (branches feature/285-plugin-root-runtime-api parent+SDK, merges develop b681433/e3a0f46, QA verte multi-suites; rebuild AppImage + validation live ctx.pluginRoot restants à exécuter) + note memory #284 cross-project rattrapée (exclusion scripts/restart-idea-over-ssh.sh hors périmètre)

This commit is contained in:
2026-09-08 18:35:39 +02:00
parent b681433cdd
commit 270c740afc
5 changed files with 113 additions and 15 deletions

View File

@ -88,3 +88,4 @@
- [plugin-soft-refresh-and-agent-install-tools-delivered](plugin-soft-refresh-and-agent-install-tools-delivered.md) — memory note plugin-soft-refresh-and-agent-install-tools-delivered
- [cross-project-ask-drop-cleans-live-state](cross-project-ask-drop-cleans-live-state.md) — memory note cross-project-ask-drop-cleans-live-state
- [project-plugin-skills-multi-harness-contract](project-plugin-skills-multi-harness-contract.md) — memory note project-plugin-skills-multi-harness-contract
- [ticket284-cross-project-contact-plugin-assignment](ticket284-cross-project-contact-plugin-assignment.md) — memory note ticket284-cross-project-contact-plugin-assignment

View File

@ -0,0 +1,29 @@
---
name: ticket284-cross-project-contact-plugin-assignment
description: memory note ticket284-cross-project-contact-plugin-assignment
metadata:
type: project
---
# Ticket #284 — contact cross-project et assignation plugin par agent
Le ticket #284 a été livré et mergé localement dans `develop` le 2026-09-08.
## Correctif cross-project
Cause corrigée : `correlationId` servait surtout au diagnostic, `idea_project_cancel_agent` pouvait arrêter la cible fournie sans la relier à une demande active, et la projection live-state écrivait principalement côté projet cible. Le service maintient maintenant un registre mémoire des demandes actives par projet/agent appelant + `correlationId`, refuse les corrélations vides/dupliquées, empêche la redirection d’un cancel vers une autre cible, et projette aussi l’appelant `Waiting` puis `Done` dans son propre workstate avec `correlationId` exposé.
Les tools cross-project ask/cancel restent `WriteAction` deny-by-default, mais le catalogue/erreur indique plus clairement qu’il faut autoriser `idea_project_ask_agent` / `idea_project_cancel_agent`.
## Assignation plugin par agent
L’API et la persistance existaient déjà via `.ideai/project-plugins.json` et les commandes desktop `plugin_*`. Le défaut utilisateur était surtout la découvrabilité. La surface `Settings projet > Plugins` expose désormais un bouton explicite `Attribuer aux agents`, ouvrant le panneau Agents, et la section agent affiche `Capabilities de plugins — {agent}` avec séparation skills/tools MCP.
## Validation
QA vert : cargo check ciblé, tests `orchestrator_service` 79/79, `mcp_server` 40/40, `domain live_state` 15/15, test frontend plugin settings 3/3, `npm --prefix frontend run build`, `cargo fmt --all -- --check`, `git diff --check`.
AppImage rebuilt : `target/release/bundle/appimage/IdeA_0.3.0_amd64.AppImage`.
## Réserve opérationnelle
Le binaire en cours d’exécution reste l’ancienne AppImage tant que l’utilisateur ne remplace pas `/home/anthony/Documents/IdeA_0.1.0_amd64.AppImage` et ne relance pas IdeA. Ne pas automatiser cette étape depuis une session active, car elle tue l’orchestrateur.