a piece of shared state
owned by the server?
yes
TanStack Query
no
one value object, multiple fields, different change frequencies, disjoint consumers?
yes
per-slice Zustand store, selector-only API
FileSelectionProvider — measured: 221 wasted renders per click
no — tree-scoped, low-frequency, or single-field
React Context
WorkspaceMetaProvider, ConversationProvider