feat: add production assurance dashboard flow

This commit is contained in:
thanhnv
2026-07-28 21:49:15 +07:00
parent ee5d1f7af5
commit cce3cbfd42
39 changed files with 1873 additions and 91 deletions
+35 -10
View File
@@ -9,7 +9,7 @@ Mô hình production mặc định:
- Cài **DevKit một lần trên máy** để có launcher và lệnh quản trị.
- Chạy `casan init` trong từng repository.
- Project mới dùng **Core level + Managed runtime + Enforce mode** nếu người
- Project mới dùng **Core edition + Managed runtime + Enforce mode** nếu người
dùng không chọn khác.
- Project offline, air-gapped hoặc cần tự chứa runtime có thể chọn
**Vendored runtime**.
@@ -22,10 +22,14 @@ hay release tooling.
| Thành phần | Trạng thái | Phạm vi |
|---|---|---|
| Core — Level 1 | Implemented | H1–H7 harness, hooks, policy gates, audit, evidence và CLI |
| DevKit — Level 2 | Implemented | Core + adoption tooling, domain-pack và CI template |
| Platform — Level 3 | Preview | Control Panel deploy riêng; `casan init` chỉ áp dụng nền Level 2 |
| Enterprise — Level 4 | Chưa phát hành | CLI chủ động từ chối, không giả lập tính năng |
| Core | Implemented | H1–H7 harness, hooks, policy gates, audit, evidence và CLI |
| DevKit | Implemented | Core + adoption tooling, domain-pack và CI template |
| Control Plane | Preview | Live H1–H7, H6, run history và evidence export; deploy riêng |
| Enterprise | Chưa phát hành | OIDC/KMS/WORM/HA/DR/SLA; CLI chủ động từ chối |
Tên edition không phải maturity score. **CASAN Maturity L1–L5** là kết quả đánh
giá dựa trên evidence vận hành; cài Core không tự động có nghĩa là maturity L1,
và cài Control Plane không tự động đạt L3/L4.
## Bốn quyết định cần phân biệt
@@ -34,12 +38,33 @@ CASAN tách riêng bốn khái niệm để cấu hình rõ ràng:
| Quyết định | Lựa chọn | Mặc định production |
|---|---|---|
| Gói cài trên máy | `core`, `devkit`, `platform` | `devkit`, vì `casan init` thuộc DevKit |
| Capability của project | `--level core`, `devkit`, `platform` | `core` |
| Product edition | `--edition core`, `devkit`, `platform-preview` | `core` |
| Vị trí Core runtime | `--runtime managed`, `vendored` | `managed` |
| Cách thực thi policy | `--mode enforce`, `observe` | `enforce` |
`--level core` không có nghĩa Core phải nằm trong repository. Level mô tả
capability; runtime mô tả vị trí. Đây là hai quyết định độc lập.
`--edition core` không có nghĩa Core phải nằm trong repository. Edition mô tả
capability được đóng gói; runtime mô tả vị trí; maturity mô tả mức vận hành đã
được chứng minh. Đây là ba trục độc lập. `--level` vẫn được giữ như alias cũ.
## Golden path: prompt → live assurance
Core không export HTML trên hot path. Sau mỗi prompt, hook tự ghi trace/H6 và
trả assurance receipt. Nếu project đã enroll Control Plane, receipt có deep link
đến đúng run; nếu offline, dùng `casan report latest`.
```bash
# Platform preview: một lệnh, tự trỏ Control Plane vào project hiện tại
casan dashboard start
# Sau một prompt
casan report latest
casan view # mở run mới nhất
casan report export --format html # snapshot chỉ tạo khi được yêu cầu
```
`casan dashboard start` là convenience launcher cho local demo/evaluation.
Production triển khai Control Plane như service dùng chung và enroll project
bằng `casan init --dashboard-url https://casan.example`.
## Quick start
@@ -114,7 +139,7 @@ Select clients (comma-separated) [1,2]:
Nhấn Enter để dùng Managed và Claude Code + Codex. Nhập sai sẽ được hướng dẫn
chọn lại. Sau khi hoàn tất, output terminal là bản tóm tắt dễ đọc gồm project,
level, runtime, mode, client, file thay đổi và next steps.
edition, maturity status, runtime, mode, client, file thay đổi và next steps.
Project đã init không bị hỏi lại runtime: CASAN giữ nguyên mode hiện tại. Muốn
đổi, truyền rõ `--runtime managed` hoặc `--runtime vendored`.
@@ -124,7 +149,7 @@ Project đã init không bị hỏi lại runtime: CASAN giữ nguyên mode hi
```bash
casan doctor
casan verify-harness
casan level show
casan edition show
```
Với Codex, mở `/hooks`, review và trust đúng project hook sau lần init hoặc khi