97 lines
3.8 KiB
Markdown
97 lines
3.8 KiB
Markdown
# Kế hoạch: CASAN tự sinh vỏ theo dự án (closed-loop, đóng gói tái dùng)
|
|
|
|
> Mục tiêu: biến CASAN từ "1 vỏ OKR cố định" thành **lõi tái dùng + vỏ tự sinh** cho mọi dự án, qua vòng lặp khép kín: Local AI sinh nháp → harness tự chấm → AI xịn review/vá → đóng gói. Dùng được ở 3 mức: ý tưởng, project có sẵn, vấn đề cần giải.
|
|
|
|
---
|
|
|
|
## 1. Tách lớp: lõi cố định vs vỏ tùy dự án
|
|
|
|
| Lớp | Thành phần | Tính chất |
|
|
|---|---|---|
|
|
| **Lõi (casan-core)** | `security-check.sh`, `governance-check.sh`, `casan-harness.sh`, `drift-detect.sh`, `rollback-manager.sh`, `model-fallback.sh`, `verify-audit-chain.sh`, `tool-registry-gate.sh`, `pii-mask.py`, `hallucination-scan.py` | Project-agnostic, đóng gói versioned, KHÔNG sửa mỗi dự án |
|
|
| **Vỏ (project-shell)** | `run-casan-pipeline.mjs`, `casan-step.mjs`, requirement, golden runs, agent stubs, policy yaml | Tự sinh theo dự án |
|
|
|
|
Manifest điều khiển vỏ: `casan.config.yaml`
|
|
```yaml
|
|
feature-id: <id>
|
|
tech-stack: <stack>
|
|
steps: [srs, bd, spec, plan, review, dd, testkit, tasks, reviewcode]
|
|
agents: { srs: ..., plan: ..., review: ... }
|
|
golden: .specify/golden/
|
|
thresholds: { H1:80, ..., H7:80 }
|
|
```
|
|
|
|
---
|
|
|
|
## 2. Kiến trúc closed-loop
|
|
|
|
```mermaid
|
|
graph LR
|
|
IN[3 cổng vào: idea / repo / problem] --> SCAF[Local AI: sinh vỏ nháp]
|
|
SCAF --> RUN[casan-core: test+gate+audit] --> SCORE{mọi H>=ngưỡng?}
|
|
SCORE -->|no| REV[AI xịn: review+vá] --> RUN
|
|
SCORE -->|yes| PKG[casan-pack export] --> REG[(registry)]
|
|
REG --> REUSE[Dự án sau tái dùng]
|
|
```
|
|
|
|
- **Local AI** (rẻ): sinh nháp + vá vòng đầu, chạy nhiều lần.
|
|
- **AI xịn** (đắt): chỉ vào khi local kẹt — sửa golden, siết policy, fix orchestration.
|
|
- **Harness lõi**: trọng tài khách quan, chấm 7 điểm, không bịa.
|
|
|
|
---
|
|
|
|
## 3. Ba mức cổng vào
|
|
|
|
| Mức | Input | Vỏ sinh ra | Golden |
|
|
|---|---|---|---|
|
|
| Ý tưởng | mô tả ngắn | SRS+spec+plan phác | sinh từ spec |
|
|
| Project sẵn | repo | feature-inventory + pipeline | từ test thật |
|
|
| Vấn đề | bug/yêu cầu | mini-pipeline 1 luồng | từ kỳ vọng |
|
|
|
|
---
|
|
|
|
## 4. Lộ trình 5 giai đoạn
|
|
|
|
### GĐ1 — Tách lõi
|
|
- Gom script agnostic → `casan-core/` versioned (semver).
|
|
- Tạo template vỏ rỗng + `casan.config.yaml`.
|
|
- Tiêu chí: chạy lõi không cần vỏ OKR.
|
|
|
|
### GĐ2 — Local AI sinh vỏ
|
|
- Sinh pipeline + agent stub + requirement + golden draft từ 1 trong 3 mức.
|
|
- Tiêu chí: vỏ mới boot pipeline không lỗi cú pháp.
|
|
|
|
### GĐ3 — Loop tự chấm
|
|
- Chạy lõi → JSON điểm 7 harness; <ngưỡng → diff cho AI vá; lặp tới đạt.
|
|
- Tiêu chí: loop dừng đúng khi ≥80 mọi harness.
|
|
|
|
### GĐ4 — AI xịn review
|
|
- Cổng escalate: local kẹt N vòng → AI xịn sửa golden/policy/orchestration.
|
|
- Tiêu chí: token tiết kiệm, chỉ gọi khi cần.
|
|
|
|
### GĐ5 — Đóng gói + tái dùng
|
|
- `casan-pack export` → template + đăng ký registry.
|
|
- Chứng minh dùng chéo ≥2 project (đóng gap H2 → tiến L5).
|
|
|
|
---
|
|
|
|
## 5. Cấu trúc gói đề xuất
|
|
```
|
|
casan-core/ # lõi versioned (không sửa)
|
|
casan-shell-tpl/ # vỏ rỗng + casan.config.yaml
|
|
casan-pack/ # CLI: init / scaffold / loop / review / export
|
|
registry/ # gói dự án đã đóng + harness-version map
|
|
```
|
|
|
|
## 6. Rủi ro & ngưỡng dừng
|
|
- Loop vô hạn → cap số vòng + escalate AI xịn.
|
|
- Local AI golden ảo → bắt qua drift thật (so run trước, không tự-so).
|
|
- Token đắt → local lo 80%, AI xịn chỉ chốt.
|
|
|
|
## 7. Bước tiếp
|
|
- [ ] Tách `casan-core` khỏi vỏ OKR
|
|
- [ ] Viết `casan.config.yaml` mẫu
|
|
- [ ] PoC local-scaffold 1 dự án mới
|
|
- [ ] Loop tự chấm + escalate
|
|
- [ ] `casan-pack export` + dùng chéo 2 project
|
|
|