# 技术设计完整调研流程

## 目标
进行全面调研和分析，确保技术设计基于完整、准确和最新的信息。

## 调研步骤

### 1. 需求分析
**将需求映射到技术需求**
- 从EARS格式中提取所有功能需求
- 识别非功能需求（性能、安全、可扩展性）
- 确定技术约束和依赖项
- 列出核心技术挑战

### 2. 现有实施分析
**理解当前系统**（如果修改/扩展）：
- 分析代码库结构和架构模式
- 映射可重用组件、服务、实用程序
- 识别领域边界和数据流
- 记录集成点和依赖项
- 确定方法：扩展、重构或封装

### 3. 技术调研
**调查最佳实践和解决方案**：
- **使用WebSearch**查找：
  - 针对同类问题的最新架构模式
  - 对应技术栈的行业最佳实践
  - 相关技术的近期更新或变更
  - 常见问题及解决方案

- **使用WebFetch**分析：
  - 框架/库的官方文档
  - API参考手册及使用示例
  - 迁移指南及破坏性变更说明
  - 性能基准测试及对比数据

### 4. 外部依赖项调查
**对于每个外部服务/库**：
- 搜索官方文档和GitHub仓库
- 验证API签名和认证方式
- 检查与现有技术栈的版本兼容性
- 调查速率限制和使用约束
- 查找社区资源和已知问题
- 记录安全考虑
- 标注需深入研究实现方案的空白点

### 5. 架构模式和边界分析
**评估架构选项**：
- 对比相关架构模式（MVC, Clean, Hexagonal, Event-driven）
- 评估与现有架构和steering原则的契合度
- 识别领域边界和所有权接缝，以避免团队冲突
- 考虑可扩展性影响和运营关注点
- 评估可维护性和团队专业知识
- 在 `research.md` 中记录首选模式和拒绝的替代方案

### 6. 风险评估
**识别技术风险**：
- 性能瓶颈和扩展上限
- 安全漏洞和攻击向量
- 集成复杂度和耦合程度
- 技术债务的产生与解决平衡
- 知识空白点及培训需求

## 调研指南

### 何时搜索
**以下情况必须检索**：
- 外部API文档和更新
- 认证/授权的安全最佳实践
- 已识别瓶颈的性能优化技术
- 依赖项的最新版本和迁移路径

**以下情况若存疑需检索**：
- 特定用例的架构模式
- 数据格式/协议的行业标准
- 合规要求（GDPR、HIPAA等）
- 预期负载的可扩展性方法

### 搜索策略
1. 从官方来源开始（documentation、GitHub）
2. 查看近期博客文章及技术文档（最近6个月）
3. 检索Stack Overflow的常见问题
4. 研究类似的开源实施

## 输出要求
使用共享模板在 `research.md` 中捕获影响设计决策的所有发现：
- 影响架构、技术对齐和协议的关键见解
- 调研期间发现的约束
- 推荐方法和选定的架构模式及理由
- 拒绝的替代方案和权衡（在设计决策章节中记录）
- 告知组件和接口协议的更新领域边界
- 风险点及缓解策略
- 实现阶段需进一步调研的空白点