WELIFE Docs Swagger Admin Web

15 — Completion Audit Matrix (post DONE_QUEUE)

Audit chức năng/UX: 2026-07-30 · Inventory FE thật (CON ~106 · PAR 13 · DRV 11 · ADM 14 modules) Mục đích: Ma trận màn còn thiếu theo chuỗi logic L→D→C/E→A→S/E→H + lifecycle entity — không phải pixel Figma. Nguồn: 01 · 13 · 14 · scan *Screen*.tsx

0. Snapshot

Metric Value
BE OpenAPI ops 350 IMP / 0 STUB · 40 tags
Machine queue nextRecommended: **null**
Soft CON/PAR depth (doc 13–14) DONE
Soft polish map/health (§4 cũ) DONE (trừ Figma/Mapbox)
CON *Screen.tsx ~106
PAR screens / tabs 13 / ~41 tabs
DRV screens ~11
ADM modules 14
Release blocker Figma MCP NO (ngoại vi)

Verdict: Domain lõi IMP. Gap còn lại = P8 FE thin + OWNER Pay/SMS/EAS — không còn BE STUB.

Số liệu runtime: npm run audit:refresh → 350/0/40. Snapshot cũ (267/303/307/308/310) = lịch sử.


1. Phân loại còn lại

Loại Ví dụ Gate
A · Design sync Pixel vs Figma/JPG lệch token Cần node-id / JPG · không rewrite logic
B · Journey depth Success / Rate / History / Chat wire P6 — ưu tiên «tiếp»
C · Data quality Seed · gallery · live GPS Local PASS trước IMP
D · Harden / prod Mapbox token · SMS · Pay live STOP-GATE secret
E · Contract hygiene OpenAPI vs controller Diff nhỏ BE docs
F · Partner form bind Promo/Rx/Stock còn local draft 1 domain / turn

2. Ma trận surface × trạng thái hoàn thiện

Surface Core chain L→D→C→A→S Child screens Pixel vs JPG Realtime Harden
CON ● IMP · Rate+Chat rides IMP · còn FNB Success ● phần lớn ● JPG · Figma deferred chat/rides ● Mapbox/Pay/SMS optional
PAR ● multi-tab IMP ○ form bind API thiếu ● proxy boards chat ● ownership BE ●
DRV ● trips/in-trip · H/Cancel thiếu ● ● 7b769 proxy GPS WS ● —
ADM ● queues/CMS · vertical thin ○ boards without JPG — —
API ● 0 STUB — — WS ● secrets STOP-GATE

3. Chuỗi chức năng chuẩn (quy ước audit)

Một vertical / entity chỉ DONE journey khi đủ (hoặc N/A có lý do):

List → Detail → Create/Edit → Action → Success/Error → History
Entity States (logic) UI bắt buộc
Ride REQUESTED→…→COMPLETED | CANCELLED CON rate + chat · DRV history + cancel
Order FNB/Grocery/Pharm NEW→…→DONE | CANCELLED Success riêng → Track/History
Hotel / School book → success → history Đã có pattern Success screen
Rental viewing / Med appt schedule → success → history Success riêng (hiện inline)
KYC / Partner PENDING→APPROVED|REJECTED Wizard + ADM queue (IMP)
Wallet tx PENDING→SUCCESS|FAILED Result screen (IMP CON)

4. Soft polish cũ (P5c — đã đóng)

# WP Status
1–4, 7–18 PLACE/HEALTH/ATM/SEED/MAP/WALLET/KYC/SOC/FUEL/PARK/HOTEL/RENT/SCH/MAP-HARDEN/HISTORY IMP
5 WP-FE-ROUTE-05-FIGMA-SYNC BLOCKED external
6 WP-ROUTE-MAPBOX-LIVE OPTIONAL (OSM/OSRM thay thế — WP-ROUTE-OSM-01)

5. Audit màn còn thiếu — theo logic & UX (2026-07-30)

5.1 Snapshot đếm

Surface Files Ghi chú
CON ~106 *Screen* MapStack + MainTabs
PAR 13 screen + ~41 tab Multi-tab shell
DRV ~11 MainShell state
ADM 14 *Module* SPA sidebar

