Files
cowork-local/agent/checklist/pr_readiness.md
T
anhtnm1andClaude Opus 5 7bd2b95a57 docs(agent): thư viện instruction cho việc sửa bug UI/UX
Bộ 7 role chuyên biệt (triage → specialist → implementer → reviewer) cùng
lớp dùng chung: guardrail, tri thức về repo, checklist, và contract đầu ra.

Vì sao có: bug UI/UX được báo bằng lời kể triệu chứng, và người sửa hay bỏ
qua ba thứ mà repo này rất dễ vi phạm — luật "không file nào ngoài theme/
được đặt tên một màu", trần LOC theo bánh cóc, và việc ui/ với presentation/
cùng tồn tại nên sửa nhầm file là "đã fix mà vẫn thấy lỗi".

knowledge/qt_pitfalls.md chép lại 20 nguyên nhân gốc hay gặp của bug PySide6;
examples/bad_fix.md có hai ca CÓ THẬT, gồm ca chính bản vá trong nhánh này
từng mắc (compare_digest trên str ngoài ASCII) và lọt qua vòng review đầu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-07 19:55:02 +09:00

2.5 KiB

Checklist sẵn sàng tạo PR

Dùng bởi fix-implementer (bước 9) và regression-reviewer (bước 8). Bám theo .gitea/PULL_REQUEST_TEMPLATE.md và docs/governance/definition-of-done.md.

A. Cổng chất lượng

  • python scripts/run_quality_gate.py — xanh cả 5 cổng, có dán output thật.
  • Gate C: domain//application/ không import PySide6/PyQt/ui/app.
  • Gate A: không secret/plaintext mới.
  • Gate S: không file nào > 400 LOC.
  • Gate O: không module mồ côi (file mới đã được import trong cùng commit).
  • Gate A/N: pytest xanh; test vốn đỏ từ trước được ghi riêng.

B. Kiểm chứng

  • Test regression tồn tại và đỏ trước / xanh sau.
  • Test chạy được headless (QT_QPA_PLATFORM=offscreen).
  • Đã kiểm bằng mắt ở dark + light — hoặc ghi rõ "chưa kiểm chứng bằng mắt" kèm lý do.
  • Đã kiểm ở các ngôn ngữ liên quan.

C. Phạm vi & lịch sử

  • Một PR = một thay đổi logic. Không refactor lẫn vào.
  • Không đổi format/indent toàn file; diff đọc được.
  • Nhánh riêng, không commit thẳng main.
  • Commit message nêu nguyên nhân gốc + file:line + issue.
  • Không commit .env, config.json local, dữ liệu dưới .cowork_local/, .venv.

D. Bảo mật

  • Không secret/PII/đường dẫn cá nhân trong code, test fixture, commit message, PR body.
  • Ảnh chụp màn hình đính kèm đã được redact.
  • Nếu chạm permission / credential / MCP write-exec / sandbox / network / TLS / isolation / model routing / xoá dữ liệu → đánh dấu security-review: required và ghi rõ trong PR rằng CI xanh không đủ để merge.

E. Nội dung PR

  • Summary nói tại sao, không chỉ cái gì.
  • Change Type đã tick.
  • Scope: nêu rõ cả phần cố ý không làm.
  • Validation: có lệnh và output thật.
  • Security Impact: đã điền, kể cả khi là "không có".
  • Compatibility: đã tick.
  • Reviewer Notes: chỉ ra chỗ cần soi kỹ nhất.
  • Tài liệu (docs/, ảnh docs/screens/) đã cập nhật nếu cần.

F. Ranh giới

  • Agent không tự merge, không tự đóng issue.
  • Nếu là đóng góp của FSG AI Core: hiểu rằng chỉ "Done" khi PR đã merge vào Cowork Local, kèm đủ core issue reference, PR, evidence, reviewer phía Cowork, merge reference.