# Quality Gates > 本文档定义 CCW Skills 各阶段的质量门禁标准和评分规则。 ## 概述 质量门禁确保每个阶段完成前达到最低质量标准。门禁标准涵盖内容完整性、格式规范性、可执行性等方面。 ## 质量门禁矩阵 ### Phase 1: Discovery | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 输出文件存在 | `discovery-context.json` | 20% | 文件存在且格式正确 | | 代码库覆盖 | 至少扫描 3 个目录 | 20% | 扫描目录 ≥ 3 | | 关键发现 | 识别关键模式/问题 | 30% | 发现项 ≥ 5 | | 技术栈识别 | 正确识别语言/框架 | 15% | 识别准确 | | 可执行性 | 下一步可基于发现执行 | 15% | 可行动建议 ≥ 3 | **最低通过分数**: 70/100 --- ### Phase 2: Product Brief | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 输出文件存在 | `product-brief.md` | 15% | 文件存在 | | 问题陈述清晰度 | Pain Point 明确 | 20% | 至少 3 个 Pain Point | | 目标用户定义 | Target Audience 具体 | 15% | 用户画像清晰 | | MoSCoW 分析 | 优先级分类完整 | 20% | Must/Should/Could 完整 | | 可行性评估 | 技术可行性讨论 | 15% | 评估合理 | | 格式规范 | 符合模板格式 | 15% | 符合模板 | **最低通过分数**: 75/100 --- ### Phase 3: Requirements (PRD) | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 输出文件存在 | `requirements/` 目录 | 10% | 目录结构完整 | | 索引文件 | `_index.md` 完整 | 15% | 包含摘要、MoSCoW、追溯 | | 功能需求 | `REQ-*.md` 数量 | 20% | 需求 ≥ 3 个 | | 需求完整性 | Who/What/Why/How | 20% | 所有字段完整 | | 非功能需求 | `NFR-*.md` 数量 | 15% | 至少 1 个 | | 追溯性 | 从 Brief 到需求的链接 | 10% | 链接有效 | | 格式规范 | 符合模板格式 | 10% | 符合模板 | **最低通过分数**: 75/100 --- ### Phase 4: Architecture | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 输出文件存在 | `architecture/` 目录 | 10% | 目录结构完整 | | 索引文件 | `_index.md` 完整 | 15% | 包含组件、技术栈 | | ADR 数量 | `ADR-*.md` 数量 | 20% | 决策记录 ≥ 2 | | 决策质量 | Context/Decision/Consequence | 20% | 结构完整 | | 技术栈选择 | 有理由支持 | 15% | 评估合理 | | 追溯性 | 从 PRD 到架构的链接 | 10% | 链接有效 | | 格式规范 | 符合模板格式 | 10% | 符合模板 | **最低通过分数**: 75/100 --- ### Phase 5: Epics | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 输出文件存在 | `epics/` 目录 | 10% | 目录结构完整 | | 索引文件 | `_index.md` 完整 | 15% | 包含 Epic 表、依赖图 | | Epic 数量 | `EPIC-*.md` 数量 | 20% | Epic ≥ 2 | | Story 质量 | User Story 格式 | 20% | 作为...我想要...以便... | | 依赖关系 | Epic 间依赖清晰 | 15% | 依赖图或说明 | | MVP 范围 | MVP 定义明确 | 10% | MVP Epic 标记 | | 追溯性 | 从架构到 Epic 的链接 | 10% | 链接有效 | **最低通过分数**: 75/100 --- ### Phase 6: Readiness Check | 检查项 | 标准 | 权重 | 通过条件 | |--------|------|------|----------| | 就绪报告 | `readiness-report.md` | 30% | 文件存在且完整 | | 摘要文档 | `spec-summary.md` | 20% | 一页摘要 | | 质量评分 | 所有阶段通过 | 30% | 所有阶段 ≥ 最低分 | | 移交选项 | Handoff 选项清晰 | 10% | 选项明确 | | 格式规范 | 符合模板格式 | 10% | 符合模板 | **最低通过分数**: 80/100 --- ## 质量评分计算 ### 自动检查项 ```bash # 文件存在性 if [ -f "$expected_file" ]; then score=$((score + weight)); fi # 格式验证 if markdownlint "$file"; then score=$((score + weight)); fi # 链接有效性 if check-links "$file"; then score=$((score + weight)); fi ``` ### 手动评审项 - 内容质量 - 逻辑连贯性 - 可执行性 - 实用性 ### 综合评分 ``` 最终得分 = 自动检查得分 × 60% + 手动评审得分 × 40% ``` ## 质量等级 | 等级 | 分数范围 | 描述 | |------|----------|------| | **A - 优秀** | 90-100 | 超出标准,可直接移交 | | **B - 良好** | 80-89 | 满足标准,可移交 | | **C - 及格** | 70-79 | 基本达标,需要改进 | | **D - 不及格** | < 70 | 未达标,需要返工 | ## 不合格处理 ### 返工流程 1. **识别问题**: 在就绪报告中列出不合格项 2. **修复**: 返回对应阶段进行修复 3. **重新评估**: 重新执行质量检查 4. **记录**: 记录修复过程和结果 ### 豁免条件 - 探索性项目(POC) - 时间受限的快速原型 - 明确标注为"草稿"的输出 ## 参考 - [Document Standards](document-standards.md) - [Quality Standards](quality-standards.md)