docs(04): phase 4 PASSED — verification + checkpoint resolution
This commit is contained in:
@@ -242,3 +242,12 @@ BotFather-side value; the bot-side menu button + `MINI_APP_URL` are confirmed eq
|
|||||||
each).
|
each).
|
||||||
- Suites re-run at close: web 57/57, bot 65/65, corpus threshold PASS; capture 8/8;
|
- Suites re-run at close: web 57/57, bot 65/65, corpus threshold PASS; capture 8/8;
|
||||||
deploy live with canaries green.
|
deploy live with canaries green.
|
||||||
|
|
||||||
|
## Checkpoint resolution (orchestrator, 2026-10-24)
|
||||||
|
|
||||||
|
Device gate **PASSED** (user verdict): legs 1–4 + 6 PASS on real hardware; leg 5
|
||||||
|
user-accepted after the BotFather Main Mini App fix (automated DP coverage stands).
|
||||||
|
Post-gate rounds shipped: map tilt + extrusion, /start logo, command-scope shadow
|
||||||
|
law. Known-open cosmetic: client command menu (Telegram non-default setMyCommands
|
||||||
|
defect; diagnosis in 04-DEVICE-GATE.md). Verification: 04-VERIFICATION.md —
|
||||||
|
phase 4 PASSED.
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# Phase 4: Destination Search + KL Gazetteer — Verification
|
||||||
|
|
||||||
|
**Verified:** 2026-10-24
|
||||||
|
**Method:** goal-backward against ROADMAP §Phase 4 success criteria; device-gate user verdict ("everything else is approved") after in-gate debug/UX rounds (see 04-DEVICE-GATE.md).
|
||||||
|
|
||||||
|
## Success Criteria
|
||||||
|
|
||||||
|
### SC1 (SRCH-01) — golden queries return the right KL landmark — ✅ PASS
|
||||||
|
- 75-case pinned corpus: **top-3 68/68 (100%)** ≥ 90% gate; golden landmarks (KLCC, Sunway Pyramid, DUKE), malls, transit hubs, kampung-style names all resolve.
|
||||||
|
- LIVE on the deployed Worker: gazetteer inlined into the bundle (30/30 ids verified in the served chunk), `/cari KLCC` → sendVenue card via the real bot.
|
||||||
|
|
||||||
|
### SC2 (SRCH-02) — abbreviated/typo'd/glued queries resolve — ✅ PASS
|
||||||
|
- Abbreviation tier 15, glued 7, typo 14 corpus cases green; JUPEM rule table (48 rows incl. Kpg) as DATA + OSA-Damerau residual net; `Jln Ampang`→`Jalan Ampang`, `KCLC`→KLCC verified in-suite and on-device.
|
||||||
|
|
||||||
|
### SC3 (SRCH-03) — native venue card confirms before navigation — ✅ PASS
|
||||||
|
- `sendVenue` card + OPEN IN ARAHARAH + 2–4 alternates (callback swap re-renders a new card); device legs 1–3 confirmed the card on Android/iOS/Desktop.
|
||||||
|
- Honest out-of-area refusal (SC "negatives"): `/cari Kuching` refuses in text — device leg 6 PASS; 7/7 corpus negatives refused with measured admission margin.
|
||||||
|
|
||||||
|
### SC4 (ONBD-02) — Mini App opens preloaded from search — ✅ PASS
|
||||||
|
- Two-carrier reader: primary `?dest=` on the web_app button (platform truth: `web_app` buttons cannot carry `start_param` — research-verified, D-10 mechanism amended, intent preserved), `start_param` secondary.
|
||||||
|
- Device legs 1–3: destination card "Suria KLCC" preloaded on Android, iOS, Desktop. Memory-only resolution (D-03/D-07 gates: no storage writes; BA drift gates over dist).
|
||||||
|
|
||||||
|
### SC5 (ONBD-03) — home-screen launch lands search-ready — ✅ PASS
|
||||||
|
- Device leg 4: home-screen relaunch lands the app booted in Telegram, search-ready; `addToHomeScreen`/`checkHomeScreenStatus` behind capability guards (iOS "unknown" ≠ failure, per RESEARCH).
|
||||||
|
|
||||||
|
### SC-bake-off — the experiment closes — ✅ PASS (closed at the first rung)
|
||||||
|
- D-14 gate: threshold met, escalation lever **None** (recorded in docs/SEARCH-QUALITY.md). Ladder preserved for later phases: table edits → WASM geocoder backend #2 → Photon-on-VPS (#3). VPS provisioning correctly deferred to Phase 5 (Valhalla).
|
||||||
|
|
||||||
|
## Known-open (non-blocking, recorded)
|
||||||
|
- `/cari` absent from the *client command menu*: Telegram-side silent-write defect on non-default `setMyCommands` scopes (diagnosed in 04-DEVICE-GATE.md; default scope is correct; the command itself works when typed; register script re-arms all scopes for retry).
|
||||||
|
- Leg 5 on-device re-send after the BotFather Main Mini App config was deferred by the user ("everything else is approved"); the unknown-id surface is covered by automated DP gates + capture.
|
||||||
|
- Post-gate UX shipped within this phase: map tilt (pitch 35°) + runtime building extrusion (style-owned colors), `/start` logo (static-asset URL), command-scope shadow law.
|
||||||
|
|
||||||
|
## Final gates at close
|
||||||
|
search 57/57 · bot 65/65 · web 57/57 · typechecks clean · theme audit clean · captures 8/8 · live deploy `41dedd84`.
|
||||||
|
|
||||||
|
## Verdict
|
||||||
|
|
||||||
|
**PHASE 4: PASSED** — 4/4 plans executed; all success criteria met. Phase 5 (Routing + Route Display) is next; VPS provisioning begins there.
|
||||||
Reference in New Issue
Block a user