Chuyển tới nội dung chính
Phiên bản: Next

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: agentsystem đều 403. Mọi request dùng service token phân giải về actor system nê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ể.

Reviewer Agent không bao giờ approve

Peer-review (reviewerActorType: 'agent') và Human Gate là hai tầng riêng: reviewer ≠ executor, và verdict approved của AI chỉ chuyển task sang human-gate — vẫn phải chờ người bấm nút.

Mention & retro chỉ sinh draft — không duyệt, không publish, không chạy agent

  • @persona <việc> trong comment chỉ sinh subtask ở backlog/idle. Chạy hay không là quyết định của người — cờ mention không kèm quyền run.
  • Auto-retro nộp bản thảo lên Arkon Wiki dưới danh tính @architect quyền contributor — nghĩa là nó không thể tự duyệt bản của mình. Duyệt vẫn ở Unified Review Queue, bởi người.
  • Persona không tự duyệt draft của chính nó — kể cả draft nó vừa tạo. Đó là bất biến 0B, có test và đã đo trên Arkon thật.

Tự kiểm chứng

Chạy Pentest Human Gate: header giả, service token, viewer — cả ba phát đều phải 403. Phát nào không 403 là sự cố bảo mật P0.