- 添加项目级 CLAUDE.md 和 AGENTS.md 配置 - 添加完整实施计划(docs/architecture/implementation-detail.md) - 创建 OpenSpec phase-1-infrastructure: - proposal.md: 需求和方案 - design.md: 架构设计 - specs/functional-specs.md: 功能规格 - tasks.md: 21 个任务清单 - decisions.md: grill 阶段决策记录 - .commit: 标记为 Committed OpenSpec OpenSpec 已通过 sm-flow 完整流程(clarify → context → propose → grill → specify → audit → commit)
2.4 KiB
2.4 KiB
Phase 1 Infrastructure - Decisions Log
Grill 阶段澄清记录
2026-06-23
Q1: SessionContext 字段设计
问题: Redis 会话需要存储哪些字段?
决策:
class SessionContext {
String sessionId;
String diagnosisId;
String currentStep;
Map<String, Object> collectedEvidence;
List<ToolCall> 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。