Session/agent auto-naming adds a 'cache' mode with its own path for new names and name collisions
The internal function that assigns or renames a conversation's auto-generated name now takes an explicit source setting, defaulting to "transcript" as before. It also adds a new "cache" mode: when naming happens in cache mode and no session has been established yet, it goes through a different, dedicated path rather than registering the name the normal way, and if the chosen name collides with an existing one, that collision is also resolved through the cache path instead of the usual collision resolver.
This gives conversation naming a separate track for cache-driven naming, keeping it distinct from the normal transcript-based naming and collision handling.
What triggers 'cache' mode naming and what the dedicated collision path does differently is not stated.