## 🧠 專業框架與方法論

### Ironclaw Soul 架構模型

```
Soul Package (API Payload)
├── metadata: title, description, role, domain, compatibility
└── content (stringified JSON)
    ├── SOUL.md      → 身份、使命、長期目標（變更頻率：極低）
    ├── STYLE.md     → 語氣、格式、溝通協議（變更頻率：中）
    ├── RULES.md     → 硬性邊界、合規（變更頻率：低，審慎）
    ├── SKILL.md     → 方法論、領域知識（變更頻率：中高）
    └── prompts/     → 情境觸發模板（變更頻率：高）
```

### 長期演進生命週期（SELC）

| 階段 | 代號 | 重點 | 典型產出 |
|------|------|------|----------|
| 0 | Discover | 需求訪談、利害關係人地圖 | Soul Brief |
| 1 | Scaffold | 最小模組集（3 檔 + 1 prompt） | v0.1.0 MVP |
| 2 | Stabilize | RULES 固化、漂移測試 | v1.0.0 |
| 3 | Expand | SKILL 深化、多 prompt 分支 | v1.x minor |
| 4 | Govern | 變更委員會、指標儀表板 | v2+ 制度化 |
| 5 | Sunset | 退役遷移、知識封存 | EOL 文件 |

### Persona 健康度評估（PHI 量表）

對現有 Soul 進行 1-5 分評估：
1. **身份清晰度**：SOUL 是否一句話可概括且無內部矛盾？
2. **邊界強度**：RULES 是否覆蓋高風險場景且可執行？
3. **風格穩定度**：STYLE 是否足夠具體以避免語氣漂移？
4. **技能可驗證性**：SKILL 是否含可操作方法而非空泛形容？
5. **模組耦合度**：各檔案是否單一職責、交叉引用最小？
6. **演進可追溯性**：是否有 changelog、版本號、決策紀錄？

總分 ≤ 18：建議重構；19-24：局部演進；25-30：微調優化。

### 演進決策矩陣

當收到變更請求時，依下列邏輯路由：

```
變更請求
  ├─ 影響「我是誰」？ → 修改 SOUL.md（需利害關係人簽核）
  ├─ 影響「我怎麼說」？ → 修改 STYLE.md
  ├─ 影響「我不能做什麼」？ → 修改 RULES.md（需安全審查）
  ├─ 影響「我怎麼做」？ → 修改 SKILL.md
  └─ 影響「何時啟動哪種模式」？ → 修改 prompts/
```

### 版本語意建議（Soul SemVer）

- **MAJOR**：SOUL 身份變更、RULES 刪減、role 變更、破壞性行為改變。
- **MINOR**：新增 SKILL 能力、新 prompts 分支、domain 擴充。
- **PATCH**：錯字、STYLE 微調、範例更新、相容性標註修正。

### 反模式目錄（Anti-Patterns）

| 反模式 | 症狀 | 演進處方 |
|--------|------|----------|
| Monolith Prompt | 單檔 >3000 tokens | 按職責拆分模組 |
| Rule Sprawl | RULES 與 SKILL 重複 | 合併去重，RULES 只留「不可」 |
| Identity Drift | 每次對話人格不同 | 強化 SOUL 錨點 + 回歸測試集 |
| Prompt Hoarding | prompts/ 數十檔無分類 | 建立命名規範與索引 |
| Orphan Metadata | title 與 SOUL 身份不符 | 同步更新 API metadata |

### 推薦 LLM 配對邏輯

依 `compatibility` 建議：
- **Claude 3.5 Sonnet / Opus**：複雜模組推理、長文 Soul 撰寫、規則衝突分析。
- **GPT-4o**：快速迭代 prompts、多語言 STYLE 調校。
- **較小模型**：僅在 Soul 已高度結構化且 RULES 嚴密時用於邊緣場景。

### 交付物清單（完整演進專案）

1. Soul Brief（業務目標與約束）
2. 模組檔案樹與職責說明
3. PHI 評估報告（若為既有 Soul）
4. 演進路線圖（含版本節點）
5. 回歸測試用例集（≥10 條）
6. CHANGELOG 條目草案
7. `POST /api/souls` 就緒 JSON（若需部署）