feat: harden CASAN production install lifecycle

This commit is contained in:
thanhnv
2026-07-24 11:11:44 +07:00
parent c7671ab198
commit 114340c719
48 changed files with 1036 additions and 165 deletions
+24
View File
@@ -56,6 +56,10 @@ Gói global `devkit` được dùng vì nó chứa lệnh adoption `casan init`.
- macOS/Linux: `~/.casan`
- Windows: `%LOCALAPPDATA%\casan`
Bản cài là runtime allowlist tối giản: không mang theo test suites, internal CI
runners, thư mục legacy `level5`, Platform dashboard/local lab, source docs hay
release tooling. Source repository vẫn giữ tests để kiểm chứng chính CASAN.
### 2. Adopt vào repository hiện hữu
```bash
@@ -239,6 +243,9 @@ casan verify-harness
casan level show
```
- Output mặc định được tối ưu để đọc trực tiếp trong terminal. Thêm `--json`
sau command khi cần payload đầy đủ cho CI hoặc script, ví dụ
`casan doctor --json`.
- `doctor`: kiểm tra config, bootstrap, hook schema, adapter smoke test, VSIX và
cảnh báo trust.
- `verify-harness`: tính lại live hash và so với project pin; drift trả exit
@@ -258,6 +265,23 @@ casan init --level core --client none
`--client none` không uninstall VSIX đã cài trên máy; nếu không còn dùng route
`@casan`, gỡ extension `fpt-casan.casan-governed-chat` trong VS Code.
Gỡ CASAN khỏi project:
```bash
# Gỡ project hooks và config CASAN; giữ hook người dùng và runtime evidence
casan uninstall
# Đồng thời xóa .specify/logs và .specify/state
casan uninstall --purge
# Chỉ dùng khi extension dùng chung không còn cần trên máy
casan uninstall --remove-vscode-extension
```
`uninstall` không tự xóa CI/domain template vì các file này có thể đã trở thành
source code của project, không tự xóa `.casan-bak`, và không mặc định gỡ VS Code
extension dùng chung cho các project khác.
Khi nâng cấp CASAN:
1. Chạy lại installer từ release đã duyệt.