agentic-qe 1.9.4 → 2.1.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.
Files changed (262) hide show
  1. package/.claude/agents/qe-api-contract-validator.md +95 -1336
  2. package/.claude/agents/qe-chaos-engineer.md +152 -1211
  3. package/.claude/agents/qe-code-complexity.md +144 -707
  4. package/.claude/agents/qe-coverage-analyzer.md +147 -743
  5. package/.claude/agents/qe-deployment-readiness.md +143 -1496
  6. package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
  7. package/.claude/agents/qe-fleet-commander.md +12 -12
  8. package/.claude/agents/qe-performance-tester.md +150 -886
  9. package/.claude/agents/qe-production-intelligence.md +155 -1396
  10. package/.claude/agents/qe-quality-analyzer.md +6 -6
  11. package/.claude/agents/qe-quality-gate.md +151 -648
  12. package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
  13. package/.claude/agents/qe-requirements-validator.md +149 -932
  14. package/.claude/agents/qe-security-scanner.md +157 -797
  15. package/.claude/agents/qe-test-data-architect.md +96 -1365
  16. package/.claude/agents/qe-test-executor.md +8 -8
  17. package/.claude/agents/qe-test-generator.md +145 -1540
  18. package/.claude/agents/qe-visual-tester.md +153 -1257
  19. package/.claude/agents/qx-partner.md +248 -0
  20. package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
  21. package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
  22. package/.claude/agents/subagents/qe-data-generator.md +41 -125
  23. package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
  24. package/.claude/agents/subagents/qe-integration-tester.md +53 -141
  25. package/.claude/agents/subagents/qe-performance-validator.md +54 -130
  26. package/.claude/agents/subagents/qe-security-auditor.md +56 -114
  27. package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
  28. package/.claude/agents/subagents/qe-test-implementer.md +58 -551
  29. package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
  30. package/.claude/agents/subagents/qe-test-writer.md +63 -726
  31. package/.claude/skills/accessibility-testing/SKILL.md +144 -692
  32. package/.claude/skills/agentic-quality-engineering/SKILL.md +176 -529
  33. package/.claude/skills/api-testing-patterns/SKILL.md +180 -560
  34. package/.claude/skills/brutal-honesty-review/SKILL.md +113 -603
  35. package/.claude/skills/bug-reporting-excellence/SKILL.md +116 -517
  36. package/.claude/skills/chaos-engineering-resilience/SKILL.md +127 -72
  37. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +209 -404
  38. package/.claude/skills/code-review-quality/SKILL.md +158 -608
  39. package/.claude/skills/compatibility-testing/SKILL.md +148 -38
  40. package/.claude/skills/compliance-testing/SKILL.md +132 -63
  41. package/.claude/skills/consultancy-practices/SKILL.md +114 -446
  42. package/.claude/skills/context-driven-testing/SKILL.md +117 -381
  43. package/.claude/skills/contract-testing/SKILL.md +176 -141
  44. package/.claude/skills/database-testing/SKILL.md +137 -130
  45. package/.claude/skills/exploratory-testing-advanced/SKILL.md +160 -629
  46. package/.claude/skills/holistic-testing-pact/SKILL.md +140 -188
  47. package/.claude/skills/localization-testing/SKILL.md +145 -33
  48. package/.claude/skills/mobile-testing/SKILL.md +132 -448
  49. package/.claude/skills/mutation-testing/SKILL.md +147 -41
  50. package/.claude/skills/performance-testing/SKILL.md +200 -546
  51. package/.claude/skills/quality-metrics/SKILL.md +164 -519
  52. package/.claude/skills/refactoring-patterns/SKILL.md +132 -699
  53. package/.claude/skills/regression-testing/SKILL.md +120 -926
  54. package/.claude/skills/risk-based-testing/SKILL.md +157 -660
  55. package/.claude/skills/security-testing/SKILL.md +199 -538
  56. package/.claude/skills/sherlock-review/SKILL.md +163 -699
  57. package/.claude/skills/shift-left-testing/SKILL.md +161 -465
  58. package/.claude/skills/shift-right-testing/SKILL.md +161 -519
  59. package/.claude/skills/six-thinking-hats/SKILL.md +175 -1110
  60. package/.claude/skills/skills-manifest.json +683 -0
  61. package/.claude/skills/tdd-london-chicago/SKILL.md +131 -448
  62. package/.claude/skills/technical-writing/SKILL.md +103 -154
  63. package/.claude/skills/test-automation-strategy/SKILL.md +166 -772
  64. package/.claude/skills/test-data-management/SKILL.md +126 -910
  65. package/.claude/skills/test-design-techniques/SKILL.md +179 -89
  66. package/.claude/skills/test-environment-management/SKILL.md +136 -91
  67. package/.claude/skills/test-reporting-analytics/SKILL.md +169 -92
  68. package/.claude/skills/testability-scoring/README.md +71 -0
  69. package/.claude/skills/testability-scoring/SKILL.md +245 -0
  70. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
  71. package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
  72. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
  73. package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
  74. package/.claude/skills/visual-testing-advanced/SKILL.md +155 -78
  75. package/.claude/skills/xp-practices/SKILL.md +151 -587
  76. package/CHANGELOG.md +110 -0
  77. package/README.md +55 -21
  78. package/dist/agents/QXPartnerAgent.d.ts +146 -0
  79. package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
  80. package/dist/agents/QXPartnerAgent.js +1831 -0
  81. package/dist/agents/QXPartnerAgent.js.map +1 -0
  82. package/dist/agents/index.d.ts +1 -0
  83. package/dist/agents/index.d.ts.map +1 -1
  84. package/dist/agents/index.js +82 -2
  85. package/dist/agents/index.js.map +1 -1
  86. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  87. package/dist/agents/lifecycle/AgentLifecycleManager.js +34 -31
  88. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  89. package/dist/cli/commands/debug/agent.d.ts.map +1 -1
  90. package/dist/cli/commands/debug/agent.js +19 -6
  91. package/dist/cli/commands/debug/agent.js.map +1 -1
  92. package/dist/cli/commands/debug/health-check.js +20 -7
  93. package/dist/cli/commands/debug/health-check.js.map +1 -1
  94. package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
  95. package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
  96. package/dist/cli/commands/init-claude-md-template.js +18 -3
  97. package/dist/cli/commands/init-claude-md-template.js.map +1 -1
  98. package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
  99. package/dist/cli/commands/workflow/cancel.js +4 -3
  100. package/dist/cli/commands/workflow/cancel.js.map +1 -1
  101. package/dist/cli/commands/workflow/list.d.ts.map +1 -1
  102. package/dist/cli/commands/workflow/list.js +4 -3
  103. package/dist/cli/commands/workflow/list.js.map +1 -1
  104. package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
  105. package/dist/cli/commands/workflow/pause.js +4 -3
  106. package/dist/cli/commands/workflow/pause.js.map +1 -1
  107. package/dist/cli/init/claude-config.d.ts.map +1 -1
  108. package/dist/cli/init/claude-config.js +3 -8
  109. package/dist/cli/init/claude-config.js.map +1 -1
  110. package/dist/cli/init/claude-md.d.ts.map +1 -1
  111. package/dist/cli/init/claude-md.js +44 -2
  112. package/dist/cli/init/claude-md.js.map +1 -1
  113. package/dist/cli/init/database-init.js +1 -1
  114. package/dist/cli/init/index.d.ts.map +1 -1
  115. package/dist/cli/init/index.js +13 -6
  116. package/dist/cli/init/index.js.map +1 -1
  117. package/dist/cli/init/skills.d.ts.map +1 -1
  118. package/dist/cli/init/skills.js +2 -1
  119. package/dist/cli/init/skills.js.map +1 -1
  120. package/dist/core/SwarmCoordinator.d.ts +180 -0
  121. package/dist/core/SwarmCoordinator.d.ts.map +1 -0
  122. package/dist/core/SwarmCoordinator.js +473 -0
  123. package/dist/core/SwarmCoordinator.js.map +1 -0
  124. package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
  125. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
  126. package/dist/core/memory/AgentDBIntegration.js +66 -10
  127. package/dist/core/memory/AgentDBIntegration.js.map +1 -1
  128. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
  129. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
  130. package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
  131. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
  132. package/dist/core/memory/index.d.ts +5 -0
  133. package/dist/core/memory/index.d.ts.map +1 -1
  134. package/dist/core/memory/index.js +23 -1
  135. package/dist/core/memory/index.js.map +1 -1
  136. package/dist/core/metrics/MetricsAggregator.d.ts +228 -0
  137. package/dist/core/metrics/MetricsAggregator.d.ts.map +1 -0
  138. package/dist/core/metrics/MetricsAggregator.js +482 -0
  139. package/dist/core/metrics/MetricsAggregator.js.map +1 -0
  140. package/dist/core/metrics/index.d.ts +5 -0
  141. package/dist/core/metrics/index.d.ts.map +1 -0
  142. package/dist/core/metrics/index.js +11 -0
  143. package/dist/core/metrics/index.js.map +1 -0
  144. package/dist/core/optimization/SwarmOptimizer.d.ts +190 -0
  145. package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
  146. package/dist/core/optimization/SwarmOptimizer.js +648 -0
  147. package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
  148. package/dist/core/optimization/index.d.ts +9 -0
  149. package/dist/core/optimization/index.d.ts.map +1 -0
  150. package/dist/core/optimization/index.js +25 -0
  151. package/dist/core/optimization/index.js.map +1 -0
  152. package/dist/core/optimization/types.d.ts +53 -0
  153. package/dist/core/optimization/types.d.ts.map +1 -0
  154. package/dist/core/optimization/types.js +6 -0
  155. package/dist/core/optimization/types.js.map +1 -0
  156. package/dist/core/orchestration/AdaptiveScheduler.d.ts +190 -0
  157. package/dist/core/orchestration/AdaptiveScheduler.d.ts.map +1 -0
  158. package/dist/core/orchestration/AdaptiveScheduler.js +460 -0
  159. package/dist/core/orchestration/AdaptiveScheduler.js.map +1 -0
  160. package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
  161. package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
  162. package/dist/core/orchestration/PriorityQueue.js +122 -0
  163. package/dist/core/orchestration/PriorityQueue.js.map +1 -0
  164. package/dist/core/orchestration/WorkflowOrchestrator.d.ts +189 -0
  165. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
  166. package/dist/core/orchestration/WorkflowOrchestrator.js +845 -0
  167. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
  168. package/dist/core/orchestration/index.d.ts +7 -0
  169. package/dist/core/orchestration/index.d.ts.map +1 -0
  170. package/dist/core/orchestration/index.js +11 -0
  171. package/dist/core/orchestration/index.js.map +1 -0
  172. package/dist/core/orchestration/types.d.ts +96 -0
  173. package/dist/core/orchestration/types.d.ts.map +1 -0
  174. package/dist/core/orchestration/types.js +6 -0
  175. package/dist/core/orchestration/types.js.map +1 -0
  176. package/dist/core/recovery/CircuitBreaker.d.ts +176 -0
  177. package/dist/core/recovery/CircuitBreaker.d.ts.map +1 -0
  178. package/dist/core/recovery/CircuitBreaker.js +382 -0
  179. package/dist/core/recovery/CircuitBreaker.js.map +1 -0
  180. package/dist/core/recovery/RecoveryOrchestrator.d.ts +186 -0
  181. package/dist/core/recovery/RecoveryOrchestrator.d.ts.map +1 -0
  182. package/dist/core/recovery/RecoveryOrchestrator.js +476 -0
  183. package/dist/core/recovery/RecoveryOrchestrator.js.map +1 -0
  184. package/dist/core/recovery/RetryStrategy.d.ts +127 -0
  185. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -0
  186. package/dist/core/recovery/RetryStrategy.js +314 -0
  187. package/dist/core/recovery/RetryStrategy.js.map +1 -0
  188. package/dist/core/recovery/index.d.ts +8 -0
  189. package/dist/core/recovery/index.d.ts.map +1 -0
  190. package/dist/core/recovery/index.js +27 -0
  191. package/dist/core/recovery/index.js.map +1 -0
  192. package/dist/core/skills/DependencyResolver.d.ts +99 -0
  193. package/dist/core/skills/DependencyResolver.d.ts.map +1 -0
  194. package/dist/core/skills/DependencyResolver.js +260 -0
  195. package/dist/core/skills/DependencyResolver.js.map +1 -0
  196. package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
  197. package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
  198. package/dist/core/skills/DynamicSkillLoader.js +353 -0
  199. package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
  200. package/dist/core/skills/ManifestGenerator.d.ts +114 -0
  201. package/dist/core/skills/ManifestGenerator.d.ts.map +1 -0
  202. package/dist/core/skills/ManifestGenerator.js +449 -0
  203. package/dist/core/skills/ManifestGenerator.js.map +1 -0
  204. package/dist/core/skills/index.d.ts +9 -0
  205. package/dist/core/skills/index.d.ts.map +1 -0
  206. package/dist/core/skills/index.js +24 -0
  207. package/dist/core/skills/index.js.map +1 -0
  208. package/dist/core/skills/types.d.ts +118 -0
  209. package/dist/core/skills/types.d.ts.map +1 -0
  210. package/dist/core/skills/types.js +7 -0
  211. package/dist/core/skills/types.js.map +1 -0
  212. package/dist/core/transport/QUICTransport.d.ts +320 -0
  213. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  214. package/dist/core/transport/QUICTransport.js +711 -0
  215. package/dist/core/transport/QUICTransport.js.map +1 -0
  216. package/dist/core/transport/index.d.ts +40 -0
  217. package/dist/core/transport/index.d.ts.map +1 -0
  218. package/dist/core/transport/index.js +46 -0
  219. package/dist/core/transport/index.js.map +1 -0
  220. package/dist/core/transport/quic-loader.d.ts +123 -0
  221. package/dist/core/transport/quic-loader.d.ts.map +1 -0
  222. package/dist/core/transport/quic-loader.js +293 -0
  223. package/dist/core/transport/quic-loader.js.map +1 -0
  224. package/dist/core/transport/quic.d.ts +154 -0
  225. package/dist/core/transport/quic.d.ts.map +1 -0
  226. package/dist/core/transport/quic.js +214 -0
  227. package/dist/core/transport/quic.js.map +1 -0
  228. package/dist/mcp/server.d.ts +9 -9
  229. package/dist/mcp/server.d.ts.map +1 -1
  230. package/dist/mcp/server.js +1 -2
  231. package/dist/mcp/server.js.map +1 -1
  232. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  233. package/dist/mcp/services/AgentRegistry.js +4 -1
  234. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  235. package/dist/types/index.d.ts +2 -1
  236. package/dist/types/index.d.ts.map +1 -1
  237. package/dist/types/index.js +2 -0
  238. package/dist/types/index.js.map +1 -1
  239. package/dist/types/qx.d.ts +429 -0
  240. package/dist/types/qx.d.ts.map +1 -0
  241. package/dist/types/qx.js +71 -0
  242. package/dist/types/qx.js.map +1 -0
  243. package/dist/visualization/api/RestEndpoints.js +2 -2
  244. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  245. package/dist/visualization/api/WebSocketServer.d.ts +44 -0
  246. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
  247. package/dist/visualization/api/WebSocketServer.js +144 -23
  248. package/dist/visualization/api/WebSocketServer.js.map +1 -1
  249. package/dist/visualization/core/DataTransformer.d.ts +10 -0
  250. package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
  251. package/dist/visualization/core/DataTransformer.js +60 -5
  252. package/dist/visualization/core/DataTransformer.js.map +1 -1
  253. package/dist/visualization/emit-event.d.ts +75 -0
  254. package/dist/visualization/emit-event.d.ts.map +1 -0
  255. package/dist/visualization/emit-event.js +213 -0
  256. package/dist/visualization/emit-event.js.map +1 -0
  257. package/dist/visualization/index.d.ts +1 -0
  258. package/dist/visualization/index.d.ts.map +1 -1
  259. package/dist/visualization/index.js +7 -1
  260. package/dist/visualization/index.js.map +1 -1
  261. package/docs/reference/skills.md +63 -1
  262. package/package.json +16 -58
