@zeyue0329/xiaoma-cli 1.0.36 → 1.0.38
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/.idea/workspace.xml +27 -26
- package/JAVA-BACKEND-COMMANDS-REFERENCE.md +62 -52
- package/JAVA-BACKEND-ITERATION-GUIDE.md +125 -18
- package/README.md +1 -1
- package/common/utils/bmad-doc-template.md +5 -5
- package/dist/agents/analyst.txt +35 -5
- package/dist/agents/architect.txt +217 -31
- package/dist/agents/automation-orchestrator.txt +4 -4
- package/dist/agents/dev.txt +3 -3
- package/dist/agents/full-requirement-orchestrator.txt +11 -11
- package/dist/agents/qa.txt +102 -102
- package/dist/agents/sm.txt +6 -6
- package/dist/agents/ux-expert.txt +6 -1
- package/dist/agents/workflow-executor.txt +879 -0
- package/dist/agents/xiaoma-master.txt +258 -37
- package/dist/teams/team-all.txt +1223 -445
- package/dist/teams/team-fullstack-with-database.txt +384 -446
- package/dist/teams/team-fullstack.txt +258 -37
- package/dist/teams/team-ide-minimal.txt +111 -111
- package/dist/teams/team-no-ui.txt +252 -36
- package/docs/architecture-sharding-modification.md +623 -0
- package/docs/automated-requirements-analysis-outputs.md +896 -0
- package/package.json +1 -1
- package/tools/builders/web-builder.js +292 -142
- package/tools/bump-all-versions.js +50 -32
- package/tools/cli.js +52 -47
- package/tools/flattener/aggregate.js +30 -12
- package/tools/flattener/binary.js +46 -43
- package/tools/flattener/discovery.js +23 -15
- package/tools/flattener/files.js +6 -6
- package/tools/flattener/ignoreRules.js +122 -121
- package/tools/flattener/main.js +249 -144
- package/tools/flattener/projectRoot.js +74 -69
- package/tools/flattener/prompts.js +12 -10
- package/tools/flattener/stats.helpers.js +90 -61
- package/tools/flattener/stats.js +1 -1
- package/tools/flattener/test-matrix.js +225 -170
- package/tools/flattener/xml.js +31 -23
- package/tools/installer/bin/xiaoma.js +199 -153
- package/tools/installer/lib/config-loader.js +76 -47
- package/tools/installer/lib/file-manager.js +101 -44
- package/tools/installer/lib/ide-base-setup.js +49 -39
- package/tools/installer/lib/ide-setup.js +694 -380
- package/tools/installer/lib/installer.js +802 -469
- package/tools/installer/lib/memory-profiler.js +22 -12
- package/tools/installer/lib/module-manager.js +16 -14
- package/tools/installer/lib/resource-locator.js +61 -35
- package/tools/lib/dependency-resolver.js +34 -23
- package/tools/lib/yaml-utils.js +7 -2
- package/tools/preview-release-notes.js +33 -25
- package/tools/shared/bannerArt.js +3 -3
- package/tools/sync-installer-version.js +16 -7
- package/tools/upgraders/v3-to-v4-upgrader.js +244 -163
- package/tools/version-bump.js +24 -18
- package/tools/xiaoma-npx-wrapper.js +15 -10
- package/tools/yaml-format.js +60 -36
- package/xiaoma-core/agent-teams/team-fullstack-with-database.yaml +0 -1
- package/xiaoma-core/agents/automated-fix-validator.yaml +2 -1
- package/xiaoma-core/agents/automated-quality-validator.yaml +10 -5
- package/xiaoma-core/agents/automation-orchestrator.md +4 -4
- package/xiaoma-core/agents/dev.md +4 -4
- package/xiaoma-core/agents/enhanced-workflow-orchestrator.yaml +2 -1
- package/xiaoma-core/agents/full-requirement-orchestrator.md +11 -11
- package/xiaoma-core/agents/global-requirements-auditor.yaml +11 -3
- package/xiaoma-core/agents/intelligent-template-adapter.yaml +19 -5
- package/xiaoma-core/agents/master-execution-engine.yaml +19 -5
- package/xiaoma-core/agents/workflow-executor.md +126 -18
- package/xiaoma-core/agents/xiaoma-master.md +1 -1
- package/xiaoma-core/data/test-levels-framework.md +12 -12
- package/xiaoma-core/tasks/analyze-existing-database.md +1 -1
- package/xiaoma-core/tasks/apply-qa-fixes.md +3 -3
- package/xiaoma-core/tasks/batch-story-generation.md +22 -22
- package/xiaoma-core/tasks/create-enhanced-story-with-database.md +6 -6
- package/xiaoma-core/tasks/nfr-assess.md +6 -6
- package/xiaoma-core/tasks/project-integration-testing.md +42 -42
- package/xiaoma-core/tasks/qa-gate.md +23 -23
- package/xiaoma-core/tasks/review-story.md +18 -18
- package/xiaoma-core/tasks/risk-profile.md +25 -25
- package/xiaoma-core/tasks/serial-development-orchestration.md +51 -51
- package/xiaoma-core/tasks/test-design.md +9 -9
- package/xiaoma-core/tasks/trace-requirements.md +21 -21
- package/xiaoma-core/templates/competitor-analysis-tmpl.yaml +35 -5
- package/xiaoma-core/templates/front-end-architecture-tmpl.yaml +77 -11
- package/xiaoma-core/templates/front-end-spec-tmpl.yaml +6 -1
- package/xiaoma-core/templates/fullstack-architecture-tmpl.yaml +140 -20
- package/xiaoma-core/templates/global-qa-monitoring-tmpl.yaml +2 -1
- package/xiaoma-core/templates/requirements-coverage-audit.yaml +2 -1
- package/xiaoma-core/workflows/automated-requirements-analysis.yaml +4 -4
- package/dist/agents/database-architect.txt +0 -322
|
@@ -351,46 +351,46 @@ delivery_readiness:
|
|
|
351
351
|
# integration_test_report.yaml
|
|
352
352
|
test_report:
|
|
353
353
|
executive_summary:
|
|
354
|
-
overall_status:
|
|
355
|
-
system_readiness:
|
|
354
|
+
overall_status: "PASSED"
|
|
355
|
+
system_readiness: "READY_FOR_DEPLOYMENT"
|
|
356
356
|
critical_issues: 0
|
|
357
357
|
total_test_cases: 2847
|
|
358
358
|
pass_rate: 98.7%
|
|
359
359
|
|
|
360
360
|
module_integration_results:
|
|
361
361
|
user_management_module:
|
|
362
|
-
status:
|
|
362
|
+
status: "PASSED"
|
|
363
363
|
test_cases: 456
|
|
364
364
|
pass_rate: 99.1%
|
|
365
365
|
critical_issues: 0
|
|
366
366
|
|
|
367
367
|
data_management_module:
|
|
368
|
-
status:
|
|
368
|
+
status: "PASSED"
|
|
369
369
|
test_cases: 623
|
|
370
370
|
pass_rate: 98.9%
|
|
371
371
|
critical_issues: 0
|
|
372
372
|
|
|
373
373
|
performance_results:
|
|
374
374
|
load_testing:
|
|
375
|
-
baseline_load:
|
|
376
|
-
peak_load:
|
|
377
|
-
sustained_load:
|
|
375
|
+
baseline_load: "PASSED"
|
|
376
|
+
peak_load: "PASSED"
|
|
377
|
+
sustained_load: "PASSED"
|
|
378
378
|
|
|
379
379
|
response_time_analysis:
|
|
380
|
-
average_api_response:
|
|
381
|
-
p95_response_time:
|
|
382
|
-
p99_response_time:
|
|
380
|
+
average_api_response: "245ms"
|
|
381
|
+
p95_response_time: "680ms"
|
|
382
|
+
p99_response_time: "1.2s"
|
|
383
383
|
|
|
384
384
|
security_assessment:
|
|
385
|
-
vulnerability_scan:
|
|
386
|
-
penetration_test:
|
|
387
|
-
compliance_check:
|
|
385
|
+
vulnerability_scan: "PASSED"
|
|
386
|
+
penetration_test: "PASSED"
|
|
387
|
+
compliance_check: "PASSED"
|
|
388
388
|
high_severity_issues: 0
|
|
389
389
|
|
|
390
390
|
recommendations:
|
|
391
|
-
-
|
|
392
|
-
-
|
|
393
|
-
-
|
|
391
|
+
- "优化数据库查询性能,减少p99响应时间"
|
|
392
|
+
- "增加API监控告警机制"
|
|
393
|
+
- "完善错误处理和用户友好提示"
|
|
394
394
|
```
|
|
395
395
|
|
|
396
396
|
### 交付清单
|
|
@@ -399,28 +399,28 @@ test_report:
|
|
|
399
399
|
# delivery_checklist.yaml
|
|
400
400
|
delivery_package:
|
|
401
401
|
code_deliverables:
|
|
402
|
-
- source_code:
|
|
403
|
-
- build_artifacts:
|
|
404
|
-
- database_scripts:
|
|
405
|
-
- configuration_files:
|
|
402
|
+
- source_code: "完整源代码包"
|
|
403
|
+
- build_artifacts: "构建产物"
|
|
404
|
+
- database_scripts: "数据库部署脚本"
|
|
405
|
+
- configuration_files: "配置文件模板"
|
|
406
406
|
|
|
407
407
|
documentation:
|
|
408
|
-
- api_documentation:
|
|
409
|
-
- deployment_guide:
|
|
410
|
-
- user_manual:
|
|
411
|
-
- maintenance_guide:
|
|
408
|
+
- api_documentation: "API接口文档"
|
|
409
|
+
- deployment_guide: "部署指南"
|
|
410
|
+
- user_manual: "用户使用手册"
|
|
411
|
+
- maintenance_guide: "维护运营指南"
|
|
412
412
|
|
|
413
413
|
test_artifacts:
|
|
414
|
-
- test_suites:
|
|
415
|
-
- test_data:
|
|
416
|
-
- performance_benchmarks:
|
|
417
|
-
- security_audit_report:
|
|
414
|
+
- test_suites: "完整测试套件"
|
|
415
|
+
- test_data: "测试数据集"
|
|
416
|
+
- performance_benchmarks: "性能基准报告"
|
|
417
|
+
- security_audit_report: "安全审计报告"
|
|
418
418
|
|
|
419
419
|
operational_requirements:
|
|
420
|
-
- infrastructure_specifications:
|
|
421
|
-
- monitoring_configuration:
|
|
422
|
-
- backup_procedures:
|
|
423
|
-
- disaster_recovery_plan:
|
|
420
|
+
- infrastructure_specifications: "基础设施规格"
|
|
421
|
+
- monitoring_configuration: "监控配置"
|
|
422
|
+
- backup_procedures: "备份程序"
|
|
423
|
+
- disaster_recovery_plan: "灾难恢复计划"
|
|
424
424
|
```
|
|
425
425
|
|
|
426
426
|
## Integration with Full Requirement Orchestrator
|
|
@@ -430,21 +430,21 @@ delivery_package:
|
|
|
430
430
|
```yaml
|
|
431
431
|
orchestrator_integration:
|
|
432
432
|
trigger_conditions:
|
|
433
|
-
all_stories_completed:
|
|
434
|
-
individual_story_tests_passed:
|
|
435
|
-
dependency_integration_ready:
|
|
433
|
+
all_stories_completed: "所有用户故事状态为Done"
|
|
434
|
+
individual_story_tests_passed: "所有故事单元测试通过"
|
|
435
|
+
dependency_integration_ready: "依赖集成就绪"
|
|
436
436
|
|
|
437
|
-
execution_command:
|
|
437
|
+
execution_command: "*execute-project-integration"
|
|
438
438
|
|
|
439
439
|
success_criteria:
|
|
440
|
-
integration_tests_passed:
|
|
441
|
-
performance_benchmarks_met:
|
|
442
|
-
security_validation_complete:
|
|
440
|
+
integration_tests_passed: "集成测试100%通过"
|
|
441
|
+
performance_benchmarks_met: "性能基准达标"
|
|
442
|
+
security_validation_complete: "安全验证完成"
|
|
443
443
|
|
|
444
444
|
failure_handling:
|
|
445
|
-
rollback_strategy:
|
|
446
|
-
issue_triage:
|
|
447
|
-
remediation_planning:
|
|
445
|
+
rollback_strategy: "回滚到最后稳定版本"
|
|
446
|
+
issue_triage: "问题分级和分配"
|
|
447
|
+
remediation_planning: "修复计划制定"
|
|
448
448
|
```
|
|
449
449
|
|
|
450
450
|
## Usage Examples
|
|
@@ -29,11 +29,11 @@ Slug rules:
|
|
|
29
29
|
|
|
30
30
|
```yaml
|
|
31
31
|
schema: 1
|
|
32
|
-
story:
|
|
32
|
+
story: "{epic}.{story}"
|
|
33
33
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
|
34
|
-
status_reason:
|
|
35
|
-
reviewer:
|
|
36
|
-
updated:
|
|
34
|
+
status_reason: "1-2 sentence explanation of gate decision"
|
|
35
|
+
reviewer: "Quinn"
|
|
36
|
+
updated: "{ISO-8601 timestamp}"
|
|
37
37
|
top_issues: [] # Empty array if no issues
|
|
38
38
|
waiver: { active: false } # Only set active: true if WAIVED
|
|
39
39
|
```
|
|
@@ -42,20 +42,20 @@ waiver: { active: false } # Only set active: true if WAIVED
|
|
|
42
42
|
|
|
43
43
|
```yaml
|
|
44
44
|
schema: 1
|
|
45
|
-
story:
|
|
45
|
+
story: "1.3"
|
|
46
46
|
gate: CONCERNS
|
|
47
|
-
status_reason:
|
|
48
|
-
reviewer:
|
|
49
|
-
updated:
|
|
47
|
+
status_reason: "Missing rate limiting on auth endpoints poses security risk."
|
|
48
|
+
reviewer: "Quinn"
|
|
49
|
+
updated: "2025-01-12T10:15:00Z"
|
|
50
50
|
top_issues:
|
|
51
|
-
- id:
|
|
51
|
+
- id: "SEC-001"
|
|
52
52
|
severity: high # ONLY: low|medium|high
|
|
53
|
-
finding:
|
|
54
|
-
suggested_action:
|
|
55
|
-
- id:
|
|
53
|
+
finding: "No rate limiting on login endpoint"
|
|
54
|
+
suggested_action: "Add rate limiting middleware before production"
|
|
55
|
+
- id: "TEST-001"
|
|
56
56
|
severity: medium
|
|
57
|
-
finding:
|
|
58
|
-
suggested_action:
|
|
57
|
+
finding: "No integration tests for auth flow"
|
|
58
|
+
suggested_action: "Add integration test coverage"
|
|
59
59
|
waiver: { active: false }
|
|
60
60
|
```
|
|
61
61
|
|
|
@@ -63,20 +63,20 @@ waiver: { active: false }
|
|
|
63
63
|
|
|
64
64
|
```yaml
|
|
65
65
|
schema: 1
|
|
66
|
-
story:
|
|
66
|
+
story: "1.3"
|
|
67
67
|
gate: WAIVED
|
|
68
|
-
status_reason:
|
|
69
|
-
reviewer:
|
|
70
|
-
updated:
|
|
68
|
+
status_reason: "Known issues accepted for MVP release."
|
|
69
|
+
reviewer: "Quinn"
|
|
70
|
+
updated: "2025-01-12T10:15:00Z"
|
|
71
71
|
top_issues:
|
|
72
|
-
- id:
|
|
72
|
+
- id: "PERF-001"
|
|
73
73
|
severity: low
|
|
74
|
-
finding:
|
|
75
|
-
suggested_action:
|
|
74
|
+
finding: "Dashboard loads slowly with 1000+ items"
|
|
75
|
+
suggested_action: "Implement pagination in next sprint"
|
|
76
76
|
waiver:
|
|
77
77
|
active: true
|
|
78
|
-
reason:
|
|
79
|
-
approved_by:
|
|
78
|
+
reason: "MVP release - performance optimization deferred"
|
|
79
|
+
approved_by: "Product Owner"
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## Gate Decision Criteria
|
|
@@ -8,10 +8,10 @@ Perform a comprehensive test architecture review with quality gate decision. Thi
|
|
|
8
8
|
|
|
9
9
|
```yaml
|
|
10
10
|
required:
|
|
11
|
-
- story_id:
|
|
12
|
-
- story_path:
|
|
13
|
-
- story_title:
|
|
14
|
-
- story_slug:
|
|
11
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
12
|
+
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
|
13
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
14
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Prerequisites
|
|
@@ -193,19 +193,19 @@ Gate file structure:
|
|
|
193
193
|
|
|
194
194
|
```yaml
|
|
195
195
|
schema: 1
|
|
196
|
-
story:
|
|
197
|
-
story_title:
|
|
196
|
+
story: "{epic}.{story}"
|
|
197
|
+
story_title: "{story title}"
|
|
198
198
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
|
199
|
-
status_reason:
|
|
200
|
-
reviewer:
|
|
201
|
-
updated:
|
|
199
|
+
status_reason: "1-2 sentence explanation of gate decision"
|
|
200
|
+
reviewer: "Quinn (Test Architect)"
|
|
201
|
+
updated: "{ISO-8601 timestamp}"
|
|
202
202
|
|
|
203
203
|
top_issues: [] # Empty if no issues
|
|
204
204
|
waiver: { active: false } # Set active: true only if WAIVED
|
|
205
205
|
|
|
206
206
|
# Extended fields (optional but recommended):
|
|
207
207
|
quality_score: 0-100 # 100 - (20*FAILs) - (10*CONCERNS) or use technical-preferences.md weights
|
|
208
|
-
expires:
|
|
208
|
+
expires: "{ISO-8601 timestamp}" # Typically 2 weeks from review
|
|
209
209
|
|
|
210
210
|
evidence:
|
|
211
211
|
tests_reviewed: { count }
|
|
@@ -217,24 +217,24 @@ evidence:
|
|
|
217
217
|
nfr_validation:
|
|
218
218
|
security:
|
|
219
219
|
status: PASS|CONCERNS|FAIL
|
|
220
|
-
notes:
|
|
220
|
+
notes: "Specific findings"
|
|
221
221
|
performance:
|
|
222
222
|
status: PASS|CONCERNS|FAIL
|
|
223
|
-
notes:
|
|
223
|
+
notes: "Specific findings"
|
|
224
224
|
reliability:
|
|
225
225
|
status: PASS|CONCERNS|FAIL
|
|
226
|
-
notes:
|
|
226
|
+
notes: "Specific findings"
|
|
227
227
|
maintainability:
|
|
228
228
|
status: PASS|CONCERNS|FAIL
|
|
229
|
-
notes:
|
|
229
|
+
notes: "Specific findings"
|
|
230
230
|
|
|
231
231
|
recommendations:
|
|
232
232
|
immediate: # Must fix before production
|
|
233
|
-
- action:
|
|
234
|
-
refs: [
|
|
233
|
+
- action: "Add rate limiting"
|
|
234
|
+
refs: ["api/auth/login.ts"]
|
|
235
235
|
future: # Can be addressed later
|
|
236
|
-
- action:
|
|
237
|
-
refs: [
|
|
236
|
+
- action: "Consider caching"
|
|
237
|
+
refs: ["services/data.ts"]
|
|
238
238
|
```
|
|
239
239
|
|
|
240
240
|
### Gate Decision Criteria
|
|
@@ -8,10 +8,10 @@ Generate a comprehensive risk assessment matrix for a story implementation using
|
|
|
8
8
|
|
|
9
9
|
```yaml
|
|
10
10
|
required:
|
|
11
|
-
- story_id:
|
|
12
|
-
- story_path:
|
|
13
|
-
- story_title:
|
|
14
|
-
- story_slug:
|
|
11
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
12
|
+
- story_path: "docs/stories/{epic}.{story}.*.md"
|
|
13
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
14
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Purpose
|
|
@@ -81,14 +81,14 @@ For each category, identify specific risks:
|
|
|
81
81
|
|
|
82
82
|
```yaml
|
|
83
83
|
risk:
|
|
84
|
-
id:
|
|
84
|
+
id: "SEC-001" # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
|
|
85
85
|
category: security
|
|
86
|
-
title:
|
|
87
|
-
description:
|
|
86
|
+
title: "Insufficient input validation on user forms"
|
|
87
|
+
description: "Form inputs not properly sanitized could lead to XSS attacks"
|
|
88
88
|
affected_components:
|
|
89
|
-
-
|
|
90
|
-
-
|
|
91
|
-
detection_method:
|
|
89
|
+
- "UserRegistrationForm"
|
|
90
|
+
- "ProfileUpdateForm"
|
|
91
|
+
detection_method: "Code review revealed missing validation"
|
|
92
92
|
```
|
|
93
93
|
|
|
94
94
|
### 2. Risk Assessment
|
|
@@ -135,20 +135,20 @@ For each identified risk, provide mitigation:
|
|
|
135
135
|
|
|
136
136
|
```yaml
|
|
137
137
|
mitigation:
|
|
138
|
-
risk_id:
|
|
139
|
-
strategy:
|
|
138
|
+
risk_id: "SEC-001"
|
|
139
|
+
strategy: "preventive" # preventive|detective|corrective
|
|
140
140
|
actions:
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
141
|
+
- "Implement input validation library (e.g., validator.js)"
|
|
142
|
+
- "Add CSP headers to prevent XSS execution"
|
|
143
|
+
- "Sanitize all user inputs before storage"
|
|
144
|
+
- "Escape all outputs in templates"
|
|
145
145
|
testing_requirements:
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
-
|
|
149
|
-
residual_risk:
|
|
150
|
-
owner:
|
|
151
|
-
timeline:
|
|
146
|
+
- "Security testing with OWASP ZAP"
|
|
147
|
+
- "Manual penetration testing of forms"
|
|
148
|
+
- "Unit tests for validation functions"
|
|
149
|
+
residual_risk: "Low - Some zero-day vulnerabilities may remain"
|
|
150
|
+
owner: "dev"
|
|
151
|
+
timeline: "Before deployment"
|
|
152
152
|
```
|
|
153
153
|
|
|
154
154
|
## Outputs
|
|
@@ -174,12 +174,12 @@ risk_summary:
|
|
|
174
174
|
highest:
|
|
175
175
|
id: SEC-001
|
|
176
176
|
score: 9
|
|
177
|
-
title:
|
|
177
|
+
title: "XSS on profile form"
|
|
178
178
|
recommendations:
|
|
179
179
|
must_fix:
|
|
180
|
-
-
|
|
180
|
+
- "Add input sanitization & CSP"
|
|
181
181
|
monitor:
|
|
182
|
-
-
|
|
182
|
+
- "Add security alerts for auth endpoints"
|
|
183
183
|
```
|
|
184
184
|
|
|
185
185
|
### Output 2: Markdown Report
|
|
@@ -56,15 +56,15 @@ pipeline_design:
|
|
|
56
56
|
pipeline_count: 1 # 单一串行流水线
|
|
57
57
|
|
|
58
58
|
serial_pipeline:
|
|
59
|
-
focus:
|
|
60
|
-
execution_policy:
|
|
61
|
-
completion_requirement:
|
|
59
|
+
focus: "严格串行执行所有故事"
|
|
60
|
+
execution_policy: "one_task_at_a_time"
|
|
61
|
+
completion_requirement: "100%_before_next"
|
|
62
62
|
|
|
63
63
|
story_execution_order:
|
|
64
|
-
priority_1_foundation: [
|
|
65
|
-
priority_2_core: [
|
|
66
|
-
priority_3_features: [
|
|
67
|
-
priority_4_support: [
|
|
64
|
+
priority_1_foundation: ["用户认证", "权限管理", "基础数据模型"]
|
|
65
|
+
priority_2_core: ["主要业务流程", "核心数据操作"]
|
|
66
|
+
priority_3_features: ["扩展功能", "用户体验优化"]
|
|
67
|
+
priority_4_support: ["监控", "配置", "工具功能"]
|
|
68
68
|
|
|
69
69
|
quality_gates:
|
|
70
70
|
strict_validation:
|
|
@@ -80,28 +80,28 @@ pipeline_design:
|
|
|
80
80
|
synchronization_design:
|
|
81
81
|
sync_points:
|
|
82
82
|
foundation_completion:
|
|
83
|
-
trigger:
|
|
84
|
-
validation:
|
|
85
|
-
quality_gate:
|
|
86
|
-
next_stage:
|
|
83
|
+
trigger: "基础故事100%完成"
|
|
84
|
+
validation: "基础API和数据模型完全就绪"
|
|
85
|
+
quality_gate: "通过所有测试和质量检查"
|
|
86
|
+
next_stage: "核心业务开发启动"
|
|
87
87
|
|
|
88
88
|
core_business_completion:
|
|
89
|
-
trigger:
|
|
90
|
-
validation:
|
|
91
|
-
quality_gate:
|
|
92
|
-
next_stage:
|
|
89
|
+
trigger: "核心业务故事100%完成"
|
|
90
|
+
validation: "主要业务流程完全就绪"
|
|
91
|
+
quality_gate: "通过所有集成测试"
|
|
92
|
+
next_stage: "特性功能开发启动"
|
|
93
93
|
|
|
94
94
|
features_completion:
|
|
95
|
-
trigger:
|
|
96
|
-
validation:
|
|
97
|
-
quality_gate:
|
|
98
|
-
next_stage:
|
|
95
|
+
trigger: "特性功能故事100%完成"
|
|
96
|
+
validation: "所有特性功能完全就绪"
|
|
97
|
+
quality_gate: "通过端到端测试"
|
|
98
|
+
next_stage: "优化支撑功能启动"
|
|
99
99
|
|
|
100
100
|
final_completion:
|
|
101
|
-
trigger:
|
|
102
|
-
validation:
|
|
103
|
-
quality_gate:
|
|
104
|
-
next_stage:
|
|
101
|
+
trigger: "所有故事100%完成"
|
|
102
|
+
validation: "完整产品就绪"
|
|
103
|
+
quality_gate: "通过最终验收测试"
|
|
104
|
+
next_stage: "项目交付准备"
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
### 第4步: 质量门控实施
|
|
@@ -114,31 +114,31 @@ quality_gates:
|
|
|
114
114
|
|
|
115
115
|
gate_1_foundation:
|
|
116
116
|
requirements:
|
|
117
|
-
- code_coverage:
|
|
118
|
-
- unit_tests:
|
|
119
|
-
- integration_tests:
|
|
120
|
-
- code_quality:
|
|
117
|
+
- code_coverage: ">=95%"
|
|
118
|
+
- unit_tests: "all_passing"
|
|
119
|
+
- integration_tests: "all_passing"
|
|
120
|
+
- code_quality: "A_grade"
|
|
121
121
|
|
|
122
122
|
gate_2_core:
|
|
123
123
|
requirements:
|
|
124
|
-
- api_tests:
|
|
125
|
-
- business_logic_tests:
|
|
126
|
-
- database_tests:
|
|
127
|
-
- performance_tests:
|
|
124
|
+
- api_tests: "all_passing"
|
|
125
|
+
- business_logic_tests: "all_passing"
|
|
126
|
+
- database_tests: "all_passing"
|
|
127
|
+
- performance_tests: "baseline_met"
|
|
128
128
|
|
|
129
129
|
gate_3_features:
|
|
130
130
|
requirements:
|
|
131
|
-
- feature_tests:
|
|
132
|
-
- ui_tests:
|
|
133
|
-
- cross_browser_tests:
|
|
134
|
-
- accessibility_tests:
|
|
131
|
+
- feature_tests: "all_passing"
|
|
132
|
+
- ui_tests: "all_passing"
|
|
133
|
+
- cross_browser_tests: "all_passing"
|
|
134
|
+
- accessibility_tests: "all_passing"
|
|
135
135
|
|
|
136
136
|
gate_4_final:
|
|
137
137
|
requirements:
|
|
138
|
-
- end_to_end_tests:
|
|
139
|
-
- security_scan:
|
|
140
|
-
- performance_benchmark:
|
|
141
|
-
- user_acceptance:
|
|
138
|
+
- end_to_end_tests: "all_passing"
|
|
139
|
+
- security_scan: "no_critical_issues"
|
|
140
|
+
- performance_benchmark: "meets_requirements"
|
|
141
|
+
- user_acceptance: "approved"
|
|
142
142
|
```
|
|
143
143
|
|
|
144
144
|
### 第5步: 执行监控和控制
|
|
@@ -153,7 +153,7 @@ execution_control:
|
|
|
153
153
|
- blocking_issues: 阻塞问题
|
|
154
154
|
|
|
155
155
|
progress_reporting:
|
|
156
|
-
frequency:
|
|
156
|
+
frequency: "continuous"
|
|
157
157
|
metrics:
|
|
158
158
|
- story_completion_status: 故事完成状态
|
|
159
159
|
- quality_gate_status: 质量门控状态
|
|
@@ -265,7 +265,7 @@ ${final_validation_results}
|
|
|
265
265
|
triggers:
|
|
266
266
|
primary:
|
|
267
267
|
condition: story_backlog_ready
|
|
268
|
-
trigger:
|
|
268
|
+
trigger: "*orchestrate-serial-development"
|
|
269
269
|
|
|
270
270
|
dependencies:
|
|
271
271
|
required_inputs:
|
|
@@ -289,10 +289,10 @@ success_criteria:
|
|
|
289
289
|
- deliverable_ready: 交付物就绪
|
|
290
290
|
|
|
291
291
|
quality:
|
|
292
|
-
- code_coverage:
|
|
293
|
-
- test_pass_rate:
|
|
294
|
-
- defect_density:
|
|
295
|
-
- performance_baseline:
|
|
292
|
+
- code_coverage: ">=95%"
|
|
293
|
+
- test_pass_rate: "100%"
|
|
294
|
+
- defect_density: "<=0.1 per KLOC"
|
|
295
|
+
- performance_baseline: "met"
|
|
296
296
|
|
|
297
297
|
process:
|
|
298
298
|
- strict_sequence_followed: 严格按序执行
|
|
@@ -319,16 +319,16 @@ error_handling:
|
|
|
319
319
|
|
|
320
320
|
quality_failures:
|
|
321
321
|
test_failures:
|
|
322
|
-
action:
|
|
323
|
-
escalation:
|
|
322
|
+
action: "stop_and_fix"
|
|
323
|
+
escalation: "immediate"
|
|
324
324
|
|
|
325
325
|
coverage_below_threshold:
|
|
326
|
-
action:
|
|
327
|
-
requirement:
|
|
326
|
+
action: "stop_and_improve"
|
|
327
|
+
requirement: "meet_coverage_target"
|
|
328
328
|
|
|
329
329
|
integration_failures:
|
|
330
|
-
action:
|
|
331
|
-
validation:
|
|
330
|
+
action: "rollback_and_debug"
|
|
331
|
+
validation: "complete_retest"
|
|
332
332
|
```
|
|
333
333
|
|
|
334
334
|
## Integration Points
|
|
@@ -8,10 +8,10 @@ Create comprehensive test scenarios with appropriate test level recommendations
|
|
|
8
8
|
|
|
9
9
|
```yaml
|
|
10
10
|
required:
|
|
11
|
-
- story_id:
|
|
12
|
-
- story_path:
|
|
13
|
-
- story_title:
|
|
14
|
-
- story_slug:
|
|
11
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
12
|
+
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
|
13
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
14
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
## Purpose
|
|
@@ -64,13 +64,13 @@ For each identified test need, create:
|
|
|
64
64
|
|
|
65
65
|
```yaml
|
|
66
66
|
test_scenario:
|
|
67
|
-
id:
|
|
68
|
-
requirement:
|
|
67
|
+
id: "{epic}.{story}-{LEVEL}-{SEQ}"
|
|
68
|
+
requirement: "AC reference"
|
|
69
69
|
priority: P0|P1|P2|P3
|
|
70
70
|
level: unit|integration|e2e
|
|
71
|
-
description:
|
|
72
|
-
justification:
|
|
73
|
-
mitigates_risks: [
|
|
71
|
+
description: "What is being tested"
|
|
72
|
+
justification: "Why this level was chosen"
|
|
73
|
+
mitigates_risks: ["RISK-001"] # If risk profile exists
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
### 5. Validate Coverage
|