Learn / Wiring
Who owns what
The wiring changes nothing about ownership. It describes joining; the contracts each package already declares still own the transitions:
- Remote's reducer still owns the cache slice; Mirror still owns nothing (it
observes); Sync still owns replication through
mount, not through the assembly; the agent still only sends Messagesupdatealready handles. - The assembly never becomes a second reducer.
updateroutes each Message to exactly one item's fold and falls through to the application's own update. A shared tag is the exception that proves it: it is observed, not claimed, so every wiring sharing it folds it in list order and the application's update sees it after them. Several URL mirrors read oneUrlChanged, and the application still routes on it, over the slices they have already read.
The mental model
integration + its config ──▶ Wiring
Wiring + Wiring + placement + … ──Page.assemble──▶ Assembly
Assembly ──update / initial / subscriptions / resources / url / module──▶ runtime config + Module
runtime config ──complete──▶ checked (type-level), unchanged (runtime)
Assembly ──runtime──▶ runtime config, with the derivations filled in