@sparkleideas/plugin-agentic-qe 3.0.0-alpha.5
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/README.md +318 -0
- package/agents/architect.yaml +11 -0
- package/agents/coder.yaml +11 -0
- package/agents/reviewer.yaml +10 -0
- package/agents/security-architect.yaml +10 -0
- package/agents/tester.yaml +10 -0
- package/package.json +96 -0
- package/plugin.yaml +1095 -0
package/plugin.yaml
ADDED
|
@@ -0,0 +1,1095 @@
|
|
|
1
|
+
# agentic-qe Plugin Manifest
|
|
2
|
+
# Quality Engineering plugin for Claude Flow V3
|
|
3
|
+
|
|
4
|
+
name: agentic-qe
|
|
5
|
+
version: 3.2.3
|
|
6
|
+
description: |
|
|
7
|
+
Comprehensive Quality Engineering plugin with 51 specialized agents
|
|
8
|
+
across 12 DDD bounded contexts. Features AI-powered test generation,
|
|
9
|
+
O(log n) coverage analysis, defect prediction, security compliance,
|
|
10
|
+
contract testing, visual/accessibility testing, and chaos engineering.
|
|
11
|
+
|
|
12
|
+
author: rUv
|
|
13
|
+
license: MIT
|
|
14
|
+
homepage: https://github.com/ruvnet/agentic-qe
|
|
15
|
+
repository: https://github.com/ruvnet/agentic-qe
|
|
16
|
+
|
|
17
|
+
# Plugin metadata
|
|
18
|
+
metadata:
|
|
19
|
+
category: quality-engineering
|
|
20
|
+
tags:
|
|
21
|
+
- testing
|
|
22
|
+
- quality
|
|
23
|
+
- coverage
|
|
24
|
+
- security
|
|
25
|
+
- tdd
|
|
26
|
+
- bdd
|
|
27
|
+
- chaos-engineering
|
|
28
|
+
- accessibility
|
|
29
|
+
stability: stable
|
|
30
|
+
minClaudeFlowVersion: "3.0.0-alpha.50"
|
|
31
|
+
|
|
32
|
+
# Dependencies
|
|
33
|
+
dependencies:
|
|
34
|
+
required:
|
|
35
|
+
- "@claude-flow/plugins": ">=3.0.0"
|
|
36
|
+
- "@claude-flow/memory": ">=3.0.0"
|
|
37
|
+
- "@claude-flow/security": ">=3.0.0"
|
|
38
|
+
- "@claude-flow/embeddings": ">=3.0.0"
|
|
39
|
+
optional:
|
|
40
|
+
- "@claude-flow/browser": ">=3.0.0" # For E2E/visual testing
|
|
41
|
+
- "@ruvector/attention": ">=1.0.0" # Enhanced pattern matching
|
|
42
|
+
- "@ruvector/gnn": ">=1.0.0" # Code graph analysis
|
|
43
|
+
- "@ruvector/sona": ">=1.0.0" # Self-optimizing learning
|
|
44
|
+
|
|
45
|
+
# Bounded contexts and their agents
|
|
46
|
+
contexts:
|
|
47
|
+
test-generation:
|
|
48
|
+
description: AI-powered test creation across paradigms
|
|
49
|
+
agents:
|
|
50
|
+
- unit-test-generator
|
|
51
|
+
- integration-test-generator
|
|
52
|
+
- e2e-test-generator
|
|
53
|
+
- property-test-generator
|
|
54
|
+
- mutation-test-generator
|
|
55
|
+
- fuzz-test-generator
|
|
56
|
+
- api-test-generator
|
|
57
|
+
- performance-test-generator
|
|
58
|
+
- security-test-generator
|
|
59
|
+
- accessibility-test-generator
|
|
60
|
+
- contract-test-generator
|
|
61
|
+
- bdd-test-generator
|
|
62
|
+
memoryNamespace: aqe/v3/test-patterns
|
|
63
|
+
securityLevel: medium
|
|
64
|
+
|
|
65
|
+
test-execution:
|
|
66
|
+
description: Parallel test execution with retry and reporting
|
|
67
|
+
agents:
|
|
68
|
+
- test-runner
|
|
69
|
+
- parallel-executor
|
|
70
|
+
- retry-manager
|
|
71
|
+
- result-aggregator
|
|
72
|
+
- flaky-test-detector
|
|
73
|
+
- timeout-manager
|
|
74
|
+
- resource-allocator
|
|
75
|
+
- test-reporter
|
|
76
|
+
memoryNamespace: aqe/v3/test-execution
|
|
77
|
+
securityLevel: high # Executes code
|
|
78
|
+
|
|
79
|
+
coverage-analysis:
|
|
80
|
+
description: O(log n) gap detection using Johnson-Lindenstrauss
|
|
81
|
+
agents:
|
|
82
|
+
- coverage-collector
|
|
83
|
+
- gap-detector
|
|
84
|
+
- priority-ranker
|
|
85
|
+
- hotspot-analyzer
|
|
86
|
+
- trend-tracker
|
|
87
|
+
- impact-assessor
|
|
88
|
+
memoryNamespace: aqe/v3/coverage-data
|
|
89
|
+
securityLevel: low
|
|
90
|
+
|
|
91
|
+
quality-assessment:
|
|
92
|
+
description: Quality gates and release readiness decisions
|
|
93
|
+
agents:
|
|
94
|
+
- quality-gate-evaluator
|
|
95
|
+
- readiness-assessor
|
|
96
|
+
- risk-calculator
|
|
97
|
+
- metric-aggregator
|
|
98
|
+
- decision-maker
|
|
99
|
+
memoryNamespace: aqe/v3/quality
|
|
100
|
+
securityLevel: low
|
|
101
|
+
|
|
102
|
+
defect-intelligence:
|
|
103
|
+
description: ML-based defect prediction and root cause analysis
|
|
104
|
+
agents:
|
|
105
|
+
- defect-predictor
|
|
106
|
+
- root-cause-analyzer
|
|
107
|
+
- pattern-detector
|
|
108
|
+
- regression-tracker
|
|
109
|
+
memoryNamespace: aqe/v3/defect-patterns
|
|
110
|
+
securityLevel: low
|
|
111
|
+
|
|
112
|
+
requirements-validation:
|
|
113
|
+
description: BDD validation and testability analysis
|
|
114
|
+
agents:
|
|
115
|
+
- bdd-validator
|
|
116
|
+
- testability-analyzer
|
|
117
|
+
- requirement-tracer
|
|
118
|
+
memoryNamespace: aqe/v3/requirements
|
|
119
|
+
securityLevel: low
|
|
120
|
+
|
|
121
|
+
code-intelligence:
|
|
122
|
+
description: Knowledge graph and semantic code search
|
|
123
|
+
agents:
|
|
124
|
+
- knowledge-graph-builder
|
|
125
|
+
- semantic-searcher
|
|
126
|
+
- dependency-analyzer
|
|
127
|
+
- complexity-assessor
|
|
128
|
+
- pattern-miner
|
|
129
|
+
memoryNamespace: aqe/v3/code-knowledge
|
|
130
|
+
securityLevel: medium
|
|
131
|
+
|
|
132
|
+
security-compliance:
|
|
133
|
+
description: SAST, DAST, and compliance auditing
|
|
134
|
+
agents:
|
|
135
|
+
- sast-scanner
|
|
136
|
+
- dast-scanner
|
|
137
|
+
- audit-trail-manager
|
|
138
|
+
- compliance-checker
|
|
139
|
+
memoryNamespace: aqe/v3/security-findings
|
|
140
|
+
securityLevel: critical
|
|
141
|
+
|
|
142
|
+
contract-testing:
|
|
143
|
+
description: API contract validation (OpenAPI, GraphQL, gRPC)
|
|
144
|
+
agents:
|
|
145
|
+
- openapi-validator
|
|
146
|
+
- graphql-validator
|
|
147
|
+
- grpc-validator
|
|
148
|
+
memoryNamespace: aqe/v3/contracts
|
|
149
|
+
securityLevel: medium
|
|
150
|
+
|
|
151
|
+
visual-accessibility:
|
|
152
|
+
description: Visual regression and WCAG compliance testing
|
|
153
|
+
agents:
|
|
154
|
+
- visual-regression-detector
|
|
155
|
+
- wcag-checker
|
|
156
|
+
- screenshot-differ
|
|
157
|
+
memoryNamespace: aqe/v3/visual-baselines
|
|
158
|
+
securityLevel: medium
|
|
159
|
+
|
|
160
|
+
chaos-resilience:
|
|
161
|
+
description: Chaos engineering and resilience validation
|
|
162
|
+
agents:
|
|
163
|
+
- chaos-injector
|
|
164
|
+
- load-generator
|
|
165
|
+
- resilience-assessor
|
|
166
|
+
- recovery-validator
|
|
167
|
+
memoryNamespace: aqe/v3/chaos-experiments
|
|
168
|
+
securityLevel: critical # Can disrupt systems
|
|
169
|
+
|
|
170
|
+
learning-optimization:
|
|
171
|
+
description: Cross-domain transfer learning and optimization
|
|
172
|
+
agents:
|
|
173
|
+
- cross-domain-learner
|
|
174
|
+
- pattern-optimizer
|
|
175
|
+
memoryNamespace: aqe/v3/learning-trajectories
|
|
176
|
+
securityLevel: low
|
|
177
|
+
|
|
178
|
+
# TDD subagents (London-style red-green-refactor)
|
|
179
|
+
tdd:
|
|
180
|
+
style: london
|
|
181
|
+
subagents:
|
|
182
|
+
- requirement-analyzer
|
|
183
|
+
- test-designer
|
|
184
|
+
- red-phase-executor
|
|
185
|
+
- green-phase-implementer
|
|
186
|
+
- refactor-advisor
|
|
187
|
+
- coverage-verifier
|
|
188
|
+
- cycle-coordinator
|
|
189
|
+
maxCycles: 10
|
|
190
|
+
defaultFramework: vitest
|
|
191
|
+
|
|
192
|
+
# MCP tool registration
|
|
193
|
+
mcpTools:
|
|
194
|
+
# Test Generation
|
|
195
|
+
- name: generate-tests
|
|
196
|
+
category: test-generation
|
|
197
|
+
description: Generate tests for code using AI-powered test generation
|
|
198
|
+
|
|
199
|
+
- name: tdd-cycle
|
|
200
|
+
category: test-generation
|
|
201
|
+
description: Execute TDD red-green-refactor cycle with 7 specialized subagents
|
|
202
|
+
|
|
203
|
+
# Coverage Analysis
|
|
204
|
+
- name: analyze-coverage
|
|
205
|
+
category: coverage-analysis
|
|
206
|
+
description: Analyze code coverage with O(log n) gap detection
|
|
207
|
+
|
|
208
|
+
- name: prioritize-gaps
|
|
209
|
+
category: coverage-analysis
|
|
210
|
+
description: Prioritize coverage gaps by risk score
|
|
211
|
+
|
|
212
|
+
# Quality Assessment
|
|
213
|
+
- name: evaluate-quality-gate
|
|
214
|
+
category: quality-assessment
|
|
215
|
+
description: Evaluate quality gates for release readiness
|
|
216
|
+
|
|
217
|
+
- name: assess-readiness
|
|
218
|
+
category: quality-assessment
|
|
219
|
+
description: Determine release readiness with confidence score
|
|
220
|
+
|
|
221
|
+
# Defect Intelligence
|
|
222
|
+
- name: predict-defects
|
|
223
|
+
category: defect-intelligence
|
|
224
|
+
description: Predict potential defects using ML-based analysis
|
|
225
|
+
|
|
226
|
+
- name: analyze-root-cause
|
|
227
|
+
category: defect-intelligence
|
|
228
|
+
description: Analyze root cause of defect with pattern matching
|
|
229
|
+
|
|
230
|
+
# Security Compliance
|
|
231
|
+
- name: security-scan
|
|
232
|
+
category: security-compliance
|
|
233
|
+
description: Run SAST/DAST security scans with compliance checking
|
|
234
|
+
|
|
235
|
+
- name: audit-compliance
|
|
236
|
+
category: security-compliance
|
|
237
|
+
description: Generate compliance audit report
|
|
238
|
+
|
|
239
|
+
# Contract Testing
|
|
240
|
+
- name: validate-contract
|
|
241
|
+
category: contract-testing
|
|
242
|
+
description: Validate API contracts (OpenAPI, GraphQL, gRPC)
|
|
243
|
+
|
|
244
|
+
- name: compare-contracts
|
|
245
|
+
category: contract-testing
|
|
246
|
+
description: Compare contract versions for breaking changes
|
|
247
|
+
|
|
248
|
+
# Visual/Accessibility
|
|
249
|
+
- name: visual-regression
|
|
250
|
+
category: visual-accessibility
|
|
251
|
+
description: Detect visual regressions with screenshot comparison
|
|
252
|
+
|
|
253
|
+
- name: check-accessibility
|
|
254
|
+
category: visual-accessibility
|
|
255
|
+
description: Check WCAG accessibility compliance
|
|
256
|
+
|
|
257
|
+
# Chaos Engineering
|
|
258
|
+
- name: chaos-inject
|
|
259
|
+
category: chaos-resilience
|
|
260
|
+
description: Inject chaos failures for resilience testing
|
|
261
|
+
|
|
262
|
+
- name: assess-resilience
|
|
263
|
+
category: chaos-resilience
|
|
264
|
+
description: Assess system resilience from experiment results
|
|
265
|
+
|
|
266
|
+
# Hook definitions
|
|
267
|
+
hooks:
|
|
268
|
+
# Pre-execution hooks
|
|
269
|
+
pre-test-execution:
|
|
270
|
+
description: Validate test environment before execution
|
|
271
|
+
priority: high
|
|
272
|
+
|
|
273
|
+
pre-security-scan:
|
|
274
|
+
description: Validate scan targets and permissions
|
|
275
|
+
priority: critical
|
|
276
|
+
|
|
277
|
+
# Post-execution hooks
|
|
278
|
+
post-test-execution:
|
|
279
|
+
description: Store test results and learn patterns
|
|
280
|
+
priority: normal
|
|
281
|
+
|
|
282
|
+
post-coverage-analysis:
|
|
283
|
+
description: Store coverage data and update trends
|
|
284
|
+
priority: normal
|
|
285
|
+
|
|
286
|
+
post-security-scan:
|
|
287
|
+
description: Store findings and update compliance status
|
|
288
|
+
priority: high
|
|
289
|
+
|
|
290
|
+
# Worker definitions
|
|
291
|
+
workers:
|
|
292
|
+
test-executor:
|
|
293
|
+
type: test-executor
|
|
294
|
+
capabilities:
|
|
295
|
+
- test-execution
|
|
296
|
+
- parallel-processing
|
|
297
|
+
maxConcurrent: 10
|
|
298
|
+
|
|
299
|
+
coverage-analyzer:
|
|
300
|
+
type: coverage-analyzer
|
|
301
|
+
capabilities:
|
|
302
|
+
- coverage-collection
|
|
303
|
+
- gap-detection
|
|
304
|
+
maxConcurrent: 5
|
|
305
|
+
|
|
306
|
+
security-scanner:
|
|
307
|
+
type: security-scanner
|
|
308
|
+
capabilities:
|
|
309
|
+
- sast
|
|
310
|
+
- dast
|
|
311
|
+
maxConcurrent: 3
|
|
312
|
+
|
|
313
|
+
# Memory namespaces
|
|
314
|
+
memory:
|
|
315
|
+
namespaces:
|
|
316
|
+
- name: aqe/v3/test-patterns
|
|
317
|
+
vectorDimension: 384
|
|
318
|
+
hnswConfig:
|
|
319
|
+
m: 16
|
|
320
|
+
efConstruction: 200
|
|
321
|
+
efSearch: 100
|
|
322
|
+
ttl: null # Permanent
|
|
323
|
+
|
|
324
|
+
- name: aqe/v3/coverage-data
|
|
325
|
+
vectorDimension: 384
|
|
326
|
+
hnswConfig:
|
|
327
|
+
m: 12
|
|
328
|
+
efConstruction: 150
|
|
329
|
+
efSearch: 50
|
|
330
|
+
ttl: 86400000 # 24h
|
|
331
|
+
|
|
332
|
+
- name: aqe/v3/defect-patterns
|
|
333
|
+
vectorDimension: 384
|
|
334
|
+
hnswConfig:
|
|
335
|
+
m: 16
|
|
336
|
+
efConstruction: 200
|
|
337
|
+
efSearch: 100
|
|
338
|
+
ttl: null # Permanent
|
|
339
|
+
|
|
340
|
+
- name: aqe/v3/code-knowledge
|
|
341
|
+
vectorDimension: 384
|
|
342
|
+
hnswConfig:
|
|
343
|
+
m: 24
|
|
344
|
+
efConstruction: 300
|
|
345
|
+
efSearch: 150
|
|
346
|
+
ttl: null # Permanent
|
|
347
|
+
|
|
348
|
+
- name: aqe/v3/security-findings
|
|
349
|
+
vectorDimension: 384
|
|
350
|
+
hnswConfig:
|
|
351
|
+
m: 16
|
|
352
|
+
efConstruction: 200
|
|
353
|
+
efSearch: 100
|
|
354
|
+
ttl: null # Permanent
|
|
355
|
+
|
|
356
|
+
- name: aqe/v3/contracts
|
|
357
|
+
vectorDimension: 384
|
|
358
|
+
hnswConfig:
|
|
359
|
+
m: 12
|
|
360
|
+
efConstruction: 150
|
|
361
|
+
efSearch: 50
|
|
362
|
+
ttl: null # Permanent
|
|
363
|
+
|
|
364
|
+
- name: aqe/v3/visual-baselines
|
|
365
|
+
vectorDimension: 768 # Higher for images
|
|
366
|
+
hnswConfig:
|
|
367
|
+
m: 32
|
|
368
|
+
efConstruction: 400
|
|
369
|
+
efSearch: 200
|
|
370
|
+
ttl: null # Permanent
|
|
371
|
+
|
|
372
|
+
- name: aqe/v3/chaos-experiments
|
|
373
|
+
vectorDimension: 384
|
|
374
|
+
hnswConfig:
|
|
375
|
+
m: 12
|
|
376
|
+
efConstruction: 150
|
|
377
|
+
efSearch: 50
|
|
378
|
+
ttl: 604800000 # 7 days
|
|
379
|
+
|
|
380
|
+
- name: aqe/v3/learning-trajectories
|
|
381
|
+
vectorDimension: 384
|
|
382
|
+
hnswConfig:
|
|
383
|
+
m: 16
|
|
384
|
+
efConstruction: 200
|
|
385
|
+
efSearch: 100
|
|
386
|
+
ttl: null # Permanent
|
|
387
|
+
|
|
388
|
+
# Security sandbox configuration
|
|
389
|
+
sandbox:
|
|
390
|
+
maxExecutionTime: 30000 # 30s
|
|
391
|
+
memoryLimit: 536870912 # 512MB
|
|
392
|
+
networkPolicy: restricted
|
|
393
|
+
fileSystemPolicy: workspace-only
|
|
394
|
+
allowedCommands:
|
|
395
|
+
- node
|
|
396
|
+
- npm
|
|
397
|
+
- npx
|
|
398
|
+
- vitest
|
|
399
|
+
- jest
|
|
400
|
+
- pytest
|
|
401
|
+
blockedPaths:
|
|
402
|
+
- /etc
|
|
403
|
+
- /var
|
|
404
|
+
- ~/.ssh
|
|
405
|
+
- ~/.aws
|
|
406
|
+
|
|
407
|
+
# Model routing (TinyDancer alignment with ADR-026)
|
|
408
|
+
modelRouting:
|
|
409
|
+
tiers:
|
|
410
|
+
tier1:
|
|
411
|
+
handler: agent-booster
|
|
412
|
+
categories:
|
|
413
|
+
- add-test-import
|
|
414
|
+
- add-test-describe
|
|
415
|
+
- add-assertion
|
|
416
|
+
- remove-console
|
|
417
|
+
latency: "<1ms"
|
|
418
|
+
cost: 0
|
|
419
|
+
|
|
420
|
+
tier2:
|
|
421
|
+
handler: haiku
|
|
422
|
+
categories:
|
|
423
|
+
- generate-unit-test
|
|
424
|
+
- generate-mock
|
|
425
|
+
- analyze-coverage-line
|
|
426
|
+
- validate-simple-contract
|
|
427
|
+
latency: "~500ms"
|
|
428
|
+
cost: 0.0002
|
|
429
|
+
|
|
430
|
+
tier2-sonnet:
|
|
431
|
+
handler: sonnet
|
|
432
|
+
categories:
|
|
433
|
+
- generate-integration-test
|
|
434
|
+
- analyze-coverage-branch
|
|
435
|
+
- predict-defect-simple
|
|
436
|
+
- validate-contract
|
|
437
|
+
latency: "~2s"
|
|
438
|
+
cost: 0.003
|
|
439
|
+
|
|
440
|
+
tier3:
|
|
441
|
+
handler: opus
|
|
442
|
+
categories:
|
|
443
|
+
- generate-e2e-test
|
|
444
|
+
- root-cause-analysis
|
|
445
|
+
- chaos-experiment-design
|
|
446
|
+
- security-audit-deep
|
|
447
|
+
- architecture-analysis
|
|
448
|
+
latency: "~5s"
|
|
449
|
+
cost: 0.015
|
|
450
|
+
|
|
451
|
+
# Performance targets
|
|
452
|
+
performance:
|
|
453
|
+
testGenerationLatency: "<2s"
|
|
454
|
+
coverageAnalysis: "O(log n)"
|
|
455
|
+
qualityGateEvaluation: "<500ms"
|
|
456
|
+
securityScanPerKLOC: "<10s"
|
|
457
|
+
mcpToolResponse: "<100ms"
|
|
458
|
+
memoryPerContext: "<50MB"
|
|
459
|
+
|
|
460
|
+
# V3 domain integration mapping
|
|
461
|
+
integration:
|
|
462
|
+
memory:
|
|
463
|
+
type: shared-kernel
|
|
464
|
+
components:
|
|
465
|
+
- AgentDB
|
|
466
|
+
- HNSW
|
|
467
|
+
- Embeddings
|
|
468
|
+
- ReasoningBank
|
|
469
|
+
|
|
470
|
+
security:
|
|
471
|
+
type: conformist
|
|
472
|
+
components:
|
|
473
|
+
- PathValidator
|
|
474
|
+
- SafeExecutor
|
|
475
|
+
- TokenGenerator
|
|
476
|
+
- InputValidator
|
|
477
|
+
|
|
478
|
+
core:
|
|
479
|
+
type: customer-supplier
|
|
480
|
+
components:
|
|
481
|
+
- AgentService
|
|
482
|
+
- TaskService
|
|
483
|
+
- WorkflowService
|
|
484
|
+
|
|
485
|
+
coordination:
|
|
486
|
+
type: shared-kernel
|
|
487
|
+
components:
|
|
488
|
+
- HiveMind
|
|
489
|
+
- Consensus
|
|
490
|
+
- Broadcast
|
|
491
|
+
- SharedMemory
|
|
492
|
+
|
|
493
|
+
mcp:
|
|
494
|
+
type: published-language
|
|
495
|
+
components:
|
|
496
|
+
- ToolRegistry
|
|
497
|
+
- ToolHandler
|
|
498
|
+
|
|
499
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
500
|
+
# IMPLEMENTATION STATUS & PLAN
|
|
501
|
+
# ═══════════════════════════════════════════════════════════════════════════════
|
|
502
|
+
|
|
503
|
+
implementation:
|
|
504
|
+
status: planning # planning | in-progress | complete
|
|
505
|
+
lastUpdated: "2026-01-23"
|
|
506
|
+
reviewedBy: "code-reviewer"
|
|
507
|
+
reviewDate: "2026-01-23"
|
|
508
|
+
|
|
509
|
+
# Code Review Results
|
|
510
|
+
codeReview:
|
|
511
|
+
overallStatus: "architecture-complete"
|
|
512
|
+
performanceTargetsMet: "pending-implementation"
|
|
513
|
+
securityIssuesFound: 0
|
|
514
|
+
documentationComplete: true
|
|
515
|
+
testCoverage: "0%"
|
|
516
|
+
|
|
517
|
+
# Performance Assessment
|
|
518
|
+
performanceAssessment:
|
|
519
|
+
testGenerationLatency:
|
|
520
|
+
target: "<2s"
|
|
521
|
+
achievable: true
|
|
522
|
+
notes: "Depends on TinyDancer routing tier"
|
|
523
|
+
coverageAnalysis:
|
|
524
|
+
target: "O(log n)"
|
|
525
|
+
achievable: true
|
|
526
|
+
notes: "Johnson-Lindenstrauss projection validated"
|
|
527
|
+
qualityGateEvaluation:
|
|
528
|
+
target: "<500ms"
|
|
529
|
+
achievable: true
|
|
530
|
+
notes: "With metric caching"
|
|
531
|
+
securityScanPerKLOC:
|
|
532
|
+
target: "<10s"
|
|
533
|
+
achievable: true
|
|
534
|
+
notes: "Parallel AST scanning"
|
|
535
|
+
mcpToolResponse:
|
|
536
|
+
target: "<100ms"
|
|
537
|
+
achievable: true
|
|
538
|
+
notes: "Standard V3 requirement"
|
|
539
|
+
memoryPerContext:
|
|
540
|
+
target: "<50MB"
|
|
541
|
+
achievable: true
|
|
542
|
+
notes: "Bounded context isolation"
|
|
543
|
+
|
|
544
|
+
# Architecture Quality
|
|
545
|
+
architectureQuality:
|
|
546
|
+
ddpPrinciples: true
|
|
547
|
+
solidCompliance: "pending-verification"
|
|
548
|
+
typeScriptStrict: "pending"
|
|
549
|
+
zodValidation: "pending"
|
|
550
|
+
errorHandling: "pending"
|
|
551
|
+
|
|
552
|
+
# Integration Readiness
|
|
553
|
+
integrationReadiness:
|
|
554
|
+
pluginRegistration: "architecture-defined"
|
|
555
|
+
mcpToolDiscovery: "architecture-defined"
|
|
556
|
+
hookIntegration: "architecture-defined"
|
|
557
|
+
memoryNamespaceIsolation: "architecture-defined"
|
|
558
|
+
|
|
559
|
+
# Critical Path Items
|
|
560
|
+
criticalPathItems:
|
|
561
|
+
- "Phase 1: Plugin scaffold must be completed first"
|
|
562
|
+
- "Phase 2: Bridge implementations before MCP tools"
|
|
563
|
+
- "Phase 4: Security sandbox is critical for test execution"
|
|
564
|
+
|
|
565
|
+
# Recommendations
|
|
566
|
+
recommendations:
|
|
567
|
+
- "Implement WASM lazy loading for faster startup"
|
|
568
|
+
- "Add caching layer for frequently used test patterns"
|
|
569
|
+
- "Batch MCP tool operations where possible"
|
|
570
|
+
- "Keep individual files under 500 lines"
|
|
571
|
+
- "Add comprehensive JSDoc comments to public APIs"
|
|
572
|
+
|
|
573
|
+
# What exists vs what needs to be built
|
|
574
|
+
files:
|
|
575
|
+
existing:
|
|
576
|
+
- path: plugin.yaml
|
|
577
|
+
status: complete
|
|
578
|
+
description: Plugin manifest with full configuration
|
|
579
|
+
- path: README.md
|
|
580
|
+
status: complete
|
|
581
|
+
description: Usage documentation
|
|
582
|
+
|
|
583
|
+
required:
|
|
584
|
+
# Phase 1: Plugin Scaffold
|
|
585
|
+
- path: package.json
|
|
586
|
+
status: pending
|
|
587
|
+
phase: 1
|
|
588
|
+
priority: critical
|
|
589
|
+
estimatedLines: 50
|
|
590
|
+
|
|
591
|
+
- path: tsconfig.json
|
|
592
|
+
status: pending
|
|
593
|
+
phase: 1
|
|
594
|
+
priority: critical
|
|
595
|
+
estimatedLines: 30
|
|
596
|
+
|
|
597
|
+
- path: src/index.ts
|
|
598
|
+
status: pending
|
|
599
|
+
phase: 1
|
|
600
|
+
priority: critical
|
|
601
|
+
estimatedLines: 80
|
|
602
|
+
description: Plugin entry point and exports
|
|
603
|
+
|
|
604
|
+
- path: src/plugin.ts
|
|
605
|
+
status: pending
|
|
606
|
+
phase: 1
|
|
607
|
+
priority: critical
|
|
608
|
+
estimatedLines: 200
|
|
609
|
+
description: AQEPlugin class with lifecycle methods
|
|
610
|
+
|
|
611
|
+
- path: src/types.ts
|
|
612
|
+
status: pending
|
|
613
|
+
phase: 1
|
|
614
|
+
priority: critical
|
|
615
|
+
estimatedLines: 300
|
|
616
|
+
description: TypeScript type definitions
|
|
617
|
+
|
|
618
|
+
- path: src/interfaces.ts
|
|
619
|
+
status: pending
|
|
620
|
+
phase: 1
|
|
621
|
+
priority: critical
|
|
622
|
+
estimatedLines: 200
|
|
623
|
+
description: Public interfaces
|
|
624
|
+
|
|
625
|
+
- path: src/schemas.ts
|
|
626
|
+
status: pending
|
|
627
|
+
phase: 1
|
|
628
|
+
priority: critical
|
|
629
|
+
estimatedLines: 250
|
|
630
|
+
description: Zod validation schemas
|
|
631
|
+
|
|
632
|
+
- path: src/constants.ts
|
|
633
|
+
status: pending
|
|
634
|
+
phase: 1
|
|
635
|
+
priority: high
|
|
636
|
+
estimatedLines: 100
|
|
637
|
+
description: Plugin constants and defaults
|
|
638
|
+
|
|
639
|
+
# Phase 2: Bridge Implementations
|
|
640
|
+
- path: src/bridges/index.ts
|
|
641
|
+
status: pending
|
|
642
|
+
phase: 2
|
|
643
|
+
priority: critical
|
|
644
|
+
estimatedLines: 50
|
|
645
|
+
|
|
646
|
+
- path: src/bridges/QEMemoryBridge.ts
|
|
647
|
+
status: pending
|
|
648
|
+
phase: 2
|
|
649
|
+
priority: critical
|
|
650
|
+
estimatedLines: 300
|
|
651
|
+
description: Memory domain integration (AgentDB, HNSW)
|
|
652
|
+
|
|
653
|
+
- path: src/bridges/QESecurityBridge.ts
|
|
654
|
+
status: pending
|
|
655
|
+
phase: 2
|
|
656
|
+
priority: critical
|
|
657
|
+
estimatedLines: 250
|
|
658
|
+
description: Security domain integration (PathValidator, SafeExecutor)
|
|
659
|
+
|
|
660
|
+
- path: src/bridges/QECoreBridge.ts
|
|
661
|
+
status: pending
|
|
662
|
+
phase: 2
|
|
663
|
+
priority: critical
|
|
664
|
+
estimatedLines: 250
|
|
665
|
+
description: Core domain integration (AgentService, TaskService)
|
|
666
|
+
|
|
667
|
+
- path: src/bridges/QEHiveBridge.ts
|
|
668
|
+
status: pending
|
|
669
|
+
phase: 2
|
|
670
|
+
priority: critical
|
|
671
|
+
estimatedLines: 300
|
|
672
|
+
description: Hive Mind coordination (Queen, Consensus)
|
|
673
|
+
|
|
674
|
+
- path: src/bridges/QEModelRoutingAdapter.ts
|
|
675
|
+
status: pending
|
|
676
|
+
phase: 2
|
|
677
|
+
priority: high
|
|
678
|
+
estimatedLines: 200
|
|
679
|
+
description: TinyDancer ↔ ADR-026 adapter
|
|
680
|
+
|
|
681
|
+
- path: src/contexts/ContextMapper.ts
|
|
682
|
+
status: pending
|
|
683
|
+
phase: 2
|
|
684
|
+
priority: high
|
|
685
|
+
estimatedLines: 150
|
|
686
|
+
description: Maps 12 QE contexts to V3 domains
|
|
687
|
+
|
|
688
|
+
# Phase 3: MCP Tools (16 tools)
|
|
689
|
+
- path: src/tools/index.ts
|
|
690
|
+
status: pending
|
|
691
|
+
phase: 3
|
|
692
|
+
priority: critical
|
|
693
|
+
estimatedLines: 100
|
|
694
|
+
description: Tool registry and registration
|
|
695
|
+
|
|
696
|
+
- path: src/tools/test-generation/generate-tests.ts
|
|
697
|
+
status: pending
|
|
698
|
+
phase: 3
|
|
699
|
+
priority: critical
|
|
700
|
+
estimatedLines: 150
|
|
701
|
+
|
|
702
|
+
- path: src/tools/test-generation/tdd-cycle.ts
|
|
703
|
+
status: pending
|
|
704
|
+
phase: 3
|
|
705
|
+
priority: critical
|
|
706
|
+
estimatedLines: 200
|
|
707
|
+
|
|
708
|
+
- path: src/tools/coverage-analysis/analyze-coverage.ts
|
|
709
|
+
status: pending
|
|
710
|
+
phase: 3
|
|
711
|
+
priority: critical
|
|
712
|
+
estimatedLines: 150
|
|
713
|
+
|
|
714
|
+
- path: src/tools/coverage-analysis/prioritize-gaps.ts
|
|
715
|
+
status: pending
|
|
716
|
+
phase: 3
|
|
717
|
+
priority: critical
|
|
718
|
+
estimatedLines: 120
|
|
719
|
+
|
|
720
|
+
- path: src/tools/quality-assessment/evaluate-quality-gate.ts
|
|
721
|
+
status: pending
|
|
722
|
+
phase: 3
|
|
723
|
+
priority: high
|
|
724
|
+
estimatedLines: 150
|
|
725
|
+
|
|
726
|
+
- path: src/tools/quality-assessment/assess-readiness.ts
|
|
727
|
+
status: pending
|
|
728
|
+
phase: 3
|
|
729
|
+
priority: high
|
|
730
|
+
estimatedLines: 120
|
|
731
|
+
|
|
732
|
+
- path: src/tools/defect-intelligence/predict-defects.ts
|
|
733
|
+
status: pending
|
|
734
|
+
phase: 3
|
|
735
|
+
priority: high
|
|
736
|
+
estimatedLines: 150
|
|
737
|
+
|
|
738
|
+
- path: src/tools/defect-intelligence/analyze-root-cause.ts
|
|
739
|
+
status: pending
|
|
740
|
+
phase: 3
|
|
741
|
+
priority: high
|
|
742
|
+
estimatedLines: 180
|
|
743
|
+
|
|
744
|
+
- path: src/tools/security-compliance/security-scan.ts
|
|
745
|
+
status: pending
|
|
746
|
+
phase: 3
|
|
747
|
+
priority: high
|
|
748
|
+
estimatedLines: 200
|
|
749
|
+
|
|
750
|
+
- path: src/tools/security-compliance/audit-compliance.ts
|
|
751
|
+
status: pending
|
|
752
|
+
phase: 3
|
|
753
|
+
priority: high
|
|
754
|
+
estimatedLines: 150
|
|
755
|
+
|
|
756
|
+
- path: src/tools/contract-testing/validate-contract.ts
|
|
757
|
+
status: pending
|
|
758
|
+
phase: 3
|
|
759
|
+
priority: medium
|
|
760
|
+
estimatedLines: 150
|
|
761
|
+
|
|
762
|
+
- path: src/tools/contract-testing/compare-contracts.ts
|
|
763
|
+
status: pending
|
|
764
|
+
phase: 3
|
|
765
|
+
priority: medium
|
|
766
|
+
estimatedLines: 130
|
|
767
|
+
|
|
768
|
+
- path: src/tools/visual-accessibility/visual-regression.ts
|
|
769
|
+
status: pending
|
|
770
|
+
phase: 3
|
|
771
|
+
priority: medium
|
|
772
|
+
estimatedLines: 180
|
|
773
|
+
|
|
774
|
+
- path: src/tools/visual-accessibility/check-accessibility.ts
|
|
775
|
+
status: pending
|
|
776
|
+
phase: 3
|
|
777
|
+
priority: medium
|
|
778
|
+
estimatedLines: 150
|
|
779
|
+
|
|
780
|
+
- path: src/tools/chaos-resilience/chaos-inject.ts
|
|
781
|
+
status: pending
|
|
782
|
+
phase: 3
|
|
783
|
+
priority: medium
|
|
784
|
+
estimatedLines: 200
|
|
785
|
+
|
|
786
|
+
- path: src/tools/chaos-resilience/assess-resilience.ts
|
|
787
|
+
status: pending
|
|
788
|
+
phase: 3
|
|
789
|
+
priority: medium
|
|
790
|
+
estimatedLines: 150
|
|
791
|
+
|
|
792
|
+
# Phase 4: Hooks & Workers
|
|
793
|
+
- path: src/hooks/index.ts
|
|
794
|
+
status: pending
|
|
795
|
+
phase: 4
|
|
796
|
+
priority: high
|
|
797
|
+
estimatedLines: 50
|
|
798
|
+
|
|
799
|
+
- path: src/hooks/pre-test-execution.ts
|
|
800
|
+
status: pending
|
|
801
|
+
phase: 4
|
|
802
|
+
priority: high
|
|
803
|
+
estimatedLines: 100
|
|
804
|
+
|
|
805
|
+
- path: src/hooks/pre-security-scan.ts
|
|
806
|
+
status: pending
|
|
807
|
+
phase: 4
|
|
808
|
+
priority: high
|
|
809
|
+
estimatedLines: 100
|
|
810
|
+
|
|
811
|
+
- path: src/hooks/post-test-execution.ts
|
|
812
|
+
status: pending
|
|
813
|
+
phase: 4
|
|
814
|
+
priority: high
|
|
815
|
+
estimatedLines: 120
|
|
816
|
+
|
|
817
|
+
- path: src/hooks/post-coverage-analysis.ts
|
|
818
|
+
status: pending
|
|
819
|
+
phase: 4
|
|
820
|
+
priority: high
|
|
821
|
+
estimatedLines: 100
|
|
822
|
+
|
|
823
|
+
- path: src/hooks/post-security-scan.ts
|
|
824
|
+
status: pending
|
|
825
|
+
phase: 4
|
|
826
|
+
priority: high
|
|
827
|
+
estimatedLines: 120
|
|
828
|
+
|
|
829
|
+
- path: src/workers/index.ts
|
|
830
|
+
status: pending
|
|
831
|
+
phase: 4
|
|
832
|
+
priority: high
|
|
833
|
+
estimatedLines: 50
|
|
834
|
+
|
|
835
|
+
- path: src/workers/TestExecutorWorker.ts
|
|
836
|
+
status: pending
|
|
837
|
+
phase: 4
|
|
838
|
+
priority: high
|
|
839
|
+
estimatedLines: 200
|
|
840
|
+
|
|
841
|
+
- path: src/workers/CoverageAnalyzerWorker.ts
|
|
842
|
+
status: pending
|
|
843
|
+
phase: 4
|
|
844
|
+
priority: medium
|
|
845
|
+
estimatedLines: 150
|
|
846
|
+
|
|
847
|
+
- path: src/workers/SecurityScannerWorker.ts
|
|
848
|
+
status: pending
|
|
849
|
+
phase: 4
|
|
850
|
+
priority: medium
|
|
851
|
+
estimatedLines: 180
|
|
852
|
+
|
|
853
|
+
- path: src/sandbox/index.ts
|
|
854
|
+
status: pending
|
|
855
|
+
phase: 4
|
|
856
|
+
priority: critical
|
|
857
|
+
estimatedLines: 50
|
|
858
|
+
|
|
859
|
+
- path: src/sandbox/TestSandbox.ts
|
|
860
|
+
status: pending
|
|
861
|
+
phase: 4
|
|
862
|
+
priority: critical
|
|
863
|
+
estimatedLines: 250
|
|
864
|
+
description: Isolated test code execution
|
|
865
|
+
|
|
866
|
+
- path: src/sandbox/SandboxPolicy.ts
|
|
867
|
+
status: pending
|
|
868
|
+
phase: 4
|
|
869
|
+
priority: critical
|
|
870
|
+
estimatedLines: 100
|
|
871
|
+
|
|
872
|
+
# Phase 5: Agent Definitions (58 total)
|
|
873
|
+
- path: agents/**/*.yaml
|
|
874
|
+
status: pending
|
|
875
|
+
phase: 5
|
|
876
|
+
priority: high
|
|
877
|
+
count: 58
|
|
878
|
+
estimatedLinesEach: 40
|
|
879
|
+
description: "12 test-gen + 8 test-exec + 6 coverage + 5 quality + 4 defect + 3 requirements + 5 code-intel + 4 security + 3 contract + 3 visual + 4 chaos + 2 learning + 7 TDD"
|
|
880
|
+
|
|
881
|
+
# Phase 6: Skills (12 total)
|
|
882
|
+
- path: skills/qe-test-generation.md
|
|
883
|
+
status: pending
|
|
884
|
+
phase: 6
|
|
885
|
+
priority: high
|
|
886
|
+
estimatedLines: 100
|
|
887
|
+
|
|
888
|
+
- path: skills/qe-tdd-cycle.md
|
|
889
|
+
status: pending
|
|
890
|
+
phase: 6
|
|
891
|
+
priority: high
|
|
892
|
+
estimatedLines: 120
|
|
893
|
+
|
|
894
|
+
- path: skills/qe-coverage-analysis.md
|
|
895
|
+
status: pending
|
|
896
|
+
phase: 6
|
|
897
|
+
priority: high
|
|
898
|
+
estimatedLines: 100
|
|
899
|
+
|
|
900
|
+
- path: skills/qe-quality-gate.md
|
|
901
|
+
status: pending
|
|
902
|
+
phase: 6
|
|
903
|
+
priority: high
|
|
904
|
+
estimatedLines: 100
|
|
905
|
+
|
|
906
|
+
- path: skills/qe-defect-prediction.md
|
|
907
|
+
status: pending
|
|
908
|
+
phase: 6
|
|
909
|
+
priority: medium
|
|
910
|
+
estimatedLines: 100
|
|
911
|
+
|
|
912
|
+
- path: skills/qe-security-scan.md
|
|
913
|
+
status: pending
|
|
914
|
+
phase: 6
|
|
915
|
+
priority: high
|
|
916
|
+
estimatedLines: 120
|
|
917
|
+
|
|
918
|
+
- path: skills/qe-contract-testing.md
|
|
919
|
+
status: pending
|
|
920
|
+
phase: 6
|
|
921
|
+
priority: medium
|
|
922
|
+
estimatedLines: 100
|
|
923
|
+
|
|
924
|
+
- path: skills/qe-visual-testing.md
|
|
925
|
+
status: pending
|
|
926
|
+
phase: 6
|
|
927
|
+
priority: medium
|
|
928
|
+
estimatedLines: 100
|
|
929
|
+
|
|
930
|
+
- path: skills/qe-accessibility.md
|
|
931
|
+
status: pending
|
|
932
|
+
phase: 6
|
|
933
|
+
priority: medium
|
|
934
|
+
estimatedLines: 100
|
|
935
|
+
|
|
936
|
+
- path: skills/qe-chaos-engineering.md
|
|
937
|
+
status: pending
|
|
938
|
+
phase: 6
|
|
939
|
+
priority: medium
|
|
940
|
+
estimatedLines: 120
|
|
941
|
+
|
|
942
|
+
- path: skills/qe-queen-coordinator.md
|
|
943
|
+
status: pending
|
|
944
|
+
phase: 6
|
|
945
|
+
priority: high
|
|
946
|
+
estimatedLines: 150
|
|
947
|
+
|
|
948
|
+
- path: skills/qe-full-pipeline.md
|
|
949
|
+
status: pending
|
|
950
|
+
phase: 6
|
|
951
|
+
priority: high
|
|
952
|
+
estimatedLines: 200
|
|
953
|
+
|
|
954
|
+
# Phase 7: Tests
|
|
955
|
+
- path: vitest.config.ts
|
|
956
|
+
status: pending
|
|
957
|
+
phase: 7
|
|
958
|
+
priority: high
|
|
959
|
+
estimatedLines: 40
|
|
960
|
+
|
|
961
|
+
- path: __tests__/unit/**/*.test.ts
|
|
962
|
+
status: pending
|
|
963
|
+
phase: 7
|
|
964
|
+
priority: high
|
|
965
|
+
count: 15
|
|
966
|
+
estimatedLinesEach: 100
|
|
967
|
+
|
|
968
|
+
- path: __tests__/integration/**/*.test.ts
|
|
969
|
+
status: pending
|
|
970
|
+
phase: 7
|
|
971
|
+
priority: high
|
|
972
|
+
count: 5
|
|
973
|
+
estimatedLinesEach: 150
|
|
974
|
+
|
|
975
|
+
- path: __tests__/e2e/**/*.test.ts
|
|
976
|
+
status: pending
|
|
977
|
+
phase: 7
|
|
978
|
+
priority: medium
|
|
979
|
+
count: 3
|
|
980
|
+
estimatedLinesEach: 200
|
|
981
|
+
|
|
982
|
+
# Phase summary
|
|
983
|
+
phases:
|
|
984
|
+
- phase: 1
|
|
985
|
+
name: Plugin Scaffold
|
|
986
|
+
status: pending
|
|
987
|
+
duration: "1 week"
|
|
988
|
+
files: 8
|
|
989
|
+
estimatedLines: 1210
|
|
990
|
+
deliverables:
|
|
991
|
+
- Plugin registers with @claude-flow/plugins SDK
|
|
992
|
+
- Type-safe configuration validation
|
|
993
|
+
- Basic lifecycle hooks (onLoad, onUnload)
|
|
994
|
+
|
|
995
|
+
- phase: 2
|
|
996
|
+
name: Bridge Implementations
|
|
997
|
+
status: pending
|
|
998
|
+
duration: "1 week"
|
|
999
|
+
files: 7
|
|
1000
|
+
estimatedLines: 1500
|
|
1001
|
+
deliverables:
|
|
1002
|
+
- Anti-corruption layer isolates agentic-qe from V3 internals
|
|
1003
|
+
- Memory namespace coordination working
|
|
1004
|
+
- TinyDancer ↔ ADR-026 routing aligned
|
|
1005
|
+
|
|
1006
|
+
- phase: 3
|
|
1007
|
+
name: MCP Tools
|
|
1008
|
+
status: pending
|
|
1009
|
+
duration: "1 week"
|
|
1010
|
+
files: 17
|
|
1011
|
+
estimatedLines: 2530
|
|
1012
|
+
deliverables:
|
|
1013
|
+
- All 16 MCP tools registered and functional
|
|
1014
|
+
- Tools accessible via mcp__agentic-qe__<tool-name>
|
|
1015
|
+
- Input validation via Zod schemas
|
|
1016
|
+
|
|
1017
|
+
- phase: 4
|
|
1018
|
+
name: Hooks & Workers
|
|
1019
|
+
status: pending
|
|
1020
|
+
duration: "1 week"
|
|
1021
|
+
files: 12
|
|
1022
|
+
estimatedLines: 1470
|
|
1023
|
+
deliverables:
|
|
1024
|
+
- Hooks integrate with V3 hook system
|
|
1025
|
+
- Workers run in background with concurrency limits
|
|
1026
|
+
- Sandbox isolates test code execution
|
|
1027
|
+
|
|
1028
|
+
- phase: 5
|
|
1029
|
+
name: Agent Definitions
|
|
1030
|
+
status: pending
|
|
1031
|
+
duration: "1 week"
|
|
1032
|
+
files: 58
|
|
1033
|
+
estimatedLines: 2320
|
|
1034
|
+
deliverables:
|
|
1035
|
+
- All 58 agents (51 + 7 TDD) defined as YAML
|
|
1036
|
+
- Agents spawn via Claude Code Task tool
|
|
1037
|
+
- Model routing hints in agent definitions
|
|
1038
|
+
|
|
1039
|
+
- phase: 6
|
|
1040
|
+
name: Skills & Examples
|
|
1041
|
+
status: pending
|
|
1042
|
+
duration: "1 week"
|
|
1043
|
+
files: 18
|
|
1044
|
+
estimatedLines: 1610
|
|
1045
|
+
deliverables:
|
|
1046
|
+
- Skills available via /qe-* commands
|
|
1047
|
+
- Working examples for all major use cases
|
|
1048
|
+
|
|
1049
|
+
- phase: 7
|
|
1050
|
+
name: Testing & Documentation
|
|
1051
|
+
status: pending
|
|
1052
|
+
duration: "1 week"
|
|
1053
|
+
files: 24
|
|
1054
|
+
estimatedLines: 2790
|
|
1055
|
+
deliverables:
|
|
1056
|
+
- 80%+ test coverage
|
|
1057
|
+
- All integration points validated
|
|
1058
|
+
- Performance benchmarks documented
|
|
1059
|
+
|
|
1060
|
+
# Totals
|
|
1061
|
+
totals:
|
|
1062
|
+
totalPhases: 7
|
|
1063
|
+
totalDuration: "7 weeks"
|
|
1064
|
+
totalFiles: 144
|
|
1065
|
+
totalEstimatedLines: 13430
|
|
1066
|
+
|
|
1067
|
+
# Critical path
|
|
1068
|
+
criticalPath:
|
|
1069
|
+
- phase: 1
|
|
1070
|
+
blockedBy: null
|
|
1071
|
+
blocks: [2, 3, 4, 5, 6, 7]
|
|
1072
|
+
|
|
1073
|
+
- phase: 2
|
|
1074
|
+
blockedBy: [1]
|
|
1075
|
+
blocks: [3, 4]
|
|
1076
|
+
|
|
1077
|
+
- phase: 3
|
|
1078
|
+
blockedBy: [2]
|
|
1079
|
+
blocks: [5, 6]
|
|
1080
|
+
|
|
1081
|
+
- phase: 4
|
|
1082
|
+
blockedBy: [2]
|
|
1083
|
+
blocks: [6, 7]
|
|
1084
|
+
|
|
1085
|
+
- phase: 5
|
|
1086
|
+
blockedBy: [3]
|
|
1087
|
+
blocks: [6, 7]
|
|
1088
|
+
|
|
1089
|
+
- phase: 6
|
|
1090
|
+
blockedBy: [4, 5]
|
|
1091
|
+
blocks: [7]
|
|
1092
|
+
|
|
1093
|
+
- phase: 7
|
|
1094
|
+
blockedBy: [6]
|
|
1095
|
+
blocks: null
|