--- name: ticket288-agent-self-restart-architecture description: memory note ticket288-agent-self-restart-architecture metadata: type: project --- # Ticket #288 — Agent Self-Restart MCP Architecture Le tool core `idea_restart_self` doit être self-only et requester-scopé via le handshake MCP. Il ne prend pas de target fourni par le modèle. Il retourne seulement un accusé `scheduled`, car le process appelant est ensuite arrêté. Le restart est un use case applicatif atomique au-dessus des briques existantes: snapshot de reprise, stop runtime, relance via `LaunchAgent` avec `fresh_start=false` et le même `conversation_id`. `LaunchAgent` reste l’unique endroit qui régénère contexte, mémoire, live-state, handoff, capabilities et skills/tools MCP de plugins. Les événements normatifs sont `AgentRestartRequested`, `AgentRestartPhaseChanged`, `AgentRestartCompleted`, `AgentRestartFailed`. Les séparateurs exacts du CLI custom et l’overlay TUI native sont des projections UI, jamais du contenu conversationnel ni du prompt interne de reprise. Invariant critique: le restart doit libérer l’état Busy/mailbox même si la connexion MCP disparaît quand l’agent est tué.