Le fallback custom→TUI se redéclenchait après le premier chargement dès que refreshProfiles() renvoyait un instant un profil pinné sans structuredAdapter (refetch en vol), coupant la CLI custom ~0.5s après son ouverture. Introduit un binding "trusted" (agent+profil validés) qui reste valide tant qu'aucun changement légitime de profil n'est observé via agentProfileChanged, et ne retombe en TUI que sur perte réelle du CLI custom. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>