Repository navigation
Auto Rename Rooms - #2915
Open
tevanburen wants to merge 41 commits into
Open
Auto Rename Rooms#2915tevanburen wants to merge 41 commits into
tevanburen wants to merge 41 commits into
Conversation
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
tevanburen
marked this pull request as ready for review
August 28, 2026 15:00
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goes with SEMOSS/semoss-ui#3571
Description
Moves automatic room naming fully to the backend and shares the same naming flow between
AskPlaygroundandRunAgent. The title model call runs alongside the primary request, uses a detached room to avoid lock contention, and never writes its prompt or response into conversation history.The generated name is delivered through the existing response channels, so clients do not need to submit a separate naming Pixel.
Changes Made
Reuse
AgentRoomNamerfor both Playground chat and agent-harness runs.Add a protected pre-ask hook to
AskRoomReactor, overridden byAskPlaygroundReactor.Invoke naming only for live asks; prebuilt/cancel-recovery turns do not trigger it.
Run title generation asynchronously against a detached
Roomwith history disabled andappendToHistory=false.Limit title generation to 32 output tokens so providers can safely run the short request with streaming disabled.
Persist the generated title only while the room still has its default name, preserving manual renames.
Synchronize the cached live room after persistence so later room persistence cannot restore the old name.
Include
roomNamein the completedAskPlaygroundresult as a reconciliation fallback.Emit a
room_nameenvelope through the existing Pixel job stream as soon as the title is ready:{ "stream_type": "room_name", "data": { "roomName": "Ancient Rome Overview" } }Wait for naming before an agent run becomes terminal and expose useful room names through the existing run snapshot polling contract.
Remove the standalone
GenerateRoomNameReactor; clients no longer make an additional naming request.Why
The previous client-triggered approach introduced another request and could race the automatic naming already performed by
RunAgent. It also made title delivery dependent on a separate UI call.With this approach, each room has one backend-owned naming flow. Chat and agent responses continue normally while the short title request runs concurrently, and the title can be painted as soon as it becomes available.
How to Test
AskPlaygroundresult also containsroomName.roomNamewhile the run is active or in its terminal snapshot.Validation
AskPlaygroundnaming hook and stream event wiring.MessageInputMediacompilation error for the missingTikasymbol.