3.5 KiB
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.