Mirror / Mirrored state

Reading back

A URL mirror's reduce(model, url) sets the whole slice: a missing key is the initial value, and a key that fails to decode is too, so ?page=abc shows page one instead of breaking the page. A store mirror's reduce(model, message) takes the MirrorRestored its restore Command yields and sets only the fields still at their initial value, so an edit made before the store answered is kept. On a cold load the URL wins where it names a key, then the store, then the initial value.

When the store's keys are already in hand at boot (Flags the server embedded, a synchronous read), there is no need to wait for the restore Command: Prefs.bootstrap(keys) folds them into the initial Model before the first render, and Mirror.bootstrap(initial, ...steps) composes store steps with the URL step. See "Restore before the first render with bootstrap" in the package README. Wiring.init stays the other lifecycle: startup Commands after the Model exists.