# 文檔一致性檢查清單

## 檢查目的
確保Drama Ling專案中所有文檔在功能規格、技術架構、UI設計、商業邏輯等方面保持一致，避免開發過程中的衝突和混淆。

## 📋 一致性檢查清單

### 1. 功能規格一致性

#### 1.1 模組架構一致性
- [ ] requirements.md中的4大模組 ↔ system_structure_design.json中的modules
- [ ] 模組功能描述是否一致
- [ ] 介面數量統計是否匹配（ENT:15, CORE:23, TASK:38, BIZ:12）

**檢查項目：**
```bash
# 檢查模組定義
grep "### [0-9]\." docs/01_requirement/requirements.md
grep "module_name" docs/01_requirement/system_structure_design.json
```

#### 1.2 功能特性對照
- [ ] requirements.md中提到的功能 ↔ system_structure_design.json中的features
- [ ] 功能描述和目標是否一致
- [ ] 資料綁定是否合理

#### 1.3 UI流程一致性
- [ ] requirements.md功能 ↔ user-flow-specification.md流程
- [ ] system_structure_design.json中的view_ids ↔ user flow中引用的UI
- [ ] 導航邏輯是否匹配

### 2. 技術架構一致性

#### 2.1 技術選型對照
- [ ] tech-stack-decision.md ↔ database-schema.md技術選擇
- [ ] tech-stack-decision.md ↔ api-specifications.md技術實現
- [ ] tech-stack-decision.md ↔ third-party-integration-specification.md整合方案

#### 2.2 資料架構一致性
- [ ] system_structure_design.json中的data_binding ↔ database-schema.md表結構
- [ ] API規格中的資料模型 ↔ 資料庫設計
- [ ] 第三方整合的資料流 ↔ 資料庫欄位

#### 2.3 API設計一致性
- [ ] user-flow-specification.md流程 ↔ api-specifications.md端點
- [ ] business-logic-rules.md規則 ↔ API業務邏輯
- [ ] 第三方API ↔ 內部API設計

### 3. UI/UX設計一致性

#### 3.1 介面規格對照
- [ ] system_structure_design.json中的UI ↔ ui-ux-guidelines.md設計規範
- [ ] user-flow-specification.md流程 ↔ 實際UI設計檔案
- [ ] ui-design-tasks.md任務 ↔ 現有UI檔案

#### 3.2 互動設計一致性
- [ ] user flow中的互動邏輯 ↔ UI components的互動設計
- [ ] navigation_view_id ↔ 實際導航邏輯
- [ ] 遊戲化元素 ↔ gamification-mechanics.md

### 4. 商業邏輯一致性

#### 4.1 營收模式對照
- [ ] requirements.md營收模式 ↔ business-logic-rules.md商業規則
- [ ] 鑽石貨幣系統 ↔ 第三方支付整合
- [ ] 訂閱模式 ↔ 用戶權限管理

#### 4.2 遊戲機制一致性
- [ ] requirements.md遊戲化機制 ↔ gamification-mechanics.md詳細規則
- [ ] user flow中的遊戲邏輯 ↔ 資料庫設計
- [ ] AI演算法需求 ↔ ai-algorithm-specs.md

### 5. 開發計劃一致性

#### 5.1 功能優先級
- [ ] requirements.md功能重要性 ↔ 各文檔中的實作優先級
- [ ] MVP定義 ↔ 技術實作複雜度
- [ ] 時程安排 ↔ 資源分配

#### 5.2 相依關係
- [ ] 功能間的相依關係是否一致
- [ ] 技術實作的前置需求
- [ ] 第三方整合的時程安排

## 🔍 檢查方法建議

### 自動化檢查工具

