feat: 安徽运八需求全流水线输出同步 + 知识库/agents/资源文件更新
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Agentic QE Fleet
|
||||
# Agentic QE Fleet(混合流水线 v3.0)
|
||||
|
||||
当用户在 Codex CLI 中输入以下任一意图时,必须按一条端到端流水线自动执行,不要把中间命令再抛给用户手动运行:
|
||||
|
||||
@@ -14,111 +14,94 @@
|
||||
- "基于某个需求文档生成测试分析、测试点、测试用例"
|
||||
- "导出测试用例 Excel"
|
||||
|
||||
## 架构概述
|
||||
|
||||
本流水线采用**混合架构**:
|
||||
|
||||
- **Python 脚本(fleet_runner.py)**: 确定性工作——文档解析、知识激活、需求分析、冲突检测、风险矩阵、测试策略模板、测试数据模板、Playwright/Appium 脚本骨架、附加文件检测、多源注册表、清单管理
|
||||
- **Claude Code Agent(SKILL.md)**: 生成式 AI 工作——测试点设计、测试用例编写、用例评审、覆盖率审计、质量裁决
|
||||
|
||||
## /qe-fleet run 自动执行规则
|
||||
|
||||
当用户输入 `/qe-fleet run <需求文档>` 时,必须立即完成以下动作:
|
||||
当用户输入 `/qe-fleet run <需求文档>` 时,按以下 6 个阶段自动执行:
|
||||
|
||||
1. 解析目标需求文档路径,提取 `BASE_NAME`
|
||||
2. 自动执行:
|
||||
### Phase 1: SCAFFOLD — Python 脚手架生成
|
||||
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py run --requirement <需求文档路径>
|
||||
python scripts/fleet_runner.py run --scaffold-only --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
3. fleet_runner.py 自动按战区顺序编排 17 个专业 Agent:
|
||||
产出 manifest(含 `pending_ai` 标记)+ 模板 + 脚本骨架 + 附加文件检测 + 多源注册表。
|
||||
|
||||
**PREPARE 战区 (2 Agent):**
|
||||
- document-parser: 文档解析标准化
|
||||
- knowledge-activator: 知识激活
|
||||
### Phase 2: GATE-CHECK — 确认门禁
|
||||
|
||||
**ANALYZE 战区 (3 Agent):**
|
||||
- requirement-analyzer: 需求分析
|
||||
- conflict-detector: 冲突检测
|
||||
- risk-assessor: 风险评估
|
||||
读取 `output/manifests/{BASE_NAME}_analyze.json`。若 `confirmation_gate.required=true` 且 `decision_status` 不是 `confirmed` 或 `not_required`:
|
||||
- 🛑 阻断,告知确认单路径和阻断原因,不得继续
|
||||
|
||||
**DESIGN 战区 (4 Agent):**
|
||||
- test-strategist: 测试策略
|
||||
- testpoint-designer: 测试点设计
|
||||
- case-designer: 用例设计
|
||||
- data-builder: 测试数据构造
|
||||
### Phase 3: AI-DESIGN — AI Agent 生成设计产物
|
||||
|
||||
**EXECUTE 战区 (3 Agent):**
|
||||
- web-executor: PC Web Playwright 自动化执行 + 截图
|
||||
- mobile-executor: 移动端 Appium 自动化执行 + 截图
|
||||
- result-reporter: AI 视觉对比 + 测试结论报告
|
||||
**并行**: data-builder + testpoint-designer → **串行**: case-designer
|
||||
|
||||
**REVIEW 战区 (3 Agent):**
|
||||
- case-reviewer: 用例评审
|
||||
- coverage-auditor: 覆盖率审计
|
||||
- quality-gatekeeper: 质量门禁裁决
|
||||
每个 Agent 使用 Claude Code Agent 工具调用,以 `agents/` 目录下的 prompt 文件为指令。若目标文件已存在且 >500 字符则跳过。
|
||||
|
||||
**MONITOR 战区 (2 Agent):**
|
||||
- execution-analyst: 执行结果分析
|
||||
- knowledge-curator: 知识沉淀
|
||||
### Phase 4: AI-REVIEW — AI Agent 评审
|
||||
|
||||
4. 若 manifest 中 `confirmation_gate.required=true` 且 `decision_status` 不是 `confirmed`:
|
||||
- 不要继续执行后续战区
|
||||
- 直接告诉用户当前卡在"人工确认"阶段
|
||||
- 告知关联与冲突文件路径与 `suggested_decision_file`
|
||||
- 明确说明:确认单需要写出 `确认状态:已确认` 后才能继续
|
||||
**并行**: case-reviewer + coverage-auditor → **串行**: quality-gatekeeper
|
||||
|
||||
5. 若确认门禁已通过,继续执行后续战区
|
||||
### Phase 5: VERDICT — 裁决 + 导出
|
||||
|
||||
6. 质量裁决通过 (PASS/PASS_WITH_FIX) 后自动执行 Excel 导出
|
||||
- PASS/PASS_WITH_FIX → `python scripts/fleet_runner.py export --requirement <需求文档路径>`
|
||||
- BLOCKED → 🛑 告知阻断原因,不导出
|
||||
|
||||
7. 最终回复时直接告诉用户:
|
||||
- 各战区状态(✅ 完成 / ⏳ 进行中 / ⬜ 待执行)
|
||||
- 分析、测试点、测试用例、Excel、风险报告、评审报告、覆盖率审计、质量裁决的实际路径
|
||||
- 质量裁决结果
|
||||
- 若失败,失败在哪一步
|
||||
### Phase 6: REPORT — 最终汇总
|
||||
|
||||
输出各战区状态、产物路径、质量裁决结果。
|
||||
|
||||
## 子命令自动执行
|
||||
|
||||
### /qe-fleet prepare
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py prepare --requirement <需求文档路径>
|
||||
python scripts/fleet_runner.py prepare --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
### /qe-fleet analyze
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py analyze --requirement <需求文档路径>
|
||||
python scripts/fleet_runner.py analyze --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
### /qe-fleet design
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py design --requirement <需求文档路径>
|
||||
```
|
||||
仅执行 Phase 3(AI-DESIGN),前提是 prepare 和 analyze 已完成。若 manifest 未就绪,先执行对应的脚手架命令。
|
||||
|
||||
### /qe-fleet review
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py review --requirement <需求文档路径>
|
||||
```
|
||||
仅执行 Phase 4(AI-REVIEW),前提是设计产物已存在。
|
||||
|
||||
### /qe-fleet export
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py export --requirement <需求文档路径>
|
||||
python scripts/fleet_runner.py export --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
### /qe-fleet monitor
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py monitor --requirement <需求文档路径> --results <测试结果文件>
|
||||
python scripts/fleet_runner.py monitor --requirement <需求文档路径> --results <测试结果文件>
|
||||
```
|
||||
|
||||
### /qe-fleet status
|
||||
```bash
|
||||
python3 scripts/fleet_runner.py status --requirement <需求文档路径>
|
||||
python scripts/fleet_runner.py status --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
若用户已经补完确认单,并明确要求"继续""确认后续跑""按确认结论重跑",优先执行:
|
||||
|
||||
```bash
|
||||
python3 scripts/case_pipeline.py apply-confirmation --requirement <需求文档路径>
|
||||
python scripts/case_pipeline.py apply-confirmation --requirement <需求文档路径>
|
||||
```
|
||||
|
||||
## 约束
|
||||
|
||||
- 除非脚本执行失败,否则不要要求用户再手动执行命令
|
||||
- 若本次改动涉及以下任一范围,必须在结束前执行 `python3 scripts/governance_audit.py auto`,并根据结果同步修正 `AGENTS.md`、`.claude/`、`README.md`、`docs/` 的滞后内容:
|
||||
- 所有 bash 命令使用 `python`(非 `python3`)
|
||||
- 若 manifest 中有附加源文件(`sources_registry`),必须纳入 AI Agent 的输入文件列表
|
||||
- 若本次改动涉及以下任一范围,必须在结束前执行 `python scripts/governance_audit.py auto`,并根据结果同步修正 `AGENTS.md`、`.claude/`、`README.md`、`docs/` 的滞后内容:
|
||||
- `scripts/`
|
||||
- `.claude/`
|
||||
- `agents/`
|
||||
@@ -135,7 +118,7 @@ python3 scripts/case_pipeline.py apply-confirmation --requirement <需求文档
|
||||
- 测试点/测试用例必须体现 `knowledge_base/00_project/project_profile.md` 的项目差异化约束
|
||||
- 若主输入是 `.docx/.doc/.pdf`,必须使用 prepare 产出的标准化 Markdown 文件,即 `normalized_requirement_file`
|
||||
- 各战区产物清单汇总至 `output/manifests/{BASE_NAME}.json` 统一清单文件
|
||||
- 若存在同主题技术方案,必须结合标准化技术方案文件补充测试约束
|
||||
- 若存在同主题技术方案或需求中引用的附加文件,必须结合这些文件补充测试约束
|
||||
- 测试用例生成前必须先按 `knowledge_base/01_standards/review_checklist.md` 自检
|
||||
- 需求有歧义时,必须显式写:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user