ShellPage mixes the sidebar's derived roster with thread orchestration in one
3,000-line body, which makes both hard to review. Behaviour-preserving move:
- useSpaceSearch owns the sidebar query, the debounced space search and
jumpToSearchHit.
- useSidebarModel owns the sidebar memos (roster groups, conversations,
projects, main conversation entry) and the project drag-and-drop order.
Both are called where the sidebar memos were, so the search effect keeps its
place among ShellPage's effects; bodies and dependency arrays move verbatim.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MRtGG9ARfqqhma3t85Ro2u