speccrew 0.6.48 → 0.6.49
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/skills/speccrew-knowledge-bizs-api-analyze-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-api-graph-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-dispatch-xml/SKILL.md +7 -4
- package/.speccrew/skills/speccrew-knowledge-bizs-identify-entries-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-analyze-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-graph-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-bizs-ui-style-extract-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-module-summarize-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-system-summarize-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-techs-dispatch-xml/SKILL.md +5 -2
- package/.speccrew/skills/speccrew-knowledge-techs-generate-conventions-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-techs-generate-quality-xml/SKILL.md +125 -217
- package/.speccrew/skills/speccrew-knowledge-techs-generate-ui-style-xml/SKILL.md +128 -155
- package/.speccrew/skills/speccrew-knowledge-techs-generate-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-techs-index-xml/SKILL.md +4 -1
- package/.speccrew/skills/speccrew-knowledge-techs-init-xml/SKILL.md +4 -1
- package/package.json +1 -1
|
@@ -32,10 +32,10 @@ Worker Agent (speccrew-task-worker)
|
|
|
32
32
|
---
|
|
33
33
|
|
|
34
34
|
## XML Workflow Definition
|
|
35
|
-
|
|
35
|
+
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: `speccrew-workspace/docs/rules/xml-workflow-spec.md`
|
|
36
|
+
```xml
|
|
37
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
36
38
|
<workflow id="techs-quality-check" status="pending" version="1.0" desc="Quality assurance for tech documentation">
|
|
37
|
-
> **REQUIRED**: Before executing this workflow, read the XML workflow specification: `docs/rules/xml-workflow-spec.md`
|
|
38
|
-
|
|
39
39
|
<!-- ============================================================
|
|
40
40
|
Input Parameters Definition
|
|
41
41
|
============================================================ -->
|
|
@@ -81,30 +81,14 @@ Worker Agent (speccrew-task-worker)
|
|
|
81
81
|
<!-- ============================================================
|
|
82
82
|
Step 1: Read Generated Documentation
|
|
83
83
|
============================================================ -->
|
|
84
|
+
<!-- Step 1: Read Generated Documentation -->
|
|
84
85
|
<block type="task" id="S1-B1" action="run-skill" status="pending" desc="Read all generated documentation files">
|
|
85
|
-
<description>Read all generated documentation files in the platform directory</
|
|
86
|
-
<
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
<file>{platform_dir}/conventions-dev.md</file>
|
|
92
|
-
<file>{platform_dir}/conventions-unit-test.md</file>
|
|
93
|
-
<file>{platform_dir}/conventions-system-test.md</file>
|
|
94
|
-
<file>{platform_dir}/conventions-build.md</file>
|
|
95
|
-
</required-documents>
|
|
96
|
-
<optional-documents>
|
|
97
|
-
<file condition="backend OR has_data_layer">{platform_dir}/conventions-data.md</file>
|
|
98
|
-
<file condition="frontend">{platform_dir}/ui-style/ui-style-guide.md</file>
|
|
99
|
-
</optional-documents>
|
|
100
|
-
<analysis-report>
|
|
101
|
-
<file>{platform_id}.analysis.json</file>
|
|
102
|
-
</analysis-report>
|
|
103
|
-
<output var="documents_read"/>
|
|
104
|
-
<record>
|
|
105
|
-
<item>All files found</item>
|
|
106
|
-
<item>File sizes</item>
|
|
107
|
-
</record>
|
|
86
|
+
<field name="description">Read all generated documentation files in the platform directory</field>
|
|
87
|
+
<field name="required_documents">INDEX.md, tech-stack.md, architecture.md, conventions-design.md, conventions-dev.md, conventions-unit-test.md, conventions-system-test.md, conventions-build.md</field>
|
|
88
|
+
<field name="optional_documents">conventions-data.md (backend OR has_data_layer), ui-style/ui-style-guide.md (frontend)</field>
|
|
89
|
+
<field name="analysis_report">{platform_id}.analysis.json</field>
|
|
90
|
+
<field name="output" var="documents_read"/>
|
|
91
|
+
<field name="record">All files found, File sizes</field>
|
|
108
92
|
</block>
|
|
109
93
|
|
|
110
94
|
<block type="checkpoint" id="CP1" name="documents_read" desc="All documents read">
|
|
@@ -115,65 +99,27 @@ Worker Agent (speccrew-task-worker)
|
|
|
115
99
|
Step 2: Completeness Check
|
|
116
100
|
============================================================ -->
|
|
117
101
|
<block type="task" id="S2-B1" action="run-skill" status="pending" desc="Perform completeness check">
|
|
118
|
-
<description>Verify all expected documents and sections exist</
|
|
102
|
+
<field name="description">Verify all expected documents and sections exist</field>
|
|
119
103
|
|
|
120
104
|
<!-- 2.1 Document Existence Check -->
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
<row condition="web/mobile/desktop" additional="+ ui-style/ui-style-guide.md"/>
|
|
126
|
-
</check>
|
|
127
|
-
</subtask>
|
|
105
|
+
<!-- document_existence: Check documents based on platform_type -->
|
|
106
|
+
<field name="check">All platforms require: INDEX.md, tech-stack.md, architecture.md, conventions-design.md, conventions-dev.md, conventions-unit-test.md, conventions-system-test.md, conventions-build.md</field>
|
|
107
|
+
<field name="check">Backend platforms additionally require: conventions-data.md</field>
|
|
108
|
+
<field name="check">Web/mobile/desktop platforms additionally require: ui-style/ui-style-guide.md</field>
|
|
128
109
|
|
|
129
110
|
<!-- 2.2 Section Completeness Check -->
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
</document>
|
|
137
|
-
<document name="tech-stack.md">
|
|
138
|
-
<check-item>Overview section</check-item>
|
|
139
|
-
<check-item>Core Technologies table</check-item>
|
|
140
|
-
<check-item>Dependencies section (grouped by category)</check-item>
|
|
141
|
-
<check-item>Development Tools section</check-item>
|
|
142
|
-
<check-item>Configuration Files list</check-item>
|
|
143
|
-
</document>
|
|
144
|
-
<document name="architecture.md">
|
|
145
|
-
<check-item>Component/Module Architecture section</check-item>
|
|
146
|
-
<check-item>State Management / Dependency Injection section</check-item>
|
|
147
|
-
<check-item>API Integration / Module Organization section</check-item>
|
|
148
|
-
<check-item>Styling Approach / Middleware section</check-item>
|
|
149
|
-
</document>
|
|
150
|
-
<document name="conventions-dev.md">
|
|
151
|
-
<check-item>Naming Conventions section</check-item>
|
|
152
|
-
<check-item>Directory Structure section</check-item>
|
|
153
|
-
<check-item>Code Style section</check-item>
|
|
154
|
-
<check-item>Import/Export Patterns section</check-item>
|
|
155
|
-
<check-item>Pre-Development Checklist section</check-item>
|
|
156
|
-
</document>
|
|
157
|
-
<document name="conventions-build.md">
|
|
158
|
-
<check-item>Build Tool & Configuration section</check-item>
|
|
159
|
-
<check-item>Environment Management section</check-item>
|
|
160
|
-
<check-item>Build Profiles & Outputs section</check-item>
|
|
161
|
-
</document>
|
|
162
|
-
</subtask>
|
|
111
|
+
<!-- section_completeness: Verify required sections in each document -->
|
|
112
|
+
<field name="check">INDEX.md must contain: Platform summary, Technology stack overview, Navigation links to all convention documents, Agent usage guide</field>
|
|
113
|
+
<field name="check">tech-stack.md must contain: Overview section, Core Technologies table, Dependencies section (grouped by category), Development Tools section, Configuration Files list</field>
|
|
114
|
+
<field name="check">architecture.md must contain: Component/Module Architecture section, State Management / Dependency Injection section, API Integration / Module Organization section, Styling Approach / Middleware section</field>
|
|
115
|
+
<field name="check">conventions-dev.md must contain: Naming Conventions section, Directory Structure section, Code Style section, Import/Export Patterns section, Pre-Development Checklist section</field>
|
|
116
|
+
<field name="check">conventions-build.md must contain: Build Tool & Configuration section, Environment Management section, Build Profiles & Outputs section</field>
|
|
163
117
|
|
|
164
118
|
<!-- 2.3 Analysis Report Completeness -->
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
<check-item>analyzed_at timestamp</check-item>
|
|
170
|
-
<check-item>topics object with all expected topics</check-item>
|
|
171
|
-
<check-item>documents_generated array</check-item>
|
|
172
|
-
<check-item>coverage_summary object</check-item>
|
|
173
|
-
</check>
|
|
174
|
-
</subtask>
|
|
175
|
-
|
|
176
|
-
<output var="completeness_result"/>
|
|
119
|
+
<!-- analysis_report_completeness: Verify analysis.json structure -->
|
|
120
|
+
<field name="check">{platform_id}.analysis.json must contain: platform_id field, platform_type field, analyzed_at timestamp, topics object with all expected topics, documents_generated array, coverage_summary object</field>
|
|
121
|
+
|
|
122
|
+
<field name="output" var="completeness_result"/>
|
|
177
123
|
</block>
|
|
178
124
|
|
|
179
125
|
<block type="event" id="E2" action="log" level="info" desc="Completeness check result">
|
|
@@ -188,42 +134,38 @@ Worker Agent (speccrew-task-worker)
|
|
|
188
134
|
Step 3: Cross-Validation
|
|
189
135
|
============================================================ -->
|
|
190
136
|
<block type="task" id="S3-B1" action="run-skill" status="pending" desc="Perform cross-validation">
|
|
191
|
-
<description>Verify information is consistent across documents and with source code</
|
|
137
|
+
<field name="description">Verify information is consistent across documents and with source code</field>
|
|
192
138
|
|
|
193
139
|
<!-- 3.1 Version Consistency Check -->
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
</subtask>
|
|
140
|
+
<!-- version_consistency: Read {source_path}/package.json and verify versions -->
|
|
141
|
+
<field name="action">Read {source_path}/package.json</field>
|
|
142
|
+
<field name="check">Framework versions match documentation</field>
|
|
143
|
+
<field name="check">Key dependency versions match documentation</field>
|
|
144
|
+
<field name="check">Build tool versions match documentation</field>
|
|
145
|
+
<field name="output" var="version_checks"/>
|
|
201
146
|
|
|
202
147
|
<!-- 3.2 Dependency Reference Consistency -->
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
</subtask>
|
|
148
|
+
<!-- dependency_consistency: Verify dependencies exist and formats match -->
|
|
149
|
+
<field name="check">Each dependency in tech-stack.md exists in package.json</field>
|
|
150
|
+
<field name="check">Version format is consistent</field>
|
|
151
|
+
<field name="output" var="dependency_checks"/>
|
|
208
152
|
|
|
209
153
|
<!-- 3.3 Cross-Document Reference Check -->
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
</subtask>
|
|
154
|
+
<!-- cross_document_references: Verify cross-references between documents -->
|
|
155
|
+
<field name="check">INDEX.md links to all other documents</field>
|
|
156
|
+
<field name="check">conventions-design.md references ui-style/ui-style-guide.md (for frontend)</field>
|
|
157
|
+
<field name="check">All documents have consistent platform_id references</field>
|
|
158
|
+
<field name="check">All documents have consistent platform_type references</field>
|
|
159
|
+
<field name="output" var="reference_checks"/>
|
|
217
160
|
|
|
218
161
|
<!-- 3.4 Configuration File Reference Check -->
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
<output var="cross_validation_result"/>
|
|
162
|
+
<!-- config_file_references: Verify config file paths point to existing files -->
|
|
163
|
+
<field name="check">ESLint config path → file exists</field>
|
|
164
|
+
<field name="check">Prettier config path → file exists</field>
|
|
165
|
+
<field name="check">Build config path → file exists</field>
|
|
166
|
+
<field name="output" var="config_checks"/>
|
|
167
|
+
|
|
168
|
+
<field name="output" var="cross_validation_result"/>
|
|
227
169
|
</block>
|
|
228
170
|
|
|
229
171
|
<block type="event" id="E3" action="log" level="info" desc="Cross-validation result">
|
|
@@ -238,42 +180,38 @@ Worker Agent (speccrew-task-worker)
|
|
|
238
180
|
Step 4: Consistency Check
|
|
239
181
|
============================================================ -->
|
|
240
182
|
<block type="task" id="S4-B1" action="run-skill" status="pending" desc="Perform consistency check">
|
|
241
|
-
<description>Verify naming conventions and style are uniform across all documents</
|
|
183
|
+
<field name="description">Verify naming conventions and style are uniform across all documents</field>
|
|
242
184
|
|
|
243
185
|
<!-- 4.1 Naming Convention Consistency -->
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
</subtask>
|
|
186
|
+
<!-- naming_conventions: Check naming patterns match conventions-dev.md -->
|
|
187
|
+
<field name="check">Component naming (PascalCase vs camelCase) matches conventions-dev.md</field>
|
|
188
|
+
<field name="check">File naming conventions match conventions-dev.md</field>
|
|
189
|
+
<field name="check">Variable naming conventions match conventions-dev.md</field>
|
|
190
|
+
<field name="output" var="naming_issues"/>
|
|
250
191
|
|
|
251
192
|
<!-- 4.2 Platform Terminology Consistency -->
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
</subtask>
|
|
193
|
+
<!-- terminology_consistency: Verify consistent terminology usage -->
|
|
194
|
+
<field name="check">Platform identifier is consistent (e.g., web-react vs react-web)</field>
|
|
195
|
+
<field name="check">Framework name is consistent (e.g., React vs react)</field>
|
|
196
|
+
<field name="check">Language name is consistent (e.g., TypeScript vs Typescript)</field>
|
|
197
|
+
<field name="output" var="terminology_issues"/>
|
|
258
198
|
|
|
259
199
|
<!-- 4.3 Code Style Consistency -->
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
</subtask>
|
|
200
|
+
<!-- code_style_consistency: Verify code style matches conventions-dev.md -->
|
|
201
|
+
<field name="check">Quote style matches conventions-dev.md (single vs double)</field>
|
|
202
|
+
<field name="check">Semicolon usage matches conventions-dev.md</field>
|
|
203
|
+
<field name="check">Indentation style matches conventions-dev.md</field>
|
|
204
|
+
<field name="output" var="style_issues"/>
|
|
266
205
|
|
|
267
206
|
<!-- 4.4 UI Reference Consistency (Frontend Platforms) -->
|
|
268
207
|
<block type="gateway" id="G4" mode="guard" test="${platform_type} IN ['web', 'mobile', 'desktop']" desc="Check UI reference for frontend platforms">
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
</subtask>
|
|
208
|
+
<!-- ui_reference_consistency: Verify UI style references for frontend platforms -->
|
|
209
|
+
<field name="check">conventions-design.md contains reference to ui-style/ui-style-guide.md</field>
|
|
210
|
+
<field name="check">ui_style_analysis_level indicator exists</field>
|
|
211
|
+
<field name="output" var="ui_reference_issues"/>
|
|
274
212
|
</block>
|
|
275
213
|
|
|
276
|
-
<output var="consistency_result"/>
|
|
214
|
+
<field name="output" var="consistency_result"/>
|
|
277
215
|
</block>
|
|
278
216
|
|
|
279
217
|
<block type="event" id="E4" action="log" level="info" desc="Consistency check result">
|
|
@@ -288,45 +226,35 @@ Worker Agent (speccrew-task-worker)
|
|
|
288
226
|
Step 5: Source Traceability Check
|
|
289
227
|
============================================================ -->
|
|
290
228
|
<block type="task" id="S5-B1" action="run-skill" status="pending" desc="Perform source traceability check">
|
|
291
|
-
<description>Verify all documents properly cite their sources</
|
|
229
|
+
<field name="description">Verify all documents properly cite their sources</field>
|
|
292
230
|
|
|
293
231
|
<!-- 5.1 File Reference Block Check -->
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
</loop>
|
|
300
|
-
<output var="cite_block_checks"/>
|
|
301
|
-
</subtask>
|
|
232
|
+
<!-- file_reference_blocks: For each document, verify file reference blocks -->
|
|
233
|
+
<field name="check">File reference block exists at document beginning</field>
|
|
234
|
+
<field name="check">Contains list of referenced files</field>
|
|
235
|
+
<field name="check">File paths use relative paths (NOT absolute or file://)</field>
|
|
236
|
+
<field name="output" var="cite_block_checks"/>
|
|
302
237
|
|
|
303
238
|
<!-- 5.2 Diagram Source Annotation Check -->
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
</loop>
|
|
310
|
-
<output var="diagram_source_checks"/>
|
|
311
|
-
</subtask>
|
|
239
|
+
<!-- diagram_source_annotations: For each Mermaid diagram, verify source annotations -->
|
|
240
|
+
<field name="check">**Diagram Source** annotation exists after diagram</field>
|
|
241
|
+
<field name="check">Source file path is provided</field>
|
|
242
|
+
<field name="check">Path uses relative format</field>
|
|
243
|
+
<field name="output" var="diagram_source_checks"/>
|
|
312
244
|
|
|
313
245
|
<!-- 5.3 Section Source Annotation Check -->
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
</loop>
|
|
318
|
-
<output var="section_source_checks"/>
|
|
319
|
-
</subtask>
|
|
246
|
+
<!-- section_source_annotations: For each major section, verify source annotations -->
|
|
247
|
+
<field name="check">**Section Source** annotation exists at section end OR generic guidance note is present</field>
|
|
248
|
+
<field name="output" var="section_source_checks"/>
|
|
320
249
|
|
|
321
250
|
<!-- 5.4 Path Format Validation -->
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
<output var="traceability_result"/>
|
|
251
|
+
<!-- path_format_validation: Verify path formats are correct -->
|
|
252
|
+
<field name="check">No paths start with drive letter (e.g., d:/, C:\)</field>
|
|
253
|
+
<field name="check">No paths use file:// protocol</field>
|
|
254
|
+
<field name="check">Correct relative depth used (e.g., ../../../../ for 4 levels)</field>
|
|
255
|
+
<field name="output" var="path_format_issues"/>
|
|
256
|
+
|
|
257
|
+
<field name="output" var="traceability_result"/>
|
|
330
258
|
</block>
|
|
331
259
|
|
|
332
260
|
<block type="event" id="E5" action="log" level="info" desc="Source traceability result">
|
|
@@ -341,38 +269,31 @@ Worker Agent (speccrew-task-worker)
|
|
|
341
269
|
Step 6: Mermaid Compatibility Check
|
|
342
270
|
============================================================ -->
|
|
343
271
|
<block type="task" id="S6-B1" action="run-skill" status="pending" desc="Perform Mermaid compatibility check">
|
|
344
|
-
<description>Verify all Mermaid diagrams are compatible with standard rendering</
|
|
272
|
+
<field name="description">Verify all Mermaid diagrams are compatible with standard rendering</field>
|
|
345
273
|
|
|
346
274
|
<!-- 6.1 Forbidden Elements Check -->
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
</loop>
|
|
354
|
-
<output var="forbidden_element_issues"/>
|
|
355
|
-
</subtask>
|
|
275
|
+
<!-- forbidden_elements: For each Mermaid diagram, check for forbidden elements -->
|
|
276
|
+
<field name="check">No `style` definitions</field>
|
|
277
|
+
<field name="check">No `direction` keyword</field>
|
|
278
|
+
<field name="check">No HTML tags (e.g., <br/>, <div>)</field>
|
|
279
|
+
<field name="check">No nested subgraphs</field>
|
|
280
|
+
<field name="output" var="forbidden_element_issues"/>
|
|
356
281
|
|
|
357
282
|
<!-- 6.2 Syntax Validation -->
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
</loop>
|
|
364
|
-
<output var="syntax_issues"/>
|
|
365
|
-
</subtask>
|
|
283
|
+
<!-- syntax_validation: For each Mermaid diagram, verify syntax -->
|
|
284
|
+
<field name="check">Valid diagram type declaration</field>
|
|
285
|
+
<field name="check">Properly closed brackets</field>
|
|
286
|
+
<field name="check">Valid node syntax</field>
|
|
287
|
+
<field name="output" var="syntax_issues"/>
|
|
366
288
|
|
|
367
289
|
<!-- 6.3 Diagram Type Usage -->
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
<output var="mermaid_result"/>
|
|
290
|
+
<!-- diagram_type_usage: Verify correct diagram types are used -->
|
|
291
|
+
<field name="check">Use graph TB/LR for structure diagrams</field>
|
|
292
|
+
<field name="check">Use flowchart TD for process diagrams</field>
|
|
293
|
+
<field name="check">Use sequenceDiagram for API diagrams</field>
|
|
294
|
+
<field name="output" var="type_usage_issues"/>
|
|
295
|
+
|
|
296
|
+
<field name="output" var="mermaid_result"/>
|
|
376
297
|
</block>
|
|
377
298
|
|
|
378
299
|
<block type="event" id="E6" action="log" level="info" desc="Mermaid compatibility result">
|
|
@@ -387,9 +308,9 @@ Worker Agent (speccrew-task-worker)
|
|
|
387
308
|
Step 7: Generate Quality Report
|
|
388
309
|
============================================================ -->
|
|
389
310
|
<block type="task" id="S7-B1" action="run-script" status="pending" desc="Generate quality report JSON">
|
|
390
|
-
<description>Generate comprehensive quality report in JSON format</
|
|
391
|
-
<
|
|
392
|
-
<format>
|
|
311
|
+
<field name="description">Generate comprehensive quality report in JSON format</field>
|
|
312
|
+
<field name="output_file">{platform_dir}/quality-report.json</field>
|
|
313
|
+
<field name="format">
|
|
393
314
|
{
|
|
394
315
|
"platform_id": "{platform_id}",
|
|
395
316
|
"platform_type": "{platform_type}",
|
|
@@ -435,13 +356,9 @@ Worker Agent (speccrew-task-worker)
|
|
|
435
356
|
},
|
|
436
357
|
"recommendations": []
|
|
437
358
|
}
|
|
438
|
-
</
|
|
439
|
-
<
|
|
440
|
-
|
|
441
|
-
<warning-penalty>Warnings count as 0.5 towards failed</warning-penalty>
|
|
442
|
-
<critical-penalty>Critical failures (missing required documents) deduct 10 points each</critical-penalty>
|
|
443
|
-
</quality-score-calculation>
|
|
444
|
-
<output var="quality_report"/>
|
|
359
|
+
</field>
|
|
360
|
+
<field name="quality_score_calculation">quality_score = (passed / total_checks) * 100; Warnings count as 0.5 towards failed; Critical failures (missing required documents) deduct 10 points each</field>
|
|
361
|
+
<field name="output" var="quality_report"/>
|
|
445
362
|
</block>
|
|
446
363
|
|
|
447
364
|
<block type="checkpoint" id="CP7" name="quality_report_generated" desc="Quality report generated">
|
|
@@ -452,12 +369,10 @@ Worker Agent (speccrew-task-worker)
|
|
|
452
369
|
Step 8: Write Completion Marker
|
|
453
370
|
============================================================ -->
|
|
454
371
|
<block type="task" id="S8-B1" action="run-script" status="pending" desc="Write completion marker">
|
|
455
|
-
<description>Create completion marker file to signal quality check completion</
|
|
456
|
-
<validation>
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
<output-file>{platform_dir}/quality-done.json</output-file>
|
|
460
|
-
<format>
|
|
372
|
+
<field name="description">Create completion marker file to signal quality check completion</field>
|
|
373
|
+
<field name="validation">MUST verify quality-report.json exists before writing marker</field>
|
|
374
|
+
<field name="output_file">{platform_dir}/quality-done.json</field>
|
|
375
|
+
<field name="format">
|
|
461
376
|
{
|
|
462
377
|
"platform_id": "{platform_id}",
|
|
463
378
|
"status": "completed",
|
|
@@ -465,12 +380,9 @@ Worker Agent (speccrew-task-worker)
|
|
|
465
380
|
"report_path": "quality-report.json",
|
|
466
381
|
"completed_at": "{ISO 8601 timestamp}"
|
|
467
382
|
}
|
|
468
|
-
</
|
|
469
|
-
<
|
|
470
|
-
|
|
471
|
-
<value name="failed">Critical error during quality check</value>
|
|
472
|
-
</status-values>
|
|
473
|
-
<output var="completion_marker"/>
|
|
383
|
+
</field>
|
|
384
|
+
<field name="status_values">completed: Quality check finished successfully; failed: Critical error during quality check</field>
|
|
385
|
+
<field name="output" var="completion_marker"/>
|
|
474
386
|
</block>
|
|
475
387
|
|
|
476
388
|
<block type="event" id="E8" action="log" level="info" desc="Quality check complete">
|
|
@@ -498,12 +410,7 @@ Worker Agent (speccrew-task-worker)
|
|
|
498
410
|
<field name="quality_score" from="${quality_report.summary.quality_score}" type="number"/>
|
|
499
411
|
<field name="quality_report" from="${platform_dir}/quality-report.json" type="string"/>
|
|
500
412
|
<field name="completion_marker" from="${platform_dir}/quality-done.json" type="string"/>
|
|
501
|
-
<field name="summary">
|
|
502
|
-
<total_checks from="${quality_report.summary.total_checks}"/>
|
|
503
|
-
<passed from="${quality_report.summary.passed}"/>
|
|
504
|
-
<warnings from="${quality_report.summary.warnings}"/>
|
|
505
|
-
<failed from="${quality_report.summary.failed}"/>
|
|
506
|
-
</field>
|
|
413
|
+
<field name="summary">total_checks: ${quality_report.summary.total_checks}, passed: ${quality_report.summary.passed}, warnings: ${quality_report.summary.warnings}, failed: ${quality_report.summary.failed}</field>
|
|
507
414
|
</block>
|
|
508
415
|
|
|
509
416
|
<!-- ============================================================
|
|
@@ -545,6 +452,7 @@ Worker Agent (speccrew-task-worker)
|
|
|
545
452
|
</block>
|
|
546
453
|
|
|
547
454
|
</workflow>
|
|
455
|
+
```
|
|
548
456
|
|
|
549
457
|
---
|
|
550
458
|
|