7. Understand the trust boundaries
Navigation · State · Data · Host · about 30 minutesroute model → snapshot → transport → validated restore
Each layer solves one problem; keeping them separate makes failures recoverable and tests meaningful.
When to use it
Read this after both the deterministic test and live storage round trip work unchanged.
- Navigation validates and serializes the route stack; it does not persist anything.
- State provides bounded versioned string framing; it does not decide whether fields are valid product data.
- Data validates decoded external fields; the application still admits domain values such as all or favorites.
- Host transports the string asynchronously; RequestIds prevent an older completion from being mistaken for another operation.
- For a released schema change, increment the State version and add a tested State.migrate path before shipping the new writer.