# [Pattern name]

Status: Draft / Review / Stable · Owner: [team] · Version: [version]

## Context & goal
Người dùng, công việc, mục tiêu. Trigger, điều kiện trước và sau.
Khi dùng / không dùng; không dùng pattern để che logic quyền chưa được xác định.

## Interactive scenario
Dữ liệu mẫu rõ ràng. Happy path + failure + recovery + missing permission.
Kết quả unknown tách khỏi error đã biết chưa áp dụng. Không mô phỏng thành công như dữ liệu thật.

## Anatomy
Ngữ cảnh → đối tượng → thay đổi → bằng chứng → quyết định → kết quả.
Các phần bắt buộc / tùy chọn và component dùng lại.

## State model
State / trigger / visible UI / allowed actions / next states.
Loading chặn gửi lặp. Lỗi giữ dữ liệu. Unknown cần đối soát.

## Permissions & responsibility
Ai đề xuất, ai quyết định, ai thực hiện? Scope bất biến ở đâu?
UI trình bày quyền; backend kiểm tra lại quyền, revision và policy.
Phê duyệt không tự mở rộng thẩm quyền của AI.

## Integration contract
Input, output, events, idempotency, stale data, audit trail, cancellation.
Tách user intent khỏi confirmed execution.

## Tokens & composition
Component sử dụng và token mapping. Product brand không thay nghĩa status.

## Accessibility & content
Keyboard, focus, dialog lifecycle, live regions, error association.
Ngôn ngữ rõ phạm vi/tác động/bước tiếp theo. Đừng dùng “OK” cho hành động quan trọng.

## Responsive
Desktop, tablet, mobile, zoom. Giữ ngữ cảnh khi diff chuyển sang bố cục dọc.

## Release checklist
- [ ] Happy path, reject và cancel.
- [ ] Lỗi có thể thử lại / không thể thử lại; dữ liệu giữ nguyên.
- [ ] Unknown, đối soát và chống ghi nhận trùng.
- [ ] Không có quyền / quyền thay đổi / revision cũ.
- [ ] Double submit, rời trang và network interruption.
- [ ] Keyboard, focus restoration, mobile và assistive technology.
- [ ] Nguồn dữ liệu, owner, version và nội dung mẫu được ghi rõ.

## Changelog & references
Những thay đổi quan trọng và lý do; đánh dấu phần prototype vs production.
