Files
CASAN/.claude/agents/protocols/governance-risk-policy.md
T
thanhnvandClaude Opus 4.8 36a4812ef3 refactor(structure): promote app to repo root + remove redundant workspace cruft
Standard production layout: the OKR app (was nested under AINative_OKR_CASAN5/) is now
the repository root. No more wrapper directory.

- Promote AINative_OKR_CASAN5/* -> repo root (backend/ frontend/ packages/ apps/
  .specify/ docs/ infra/ nginx/ scripts/ + configs). Merge tool dirs: .gitea (kept the
  active deploy ci.yml, added harness-ci.yml + runbooks), .claude (agents/commands +
  launch.json), .github moved up.
- Remove redundant: 00_SUBMISSION_PACKAGE, scattered root notes (FPT_CASAN_Full.md,
  tu-tuong-casan.md, casan-tu-sinh..., casan_harness_assessment.md, source-review...,
  README_CASAN5_REFINED.md), casan-next-plans/ and optimize-docs/ (competition/planning
  artifacts — roadmap + design history preserved in git log / commit messages).
- Update all references to the old layout:
  - .gitea/workflows/{ci,harness-ci}.yml, .github/workflows/{ci,deploy}.yml:
    working-directory .; drop AINative_OKR_CASAN5/ prefix; .specify/{tests,scripts}
    -> packages/casan-harness/... (.specify/logs state kept)
  - .claude/launch.json, .gitea/*-runbook.md: path prefixes
  - CLAUDE.md, README.md: docs/input -> apps/okr/domain/input
  - policy-bundle.yaml: 8 policy paths -> packages/casan-harness/...; manifest re-signed
- secrets-scan.sh: fixture excludes -> new package/domain paths.

Full gate from the new root: PASS=64 FAIL=0 SKIP=3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 13:26:36 +09:00

28 lines
2.6 KiB
Markdown

# Giao thức Quản trị và Phân cấp Phê duyệt Tự trị (Governance & Risk Policy)
Giao thức này quy định cách thức các Agent tự đánh giá mức độ rủi ro của tác vụ và thiết lập cơ chế phê duyệt an toàn.
## 1. Phân loại mức độ rủi ro (Risk Classification)
Trước khi gọi bất kỳ công cụ hoặc thực thi hành động nào, Agent phải tự xác định mức độ rủi ro của hành động đó:
- **Low Risk (L0-L2):**
- *Hành động:* Đọc file, tìm kiếm thông tin, tóm tắt nội dung, phân loại ticket, tạo bản nháp.
- *Chính sách:* Tự động phê duyệt (Auto-approved) và ghi nhận nhật ký vận hành bình thường.
- **Medium Risk (L3):**
- *Hành động:* Tạo tệp tin kiểm thử, sửa đổi file cấu hình phụ, ghi dữ liệu logs.
- *Chính sách:* Tự động phê duyệt kèm cờ cảnh báo (Audit marker) để review thủ công sau khi hoàn thành.
- **High Risk (L4-L5):**
- *Hành động:* Sửa đổi Database Schema, ghi đè file code cốt lõi, chạy lệnh khởi tạo container/deploy, cập nhật cấu hình bảo mật.
- *Chính sách:* **Bắt buộc từ chối mặc định (Deny-by-default)**. Agent chỉ được thực thi khi nhận được xác thực phê duyệt từ Kiến trúc sư hệ thống (`CASAN_APPROVAL_DECISION=approve` và thông tin định danh `CASAN_APPROVER`).
## 2. Nhật ký kiểm toán bất biến (Hash-Chain Audit Log)
- Mọi quyết định phê duyệt và thực thi hành động từ nhóm Medium đến High Risk đều phải được ghi nhận vào nhật ký kiểm toán.
- Nhật ký kiểm toán phải đảm bảo tính liên kết chuỗi băm để chống giả mạo:
- Bản ghi sau bắt buộc phải chứa giá trị băm SHA-256 (`record_hash`) của bản ghi liền trước (`previous_record_hash`).
- Nếu bất kỳ bản ghi nào trong chuỗi bị xóa hoặc thay đổi, chuỗi kiểm toán sẽ bị gãy và kích hoạt cảnh báo hệ thống.
## 3. Quy trình tự đánh giá rủi ro của Agent
1. **Bước 1:** Phân tích từ khóa hành động trong lệnh cần chạy (Ví dụ: phát hiện các từ khóa `deploy`, `delete`, `drop`, `migrate`...).
2. **Bước 2:** Đối chiếu với phân cấp rủi ro ở Mục 1 để dán nhãn mức rủi ro.
3. **Bước 3:** Nếu là High Risk, dừng và yêu cầu kiểm tra chữ ký phê duyệt môi trường. Nếu không có chữ ký hợp lệ, báo lỗi và dừng thực thi.