docs: restore casan-next-plans roadmap into docs/plans (was wrongly deleted)
The plan set (Plan-00..18, backlog/hardening/QA status, team allocation) is the ONGOING roadmap, not a finished competition artifact — restored from history into docs/plans/. Plan-01 (restructure) marked ✅ done; the rest remain to do. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
18997caf49
commit
fa3dd94c76
@@ -0,0 +1,76 @@
|
||||
# KẾ HOẠCH 12 — CASAN Domain Pack SDK
|
||||
|
||||
> Onboard dự án mới **không copy folder thủ công** — chỉ khai báo một **Domain Pack** (YAML) là CASAN tự hiểu golden/corpus/threshold/quality-rules của domain đó. Chuẩn hoá "harness reusable, domain data tách khỏi core". Task-level, chưa thực thi.
|
||||
>
|
||||
> Nhãn: [có]/[demo]/[mới]. Phụ thuộc: **01** (tách `config`/`apps/<x>/domain`) là điều kiện tiên quyết · **06** (onboard thủ công là bản chạy tay của cái này) · **07/10** (rules tham chiếu).
|
||||
|
||||
## 1. Vì sao đáng làm
|
||||
- Plan-06 onboard dự án 2 **thủ công**; Domain Pack biến việc đó thành **khai báo** → reuse thật ở tầm platform.
|
||||
- Đúng tư tưởng CASAN: **gate (khung) không đổi; domain data khai báo bên ngoài.**
|
||||
|
||||
## 2. Hình dạng Domain Pack
|
||||
```yaml
|
||||
# apps/<project>/domain/domain-pack.yaml
|
||||
domain: okr
|
||||
language: [vi, ja, en]
|
||||
artifact_types: [srs, bd, spec, code, test]
|
||||
golden_runs:
|
||||
path: apps/okr/domain/golden-runs
|
||||
redteam_corpus:
|
||||
path: apps/okr/domain/redteam-corpus
|
||||
benign_corpus:
|
||||
path: apps/okr/domain/benign-corpus
|
||||
thresholds: # đè mặc định package
|
||||
cost_absolute_max: 800
|
||||
fp_budget: 0.03
|
||||
drift_similarity_min: 0.7
|
||||
quality_rules:
|
||||
- requirement_coverage
|
||||
- no_security_regression
|
||||
- no_unapproved_dependency
|
||||
harness_package: fpt-casan-sdd-harness
|
||||
harness_version: 1.0.0
|
||||
```
|
||||
|
||||
## 3. Tasks
|
||||
|
||||
### Track 1 — Loader & schema
|
||||
| Task | Việc | Verify | Done |
|
||||
|---|---|---|---|
|
||||
| 1.1 | Định schema `domain-pack.yaml` + validate | pack sai field → báo lỗi rõ | schema chốt |
|
||||
| 1.2 | Loader: đọc pack → nạp golden/corpus/threshold/rules vào harness | chạy với pack → dùng đúng data domain | loader chạy |
|
||||
| 1.3 | Cơ chế **override**: pack đè default package; thiếu field → dùng default | field trống → default; có → đè | override đúng |
|
||||
| 1.4 | `casan init-domain <name>`: scaffold pack + thư mục domain rỗng | sinh khung pack | init chạy |
|
||||
|
||||
### Track 2 — Tích hợp & kiểm chứng
|
||||
| Task | Việc | Verify | Done |
|
||||
|---|---|---|---|
|
||||
| 2.1 | Pipeline đọc domain-pack thay vì hard-code (bỏ `feature-id` cứng) | đổi pack → đổi domain, không sửa gate | tách domain |
|
||||
| 2.2 | `casan register` đọc pack → ghi `project-registry.json` | registry có entry đúng version | đăng ký tự động |
|
||||
| 2.3 | `verify-harness-reuse` với 2 domain pack thật | `HARNESS_REUSE_VALID project_count=2` | reuse thật |
|
||||
| 2.4 | Quality rules trong pack map sang gate (coverage→H3, dependency→C2…) | rule bật/tắt đúng gate | rule-driven |
|
||||
|
||||
### Track 3 — Chất lượng pack
|
||||
| Task | Việc | Verify | Done |
|
||||
|---|---|---|---|
|
||||
| 3.1 | Lint pack: golden/corpus tối thiểu N mẫu; rule hợp lệ | pack thiếu corpus → cảnh báo | lint pack |
|
||||
| 3.2 | `casan doctor <domain>`: kiểm pack sẵn sàng chạy chưa | thiếu gì → liệt kê | health-check |
|
||||
|
||||
## 4. Rủi ro
|
||||
| Rủi ro | Giảm thiểu |
|
||||
|---|---|
|
||||
| Phải sửa gate cho domain mới | nếu xảy ra → nợ kỹ thuật đẩy về Plan-01 (tách chưa đủ) |
|
||||
| Pack sơ sài → gate vô nghĩa | 3.1 lint tối thiểu corpus/golden |
|
||||
| Reuse "giả" (chỉ copy) | cùng `harness_version` + verify script |
|
||||
|
||||
## 5. Tiêu chí HOÀN THÀNH
|
||||
- [ ] Onboard dự án mới = tạo `domain-pack.yaml` + domain data, **không sửa `src/gates`**.
|
||||
- [ ] Override threshold/rule theo pack hoạt động.
|
||||
- [ ] `casan init-domain` / `register` / `doctor` chạy.
|
||||
- [ ] `verify-harness-reuse` = 2 domain pack thật → VALID.
|
||||
|
||||
## 6. Ghi chú trung thực
|
||||
Cần **Plan-01 (tách config/domain) xong trước**; nếu chưa, Domain Pack chỉ là lớp mỏng trên cấu trúc phẳng. Reuse thật chỉ được tuyên bố khi có **≥2 domain pack chạy được**, không tính entry demo.
|
||||
|
||||
---
|
||||
_Liên quan: `CASAN_PLAN_01_RESTRUCTURE.md` · `CASAN_PLAN_06_ONBOARD.md` · `CASAN_PLAN_07/10` (quality rules)._
|
||||
Reference in New Issue
Block a user