---
version: 1.0
updated: 2026-06-11
ported_from: ai-automation-qc-base
---

# Business Rules — Trích xuất luật nghiệp vụ

Trích xuất và liệt kê toàn bộ business rule, điều kiện và ràng buộc từ yêu cầu.

## Khi nào trigger
- "liệt kê business rule cho [X]" / "feature này có luật nghiệp vụ gì"
- Sau spec-breakdown, khi cần làm rõ logic điều kiện trước khi thiết kế TC
- Feature có nhiều điều kiện AND/OR, phân quyền, tính toán, giới hạn

## Khi KHÔNG trigger
- Cần bóc tách tổng thể spec → dùng spec-breakdown
- Cần luồng dữ liệu → dùng data-flow
- Cần phân tích rủi ro / lập test plan → thuộc qa-planner (skill test-plan)

---

## Phase 1 — Quét

1. Đọc spec đã bóc tách (output của spec-breakdown) hoặc tài liệu gốc.
2. Quét tìm: điều kiện ("nếu… thì…"), ràng buộc field, giới hạn (min/max, rate limit),
   quy tắc phân quyền, công thức tính, quy tắc trạng thái, default value.

---

## Phase 2 — Cấu trúc hoá

Mỗi rule ghi dưới dạng bảng:

| ID | Rule | Điều kiện | Kết quả | Nguồn | Ghi chú/Ưu tiên |
|---|---|---|---|---|---|
| BR-01 | … | … | … | spec §x | … |

Phân loại rule:
- VALIDATION: ràng buộc input (định dạng, bắt buộc, độ dài, range).
- AUTHORIZATION: ai được làm gì.
- CALCULATION: công thức, làm tròn, đơn vị.
- STATE: điều kiện chuyển trạng thái hợp lệ vs cấm.
- LIMIT: rate limit, quota, concurrent.

Với rule có nhiều điều kiện kết hợp → gợi ý dựng **Decision Table** (đầu vào cho qa-designer).

---

## Output

Ghi vào **mục Business Rules** của `{paths.qc_dir}/{UC-ID}/REQUIREMENT_ANALYSIS.md`
(KHÔNG tạo file riêng — qc-analyze chỉ trả 2 file: `REQUIREMENT_ANALYSIS.md` + `DOC_GAPS.md`):

- Bảng business rule có ID (BR-xx) để TC trace ngược về.
- Gợi ý các rule cần Decision Table / BVA khi sang qa-designer.

Rule MÂU THUẪN / KHÔNG RÕ → ghi vào `{paths.qc_dir}/{UC-ID}/DOC_GAPS.md`
(loại CONTRADICTORY / AMBIGUOUS, cột "Ảnh hưởng" trỏ BR-xx).
