# Protocole — Validation réelle de la conversation inter-agents via IdeA > À exécuter depuis la **nouvelle AppImage** (build 2026-06-10 18:23, contenant R0+A0+M5, > commits `37e7274` / `6ca519b` / `cf89b3b`). L'ancienne image (testée avant) ne contenait > pas ce code et a renvoyé l'erreur attendue « agent Ask pas pilotable en mode structuré ». ## But Prouver en conditions réelles qu'un agent (Main/Claude) peut **demander** une tâche à un autre agent (Ask/Codex) **via IdeA** et **recevoir sa réponse inline** — pas seulement par tests à fakes. ## Pré-requis pour que le `ask` aboutisse - La cible (**Ask**) doit être pilotée en **mode structuré** (profil Codex avec adapter structuré). Le menu de sélection d'agent ne propose normalement que des profils structurés (Claude/Codex). - Ask **ne doit pas** déjà tourner comme **terminal brut** (PTY) dans une cellule : sinon `ask_agent` refuse (invariant « 1 session/agent », cible PTY brut = pas de canal de réponse). - Le plus simple : **laisser Ask éteint** et laisser `ask_agent` le **lancer lui-même** en structuré (sémantique : cible morte ⇒ launch structuré background ⇒ send ⇒ Final). ## Procédure (protocole fichier, identique au test précédent) 1. Déposer `.ideai/requests/main/.json` : ```json { "type": "agent.message", "requestedBy": "Main", "targetAgent": "Ask", "task": "Petite recherche, pas de code : résume en 3 points ce que fait le module crates/infrastructure/src/orchestrator/mcp/ et liste les outils idea_*." } ``` 2. Attendre l'apparition de `.ideai/requests/main/.json.response.json`. ## Succès attendu `{ "ok": true, "action": "agent.message", "reply": "" }` — le champ **`reply`** porte le contenu produit par Ask. (Échec précédent = `ok:false` + erreur PTY brut.) ## Voie native MCP (bonus) Le bind transport S-MCP (M5) est livré : un agent lancé avec un profil MCP voit les outils `idea_*` (dont `idea_ask_agent`) et le résultat revient inline. À valider quand un profil MCP est branché sur Claude/Codex. Voir `.ideai/briefs/orchestration-v5-transport-bind-cadrage.md`.