#### 1. 關鍵詞對照檢查
```bash
# 創建關鍵詞檢查腳本
#!/bin/bash

# 檢查UI名稱一致性
echo "=== UI名稱一致性檢查 ==="
grep -o "UI_[A-Za-z_]*" docs/01_requirement/system_structure_design.json | sort | uniq > /tmp/system_uis.txt
grep -o "UI_[A-Za-z_]*" docs/04_technical/user-flow-specification.md | sort | uniq > /tmp/flow_uis.txt
diff /tmp/system_uis.txt /tmp/flow_uis.txt

# 檢查模組ID一致性
echo "=== 模組ID一致性檢查 ==="
grep -o "MD_[A-Za-z_]*" docs/01_requirement/system_structure_design.json | sort | uniq
```

#### 2. 數量統計檢查
```bash
# 介面數量統計
echo "=== 介面數量統計 ==="
echo "Requirements.md宣告的介面數："
grep -o "([A-Z]* - [0-9]*.個介面)" docs/01_requirement/requirements.md

echo "System design實際UI數："
grep -c "view_id" docs/01_requirement/system_structure_design.json
```

#### 3. 交叉引用檢查
```bash
# 檢查未被引用的UI
echo "=== 未被引用的UI檢查 ==="
# 比較system design中定義的UI與user flow中實際使用的UI
```

### 手動檢查清單

#### 1. 商業邏輯對照表
| 功能 | requirements.md | business-logic-rules.md | system_structure_design.json | 狀態 |
|------|-----------------|--------------------------|-------------------------------|------|
| 鑽石購買系統 | ✓ | ✓ | ✓ | 一致 |
| 生命值系統 | ✓ | ? | ✓ | 待檢查 |
| 限時挑戰 | ✓ | ? | ✓ | 待檢查 |

#### 2. 技術選型對照表
| 技術領域 | tech-stack-decision.md | database-schema.md | api-specifications.md | 狀態 |
|----------|------------------------|--------------------|-----------------------|------|
| 資料庫 | PostgreSQL | PostgreSQL | PostgreSQL | 一致 |
| 後端框架 | .NET Core | - | .NET Core | 一致 |
| 前端框架 | Flutter | - | - | 一致 |

#### 3. UI流程對照表
| 功能流程 | requirements.md | user-flow-specification.md | system_structure_design.json | 狀態 |
|----------|-----------------|----------------------------|-------------------------------|------|
| 用戶引導 | 7步驟流程 | ✓ 完整流程 | ✓ 7個UI | 一致 |
| 對話系統 | 9個介面 | ✓ 完整流程 | ✓ 對應UI | 一致 |

## 📊 一致性檢查報告模板

### 檢查結果總覽
- **功能規格一致性**: ✅ 通過 / ⚠️ 部分問題 / ❌ 嚴重不一致
- **技術架構一致性**: ✅ 通過 / ⚠️ 部分問題 / ❌ 嚴重不一致  
- **UI/UX設計一致性**: ✅ 通過 / ⚠️ 部分問題 / ❌ 嚴重不一致
- **商業邏輯一致性**: ✅ 通過 / ⚠️ 部分問題 / ❌ 嚴重不一致
- **開發計劃一致性**: ✅ 通過 / ⚠️ 部分問題 / ❌ 嚴重不一致

### 發現的問題清單
1. **問題描述**: [具體描述不一致之處]
   - **影響程度**: 高/中/低
   - **涉及文檔**: [列出相關文檔]
   - **建議解決方案**: [具體修正建議]

### 修正優先級建議
1. **高優先級**: 影響開發進度的關鍵不一致
2. **中優先級**: 可能造成混淆的不一致
3. **低優先級**: 文檔表達方式的不一致

## 🔄 定期檢查建議

### 檢查頻率
- **文檔更新後**: 立即進行相關部分的一致性檢查
- **每週檢查**: 快速掃描關鍵不一致點
- **階段性檢查**: 開發里程碑前的全面一致性檢查
- **上線前檢查**: 最終的全面文檔一致性驗證

### 檢查責任分工
- **需求分析師**: 功能規格一致性
- **系統架構師**: 技術架構一致性  
- **UI/UX設計師**: 介面設計一致性
- **產品經理**: 商業邏輯一致性
- **項目經理**: 開發計劃一致性