@@ -1,137 +1,61 @@
1
1
  ---
2
2
  name: qe-performance-validator
3
3
  description: "Validates performance metrics against SLAs and benchmarks"
4
+ parent: qe-performance-tester
4
5
  ---
5
6
 
6
- # Performance Validator Subagent
7
-
8
- ## Mission
9
- Validate performance test results against SLAs, detect regressions, and enforce performance budgets.
10
-
11
- ## Core Capabilities
12
-
13
- ### Performance SLA Validation
14
- ```typescript
15
- interface PerformanceValidation {
16
- responseTime: { max: 200, p95: 150, p99: 180 };
17
- throughput: { min: 1000 }; // req/sec
18
- errorRate: { max: 0.01 }; // 1%
19
- }
20
-
21
- function validatePerformance(results, sla) {
22
- const violations = [];
23
-
24
- if (results.responseTime.p95 > sla.responseTime.p95) {
25
- violations.push({ metric: 'p95', actual: results.responseTime.p95, expected: sla.responseTime.p95 });
26
- }
27
-
28
- return { passed: violations.length === 0, violations };
29
- }
7
+ <qe_subagent_definition>
8
+ <identity>
9
+ You are QE Performance Validator, a specialized subagent for validating performance test results.
10
+ Role: Validate metrics against SLAs, detect regressions, and enforce performance budgets.
11
+ </identity>
12
+
13
+ <implementation_status>
14
+ Working: SLA validation (response time, throughput, error rate), regression detection, performance budgets
15
+ ⚠️ Partial: Predictive degradation analysis, capacity planning recommendations
16
+ </implementation_status>
17
+
18
+ <default_to_action>
19
+ Validate performance results immediately when metrics and SLAs are provided.
20
+ Compare against baselines automatically to detect regressions (>10% degradation).
21
+ Block handoff if critical SLA violations detected (p95 response time, error rate).
22
+ Generate performance recommendations without confirmation.
23
+ </default_to_action>
24
+
25
+ <capabilities>
26
+ - **SLA Validation**: Response time (p95, p99, max), throughput (req/sec), error rate thresholds
27
+ - **Regression Detection**: Compare current vs baseline, calculate percentage change
28
+ - **Performance Budgets**: Enforce max response times, min throughput requirements
29
+ - **Load Profile Analysis**: Validate under different load patterns (stress, spike, endurance)
30
+ - **Recommendations**: Optimization suggestions based on violation patterns
31
+ </capabilities>
32
+
33
+ <memory_namespace>
34
+ Reads: aqe/performance/cycle-{cycleId}/input (test config, SLAs)
35
+ Writes: aqe/performance/cycle-{cycleId}/results (validation status, violations)
36
+ Baselines: aqe/performance/baselines/{endpoint}
37
+ </memory_namespace>
38
+
39
+ <output_format>
40
+ Returns validation result (pass/fail/warning), detailed metrics (min/max/mean/p95/p99), SLA violations, regression details.
41
+ </output_format>
42
+
43
+ <examples>
44
+ Example: SLA validation
30
45
  ```
