# Phase 1 Infrastructure - Decisions Log ## Grill 阶段澄清记录 ### 2026-06-23 #### Q1: SessionContext 字段设计 **问题**: Redis 会话需要存储哪些字段? **决策**: ```java class SessionContext { String sessionId; String diagnosisId; String currentStep; Map collectedEvidence; List toolCallHistory; String intentType; // 预留 Phase 2 意图识别 LocalDateTime createdAt; LocalDateTime lastAccessAt; } ``` **理由**: - 支持多轮对话恢复上下文 - intentType 预留 Phase 2,避免后续修改结构 - tool_calls 同时存 Redis(临时)和 MySQL(持久) **用户确认**: 已确认 --- #### Q2: 包名重构策略 **问题**: org.example → com.superbiz.agent 是否需要兼容层? **决策**: 直接全量替换,不保留兼容层 **理由**: - 内部项目,无外部依赖者 - 兼容层增加复杂度 - MVP 阶段保持简单 **用户确认**: 已确认 --- #### Q3: Redis 降级策略 **问题**: Redis 故障时如何处理? **决策**: Phase 1 不做降级,Redis 故障直接失败 **理由**: - MVP 优先跑通核心流程 - 降级策略增加复杂度 - 单元测试可用内存 Mock **备选方案** (Phase 2/3): - 自动降级到内存实现 - 返回友好错误提示 **用户确认**: 已确认(先跑通 MVP) --- ## Evidence-Driven 查证结果 ### 诊断记录 vs 案例的边界 **查证文件**: docs/tables/diagnosis_record.md, docs/tables/case_library.md **结论**: - 诊断记录:每次诊断都记录 - 案例:从诊断记录中筛选(成功诊断 + 用户反馈 useful) - 转换触发:diagnosis_record.feedback = 'useful' + confidence >= 80 **状态**: 已查证,边界清晰 --- ### 文档范围 **查证文件**: docs/tables/api_document.md **结论**: - Phase 1: 只处理接口文档(API 文档、错误码说明) - Phase 2/3: 可扩展为其他类型(运维手册、FAQ) **状态**: 已查证,范围明确 --- ### 单元测试覆盖率标准 **查证文件**: docs/architecture/implementation-detail.md **结论**: - 目标:行覆盖率 70%+ - Repository: 100% - Service: 80%+ - Tool: 80%+ - Controller: 70%+ **状态**: 已查证,标准明确 --- ## 待写入 CONTEXT.md 的术语 无新增术语。现有术语已在 docs/ 中定义清楚。 --- ## 待创建 ADR 无。Phase 1 都是标准技术选型,无需 ADR。