9ce6f02ee4
Con un cliente «Gian Luca Caruso / Caruso Speaker» il menu proponeva tre voci per un destinatario solo. Non era un difetto di resa: al menu era stata passata la stessa lista che il parser usa per RICONOSCERE un tag rileggendo il testo. Sono due domande diverse, e il codice le aveva confuse: - come lo si puo' scrivere -> tutti gli alias, invisibili, solo in lettura - chi si puo' scegliere -> una riga per destinatario `MentionTarget` le separa: `label` per il menu, `aliases` per la rilettura. Scrivere «@Gian» a mano continua a valere come tag e a far partire la mail -- cambia solo cosa viene offerto, non cosa viene accettato. Il filtro del menu ora passa da `normalizeForSearch`, la stessa normalizzazione del parser: con un toLowerCase() a parte, digitare «nicolo» non avrebbe trovato «Nicolò» nel menu mentre nel messaggio sarebbe stato riconosciuto -- due regole per la stessa domanda, e la seconda si scopre solo quando la mail non parte. Il difetto scalava peggio del valore: con tre contatti per cliente sarebbero diventate nove righe. `mentionTargets()` ritorna gia' un array per questo, ma il tag per singola persona resta impossibile finche' `client_emails` ha gli indirizzi e non i nomi: serve una migration, ed e' un lavoro a se'. Verificato: build e lint puliti, 23 test su parser e menu. Mai visto a schermo. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>