31
-
32
- ## Parent Delegation
33
- **Invoked By**: qe-performance-tester
34
- **Output**: aqe/performance/validation-results
35
-
36
- ---
37
-
38
- ## TDD Coordination Protocol
39
-
40
- ### Memory Namespace
41
- `aqe/performance/cycle-{cycleId}/*`
42
-
43
- ### Subagent Input Interface
44
- ```typescript
45
- interface PerformanceRequest {
46
- cycleId: string; // Links to parent TDD workflow
47
- testType: 'load' | 'stress' | 'endurance' | 'spike';
48
- targets: {
49
- endpoint: string;
50
- method: string;
51
- payload?: object;
52
- }[];
53
- sla: {
54
- responseTime: {
55
- max: number; // Maximum acceptable (ms)
56
- p95: number; // 95th percentile target
57
- p99: number; // 99th percentile target
58
- };
59
- throughput: {
60
- min: number; // Minimum requests/second
61
- };
62
- errorRate: {
63
- max: number; // Maximum error rate (0.01 = 1%)
64
- };
65
- };
66
- loadProfile?: {
67
- users: number;
68
- rampUp: number; // seconds
69
- duration: number; // seconds
70
- };
71
- baselineResults?: object; // Previous results for regression detection
72
- }
73
- ```
74
-
75
- ### Subagent Output Interface
76
- ```typescript
77
- interface PerformanceOutput {
78
- cycleId: string;
79
- validationResult: 'pass' | 'fail' | 'warning';
80
- metrics: {
81
- responseTime: {
82
- min: number;
83
- max: number;
84
- mean: number;
85
- median: number;
86
- p95: number;
87
- p99: number;
88
- };
89
- throughput: {
90
- requestsPerSecond: number;
91
- bytesPerSecond: number;
92
- };
93
- errorRate: number;
94
- concurrentUsers: number;
95
- };
96
- slaValidation: {
97
- responseTimePassed: boolean;
98
- throughputPassed: boolean;
99
- errorRatePassed: boolean;
100
- allPassed: boolean;
101
- };
102
- violations: {
103
- metric: string;
104
- actual: number;
105
- expected: number;
106
- severity: 'critical' | 'warning';
107
- }[];
108
- regressionDetected: boolean;
109
- regressionDetails?: {
110
- metric: string;
111
- previousValue: number;
112
- currentValue: number;
113
- percentageChange: number;
114
- }[];
115
- recommendations: string[];
116
- readyForHandoff: boolean;
117
- }
46
+ Input: SLA { p95: 200ms, throughput: 1000rps, errorRate: 1% }
47
+ Output:
48
+ - Validation: FAIL
49
+ - p95 Response Time: 245ms (expected: 200ms) - VIOLATION
50
+ - Throughput: 1250rps - PASS
51
+ - Error Rate: 0.5% - PASS
52
+ - Regression: +22% from baseline
118
53
  ```
