# Thread index and split source chat

Apply `drizzle/0001_thread_titles.sql` to an existing database before starting this version. The migration copies previous workspace threads into separate indexed rows without removing originals. Workspace loading returns at most 100 title/metadata records; `/api/threads` paginates titles and returns full messages only for a requested thread ID. All queries are scoped to the authenticated owner. Title-only sync updates preserve unloaded messages.

The AI search command supports indexed thread-title search and opening an agent request. Source details provide a resizable source chat with authenticated source context, editable notes, and explicit delete confirmation. Source removal retains the database row. Thread deletion moves the thread to Trash and can be restored.

Agent UI uses assistant-ui's ExternalStoreRuntime adapter over the existing Eve stream. Source chat uses message and composer primitives; the main composer shares the adapter. See `design/unslop/analysis.md` and `design/unslop/skill.md` for the reference-specific UI review and its limitations.