Learn / Who changes state
Semantic state is not runtime work
RemoteData says what the Model knows — Initial, Loading, Ready,
Refreshing, Failed, NotFound. It is application state: it is in the Model,
it replays, and a view renders from it.
Whether a fiber happens to be running is not. Runtime activity is real, and devtools may want it, but it is not a second input to a view: a render that depends on it is no longer reproducible from the Model, which is the property every other rule here exists to protect.
This is also why there is no action() here. Foldkit already scopes an
optimistic write, its effect, and its reconciliation: update applies the
optimistic change and returns the Command, the Command does the work, and the
Message it returns reconciles. That is the same three phases, written in the
architecture that was already there.