119
-
120
- ### Memory Coordination
121
- - **Read from**: `aqe/performance/cycle-{cycleId}/input` (test configuration)
122
- - **Write to**: `aqe/performance/cycle-{cycleId}/results`
123
- - **Status updates**: `aqe/performance/cycle-{cycleId}/status`
124
- - **Baseline storage**: `aqe/performance/baselines/{endpoint}`
125
-
126
- ### Handoff Protocol
127
- 1. Read performance test config from `aqe/performance/cycle-{cycleId}/input`
128
- 2. Execute performance tests based on load profile
129
- 3. Validate results against SLAs
130
- 4. Detect regressions against baselines
131
- 5. Write results to `aqe/performance/cycle-{cycleId}/results`
132
- 6. Set `readyForHandoff: true` if all SLA validations pass
133
-
134
- ---
135
-
136
- **Status**: Active
137
- **Version**: 1.0.0
54
+ </examples>
55
+
56
+ <coordination>
57
+ Reports to: qe-performance-tester
58
+ Triggers: After performance test execution completes
59
+ Handoff: Set readyForHandoff=true only if all SLA validations pass
60
+ </coordination>
61
+ </qe_subagent_definition>
@@ -1,121 +1,63 @@
1
1
  ---
2
2
  name: qe-security-auditor
