--- issueRef: "#4" version: 9 updatedBy: {"kind":"user"} updatedAt: 1783437430509 --- ## 🔄 REDÉMARRAGE DE ZÉRO (2026-07-04) — décision utilisateur TOUT le travail #4 précédent (sur base canonique/main) est ABANDONNÉ comme ligne de livraison. Raison : l'utilisateur a réaligné main = develop = feature/background-tasks-first-class (ebd992e, base PRÉ-canonique de #1). Le moteur de conversation « canonique » (spawn_turn/AgentTurnEvent/agentBusyChanged) sur lequel reposait l'ancien #4 n'est PLUS sur main/develop. On refait #4 de zéro sur la base develop. BRANCHE DE TRAVAIL : `feature/agent-live-announcements` (créée depuis develop ebd992e). BRANCHES SUPPRIMÉES (obsolètes) : feature/announcements-canonical, feature/inter-agent-announcements. FILETS DE RÉCUPÉRATION (si on veut repiquer du code) : - backup/announcements-work-20260704 (691b2ce) = ancien #4 complet (backend B0-B3 + frontend F1/F2/F3 recâblé busy + tests). - backup/inter-agent-announcements-71d307d (71d307d) = backend annonces d'origine. - backup/main-canonical-20260704 (3cff2b1) = moteur canonique + releases. OBJECTIF PRODUIT (inchangé, reconfirmé utilisateur) : affichage live sur la cellule d'un agent de ce qu'il raconte quand un AUTRE agent le sollicite via idea_ask_agent. Overlay sur la cellule CIBLE (« un agent est en train de lui parler » + annonces défilantes), monté quand la cible est busy, retiré à l'idle. Preview côté DEMANDEUR près de la liste d'agents, filtré par ticket + requester==self. ⚠️ ATTENTION base develop : moteur « batch » (run_turn), PAS le canonique. À cadrer par Architect : quels signaux live develop émet-il déjà (annonces intermédiaires ? busy/idle par agent ? l'ancien #4 utilisait agentBusyChanged + read-model agents[].busy — existent-ils sur develop ?), et que faut-il (ré)implémenter côté backend pour que les annonces soient LIVE (pas flushées en fin de tour). Réutiliser les composants frontend depuis backup/announcements-work-20260704 si le contrat de signaux le permet. ## RESTE À FAIRE (cycle complet sur base develop) 1. [EN COURS] Architect : cadrage from-scratch sur base develop (signaux live disponibles + à créer, contrat Announcement/Final, plan B/F, réutilisabilité du code sauvegardé). 2. Git : branche de travail = feature/agent-live-announcements (FAIT). 3. DevBackend : mécanisme annonces/Final + signaux live sur moteur develop. 4. DevFrontend : F1 store + F2 preview demandeur + F3 overlay cible. 5. QA : reproduire le déclenchement inter-agent + constater overlay/preview live + fermeture à l'idle.