**变更概述:** - 将 MVP 架构设计文档独立到项目根目录 `mvp/` - 整理 `docs/` 为纯学习和分析文档目录 - 按类型分类:learning(学习)、analysis(分析)、reports(报告)、guides(指南) **目录结构:** ``` mvp/ # MVP 架构设计(独立) ├── README.md # 数据库设计总览 ├── architecture/ # 架构文档 │ ├── agent-architecture-mvp.md │ ├── implementation-plan.md │ └── ... └── tables/ # 数据表设计 docs/ # 学习和分析文档 ├── learning/ # 学习笔记(00-08 编号) ├── analysis/ # 分析笔记 + 重构计划 ├── reports/ # 临时报告 └── guides/ # 指南文档 ``` **详细变更:** - docs/README.md → mvp/README.md(数据库设计入口) - docs/architecture/ → mvp/architecture/(架构设计) - docs/tables/ → mvp/tables/(数据表设计) - docs/学习笔记-*.md → docs/learning/07-*.md, 08-*.md - docs/项目学习路径.md → docs/learning/00-*.md - docs/功能分析报告.md → docs/analysis/ - docs/修复报告-*.md → docs/reports/ - docs/日志配置*.md → docs/guides/ 或 docs/reports/ - docs/design/ → docs/analysis/(问题分析和重构计划)
4.6 KiB
4.6 KiB
Phase 1 OpenSpec 格式修正总结
日期: 2026-06-23
分支: emdash/mvp-waq54
任务: 修正 OpenSpec 格式以符合标准规范
修正内容
1. tasks.md 格式重构 ✅
问题: 原 tasks.md 是详细的 Markdown 文档(401 行),包含标题、粗体、嵌套、描述、验收标准等。
标准要求: 纯任务列表格式,使用 checkbox (- [ ]) 以便 OpenSpec CLI 跟踪进度。
修正操作:
- 将详细任务描述简化为简洁的 checkbox 列表
- 保留任务分组结构(## 1-6 编号分组)
- 标记已完成任务为
[x](Task 1.1-1.5) - 从 401 行压缩到 52 行
修正后结构:
## 1. 数据库与依赖
- [x] 1.1 添加依赖到 pom.xml
- [x] 1.2-1.5 Flyway 迁移脚本与配置
## 2. JPA 实体与 Repository
- [ ] 2.1-2.9 实体类、Repository、单元测试
## 3. 会话管理
- [ ] 3.1-3.6 SessionManager、RedisSessionManager、测试
## 4. 代码结构重构
- [ ] 4.1-4.3 包名重构、分层优化、DTO 抽离
## 5. 文档管理服务
- [ ] 5.1-5.7 文本提取、上传、查询、删除、检索、集成测试
## 6. 全局完善
- [ ] 6.1-6.3 异常处理、Docker Compose、README 更新
2. 文件结构验证 ✅
检查项目:
- ✅ proposal.md - 符合标准(问题、方案、范围、风险、成功标准)
- ✅ design.md - 符合标准(架构设计、技术决策)
- ✅ specs/functional-specs.md - 符合标准(功能规格、接口规格、性能规格)
- ✅ decisions.md - 符合标准(Grill 阶段澄清记录、Evidence-Driven 查证)
- ✅ .commit - 正常(内容为 "COMMITTED",表示已提交)
结论: proposal.md 和 design.md 不需要合并,OpenSpec spec-driven 模式支持独立的 proposal 和 design 文件。
3. OpenSpec 状态验证 ✅
CLI 验证结果:
$ openspec status --change "phase-1-infrastructure"
Change: phase-1-infrastructure
Schema: spec-driven
Progress: 4/4 artifacts complete
[x] proposal
[x] design
[x] specs
[x] tasks
All artifacts complete!
Apply 状态:
{
"state": "ready",
"instruction": "Read context files, work through pending tasks, mark complete as you go."
}
验证清单
- tasks.md 使用标准 checkbox 格式
- proposal.md 保持独立(无需合并)
- design.md 保持独立(无需合并)
- specs/ 目录结构正确
- decisions.md 格式正确
- .commit 文件存在且有效
- OpenSpec CLI 识别为 "complete"
- Apply 状态为 "ready"
下一步行动
继续实施 Phase 1
现在可以使用 /opsx:apply 或调用 openspec-apply-change 技能继续执行剩余任务:
待完成任务 (26 个):
- Task 2.1-2.9: JPA 实体与 Repository(9 个任务)
- Task 3.1-3.6: 会话管理(6 个任务)
- Task 4.1-4.3: 代码结构重构(3 个任务)
- Task 5.1-5.7: 文档管理服务(7 个任务)
- Task 6.1-6.3: 全局完善(3 个任务)
已完成任务 (5 个):
- Task 1.1: 添加依赖到 pom.xml ✅
- Task 1.2: Flyway 迁移脚本 V001 ✅
- Task 1.3: Flyway 迁移脚本 V002 ✅
- Task 1.4: Flyway 迁移脚本 V003 ✅
- Task 1.5: 配置 MySQL + Redis + Flyway ✅
关键路径:
Task 2.1-2.3 (实体类)
→ Task 2.4-2.6 (Repository)
→ Task 4.1 (包名重构)
→ Task 5.1-5.3 (文档上传)
→ Task 5.6 (混合检索)
文件变更
修改文件:
openspec/changes/phase-1-infrastructure/tasks.md(401 行 → 52 行)
新增文件:
.docs/phase1-openspec-fix-summary.md(本文件)
未修改文件:
openspec/changes/phase-1-infrastructure/proposal.mdopenspec/changes/phase-1-infrastructure/design.mdopenspec/changes/phase-1-infrastructure/specs/functional-specs.mdopenspec/changes/phase-1-infrastructure/decisions.mdopenspec/changes/phase-1-infrastructure/.commit
参考文档
- OpenSpec 标准格式参考:
.claude/skills/openspec-propose/SKILL.md - Apply 阶段指导:
.claude/skills/openspec-apply-change/SKILL.md - Handoff 文档:
handoff/2026-06-23-phase1-openspec-fix.md - 实施计划:
docs/architecture/implementation-detail.md
备注
- 格式修正完成: OpenSpec 现在符合标准规范,可以被 CLI 正确解析和跟踪
- 无需合并文件: spec-driven 模式本身就支持独立的 proposal/design/specs/tasks 文件
- 内容完整保留: 所有任务内容都已转换为简洁的 checkbox 格式,详细信息可在 design.md 和 specs/ 中查看
- 可继续实施: 修正后的 OpenSpec 可直接用于
openspec-apply-change技能继续实施