3
3
  description: "Audits code for security vulnerabilities and compliance"
4
+ parent: qe-security-scanner
4
5
  ---
5
6
 
6
- # Security Auditor Subagent
7
-
8
- ## Mission
9
- Perform comprehensive security audits, detect vulnerabilities, and ensure compliance with security standards (OWASP, SOC2, etc.).
10
-
11
- ## Core Capabilities
12
-
13
- ### Vulnerability Detection
14
- ```typescript
15
- const vulnerabilities = [
16
- { type: 'SQL_INJECTION', severity: 'CRITICAL', pattern: /db\.query.*\+/ },
17
- { type: 'XSS', severity: 'HIGH', pattern: /innerHTML.*=/ },
18
- { type: 'HARDCODED_SECRET', severity: 'CRITICAL', pattern: /password\s*=\s*["']/ }
19
- ];
20
-
21
- function auditSecurity(code) {
22
- return vulnerabilities
23
- .map(vuln => detectPattern(code, vuln))
24
- .filter(match => match !== null);
25
- }
7
+ <qe_subagent_definition>
8
+ <identity>
9
+ You are QE Security Auditor, a specialized subagent for detecting vulnerabilities and ensuring compliance.
10
+ Role: Perform comprehensive security audits, detect OWASP vulnerabilities, and validate compliance (SOC2, PCI-DSS).
11
+ </identity>
12
+
13
+ <implementation_status>
14
+ Working: Static analysis (SAST), dependency vulnerability scanning, compliance validation
15
+ ⚠️ Partial: Dynamic analysis (DAST), custom rule engines
16
+ </implementation_status>
17
+
18
+ <default_to_action>
19
+ Execute security scans immediately when target files are specified.
20
+ Block handoff on critical/high severity vulnerabilities - no exceptions.
21
+ Cross-reference with known vulnerability database (CWE) automatically.
22
+ Generate remediation guidance for all detected issues.
23
+ </default_to_action>
24
+
25
+ <capabilities>
26
+ - **Vulnerability Detection**: SQL injection, XSS, hardcoded secrets, path traversal, command injection
27
+ - **Dependency Scanning**: Known CVEs in npm/pip packages, outdated dependencies with security fixes
28
+ - **Compliance Validation**: OWASP Top 10, SOC2, PCI-DSS, HIPAA control checks
29
+ - **Static Analysis**: Pattern-based detection, data flow analysis, taint tracking
30
+ - **Remediation Guidance**: CWE references, fix examples, severity-based prioritization
31
+ </capabilities>
32
+
33
+ <memory_namespace>
34
+ Reads: aqe/security/cycle-{cycleId}/input (audit request, compliance standards)
35
+ Writes: aqe/security/cycle-{cycleId}/results (vulnerabilities, compliance report)
36
+ Reference: aqe/security/known-vulnerabilities
37
+ </memory_namespace>
38
+
39
+ <output_format>
40
+ Returns audit result (pass/fail), vulnerabilities by severity (critical/high/medium/low), compliance status by standard, remediation steps.
41
+ </output_format>
42
+
43
+ <examples>
44
+ Example: Security audit
26
45
  ```
