Normalized for Mintlify from
knowledge-base/aiconnected-os/aiConnectedOS-conversation-splitting.mdx.aiConnectedOS PRD Addendum
Feature: Conversation Split & Route
Status: Specification — Ready for Implementation PlanningPart: Addendum to Part 14 (Automatic Conversation Cleanup & Organization)
Related Features: ChatNav, Linked Conversations, Folder System, Neurigraph/Memory Architecture, Automatic Chat Cleanup (Part 14)
1. Overview
Conversation Split & Route is an in-flight, AI-assisted feature that detects when a conversation has drifted into a new topic mid-thread and gives the user a fast, low-friction way to surgically extract and relocate the branched portion to its correct folder or instance. The extracted content becomes a properly linked child conversation, with memory attribution routed to match. This feature is distinct from the broader Automatic Chat Cleanup system (Part 14), which handles whole-conversation organization after the fact. Conversation Split & Route operates inside an active chat, at the message level, while the conversation is still in progress. The core problem it solves: a conversation that begins in one context (personal, therapeutic, general brainstorm) naturally transitions into a different domain (a product idea, a client topic, a business decision). By the time that happens, the user is generating outputs that belong in a different folder or instance entirely. They shouldn’t have to stop, manually create a new chat, and copy content across. The system should detect the drift and offer to handle it — immediately, cleanly, and without interrupting the flow.2. Feature Definition
2.1 What It Is
Conversation Split & Route allows a user to:- Receive a non-intrusive system notification when the AI detects a topic shift mid-conversation
- View and modify which specific messages are proposed for extraction
- Choose the destination folder or instance for the extracted content
- Select whether to Move or Copy the selected messages
- Have relevant memories from the extracted portion routed to the correct destination
- Retain a visible, navigable link between the origin chat and the new destination chat
2.2 What It Is Not
This feature does not:- Replace or duplicate the existing Automatic Chat Cleanup function (Part 14), which handles whole-conversation relocation via cron-style background review
- Operate as a manual “move chat” tool (that already exists at the folder/instance level)
- Inject any notification or prompt into the conversation record itself
- Move an entire conversation — only a user-selected subset of messages within it
3. Trigger Conditions
3.1 Automatic Detection (AI-Initiated)
The system continuously monitors the semantic trajectory of the active conversation. A split notification is triggered when the model detects a topic shift meeting the following criteria:- The last N messages (configurable, suggested default: 4–6) are semantically divergent from the dominant topic of the conversation’s earlier content
- The new topic maps to an existing folder or instance in the user’s workspace with reasonable confidence (threshold: configurable, suggested default: 0.75 cosine similarity against folder-level metadata and Neurigraph node tags)
- The divergence has been sustained for at least 2 consecutive AI response cycles (to avoid false positives on brief tangents)
- Tangential questions that return to the main topic within 1–2 exchanges
- Meta-conversation (e.g., the user asking about the feature itself)
- Topics that have no identifiable destination folder or instance
3.2 Manual Initiation (User-Initiated)
The user can also trigger the split flow manually at any time without waiting for the AI to detect a shift. This is accessible via:- The
⋯message-level action menu on any message (selecting “Split from here” sets that message as the proposed inflection point) - The ChatNav sidebar, via a “Split conversation” action available on any checkpoint
- A context menu triggered by selecting multiple messages in the thread and choosing “Move selected” or “Copy selected”
4. The Overlay Notification
4.1 Design Principle
The split notification must exist entirely outside the conversation record. It must never appear as a chat message, inline system message, or any element that becomes part of the thread history. It is a UI overlay — visually separate from the chat surface — that the user can accept, dismiss, or ignore without affecting the conversation.4.2 Notification Anatomy
The notification appears as a slide-in panel or modal overlay anchored to the edge of the chat interface (right side on desktop, bottom sheet on mobile). It contains: Header- Icon indicating a topic shift has been detected
- Title: “Conversation has shifted topics”
- Brief one-line description of the detected shift, e.g.: “This conversation moved from [Personal / Wellness] into [aiConnected / Product Strategy].”
- Suggested destination: the folder or instance the system recommends, with its icon and name displayed
Review & Route— opens the full Split Review panel (see Section 5)Dismiss— closes the notification with no action taken; the conversation continues normally
Don't suggest this again for this chat— suppresses future shift notifications in the current conversation onlySettings— deep link to notification sensitivity settings
4.3 Behavior
- The notification does not interrupt typing or message input
- It auto-dismisses after a configurable timeout (suggested default: 45 seconds) if the user takes no action, leaving no trace
- Dismissing it once does not permanently suppress it; a new and sufficiently different topic shift in the same chat will trigger it again
- The notification is not logged in the conversation history, the ChatNav index, or Neurigraph memory
5. The Split Review Panel
When the user selectsReview & Route, a full-screen overlay or side panel opens. This is the primary interaction surface for the feature.
5.1 Message Selection View
The panel displays the full conversation thread in a scrollable list. Each message is rendered with a checkbox. Pre-selection behavior: The system pre-selects all messages from the detected inflection point forward. The inflection point is the specific message where the semantic shift was first detected. Pre-selected messages are visually highlighted (e.g., a left-border accent in the destination folder’s color, or a light tinted background). All prior messages remain visible but are unselected. The user can:- Deselect any pre-selected message to exclude it from the extraction
- Select any earlier message to include it in the extraction (useful if the topic shift actually began slightly before the AI detected it)
- Use “Select all after this message” as a shortcut on any message to extend selection forward from that point
- Use “Deselect all” to clear and start fresh
- At least one message must be selected to proceed
- The user can select non-contiguous messages (individual messages scattered throughout the thread)
- The selection does not need to be linear; users may cherry-pick specific exchanges
5.2 Destination Picker
Below or alongside the message list, the panel shows a destination selector:- The system pre-fills its best suggested destination (the folder or instance it identified during detection)
- The user can change this to any accessible folder or instance via a searchable dropdown or folder tree
- The user can also choose “New folder…” or “New instance…” to create a destination on the spot, without leaving the flow
- The destination shows its current folder name, instance name, and any active persona assigned to it
5.3 Move vs. Copy Selection
A clearly labeled toggle or segmented control with two options: Move Selecting Move means the chosen messages will be extracted from the origin chat and relocated to the destination. After the operation:- The selected messages no longer exist in the origin chat
- The origin chat record reads as if those messages never occurred there
- The user has a choice (see Section 7.1, Open Decision) about whether a subtle trace marker appears at the extraction point in the origin chat
- Memory nodes generated from the moved messages are transferred exclusively to the destination’s Neurigraph scope; they are removed from the origin scope
- Both conversations contain the selected messages
- The origin chat is unchanged
- Memory nodes generated from the copied messages exist in both the origin and destination Neurigraph scopes
- If the user wants to limit memory to only one scope, a prompt appears: “Should memories from these messages apply to both locations, or only the destination?” This gives the user explicit control rather than automatic duplication
5.4 Conversation Naming
Before confirming, the user is shown a name field for the new destination chat that will be created. The system pre-fills a suggested name based on the semantic content of the selected messages. The user may accept this or type their own. This field is not required — if left blank, the system names it by the most prominent topic detected.5.5 Confirmation and Execution
AConfirm button at the bottom of the panel executes the operation. A brief inline progress indicator appears while the system processes the message extraction, creates the new chat, establishes the link, and routes memory. On completion, the panel closes and the user is offered a View in [destination] link to navigate directly to the new chat.
Canceling at any point in the panel discards all changes.
6. Post-Operation State
6.1 The New Destination Chat
The newly created (or receiving) chat at the destination will:- Open with the selected messages as its initial content, in their original chronological order
- Display a “Branched from” banner at the top of the thread (consistent with the existing Linked Conversations pattern), e.g.: “Branched from [origin chat name] on [date]” with a
View originallink - Have its own ChatNav index generated from the extracted messages
- Be scoped to the correct folder or instance’s persona, instruction layer, and memory context
6.2 The Origin Chat
After a Move operation:- The selected messages are absent from the thread
- The conversation flows from the last unextracted message without visual disruption (default behavior)
- If the trace marker option is enabled (see Section 7.1), a subtle non-message system indicator appears at the extraction point reading: “N messages moved to [destination chat name]” with a jump link. This indicator is read-only, cannot be interacted with in the normal message sense, and does not affect context or memory retrieval.
- The origin chat is completely unchanged
- A subtle link annotation may optionally be added to the origin messages that were copied, indicating they also exist in the destination chat (mirroring the Linked Conversations link icon pattern)
6.3 Conversation Linking
Regardless of Move or Copy, aConversationLink record is created:
7. Memory Routing
7.1 Neurigraph Scope Assignment
Memory nodes (episodic, semantic, and somatic) generated during the extracted portion of the conversation are re-scoped according to the operation type: On Move: All memory nodes whosesource_message_ids include any of the extracted message IDs are reassigned to the destination folder or instance’s Neurigraph partition. They are removed from the origin partition. This is the intended behavior: the moved content effectively never happened in the origin context.
On Copy: Memory nodes are duplicated into both partitions. The user’s response to the memory scope prompt (Section 5.3) can override this to destination-only if preferred.
7.2 Memory Integrity
Memory nodes are never partially migrated. If a node was generated from a message set that spans both extracted and non-extracted messages, the system:- Flags the node for review
- Presents the user with a brief prompt: “This memory was built from messages in both locations. Which context should own it?” — with options:
Origin,Destination,Both - Applies the user’s selection before closing the panel
8. ChatNav Integration
The split operation interacts with the ChatNav system in the following ways: Origin chat: Any ChatNav checkpoints that corresponded to the extracted messages are removed (on Move) or annotated with a “also in [destination]” tag (on Copy). The ChatNav date index and session groupings update automatically. Destination chat: A new ChatNav index is generated for the destination chat starting from the extracted messages. If the destination chat already had existing content, the extracted messages are appended and new checkpoints are generated for the combined thread. Fast onboarding: Because ChatNav provides navigable summaries, a persona or new participant joining the destination chat after a split can immediately orient to the context of the extracted content without reading the full extracted history. This is the same onboarding mechanism described in the ChatNav spec for new participants and forks.9. UX Notes
The notification tone matters. The overlay notification should feel like a helpful colleague tapping you on the shoulder, not a system alarm. The language should be plain and conversational: “Looks like this shifted to a different topic. Want to move it?” — not “TOPIC DRIFT DETECTED.” Pre-selection should err on the side of more. It is easier for a user to deselect a few messages than to scroll back and re-select them. The system should be inclusive in its initial selection rather than conservative. The flow must be reversible. Until the user hits Confirm, nothing has happened. If the user closes the panel at any point, the conversation is exactly as it was. Confirmations should not be buried or ambiguous. Move is the power option, Copy is the safe default. The UI should present Copy as the default-selected option, since it is non-destructive. Move should require a slightly more deliberate interaction — a clear label, and if desired, a brief one-line note: “The selected messages will be removed from this conversation.” On mobile, the panel should be a full-screen modal with the same functionality, accessed identically via the long-press message menu or the ChatNav sidebar.10. Acceptance Criteria
- System detects a topic shift with no false positives on tangential exchanges of 1–2 messages
- Shift notification appears as a UI overlay and is confirmed to write nothing to the conversation record, ChatNav index, or Neurigraph memory
- Notification auto-dismisses after configurable timeout without side effects
- Split Review panel pre-selects messages from the detected inflection point forward
- User can modify the selection (add, remove, non-contiguous selections) without constraints beyond the minimum of 1 message
- Destination picker surfaces the system’s best guess and allows full override
- “New folder” and “New instance” are accessible inline without leaving the panel
- Move operation removes selected messages from origin chat record
- Copy operation leaves origin chat fully intact
- Memory nodes are correctly re-scoped per the operation type and user choices
- Spanning memory nodes (across extracted and non-extracted messages) prompt the user for scope resolution
- Destination chat is created with the extracted messages in chronological order
- “Branched from” banner appears in the destination chat
- ConversationLink record is created and accessible from both chats’ header menus
- ChatNav in both chats reflects the post-split state correctly
- The full flow is completable on mobile
- The operation is fully reversible up to and excluding the Confirm action
- No part of the notification or panel UI becomes part of the conversation history
11. Dependencies
- ChatNav — checkpoint generation and update on split must be implemented and stable
- Linked Conversations — ConversationLink data model and header UI must be in place
- Folder System — destination picker relies on the folder/instance tree and move API
- Neurigraph Memory Architecture — memory re-scoping requires the partition model to support message-level provenance on nodes
- Automatic Chat Cleanup (Part 14) — shares topic classification logic; the detection engine for this feature should be built on the same classifier to avoid duplication
- Message-level action menu (
⋯) — manual trigger requires the per-message action menu to support “Split from here” as a menu item