Résolution uniforme des quatre sœurs (ObsiGate, Flowdeck, TikTak, Kanbante) dans app/services/draco_urls.py : explicite prioritaire (contrat inchangé), sinon dérivation depuis l'hôte de l'agent connu via AGENT_EVENEMENTS_URL (agent<SUFFIXE>.dracodev.net → <slug><SUFFIXE>.dracodev.net), sinon défaut officiel. Hors motif (autre domaine, LAN, IP) : aucune dérivation. Gitea inchangé. Tests +4 dans test_draco_urls_devprod.py.
Aucun nom public d'une autre app dracodev n'est codé en dur dans le code vivant : nouveau module app/services/draco_urls.py (env > config > défaut officiel, jamais de -dev en défaut). CSP connect-src/frame-src, bouton SSO ObsiGate, révocations SSO, événements agent, preset MCP TikTak, barre commune, panneau Spark (injection hôte DRACO_PANNEAU_CONFIG), refs croisées (hôte configuré + officiel reconnus, URL d'affichage reconstruite, aucune donnée stockée migrée), User-Agent OG, liens Gitea. Variables ajoutées DRACO_AGENT_URL/TIKTAK_URL/KANBANTE_URL/FLOWDECK_URL, réutilisées DRACO_SSO_URL/OAUTH_REDIRECT_URI/AGENT_EVENEMENTS_URL/GITEA_URL/APP_BASE_URL. Version 7.82.0.