03 — AI Workflow (bám WP trước khi code)
AI không bắt đầu code khi chưa chọn Work Package và cập nhật ma trận.
1. Luồng bắt buộc
flowchart TD
A[User yêu cầu] --> B{Đọc DOC-MAP}
B --> C[Chọn Domain D-*]
C --> D[Chọn / tạo WP-*-nn]
D --> E[Đối chiếu MATRIX 01]
E --> F{Design có SCR/JPG?}
F -->|Có| G[Read ảnh / Figma node]
F -->|Thiếu| H[Hỏi user hoặc dùng design-index]
G --> I[Liệt kê AC-*]
H --> I
I --> J[BE: Swagger tag + DTO]
J --> K[FE: feature path + tokens]
K --> L{Cần Partner/Driver/Dash?}
L -->|Có| M[Surface tương ứng cùng Domain]
L -->|Không| N[Ghi N/A trong PR]
M --> O[Self-check DoD]
N --> O
O --> P[Diff nhỏ · báo cáo ID]
2. Template Work Package (copy vào chat/PR)
### WP-<CODE>-<nn> — <tiêu đề>
- Domain: D-<CODE>
- Surfaces: Consumer | Partner | Driver | Dashboard
- Design: SCR-… / file JPG / Figma node-id
- BE: modules/<tag> · endpoints:
- METHOD /api/v1/...
- FE: features/<name>/screens/...
- Dashboard: modules/<name> hoặc N/A
- Status mục tiêu: STUB → IMP
- AC:
- [ ] AC-01 …
- [ ] AC-02 …
3. Quy tắc song song FE · BE · Dashboard
| Khi làm | Phải đụng | Không được quên |
|---|---|---|
| Màn Consumer mới | FE screen + BE GET/list/detail | Favorites/share nếu mockup có |
| Checkout / trả tiền | FE + orders/payments/wallet |
Idempotency · trạng thái order |
| Partner nhận đơn | Partner FE + WS + cùng orders |
Consumer tracking đồng bộ status |
| Driver chuyến | Driver FE + rides/driver |
Consumer map tracking |
| Admin duyệt KYC | Dashboard + kyc admin |
Partner/User thấy status |
| Chỉ sửa UI | FE only | Không đổi contract API im lặng |
| Chỉ sửa API | BE + Swagger | Cập nhật FE client nếu breaking |
Một domain = một nguồn sự thật API. Partner và Dashboard không tạo endpoint song song khác nghĩa.
4. Checklist trước khi kết thúc turn AI
- Đã nêu
Domain+WP - Đã Read design nếu task UI
- Path FE/BE đúng quy chuẩn
01-MATRIX - Swagger có tag (stub hoặc IMP)
- Surface liên quan được đề cập
- Không commit
.env/ secret
5. Skill / rule liên quan
| Tình huống | Dùng |
|---|---|
| UI từ ảnh | .cursor/skills/image-to-ui |
| Figma URL | skill figma-design-to-code + docs/FIGMA.md |
| NestJS | .cursor/rules/api-nestjs.mdc |
| RN | .cursor/rules/mobile-rn.mdc |
| An toàn | .cursor/rules/ai-safety.mdc |
| Một WP rồi dừng | 09-AGENT-AUDIT-QUEUE («tiếp») |
| Làm liên tục đến hết queue | 10-AGENT-AUTONOMOUS-LOOP |