diff --git a/docs/plans/CASAN_BACKLOG_STATUS.md b/docs/plans/CASAN_BACKLOG_STATUS.md index a249448..92bb7fb 100644 --- a/docs/plans/CASAN_BACKLOG_STATUS.md +++ b/docs/plans/CASAN_BACKLOG_STATUS.md @@ -55,7 +55,7 @@ | **08 Context compression** | � MVP done+test | **CASAN-native token-killer** (Track 3) đã có: `context-compress.py` (dedup/extractive/structural, must-keep, tee, gate fail-able), `phase08-compression-tests.sh` 7/0 (WSL), nối CI. Còn: Track 1 nén INPUT + Track 2 nén VIEW liên-bước + Track 4 abstractive (gated) + nối H4/H5 trong pipeline thật. | | **12 Domain Pack SDK** | 📋 chưa bắt đầu (🔓 01 done, còn chờ 06) | Onboard bằng khai báo (golden/corpus/policy theo domain). Phụ thuộc 01 ✅, 06. | | **01 Restructure** | ✅ **done+test (2026-07-08, merged main)** | Đã tách: harness code → `packages/casan-harness/`, domain OKR → `apps/okr/domain/`, runtime state ở `.specify/`; **app promote lên git root** (hết wrapper `AINative_OKR_CASAN5/`); facade `.specify` symlink **gỡ sạch** (hard cutoff); path resolve qua `casan-paths.sh` (marker walk-up). Full gate **PASS=64 FAIL=0 SKIP=3** từ cấu trúc mới. CI (`.gitea/workflows/ci.yml`) + docs đã đồng bộ. Mở khoá 06/12. Chi tiết: `CASAN_PLAN_01_RESTRUCTURE.md`. | -| **13 Control Plane** | 🟡 core done+test | **Sửa kiến trúc: là tài sản harness, KHÔNG nằm trong OKR.** Governance core đã dời vào harness: `packages/casan-harness/scripts/bash/control-plane-settings.py` (settings versioned + audit hash-chain + deny-by-default + approval + rollback), `phase-control-plane-tests.sh` 7/0 (WSL), nối CI. Đã gỡ khỏi `apps/okr` (OKR sạch: 46/0/3skip + 16/16). Còn: web app React+NestJS độc lập `control-plane/` bọc harness core; RBAC đầy đủ (14); approval IdP (04+07-C4); FinOps/SLO; deploy prod (07 T2). | +| **13 Control Plane** | 🟡 core + **Track 1 console** done+test | **Sửa kiến trúc: là tài sản harness, KHÔNG nằm trong OKR.** Governance core đã dời vào harness: `packages/casan-harness/scripts/bash/control-plane-settings.py` (settings versioned + audit hash-chain + deny-by-default + approval + rollback), `phase-control-plane-tests.sh` 7/0 (WSL), nối CI. Đã gỡ khỏi `apps/okr` (OKR sạch: 46/0/3skip + 16/16). **Track 1 DONE**: read-only Ops Console (NestJS API + React UI) tại `packages/casan-control-panel/` (`npm run console:api`+`console:ui`), backend test 7/0, gate 64/0/3. Còn: RBAC đầy đủ (14); approval IdP (04+07-C4); FinOps/SLO; deploy prod (07 T2). | | **14 RBAC** | � core done+test | RBAC decision engine trong harness: `packages/casan-harness/scripts/bash/rbac-check.py` (role×resource:action, scope org/project, deny-by-default, tenant isolation, sensitive→org-admin, SoD), `phase-rbac-tests.sh` 10/0 (WSL), nối CI. **Đã thêm:** tenant data-boundary (SEC-23 23.13, org-admin A không đụng B) + **audit quyết định vào H5** (`CASAN_RBAC_AUDIT_LOG`, `phase-rbac-audit` 5/0). Còn: enforcement trong web app (13), ánh xạ IdP claim→role thật (07-C4). | | **15 Responsible AI & Data Gov** | 🟡 core done+test+enforced | `rai-guard.py` (classify; PII→cloud deny; model-card; **retention** gate/purge-audit; **report** aggregate) + **enforcement** `harness-preflight.sh` chặn PII→cloud trước model-call, `model-router` opt-in `CASAN_PREFLIGHT`. `phase-rai` 12/0 + `phase-preflight` 5/0 (WSL), nối CI. Còn: view trên Control Plane. | | Future B1–B6 | 💤 vision | `CASAN_PLAN_FUTURE_PHASES.md` — approval workflow nâng cao · state machine · model benchmark · governed memory · auto-remediation · platform KPI. | diff --git a/docs/plans/CASAN_PLAN_00_INDEX.md b/docs/plans/CASAN_PLAN_00_INDEX.md index fe95be6..7a8d101 100644 --- a/docs/plans/CASAN_PLAN_00_INDEX.md +++ b/docs/plans/CASAN_PLAN_00_INDEX.md @@ -30,7 +30,7 @@ | 09 | `CASAN_PLAN_09_EVIDENCE_PACK.md` | Evidence Pack & certification | 🟡 | | 10 | `CASAN_PLAN_10_TRACEABILITY_EVAL.md` | REQ→code→test + H3 eval | 🟡 | | 12 | `CASAN_PLAN_12_DOMAIN_PACK.md` | Domain Pack SDK | 📋 | -| 13 | `CASAN_PLAN_13_CONTROL_PLANE.md` | Control Plane: dashboard giám sát + quản lý + settings | 📋 | +| 13 | `CASAN_PLAN_13_CONTROL_PLANE.md` | Control Plane: dashboard giám sát + quản lý + settings | 🟡 core + Track 1 console | | 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) | � P0/P1/P2 done | diff --git a/docs/plans/CASAN_PLAN_13_CONTROL_PLANE.md b/docs/plans/CASAN_PLAN_13_CONTROL_PLANE.md index 8b2210f..a57e1db 100644 --- a/docs/plans/CASAN_PLAN_13_CONTROL_PLANE.md +++ b/docs/plans/CASAN_PLAN_13_CONTROL_PLANE.md @@ -1,5 +1,13 @@ # KẾ HOẠCH 13 — Control Plane (Dashboard giám sát + quản lý + settings) +> Status 2026-07-08: **🟡 Governance CORE + Track 1 Read-only Ops Console DONE.** +> **Track 1** built: real NestJS API + React UI at `packages/casan-control-panel/` (read-only +> monitoring over harness telemetry: overview/runs/governance/security/incidents/tools/ +> traceability/drift/cost + stale-aware `/healthz`). Backend tests 7/0; API serves REAL data; +> harness gate untouched (64/0/3). Run: `npm run console:api` + `npm run console:ui`. +> **Còn (Track 2/3/4):** settings writes (wrap `control-plane-settings.py`), RBAC+approval +> inbox (Plan-14), FinOps/SLO + docker/deploy + TLS/OIDC (07 T2). +> > Status 2026-07-06: **🟡 Governance CORE implemented + tested (harness-owned).** > **Sửa kiến trúc:** Control Plane là **tài sản của core harness**, KHÔNG nằm trong app > OKR (OKR chỉ là testbed được gen). Governance core đã dời vào harness: