@chongyan/autospec 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.en.md +472 -0
- package/README.md +476 -0
- package/bin/autospec.js +3 -0
- package/knowledge/README.md +144 -0
- package/knowledge/checklists/code.md +182 -0
- package/knowledge/checklists/design.md +196 -0
- package/knowledge/checklists/release.md +70 -0
- package/knowledge/checklists/requirement.md +169 -0
- package/knowledge/checklists/test.md +46 -0
- package/knowledge/config/README.en.md +44 -0
- package/knowledge/config/README.md +44 -0
- package/knowledge/config/role-composition.yaml +98 -0
- package/knowledge/config/role-extensions.yaml +140 -0
- package/knowledge/config/skill-compositions.yaml +142 -0
- package/knowledge/config/team-stage.yaml +95 -0
- package/knowledge/config/team-tasks.yaml +139 -0
- package/knowledge/config/team-triggers.yaml +198 -0
- package/knowledge/config/validation-patterns.yaml +137 -0
- package/knowledge/domain/README.md +115 -0
- package/knowledge/domain/flows/README.md +194 -0
- package/knowledge/domain/glossary.md +143 -0
- package/knowledge/domain/rules.md +138 -0
- package/knowledge/environment/README.en.md +36 -0
- package/knowledge/environment/README.md +87 -0
- package/knowledge/environment/component-knowledge.md +316 -0
- package/knowledge/environment/detection-patterns.yaml +502 -0
- package/knowledge/environment/middleware-knowledge.md +237 -0
- package/knowledge/environment/template-registry.md +321 -0
- package/knowledge/guides/domain-driven-design.md +345 -0
- package/knowledge/guides/knowledge-management.md +369 -0
- package/knowledge/guides/requirement-engineering.md +329 -0
- package/knowledge/guides/stages/ai-effect-evaluator.md +93 -0
- package/knowledge/guides/stages/code-implementer.md +205 -0
- package/knowledge/guides/stages/code-reviewer.md +111 -0
- package/knowledge/guides/stages/consistency-checker.md +177 -0
- package/knowledge/guides/stages/design-planner.md +401 -0
- package/knowledge/guides/stages/design-reviewer.md +83 -0
- package/knowledge/guides/stages/integration-test-runner.md +105 -0
- package/knowledge/guides/stages/release-checker.md +205 -0
- package/knowledge/guides/stages/requirement-analyzer.md +195 -0
- package/knowledge/guides/stages/requirement-reviewer.md +83 -0
- package/knowledge/guides/stages/security-reviewer.md +89 -0
- package/knowledge/guides/stages/test-context-analyzer.md +250 -0
- package/knowledge/guides/stages/test-generator.md +241 -0
- package/knowledge/guides/stages/test-planner.md +183 -0
- package/knowledge/guides/stages/test-reviewer.md +76 -0
- package/knowledge/guides/stages/unit-test-runner.md +83 -0
- package/knowledge/guides/support/ai-agent-analyzer.md +362 -0
- package/knowledge/guides/support/ai-anomaly-analyzer.md +213 -0
- package/knowledge/guides/support/ai-artifact-evaluator.md +192 -0
- package/knowledge/guides/support/ai-capability-analyzer.md +193 -0
- package/knowledge/guides/support/ai-component-analyzer.md +169 -0
- package/knowledge/guides/support/ai-data-validator.md +276 -0
- package/knowledge/guides/support/ai-evaluation-planner.md +374 -0
- package/knowledge/guides/support/ai-path-evaluator.md +274 -0
- package/knowledge/guides/support/ai-pipeline-evaluator.md +219 -0
- package/knowledge/guides/support/ai-rag-analyzer.md +339 -0
- package/knowledge/guides/support/ai-task-assessor.md +418 -0
- package/knowledge/guides/support/ai-test-diagnostics.md +133 -0
- package/knowledge/guides/support/complexity-assessor.md +268 -0
- package/knowledge/guides/support/component-discovery.md +183 -0
- package/knowledge/guides/support/environment-scanner.md +207 -0
- package/knowledge/guides/support/environment-validator.md +207 -0
- package/knowledge/guides/support/knowledge-generator.md +234 -0
- package/knowledge/guides/support/methodology-extractor.md +55 -0
- package/knowledge/guides/support/pipeline-protocol.md +438 -0
- package/knowledge/guides/support/practice-logger.md +359 -0
- package/knowledge/guides/support/scope-inference.md +174 -0
- package/knowledge/guides/support/skill-distiller.md +91 -0
- package/knowledge/guides/support/skill-updater.md +45 -0
- package/knowledge/guides/support/skill-validator.md +72 -0
- package/knowledge/guides/support/team-orchestrator.md +323 -0
- package/knowledge/guides/support/tech-stack-analyzer.md +139 -0
- package/knowledge/guides/support/test-runner.md +254 -0
- package/knowledge/guides/system-design.md +352 -0
- package/knowledge/organization/ai-native-team.md +318 -0
- package/knowledge/organization/team-metrics.md +228 -0
- package/knowledge/principles/constitution.md +134 -0
- package/knowledge/principles/core-principles.md +368 -0
- package/knowledge/principles/design-philosophy.md +877 -0
- package/knowledge/principles/evolution.md +553 -0
- package/knowledge/process/01-requirement.md +113 -0
- package/knowledge/process/02-design.md +123 -0
- package/knowledge/process/03-implementation.md +90 -0
- package/knowledge/process/04-review.md +80 -0
- package/knowledge/process/05-testing.md +90 -0
- package/knowledge/process/06-delivery.md +88 -0
- package/knowledge/process/README.en.md +38 -0
- package/knowledge/process/README.md +48 -0
- package/knowledge/process/ai-sdlc.md +475 -0
- package/knowledge/process/overview.md +319 -0
- package/knowledge/standards/code-review.md +876 -0
- package/knowledge/standards/coding-style.md +940 -0
- package/knowledge/standards/data-consistency.md +1085 -0
- package/knowledge/standards/document-versioning.md +210 -0
- package/knowledge/standards/risk-detection.md +186 -0
- package/knowledge/templates/ai-evaluation.md +150 -0
- package/knowledge/templates/api-design.md +117 -0
- package/knowledge/templates/database-design.md +132 -0
- package/knowledge/templates/domain-driven-design.md +321 -0
- package/knowledge/templates/product-proposal.md +201 -0
- package/knowledge/templates/system-design.md +227 -0
- package/knowledge/templates/task-breakdown.md +107 -0
- package/knowledge/templates/test-case.md +170 -0
- package/package.json +53 -0
- package/plugins/.claude-plugin/plugin.json +134 -0
- package/plugins/agents/roles/ai-engineer.md +129 -0
- package/plugins/agents/roles/backend-engineer.md +165 -0
- package/plugins/agents/roles/ceo.md +94 -0
- package/plugins/agents/roles/data-engineer.md +135 -0
- package/plugins/agents/roles/devops-engineer.md +181 -0
- package/plugins/agents/roles/frontend-engineer.md +129 -0
- package/plugins/agents/roles/product-owner.md +98 -0
- package/plugins/agents/roles/quality-engineer.md +129 -0
- package/plugins/agents/roles/security-engineer.md +180 -0
- package/plugins/agents/roles/tech-lead.md +97 -0
- package/plugins/agents/support/blind-comparator.md +88 -0
- package/plugins/agents/support/consistency-checker.md +103 -0
- package/plugins/agents/support/failure-diagnostician.md +141 -0
- package/plugins/agents/support/independent-reviewer.md +80 -0
- package/plugins/agents/support/safety-auditor.md +121 -0
- package/plugins/agents/support/skill-benchmarker.md +86 -0
- package/plugins/agents/support/skill-forger.md +105 -0
- package/plugins/agents/support/stage-gate-evaluator.md +121 -0
- package/plugins/agents/support/test-coverage-reviewer.md +73 -0
- package/plugins/benchmarks/templates/README.md +44 -0
- package/plugins/benchmarks/templates/commands/explore-template.yaml +48 -0
- package/plugins/benchmarks/templates/pipeline/agile-template.yaml +84 -0
- package/plugins/benchmarks/templates/pipeline/waterfall-template.yaml +106 -0
- package/plugins/benchmarks/templates/skills/requirement-analyzer-template.yaml +48 -0
- package/plugins/commands/README.en.md +96 -0
- package/plugins/commands/README.md +96 -0
- package/plugins/commands/apply.md +191 -0
- package/plugins/commands/archive.md +76 -0
- package/plugins/commands/env-export.md +79 -0
- package/plugins/commands/env-sync.md +640 -0
- package/plugins/commands/env-template.md +223 -0
- package/plugins/commands/env-update.md +264 -0
- package/plugins/commands/env-validate.md +176 -0
- package/plugins/commands/env.md +79 -0
- package/plugins/commands/explore.md +76 -0
- package/plugins/commands/field-evolve.md +536 -0
- package/plugins/commands/memory.md +249 -0
- package/plugins/commands/project-evolve.md +821 -0
- package/plugins/commands/propose.md +93 -0
- package/plugins/commands/review.md +140 -0
- package/plugins/commands/run.md +224 -0
- package/plugins/commands/status.md +62 -0
- package/plugins/commands/validate.md +108 -0
- package/plugins/hooks/README.en.md +56 -0
- package/plugins/hooks/README.md +56 -0
- package/plugins/hooks/ai-project-guard.js +329 -0
- package/plugins/hooks/artifact-evaluation-hook.js +237 -0
- package/plugins/hooks/constitution-guard.js +211 -0
- package/plugins/hooks/environment-autocommit.js +264 -0
- package/plugins/hooks/environment-manager.js +778 -0
- package/plugins/hooks/execution-tracker.js +354 -0
- package/plugins/hooks/frozen-zone-guard.js +140 -0
- package/plugins/hooks/layer1-validator.js +423 -0
- package/plugins/hooks/lib/artifact-evaluator.js +414 -0
- package/plugins/hooks/lib/benchmarks/change-detector.js +390 -0
- package/plugins/hooks/lib/benchmarks/evaluator.js +605 -0
- package/plugins/hooks/lib/benchmarks/integration-example.js +169 -0
- package/plugins/hooks/lib/data-and-ai-detector.js +275 -0
- package/plugins/hooks/lib/detection-pattern-loader.js +865 -0
- package/plugins/hooks/lib/directory-discovery.js +395 -0
- package/plugins/hooks/lib/environment-config-loader.js +341 -0
- package/plugins/hooks/lib/environment-detector.js +553 -0
- package/plugins/hooks/lib/environment-evolver.js +564 -0
- package/plugins/hooks/lib/environment-registry.js +813 -0
- package/plugins/hooks/lib/execution-path.js +427 -0
- package/plugins/hooks/lib/hook-error-recorder.js +245 -0
- package/plugins/hooks/lib/hook-logger.js +538 -0
- package/plugins/hooks/lib/hook-runner.js +97 -0
- package/plugins/hooks/lib/hook-runner.sh +44 -0
- package/plugins/hooks/lib/hook-state-manager.js +480 -0
- package/plugins/hooks/lib/memory-extractor.js +377 -0
- package/plugins/hooks/lib/memory-manager.js +673 -0
- package/plugins/hooks/lib/metrics-analyzer.js +489 -0
- package/plugins/hooks/lib/project-evolution/auto-fixer.js +511 -0
- package/plugins/hooks/lib/project-evolution/memory-manager.js +346 -0
- package/plugins/hooks/lib/project-evolution/pattern-detector.js +476 -0
- package/plugins/hooks/lib/project-evolution/semantic-indexer.js +480 -0
- package/plugins/hooks/lib/project-structure-detector.js +326 -0
- package/plugins/hooks/lib/rollback-tracker.js +346 -0
- package/plugins/hooks/lib/source-code-scanner.js +596 -0
- package/plugins/hooks/lib/technology-stack-detector.js +374 -0
- package/plugins/hooks/lib/test-failure-analyzer.js +375 -0
- package/plugins/hooks/lib/test-failure-fixer.js +268 -0
- package/plugins/hooks/lib/trace-context.js +277 -0
- package/plugins/hooks/lib/validation-patterns.js +415 -0
- package/plugins/hooks/memory-sync.js +171 -0
- package/plugins/hooks/pipeline-observer.js +413 -0
- package/plugins/hooks/scope-sentinel.js +204 -0
- package/plugins/hooks/trace-initialization.js +169 -0
- package/plugins/memory/templates/code-quality.yaml +149 -0
- package/plugins/memory/templates/multi-system.yaml +155 -0
- package/plugins/memory/templates/team-habits.yaml +119 -0
- package/plugins/memory/templates/testing.yaml +121 -0
- package/plugins/skills/README.en.md +47 -0
- package/plugins/skills/README.md +104 -0
- package/plugins/skills/benchmark-executor/README.md +93 -0
- package/plugins/skills/benchmark-executor/SKILL.md +647 -0
- package/plugins/skills/benchmark-generator/SKILL.md +349 -0
- package/plugins/skills/delivery-stage/SKILL.md +203 -0
- package/plugins/skills/design-stage/SKILL.md +216 -0
- package/plugins/skills/evolution-process/SKILL.md +291 -0
- package/plugins/skills/exploration-phase/SKILL.md +133 -0
- package/plugins/skills/implementation-stage/SKILL.md +179 -0
- package/plugins/skills/layer1-validation/SKILL.md +79 -0
- package/plugins/skills/pending-dashboard/SKILL.md +109 -0
- package/plugins/skills/project-evolution/SKILL.md +847 -0
- package/plugins/skills/requirement-stage/SKILL.md +183 -0
- package/plugins/skills/skill-forge/SKILL.md +223 -0
- package/plugins/skills/skill-forge/references/description-guide.md +92 -0
- package/plugins/skills/skill-forge/references/quality-rubric.md +104 -0
- package/plugins/skills/skill-forge/references/skill-template.md +106 -0
- package/plugins/skills/startup-guard/SKILL.md +38 -0
- package/plugins/skills/testing-stage/SKILL.md +195 -0
- package/scripts/cli/global-init.js +288 -0
- package/scripts/cli/global.js +324 -0
- package/scripts/cli/index.js +55 -0
- package/scripts/cli/init.js +382 -0
- package/scripts/cli/list.js +69 -0
- package/scripts/cli/org.js +340 -0
- package/scripts/cli/update.js +44 -0
- package/scripts/config/commands.config.js +145 -0
- package/scripts/config/hooks.config.js +197 -0
- package/scripts/evolution/evolution-router.js +273 -0
- package/scripts/evolution/evolution-signal-collector.js +307 -0
- package/scripts/evolution/knowledge-loader.js +346 -0
- package/scripts/evolution/marketplace.js +317 -0
- package/scripts/evolution/version-manager.js +371 -0
- package/scripts/install/agents.js +106 -0
- package/scripts/install/commands.js +133 -0
- package/scripts/install/constants.js +424 -0
- package/scripts/install/hook-logger.js +536 -0
- package/scripts/install/hooks.js +110 -0
- package/scripts/install/index.js +39 -0
- package/scripts/install/skills.js +95 -0
- package/scripts/postinstall.js +25 -0
- package/scripts/state.js +376 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: benchmark-generator
|
|
3
|
+
description: "When benchmarks need to be created for a stage, generate stage-specific benchmarks based on project characteristics, tech stack, and environment"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Benchmark Generator — 阶段 Benchmarks 自动生成器
|
|
7
|
+
|
|
8
|
+
## 定位
|
|
9
|
+
|
|
10
|
+
根据**实战项目特点**、**技术栈**、**环境配置**,自动生成各阶段(exploration/requirement/design/implementation/testing)的 benchmarks。
|
|
11
|
+
|
|
12
|
+
## 触发时机
|
|
13
|
+
|
|
14
|
+
1. **阶段首次执行** - 自动生成该阶段的 benchmarks
|
|
15
|
+
2. **环境变化检测** - 项目结构/技术栈变化时,更新 benchmarks
|
|
16
|
+
3. **手动触发** - `/benchmark --generate --stage={stage}`
|
|
17
|
+
|
|
18
|
+
## 输入
|
|
19
|
+
|
|
20
|
+
```yaml
|
|
21
|
+
project_context:
|
|
22
|
+
project_type: "e-commerce" | "saas" | "data-platform" | "ai-service"
|
|
23
|
+
tech_stack:
|
|
24
|
+
frontend: "react" | "vue" | "angular"
|
|
25
|
+
backend: "nodejs" | "java" | "go" | "python"
|
|
26
|
+
database: "mysql" | "postgres" | "mongodb"
|
|
27
|
+
is_multi_system: boolean
|
|
28
|
+
complexity: 1-10
|
|
29
|
+
existing_benchmarks: [] # 已有的 benchmarks(如有)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 输出
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
benchmarks_file: ".autospec/benchmarks/auto-generated/{stage}-{timestamp}.yaml"
|
|
36
|
+
generated_benchmarks:
|
|
37
|
+
stage: string
|
|
38
|
+
version: "1.0"
|
|
39
|
+
generated_from: object # 生成依据
|
|
40
|
+
test_cases: [] # 测试用例列表
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## 执行步骤
|
|
46
|
+
|
|
47
|
+
### Step 1: 项目特征扫描
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
1. 检测技术栈
|
|
51
|
+
- 读取 package.json / pom.xml / go.mod / requirements.txt
|
|
52
|
+
- 识别前端框架、后端语言、数据库
|
|
53
|
+
|
|
54
|
+
2. 检测项目结构
|
|
55
|
+
- 单系统 vs 多系统
|
|
56
|
+
- 子系统划分
|
|
57
|
+
- 代码组织方式
|
|
58
|
+
|
|
59
|
+
3. 检测现有配置
|
|
60
|
+
- Lint 规则
|
|
61
|
+
- 测试框架
|
|
62
|
+
- CI/CD 配置
|
|
63
|
+
- 已有 benchmarks(避免重复)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 2: 选择 Benchmarks 模板
|
|
67
|
+
|
|
68
|
+
根据项目特征,选择对应的模板组合:
|
|
69
|
+
|
|
70
|
+
| 项目特征 | Exploration | Requirement | Design | Implementation | Testing |
|
|
71
|
+
|---------|-------------|-------------|--------|----------------|---------|
|
|
72
|
+
| React+Node.js | 澄清完整性 | 用户故事规范 | 组件设计 | React最佳实践 | 组件测试 |
|
|
73
|
+
| Java+Spring | 澄清完整性 | 领域模型 | 分层架构 | Java规范 | 单元+集成 |
|
|
74
|
+
| 多系统 | 跨系统需求 | 契约定义 | 接口设计 | 一致性 | 契约测试 |
|
|
75
|
+
| AI项目 | 效果指标 | 评测方案 | 模型设计 | 推理优化 | 效果测试 |
|
|
76
|
+
|
|
77
|
+
### Step 3: 生成阶段特定 Benchmarks
|
|
78
|
+
|
|
79
|
+
#### Exploration 阶段
|
|
80
|
+
|
|
81
|
+
```yaml
|
|
82
|
+
generate_exploration_benchmarks:
|
|
83
|
+
test_cases:
|
|
84
|
+
- id: "EXP-001"
|
|
85
|
+
name: "需求澄清完整性"
|
|
86
|
+
criteria:
|
|
87
|
+
- "澄清问题数量 >= 3"
|
|
88
|
+
- "问题覆盖功能/非功能/边界条件"
|
|
89
|
+
- "每个问题有推荐答案"
|
|
90
|
+
validation:
|
|
91
|
+
type: "layer2-review"
|
|
92
|
+
|
|
93
|
+
- id: "EXP-002"
|
|
94
|
+
name: "复杂度评估准确性"
|
|
95
|
+
criteria:
|
|
96
|
+
- "复杂度评分有依据"
|
|
97
|
+
- "考虑了技术风险"
|
|
98
|
+
- "考虑了团队熟悉度"
|
|
99
|
+
scoring:
|
|
100
|
+
- coverage: 50%
|
|
101
|
+
- accuracy: 50%
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Requirement 阶段
|
|
105
|
+
|
|
106
|
+
```yaml
|
|
107
|
+
generate_requirement_benchmarks:
|
|
108
|
+
test_cases:
|
|
109
|
+
- id: "REQ-001"
|
|
110
|
+
name: "需求文档完整性"
|
|
111
|
+
criteria:
|
|
112
|
+
- "必须字段完整率 >= 90%"
|
|
113
|
+
- "验收标准可测试"
|
|
114
|
+
- "边界条件已定义"
|
|
115
|
+
validation:
|
|
116
|
+
type: "schema-check"
|
|
117
|
+
schema: "requirement-schema.json"
|
|
118
|
+
|
|
119
|
+
- id: "REQ-002"
|
|
120
|
+
name: "非功能需求覆盖"
|
|
121
|
+
criteria:
|
|
122
|
+
- "性能指标已定义(如适用)"
|
|
123
|
+
- "安全要求已说明(如适用)"
|
|
124
|
+
- "扩展性考虑已记录(如适用)"
|
|
125
|
+
|
|
126
|
+
- id: "REQ-003"
|
|
127
|
+
name: "多系统需求一致性(如适用)"
|
|
128
|
+
criteria:
|
|
129
|
+
- "跨系统接口需求已定义"
|
|
130
|
+
- "数据一致性要求已说明"
|
|
131
|
+
condition: "is_multi_system"
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
#### Design 阶段
|
|
135
|
+
|
|
136
|
+
```yaml
|
|
137
|
+
generate_design_benchmarks:
|
|
138
|
+
test_cases:
|
|
139
|
+
- id: "DES-001"
|
|
140
|
+
name: "架构设计完整性"
|
|
141
|
+
criteria:
|
|
142
|
+
- "架构图存在且清晰"
|
|
143
|
+
- "技术选型有理由"
|
|
144
|
+
- "非功能需求有设计方案"
|
|
145
|
+
|
|
146
|
+
- id: "DES-002"
|
|
147
|
+
name: "API 设计规范性"
|
|
148
|
+
criteria:
|
|
149
|
+
- "API 契约文件存在"
|
|
150
|
+
- "符合 RESTful 规范"
|
|
151
|
+
- "错误处理统一"
|
|
152
|
+
- "版本管理策略"
|
|
153
|
+
|
|
154
|
+
- id: "DES-003"
|
|
155
|
+
name: "数据模型设计"
|
|
156
|
+
criteria:
|
|
157
|
+
- "ER图或模型文档"
|
|
158
|
+
- "字段类型定义清晰"
|
|
159
|
+
- "索引设计考虑"
|
|
160
|
+
|
|
161
|
+
- id: "DES-004"
|
|
162
|
+
name: "设计-需求一致性"
|
|
163
|
+
criteria:
|
|
164
|
+
- "所有需求都有对应设计"
|
|
165
|
+
- "设计无超出需求范围"
|
|
166
|
+
validation:
|
|
167
|
+
type: "traceability-check"
|
|
168
|
+
upstream: "requirement.md"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
#### Implementation 阶段
|
|
172
|
+
|
|
173
|
+
```yaml
|
|
174
|
+
generate_implementation_benchmarks:
|
|
175
|
+
test_cases:
|
|
176
|
+
- id: "IMP-001"
|
|
177
|
+
name: "代码-设计一致性"
|
|
178
|
+
criteria:
|
|
179
|
+
- "代码实现符合设计"
|
|
180
|
+
- "API 实现符合契约"
|
|
181
|
+
validation:
|
|
182
|
+
type: "consistency-check"
|
|
183
|
+
|
|
184
|
+
- id: "IMP-002"
|
|
185
|
+
name: "代码质量基准"
|
|
186
|
+
criteria:
|
|
187
|
+
- "圈复杂度 < 10"
|
|
188
|
+
- "无重复代码"
|
|
189
|
+
- "测试覆盖率 > 80%"
|
|
190
|
+
- "Lint 无错误"
|
|
191
|
+
auto_fixable: true
|
|
192
|
+
|
|
193
|
+
- id: "IMP-003"
|
|
194
|
+
name: "功能完整性"
|
|
195
|
+
criteria:
|
|
196
|
+
- "所有需求已实现"
|
|
197
|
+
- "验收标准可验证"
|
|
198
|
+
validation:
|
|
199
|
+
type: "requirement-coverage"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
#### Testing 阶段
|
|
203
|
+
|
|
204
|
+
```yaml
|
|
205
|
+
generate_testing_benchmarks:
|
|
206
|
+
test_cases:
|
|
207
|
+
- id: "TST-001"
|
|
208
|
+
name: "测试覆盖率"
|
|
209
|
+
criteria:
|
|
210
|
+
- "行覆盖率 >= 80%"
|
|
211
|
+
- "分支覆盖率 >= 70%"
|
|
212
|
+
- "核心功能 100%"
|
|
213
|
+
|
|
214
|
+
- id: "TST-002"
|
|
215
|
+
name: "测试质量"
|
|
216
|
+
criteria:
|
|
217
|
+
- "无 Flaky test"
|
|
218
|
+
- "测试执行时间 < 5分钟"
|
|
219
|
+
- "测试数据独立"
|
|
220
|
+
|
|
221
|
+
- id: "TST-003"
|
|
222
|
+
name: "集成测试(多系统)"
|
|
223
|
+
criteria:
|
|
224
|
+
- "关键路径有集成测试"
|
|
225
|
+
- "契约测试覆盖"
|
|
226
|
+
condition: "is_multi_system"
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Step 4: 自适应调整
|
|
230
|
+
|
|
231
|
+
根据项目历史数据调整 benchmarks:
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
if 项目有历史评测数据:
|
|
235
|
+
- 识别经常失败的 benchmarks → 降低阈值或拆分
|
|
236
|
+
- 识别总是通过的 benchmarks → 提高阈值或移除
|
|
237
|
+
- 识别新出现的问题模式 → 添加新的 benchmarks
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Step 5: 保存 Benchmarks
|
|
241
|
+
|
|
242
|
+
```yaml
|
|
243
|
+
output:
|
|
244
|
+
file: ".autospec/benchmarks/auto-generated/{stage}-{timestamp}.yaml"
|
|
245
|
+
format: "yaml"
|
|
246
|
+
include_metadata: true
|
|
247
|
+
metadata:
|
|
248
|
+
generated_at: ISO8601
|
|
249
|
+
generator_version: "1.0"
|
|
250
|
+
project_fingerprint: "hash of project config"
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 生成规则
|
|
256
|
+
|
|
257
|
+
### 规则1: 技术栈特定规则
|
|
258
|
+
|
|
259
|
+
```yaml
|
|
260
|
+
# React 项目特定
|
|
261
|
+
react_rules:
|
|
262
|
+
- "组件必须有 displayName"
|
|
263
|
+
- "Props 必须有类型定义"
|
|
264
|
+
- "Hooks 依赖数组完整"
|
|
265
|
+
|
|
266
|
+
# Java 项目特定
|
|
267
|
+
java_rules:
|
|
268
|
+
- "类必须有包声明"
|
|
269
|
+
- "公共方法必须有文档"
|
|
270
|
+
- "异常必须正确处理"
|
|
271
|
+
|
|
272
|
+
# 多系统特定
|
|
273
|
+
multi_system_rules:
|
|
274
|
+
- "接口契约一致性"
|
|
275
|
+
- "共享逻辑抽离"
|
|
276
|
+
- "依赖循环检查"
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### 规则2: 复杂度自适应
|
|
280
|
+
|
|
281
|
+
```yaml
|
|
282
|
+
complexity_adaptation:
|
|
283
|
+
low (1-3):
|
|
284
|
+
- benchmarks 数量: 3-5
|
|
285
|
+
- 阈值: 宽松
|
|
286
|
+
|
|
287
|
+
medium (4-6):
|
|
288
|
+
- benchmarks 数量: 5-8
|
|
289
|
+
- 阈值: 标准
|
|
290
|
+
|
|
291
|
+
high (7-10):
|
|
292
|
+
- benchmarks 数量: 8-12
|
|
293
|
+
- 阈值: 严格
|
|
294
|
+
- 增加架构相关 benchmarks
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### 规则3: 避免重复
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
检查已有 benchmarks:
|
|
301
|
+
- 相同 ID 不重复生成
|
|
302
|
+
- 相似内容合并
|
|
303
|
+
- 过期 benchmarks 标记
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 反模式
|
|
309
|
+
|
|
310
|
+
1. **过度生成** - 生成过多 benchmarks 导致评测缓慢
|
|
311
|
+
- 限制:每个阶段最多 12 个 benchmarks
|
|
312
|
+
|
|
313
|
+
2. **脱离实际** - benchmarks 与项目实际情况不符
|
|
314
|
+
- 缓解:基于实际代码/配置生成
|
|
315
|
+
|
|
316
|
+
3. **阈值不合理** - 阈值过高或过低
|
|
317
|
+
- 缓解:根据项目历史数据调整
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
## 使用示例
|
|
322
|
+
|
|
323
|
+
```bash
|
|
324
|
+
# 自动生成所有阶段 benchmarks
|
|
325
|
+
/benchmark --generate --all
|
|
326
|
+
|
|
327
|
+
# 生成特定阶段 benchmarks
|
|
328
|
+
/benchmark --generate --stage=requirement
|
|
329
|
+
|
|
330
|
+
# 重新生成(覆盖已有)
|
|
331
|
+
/benchmark --generate --stage=design --force
|
|
332
|
+
|
|
333
|
+
# 预览将要生成的 benchmarks(不保存)
|
|
334
|
+
/benchmark --generate --stage=implementation --dry-run
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
---
|
|
338
|
+
|
|
339
|
+
## 产出物
|
|
340
|
+
|
|
341
|
+
```
|
|
342
|
+
.autospec/benchmarks/
|
|
343
|
+
└── auto-generated/
|
|
344
|
+
├── exploration-20240326-001.yaml
|
|
345
|
+
├── requirement-20240326-001.yaml
|
|
346
|
+
├── design-20240326-001.yaml
|
|
347
|
+
├── implementation-20240326-001.yaml
|
|
348
|
+
└── testing-20240326-001.yaml
|
|
349
|
+
```
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: delivery-stage
|
|
3
|
+
description: "When deployment preparation, release checklist verification, or production delivery is needed — loads AutoSpec delivery process and safety checks."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# AutoSpec 交付部署(Stage 06)
|
|
7
|
+
|
|
8
|
+
你正在执行交付部署阶段。此阶段将测试通过的代码安全部署到目标环境。
|
|
9
|
+
|
|
10
|
+
## 前置检查
|
|
11
|
+
|
|
12
|
+
1. 确认QA测试阶段已完成(检查 `.autospec/runtime/state.json`)
|
|
13
|
+
2. 读取 `${KNOWLEDGE}/principles/constitution.md` → 确认红线(特别注意:部署必须可回滚、不可逆动作必须人工确认)
|
|
14
|
+
3. 读取发布检查清单:`${KNOWLEDGE}/checklists/release.md` → 逐项核对
|
|
15
|
+
4. **检查是否为多系统项目**:读取 `.autospec/runtime/config.json` 的 `subsystems` 字段
|
|
16
|
+
5. **检查是否需要效果验收**:检查是否有 ai 类型子系统或 needsEvaluation=true
|
|
17
|
+
6. 如有角色配置,加载 `${KNOWLEDGE}/guides/stages/{角色}-profile.md` 中**交付部署阶段**关注点(如后端关注DB迁移脚本/监控指标)
|
|
18
|
+
|
|
19
|
+
## 执行
|
|
20
|
+
|
|
21
|
+
### Step 1: 确定模式
|
|
22
|
+
|
|
23
|
+
读取 `.autospec/runtime/config.json`,检查 `subsystems` 字段:
|
|
24
|
+
- **无 subsystems 或长度为1** → 单系统模式
|
|
25
|
+
- **有 subsystems 且长度>1** → 多系统模式
|
|
26
|
+
|
|
27
|
+
检查是否需要效果验收:
|
|
28
|
+
- 有 `type: ai` 的子系统或 `needsEvaluation: true` → 需要效果验收
|
|
29
|
+
|
|
30
|
+
### Step 2: 单系统模式
|
|
31
|
+
|
|
32
|
+
1. **【强制】** 加载skill:读取 `${KNOWLEDGE}/guides/stages/release-checker.md` → **逐项检查**
|
|
33
|
+
2. **【强制】** 加载skill:读取 `${KNOWLEDGE}/guides/stages/consistency-checker.md` → **跨产物一致性检查**
|
|
34
|
+
3. 加载认知增强原则:读取 `${KNOWLEDGE}/principles/core-principles.md` → 本阶段重点 CP10(自我质检)、CP8(偏航检测)
|
|
35
|
+
4. 执行发布前检查清单
|
|
36
|
+
5. 生成交付清单和部署文档
|
|
37
|
+
|
|
38
|
+
### Step 3: 多系统模式
|
|
39
|
+
|
|
40
|
+
1. **各子系统发布检查**:
|
|
41
|
+
```
|
|
42
|
+
for subsystem in config.subsystems:
|
|
43
|
+
a. 检查 {subsystem.path} 变更内容
|
|
44
|
+
b. 确认 {subsystem.build} 成功
|
|
45
|
+
c. 确认 {subsystem.test} 通过
|
|
46
|
+
d. 检查依赖版本
|
|
47
|
+
e. 记录发布项
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
2. **跨系统一致性检查**:
|
|
51
|
+
- 确认跨系统接口变更已同步
|
|
52
|
+
- 确认部署顺序合理
|
|
53
|
+
|
|
54
|
+
3. **汇总检查结果**
|
|
55
|
+
|
|
56
|
+
### Step 4: 效果验收(AI/模型功能)
|
|
57
|
+
|
|
58
|
+
当项目包含 AI/模型 相关功能时,需要额外验收:
|
|
59
|
+
|
|
60
|
+
1. **检查评测报告**:
|
|
61
|
+
- 评测数据集是否覆盖典型场景
|
|
62
|
+
- 效果指标是否达到设计阶段定义的基线
|
|
63
|
+
- Badcase是否已分析和处理
|
|
64
|
+
|
|
65
|
+
2. **效果指标验收**:
|
|
66
|
+
- 核心效果指标是否达标
|
|
67
|
+
- 业务效果指标是否达标(如有)
|
|
68
|
+
- 未达标指标是否有改进计划
|
|
69
|
+
|
|
70
|
+
3. **智能体验收**(如适用):
|
|
71
|
+
- 任务完成率是否达标
|
|
72
|
+
- 响应质量是否达标
|
|
73
|
+
- 工具使用正确率是否达标
|
|
74
|
+
|
|
75
|
+
4. **产出验收结论**:
|
|
76
|
+
- 通过:效果达标,可发布
|
|
77
|
+
- 有风险:效果部分达标,需确认是否接受
|
|
78
|
+
- 不通过:效果未达标,阻止发布
|
|
79
|
+
|
|
80
|
+
### Step 5: 数据系统验收
|
|
81
|
+
|
|
82
|
+
当项目包含数据系统时:
|
|
83
|
+
|
|
84
|
+
1. **数据质量验收**:完整性、一致性、准确性检查结果
|
|
85
|
+
2. **ETL流程验收**:数据转换正确性、性能是否满足要求
|
|
86
|
+
3. **数据回滚方案验收**:回滚脚本是否准备、回滚是否可执行
|
|
87
|
+
|
|
88
|
+
## 认知纪律(本阶段:收敛 + 安全优先)
|
|
89
|
+
|
|
90
|
+
- **CP10 自我质检**:交付前终极自问清单:
|
|
91
|
+
- 所有需求的验收标准都满足了吗?
|
|
92
|
+
- Layer 1 全部 PASS 且有真实日志吗?
|
|
93
|
+
- 跨产物一致性检查通过了吗?
|
|
94
|
+
- 回滚方案准备好了吗?
|
|
95
|
+
- **效果指标达标了吗?**(AI/模型功能)
|
|
96
|
+
- **CP8 偏航检测**:对照需求文档做最终偏航扫描。任何未实现的需求点 = 不能交付
|
|
97
|
+
|
|
98
|
+
## 安全红线(本阶段特别强调)
|
|
99
|
+
|
|
100
|
+
- **部署操作 = 不可逆动作**
|
|
101
|
+
- **数据库迁移 = 不可逆动作**
|
|
102
|
+
- **模型部署 = 不可逆动作**(AI/模型功能)
|
|
103
|
+
- 部署方案必须包含回滚计划
|
|
104
|
+
- 灰度发布优先于全量发布
|
|
105
|
+
|
|
106
|
+
**不可逆操作的双模式处理**:
|
|
107
|
+
- 交互模式:安全审计通过后,阻塞等待用户确认
|
|
108
|
+
- 自动模式:安全审计通过后,生成部署方案但**不执行部署**,标记为 `REQUIRE_REVIEW`,记录到 `pendingConfirmations`
|
|
109
|
+
- 两种模式下,安全审计结论为"不安全" → **均阻止执行**(这是唯一一个自动模式也会阻塞的场景)
|
|
110
|
+
|
|
111
|
+
### 安全审计(不可逆操作前必做)
|
|
112
|
+
|
|
113
|
+
在执行任何不可逆操作前,使用 **safety-auditor** Agent 执行独立安全审查:
|
|
114
|
+
```
|
|
115
|
+
**【强制】** 调用 Agent 工具:
|
|
116
|
+
prompt: 请对以下不可逆操作执行安全审计。
|
|
117
|
+
操作类型:{DB迁移/部署/外部API调用/模型部署/...}
|
|
118
|
+
变更文件列表:{相关文件}
|
|
119
|
+
部署方案:{回滚计划、灰度策略}
|
|
120
|
+
宪法红线:${KNOWLEDGE}/principles/constitution.md
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
安全审计报告结论为"不安全" → **阻止执行**,必须先修复。
|
|
124
|
+
安全审计报告结论为"安全"或"有风险" → 提交报告要点给用户确认。
|
|
125
|
+
|
|
126
|
+
## 跨产物一致性检查
|
|
127
|
+
|
|
128
|
+
在交付前,使用 **consistency-checker** Agent 执行全量一致性分析:
|
|
129
|
+
```
|
|
130
|
+
**【强制】** 调用 Agent 工具:
|
|
131
|
+
prompt: 请执行跨产物一致性分析。
|
|
132
|
+
检查以下产物之间的一致性:
|
|
133
|
+
1. 需求文档: .autospec/specs/{feature}/requirement.md
|
|
134
|
+
2. 技术方案: .autospec/specs/{feature}/design.md(或 design/ 目录)
|
|
135
|
+
3. 代码实现(变更文件列表)
|
|
136
|
+
4. 测试报告(或 tests/ 目录)
|
|
137
|
+
六维检测:重复/歧义/规格不全/宪法对齐/覆盖缺口/术语漂移
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## 阶段门禁(所有自主级别)
|
|
141
|
+
|
|
142
|
+
使用 **stage-gate-evaluator** Agent 评估产出物是否达到准出标准:
|
|
143
|
+
```
|
|
144
|
+
**【强制】** 调用 Agent 工具:
|
|
145
|
+
prompt: 请评估交付部署阶段的产出物是否达到准出标准。
|
|
146
|
+
当前阶段:Stage 06 交付部署
|
|
147
|
+
产出物:部署方案 + 交付清单
|
|
148
|
+
准出标准:${KNOWLEDGE}/checklists/release.md
|
|
149
|
+
一致性检查报告 + 安全审计报告
|
|
150
|
+
效果验收报告(如有AI/模型功能)
|
|
151
|
+
自主级别:{自主/交互}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
**根据自主级别处理评估结果**:
|
|
155
|
+
- **交互模式**:评估结果提交人工确认,AI 等待用户批准后继续
|
|
156
|
+
- **自主模式**:评估通过后自动进入下一阶段,评估不通过进入精准回退
|
|
157
|
+
|
|
158
|
+
## 完成
|
|
159
|
+
|
|
160
|
+
- 交互模式:检查通过 + 安全审计通过 + 效果验收通过 + 用户确认 → 执行部署 → 更新 `.autospec/runtime/state.json` → 流程完成
|
|
161
|
+
- 自动模式:检查通过 + 安全审计通过 + 效果验收通过 → 生成部署方案(不执行)→ 标记 `pendingConfirmations` → 更新状态 → 进入收尾
|
|
162
|
+
- 不通过 → 精准回退:
|
|
163
|
+
- Level 1: 内联重试(单次)
|
|
164
|
+
- Level 2: 修正循环(最多3次,只重处理失败项)
|
|
165
|
+
- Level 3: 3次后使用 **failure-diagnostician** Agent 执行根因分析,再升级用户
|
|
166
|
+
|
|
167
|
+
## 交付后自动触发:实践记录 + 进化信号
|
|
168
|
+
|
|
169
|
+
交付完成后,**必须执行以下收尾步骤**(不可跳过):
|
|
170
|
+
|
|
171
|
+
### Step 1: 记录 practice-log(必须执行)
|
|
172
|
+
1. 从 `.autospec/runtime/state.json` 收集执行度量:
|
|
173
|
+
- Layer 1/2 通过率(每个阶段)
|
|
174
|
+
- 回退次数(哪个阶段、什么原因)
|
|
175
|
+
- 人工介入次数
|
|
176
|
+
- **效果指标结果**(AI/模型功能)
|
|
177
|
+
2. 总结经验:做得好的 / 做得不好的 / 改进点
|
|
178
|
+
3. 确定编号:扫描 `.autospec/evolution/practice-log/` 已有文件,取下一个编号
|
|
179
|
+
4. 写入 `.autospec/evolution/practice-log/{NNN}-{feature}.md`,末尾标注 `状态: Pending`
|
|
180
|
+
|
|
181
|
+
### Step 2: 快速进化扫描(必须执行)
|
|
182
|
+
**读取 `${KNOWLEDGE}/guides/support/skill-distiller.md` 的"识别"部分**,快速检查:
|
|
183
|
+
- 本次流程中是否有反复出现的操作模式?
|
|
184
|
+
- 是否有频繁需要人工介入的环节?
|
|
185
|
+
- 是否有可提取的新 skill?
|
|
186
|
+
|
|
187
|
+
**读取 `${KNOWLEDGE}/guides/support/methodology-extractor.md` 的"执行步骤"前4步**,快速检查:
|
|
188
|
+
- 本次实践中哪些做法有效、哪些踩坑?
|
|
189
|
+
- 是否需要更新 `${KNOWLEDGE}/checklists/` 中的检查项?
|
|
190
|
+
- 是否需要更新 `${KNOWLEDGE}/principles/core-principles.md`?
|
|
191
|
+
|
|
192
|
+
### Step 3: 处理进化信号
|
|
193
|
+
如有发现:
|
|
194
|
+
- **自由区变更** → 自动执行 + 读取 `${KNOWLEDGE}/guides/support/skill-validator.md` 验证
|
|
195
|
+
- **受控区变更** → 生成提案到 `.autospec/evolution/proposals/`,**立即告知用户**:
|
|
196
|
+
"本次流程产生了 {N} 个进化提案,请在方便时审批:`.autospec/evolution/proposals/`"
|
|
197
|
+
- **冻结区** → 仅在 practice-log 中标记建议
|
|
198
|
+
- 记录到 `.autospec/evolution/evolution-log.json`
|
|
199
|
+
|
|
200
|
+
### Step 4: 进化积累检查
|
|
201
|
+
扫描 `.autospec/evolution/practice-log/` 中 Pending 条目数量:
|
|
202
|
+
- 如果 ≥ 5 → **建议用户运行 `/evolve` 执行完整进化循环**
|
|
203
|
+
- 如果 < 5 → 告知用户当前积累数量
|