Files
arah2/.planning/phases/06-turn-by-turn-guidance-live-driving/06-DISCUSSION-LOG.md
T

70 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.