docs(05): phase 5 PASSED — verification + close

This commit is contained in:
araharah-executor
2026-10-24 06:06:49 +08:00
parent efba4d6f4c
commit 6f747b4cb1
2 changed files with 41 additions and 0 deletions
@@ -0,0 +1,35 @@
# Phase 5: Routing + Route Display — Verification
**Verified:** 2026-10-24
**Method:** goal-backward against ROADMAP §Phase 5 (SC3 as amended per 05-CONTEXT — fixture RoutingSource backend + documented backend ladder + deliberate router-pending state).
## Success Criteria
### SC1 (RTNG-01) — route drawn on the Rams map from current location to destination — ✅ PASS
- Route paint stack live: selected = 9px matte-black casing + 5px signal-orange center (Phase 1's reserved accent as primary consumer); unselected = 5px/3px black+beige quiet mini-stack; layers ADDED above `building-3d` at pitch 35° — style never re-set (RP gates + code greps).
- Origin ring + destination pin (12px square + 8px tail, name chip) per UI-SPEC; camera fit-bounds with the declared padding.
- Two real bugs the new capture legs caught and fixed: `bootMap` missing the `onLoad` callback (route sources never installed) and route-consult racing map load — both gated by an RS2 boot-wiring regression test.
- Capture evidence: `shell-route-fixture.png` / `shell-route-alt.png` / `shell-route-dark.png` (13/13 non-blank).
### SC2 (RTNG-02) — up to 3 alternatives, quiet Rams cards, selection redraws — ✅ PASS
- Bottom card + chips per UI-SPEC: time in `telemetry-num`, distance, one-line difference; tap → redraw (alt-swap capture shows `ROUTE 2/2 / +1 MIN VS ROUTE 1`).
- 8 of 15 corpus pairs carry ≥2 alternates (floor 4 — exceeded).
### SC3 (amended) — golden corpus routes cleanly through the fixture backend — ✅ PASS
- 15 real KL pairs (23 routes) fetched once at build time from the public OSRM demo (`code: Ok` throughout; no user data, D-12 mechanically proven — RT2b joins origins to gazetteer landmarks).
- Offline tolerance gate RT1–RT10 **PASS**: 16,576B gz / 102,400 budget; bundle gate BA9: 35,076 / 204,800 gz bytes; BA10: 15/15 pair ids in the shipped bundle.
- Backend ladder documented: fixtures (#1) → client-side WASM router (#2, OSS track) → Valhalla-on-VPS (#3, provision path documented, not shipped). Worker no-route-proxy gates RP1/RP2 teeth-proven (D-05).
### Phase 6 groundwork
- `guidance_sessions` envelope frozen **types-only**: exact 4-field envelope, inline snapshot, 7200s TTL constant, `guidance:<id>` key scheme — zero KV runtime (GE1–GE7, `KvNamespace` count 0). Route model carries step geometry + snapped-progress fields day-one (D-07).
## Gates at close
search 57/57 · routing 35/35 · corpus PASS · bot 74/74 · web 76/76 · typechecks ×3 clean · theme audit clean · captures 13/13 · live deploy `e6a6811c`.
## Known-open (non-blocking)
- /cari client-menu defect (carried from Phase 4 — Telegram-side, diagnosis + re-arm script committed).
- RoutingSource backend #2/#3 deferred by design (05-CONTEXT D-01); arbitrary-origin routing arrives with them; "router pending" state is the designed interim.
## Verdict
**PHASE 5: PASSED** — 5/5 plans executed; all success criteria met (SC3 as amended). Phase 6 (Turn-by-Turn Guidance) is next.