speccrew 0.6.68 → 0.7.0
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/.speccrew/agents/speccrew-task-worker.md +1 -1
- package/.speccrew/agents/speccrew-team-leader.md +336 -189
- package/.speccrew/skills/speccrew-agentflow-manager/SKILL.md +161 -0
- package/.speccrew/skills/speccrew-agentflow-manager/workflow.agentflow.xml +347 -0
- package/.speccrew/skills/speccrew-deploy-build/SKILL.md +3 -56
- package/.speccrew/skills/speccrew-deploy-build/workflow.agentflow.xml +125 -0
- package/.speccrew/skills/speccrew-deploy-migrate/SKILL.md +3 -64
- package/.speccrew/skills/speccrew-deploy-migrate/workflow.agentflow.xml +135 -0
- package/.speccrew/skills/speccrew-deploy-smoke-test/SKILL.md +4 -156
- package/.speccrew/skills/speccrew-deploy-smoke-test/workflow.agentflow.xml +178 -0
- package/.speccrew/skills/speccrew-deploy-startup/SKILL.md +3 -135
- package/.speccrew/skills/speccrew-deploy-startup/workflow.agentflow.xml +223 -0
- package/.speccrew/skills/speccrew-dev-backend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-backend/workflow.agentflow.xml +254 -0
- package/.speccrew/skills/speccrew-dev-desktop-electron/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-desktop-electron/workflow.agentflow.xml +259 -0
- package/.speccrew/skills/speccrew-dev-desktop-tauri/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-desktop-tauri/workflow.agentflow.xml +245 -0
- package/.speccrew/skills/speccrew-dev-frontend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-frontend/workflow.agentflow.xml +262 -0
- package/.speccrew/skills/speccrew-dev-mobile/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-mobile/workflow.agentflow.xml +244 -0
- package/.speccrew/skills/speccrew-dev-review-backend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-backend/workflow.agentflow.xml +251 -0
- package/.speccrew/skills/speccrew-dev-review-desktop/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-desktop/workflow.agentflow.xml +214 -0
- package/.speccrew/skills/speccrew-dev-review-frontend/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-frontend/workflow.agentflow.xml +213 -0
- package/.speccrew/skills/speccrew-dev-review-mobile/SKILL.md +10 -2
- package/.speccrew/skills/speccrew-dev-review-mobile/workflow.agentflow.xml +214 -0
- package/.speccrew/skills/speccrew-fd-api-contract/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-api-contract/workflow.agentflow.xml +222 -0
- package/.speccrew/skills/speccrew-fd-feature-analyze/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-feature-analyze/workflow.agentflow.xml +223 -0
- package/.speccrew/skills/speccrew-fd-feature-design/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-fd-feature-design/workflow.agentflow.xml +322 -0
- package/.speccrew/skills/speccrew-get-timestamp/SKILL.md +3 -39
- package/.speccrew/skills/speccrew-get-timestamp/workflow.agentflow.xml +43 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-api-analyze/SKILL.md +57 -508
- package/.speccrew/skills/{speccrew-knowledge-bizs-api-analyze-xml/SKILL.md → speccrew-knowledge-bizs-api-analyze/workflow.agentflow.xml} +1 -154
- package/.speccrew/skills/speccrew-knowledge-bizs-api-graph/SKILL.md +73 -283
- package/.speccrew/skills/{speccrew-knowledge-bizs-api-graph-xml/SKILL.md → speccrew-knowledge-bizs-api-graph/workflow.agentflow.xml} +0 -298
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/SKILL.md +931 -801
- package/.speccrew/skills/{speccrew-knowledge-bizs-dispatch-xml/SKILL.md → speccrew-knowledge-bizs-dispatch/workflow.agentflow.xml} +42 -272
- package/.speccrew/skills/speccrew-knowledge-bizs-identify-entries/SKILL.md +263 -71
- package/.speccrew/skills/{speccrew-knowledge-bizs-identify-entries-xml/SKILL.md → speccrew-knowledge-bizs-identify-entries/workflow.agentflow.xml} +8 -184
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/SKILL.md +200 -181
- package/.speccrew/skills/{speccrew-knowledge-bizs-init-features-xml/SKILL.md → speccrew-knowledge-bizs-init-features/workflow.agentflow.xml} +7 -134
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/SKILL.md +5 -89
- package/.speccrew/skills/speccrew-knowledge-bizs-module-classify/workflow.agentflow.xml +129 -0
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze/SKILL.md +454 -326
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-analyze-xml/SKILL.md → speccrew-knowledge-bizs-ui-analyze/workflow.agentflow.xml} +8 -128
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-graph/SKILL.md +302 -247
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-graph-xml/SKILL.md → speccrew-knowledge-bizs-ui-graph/workflow.agentflow.xml} +7 -199
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract/SKILL.md +267 -156
- package/.speccrew/skills/{speccrew-knowledge-bizs-ui-style-extract-xml/SKILL.md → speccrew-knowledge-bizs-ui-style-extract/workflow.agentflow.xml} +7 -151
- package/.speccrew/skills/speccrew-knowledge-graph-query/SKILL.md +3 -122
- package/.speccrew/skills/speccrew-knowledge-graph-query/workflow.agentflow.xml +106 -0
- package/.speccrew/skills/speccrew-knowledge-graph-write/SKILL.md +3 -80
- package/.speccrew/skills/speccrew-knowledge-graph-write/workflow.agentflow.xml +152 -0
- package/.speccrew/skills/speccrew-knowledge-module-summarize/SKILL.md +371 -265
- package/.speccrew/skills/{speccrew-knowledge-module-summarize-xml/SKILL.md → speccrew-knowledge-module-summarize/workflow.agentflow.xml} +7 -197
- package/.speccrew/skills/speccrew-knowledge-system-summarize/SKILL.md +45 -333
- package/.speccrew/skills/{speccrew-knowledge-system-summarize-xml/SKILL.md → speccrew-knowledge-system-summarize/workflow.agentflow.xml} +0 -177
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/SKILL.md +174 -727
- package/.speccrew/skills/{speccrew-knowledge-techs-dispatch-xml/SKILL.md → speccrew-knowledge-techs-dispatch/workflow.agentflow.xml} +10 -351
- package/.speccrew/skills/speccrew-knowledge-techs-generate/SKILL.md +20 -150
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-xml/SKILL.md → speccrew-knowledge-techs-generate/workflow.agentflow.xml} +0 -169
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions/SKILL.md +75 -587
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-conventions-xml/SKILL.md → speccrew-knowledge-techs-generate-conventions/workflow.agentflow.xml} +0 -153
- package/.speccrew/skills/speccrew-knowledge-techs-generate-quality/SKILL.md +463 -297
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-quality-xml/SKILL.md → speccrew-knowledge-techs-generate-quality/workflow.agentflow.xml} +0 -164
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style/SKILL.md +57 -292
- package/.speccrew/skills/{speccrew-knowledge-techs-generate-ui-style-xml/SKILL.md → speccrew-knowledge-techs-generate-ui-style/workflow.agentflow.xml} +2 -193
- package/.speccrew/skills/speccrew-knowledge-techs-index/SKILL.md +49 -335
- package/.speccrew/skills/{speccrew-knowledge-techs-index-xml/SKILL.md → speccrew-knowledge-techs-index/workflow.agentflow.xml} +0 -167
- package/.speccrew/skills/speccrew-knowledge-techs-init/SKILL.md +28 -109
- package/.speccrew/skills/{speccrew-knowledge-techs-init-xml/SKILL.md → speccrew-knowledge-techs-init/workflow.agentflow.xml} +0 -189
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/SKILL.md +3 -487
- package/.speccrew/skills/speccrew-knowledge-techs-ui-analyze/workflow.agentflow.xml +278 -0
- package/.speccrew/skills/speccrew-pm-knowledge-detector/SKILL.md +3 -71
- package/.speccrew/skills/speccrew-pm-knowledge-detector/workflow.agentflow.xml +108 -0
- package/.speccrew/skills/speccrew-pm-module-initializer/SKILL.md +3 -107
- package/.speccrew/skills/speccrew-pm-module-initializer/workflow.agentflow.xml +139 -0
- package/.speccrew/skills/speccrew-pm-module-matcher/SKILL.md +3 -115
- package/.speccrew/skills/speccrew-pm-module-matcher/workflow.agentflow.xml +146 -0
- package/.speccrew/skills/speccrew-pm-requirement-analysis/SKILL.md +3 -343
- package/.speccrew/skills/speccrew-pm-requirement-analysis/workflow.agentflow.xml +174 -0
- package/.speccrew/skills/speccrew-pm-requirement-assess/SKILL.md +3 -91
- package/.speccrew/skills/speccrew-pm-requirement-assess/workflow.agentflow.xml +173 -0
- package/.speccrew/skills/speccrew-pm-requirement-clarify/SKILL.md +3 -224
- package/.speccrew/skills/speccrew-pm-requirement-clarify/workflow.agentflow.xml +159 -0
- package/.speccrew/skills/speccrew-pm-requirement-model/SKILL.md +3 -275
- package/.speccrew/skills/speccrew-pm-requirement-model/workflow.agentflow.xml +210 -0
- package/.speccrew/skills/speccrew-pm-requirement-simple/SKILL.md +3 -76
- package/.speccrew/skills/speccrew-pm-requirement-simple/workflow.agentflow.xml +120 -0
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-pm-sub-prd-generate/workflow.agentflow.xml +218 -0
- package/.speccrew/skills/speccrew-sd-backend/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-backend/workflow.agentflow.xml +264 -0
- package/.speccrew/skills/speccrew-sd-desktop/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-desktop/workflow.agentflow.xml +288 -0
- package/.speccrew/skills/speccrew-sd-framework-evaluate/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-framework-evaluate/workflow.agentflow.xml +235 -0
- package/.speccrew/skills/speccrew-sd-frontend/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-frontend/workflow.agentflow.xml +299 -0
- package/.speccrew/skills/speccrew-sd-mobile/SKILL.md +7 -1
- package/.speccrew/skills/speccrew-sd-mobile/workflow.agentflow.xml +301 -0
- package/.speccrew/skills/speccrew-test-case-design/SKILL.md +165 -284
- package/.speccrew/skills/speccrew-test-case-design/workflow.agentflow.xml +210 -0
- package/.speccrew/skills/speccrew-test-code-gen/SKILL.md +204 -324
- package/.speccrew/skills/speccrew-test-code-gen/workflow.agentflow.xml +265 -0
- package/.speccrew/skills/speccrew-test-reporter/SKILL.md +205 -184
- package/.speccrew/skills/speccrew-test-reporter/workflow.agentflow.xml +284 -0
- package/.speccrew/skills/speccrew-test-runner/SKILL.md +242 -241
- package/.speccrew/skills/speccrew-test-runner/workflow.agentflow.xml +314 -0
- package/bin/cli.js +8 -1
- package/lib/commands/validate.js +565 -0
- package/package.json +1 -1
- package/workspace-template/docs/rules/{xml-workflow-spec.md → agentflow-spec.md} +5 -5
- package/workspace-template/scripts/validate-agentflow.js +637 -0
- package/.speccrew/agents/speccrew-team-leader-xml.md +0 -480
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/STATUS-FORMATS.md +0 -99
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/batch-orchestrator.js +0 -176
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-next-batch.js +0 -150
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/get-pending-features.js +0 -106
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/mark-stale.js +0 -249
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/merge-features.js +0 -300
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/process-batch-results.js +0 -915
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch/scripts/update-feature-status.js +0 -226
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/examples/features.json +0 -34
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/generate-inventory.js +0 -1071
- package/.speccrew/skills/speccrew-knowledge-bizs-init-features/scripts/test-inventory.js +0 -26
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch/STATUS-FORMATS.md +0 -550
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<workflow id="test-case-design-main" status="pending" version="1.0" desc="Design structured test cases from Feature Spec and API Contract documents">
|
|
3
|
+
|
|
4
|
+
<!-- ============================================================
|
|
5
|
+
Input Parameters Definition
|
|
6
|
+
============================================================ -->
|
|
7
|
+
<block type="input" id="I1" desc="Workflow input parameters">
|
|
8
|
+
<field name="feature_spec_path" required="true" type="string" desc="Path to feature specification document"/>
|
|
9
|
+
<field name="api_contract_path" required="false" type="string" desc="Path to API contract document"/>
|
|
10
|
+
<field name="system_design_path" required="false" type="string" desc="Path to system design document"/>
|
|
11
|
+
<field name="output_dir" required="true" type="string" desc="Directory for test case design output"/>
|
|
12
|
+
<field name="feature_name" required="true" type="string" desc="Feature name for output file naming"/>
|
|
13
|
+
<field name="platform_id" required="true" type="string" desc="Target platform identifier"/>
|
|
14
|
+
<field name="module" required="true" type="string" desc="Module abbreviation (3-4 letters)"/>
|
|
15
|
+
</block>
|
|
16
|
+
|
|
17
|
+
<!-- ============================================================
|
|
18
|
+
Global Constraints
|
|
19
|
+
============================================================ -->
|
|
20
|
+
<block type="rule" id="R1" level="forbidden" desc="Document generation constraints">
|
|
21
|
+
<field name="text">NEVER use create_file to write the test case design document directly</field>
|
|
22
|
+
<field name="text">MUST copy template first, then fill sections with search_replace</field>
|
|
23
|
+
<field name="text">NEVER replace entire document content in a single operation</field>
|
|
24
|
+
</block>
|
|
25
|
+
|
|
26
|
+
<block type="rule" id="R2" level="mandatory" desc="Template-first workflow">
|
|
27
|
+
<field name="text">Copy template MUST execute before filling sections</field>
|
|
28
|
+
<field name="text">All section titles MUST be preserved</field>
|
|
29
|
+
</block>
|
|
30
|
+
|
|
31
|
+
<!-- ============================================================
|
|
32
|
+
Main Processing Sequence
|
|
33
|
+
============================================================ -->
|
|
34
|
+
<sequence id="S1" name="Test Case Design" status="pending" desc="Design test cases from feature specifications">
|
|
35
|
+
|
|
36
|
+
<!-- Step 1: Read Feature Spec -->
|
|
37
|
+
<block type="task" id="B1" action="read-file" desc="Read feature specification document">
|
|
38
|
+
<field name="path" value="${feature_spec_path}"/>
|
|
39
|
+
<field name="output" var="feature_spec"/>
|
|
40
|
+
</block>
|
|
41
|
+
|
|
42
|
+
<!-- Step 2: Read API Contract (if provided) -->
|
|
43
|
+
<block type="gateway" id="G1" mode="exclusive" desc="Check if API contract path is provided">
|
|
44
|
+
<branch test="${api_contract_path} != null AND ${api_contract_path} != ''">
|
|
45
|
+
<block type="task" id="B2" action="read-file" desc="Read API contract document">
|
|
46
|
+
<field name="path" value="${api_contract_path}"/>
|
|
47
|
+
<field name="output" var="api_contract"/>
|
|
48
|
+
</block>
|
|
49
|
+
</branch>
|
|
50
|
+
<branch default="true" name="No API Contract">
|
|
51
|
+
<block type="event" id="E1" action="log" level="info" desc="Log API contract skip">
|
|
52
|
+
<field name="message">API contract path not provided, skipping API contract analysis</field>
|
|
53
|
+
</block>
|
|
54
|
+
</branch>
|
|
55
|
+
</block>
|
|
56
|
+
|
|
57
|
+
<!-- Step 3: Read System Design (if provided) -->
|
|
58
|
+
<block type="gateway" id="G2" mode="exclusive" desc="Check if system design path is provided">
|
|
59
|
+
<branch test="${system_design_path} != null AND ${system_design_path} != ''">
|
|
60
|
+
<block type="task" id="B3" action="read-file" desc="Read system design document">
|
|
61
|
+
<field name="path" value="${system_design_path}"/>
|
|
62
|
+
<field name="output" var="system_design"/>
|
|
63
|
+
</block>
|
|
64
|
+
</branch>
|
|
65
|
+
<branch default="true" name="No System Design">
|
|
66
|
+
<block type="event" id="E2" action="log" level="info" desc="Log system design skip">
|
|
67
|
+
<field name="message">System design path not provided, skipping system design analysis</field>
|
|
68
|
+
</block>
|
|
69
|
+
</branch>
|
|
70
|
+
</block>
|
|
71
|
+
|
|
72
|
+
<!-- Step 4: Read Testing Conventions (optional) -->
|
|
73
|
+
<block type="task" id="B4" action="read-file" desc="Read testing conventions if available">
|
|
74
|
+
<field name="path" value="speccrew-workspace/knowledges/techs/${platform_id}/conventions-system-test.md"/>
|
|
75
|
+
<field name="optional" value="true"/>
|
|
76
|
+
<field name="output" var="testing_conventions"/>
|
|
77
|
+
</block>
|
|
78
|
+
|
|
79
|
+
<!-- Step 5: Analyze Test Dimensions -->
|
|
80
|
+
<block type="task" id="B5" action="analyze" desc="Analyze test dimensions for comprehensive coverage">
|
|
81
|
+
<field name="input_feature_spec" value="${feature_spec}"/>
|
|
82
|
+
<field name="input_api_contract" value="${api_contract}"/>
|
|
83
|
+
<field name="input_system_design" value="${system_design}"/>
|
|
84
|
+
<field name="input_conventions" value="${testing_conventions}"/>
|
|
85
|
+
<field name="analysis_dimensions">
|
|
86
|
+
- Functional Positive Tests (Happy Path)
|
|
87
|
+
- Boundary Value Tests
|
|
88
|
+
- Exception/Error Handling Tests
|
|
89
|
+
- Business Rule Constraint Tests
|
|
90
|
+
- Permission/Security Tests
|
|
91
|
+
- Data Validation Tests
|
|
92
|
+
- State Transition Tests (if applicable)
|
|
93
|
+
</field>
|
|
94
|
+
<field name="output" var="test_dimensions_analysis"/>
|
|
95
|
+
</block>
|
|
96
|
+
|
|
97
|
+
<!-- Step 6: Generate Test Case Matrix -->
|
|
98
|
+
<block type="task" id="B6" action="generate" desc="Generate structured test case matrix">
|
|
99
|
+
<field name="input_analysis" value="${test_dimensions_analysis}"/>
|
|
100
|
+
<field name="module" value="${module}"/>
|
|
101
|
+
<field name="naming_convention">TC-{MODULE}-{SEQ}</field>
|
|
102
|
+
<field name="priority_mapping">
|
|
103
|
+
- P0 (Critical) → P0-Critical
|
|
104
|
+
- P1 (Important) → P1-High
|
|
105
|
+
- P2 (Standard) → P2-Medium
|
|
106
|
+
- P3 (Minor) → P3-Low
|
|
107
|
+
</field>
|
|
108
|
+
<field name="output" var="test_case_matrix"/>
|
|
109
|
+
</block>
|
|
110
|
+
|
|
111
|
+
<!-- Step 7: Coverage Self-Check -->
|
|
112
|
+
<block type="task" id="B7" action="analyze" desc="Perform coverage self-check against acceptance criteria">
|
|
113
|
+
<field name="input_test_cases" value="${test_case_matrix}"/>
|
|
114
|
+
<field name="input_acceptance_criteria" value="${feature_spec.acceptance_criteria}"/>
|
|
115
|
+
<field name="validation_rules">
|
|
116
|
+
- Each acceptance criterion has corresponding test case(s)
|
|
117
|
+
- Test case fully validates the criterion
|
|
118
|
+
- Coverage status marked for each requirement
|
|
119
|
+
</field>
|
|
120
|
+
<field name="output" var="coverage_check"/>
|
|
121
|
+
</block>
|
|
122
|
+
|
|
123
|
+
<!-- Gateway: Handle coverage gaps -->
|
|
124
|
+
<block type="gateway" id="G3" mode="exclusive" desc="Check for uncovered acceptance criteria">
|
|
125
|
+
<branch test="${coverage_check.uncovered_count} > 0">
|
|
126
|
+
<block type="task" id="B8" action="generate" desc="Generate additional test cases for uncovered items">
|
|
127
|
+
<field name="uncovered_items" value="${coverage_check.uncovered}"/>
|
|
128
|
+
<field name="existing_cases" value="${test_case_matrix}"/>
|
|
129
|
+
<field name="output" var="additional_cases"/>
|
|
130
|
+
</block>
|
|
131
|
+
<block type="task" id="B9" action="analyze" desc="Merge additional cases into matrix">
|
|
132
|
+
<field name="original_cases" value="${test_case_matrix}"/>
|
|
133
|
+
<field name="additional_cases" value="${additional_cases}"/>
|
|
134
|
+
<field name="output" var="final_test_case_matrix"/>
|
|
135
|
+
</block>
|
|
136
|
+
</branch>
|
|
137
|
+
<branch default="true" name="Full Coverage">
|
|
138
|
+
<block type="event" id="E3" action="log" level="info" desc="Log full coverage">
|
|
139
|
+
<field name="message">All acceptance criteria covered by test cases</field>
|
|
140
|
+
</block>
|
|
141
|
+
<block type="task" id="B10" action="analyze" desc="Assign final matrix">
|
|
142
|
+
<field name="input" value="${test_case_matrix}"/>
|
|
143
|
+
<field name="output" var="final_test_case_matrix"/>
|
|
144
|
+
</block>
|
|
145
|
+
</branch>
|
|
146
|
+
</block>
|
|
147
|
+
|
|
148
|
+
<!-- Step 8: Read Template -->
|
|
149
|
+
<block type="task" id="B11" action="read-file" desc="Read test case design template">
|
|
150
|
+
<field name="path" value="speccrew-test-case-design/templates/TEST-CASE-DESIGN-TEMPLATE.md"/>
|
|
151
|
+
<field name="output" var="template_content"/>
|
|
152
|
+
</block>
|
|
153
|
+
|
|
154
|
+
<!-- Step 9: Create Output Document -->
|
|
155
|
+
<block type="task" id="B12" action="write-file" desc="Create test case design document from template">
|
|
156
|
+
<field name="path" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
157
|
+
<field name="template" value="${template_content}"/>
|
|
158
|
+
<field name="placeholders">
|
|
159
|
+
- feature_name: ${feature_name}
|
|
160
|
+
- module: ${module}
|
|
161
|
+
- platform_id: ${platform_id}
|
|
162
|
+
- date: ${timestamp}
|
|
163
|
+
</field>
|
|
164
|
+
<field name="output" var="document_created"/>
|
|
165
|
+
</block>
|
|
166
|
+
|
|
167
|
+
<!-- Step 10: Fill Document Sections -->
|
|
168
|
+
<block type="task" id="B13" action="edit-file" desc="Fill Test Overview section">
|
|
169
|
+
<field name="path" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
170
|
+
<field name="section">Test Overview</field>
|
|
171
|
+
<field name="content" value="${feature_spec.overview}"/>
|
|
172
|
+
</block>
|
|
173
|
+
|
|
174
|
+
<block type="task" id="B14" action="edit-file" desc="Fill Test Case Matrix section">
|
|
175
|
+
<field name="path" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
176
|
+
<field name="section">Test Case Matrix</field>
|
|
177
|
+
<field name="content" value="${final_test_case_matrix}"/>
|
|
178
|
+
</block>
|
|
179
|
+
|
|
180
|
+
<block type="task" id="B15" action="edit-file" desc="Fill Test Data Definition section">
|
|
181
|
+
<field name="path" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
182
|
+
<field name="section">Test Data Definition</field>
|
|
183
|
+
<field name="content" value="${test_dimensions_analysis.test_data}"/>
|
|
184
|
+
</block>
|
|
185
|
+
|
|
186
|
+
<block type="task" id="B16" action="edit-file" desc="Fill Coverage Traceability section">
|
|
187
|
+
<field name="path" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
188
|
+
<field name="section">Coverage Traceability</field>
|
|
189
|
+
<field name="content" value="${coverage_check.traceability_matrix}"/>
|
|
190
|
+
</block>
|
|
191
|
+
|
|
192
|
+
<!-- Checkpoint: Verify document completeness -->
|
|
193
|
+
<block type="checkpoint" id="CP1" name="document-complete" desc="Verify test case design document is complete">
|
|
194
|
+
<field name="file" value="${output_dir}/${feature_name}-test-case-design.md"/>
|
|
195
|
+
<field name="verify" value="file_exists(${output_dir}/${feature_name}-test-case-design.md)"/>
|
|
196
|
+
</block>
|
|
197
|
+
|
|
198
|
+
</sequence>
|
|
199
|
+
|
|
200
|
+
<!-- ============================================================
|
|
201
|
+
Output Results
|
|
202
|
+
============================================================ -->
|
|
203
|
+
<block type="output" id="O1" desc="Workflow output results">
|
|
204
|
+
<field name="test_case_design_path" value="${output_dir}/${feature_name}-test-case-design.md" type="string" desc="Path to generated test case design document"/>
|
|
205
|
+
<field name="test_case_count" from="${final_test_case_matrix.count}" type="number" desc="Total number of test cases designed"/>
|
|
206
|
+
<field name="coverage_status" from="${coverage_check.status}" type="string" desc="Coverage status (full/partial)"/>
|
|
207
|
+
<field name="test_dimensions_covered" from="${test_dimensions_analysis.dimensions}" type="array" desc="List of test dimensions covered"/>
|
|
208
|
+
</block>
|
|
209
|
+
|
|
210
|
+
</workflow>
|