84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
# CASAN Prompt Enforcement
|
||
|
||
CASAN thực thi governance qua integration native của từng client và một Core
|
||
runtime đã pin theo project. Không dùng `bin/casan-chat` làm entrypoint bắt buộc
|
||
cho project adoption mới.
|
||
|
||
## Luồng production
|
||
|
||
1. Developer gửi prompt trong client đã được project enable.
|
||
2. Hook project gọi `.casan/casan-hook.py`.
|
||
3. Bootstrap đọc `.casan/config.json` và `.casan/version.lock`.
|
||
4. Core runtime được resolve theo mode `managed` hoặc `vendored`.
|
||
5. Live hash phải khớp project pin trước khi adapter/gate được dispatch.
|
||
6. Trace/evidence được ghi vào `.specify` của đúng project.
|
||
|
||
## Runtime mode
|
||
|
||
Managed Core, khuyến nghị mặc định:
|
||
|
||
```bash
|
||
casan init --project my-project --client claude,codex
|
||
```
|
||
|
||
Core nằm trong `$CASAN_HOME`, còn project commit config/lock/bootstrap/hooks.
|
||
|
||
Vendored Core cho offline/air-gapped:
|
||
|
||
```bash
|
||
casan init --runtime vendored --project my-project --client claude,codex
|
||
```
|
||
|
||
Core production-only nằm tại `.casan/runtime/casan-core`. Nếu folder này bị
|
||
thiếu hoặc sai hash, CASAN fail closed; không fallback âm thầm sang global Core.
|
||
|
||
## Boundary theo client
|
||
|
||
### Claude Code
|
||
|
||
CASAN merge handler vào `.claude/settings.json`. Hook khác, agent, skill và key
|
||
không thuộc CASAN được giữ nguyên.
|
||
|
||
### Codex
|
||
|
||
CASAN merge handler vào `.codex/hooks.json`. Người dùng phải mở `/hooks`, review
|
||
và trust đúng hook hash của project.
|
||
|
||
### VS Code / GitHub Copilot
|
||
|
||
Route được chứng nhận là explicit `@casan`. CASAN không quảng bá rằng built-in
|
||
Copilot Chat hoặc mọi prompt bên ngoài route này đều được intercept.
|
||
|
||
### Ngoài project
|
||
|
||
Prompt gửi trực tiếp vào website AI bên ngoài project/runtime không nằm trong
|
||
boundary chứng nhận của CASAN. Kiểm soát website/proxy/identity ở cấp tổ chức là
|
||
lớp bổ sung, không phải chức năng của repository hook.
|
||
|
||
## Kiểm tra
|
||
|
||
```bash
|
||
casan doctor
|
||
casan verify-harness
|
||
casan level show
|
||
```
|
||
|
||
CI phải verify runtime pin trước gate:
|
||
|
||
```bash
|
||
casan verify-harness
|
||
casan gate
|
||
```
|
||
|
||
Chỉ coi output là certified khi runtime integrity hợp lệ và trace H1–H7 tương
|
||
ứng vượt qua policy.
|
||
|
||
## Gỡ integration
|
||
|
||
```bash
|
||
casan uninstall
|
||
```
|
||
|
||
Lệnh xóa CASAN hook/config và vendored Core nếu có, nhưng giữ hook/workflow/file
|
||
project. Dùng `--purge` để xóa thêm `.specify` logs/state.
|