Remaining Manual Validation
This file captures the manual validation work reserved for Milestone 0, the final MVP release-gate pass to resume when the user is available.
For the short pre-audit smoke gate, use development/phase-0-smoke-qa.md before returning to the full checklist.
Already Covered
The rewrite has already been manually validated for:
- hosted device auth on
bagels.top, including account creation, password sign-in, sign-out, magic-link email delivery, password-reset email delivery, biometric re-entry, and cold-launch session restore - auth boot, sign-in, sign-out, and session restore
- profile editing
- paywall presentation and dismissal
- map shell boot, search, layers, forecast polygons, slope shading, incidents, popular routes, and ski areas
- route drafting, route save, draft recovery, route reopen, and saved-route map presentation
- route plan create/edit/save/share/custom-scheme import
- recorded track create/save/show/delete in simulator
- offline download lifecycle and offline-region persistence
- backend outage handling and recovery
- app relaunch persistence and background/foreground resilience
Still Remaining
1. Route plan trip safety workspace
Status: Not yet completed
Why it still matters:
- the saved-plan trip safety workspace is now a real user-facing flow
- route-plan setup now uses a pushed multi-step planner, so we need one clean pass that covers setup-state persistence before the saved workspace even begins
- it needs a clean end-to-end pass for session start, hosted share status, decisions, observations, finish, and debrief persistence
- this is the next highest-signal QA slice after hosted auth and pinned zones
Reference:
2. True offline usage without network
Status: Not yet completed
Why it still matters:
- local offline-region downloads now complete
- but we have not yet validated the actual no-network runtime with a downloaded region fully available
Recommended environment:
- simulator with network disabled if practical
- or a device build that can use a non-local backend host before downloading and then go offline
Success criteria:
- downloaded base map renders without network
- forecast and overlay data remain usable inside the downloaded region
- saved offline regions can still jump the map back to their bounds through
View on Map - the app does not fall apart when bootstrap/config requests fail after the region already exists
Reference:
3. Forecast override and tools stack
Status: Not yet completed
Why it still matters:
Update ForecastandPro Toolsare now real backend-backed flows instead of placeholder buttons- the app now has a shared checklist surface that already powers two new tool checklists
- the new map action stack and inclinometer are user-facing and should be manually exercised before resuming broader external validation
Success criteria:
Update Forecastwarning, checklist, apply, and reset all workPro Toolswarning, reasons checklist, level selection, apply, and cancel-without-apply all work- override state appears consistently on both the map and forecast-zone details
Trailhead Checklist,Drop-In Checklist, andInclinometerlaunch from the new tools surface and behave as expected
Reference:
Newly Covered Since Resuming Milestone 0
- hosted device auth on
bagels.top, including account creation, password sign-in, sign-out, magic-link email delivery, password-reset email delivery, biometric re-entry, and cold-launch session restore - forecast-zone details pin, unpin, and make-primary behavior against the hosted staging environment
- quick briefing presentation and duplicate forecast-text suppression in forecast-zone details
4. Real App Store sandbox or TestFlight purchase validation
Status: Not yet completed
Why it still matters:
- paywall presentation works
- but provider-side purchase, restore, entitlement reconciliation, and webhook behavior are still the largest external-system risk
Success criteria:
- purchase flow completes
- restore works
- backend entitlements update correctly
- paid offline limits and other gated surfaces unlock as expected
Reference:
- purchase-sandbox-validation-playbook.md
- development/manual-validation-checklist.md
5. Push notifications end to end
Status: Not yet completed
Why it still matters:
- the app has push registration foundations
- but the runtime has not yet been validated for permission prompt, device registration, and delivered-notification handling
Success criteria:
- push permission can be granted cleanly
- device registration succeeds
- at least one delivered notification opens into a sensible app route
Reference:
6. Universal links and Safari/web handoff
Status: Not yet completed
Why it still matters:
- custom URL scheme routing works
- universal-link hosting, associated domains, and AASA delivery are now implemented in code
- but the real hosted environment still needs Safari-to-app validation with the production domain and signed build
- hosted trip-status share links also depend on this environment being configured
Success criteria:
- a shared plan URL opens from Safari into the app
- hosted route/plan/invite pages load correctly from the production domain without 404s
- the associated-domains/AASA path is validated on a real environment
Reference:
7. On-device track recording validation
Status: Partially deferred
Why it still matters:
- simulator GPX recording mostly works
- but GPX playback characteristics can stall or hide real-world location/elevation behavior
Success criteria:
- point count grows on real movement
- pause/resume works on device
- save/finalize works on device
- altitude/elevation behavior is understood well enough for product confidence
Reference:
Optional But Useful Follow-up Validation
These are lower priority than the seven items above, but still useful:
- rerun the new route-plan stepper and large-detent route-details surfaces after any additional navigation or copy polish
- rerun map validation after any all-routes segmented risk backend expansion
- rerun offline after style-pack refresh/update logic is implemented to confirm the custom style warning disappears
Notes For A Fresh Chat
If a future chat is picking up manual testing:
- start with llm/START_HERE.md
- read reference/current-state.md
- read development/manual-validation-checklist.md for the exact step order and expected observations
- then use this file plus development/follow-up-backlog.md to choose the next validation or implementation slice