agent conversation fix
This commit is contained in:
@ -42,3 +42,4 @@
|
||||
- [mcp-functional-tests-t1-t9-green-live-2026-06-24](mcp-functional-tests-t1-t9-green-live-2026-06-24.md) — memory note mcp-functional-tests-t1-t9-green-live-2026-06-24
|
||||
- [mcp-t10a-harness-interrupt-does-not-cancel-rendezvous](mcp-t10a-harness-interrupt-does-not-cancel-rendezvous.md) — memory note mcp-t10a-harness-interrupt-does-not-cancel-rendezvous
|
||||
- [mcp-t10b-pending-reboot-verification](mcp-t10b-pending-reboot-verification.md) — memory note mcp-t10b-pending-reboot-verification
|
||||
- [headless-interagent-conversation-objective](headless-interagent-conversation-objective.md) — memory note headless-interagent-conversation-objective
|
||||
|
||||
40
.ideai/memory/headless-interagent-conversation-objective.md
Normal file
40
.ideai/memory/headless-interagent-conversation-objective.md
Normal file
@ -0,0 +1,40 @@
|
||||
---
|
||||
name: headless-interagent-conversation-objective
|
||||
description: memory note headless-interagent-conversation-objective
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
# Objectif chantier — remplacer la conversation inter-agent MCP par headless robuste
|
||||
|
||||
## Intention produit
|
||||
|
||||
Le projet veut se séparer du MCP pour la **conversation inter-agent**, car le rendez-vous MCP a provoqué trop de blocages, wedges, busy fantômes et pertes de résultats. MCP reste conservé pour les autres outils IdeA : mémoire, liste d'agents, contexte, workstate et fonctions non conversationnelles.
|
||||
|
||||
Le nouveau mécanisme doit utiliser les modes **headless** fournis par les modèles/CLIs comme interface de communication entre agents, tout en gardant le modèle mental : **1 agent = 1 employé**.
|
||||
|
||||
## Règles fonctionnelles validées
|
||||
|
||||
- Un agent n'a qu'une seule conversation canonique et une seule identité opérationnelle, qu'il soit utilisé via la cellule CLI par l'utilisateur ou via headless par un autre agent.
|
||||
- Quand un agent B travaille pour un agent A, aucun autre agent ni l'utilisateur ne peut lui parler tant que B n'a pas fini.
|
||||
- L'utilisateur doit pouvoir voir que B est occupé et, si possible, suivre le travail headless en temps réel. La solidité prime sur cette UI temps réel.
|
||||
- L'utilisateur doit pouvoir cancel le travail d'un agent occupé.
|
||||
- Si l'utilisateur annule A dans la CLI alors que A attend B, l'annulation doit cascader vers B.
|
||||
- B ne peut être annulé que par l'agent qui lui parle ou par l'utilisateur, pas par un autre agent tiers.
|
||||
- Si plusieurs agents veulent parler à B, les demandes attendent en FIFO simple jusqu'à ce que B soit libre.
|
||||
- Le headless est seulement l'interface de communication agent-agent : mêmes mémoire, contexte, historique, permissions, cwd et outils qu'en usage CLI interactif.
|
||||
- Un historique reconstitué doit être accessible depuis la cellule, via un bouton, avec toutes les conversations de la session dans un historique unique.
|
||||
- L'architecture reste hexagonale : conversation canonique par modèle/adapters, pas de dépendance directe dispersée aux formats natifs.
|
||||
|
||||
## Priorité de conception
|
||||
|
||||
Priorité 1 : robustesse et absence de blocage durable.
|
||||
|
||||
Le design doit privilégier des garanties mécaniques simples : processus headless borné, fin par exit process, timeout, cancel explicite, nettoyage d'état idempotent, queue FIFO observable, et résultat synthétique en cas d'échec.
|
||||
|
||||
Priorité 2 : observabilité et UX.
|
||||
|
||||
L'affichage temps réel du travail headless est souhaité si le mode headless permet de streamer stdout/stderr ou événements structurés, mais ne doit pas fragiliser le protocole. À défaut, fournir statut occupé, bouton cancel, historique final et diagnostic exploitable.
|
||||
|
||||
## Décision de périmètre
|
||||
|
||||
Le MCP n'est pas retiré globalement. Il est retiré uniquement du chemin critique de conversation inter-agent. Les outils IdeA existants peuvent rester exposés aux agents via MCP tant qu'ils ne servent pas au rendez-vous conversationnel.
|
||||
Reference in New Issue
Block a user