CI / test (push) Canceled after 0s
fix các bug theo yêu cầu https://fptsoftware362-my.sharepoint.com/❌/g/personal/nampdt_fpt_com/IQAHBJ4A9xqDTLgvt2bhukJEAdRB5LRz2hbJpTivvIiBSYM?wdExp=TEAMS-TREATMENT&web=1&isSPOFile=1&ovuser=f01e930a-b52e-42b1-b70f-a8882b5d043b%2CAnhTNM1%40fpt.com&clickparams=eyJBcHBOYW1lIjoiVGVhbXMtRGVza3RvcCIsIkFwcFZlcnNpb24iOiI0OS8yNjA4MTMxOTMxNyIsIkhhc0ZlZGVyYXRlZFVzZXIiOmZhbHNlfQ%3D%3D --------- Co-authored-by: Duy Le Huu <duylh19@fpt.com> Reviewed-on: #10 Co-authored-by: Anh Tran Nguyen Minh <anhtnm1@fpt.com>
2.8 KiB
2.8 KiB
Output Contract — fix_plan
Do ui-visual-fixer / ux-flow-fixer / i18n-a11y-fixer sinh ra.
Đây là thứ fix-implementer thi hành — mơ hồ chỗ nào thì chỗ đó sẽ bị đoán bừa.
---
defect_id: UI-<YYYYMMDD>-<NN>
from_agent: <tên specialist>
next_agent: <fix-implementer | RETURN_TO_REPORTER>
root_cause_file: path/to/file.py:123
root_cause_pitfall: P__
confidence: <medium | high>
security_review: <required | not-required>
loc_risk: <none | near-limit | exceeds>
blast_radius: [] # màn/widget khác dùng chung phần bị sửa
---
1. Nguyên nhân gốc
Đúng một. Nêu file:line, trích đoạn code, và giải thích tại sao dòng đó sinh ra
triệu chứng người dùng thấy.
# path/to/file.py:118
Vì sao đây là nguyên nhân gốc chứ không phải triệu chứng:
Các giả thuyết đã loại và lý do loại:
2. Ràng buộc thiết kế đã kiểm
- Không mâu thuẫn với ràng buộc có chủ ý ở
theme_tokens.md§4. - Nếu phản ánh của người dùng thực ra là thiết kế đúng: nêu ở đây và chuyển
next_agent: RETURN_TO_REPORTER.
3. Phương án sửa
| # | File | Thay đổi | Vì sao chọn mức này |
|---|---|---|---|
| 1 |
Mức can thiệp đã chọn (theo thang ưu tiên của role):
Các phương án đã cân nhắc và bị loại:
4. Diff dự kiến
5. Ảnh hưởng lan toả
| Chỗ khác dùng chung | Đã kiểm | Kết luận |
|---|---|---|
Lệnh đã chạy để tìm:
grep -rn "<...>" --include=*.py .
6. Ràng buộc kiến trúc
| Tầng bị sửa | presentation / ui / theme / i18n |
Có chạm application/ hoặc domain/ không |
không — hoặc lý do bắt buộc phải chạm |
| LOC file sau khi sửa | ___ / 400 |
| Cần tách module không | có/không — nếu có, tách thế nào |
| File mới có được import ngay không (Gate O) |
7. i18n
| Key | en | ja | vi | File |
|---|---|---|---|---|
i18n/____.py |
Không thêm chuỗi mới thì ghi N/A.
8. Cách kiểm chứng
8.1 Test tự động
# tests/ui/test_____.py
def test_...(qtbot, ctx):
"""Regression: <triệu chứng> (defect UI-...)."""
Test này phải đỏ trước khi sửa. Nếu không viết được test tự động: nêu lý do cụ thể.
8.2 Kiểm bằng mắt
| Trục | Giá trị phải thử | Kết quả mong đợi |
|---|---|---|
| Theme | dark, light | |
| Ngôn ngữ | ||
| Kích thước cửa sổ | nhỏ nhất, maximize | |
| Thứ tự thao tác | có kịch bản P07 |
9. Rủi ro
| Rủi ro | Khả năng | Giảm thiểu |
|---|
10. Out of scope
Cố ý không làm trong lần này, và vì sao.