diff --git a/casan-next-plans/CASAN_APPLY_IDE_OPERATOR_PLAYBOOK.md b/casan-next-plans/CASAN_APPLY_IDE_OPERATOR_PLAYBOOK.md
new file mode 100644
index 0000000..0129f5a
--- /dev/null
+++ b/casan-next-plans/CASAN_APPLY_IDE_OPERATOR_PLAYBOOK.md
@@ -0,0 +1,178 @@
+# CASAN APPLY — Playbook vận hành trong VS Code (thực chiến)
+
+> **Mục đích:** trả lời rất cụ thể: ngồi trước VS Code thì **thao tác gì, chọn model nào,
+> gõ tin nhắn gì để khởi động một luồng, và có phải gửi 1 phát là xong không** — hay
+> phải tối ưu qua nhiều phiên. Lấy dự án **BĐS match người mua ↔ BĐS** làm ví dụ xuyên suốt.
+> **Đọc kèm:** `CASAN_APPLY_REALESTATE_MATCHING.md` (runbook luồng gate).
+
+---
+
+## 0. SỰ THẬT CỐT LÕI — KHÔNG phải "1 tin nhắn là xong"
+Gửi một prompt khổng lồ *"làm cho tôi hệ thống match BĐS hoàn chỉnh"* = **cách chắc chắn thất bại**. Vì:
+- Context window có hạn, prompt càng dài chất lượng càng **degrade**.
+- Không verify từng bước → **sai chồng sai**, cuối cùng không ai kiểm được.
+- Không có bằng chứng, không rollback, không giải trình — **trái toàn bộ tư tưởng CASAN**.
+
+→ Đúng cách: **prompt → LOOP**. Chia thành **nhiều phiên (session)**, mỗi phiên **một mục tiêu nhỏ, nhiều lượt (turn), verify rồi commit**. *Prompt tốt cho một câu trả lời; loop tốt cho một hệ thống.*
+
+---
+
+## 1. PHÂN BIỆT SỐNG CÒN: 2 loại "model"
+Đừng nhầm hai thứ hoàn toàn khác nhau:
+
+| | Model **trong IDE** (giúp bạn XÂY hệ thống) | Model **trong sản phẩm** (runtime CHẤM match) |
+|---|---|---|
+| Ai dùng | Bạn (dev/harness engineer) | Ứng dụng BĐS khi chạy thật |
+| Việc | Viết code, plan, test, review | Xếp hạng người mua ↔ BĐS |
+| Dữ liệu | Code, plan (không PII thật) | **PII tài chính người mua** |
+| Chọn ở đâu | Model picker của VS Code | `model-router.sh` + `loop-policy` |
+| Ràng buộc | Chọn theo độ mạnh/nhanh | **PII → model LOCAL**, cloud cần approval |
+
+> Phần dưới nói về **model trong IDE** (để bạn build). Model runtime đã bàn ở runbook kia.
+
+---
+
+## 2. CHỌN MODEL TRONG IDE theo từng việc
+Trong VS Code, đổi model theo **loại việc** (không dùng một model cho mọi thứ):
+
+| Việc | Loại model nên chọn | Vì sao |
+|---|---|---|
+| Brainstorm, thiết kế kiến trúc, viết plan/spec | **Model suy luận mạnh** (lớp Opus/GPT-5) | Cần lập luận sâu, đánh đổi kiến trúc |
+| Sinh code cơ học, sửa lặp, đổi tên | Model **nhanh/rẻ** | Việc rõ ràng, ưu tiên tốc độ |
+| Review bảo mật / soi lỗi tinh vi | Model suy luận mạnh | Bắt lỗi khó |
+| Hỏi nhanh/giải thích | Model nhanh | Rẻ |
+
+**Thao tác VS Code:** mở Chat (Ctrl+Alt+I) → dropdown chọn model → chọn theo bảng. Đổi model **giữa các phiên** tuỳ việc.
+
+---
+
+## 3. CHUẨN BỊ WORKSPACE (làm 1 lần, trước khi khởi động)
+1. **Mở đúng workspace** chứa: plan/spec (`casan-next-plans/…`), harness scripts (`.specify/…`), code app.
+2. **Terminal WSL** sẵn sàng (harness verify chạy trong WSL — xem memory dự án).
+3. **Git sạch** (`git status` clean) — để mỗi bước commit nhỏ, rollback được.
+4. **Plan/Spec = bộ nhớ bền** giữa các phiên. Trước khi code, phải có: `success-criteria.yaml`, `hard-constraints.yaml`, `fairness-rules.yaml` (dù mới ở dạng nháp).
+5. **Dữ liệu giả** cho dev — **không** dán PII thật vào chat.
+
+---
+
+## 4. CẤU TRÚC MỘT PHIÊN (session) — vòng lặp chuẩn
+Một phiên **KHÔNG** phải một tin nhắn. Nó là vòng lặp:
+
+```mermaid
+flowchart LR
+ K["① Kickoff
nạp ngữ cảnh + goal
+ success-criteria"] --> B["② Bàn trước
(brainstorm, CHƯA code)"]
+ B --> T["③ Giao task nhỏ"]
+ T --> V["④ Verify
chạy test/gate"]
+ V -- fail --> T
+ V -- pass --> C["⑤ Commit nhỏ"]
+ C --> N{"còn task?"}
+ N -- có --> T
+ N -- hết --> E["⑥ Kết phiên
update plan + /clear"]
+```
+
+- **1 phiên = 1 mục tiêu nhỏ** (vd "dựng hard-filter + test"), không ôm cả hệ thống.
+- **Verify-before-accept**: không nhận code chưa chạy test/gate.
+- **Kết phiên**: commit, cập nhật plan, **`/clear`** để context sạch cho phiên sau (giữ vệ sinh ngữ cảnh — H1).
+
+---
+
+## 5. BẢN ĐỒ NHIỀU PHIÊN cho dự án BĐS (tối ưu qua nhiều lần, không 1 phát)
+| Phiên | Mục tiêu | Model | Kết quả |
+|---|---|---|---|
+| **P1** | Brainstorm + chốt spec: input schema, hard-constraints, fairness, success-criteria — **CHƯA code** | mạnh | các file `config/*.yaml` |
+| **P2** | `hard_filter.py` (deterministic) + test | nhanh | filter + test xanh |
+| **P3** | `ranker.py` nối `model-router` (model local cho PII) | mạnh | rank + test |
+| **P4** | `explainer.py` → evidence trích thuộc tính thật | nhanh | explain + test |
+| **P5** | Verify-gate H3 + fairness H5 + **test đối kháng** | mạnh | gate fail-closed |
+| **P6** | Loop control (budget/convergence) + audit | mạnh | loop-trace |
+| **P7** | Widget dashboard (Command Center) | nhanh | UI đọc artifact thật |
+
+→ **7 phiên**, mỗi phiên bắt đầu **context sạch**, trỏ vào plan, verify, commit. Đó là "tối ưu qua nhiều phiên".
+
+---
+
+## 6. TIN NHẮN CỤ THỂ (copy-paste, chỉnh theo ngữ cảnh)
+
+### ⓵ Kickoff phiên (nạp ngữ cảnh + ràng buộc + success-criteria)
+```
+Bối cảnh: dự án BĐS match người mua ↔ BĐS. Đọc casan-next-plans/CASAN_APPLY_REALESTATE_MATCHING.md
+và config/hard-constraints.yaml.
+Mục tiêu phiên này: dựng hard_filter.py — loại ứng viên vi phạm budget/pháp lý/deal-breaker.
+Ràng buộc: luật cứng nằm NGOÀI model (deterministic); fail-closed; không đụng file khác.
+Success-criteria: có test cho 5 ca (vượt budget, không sổ, tranh chấp, deal-breaker, hợp lệ) và test xanh.
+CHƯA code vội — trình bày cách tiếp cận trước để tôi duyệt.
+```
+
+### ⓶ Bàn trước khi code (brainstorm — bắt buộc cho việc khó)
+```
+Trước khi viết code, liệt kê: input/output của hard_filter, các luật sẽ áp,
+edge case, và cách test. Đợi tôi OK rồi mới code.
+```
+
+### ⓷ Giao task nhỏ (sau khi duyệt hướng)
+```
+OK hướng đó. Implement hard_filter.py + test tương ứng. Chỉ file này.
+Xong thì chạy test và cho tôi xem kết quả.
+```
+
+### ⓸ Yêu cầu verify (không tin lời, đòi bằng chứng)
+```
+Chạy test trong WSL và dán output. Nếu có ca fail, sửa rồi chạy lại tới khi xanh.
+```
+
+### ⓹ Sửa hướng (course-correct khi lệch)
+```
+Dừng lại. Bạn đang để model quyết budget — sai. Budget là luật cứng deterministic.
+Bỏ phần đó, đưa về so sánh số trực tiếp trong hard_filter.
+```
+
+### ⓺ Chốt & commit
+```
+Test xanh rồi. Tóm tắt thay đổi 1 dòng, rồi tôi commit. Cập nhật trạng thái task
+trong plan tương ứng.
+```
+
+### ⓻ Kết phiên / sang phiên mới
+```
+Xong mục tiêu phiên. Cập nhật plan (task này Done + verify). Tôi sẽ /clear và mở
+phiên mới cho ranker.
+```
+
+---
+
+## 7. VÌ SAO PHẢI NHIỀU PHIÊN (lý do kỹ thuật, không phải cho vui)
+1. **Context bền vs context phiên:** plan/spec là **bộ nhớ bền**; chat là bộ nhớ tạm. Context dài → model quên/nhiễu → chất lượng giảm. `/clear` + trỏ lại plan = luôn "tươi".
+2. **Verify-before-accept từng bước** chặn sai chồng sai — đúng tinh thần verify-gate (H3).
+3. **Commit nhỏ = rollback được** — đúng nguyên tắc accountability/rollback của CASAN.
+4. **Loop discipline:** đặt "budget" cho mỗi phiên (phạm vi hẹp), dừng khi lệch — chính là Loop Engineering áp vào **chính cách bạn làm việc**.
+
+---
+
+## 8. DO / DON'T vận hành
+| ✅ Nên | ❌ Tránh |
+|---|---|
+| 1 phiên 1 mục tiêu nhỏ | 1 tin nhắn "làm hết hệ thống" |
+| Bàn hướng trước khi code (việc khó) | Để agent code ngay việc mơ hồ |
+| Đòi chạy test + xem output | Tin "đã xong" mà không verify |
+| Commit nhỏ, thường xuyên | Dồn 1 commit khổng lồ |
+| Trỏ vào plan/spec làm ngữ cảnh | Kể lại toàn bộ bối cảnh mỗi lần |
+| `/clear` khi đổi mục tiêu | Kéo dài 1 phiên vô tận |
+| Chọn model theo việc | Một model cho mọi thứ |
+
+---
+
+## 9. PII & BẢO MẬT khi thao tác IDE (riêng cho BĐS)
+- **KHÔNG dán PII thật** (tài chính/danh tính người mua) vào chat IDE (cloud). Dev dùng **dữ liệu giả/ẩn danh**.
+- Model runtime xử lý PII = **local**, cấu hình trong app (`model-router`), **khác** model bạn dùng trong IDE.
+- Nếu buộc phải xử lý dữ liệu nhạy cảm → dùng model local trong IDE hoặc tắt gửi context.
+
+---
+
+## 10. GHI CHÚ TRUNG THỰC
+- Playbook này là **cách vận hành** — áp dụng được **ngay hôm nay** với bất kỳ IDE-agent nào (không chờ Plan nào cả).
+- Các script gate BĐS (`hard_filter`, `ranker`, verify-gate…) là **code dự án bạn sẽ viết qua các phiên trên**; harness CASAN (`context-compress`, `rai-guard`, `security-check`, `model-router`…) là thứ **đã có** để bọc governance.
+- "Tối ưu qua nhiều phiên" **không phải điểm yếu** — đó là cách duy nhất ra hệ thống **đáng tin, verify được, giải trình được**. One-shot chỉ hợp việc nhỏ/nháp.
+- Con số phiên (7) là minh hoạ; thực tế có phiên phải lặp lại nhiều lần (vd P5 gate đối kháng thường tốn nhất).
+
+---
+_Liên quan: `CASAN_APPLY_REALESTATE_MATCHING.md` (luồng gate chi tiết) · `CASAN_PLAN_17_LOOP_ENGINEERING.md` (loop discipline) · `CASAN_PLAN_08_CONTEXT_COMPRESSION.md` (vệ sinh ngữ cảnh) · `CASAN_PLAN_15_RESPONSIBLE_AI_DATA_GOV.md` (PII) · `FPT_CASAN_Full.md` (§4.3 Human-led, §4.4 delegation)._
diff --git a/casan-next-plans/CASAN_APPLY_REALESTATE_MATCHING.md b/casan-next-plans/CASAN_APPLY_REALESTATE_MATCHING.md
new file mode 100644
index 0000000..3b336f7
--- /dev/null
+++ b/casan-next-plans/CASAN_APPLY_REALESTATE_MATCHING.md
@@ -0,0 +1,268 @@
+# CASAN APPLY — Runbook: Dự án BĐS "Match người mua ↔ bất động sản"
+
+> **Mục đích:** mô tả **cụ thể một luồng/phiên làm việc** áp dụng CASAN harness cho bài
+> toán match người mua với BĐS phù hợp — *chuẩn bị gì, môi trường ra sao, các bước nào,
+> ai chịu trách nhiệm, gate ở đâu, xuất ra bằng chứng gì*.
+> **Đối tượng đọc:** Harness/Context Engineer, BA, môi giới (domain expert), pháp chế/DPO, lãnh đạo.
+> **Bối cảnh:** BĐS là domain **rủi ro cao** (tiền lớn, PII tài chính, pháp lý, công bằng)
+> → harness là **điều kiện dùng được**, không phải trang trí.
+>
+> **Trạng thái script:** ✅ đã có trong harness · 🟡 có 1 phần · 📋 trong plan (chưa implement).
+> Đánh dấu ngay tại chỗ dùng. Runbook này **mô tả luồng**; chưa phải lệnh chạy production.
+
+---
+
+## 0. Nguyên tắc bất di (đọc trước)
+1. **Match score của model là phần dễ.** Giá trị nằm ở **pipeline có gate**: hard-filter → rank → verify → fairness → audit.
+2. **Ràng buộc cứng (ngân sách, pháp lý, eligibility, deal-breaker) nằm NGOÀI model** — luật deterministic, model không được "linh hoạt" bỏ qua.
+3. **Delegation L1–L2:** AI *xếp hạng + giải thích + gợi ý*; **người quyết định cuối**. Không tự chốt giao dịch.
+4. **PII tài chính không lên cloud model nếu chưa duyệt/consent.**
+5. **Mọi gợi ý có evidence click được** + **audit ai-được-gợi-ý-gì-vì-sao**.
+6. **Fairness:** cấm match/loại theo thuộc tính được bảo vệ (dân tộc, tôn giáo, giới, tình trạng hôn nhân…).
+
+---
+
+## PHẦN A — CHUẨN BỊ (trước phiên làm việc)
+
+### A1. Con người & vai trò (RACI)
+| Vai trò | Trách nhiệm chính |
+|---|---|
+| **Product Owner / BA** | Chốt mục tiêu match, success-criteria, KPI |
+| **Domain expert (môi giới trưởng)** | Định nghĩa "phù hợp", deal-breaker, trọng số sở thích |
+| **Pháp chế / DPO** | Duyệt fairness rules, PII policy, quy định sở hữu (vd người nước ngoài) |
+| **Harness Engineer** | Dựng pipeline gate, cấu hình harness, loop policy |
+| **Context Engineer** | Thiết kế context assembly + must-keep + nén |
+| **Validator (kiểm định)** | Định nghĩa verify-gate H3, bộ test đối kháng |
+| **Approver (cấp quản lý)** | Duyệt nới delegation / giao dịch giá trị lớn |
+
+### A2. Dữ liệu & nguồn phải sẵn sàng
+- **Listing DB** (BĐS): giá, vị trí, loại, diện tích, **trạng thái pháp lý** (sổ, tranh chấp), tiện ích, hướng/tầng, ROI, ngày bàn giao, trạng thái bán.
+- **CRM / hồ sơ người mua**: ngân sách, mục đích, khu vực, must-have/deal-breaker, lịch sử tương tác.
+- **Tool bên ngoài**: mortgage calculator (khả năng vay), **legal-check API** (sổ/tranh chấp), comparable-price API (giá so sánh).
+- **Chất lượng dữ liệu**: mỗi nguồn có chủ sở hữu + độ tươi (freshness) — dữ liệu cũ → badge stale, không tô xanh.
+
+### A3. Chính sách phải CHỐT trước khi chạy (không vừa chạy vừa định)
+| Artifact | Nội dung | Ai duyệt |
+|---|---|---|
+| `hard-constraints.yaml` | Luật cứng: budget cap, eligibility pháp lý, deal-breaker → **REJECT bất kể score** | BA + Pháp chế |
+| `fairness-rules.yaml` | Danh sách thuộc tính bảo vệ **cấm dùng** để match/loại | Pháp chế/DPO |
+| `data-classification.yaml` ✅ | Nhãn PII/confidential/internal/public (Plan-15) | DPO |
+| `loop-policy.yaml` 📋 | Budget: max_steps/tokens/thời gian; ngưỡng convergence (Plan-17) | Harness Eng |
+| `delegation.yaml` | Mức L1–L2, action nào cần approval | Approver |
+| `success-criteria.yaml` | "Match tốt" = gì (đo được), Top-N, ngưỡng chất lượng | PO/BA |
+
+---
+
+## PHẦN B — MÔI TRƯỜNG
+
+### B1. Tách 3 môi trường
+- **dev/pilot** — dữ liệu **giả lập/ẩn danh**, model local, gate bật, không PII thật.
+- **staging** — dữ liệu thật đã mask, chạy full gate + audit, chưa phục vụ khách.
+- **prod** — dữ liệu thật, **secure-by-default** (mọi gate bật, opt-out phải audit).
+
+### B2. Model routing (quan trọng cho PII)
+- **PII/confidential (tài chính người mua)** → **model local** (không rời hạ tầng).
+- **Cloud model** chỉ cho dữ liệu **public/internal** hoặc khi có **consent + approval**.
+- Enforce bằng `harness-preflight.sh` ✅ (check-cloud TRƯỚC model-call) + `rai-guard.py check-cloud` ✅.
+
+### B3. Cấu trúc thư mục dự án (mẫu)
+```
+realestate-match/
+ config/
+ hard-constraints.yaml
+ fairness-rules.yaml
+ data-classification.yaml # ✅ mẫu có sẵn trong harness
+ loop-policy.yaml # 📋 Plan-17
+ delegation.yaml
+ success-criteria.yaml
+ app/ # logic dự án (hard-filter, rank, explain)
+ hard_filter.py # luật cứng — deterministic, NGOÀI model
+ ranker.py # gọi model qua model-router
+ explainer.py # trích thuộc tính thật → evidence
+ harness/ -> (dùng .specify/scripts/bash của CASAN)
+ artifacts/ # output + audit + evidence (append-only)
+```
+
+### B4. Verify môi trường trước phiên (pre-flight)
+```bash
+# (minh hoạ) kiểm tra harness + policy sẵn sàng
+rai-guard.py model-card --check # ✅ model có card/không pinned → chặn
+security-check --selftest # ✅ action-gate fail-closed
+# đọc được policy? thiếu policy → deny-by-default (fail-closed)
+test -f config/hard-constraints.yaml && test -f config/fairness-rules.yaml
+```
+
+---
+
+## PHẦN C — INPUT SCHEMA (cụ thể)
+
+### C1. Yêu cầu match (request)
+```json
+{
+ "request_id": "MATCH-2026-07-06-001",
+ "mode": "buyer_to_properties", // hoặc property_to_buyers
+ "buyer_ref": "BUYER-8891",
+ "top_n": 5,
+ "delegation_level": "L2",
+ "requested_by": "agent_id:human",
+ "purpose": "own_use" // own_use | investment
+}
+```
+
+### C2. Người mua (buyer) — PII, ưu tiên model local
+```json
+{
+ "buyer_ref": "BUYER-8891",
+ "budget": { "max_price": 5200000000, "loan_preapproved": 3000000000, "currency": "VND" },
+ "location_pref": ["Q7", "Nhà Bè"],
+ "property_type": ["apartment"],
+ "size": { "min_bedrooms": 2, "min_area_m2": 65 },
+ "must_have": ["so_hong", "ban_giao_truoc:2027-06"],
+ "deal_breaker": ["tranh_chap_phap_ly", "khong_so"],
+ "purpose": "own_use",
+ "risk_appetite": "low",
+ "timeline_months": 6
+}
+```
+> **Không** đưa thuộc tính bảo vệ (dân tộc/tôn giáo/giới…) vào tín hiệu match. Nếu có trong CRM → **strip** trước khi vào context.
+
+### C3. Bất động sản (property)
+```json
+{
+ "property_id": "PROP-4471",
+ "price": 4900000000,
+ "location": "Q7",
+ "type": "apartment",
+ "area_m2": 72, "bedrooms": 2,
+ "legal_status": "so_hong",
+ "dispute": false,
+ "handover_date": "2026-12-01",
+ "direction": "DongNam", "floor": 12,
+ "rental_yield_pct": 4.8,
+ "status": "available",
+ "source_freshness": "2026-07-05T10:00:00Z"
+}
+```
+
+---
+
+## PHẦN D — LUỒNG MỘT PHIÊN LÀM VIỆC (step-by-step)
+
+> Mỗi bước ghi: **input → hành động (H nào) → output artifact → gate → ai chịu trách nhiệm.**
+
+```mermaid
+flowchart TD
+ S0["S0 Pre-flight
classify PII + check-cloud"] --> S1["S1 Context assembly (H1)"]
+ S1 --> S2["S2 Retrieve (H2)"]
+ S2 --> S3["S3 Hard-filter
(deterministic, NGOÀI model)"]
+ S3 --> S4["S4 Rank (model, L1-L2)"]
+ S4 --> S5["S5 Explain
trích thuộc tính thật"]
+ S5 --> G["S6 Verify-gate (H3)
+ Fairness (H5)"]
+ G -- fail --> S3
+ G -- pass --> S7["S7 Loop control
budget/convergence"]
+ S7 --> S8["S8 Human review / approval"]
+ S8 --> S9["S9 Present + Audit"]
+```
+
+### S0 — Pre-flight (H4/RAI) ✅
+- **Input:** buyer PII, request.
+- **Hành động:** `rai-guard.py classify` gắn nhãn; `harness-preflight.sh` chặn PII→cloud nếu chưa duyệt → route model local.
+- **Output:** `artifacts/preflight.json` (verdict + envelope provenance).
+- **Gate:** PII lên cloud không consent → **HALT**.
+- **Ai:** Harness Engineer (tự động).
+
+### S1 — Context assembly (H1) ✅ (nén)
+- **Hành động:** gom buyer + catalog slice + market; `context-compress.py --respect-policy` nén nhưng **must-keep = budget/legal/deal-breaker**.
+- **Output:** `artifacts/context.json`.
+- **Gate:** must-keep bị rớt → FAIL (không cho qua).
+- **Ai:** Context Engineer.
+
+### S2 — Retrieve (H2)
+- **Hành động:** query listing DB + legal-check API + mortgage calculator (khả năng vay thực).
+- **Output:** `candidates_raw.json` (kèm `source_freshness`).
+- **Gate:** dữ liệu stale quá ngưỡng → badge stale, không tính là "verified".
+- **Ai:** app (`app/…`) qua tool đã đăng ký (H2 allowlist).
+
+### S3 — Hard-filter (deterministic, NGOÀI model) ⭐
+- **Hành động:** `hard_filter.py` loại ứng viên **vi phạm** `hard-constraints.yaml`: vượt budget/khả năng vay, sai eligibility pháp lý, dính deal-breaker, không sổ/tranh chấp.
+- **Output:** `candidates_eligible.json` + `rejected_with_reason.json`.
+- **Gate:** **đây là luật cứng** — model không được đụng vào.
+- **Ai:** Harness/BA (luật do BA+Pháp chế chốt).
+
+### S4 — Rank (model, L1–L2)
+- **Hành động:** `ranker.py` gọi `model-router.sh` ✅ chấm điểm **khớp sở thích mềm** (vị trí, hướng, tiện ích, ROI) trên tập **đã eligible**.
+- **Output:** `ranked.json` (score + feature contributions).
+- **Gate:** model chỉ xếp hạng, **không** thêm ứng viên ngoài eligible.
+- **Ai:** Harness Engineer.
+
+### S5 — Explain (evidence)
+- **Hành động:** `explainer.py` sinh lý do **trích thuộc tính THẬT** từ DB: *"khớp vì budget ✔ (đã check vay), sổ hồng ✔, 3/4 must-have; loại PROP-X vì vượt budget"*.
+- **Output:** `explained.json` (mỗi match ↔ evidence_ref tới bản ghi nguồn).
+- **Gate:** giải thích chứa thuộc tính không có trong DB → **FAIL** (chống bịa).
+- **Ai:** Validator kiểm mẫu.
+
+### S6 — Verify-gate (H3) + Fairness (H5) ⭐
+- **Hành động:**
+ - **H3:** re-check top-N vẫn thoả hard-constraints (double-check sau rank); faithfulness (evidence khớp nguồn).
+ - **H5 fairness:** quét tín hiệu match — **không** dùng thuộc tính bảo vệ (`fairness-rules.yaml`); kiểm phân bố kết quả không lệch theo nhóm bảo vệ.
+- **Output:** `gate_verdict.json` (PASS/FAIL + lý do).
+- **Gate:** vi phạm → quay lại S3 / loại; **fail-closed** (gate lỗi = FAIL).
+- **Ai:** Validator + (Pháp chế cho fairness).
+
+### S7 — Loop control (Plan-17) 📋
+- **Hành động:** `loop-governor.py` giới hạn số vòng/tokens; `loop-convergence.py` dừng khi Top-N ổn định / phát hiện oscillation; ghi `loop-trace`.
+- **Output:** `loop_trace.json`.
+- **Gate:** vượt budget → HALT; kẹt → escalate. Người có **loop-breaker**.
+- **Ai:** Harness Engineer.
+
+### S8 — Human review / approval (HITL)
+- **Hành động:** môi giới xem Top-N + evidence; chỉnh/loại; giao dịch giá trị lớn → **approval** (`control-plane-settings.py` ✅, JWT thật + SoD 📋 sau Plan-16).
+- **Output:** `human_decision.json` (ai duyệt/từ chối + lý do).
+- **Gate:** L1–L2 → **bắt buộc người quyết**.
+- **Ai:** Môi giới / Approver.
+
+### S9 — Present + Audit
+- **Hành động:** trả Top-N cho người mua; ghi **audit hash-chain** (ai được gợi ý gì, vì sao, ai duyệt).
+- **Output:** `audit/…` (append-only) + record cho `governance-report.py` ✅.
+- **Gate:** thiếu audit → không được present (accountability).
+- **Ai:** Harness (tự động).
+
+---
+
+## PHẦN E — Delegation ladder (khi nào nâng L)
+| Mức | Cho phép | Điều kiện nâng |
+|---|---|---|
+| **L1** | AI nháp gợi ý, người duyệt **toàn bộ** | Khởi động — luôn bắt đầu ở đây |
+| **L2** | AI xếp hạng + giải thích, người quyết chọn | Gate H3/H5 xanh ổn định + AgentOps đạt KPI |
+| **L3** | Tự lọc/gợi ý rủi ro thấp trong scope hẹp (vd chỉ shortlist tự động) | **Cần:** Plan-16 (enforce), audit WORM (Plan-07 T2), fairness đo liên tục, **approval cấp cao** |
+> Nâng L = **security-sensitive** → phải duyệt. Không tự nâng.
+
+---
+
+## PHẦN F — Cái gì hiện cho lãnh đạo (Command Center §8.6 Plan-13) 📋
+- **Match quality** (conversion, độ hài lòng) · **Fairness = 0 vi phạm** · **PII zero-leak** · **audit đầy đủ** · token→$ tiết kiệm.
+- **Click bất kỳ match → Evidence drawer**: xem lý do + bản ghi nguồn + ai duyệt.
+- Thông điệp: *"vừa hiệu quả, vừa an toàn pháp lý — không tin thì bấm xem tận gốc."*
+
+---
+
+## PHẦN G — Checklist đi vào PRODUCTION
+- [ ] `hard-constraints.yaml` + `fairness-rules.yaml` **được Pháp chế/DPO ký**.
+- [ ] PII→cloud bị chặn (preflight test xanh); model local cho tài chính.
+- [ ] Verify-gate H3 + fairness H5 **fail-closed** (test đối kháng xanh).
+- [ ] Audit hash-chain bật; `verify-chain` phát hiện tamper.
+- [ ] **Plan-16 P0** đã vá (approval JWT thật, không bypass) — *bắt buộc trước L2 thật*.
+- [ ] AgentOps đo bias + hallucination + cost, có ngưỡng cảnh báo.
+- [ ] Loop budget/convergence (Plan-17) cấu hình — có loop-breaker.
+- [ ] Delegation khoá ở L1–L2; nâng L cần approval.
+
+---
+
+## PHẦN H — Ghi chú trung thực
+- **Chạy pilot L1–L2 được sớm:** context/hard-filter/rank/explain + gate deterministic dùng script đã có (✅) + logic app dự án.
+- **Chưa "thật" cho tới khi:** Plan-16 (fail-closed/approval thật), Plan-15 enforce (PII/RAI), Plan-07 T2 (audit WORM/KMS) — nếu không, rủi ro **rò PII tài chính** hoặc **gợi ý phân biệt đối xử lọt lưới** = rủi ro **pháp lý + thương hiệu** cho dự án BĐS.
+- **Script 📋 (loop-*, Command Center)** thuộc Plan-17/Plan-13 — **chưa implement**; runbook mô tả cách chúng vào luồng để chuẩn bị trước.
+- **Ranh giới cứng:** hard-filter (budget/pháp lý/deal-breaker) và fairness **là luật ngoài model** — tuyệt đối không giao cho model tự giác.
+
+---
+_Liên quan: `CASAN_PLAN_13_CONTROL_PLANE.md` (§3.4 HITL, §8.6 Command Center) · `CASAN_PLAN_15_RESPONSIBLE_AI_DATA_GOV.md` (PII/RAI/model-card) · `CASAN_PLAN_16_SECURITY_AUDIT_REMEDIATION.md` (fail-closed/approval thật) · `CASAN_PLAN_17_LOOP_ENGINEERING.md` (budget/convergence/loop-trace) · `CASAN_PLAN_10_TRACEABILITY_EVAL.md` (H3 eval) · `FPT_CASAN_Full.md` (§4.3 Human-led, §4.4 delegation L0–L5)._
diff --git a/casan-next-plans/CASAN_PLAN_00_INDEX.md b/casan-next-plans/CASAN_PLAN_00_INDEX.md
index 18376b0..d5cd0ba 100644
--- a/casan-next-plans/CASAN_PLAN_00_INDEX.md
+++ b/casan-next-plans/CASAN_PLAN_00_INDEX.md
@@ -34,6 +34,7 @@
| 14 | `CASAN_PLAN_14_RBAC.md` | RBAC & quản trị đa dự án (multi-tenant) | 📋 |
| 15 | `CASAN_PLAN_15_RESPONSIBLE_AI_DATA_GOV.md` | Responsible AI & Data Governance (FPT §14.3–14.4) | 📋 |
| 16 | `CASAN_PLAN_16_SECURITY_AUDIT_REMEDIATION.md` | Security audit core harness + kế hoạch vá (tamper-evidence/injection/fail-open) | 📋 audit xong |
+| 17 | `CASAN_PLAN_17_LOOP_ENGINEERING.md` | Loop Engineering / Agentic Loop Governance (budget governor, convergence, verify-contract, loop trace/replay, meta-loop) | 📋 |
| Future | `CASAN_PLAN_FUTURE_PHASES.md` | Approval workflow, state machine, benchmark, memory, remediation, KPI | 💤 vision |
> **Không có plan số 11:** số 11 được bỏ trống có chủ ý — nhánh eval/traceability đã
@@ -81,6 +82,9 @@ flowchart LR
P14["14 RBAC"] --> P13
P04 --> P13
P13 --> P15["15 Responsible AI
& Data Governance"]
+ P13 --> P17["17 Loop Engineering
Agentic Loop Governance"]
+ P10X --> P17
+ P04 --> P17
style CORE fill:#d0e8ff,stroke:#2c3e91,stroke-width:2px
style STRONG fill:#d0ffd0,stroke:#1e8449,stroke-width:2px
```
diff --git a/casan-next-plans/CASAN_PLAN_17_LOOP_ENGINEERING.md b/casan-next-plans/CASAN_PLAN_17_LOOP_ENGINEERING.md
new file mode 100644
index 0000000..5ca394f
--- /dev/null
+++ b/casan-next-plans/CASAN_PLAN_17_LOOP_ENGINEERING.md
@@ -0,0 +1,201 @@
+# KẾ HOẠCH 17 — Loop Engineering / Agentic Loop Governance
+
+> Status 2026-07-06: **📋 planned — CHƯA implement.** Đây là plan thiết kế; không có
+> code trong đợt này. Mục tiêu: nâng CASAN từ "governance rời rạc" thành **Agentic
+> Loop Governance** — kỹ thuật hoá **vòng lặp agent** (không chỉ prompt).
+>
+> Nhãn trạng thái: xem legend ở `CASAN_BACKLOG_STATUS.md`.
+> Phụ thuộc: **07** (H5 audit chain, H6 AgentOps, C4 approval) · **10** (H3 eval —
+> gate mỗi vòng) · **13** (Control Plane — widget Loop + governed loop-policy) ·
+> **14** (RBAC — nới budget cần org-admin) · **16** (fail-closed, approval JWT thật,
+> secure-by-default — Plan-17 PHẢI tuân các bài học này) · **04** (self-improve —
+> meta-loop). Bổ trợ **08** (context compaction giữa các vòng).
+
+---
+
+## 1. Bối cảnh — vì sao cần "loops engineering"
+
+**Prompt engineering** tối ưu **một lần gọi**: câu vào tốt → câu ra tốt. Độ tin cậy
+phụ thuộc model + prompt, không có bảo đảm hệ thống.
+
+**Loops engineering** tối ưu **vòng lặp bao quanh model**: `observe → plan → act →
+verify → correct → lặp`, với **điều kiện dừng, gate mỗi vòng, ngân sách, phát hiện
+không hội tụ, phục hồi lỗi, leo thang cho người**. Độ tin cậy đến từ **cấu trúc vòng
+lặp**, không phải một prompt hoàn hảo.
+> *Prompt tốt cho câu trả lời hay; loop tốt cho **hệ thống đáng tin**.*
+
+### CASAN đã có sẵn bộ máy loop (đối chiếu FPT §10.4, §4.4, §14)
+7 harness component chính là cơ khí của một vòng lặp được kỹ thuật hoá:
+
+| Yếu tố loops-engineering | CASAN đã có |
+|---|---|
+| Cấu trúc lặp observe→act→verify→correct | **H7 Orchestration / điều phối** (FPT §10.4) |
+| Gate kiểm định mỗi vòng | **H3 Evaluation/Validation** + `security-check` action-gate |
+| Guardrail trong vòng (fail-closed) | **H4 Security** (deny-by-default) |
+| Leo thang cho người khi bí/rủi ro | **H5 Governance** + HITL approval (L0–L5, §4.4) |
+| Quản trị ngữ cảnh giữa các vòng | **H1 Context** + `context-compress.py` |
+| Quan sát/trace theo vòng | **H6 AgentOps** + audit hash-chain |
+| Cải thiện chính vòng lặp | `self-improve.py` (propose ≠ apply) |
+
+**Kết luận:** CASAN vốn là loop-engineering nhiều hơn prompt-engineering — chỉ **chưa
+đặt tên và chưa formalize các "loop primitive" hạng nhất.**
+
+### Khoảng trống (5 primitive còn thiếu)
+1. **Loop Budget Governor** — trần số bước / token / thời gian / chi phí mỗi vòng lặp → tự dừng (loop-breaker). *Chưa có.*
+2. **No-progress / Oscillation Detector** — phát hiện lặp cùng hành động hoặc không tiến gần mục tiêu → halt/leo thang. *Chưa có.*
+3. **Per-iteration Verify Contract** — mỗi vòng phải qua gate mới sang vòng sau; fail → correction có cấu trúc, không retry mù. *H3 có gate nhưng chưa là hợp đồng theo vòng.*
+4. **Loop Trace / Replay** — ghi từng vòng (state/action/verdict) để audit & tua lại một loop. *Audit chain có mảnh, chưa có "loop view".*
+5. **Meta-loop** — self-improve đề xuất sửa chính loop-policy → người duyệt. *Có self-improve, chưa mở sang loop policy.*
+
+---
+
+## 2. Nguyên tắc (bắt buộc, kế thừa Plan-16)
+- **Fail-closed toàn diện:** mọi primitive lỗi/thiếu dữ liệu/không đọc được policy ⇒ **HALT vòng lặp** (không "cho chạy tiếp"). Không có đường thoát fail-open.
+- **Deny-by-default budget:** run không có policy khớp ⇒ áp **ceiling mặc định chặt nhất**, không phải "vô hạn".
+- **Secure-by-default (không opt-in):** trong profile `prod`, loop governance **bật mặc định**; muốn tắt phải **opt-out tường minh có audit** (đảo lại lỗi ARCH-03 của Plan-16). Profile `dev` có thể nới nhưng vẫn ghi audit.
+- **Tăng tự chủ = cần duyệt cấp cao:** nới budget / hạ mức gate / tăng delegation-level (L→L+1) là **security-sensitive setting** ⇒ phải qua approval JWT thật (SEC-07) + SoD (proposer ≠ approver), versioned, rollback. Nối Plan-13/14.
+- **Mọi số có provenance:** output primitive bọc envelope `{source, artifact_path, commit, run_at, verified}` — cùng data-contract §8.6 Plan-13 (để Command Center "wow thực chất").
+- **Con người luôn có nút dừng:** loop-breaker ở **mức vòng lặp** (kill-switch granular hơn Plan-07 C7).
+- **Idempotent & tail-safe:** trace append-only, hash-linked; replay không sửa nguồn.
+
+---
+
+## 3. Định nghĩa "Vòng lặp CASAN chuẩn" (Loop Contract)
+
+Một **run** là chuỗi **iteration**. Mỗi iteration là một bản ghi bất biến:
+
+```
+Iteration = {
+ run_id, step,
+ intent, # ý định của bước (mục tiêu con)
+ action, tool, inputs_ref, # hành động + tool + tham chiếu input (không nhúng secret)
+ gate_verdict, # H3/H4: PASS | FAIL | DENY (+ evidence_ref)
+ progress, # tín hiệu tiến độ (đơn điệu tăng khi tiến gần goal)
+ budget_snapshot, # {steps, tokens, elapsed_s, cost_usd} tích luỹ
+ decision # CONTINUE | HALT | ESCALATE | DONE
+}
+```
+
+**Điều kiện dừng (bất kỳ cái nào đúng ⇒ kết thúc):**
+- `DONE` — verify đạt **success-criteria** của goal (không phải "model tự nói xong").
+- `HALT(budget)` — vượt trần Governor (Track 1).
+- `HALT(no-progress)` / `HALT(oscillation)` — Convergence detector (Track 2).
+- `ESCALATE(human)` — gate DENY nghiêm trọng, hoặc stall ở mức rủi ro cao ⇒ vào approvals inbox (Plan-13 §3.4).
+- `HALT(human)` — loop-breaker do người bấm.
+
+```mermaid
+flowchart TD
+ S["observe / plan"] --> A["act (tool call)"]
+ A --> G{"H3/H4 verify gate
(Track 3)"}
+ G -- FAIL --> C["structured correction
(bounded retries)"]
+ C --> G
+ G -- PASS --> B{"Budget Governor
(Track 1)"}
+ B -- exceeded --> HB["HALT(budget)"]
+ B -- ok --> CV{"Convergence
(Track 2)"}
+ CV -- STALLED/OSC --> ESC["ESCALATE / HALT"]
+ CV -- converging --> D{"success-criteria?"}
+ D -- yes --> DONE["DONE ✅"]
+ D -- no --> S
+ G -- DENY --> ESC
+ A -.trace.-> T[("Loop Trace
append-only, hash-linked
(Track 4)")]
+ G -.trace.-> T
+ B -.trace.-> T
+ CV -.trace.-> T
+```
+
+Vị trí file (sau Plan-01 restructure → `packages/casan-harness/`; hiện tại
+`.specify/scripts/bash/`). Config ở `.specify/config/`. Không nằm trong `apps/okr`.
+
+---
+
+## 4. Tasks theo track
+
+### Track 1 — Loop Budget Governor
+| Task | Việc | File | Verify (WSL) |
+|---|---|---|---|
+| 17.1 | Schema `loop-policy.yaml`: `defaults` + override theo `delegation_level` (L0–L5) + theo `project`. Trường: `max_steps`, `max_tokens`, `max_wall_clock_sec`, `max_cost_usd`, `max_corrections_per_step`, `on_exceed: halt\|escalate`. Bao gồm `profile: prod\|dev`. | mới `config/loop-policy.yaml` + `loop-policy.schema.json` | schema validate; thiếu policy → dùng default chặt nhất |
+| 17.2 | `loop-governor.py`: `check --run-id --step --tokens --elapsed --cost` → exit 0 = CONTINUE, exit 3 = HALT(budget) kèm lý do JSON (envelope provenance). **Deny-by-default**; đọc policy lỗi ⇒ exit 3 (fail-closed). | mới `loop-governor.py` | vượt trần → exit 3 + audit; policy hỏng → exit 3 |
+| 17.3 | Nới budget = **security-sensitive** → phải qua `control-plane-settings.py` (approval JWT thật + SoD + versioned + rollback). | nối Plan-13/14 | nới không approval → DENY |
+| 17.4 | Audit event khi HALT(budget) (hash-chain, Plan-07 H5). | nối audit | bản ghi truy được |
+
+### Track 2 — No-progress / Oscillation Detector
+| Task | Việc | File | Verify (WSL) |
+|---|---|---|---|
+| 17.5 | `loop-convergence.py observe --run-id --step --action-hash --progress` (append vào state run). `verdict --run-id` → `CONVERGING\|STALLED\|OSCILLATING`. | mới `loop-convergence.py` | chuỗi tiến bộ → CONVERGING |
+| 17.6 | Luật phát hiện: (a) **oscillation** = cùng `action-hash` lặp ≥ N (config); (b) **no-progress** = `progress` không cải thiện trong cửa sổ W bước; (c) **thrash** = xen kẽ 2 state. Ngưỡng N/W trong `loop-policy.yaml`. | cùng file | lặp action → OSCILLATING; phẳng W bước → STALLED |
+| 17.7 | STALLED/OSCILLATING → `on_stall: escalate\|halt` (mặc định escalate vào approvals inbox Plan-13). | nối Plan-13 §3.4 | stall → tạo pending approval |
+| 17.8 | Envelope provenance + audit khi phán quyết STALLED/OSC. | nối audit | verdict truy được nguồn |
+
+### Track 3 — Per-iteration Verify Contract
+| Task | Việc | File | Verify (WSL) |
+|---|---|---|---|
+| 17.9 | `loop-gate.py verify --run-id --step --artifact` → `PASS\|FAIL\|DENY` + `correction_hint`. Bọc H3 (faithfulness/eval) + H4 (security-check action-gate) thành **một hợp đồng theo vòng**. | mới `loop-gate.py` (điều phối H3/H4) | fixture pass→PASS; injection→DENY |
+| 17.10 | **Correction có cấu trúc**: FAIL → retry tối đa `max_corrections_per_step` (Track 1); vượt → ESCALATE. **Không** retry mù. | cùng file | quá số correction → ESCALATE |
+| 17.11 | **Fail-closed**: gate lỗi/timeout/không đọc được artifact ⇒ FAIL (không PASS ngầm). Kế thừa SEC-04/SEC-09 Plan-16. | cùng file | gate throw → FAIL |
+| 17.12 | Cấm "self-declared done": `DONE` chỉ hợp lệ khi verify đạt **success-criteria** khai báo trước (không dựa lời model). | contract check | model nói xong nhưng verify fail → không DONE |
+
+### Track 4 — Loop Trace / Replay
+| Task | Việc | File | Verify (WSL) |
+|---|---|---|---|
+| 17.13 | `loop-trace.py record` — append-only bản ghi Iteration (§3) vào audit chain **hash-linked** (nối H5). Không nhúng secret (chỉ `inputs_ref`). | mới `loop-trace.py` | ghi N bước → chain liên tục |
+| 17.14 | `loop-trace.py show --run-id` → "loop view" (từng vòng, verdict, budget, progress) — JSON + bảng người đọc. | cùng file | render đúng thứ tự bước |
+| 17.15 | `loop-trace.py replay --run-id` — **tua lại xác định**: chạy lại verify trên artifact đã ghi, so verdict cũ/mới ⇒ phát hiện non-determinism/tamper. | cùng file | sửa 1 artifact → replay lệch → cảnh báo |
+| 17.16 | `loop-trace.py verify-chain` — tamper-evidence (nối SEC-01/02 Plan-16, KMS-anchored khi TIER-2). | cùng file | sửa 1 bản ghi → chain BREAK |
+
+### Track 5 — Meta-loop (self-improving loop policy)
+| Task | Việc | File | Verify (WSL) |
+|---|---|---|---|
+| 17.17 | Mở rộng `self-improve.py propose`: dựa AgentOps (H6) + loop-trace, đề xuất **sửa loop-policy** (nới/siết budget, thêm gate, chỉnh cửa sổ convergence) ở dạng **dry-run proposal**. | nối Plan-04 | propose không đổi policy (dry-run) |
+| 17.18 | `apply` chỉ qua `control-plane-settings.py` (approval JWT thật + **SoD proposer≠approver** + versioned + rollback). | nối Plan-13/14/16 | apply không approval → DENY; rollback được |
+| 17.19 | Meta-loop cũng bị Governor giới hạn (không tự nới vô hạn budget của chính nó). | nối Track 1 | đề xuất nới quá trần org → chặn |
+
+### Track 6 — Orchestrator integration & Control Plane
+| Task | Việc | File | Verify |
+|---|---|---|---|
+| 17.20 | Wrapper `loop-run.sh`: mỗi turn gọi `loop-gate` → `loop-governor` → `loop-convergence` → `loop-trace.record`. Profile `prod` **bật mặc định**; opt-out phải tường minh + audit. | mới `loop-run.sh` | turn vi phạm bất kỳ gate → dừng đúng nhánh |
+| 17.21 | Nối `model-router.sh`: loop context compaction giữa vòng dùng `context-compress.py` (Plan-08) + must-keep. | nối Plan-08 | context giữa vòng bị nén, giữ must-keep |
+| 17.22 | Widget **Loop panel** trên Command Center (§8.6 Plan-13): budget gauge, convergence status, per-iteration ticker, **loop-breaker** (halt granular), click bước → Evidence drawer (loop-trace show). Data đọc-only từ artifact thật. | nối Plan-13 §8.6 | số khớp fixture; loop-breaker → HALT(human) |
+
+---
+
+## 5. Red-team / test (kế thừa phong cách adversarial-harness)
+| Test | Kỳ vọng |
+|---|---|
+| Runaway loop (không điều kiện dừng) | HALT(budget) trước trần; audit ghi |
+| Oscillation (A→B→A→B…) | Track 2 phát hiện OSCILLATING → escalate |
+| No-progress (chạy nhưng metric phẳng) | STALLED trong ≤ W bước |
+| Blind-retry abuse (spam correction) | dừng ở `max_corrections_per_step` → ESCALATE |
+| Self-declared done (model nói xong, verify fail) | KHÔNG DONE |
+| Policy tampering (sửa loop-policy né budget) | apply cần approval; `verify-chain` phát hiện sửa lén |
+| Fail-open probe (làm gate throw để "được chạy tiếp") | FAIL/HALT (fail-closed) |
+| Meta-loop tự nới budget vô hạn | chặn bởi trần org + SoD |
+| Replay tamper (sửa artifact đã ghi) | replay lệch verdict → cảnh báo; chain BREAK |
+
+**File test:** `.specify/tests/phase-loop-governor-tests.sh`, `phase-loop-convergence-tests.sh`,
+`phase-loop-gate-tests.sh`, `phase-loop-trace-tests.sh`, `phase-loop-metaloop-tests.sh`.
+Chạy trong **WSL Ubuntu** (deterministic, không cần model/docker/mạng). Nối
+`ci-harness-gate.sh`. Cập nhật tổng test ở `CASAN_HARDENING_STATUS.md`.
+
+---
+
+## 6. Tiêu chí hoàn thành (Definition of Done)
+- [ ] 5 primitive có script + config schema + test xanh trong WSL, nối CI.
+- [ ] Mọi primitive **fail-closed** (chứng minh bằng test làm gate lỗi → HALT/FAIL).
+- [ ] Loop governance **bật mặc định** ở profile `prod`; opt-out có audit.
+- [ ] Nới budget / hạ gate / tăng delegation-level đều cần **approval JWT thật + SoD** (không bypass bằng chuỗi non-empty — bài học M-08/SEC-07).
+- [ ] `loop-trace verify-chain` phát hiện tamper; `replay` phát hiện non-determinism.
+- [ ] Meta-loop `propose ≠ apply`; apply có versioned + rollback.
+- [ ] Widget Loop trên Command Center đọc **artifact thật** + click-to-evidence (không vanity).
+- [ ] Không đụng OKR app; core harness giữ nguyên số test hiện có + thêm suite loop.
+
+---
+
+## 7. Ghi chú trung thực
+- Đây là **[mới] — 📋 chưa implement**. Plan mô tả thiết kế; chưa có script nào được viết trong đợt này.
+- **Không phải làm lại từ đầu:** nền tảng (H3/H4/H5/H6/H7 + `self-improve.py` + `context-compress.py` + audit chain) đã có và test xanh. Plan-17 = **đặt tên "loop engineering" + bổ sung 5 primitive** bọc lên nền đó.
+- **Phụ thuộc cứng vào Plan-16:** các primitive chỉ "thật" khi approval JWT thật (SEC-07), fail-closed (SEC-04/09), tamper-evidence (SEC-01/02), secure-by-default (SEC-17/ARCH-03) đã vá. Nếu Plan-16 chưa xong, Track 1/3/5 vẫn viết được nhưng **enforcement còn hở** — phải ghi rõ khi báo cáo, không over-claim.
+- **Rẻ + verify offline trước:** khuyến nghị bắt đầu bằng **17.1–17.2 (Governor)** và **17.5–17.6 (Convergence)** — thuần Python/bash, deterministic, verify WSL ngay, không cần model/infra.
+- **Giá trị định vị:** biến CASAN thành **"Agentic Loop Governance"** — hợp trend 2026 và hợp câu chuyện "wow thực chất" (budget/convergence/loop-trace là số **đo được, verify được, click-to-evidence được**).
+
+---
+_Liên quan: `CASAN_PLAN_07_PRODUCTION_HARDENING.md` (H5 audit, H6 AgentOps, C4 approval, C7 kill-switch) · `CASAN_PLAN_10_TRACEABILITY_EVAL.md` (H3 eval — gate mỗi vòng) · `CASAN_PLAN_13_CONTROL_PLANE.md` (§3.4 HITL inbox, §8.6 Command Center — widget Loop + governed loop-policy) · `CASAN_PLAN_14_RBAC.md` (nới budget cần org-admin + SoD) · `CASAN_PLAN_16_SECURITY_AUDIT_REMEDIATION.md` (fail-closed, approval JWT thật, tamper-evidence) · `CASAN_PLAN_04_SELFIMPROVE.md` (meta-loop) · `CASAN_PLAN_08_CONTEXT_COMPRESSION.md` (compaction giữa vòng)._