Remote / Server-derived state

One owner per datum

A logical piece of state should have one authoritative owner. Surface composes the owners; it does not erase the boundary.

StateOwner
Current route, selected item, transient errorsthe local Model, plain update
Server-derived, disposable cachefoldkit-remote
Client-owned replicated state, offline writes, convergencefoldkit-sync
Local state the URL shows or a store remembers (a filter, a page, a draft)the local Model, mirrored by foldkit-mirror

Reaching for the wrong owner is the usual source of double-fetch bugs: a collaborative draft belongs to Sync, an analytics summary to Remote, and the currently selected project to the local Model. A Surface may project all three at once.