Files
zhuyongxin 3f15778b28 docs: 添加 Phase 1 完整实施计划和 OpenSpec
- 添加项目级 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)
2026-06-23 10:58:11 +08:00

2.4 KiB
Raw Permalink Blame History

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。