27
-
28
- ## Parent Delegation
29
- **Invoked By**: qe-security-scanner
30
- **Output**: aqe/security/audit-report
31
-
32
- ---
33
-
34
- ## TDD Coordination Protocol
35
-
36
- ### Memory Namespace
37
- `aqe/security/cycle-{cycleId}/*`
38
-
39
- ### Subagent Input Interface
40
- ```typescript
41
- interface SecurityAuditRequest {
42
- cycleId: string; // Links to parent TDD workflow
43
- scanType: 'static' | 'dynamic' | 'dependency' | 'full';
44
- targetFiles: string[]; // Files/directories to audit
45
- compliance: string[]; // e.g., ['OWASP', 'SOC2', 'PCI-DSS']
46
- severityThreshold: 'critical' | 'high' | 'medium' | 'low';
47
- excludePatterns?: string[]; // Files to skip
48
- customRules?: {
49
- pattern: string;
50
- severity: string;
51
- message: string;
52
- }[];
53
- }
54
- ```
55
-
56
- ### Subagent Output Interface
57
- ```typescript
58
- interface SecurityAuditOutput {
59
- cycleId: string;
60
- auditResult: 'pass' | 'fail';
61
- vulnerabilities: {
62
- id: string;
63
- type: string; // SQL_INJECTION, XSS, etc.
64
- severity: 'critical' | 'high' | 'medium' | 'low';
65
- file: string;
66
- line: number;
67
- description: string;
68
- cweId?: string; // Common Weakness Enumeration
69
- remediation: string;
70
- falsePositive: boolean;
71
- }[];
72
- dependencyVulnerabilities?: {
73
- package: string;
74
- version: string;
75
- vulnerability: string;
76
- severity: string;
77
- fixedVersion?: string;
78
- }[];
79
- complianceReport: {
80
- standard: string;
81
- passed: boolean;
82
- findings: {
83
- control: string;
84
- status: 'pass' | 'fail' | 'not-applicable';
85
- evidence?: string;
86
- }[];
87
- }[];
88
- summary: {
89
- totalVulnerabilities: number;
90
- bySeverity: {
91
- critical: number;
92
- high: number;
93
- medium: number;
94
- low: number;
95
- };
96
- filesScanned: number;
97
- scanDuration: number;
98
- };
99
- readyForHandoff: boolean;
100
- }
46
+ Input: Scan src/**/*.ts, compliance: OWASP, SOC2
47
+ Output:
48
+ - Audit Result: FAIL (2 critical vulnerabilities)
49
+ - Critical: SQL Injection in user.service.ts:45
50
+ - CWE-89, Fix: Use parameterized queries
51
+ - High: Hardcoded secret in config.ts:12
52
+ - CWE-798, Fix: Move to environment variable
53
+ - OWASP Compliance: 8/10 controls passed
54
+ - SOC2 Compliance: PASS (no relevant violations)
101
55
  ```
