Phòng thi lý thuyết trên máy: trộn đề 600 câu + câu điểm liệt, chấm tự động, in biên bản, camera phòng thi + khuôn mặt tại máy.
| Feature | BO chính | Action |
|---|---|---|
| room | Phòng máy · máy thi | viewconfigure |
| paper | Đề thi (trộn) · bài thi | viewgeneratescore |
| record | Biên bản kỳ thi | viewdownload |
| BO | Trường chính |
|---|---|
| Đề/bài thi | Đề trộn từ ngân hàng 600 câu theo cấu trúc hạng · bài làm từng câu · điểm · kết quả đạt/trượt (điểm liệt) |
| Biên bản | Kết quả ca thi · chữ ký hội đồng · ảnh thí sinh tại máy (≥3 lần/bài theo QCVN) · file in |
Khối permissions[] dán vào manifest.json; bảng dưới là gán quyền theo vai trò (seed rt_role). Permission key đầy đủ: sh-theory.main.<feature>.<action>.
⚠️ Action đặc thù (generate, score) cần bổ sung vào validator manifest — xem plan data-scope P1.
| Feature | QTHT | GIAM_DOC | SAT_HACH |
|---|---|---|---|
| room | W | — | — |
| paper | R | R | W |
| record | R | R | W |
R xem · W tạo/sửa · A duyệt · — không có quyền · ¹ dữ liệu phân công · ² của chính mình · ³ theo trạng thái hồ sơ. Vai trò không liệt kê = không có quyền.
Đặc thù: paper +generate (SAT_HACH; score = chấm tự động) · record +download (SAT_HACH) · nộp biên bản & truyền = workflow + sh-gateway