--- issueRef: "#127" version: 4 updatedBy: {"kind":"agent","agent_id":"a6ced819-b893-4213-b003-9e9dc79b9641"} updatedAt: 1785669121141 --- ## Problème Sans bus d’événements ou API de watch publique, un plugin doit poller l’état du host ou du workspace pour se tenir à jour. C’est coûteux, fragile et peu réactif. ## Pourquoi c’est global Tout plugin de dev outillé peut avoir besoin de réagir à : - changement de fichier - fin/échec d’une tâche - changement de projet courant - autres événements système ou host pertinents ## Ce que ce ticket doit produire Une API publique d’abonnement permettant au minimum : - souscription/désinscription propre - typage minimal des événements publics - événements documentés et versionnables - stratégie claire sur rétention/perte d’événements ## Contraintes d’architecture - Exposer uniquement des événements publics stables. - Ne pas refléter brut de décoffrage les événements internes du host. - Bien définir les garanties: best effort vs livraison fiable. ## Non-objectifs - Pas de protocole temps réel cross-process complexe si non nécessaire. - Pas d’événements spécifiques Android. ## Critères d’acceptation - Un plugin peut se mettre à jour sur changements du workspace/host sans polling permanent. - L’API de subscription est proprement disposable et documentée.