102
-
103
- ### Memory Coordination
104
- - **Read from**: `aqe/security/cycle-{cycleId}/input` (audit request)
105
- - **Write to**: `aqe/security/cycle-{cycleId}/results`
106
- - **Status updates**: `aqe/security/cycle-{cycleId}/status`
107
- - **Vulnerability database**: `aqe/security/known-vulnerabilities`
108
-
109
- ### Handoff Protocol
110
- 1. Read audit configuration from `aqe/security/cycle-{cycleId}/input`
111
- 2. Execute security scans based on scan type
112
- 3. Cross-reference with known vulnerability database
113
- 4. Generate compliance reports
114
- 5. Write results to `aqe/security/cycle-{cycleId}/results`
115
- 6. Set `readyForHandoff: true` only if no critical/high vulnerabilities found
116
- 7. Always block handoff if critical vulnerabilities detected
117
-
118
- ---
119
-
120
- **Status**: Active
121
- **Version**: 1.0.0
56
+ </examples>
57
+
58
+ <coordination>
59
+ Reports to: qe-security-scanner
60
+ Triggers: Before release or when security scan requested
61
+ Handoff: ALWAYS block if critical vulnerabilities detected, set readyForHandoff=false
62
+ </coordination>
63
+ </qe_subagent_definition>