1.9 KiB
#218 — Fusion : panneau Spark intégré (agent commun)
Contexte. Le programme Fusion a livré le service d'agents commun
(agent-commun : conversation LLM, lectures/écritures des quatre
applications via approbations, sous-agents, missions longues). Trois
applications affichaient déjà son panneau partagé (TikTak, Flowdeck,
Kanbante) ; ObsiGate, pourtant émettrice de l'identité draco_session,
gardait le message d'attente « arrive en phase 4 » sur le bouton Spark
de sa barre commune (#215).
Livraison.
- Assets vendangés à l'identique des autres applications :
frontend/draco-panneau.jsetfrontend/draco-panneau.css, à la racine defrontend/comme les autres assets draco (servis par le montage/static,Cache-Control: no-cachedéjà en place — aucun mécanisme de versionnage à ajouter,index.htmln'est pas un gabarit Jinja). frontend/index.html: lien CSS après celui de la barre, script différé aprèsdraco-liens.js, actionsparkdeDRACO_BAR_CONFIG.onActionbranchée surwindow.DRACO_PANNEAU.toggle()avec repli explicite si l'asset ne charge pas.- CSP (
backend/main.py,SecurityHeadersMiddleware) :https://agent.dracodev.netajouté àconnect-src— le panneau appelle le service enfetchavec le cookie de session ; aucun autre hôte n'est ouvert (précédent : Flowdeck, même exception).
Vérifications. Tests tests/test_draco_barre.py étendus
(présence et références des assets, branche spark, hôte CSP) ;
vérification visuelle et E2E à confirmer après redéploiement Docker
(le panneau, z-index: 400, cohabite avec des surfaces ObsiGate à
z-index plus élevé — à observer en réel).
Hors périmètre. Les textes du panneau vivent dans l'asset partagé du programme (français, identique dans les quatre applications) ; ils ne passent pas par les locales FR/EN d'ObsiGate — écart assumé au niveau du programme, pas de cette fiche.