# Phase 6: Turn-by-Turn Guidance (Live Driving) - Discussion Log > **Audit trail only.** Do not use as input to planning, research, or execution agents. > Decisions captured in CONTEXT.md — this log preserves the analysis. **Date:** 2026-10-24 **Phase:** 06-turn-by-turn-guidance-live-driving **Mode:** default (interactive) ## Areas Discussed ### Routing engine stack — THE PIVOT #2 (user-added area) The user added: "The kind of tech (stack) used to achieve the hard $0 no-vps rule, eg. WASM (sql.js), lunr.js, if need to port valhalla so it's hostable on cloudflare pages as js, etc." Straight answers given: | Claim | Verdict | |---|---| | Port Valhalla to JS/WASM | **Infeasible** — C++/Boost/protobuf, memory-mapped multi-GB tile stores; multi-month build-system surgery; recorded as D-02 so it is never re-proposed | | geojson-path-finder | Rejected — demo-grade (distance-only, no alternatives/one-ways) | | **Engine A: Worker + R2 graph + A\*** | **CHOSEN, built this phase** — KL graph (~30–80MB) in R2, typed-array/WASM A\* in the Worker; $0, no VPS, fork-uploads its own graph, privacy-preserving; RoutingSource backend #2 | | Engine B (fully client-side webview) | Documented evolution of A, post-v1 | | Question | Options presented | Selection | |---|---|---| | Engine powering guidance rerouting | Engine A in phase 6 / fixture-corridor now + engine next phase / quick engine C interim | **Engine A in phase 6** — GUID-02 gets TRUE rerouting; fixture-corridor compromise unnecessary | ### Reroute semantics | Question | Options presented | Selection | |---|---|---| | Trigger machine | thresholds+grace (ON_ROUTE→OFF_ROUTE→REROUTING→ON_ROUTE, storm guard) / naive per-fix / research decides | Thresholds + grace machine | | Snapping authority | router snaps / client pre-snap | Router snaps | ### Guidance UX surface | Question | Options presented | Selection | |---|---|---| | Layout | top banner + bottom guidance card / single bottom sheet | Top banner + bottom guidance card | | ETA smoothing | EMA + deadband / raw per-fix | EMA + deadband | | Haptics + PX-03 | approach+arrive haptics + confirm + swipe-disable / defer haptics | Full set | | Camera | locked follow + user-unlock / free camera | Locked follow + user-unlock | ### Backgrounded turn-cards | Question | Options presented | Selection | |---|---|---| | Push loop | envelope + Cron push / app-queued sends | Envelope + Cron push (60–120s) | | Card rendering | glyph+text card / bitmap map snapshot / pre-minimize client raster | Glyph + text card (bitmaps deferred v1.x) | ### Replay verification + battery | Question | Options presented | Selection | |---|---|---| | GUID-02 verification | scripted replays + 1 real drive / real drives only | Scripted replays + 1 real drive | | Battery cadence | distance-throttled high-acc / adaptive accuracy | Distance-throttled high-acc (≥10m or ≥5s) | ## Corrections Made User's added stack area redirected the phase: the phase-5 deferral of the WASM-router was superseded by building engine A now. The reconciliation round from phase 5 (SC3 amendment) was extended, not reversed: fixtures remain backend #1 (demo path); engine A becomes a real backend #2; the router-pending state survives as graph-edge degradation. ## Auto-Resolved Not applicable. ## External Research Roadmap recommends /gsd-research-phase framing for "best-effort projection" + snapshots — resolved in-discussion (glyph+text cards; cron push loop). Remaining research surface for planning's light pass: graph build toolchain, A\* in-Worker feasibility numbers, cron/rate limits.