- Change user field type from pyarrow.string() to pyarrow.uuid() in
knowledge_memories and knowledge_scenario schemas
- Convert user to UUID via _uuid() in memories_store()
- Use UUID hex comparison in memories_filter() and memories_latest()
- Rename user to user_id in memories tool schemas with UUID description
- Convert user to UUID in memories tool handlers
- Add User ID (UUID) to User Context in telegram and xmpp clients
- Update roleplayer instructions to use user_id with UUID instead of
nickname
- Add salutation field to knowledge_user schema (after alias, nullable)
- Update users_store() to accept and store salutation
- Add salutation to users_store and users_update tool schemas
- Add salutation to users_filter output display
- Add Salutation to User Context in telegram and xmpp clients
- Add XMPP_NICKNAME config in .env for custom MUC nick (fallback to JID username)
- Add _get_muc_nick() helper: resolve nick with suffix fallback on conflict
- Add _is_my_nick() helper: compare presence nick with expected nick per room
- Handle 409 Conflict in _on_session_start: try nick alternatives (lily_, lily__)
- Handle 409 Conflict in _muc_rejoin_coro: try nick alternatives with max 3 attempts
- Stop retry when all nick variations exhausted (anti-ban: avoid infinite retry)
- Reset nick suffix counter on successful join
- Update _on_groupchat_message filter to use _is_my_nick()