@zeyue0329/xiaoma-cli 1.0.37 → 1.0.39
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 +8 -4
- 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 +283 -6
- package/dist/agents/database-architect.txt +0 -322
|
@@ -3196,12 +3196,12 @@ ALWAYS cite source documents: `[Source: architecture/{filename}.md#{section}]`
|
|
|
3196
3196
|
#### 2.1 基础信息填写
|
|
3197
3197
|
|
|
3198
3198
|
```yaml
|
|
3199
|
-
epic_num:
|
|
3200
|
-
story_num:
|
|
3201
|
-
story_title_short:
|
|
3202
|
-
role:
|
|
3203
|
-
action:
|
|
3204
|
-
benefit:
|
|
3199
|
+
epic_num: "{{epic_number}}"
|
|
3200
|
+
story_num: "{{story_number}}"
|
|
3201
|
+
story_title_short: "{{story_title}}"
|
|
3202
|
+
role: "{{user_role}}"
|
|
3203
|
+
action: "{{user_action}}"
|
|
3204
|
+
benefit: "{{user_benefit}}"
|
|
3205
3205
|
```
|
|
3206
3206
|
|
|
3207
3207
|
#### 2.2 数据库设计部分填写
|
|
@@ -4711,13 +4711,13 @@ Implement fixes based on QA results (gate and assessments) for a specific story.
|
|
|
4711
4711
|
|
|
4712
4712
|
```yaml
|
|
4713
4713
|
required:
|
|
4714
|
-
- story_id:
|
|
4714
|
+
- story_id: "{epic}.{story}" # e.g., "2.2"
|
|
4715
4715
|
- qa_root: from `xiaoma-core/core-config.yaml` key `qa.qaLocation` (e.g., `docs/project/qa`)
|
|
4716
4716
|
- story_root: from `xiaoma-core/core-config.yaml` key `devStoryLocation` (e.g., `docs/project/stories`)
|
|
4717
4717
|
|
|
4718
4718
|
optional:
|
|
4719
|
-
- story_title:
|
|
4720
|
-
- story_slug:
|
|
4719
|
+
- story_title: "{title}" # derive from story H1 if missing
|
|
4720
|
+
- story_slug: "{slug}" # derive from title (lowercase, hyphenated) if missing
|
|
4721
4721
|
```
|
|
4722
4722
|
|
|
4723
4723
|
## QA Sources to Read
|
|
@@ -5042,16 +5042,16 @@ nfr_validation:
|
|
|
5042
5042
|
_assessed: [security, performance, reliability, maintainability]
|
|
5043
5043
|
security:
|
|
5044
5044
|
status: CONCERNS
|
|
5045
|
-
notes:
|
|
5045
|
+
notes: "No rate limiting on auth endpoints"
|
|
5046
5046
|
performance:
|
|
5047
5047
|
status: PASS
|
|
5048
|
-
notes:
|
|
5048
|
+
notes: "Response times < 200ms verified"
|
|
5049
5049
|
reliability:
|
|
5050
5050
|
status: PASS
|
|
5051
|
-
notes:
|
|
5051
|
+
notes: "Error handling and retries implemented"
|
|
5052
5052
|
maintainability:
|
|
5053
5053
|
status: CONCERNS
|
|
5054
|
-
notes:
|
|
5054
|
+
notes: "Test coverage at 65%, target is 80%"
|
|
5055
5055
|
```
|
|
5056
5056
|
|
|
5057
5057
|
## Deterministic Status Rules
|
|
@@ -5281,10 +5281,10 @@ performance_deep_dive:
|
|
|
5281
5281
|
p99: 350ms
|
|
5282
5282
|
database:
|
|
5283
5283
|
slow_queries: 2
|
|
5284
|
-
missing_indexes: [
|
|
5284
|
+
missing_indexes: ["users.email", "orders.user_id"]
|
|
5285
5285
|
caching:
|
|
5286
5286
|
hit_rate: 0%
|
|
5287
|
-
recommendation:
|
|
5287
|
+
recommendation: "Add Redis for session data"
|
|
5288
5288
|
load_test:
|
|
5289
5289
|
max_rps: 150
|
|
5290
5290
|
breaking_point: 200 rps
|
|
@@ -5325,11 +5325,11 @@ Slug rules:
|
|
|
5325
5325
|
|
|
5326
5326
|
```yaml
|
|
5327
5327
|
schema: 1
|
|
5328
|
-
story:
|
|
5328
|
+
story: "{epic}.{story}"
|
|
5329
5329
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
|
5330
|
-
status_reason:
|
|
5331
|
-
reviewer:
|
|
5332
|
-
updated:
|
|
5330
|
+
status_reason: "1-2 sentence explanation of gate decision"
|
|
5331
|
+
reviewer: "Quinn"
|
|
5332
|
+
updated: "{ISO-8601 timestamp}"
|
|
5333
5333
|
top_issues: [] # Empty array if no issues
|
|
5334
5334
|
waiver: { active: false } # Only set active: true if WAIVED
|
|
5335
5335
|
```
|
|
@@ -5338,20 +5338,20 @@ waiver: { active: false } # Only set active: true if WAIVED
|
|
|
5338
5338
|
|
|
5339
5339
|
```yaml
|
|
5340
5340
|
schema: 1
|
|
5341
|
-
story:
|
|
5341
|
+
story: "1.3"
|
|
5342
5342
|
gate: CONCERNS
|
|
5343
|
-
status_reason:
|
|
5344
|
-
reviewer:
|
|
5345
|
-
updated:
|
|
5343
|
+
status_reason: "Missing rate limiting on auth endpoints poses security risk."
|
|
5344
|
+
reviewer: "Quinn"
|
|
5345
|
+
updated: "2025-01-12T10:15:00Z"
|
|
5346
5346
|
top_issues:
|
|
5347
|
-
- id:
|
|
5347
|
+
- id: "SEC-001"
|
|
5348
5348
|
severity: high # ONLY: low|medium|high
|
|
5349
|
-
finding:
|
|
5350
|
-
suggested_action:
|
|
5351
|
-
- id:
|
|
5349
|
+
finding: "No rate limiting on login endpoint"
|
|
5350
|
+
suggested_action: "Add rate limiting middleware before production"
|
|
5351
|
+
- id: "TEST-001"
|
|
5352
5352
|
severity: medium
|
|
5353
|
-
finding:
|
|
5354
|
-
suggested_action:
|
|
5353
|
+
finding: "No integration tests for auth flow"
|
|
5354
|
+
suggested_action: "Add integration test coverage"
|
|
5355
5355
|
waiver: { active: false }
|
|
5356
5356
|
```
|
|
5357
5357
|
|
|
@@ -5359,20 +5359,20 @@ waiver: { active: false }
|
|
|
5359
5359
|
|
|
5360
5360
|
```yaml
|
|
5361
5361
|
schema: 1
|
|
5362
|
-
story:
|
|
5362
|
+
story: "1.3"
|
|
5363
5363
|
gate: WAIVED
|
|
5364
|
-
status_reason:
|
|
5365
|
-
reviewer:
|
|
5366
|
-
updated:
|
|
5364
|
+
status_reason: "Known issues accepted for MVP release."
|
|
5365
|
+
reviewer: "Quinn"
|
|
5366
|
+
updated: "2025-01-12T10:15:00Z"
|
|
5367
5367
|
top_issues:
|
|
5368
|
-
- id:
|
|
5368
|
+
- id: "PERF-001"
|
|
5369
5369
|
severity: low
|
|
5370
|
-
finding:
|
|
5371
|
-
suggested_action:
|
|
5370
|
+
finding: "Dashboard loads slowly with 1000+ items"
|
|
5371
|
+
suggested_action: "Implement pagination in next sprint"
|
|
5372
5372
|
waiver:
|
|
5373
5373
|
active: true
|
|
5374
|
-
reason:
|
|
5375
|
-
approved_by:
|
|
5374
|
+
reason: "MVP release - performance optimization deferred"
|
|
5375
|
+
approved_by: "Product Owner"
|
|
5376
5376
|
```
|
|
5377
5377
|
|
|
5378
5378
|
## Gate Decision Criteria
|
|
@@ -5470,10 +5470,10 @@ Perform a comprehensive test architecture review with quality gate decision. Thi
|
|
|
5470
5470
|
|
|
5471
5471
|
```yaml
|
|
5472
5472
|
required:
|
|
5473
|
-
- story_id:
|
|
5474
|
-
- story_path:
|
|
5475
|
-
- story_title:
|
|
5476
|
-
- story_slug:
|
|
5473
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
5474
|
+
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
|
5475
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
5476
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
5477
5477
|
```
|
|
5478
5478
|
|
|
5479
5479
|
## Prerequisites
|
|
@@ -5655,19 +5655,19 @@ Gate file structure:
|
|
|
5655
5655
|
|
|
5656
5656
|
```yaml
|
|
5657
5657
|
schema: 1
|
|
5658
|
-
story:
|
|
5659
|
-
story_title:
|
|
5658
|
+
story: "{epic}.{story}"
|
|
5659
|
+
story_title: "{story title}"
|
|
5660
5660
|
gate: PASS|CONCERNS|FAIL|WAIVED
|
|
5661
|
-
status_reason:
|
|
5662
|
-
reviewer:
|
|
5663
|
-
updated:
|
|
5661
|
+
status_reason: "1-2 sentence explanation of gate decision"
|
|
5662
|
+
reviewer: "Quinn (Test Architect)"
|
|
5663
|
+
updated: "{ISO-8601 timestamp}"
|
|
5664
5664
|
|
|
5665
5665
|
top_issues: [] # Empty if no issues
|
|
5666
5666
|
waiver: { active: false } # Set active: true only if WAIVED
|
|
5667
5667
|
|
|
5668
5668
|
# Extended fields (optional but recommended):
|
|
5669
5669
|
quality_score: 0-100 # 100 - (20*FAILs) - (10*CONCERNS) or use technical-preferences.md weights
|
|
5670
|
-
expires:
|
|
5670
|
+
expires: "{ISO-8601 timestamp}" # Typically 2 weeks from review
|
|
5671
5671
|
|
|
5672
5672
|
evidence:
|
|
5673
5673
|
tests_reviewed: { count }
|
|
@@ -5679,24 +5679,24 @@ evidence:
|
|
|
5679
5679
|
nfr_validation:
|
|
5680
5680
|
security:
|
|
5681
5681
|
status: PASS|CONCERNS|FAIL
|
|
5682
|
-
notes:
|
|
5682
|
+
notes: "Specific findings"
|
|
5683
5683
|
performance:
|
|
5684
5684
|
status: PASS|CONCERNS|FAIL
|
|
5685
|
-
notes:
|
|
5685
|
+
notes: "Specific findings"
|
|
5686
5686
|
reliability:
|
|
5687
5687
|
status: PASS|CONCERNS|FAIL
|
|
5688
|
-
notes:
|
|
5688
|
+
notes: "Specific findings"
|
|
5689
5689
|
maintainability:
|
|
5690
5690
|
status: PASS|CONCERNS|FAIL
|
|
5691
|
-
notes:
|
|
5691
|
+
notes: "Specific findings"
|
|
5692
5692
|
|
|
5693
5693
|
recommendations:
|
|
5694
5694
|
immediate: # Must fix before production
|
|
5695
|
-
- action:
|
|
5696
|
-
refs: [
|
|
5695
|
+
- action: "Add rate limiting"
|
|
5696
|
+
refs: ["api/auth/login.ts"]
|
|
5697
5697
|
future: # Can be addressed later
|
|
5698
|
-
- action:
|
|
5699
|
-
refs: [
|
|
5698
|
+
- action: "Consider caching"
|
|
5699
|
+
refs: ["services/data.ts"]
|
|
5700
5700
|
```
|
|
5701
5701
|
|
|
5702
5702
|
### Gate Decision Criteria
|
|
@@ -5789,10 +5789,10 @@ Generate a comprehensive risk assessment matrix for a story implementation using
|
|
|
5789
5789
|
|
|
5790
5790
|
```yaml
|
|
5791
5791
|
required:
|
|
5792
|
-
- story_id:
|
|
5793
|
-
- story_path:
|
|
5794
|
-
- story_title:
|
|
5795
|
-
- story_slug:
|
|
5792
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
5793
|
+
- story_path: "docs/stories/{epic}.{story}.*.md"
|
|
5794
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
5795
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
5796
5796
|
```
|
|
5797
5797
|
|
|
5798
5798
|
## Purpose
|
|
@@ -5862,14 +5862,14 @@ For each category, identify specific risks:
|
|
|
5862
5862
|
|
|
5863
5863
|
```yaml
|
|
5864
5864
|
risk:
|
|
5865
|
-
id:
|
|
5865
|
+
id: "SEC-001" # Use prefixes: SEC, PERF, DATA, BUS, OPS, TECH
|
|
5866
5866
|
category: security
|
|
5867
|
-
title:
|
|
5868
|
-
description:
|
|
5867
|
+
title: "Insufficient input validation on user forms"
|
|
5868
|
+
description: "Form inputs not properly sanitized could lead to XSS attacks"
|
|
5869
5869
|
affected_components:
|
|
5870
|
-
-
|
|
5871
|
-
-
|
|
5872
|
-
detection_method:
|
|
5870
|
+
- "UserRegistrationForm"
|
|
5871
|
+
- "ProfileUpdateForm"
|
|
5872
|
+
detection_method: "Code review revealed missing validation"
|
|
5873
5873
|
```
|
|
5874
5874
|
|
|
5875
5875
|
### 2. Risk Assessment
|
|
@@ -5916,20 +5916,20 @@ For each identified risk, provide mitigation:
|
|
|
5916
5916
|
|
|
5917
5917
|
```yaml
|
|
5918
5918
|
mitigation:
|
|
5919
|
-
risk_id:
|
|
5920
|
-
strategy:
|
|
5919
|
+
risk_id: "SEC-001"
|
|
5920
|
+
strategy: "preventive" # preventive|detective|corrective
|
|
5921
5921
|
actions:
|
|
5922
|
-
-
|
|
5923
|
-
-
|
|
5924
|
-
-
|
|
5925
|
-
-
|
|
5922
|
+
- "Implement input validation library (e.g., validator.js)"
|
|
5923
|
+
- "Add CSP headers to prevent XSS execution"
|
|
5924
|
+
- "Sanitize all user inputs before storage"
|
|
5925
|
+
- "Escape all outputs in templates"
|
|
5926
5926
|
testing_requirements:
|
|
5927
|
-
-
|
|
5928
|
-
-
|
|
5929
|
-
-
|
|
5930
|
-
residual_risk:
|
|
5931
|
-
owner:
|
|
5932
|
-
timeline:
|
|
5927
|
+
- "Security testing with OWASP ZAP"
|
|
5928
|
+
- "Manual penetration testing of forms"
|
|
5929
|
+
- "Unit tests for validation functions"
|
|
5930
|
+
residual_risk: "Low - Some zero-day vulnerabilities may remain"
|
|
5931
|
+
owner: "dev"
|
|
5932
|
+
timeline: "Before deployment"
|
|
5933
5933
|
```
|
|
5934
5934
|
|
|
5935
5935
|
## Outputs
|
|
@@ -5955,12 +5955,12 @@ risk_summary:
|
|
|
5955
5955
|
highest:
|
|
5956
5956
|
id: SEC-001
|
|
5957
5957
|
score: 9
|
|
5958
|
-
title:
|
|
5958
|
+
title: "XSS on profile form"
|
|
5959
5959
|
recommendations:
|
|
5960
5960
|
must_fix:
|
|
5961
|
-
-
|
|
5961
|
+
- "Add input sanitization & CSP"
|
|
5962
5962
|
monitor:
|
|
5963
|
-
-
|
|
5963
|
+
- "Add security alerts for auth endpoints"
|
|
5964
5964
|
```
|
|
5965
5965
|
|
|
5966
5966
|
### Output 2: Markdown Report
|
|
@@ -6147,10 +6147,10 @@ Create comprehensive test scenarios with appropriate test level recommendations
|
|
|
6147
6147
|
|
|
6148
6148
|
```yaml
|
|
6149
6149
|
required:
|
|
6150
|
-
- story_id:
|
|
6151
|
-
- story_path:
|
|
6152
|
-
- story_title:
|
|
6153
|
-
- story_slug:
|
|
6150
|
+
- story_id: "{epic}.{story}" # e.g., "1.3"
|
|
6151
|
+
- story_path: "{devStoryLocation}/{epic}.{story}.*.md" # Path from core-config.yaml
|
|
6152
|
+
- story_title: "{title}" # If missing, derive from story file H1
|
|
6153
|
+
- story_slug: "{slug}" # If missing, derive from title (lowercase, hyphenated)
|
|
6154
6154
|
```
|
|
6155
6155
|
|
|
6156
6156
|
## Purpose
|
|
@@ -6203,13 +6203,13 @@ For each identified test need, create:
|
|
|
6203
6203
|
|
|
6204
6204
|
```yaml
|
|
6205
6205
|
test_scenario:
|
|
6206
|
-
id:
|
|
6207
|
-
requirement:
|
|
6206
|
+
id: "{epic}.{story}-{LEVEL}-{SEQ}"
|
|
6207
|
+
requirement: "AC reference"
|
|
6208
6208
|
priority: P0|P1|P2|P3
|
|
6209
6209
|
level: unit|integration|e2e
|
|
6210
|
-
description:
|
|
6211
|
-
justification:
|
|
6212
|
-
mitigates_risks: [
|
|
6210
|
+
description: "What is being tested"
|
|
6211
|
+
justification: "Why this level was chosen"
|
|
6212
|
+
mitigates_risks: ["RISK-001"] # If risk profile exists
|
|
6213
6213
|
```
|
|
6214
6214
|
|
|
6215
6215
|
### 5. Validate Coverage
|
|
@@ -6351,21 +6351,21 @@ Identify all testable requirements from:
|
|
|
6351
6351
|
For each requirement, document which tests validate it. Use Given-When-Then to describe what the test validates (not how it's written):
|
|
6352
6352
|
|
|
6353
6353
|
```yaml
|
|
6354
|
-
requirement:
|
|
6354
|
+
requirement: "AC1: User can login with valid credentials"
|
|
6355
6355
|
test_mappings:
|
|
6356
|
-
- test_file:
|
|
6357
|
-
test_case:
|
|
6356
|
+
- test_file: "auth/login.test.ts"
|
|
6357
|
+
test_case: "should successfully login with valid email and password"
|
|
6358
6358
|
# Given-When-Then describes WHAT the test validates, not HOW it's coded
|
|
6359
|
-
given:
|
|
6360
|
-
when:
|
|
6361
|
-
then:
|
|
6359
|
+
given: "A registered user with valid credentials"
|
|
6360
|
+
when: "They submit the login form"
|
|
6361
|
+
then: "They are redirected to dashboard and session is created"
|
|
6362
6362
|
coverage: full
|
|
6363
6363
|
|
|
6364
|
-
- test_file:
|
|
6365
|
-
test_case:
|
|
6366
|
-
given:
|
|
6367
|
-
when:
|
|
6368
|
-
then:
|
|
6364
|
+
- test_file: "e2e/auth-flow.test.ts"
|
|
6365
|
+
test_case: "complete login flow"
|
|
6366
|
+
given: "User on login page"
|
|
6367
|
+
when: "Entering valid credentials and submitting"
|
|
6368
|
+
then: "Dashboard loads with user data"
|
|
6369
6369
|
coverage: integration
|
|
6370
6370
|
```
|
|
6371
6371
|
|
|
@@ -6387,19 +6387,19 @@ Document any gaps found:
|
|
|
6387
6387
|
|
|
6388
6388
|
```yaml
|
|
6389
6389
|
coverage_gaps:
|
|
6390
|
-
- requirement:
|
|
6391
|
-
gap:
|
|
6390
|
+
- requirement: "AC3: Password reset email sent within 60 seconds"
|
|
6391
|
+
gap: "No test for email delivery timing"
|
|
6392
6392
|
severity: medium
|
|
6393
6393
|
suggested_test:
|
|
6394
6394
|
type: integration
|
|
6395
|
-
description:
|
|
6395
|
+
description: "Test email service SLA compliance"
|
|
6396
6396
|
|
|
6397
|
-
- requirement:
|
|
6398
|
-
gap:
|
|
6397
|
+
- requirement: "AC5: Support 1000 concurrent users"
|
|
6398
|
+
gap: "No load testing implemented"
|
|
6399
6399
|
severity: high
|
|
6400
6400
|
suggested_test:
|
|
6401
6401
|
type: performance
|
|
6402
|
-
description:
|
|
6402
|
+
description: "Load test with 1000 concurrent connections"
|
|
6403
6403
|
```
|
|
6404
6404
|
|
|
6405
6405
|
## Outputs
|
|
@@ -6415,11 +6415,11 @@ trace:
|
|
|
6415
6415
|
full: Y
|
|
6416
6416
|
partial: Z
|
|
6417
6417
|
none: W
|
|
6418
|
-
planning_ref:
|
|
6418
|
+
planning_ref: "qa.qaLocation/assessments/{epic}.{story}-test-design-{YYYYMMDD}.md"
|
|
6419
6419
|
uncovered:
|
|
6420
|
-
- ac:
|
|
6421
|
-
reason:
|
|
6422
|
-
notes:
|
|
6420
|
+
- ac: "AC3"
|
|
6421
|
+
reason: "No test found for password reset timing"
|
|
6422
|
+
notes: "See qa.qaLocation/assessments/{epic}.{story}-trace-{YYYYMMDD}.md"
|
|
6423
6423
|
```
|
|
6424
6424
|
|
|
6425
6425
|
### Output 2: Traceability Report
|