Vì sao Human Gate không bypass được — giải thích
Ý tưởng cốt lõi: một chốt chặn mà script tự động vượt qua được thì không còn là chốt chặn con người.
Xác thực 2 lớp ở POST /api/tasks/:id/approve
- Lớp 1 — phải là người:
agentvàsystemđều 403. Mọi request dùng service token phân giải về actorsystemnên cũng 403 — không có ngoại lệ. - Lớp 2 — phải đủ quyền: role trên Space
>= admin(xem Phân quyền Board).
Scope gate:approve cố ý không tồn tại
Scope registry chỉ có các scope tích hợp (projects:read, agents:read, tasks:create, tasks:read,
tasks:message, groups:create…). Không token nào xin được quyền approve vì quyền đó không tồn tại
trong hệ thống — đây là thiết kế, không phải thiếu sót.
Audit bắt buộc, không ngoại lệ
Mỗi approve ghi một bản ghi reviews (reviewer_actor_id, reviewer_actor_type='human') và một Activity.
Đây là hành động nhạy cảm nhất hệ thống — approve mà không để lại audit là không thể.