← Advanced tutorial: build a routed reading list

7. Understand the trust boundaries

Navigation · State · Data · Host · about 30 minutes
route 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.

Complete inventory

View all pages in Advanced tutorial: build a routed reading list
← Previous: 6. Run the storage round tripNext: What each verification proves →