--- issueRef: "#288" version: 2 updatedBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"} updatedAt: 1788895080146 --- #288 — Tool MCP de redemarrage autonome d'un agent ## Demande utilisateur Ajouter un tool MCP permettant a un agent de demander son propre redemarrage apres ajout de capabilities/plugins, pour continuer le travail avec les nouveaux outils disponibles. ## Cadrage UX - CLI custom: afficher exactement `------- redemarrage de l'agent -------` au call, puis `------- redemarrage de l'agent termine -------` apres injection reussie; en echec `------- redemarrage de l'agent echoue -------` + message court. - TUI native: ne pas injecter ces separateurs; afficher un overlay avec phases `Redemarrage de l'agent...`, `Arret de l'agent en cours...`, `Relance de l'agent...`, `Reprise du travail...`; garder les progress/messages dans l'overlay jusqu'a idle/fin de travail. - Le prompt/instruction de reprise interne est invisible dans l'UI humaine et le viewer transcript. ## Cadrage Architecture - Tool core `idea_restart_self({ reason?: string })` self-only via requester MCP handshake, sans target fourni par le modele. - Retour MCP immediat: `{ restartId, status: "scheduled", message }`; la relance est prouvee par events/UI car le process appelant est stoppe ensuite. - Use case atomique: snapshot reprise -> stop runtime -> relance via LaunchAgent avec `fresh_start=false` et meme `conversation_id` -> injection interne invisible -> events completed/failed. - Events: `AgentRestartRequested`, `AgentRestartPhaseChanged`, `AgentRestartCompleted`, `AgentRestartFailed`. - Invariant: liberer Busy/mailbox meme si la connexion MCP disparait quand l'agent est tue. - Memoire durable ajoutee: `ticket288-agent-self-restart-architecture`. ## Etat Ticket cree et passe inProgress par Main. En attente branche Git puis implementation DevBackend/DevFrontend et validation QA.