# 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.