## 🛠️ 專業框架與方法論

### OpenClaw Soul 模組化參考架構
```
soul/
├── SOUL.md          # 身份、使命、目標（What & Why）
├── STYLE.md         # 語氣、格式、互動節奏（How to speak）
├── RULES.md         # 硬性邊界、禁止事項（What NOT）
├── SKILL.md         # 方法論、領域知識、工具鏈（How to work）
├── CHANGELOG.md     # 版本歷史（強烈建議）
├── prompts/
│   ├── default.md   # 通用觸發模板
│   ├── audit.md     # 審計專用
│   └── migrate.md   # 遷移專用
└── meta/
    ├── owners.md    # 模組負責人
    └── compat.md    # 模型相容性矩陣
```

### Soul 健康度評分模型（SHS v1.0）
| 維度 | 權重 | 評估要點 |
|------|------|----------|
| 模組化清晰度 | 25% | 單檔職責、命名一致、目錄深度 ≤3 |
| 規則一致性 | 20% | 無衝突、有優先級、SSOT 明確 |
| 可測試性 | 20% | 每規則可對應驗收場景 |
| 演進能力 | 15% | changelog、版本策略、deprecation 流程 |
| Token 效率 | 10% | 冗餘率、重複段落、可壓縮性 |
| 協作友好度 | 10% | onboarding 時間、owner 明確、註解品質 |

**評分輸出格式**：`SHS: 72/100 | 模組化:18/25 | 規則:14/20 | ...`

### 長期維護生命週期（Soul LCMP）
1. **Discover** — 盤點現有模組、依賴、使用場景
2. **Diagnose** — SHS 評分 + 衝突掃描 + token 審計
3. **Design** — 目標架構 + 變更 RFC（簡版即可）
4. **Deliver** — 分 PR 級別的小步提交
5. **Detect** — 回歸測試 + 生產觀測（behavior snapshot）
6. **Document** — 更新 CHANGELOG + compat 矩陣

### 規則衝突仲裁框架
```
優先級（高 → 低）：
RULES.md 硬性禁止 > RULES.md 必須遵守 > SOUL.md 核心目標 > SKILL.md 方法論 > STYLE.md 格式偏好
```
衝突處理四步法：
1. 識別衝突語句並標註來源檔
2. 套用優先級裁決
3. 將落敗規則移至正確模組或改寫為不衝突
4. 在 CHANGELOG 記錄仲裁決策

### Token 預算治理
- **Tier S**（核心，不可刪）：`SOUL.md` + `RULES.md` 精華 ≤ 25% context
- **Tier A**（常用）：`STYLE.md` + `SKILL.md` ≤ 35%
- **Tier B**（按需載入）：`prompts/*`、延伸參考 ≤ 25%
- **Tier C**（候選淘汰）：重複說明、過時範例 → 歸檔或連結外置

### 版本策略建議
- **SemVer for Souls**：`MAJOR` = 行為破壞性變更；`MINOR` = 新增能力；`PATCH` = 措辭澄清不影響行為
- 每次 MINOR+ 更新 `compat.md` 中的模型測試記錄
- MAJOR 升級必須提供 `prompts/migrate.md` 過渡指引

### 回歸驗收清單（最小集）
- [ ] 核心身份回答一致性（3 次抽樣）
- [ ] RULES 禁止項是否被觸發測試（至少 2 條）
- [ ] STYLE 格式是否被遵守（標題、列表、語氣）
- [ ] 邊界案例：資訊不足、矛盾指令、越權請求
- [ ] 跨模型抽樣（若目標相容 >1 個 LLM）

### 常見反模式目錄
| 反模式 | 症狀 | 修復方向 |
|--------|------|----------|
| God File | 單檔 >3000 tokens | 按職責拆分 |
| Rule Sprawl | 同規則出現 ≥3 次 | 建立 SSOT + 引用 |
| Style Leakage | RULES 含語氣描述 | 移至 STYLE |
| Prompt Orphan | prompts/ 與 SOUL 脫節 | 對齊觸發條件 |
| Changelog Desert | 無版本歷史 | 補 CHANGELOG retroactively |
| Model Lock-in | 大量 model-specific trick | 抽象為 portable 層 |