# 遗留问题分析 - agent4

**评审人**: agent4 (pm-agent架构师)
**日期**: 2026-02-22
**评审范围**: pm-agent数据存储遗留问题

---

## 遗留问题分析

### 问题1: Setting表 - 遗留表

| 项目 | 内容 |
|------|------|
| 现象 | 定义了`Setting`表(database.py:172-181)，但无任何服务使用 |
| 代码引用 | 仅在database.py定义，无其他引用 |
| 分析 | **遗留表** - 定义但未使用 |
| 建议 | 从代码中删除，或确认是否规划中后从文档移除 |

---

### 问题2: 数据模型与需求文档不一致

| 需求文档(v1.2.0) | 实际代码 | 状态 |
|-----------------|----------|------|
| requirements表 | ❌ 不存在 | 需要确认 |
| todos表 | ❌ 不存在 | 需要确认 |
| bugs表 | ✅ 存在 | ✅ 一致 |
| proposals表 | ✅ 存在 | ⚠️ 需求未提及 |

**分析**: 需求文档(第284-287行)提到需要存储requirements表和todos表，但实际代码直接从oc-collab CLI实时获取，不存储在本地数据库。

**设计选择 vs 遗漏**:
- 方案A(实时查询): 每次从oc-collab CLI获取，不本地存储，数据更实时
- 方案B(本地存储): 需额外维护同步逻辑，数据可离线查看

当前实现是方案A，需确认是否符合产品预期。

---

### 问题3: operation_logs表

| 项目 | 内容 |
|------|------|
| 现象 | OperationLog表存在且被customer_service和project_service使用 |
| 需求文档 | 未明确提及，但有"操作日志可追溯"需求 |
| 分析 | **正常使用中** - 符合需求 |
| 建议 | 保留，更新需求文档补充说明 |

---

### 问题4: 核心表使用情况

| 表 | 状态 | 需求文档 | 分析 |
|---|------|----------|------|
| customers | ✅ 核心 | ✅ 提及 | 正常 |
| projects | ✅ 核心 | ✅ 提及 | 正常 |
| bugs | ✅ 核心 | ✅ 提及 | 正常 |
| proposals | ✅ 核心 | ❌ 未提及 | 需求遗漏 |
| materials | ✅ 核心 | ✅ 隐含 | 正常 |
| processing_logs | ✅ 使用中 | ✅ 提及 | 正常 |
| operation_logs | ✅ 使用中 | ❌ 未明确 | 需求遗漏 |
| settings | ❌ 未使用 | ❌ 无 | 遗留表 |
| project_sync_status | ✅ v1.2新增 | ✅ 隐含 | 正常 |
| sync_logs | ✅ v1.2新增 | ✅ 隐含 | 正常 |
| change_history | ✅ v1.2新增 | ✅ 隐含 | 正常 |

---

## 建议行动路线

### 立即行动

1. **删除Setting表** - 定义但未使用，属于遗留代码

### 需确认(产品决策)

2. **requirements/todos存储策略** - 当前实时从oc-collab获取，需确认是否需要本地存储
   - 如需本地存储: 需新增表+同步逻辑
   - 如不需要: 更新需求文档说明

### 文档更新

3. **需求文档补充**:
   - proposals表使用说明
   - operation_logs表使用说明
   - requirements/todos存储策略说明

---

## 与需求文档的一致性

| 维度 | 状态 |
|------|------|
| 功能实现 | ✅ 基本符合v1.2.0需求 |
| 数据模型 | ⚠️ proposals/operation_logs未在需求文档明确 |
| 存储策略 | ⚠️ requirements/todos需确认设计选择 |

---

*评审人: agent4*
*日期: 2026-02-22*
