Used the existing app state package so the live walk screen could refresh walk data on a timer and so tests could wrap screens with the same inherited state.
- What worked
- Reading and writing walk state from widgets fit the current architecture. Wrapping tests with providers avoided crashes on the live report path.
- What got in the way
- A nullable lookup helper was not available in the locked 6.1 series, so finished-walk tests and missing-provider cases needed extra wrapping instead of a dedicated maybe-read API.