5.2 CON — gap journey

Domain Thiếu / đứt Evidence code Pri WP
D-RIDES RideRateScreen + bind rate API RideRateScreen.tsx · RidesApi.rate P0 WP-FE-RIDE-RATE-01 IMP
D-RIDES Chat/Call trên RideDetail → ChatThread / tel RideDetailScreen openDriverChat · driver brief P0 WP-FE-RIDE-CHAT-01 IMP
D-FNB OrderSuccessScreen → Track (bỏ Alert) OrderSuccessScreen.tsx · Cart replace P0 WP-FE-FNB-SUCCESS-01 IMP
D-MED Booking success riêng (hiện modal inline) MedicalDetailScreen P1 WP-FE-MED-SUCCESS-01 ✅
D-RENTAL Viewing success riêng (inline) RentalDetailScreen P1 WP-FE-RENT-SUCCESS-01 ✅
D-PROMO Detail / apply checkout sâu PromoCheckoutField · FNB/Pharm/RideQuote P2 WP-FE-PROMO-02 IMP
D-NOTIF Detail màn thông báo NotificationDetailScreen P2 WP-FE-NOTIF-02 IMP

N/A hợp lệ: Fuel/ATM/Places = L→D (+ Route fuel) — không cần Create/Success.

5.3 CON chain cheat-sheet

Vertical L D C/E A S H
rides ● ● Quote Matching embedded history · Rate IMP
fnb ● Menu Cart pay ● Success OrderList · Track · Rate
grocery ● Store Checkout — ● Success → OrderList
hotels ● ● Confirm book ● Success Bookings
rentals ● ● schedule viewing inline Viewings
parking ● Lot — pay ● PayOk Bookings
pharmacy ● ● Cart — ● Success Prescriptions
medical ● ● book — inline Appointments
schools ● ● consult — ● Success Consultations
wallet ● TxDetail Action topup… ● result TxHistory
support ● Detail Create — — Tickets
chat Inbox Thread — Call — —

5.4 PAR — gap

Domain Thiếu Evidence Pri WP
D-PROMO Promo create bind API FnbPromoPanel «Chưa có API promo partner — toggle cục bộ» P1 WP-FE-PAR-PROMO-01 ✅
D-PHARM Stock edit PharmStockTab «qua API inventory khi sẵn sàng» P1 WP-FE-PAR-PHARM-STOCK-01 ✅
D-MED Rx persist MedRxForm local draft P1 WP-FE-PAR-MED-RX-02 ✅
PAR multi Empty/Error/Success thống nhất tabs StateBlocks · list tabs + StatusBanner P2 WP-FE-PAR-EMPTY-01 IMP

5.5 DRV — gap

Domain Thiếu Evidence Pri WP
D-DRIVER Trip history tab — COMPLETED/CANCELLED GET /driver/trips/history · TripsScreen P0 WP-FE-DRV-HIST-01 IMP
D-DRIVER Reject available + Cancel active POST …/reject · …/cancel · TripDetail/InTrip P0 WP-DRV-CANCEL-01 IMP
D-WALLET Earnings/tx detail — TxDetailScreen TxDetailScreen.tsx · tap row Wallet P1 WP-FE-DRV-EARN-01 IMP
D-CHAT Call in-trip (SĐT trống) InTripScreen tel: + passenger brief P1 WP-FE-DRV-CALL-01 IMP

5.6 ADM — gap

Domain Thiếu Pri WP
Verticals hotel/med/pharm/school Module thin (stats/list, ít action) P1 WP-FE-ADM-VERT-01 ✅
Rentals / fuel / parking admin Chưa có module (hoặc Ops tab) P1 WP-FE-ADM-VERT-02 ✅

6. Soft queue P6 — Journey UX (agent «tiếp»)

Làm 1 WP / turn. Không gộp 2 domain. Clone pattern Success từ GrocerySuccess / HotelBookingSuccess / PharmacySuccess.

# WP Surfaces Mục tiêu Design / pattern Status
1 WP-FE-RIDE-RATE-01 CON RideRateScreen + POST /rides/:id/rate sau COMPLETE 090d… rate panel IMP
2 WP-FE-RIDE-CHAT-01 CON Wire RideDetail chat → ChatThread (peer driver) BOARD-SHR-CHAT IMP
3 WP-FE-FNB-SUCCESS-01 CON OrderSuccessScreen → Track (bỏ Alert→OrderList) 0beb… / GrocerySuccess IMP
4 WP-FE-DRV-HIST-01 DRV Tab history thật + mở past trip BOARD-DRV-01 IMP
5 WP-DRV-CANCEL-01 API+DRV Reject/cancel available/active + CTA BOARD-DRV-01 IMP
6 WP-FE-DRV-EARN-01 DRV Tx/earnings detail (mirror CON WalletTxDetail) 7b769 IMP
7 WP-FE-MED-SUCCESS-01 CON Booking success → Appointments HotelSuccess pattern IMP
8 WP-FE-RENT-SUCCESS-01 CON Viewing success → Viewings HotelSuccess pattern IMP
9 WP-FE-PAR-PROMO-01 PAR Promo create/edit qua promotions API BOARD-PAR-FORM-04 IMP
10 WP-FE-PAR-PHARM-STOCK-01 PAR Stock/price edit form 56cd… IMP
11 WP-FE-PAR-MED-RX-02 PAR(+API) Persist Rx ngoài local draft BOARD-PAR-FORM-02 IMP
12 WP-FE-ADM-VERT-01 ADM Actionable ops hotel/med/pharm/school BOARD-ADM-03 IMP
13 WP-FE-ADM-VERT-02 ADM Rentals (+ fuel/parking thin) module/Ops BOARD-ADM-03 IMP
14 WP-FE-DRV-CALL-01 DRV In-trip call với SĐT passenger từ trip BOARD-DRV-02 IMP
15 WP-FE-PAR-EMPTY-01 PAR Empty/Error/Success blocks trên tabs CON StateBlocks IMP

Default «tiếp»: 16-PHASE-P7-HARDEN · OWNER_REQUIRED / P7e (P7a–c agent DONE).

MVP 2026-07-31 — Đặt xe + chỉ đường phòng trọ: WP-FE-RIDE-FLOW-01 · WP-FE-RENT-DIR-01 · WP-FE-ROUTE-PARAMS-01 · WP-RIDE-VEHICLE-01 · WP-RIDE-PAY-01 → IMP · reports/RIDE-RENTAL-DIRECTIONS-AUDIT.md.

OWNER ngoài P7a: FIGMA-SYNC · SMS/Pay live · OpenAI. Map: WP-ROUTE-OSM-01 IMP (OSRM). Mapbox optional.

Polish 2026-07-31 («làm tất» unblocked):

Device bootstrap (2026-07-31): …

ENV packaging (2026-07-31): npm run env:bootstrap · docs/ENV-PACKAGING.md — đóng gói .env.example / .env.production.example theo root · api · mobile · driver · partner · dashboard.


7. Smoke checklist (mọi WP completion)

npm run infra:up
npm run audit:refresh   # stub=0
npm run smoke:chain
curl -s http://localhost:3000/api/v1/health
# surface: mobile | partner | driver | dashboard tsc/build theo WP
State Expect
Empty list EmptyBlock / SYS
Error API ErrorBlock + retry
Loading LoadingBlock
Offline / GPS deny banner hoặc default geo
Success journey Success screen → History/Track (không chỉ Alert)

8. Khi Figma MCP mở lại

  1. Duplicate/share can edit + seat phù hợp.
  2. Link frame có node-id (không 0:1).
  3. Chỉ mở WP *-FIGMA-SYNC — token polish.
  4. Không phủ nhận IMP JPG / P6 journey đã PASS.

9. Liên kết

Doc Vai trò
09-AGENT-AUDIT-QUEUE Gate «tiếp» → P6 #1
12-NEXT-WORK-PLAN Wave lịch sử + P6 pointer
14-SCREEN-MATRIX-OFFICIAL Screen matrix chốt
05-PHASE-BACKLOG WP P6 rows
LOCAL-TEST Smoke local