agentic-qe 2.3.2 → 2.3.4

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 (283) hide show
  1. package/CHANGELOG.md +140 -0
  2. package/README.md +1 -1
  3. package/dist/agents/BaseAgent.d.ts +10 -0
  4. package/dist/agents/BaseAgent.d.ts.map +1 -1
  5. package/dist/agents/BaseAgent.js +113 -0
  6. package/dist/agents/BaseAgent.js.map +1 -1
  7. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  8. package/dist/agents/CoverageAnalyzerAgent.js +53 -27
  9. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  10. package/dist/agents/FlakyTestHunterAgent.d.ts +5 -0
  11. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  12. package/dist/agents/FlakyTestHunterAgent.js +20 -5
  13. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  14. package/dist/agents/QualityGateAgent.js +44 -6
  15. package/dist/agents/QualityGateAgent.js.map +1 -1
  16. package/dist/cli/commands/dream/index.d.ts +50 -0
  17. package/dist/cli/commands/dream/index.d.ts.map +1 -0
  18. package/dist/cli/commands/dream/index.js +282 -0
  19. package/dist/cli/commands/dream/index.js.map +1 -0
  20. package/dist/cli/commands/learn/index.d.ts +31 -5
  21. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  22. package/dist/cli/commands/learn/index.js +183 -50
  23. package/dist/cli/commands/learn/index.js.map +1 -1
  24. package/dist/cli/commands/transfer/index.d.ts +55 -0
  25. package/dist/cli/commands/transfer/index.d.ts.map +1 -0
  26. package/dist/cli/commands/transfer/index.js +317 -0
  27. package/dist/cli/commands/transfer/index.js.map +1 -0
  28. package/dist/cli/index.js +156 -3
  29. package/dist/cli/index.js.map +1 -1
  30. package/dist/cli/init/database-init.js +5 -0
  31. package/dist/cli/init/database-init.js.map +1 -1
  32. package/dist/cli/init/index.d.ts.map +1 -1
  33. package/dist/cli/init/index.js +12 -4
  34. package/dist/cli/init/index.js.map +1 -1
  35. package/dist/cli/init/learning-init.d.ts +39 -0
  36. package/dist/cli/init/learning-init.d.ts.map +1 -0
  37. package/dist/cli/init/learning-init.js +239 -0
  38. package/dist/cli/init/learning-init.js.map +1 -0
  39. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  40. package/dist/learning/PerformanceTracker.d.ts +9 -0
  41. package/dist/learning/PerformanceTracker.d.ts.map +1 -1
  42. package/dist/learning/PerformanceTracker.js +26 -2
  43. package/dist/learning/PerformanceTracker.js.map +1 -1
  44. package/dist/learning/baselines/BaselineCollector.d.ts +178 -0
  45. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -0
  46. package/dist/learning/baselines/BaselineCollector.js +398 -0
  47. package/dist/learning/baselines/BaselineCollector.js.map +1 -0
  48. package/dist/learning/baselines/StandardTaskSuite.d.ts +88 -0
  49. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -0
  50. package/dist/learning/baselines/StandardTaskSuite.js +801 -0
  51. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -0
  52. package/dist/learning/baselines/index.d.ts +10 -0
  53. package/dist/learning/baselines/index.d.ts.map +1 -0
  54. package/dist/learning/baselines/index.js +15 -0
  55. package/dist/learning/baselines/index.js.map +1 -0
  56. package/dist/learning/capture/ExecutionRecorder.d.ts +97 -0
  57. package/dist/learning/capture/ExecutionRecorder.d.ts.map +1 -0
  58. package/dist/learning/capture/ExecutionRecorder.js +195 -0
  59. package/dist/learning/capture/ExecutionRecorder.js.map +1 -0
  60. package/dist/learning/capture/ExperienceCapture.d.ts +177 -0
  61. package/dist/learning/capture/ExperienceCapture.d.ts.map +1 -0
  62. package/dist/learning/capture/ExperienceCapture.js +432 -0
  63. package/dist/learning/capture/ExperienceCapture.js.map +1 -0
  64. package/dist/learning/capture/index.d.ts +12 -0
  65. package/dist/learning/capture/index.d.ts.map +1 -0
  66. package/dist/learning/capture/index.js +17 -0
  67. package/dist/learning/capture/index.js.map +1 -0
  68. package/dist/learning/dashboard/MetricsDashboard.d.ts +63 -0
  69. package/dist/learning/dashboard/MetricsDashboard.d.ts.map +1 -0
  70. package/dist/learning/dashboard/MetricsDashboard.js +230 -0
  71. package/dist/learning/dashboard/MetricsDashboard.js.map +1 -0
  72. package/dist/learning/dashboard/index.d.ts +7 -0
  73. package/dist/learning/dashboard/index.d.ts.map +1 -0
  74. package/dist/learning/dashboard/index.js +23 -0
  75. package/dist/learning/dashboard/index.js.map +1 -0
  76. package/dist/learning/dream/ConceptGraph.d.ts +160 -0
  77. package/dist/learning/dream/ConceptGraph.d.ts.map +1 -0
  78. package/dist/learning/dream/ConceptGraph.js +445 -0
  79. package/dist/learning/dream/ConceptGraph.js.map +1 -0
  80. package/dist/learning/dream/DreamEngine.d.ts +150 -0
  81. package/dist/learning/dream/DreamEngine.d.ts.map +1 -0
  82. package/dist/learning/dream/DreamEngine.js +551 -0
  83. package/dist/learning/dream/DreamEngine.js.map +1 -0
  84. package/dist/learning/dream/InsightGenerator.d.ts +152 -0
  85. package/dist/learning/dream/InsightGenerator.d.ts.map +1 -0
  86. package/dist/learning/dream/InsightGenerator.js +463 -0
  87. package/dist/learning/dream/InsightGenerator.js.map +1 -0
  88. package/dist/learning/dream/SpreadingActivation.d.ts +138 -0
  89. package/dist/learning/dream/SpreadingActivation.d.ts.map +1 -0
  90. package/dist/learning/dream/SpreadingActivation.js +320 -0
  91. package/dist/learning/dream/SpreadingActivation.js.map +1 -0
  92. package/dist/learning/dream/index.d.ts +14 -0
  93. package/dist/learning/dream/index.d.ts.map +1 -0
  94. package/dist/learning/dream/index.js +22 -0
  95. package/dist/learning/dream/index.js.map +1 -0
  96. package/dist/learning/metrics/AlertManager.d.ts +107 -0
  97. package/dist/learning/metrics/AlertManager.d.ts.map +1 -0
  98. package/dist/learning/metrics/AlertManager.js +246 -0
  99. package/dist/learning/metrics/AlertManager.js.map +1 -0
  100. package/dist/learning/metrics/LearningMetrics.d.ts +184 -0
  101. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -0
  102. package/dist/learning/metrics/LearningMetrics.js +754 -0
  103. package/dist/learning/metrics/LearningMetrics.js.map +1 -0
  104. package/dist/learning/metrics/MetricsCollector.d.ts +108 -0
  105. package/dist/learning/metrics/MetricsCollector.d.ts.map +1 -0
  106. package/dist/learning/metrics/MetricsCollector.js +240 -0
  107. package/dist/learning/metrics/MetricsCollector.js.map +1 -0
  108. package/dist/learning/metrics/MetricsStore.d.ts +149 -0
  109. package/dist/learning/metrics/MetricsStore.d.ts.map +1 -0
  110. package/dist/learning/metrics/MetricsStore.js +502 -0
  111. package/dist/learning/metrics/MetricsStore.js.map +1 -0
  112. package/dist/learning/metrics/TrendAnalyzer.d.ts +85 -0
  113. package/dist/learning/metrics/TrendAnalyzer.d.ts.map +1 -0
  114. package/dist/learning/metrics/TrendAnalyzer.js +210 -0
  115. package/dist/learning/metrics/TrendAnalyzer.js.map +1 -0
  116. package/dist/learning/metrics/index.d.ts +13 -0
  117. package/dist/learning/metrics/index.d.ts.map +1 -0
  118. package/dist/learning/metrics/index.js +39 -0
  119. package/dist/learning/metrics/index.js.map +1 -0
  120. package/dist/learning/scheduler/IdleDetector.d.ts +126 -0
  121. package/dist/learning/scheduler/IdleDetector.d.ts.map +1 -0
  122. package/dist/learning/scheduler/IdleDetector.js +281 -0
  123. package/dist/learning/scheduler/IdleDetector.js.map +1 -0
  124. package/dist/learning/scheduler/SleepCycle.d.ts +150 -0
  125. package/dist/learning/scheduler/SleepCycle.d.ts.map +1 -0
  126. package/dist/learning/scheduler/SleepCycle.js +506 -0
  127. package/dist/learning/scheduler/SleepCycle.js.map +1 -0
  128. package/dist/learning/scheduler/SleepScheduler.d.ts +131 -0
  129. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -0
  130. package/dist/learning/scheduler/SleepScheduler.js +299 -0
  131. package/dist/learning/scheduler/SleepScheduler.js.map +1 -0
  132. package/dist/learning/scheduler/TimeBasedTrigger.d.ts +108 -0
  133. package/dist/learning/scheduler/TimeBasedTrigger.d.ts.map +1 -0
  134. package/dist/learning/scheduler/TimeBasedTrigger.js +222 -0
  135. package/dist/learning/scheduler/TimeBasedTrigger.js.map +1 -0
  136. package/dist/learning/scheduler/index.d.ts +16 -0
  137. package/dist/learning/scheduler/index.d.ts.map +1 -0
  138. package/dist/learning/scheduler/index.js +23 -0
  139. package/dist/learning/scheduler/index.js.map +1 -0
  140. package/dist/learning/synthesis/PatternSynthesis.d.ts +162 -0
  141. package/dist/learning/synthesis/PatternSynthesis.d.ts.map +1 -0
  142. package/dist/learning/synthesis/PatternSynthesis.js +479 -0
  143. package/dist/learning/synthesis/PatternSynthesis.js.map +1 -0
  144. package/dist/learning/synthesis/index.d.ts +10 -0
  145. package/dist/learning/synthesis/index.d.ts.map +1 -0
  146. package/dist/learning/synthesis/index.js +14 -0
  147. package/dist/learning/synthesis/index.js.map +1 -0
  148. package/dist/learning/transfer/CompatibilityScorer.d.ts +115 -0
  149. package/dist/learning/transfer/CompatibilityScorer.d.ts.map +1 -0
  150. package/dist/learning/transfer/CompatibilityScorer.js +319 -0
  151. package/dist/learning/transfer/CompatibilityScorer.js.map +1 -0
  152. package/dist/learning/transfer/TransferProtocol.d.ts +172 -0
  153. package/dist/learning/transfer/TransferProtocol.d.ts.map +1 -0
  154. package/dist/learning/transfer/TransferProtocol.js +611 -0
  155. package/dist/learning/transfer/TransferProtocol.js.map +1 -0
  156. package/dist/learning/transfer/TransferPrototype.d.ts +93 -0
  157. package/dist/learning/transfer/TransferPrototype.d.ts.map +1 -0
  158. package/dist/learning/transfer/TransferPrototype.js +433 -0
  159. package/dist/learning/transfer/TransferPrototype.js.map +1 -0
  160. package/dist/learning/transfer/TransferValidator.d.ts +140 -0
  161. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -0
  162. package/dist/learning/transfer/TransferValidator.js +413 -0
  163. package/dist/learning/transfer/TransferValidator.js.map +1 -0
  164. package/dist/learning/transfer/index.d.ts +14 -0
  165. package/dist/learning/transfer/index.d.ts.map +1 -0
  166. package/dist/learning/transfer/index.js +22 -0
  167. package/dist/learning/transfer/index.js.map +1 -0
  168. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts +26 -2
  169. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  170. package/dist/mcp/handlers/test/test-generate-enhanced.js +159 -27
  171. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  172. package/dist/mcp/server-instructions.d.ts +1 -1
  173. package/dist/mcp/server-instructions.js +1 -1
  174. package/dist/mcp/server.d.ts.map +1 -1
  175. package/dist/mcp/server.js +2 -1
  176. package/dist/mcp/server.js.map +1 -1
  177. package/package.json +7 -2
  178. package/scripts/README.md +352 -0
  179. package/scripts/hooks/capture-task-learning.js +191 -0
  180. package/scripts/hooks/emit-task-complete.sh +35 -0
  181. package/scripts/hooks/emit-task-spawn.sh +27 -0
  182. package/.claude/agents/failing-agent.json +0 -9
  183. package/.claude/agents/test-agent.json +0 -9
  184. package/dist/App.d.ts +0 -5
  185. package/dist/App.d.ts.map +0 -1
  186. package/dist/App.js +0 -15
  187. package/dist/App.js.map +0 -1
  188. package/dist/cli/init/utils.d.ts +0 -183
  189. package/dist/cli/init/utils.d.ts.map +0 -1
  190. package/dist/cli/init/utils.js +0 -354
  191. package/dist/cli/init/utils.js.map +0 -1
  192. package/dist/components/Dashboard/Dashboard.d.ts +0 -4
  193. package/dist/components/Dashboard/Dashboard.d.ts.map +0 -1
  194. package/dist/components/Dashboard/Dashboard.js +0 -148
  195. package/dist/components/Dashboard/Dashboard.js.map +0 -1
  196. package/dist/components/Dashboard/DashboardHeader.d.ts +0 -4
  197. package/dist/components/Dashboard/DashboardHeader.d.ts.map +0 -1
  198. package/dist/components/Dashboard/DashboardHeader.js +0 -138
  199. package/dist/components/Dashboard/DashboardHeader.js.map +0 -1
  200. package/dist/contexts/DashboardContext.d.ts +0 -41
  201. package/dist/contexts/DashboardContext.d.ts.map +0 -1
  202. package/dist/contexts/DashboardContext.js +0 -187
  203. package/dist/contexts/DashboardContext.js.map +0 -1
  204. package/dist/core/transport/QUICTransport.d.ts +0 -320
  205. package/dist/core/transport/QUICTransport.d.ts.map +0 -1
  206. package/dist/core/transport/QUICTransport.js +0 -711
  207. package/dist/core/transport/QUICTransport.js.map +0 -1
  208. package/dist/learning/LearningPersistenceAdapter.d.ts +0 -84
  209. package/dist/learning/LearningPersistenceAdapter.d.ts.map +0 -1
  210. package/dist/learning/LearningPersistenceAdapter.js +0 -202
  211. package/dist/learning/LearningPersistenceAdapter.js.map +0 -1
  212. package/dist/learning/algorithms/QLearning.d.ts +0 -68
  213. package/dist/learning/algorithms/QLearning.d.ts.map +0 -1
  214. package/dist/learning/algorithms/QLearning.js +0 -116
  215. package/dist/learning/algorithms/QLearning.js.map +0 -1
  216. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts +0 -7
  217. package/dist/mcp/handlers/advanced/requirements-generate-bdd.d.ts.map +0 -1
  218. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js +0 -267
  219. package/dist/mcp/handlers/advanced/requirements-generate-bdd.js.map +0 -1
  220. package/dist/mcp/handlers/advanced/requirements-validate.d.ts +0 -7
  221. package/dist/mcp/handlers/advanced/requirements-validate.d.ts.map +0 -1
  222. package/dist/mcp/handlers/advanced/requirements-validate.js +0 -175
  223. package/dist/mcp/handlers/advanced/requirements-validate.js.map +0 -1
  224. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts +0 -15
  225. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +0 -1
  226. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +0 -43
  227. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +0 -1
  228. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts +0 -58
  229. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +0 -1
  230. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +0 -188
  231. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +0 -1
  232. package/dist/mcp/handlers/optimize-tests.d.ts +0 -219
  233. package/dist/mcp/handlers/optimize-tests.d.ts.map +0 -1
  234. package/dist/mcp/handlers/optimize-tests.js +0 -533
  235. package/dist/mcp/handlers/optimize-tests.js.map +0 -1
  236. package/dist/mcp/handlers/predict-defects.d.ts +0 -194
  237. package/dist/mcp/handlers/predict-defects.d.ts.map +0 -1
  238. package/dist/mcp/handlers/predict-defects.js +0 -722
  239. package/dist/mcp/handlers/predict-defects.js.map +0 -1
  240. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +0 -199
  241. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +0 -1
  242. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +0 -471
  243. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +0 -1
  244. package/dist/mcp/handlers/quality/quality-decision-make.d.ts +0 -104
  245. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +0 -1
  246. package/dist/mcp/handlers/quality/quality-decision-make.js +0 -408
  247. package/dist/mcp/handlers/quality/quality-decision-make.js.map +0 -1
  248. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts +0 -160
  249. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +0 -1
  250. package/dist/mcp/handlers/quality/quality-gate-execute.js +0 -412
  251. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +0 -1
  252. package/dist/mcp/handlers/quality/quality-policy-check.d.ts +0 -163
  253. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +0 -1
  254. package/dist/mcp/handlers/quality/quality-policy-check.js +0 -455
  255. package/dist/mcp/handlers/quality/quality-policy-check.js.map +0 -1
  256. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts +0 -123
  257. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +0 -1
  258. package/dist/mcp/handlers/quality/quality-risk-assess.js +0 -522
  259. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +0 -1
  260. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts +0 -117
  261. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +0 -1
  262. package/dist/mcp/handlers/quality/quality-validate-metrics.js +0 -288
  263. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +0 -1
  264. package/dist/mcp/handlers/quality-analyze.d.ts +0 -279
  265. package/dist/mcp/handlers/quality-analyze.d.ts.map +0 -1
  266. package/dist/mcp/handlers/quality-analyze.js +0 -720
  267. package/dist/mcp/handlers/quality-analyze.js.map +0 -1
  268. package/dist/mcp/handlers/security/check-authz.d.ts +0 -152
  269. package/dist/mcp/handlers/security/check-authz.d.ts.map +0 -1
  270. package/dist/mcp/handlers/security/check-authz.js +0 -434
  271. package/dist/mcp/handlers/security/check-authz.js.map +0 -1
  272. package/dist/mcp/handlers/security/scan-dependencies.d.ts +0 -148
  273. package/dist/mcp/handlers/security/scan-dependencies.d.ts.map +0 -1
  274. package/dist/mcp/handlers/security/scan-dependencies.js +0 -354
  275. package/dist/mcp/handlers/security/scan-dependencies.js.map +0 -1
  276. package/dist/mcp/handlers/security/validate-auth.d.ts +0 -128
  277. package/dist/mcp/handlers/security/validate-auth.d.ts.map +0 -1
  278. package/dist/mcp/handlers/security/validate-auth.js +0 -294
  279. package/dist/mcp/handlers/security/validate-auth.js.map +0 -1
  280. package/dist/mcp/handlers/test-generate.d.ts +0 -107
  281. package/dist/mcp/handlers/test-generate.d.ts.map +0 -1
  282. package/dist/mcp/handlers/test-generate.js +0 -454
  283. package/dist/mcp/handlers/test-generate.js.map +0 -1
@@ -1,522 +0,0 @@
1
- "use strict";
2
- /**
3
- * Quality Risk Assessment Handler
4
- *
5
- * AI-powered risk assessment for quality gates.
6
- * Uses psycho-symbolic reasoning for complex risk scenarios.
7
- *
8
- * @version 1.0.0
9
- * @author Agentic QE Team - Agent 2
10
- */
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.QualityRiskAssessHandler = void 0;
13
- const base_handler_js_1 = require("../base-handler.js");
14
- class QualityRiskAssessHandler extends base_handler_js_1.BaseHandler {
15
- constructor(hookExecutor) {
16
- super();
17
- this.riskWeights = {
18
- technical: 0.25,
19
- process: 0.15,
20
- deployment: 0.20,
21
- security: 0.25,
22
- performance: 0.15
23
- };
24
- this.hookExecutor = hookExecutor;
25
- }
26
- async handle(args) {
27
- return this.safeHandle(async () => {
28
- const requestId = this.generateRequestId();
29
- const startTime = Date.now();
30
- this.log('info', 'Starting risk assessment', { requestId, projectId: args.context.projectId });
31
- // Validate required parameters
32
- this.validateRequired(args, ['context', 'metrics']);
33
- // Execute pre-task hook
34
- await this.hookExecutor.executePreTask({
35
- description: `Risk assessment for ${args.context.projectId} (${args.context.environment})`,
36
- agentType: 'risk-analyzer',
37
- sessionId: requestId
38
- });
39
- // Perform comprehensive risk assessment
40
- const { result: assessment, executionTime } = await this.measureExecutionTime(async () => {
41
- // Identify risk factors
42
- const riskFactors = await this.identifyRiskFactors(args);
43
- // Calculate risk matrix
44
- const riskMatrix = this.calculateRiskMatrix(riskFactors);
45
- // Calculate overall risk score
46
- const riskScore = this.calculateOverallRiskScore(riskMatrix);
47
- // Determine overall risk level
48
- const overallRisk = this.determineRiskLevel(riskScore);
49
- // Calculate confidence based on data completeness
50
- const confidence = this.calculateConfidence(args);
51
- // Generate recommendations
52
- const recommendations = this.generateRecommendations(riskFactors, overallRisk);
53
- // AI insights if enabled
54
- let aiInsights;
55
- if (args.aiReasoning && overallRisk !== 'low') {
56
- aiInsights = await this.generateAIInsights(args, riskFactors, riskScore);
57
- }
58
- const result = {
59
- assessmentId: requestId,
60
- overallRisk,
61
- riskScore,
62
- confidence,
63
- riskFactors,
64
- riskMatrix,
65
- recommendations,
66
- aiInsights,
67
- metadata: {
68
- assessedAt: new Date().toISOString(),
69
- executionTime: Date.now() - startTime,
70
- model: 'risk-assessment-v1'
71
- }
72
- };
73
- return result;
74
- });
75
- this.log('info', `Risk assessment completed in ${executionTime.toFixed(2)}ms`, {
76
- assessmentId: assessment.assessmentId,
77
- overallRisk: assessment.overallRisk,
78
- riskScore: assessment.riskScore
79
- });
80
- // Store result in memory
81
- await this.hookExecutor.executePostEdit({
82
- file: `risk-assessment-${requestId}`,
83
- memoryKey: `aqe/swarm/quality-mcp-tools/risk-assessments/${requestId}`
84
- });
85
- // Execute post-task hook
86
- await this.hookExecutor.executePostTask({
87
- taskId: requestId,
88
- agentType: 'risk-analyzer',
89
- sessionId: requestId,
90
- results: {
91
- assessmentId: assessment.assessmentId,
92
- overallRisk: assessment.overallRisk,
93
- riskScore: assessment.riskScore,
94
- factorsCount: assessment.riskFactors.length
95
- }
96
- });
97
- return this.createSuccessResponse(assessment, requestId);
98
- });
99
- }
100
- async identifyRiskFactors(args) {
101
- const factors = [];
102
- // Technical risks
103
- factors.push(...this.assessTechnicalRisks(args));
104
- // Process risks
105
- factors.push(...this.assessProcessRisks(args));
106
- // Deployment risks
107
- factors.push(...this.assessDeploymentRisks(args));
108
- // Security risks
109
- factors.push(...this.assessSecurityRisks(args));
110
- // Performance risks
111
- factors.push(...this.assessPerformanceRisks(args));
112
- return factors.filter(f => f.probability > 0);
113
- }
114
- assessTechnicalRisks(args) {
115
- const factors = [];
116
- // Coverage risk
117
- if (args.metrics.coverage.line < 80) {
118
- const severity = args.metrics.coverage.line < 60 ? 'high' : 'medium';
119
- factors.push({
120
- id: 'tech-coverage',
121
- type: 'technical',
122
- severity,
123
- probability: 0.7,
124
- impact: 'Insufficient test coverage increases defect probability',
125
- indicators: [`Line coverage: ${args.metrics.coverage.line.toFixed(1)}%`],
126
- mitigation: [
127
- 'Add unit tests for uncovered code paths',
128
- 'Prioritize coverage for critical components',
129
- 'Set coverage gates before deployment'
130
- ],
131
- confidence: 0.9
132
- });
133
- }
134
- // Test reliability risk
135
- if (args.metrics.testResults.flakyTests > 0) {
136
- factors.push({
137
- id: 'tech-flaky-tests',
138
- type: 'technical',
139
- severity: 'medium',
140
- probability: 0.5,
141
- impact: 'Flaky tests reduce confidence in test suite',
142
- indicators: [`${args.metrics.testResults.flakyTests} flaky tests detected`],
143
- mitigation: [
144
- 'Investigate and fix flaky test patterns',
145
- 'Implement test retry logic',
146
- 'Add test stability monitoring'
147
- ],
148
- confidence: 0.85
149
- });
150
- }
151
- // Complexity risk
152
- if (args.metrics.quality.complexity > 15) {
153
- factors.push({
154
- id: 'tech-complexity',
155
- type: 'technical',
156
- severity: 'medium',
157
- probability: 0.6,
158
- impact: 'High complexity increases maintenance burden and defect rate',
159
- indicators: [`Cyclomatic complexity: ${args.metrics.quality.complexity}`],
160
- mitigation: [
161
- 'Refactor complex functions',
162
- 'Extract methods to reduce complexity',
163
- 'Apply SOLID principles'
164
- ],
165
- confidence: 0.88
166
- });
167
- }
168
- // Technical debt risk
169
- if (args.metrics.quality.technicalDebt > 50) {
170
- factors.push({
171
- id: 'tech-debt',
172
- type: 'technical',
173
- severity: 'high',
174
- probability: 0.65,
175
- impact: 'Accumulated technical debt slows development and increases risk',
176
- indicators: [`Technical debt: ${args.metrics.quality.technicalDebt} hours`],
177
- mitigation: [
178
- 'Allocate time for debt reduction',
179
- 'Prioritize high-impact refactoring',
180
- 'Implement code quality gates'
181
- ],
182
- confidence: 0.75
183
- });
184
- }
185
- return factors;
186
- }
187
- assessProcessRisks(args) {
188
- const factors = [];
189
- // Change set risk
190
- if (args.context.changeSet) {
191
- const { filesModified, linesChanged, complexity } = args.context.changeSet;
192
- if (filesModified > 50 || linesChanged > 1000) {
193
- factors.push({
194
- id: 'process-large-changeset',
195
- type: 'process',
196
- severity: 'medium',
197
- probability: 0.5,
198
- impact: 'Large changesets increase risk of defects and regression',
199
- indicators: [
200
- `Files modified: ${filesModified}`,
201
- `Lines changed: ${linesChanged}`
202
- ],
203
- mitigation: [
204
- 'Break into smaller deployments',
205
- 'Increase review rigor',
206
- 'Add monitoring for changed components'
207
- ],
208
- confidence: 0.82
209
- });
210
- }
211
- if (complexity > 20) {
212
- factors.push({
213
- id: 'process-high-complexity-changes',
214
- type: 'process',
215
- severity: 'high',
216
- probability: 0.6,
217
- impact: 'Complex changes require additional validation',
218
- indicators: [`Change complexity: ${complexity}`],
219
- mitigation: [
220
- 'Conduct peer review',
221
- 'Add integration tests',
222
- 'Perform manual QA testing'
223
- ],
224
- confidence: 0.78
225
- });
226
- }
227
- }
228
- // Historical risk
229
- if (args.historicalData) {
230
- if (args.historicalData.rollbackRate > 0.1) {
231
- factors.push({
232
- id: 'process-high-rollback-rate',
233
- type: 'process',
234
- severity: 'high',
235
- probability: 0.7,
236
- impact: 'Historical rollback rate indicates process issues',
237
- indicators: [`Rollback rate: ${(args.historicalData.rollbackRate * 100).toFixed(1)}%`],
238
- mitigation: [
239
- 'Review deployment process',
240
- 'Enhance testing strategy',
241
- 'Implement staged rollouts'
242
- ],
243
- confidence: 0.85
244
- });
245
- }
246
- }
247
- return factors;
248
- }
249
- assessDeploymentRisks(args) {
250
- const factors = [];
251
- // Production deployment risk
252
- if (args.context.environment === 'production') {
253
- const baseProbability = 0.3;
254
- let severity = 'medium';
255
- if (args.context.criticality === 'critical') {
256
- severity = 'critical';
257
- }
258
- else if (args.context.criticality === 'high') {
259
- severity = 'high';
260
- }
261
- factors.push({
262
- id: 'deploy-production',
263
- type: 'deployment',
264
- severity,
265
- probability: baseProbability,
266
- impact: 'Production deployment carries inherent risk',
267
- indicators: [
268
- `Environment: ${args.context.environment}`,
269
- `Criticality: ${args.context.criticality || 'medium'}`
270
- ],
271
- mitigation: [
272
- 'Implement canary deployment',
273
- 'Prepare rollback plan',
274
- 'Enable feature flags',
275
- 'Monitor key metrics closely'
276
- ],
277
- confidence: 0.95
278
- });
279
- }
280
- // Test failure risk
281
- const failureRate = args.metrics.testResults.failed / args.metrics.testResults.total;
282
- if (failureRate > 0.05) {
283
- factors.push({
284
- id: 'deploy-test-failures',
285
- type: 'deployment',
286
- severity: 'high',
287
- probability: 0.8,
288
- impact: 'Test failures indicate potential defects in deployment',
289
- indicators: [
290
- `${args.metrics.testResults.failed} tests failing`,
291
- `Failure rate: ${(failureRate * 100).toFixed(1)}%`
292
- ],
293
- mitigation: [
294
- 'Fix failing tests before deployment',
295
- 'Investigate root causes',
296
- 'Block deployment until resolved'
297
- ],
298
- confidence: 0.92
299
- });
300
- }
301
- return factors;
302
- }
303
- assessSecurityRisks(args) {
304
- const factors = [];
305
- // Critical vulnerabilities
306
- if (args.metrics.security.critical > 0) {
307
- factors.push({
308
- id: 'security-critical-vulns',
309
- type: 'security',
310
- severity: 'critical',
311
- probability: 0.9,
312
- impact: 'Critical security vulnerabilities pose severe risk',
313
- indicators: [`${args.metrics.security.critical} critical vulnerabilities`],
314
- mitigation: [
315
- 'Address critical vulnerabilities immediately',
316
- 'Block deployment until resolved',
317
- 'Conduct security review',
318
- 'Update dependencies'
319
- ],
320
- confidence: 0.98
321
- });
322
- }
323
- // High vulnerabilities
324
- if (args.metrics.security.high > 2) {
325
- factors.push({
326
- id: 'security-high-vulns',
327
- type: 'security',
328
- severity: 'high',
329
- probability: 0.7,
330
- impact: 'Multiple high-severity vulnerabilities increase attack surface',
331
- indicators: [`${args.metrics.security.high} high-severity vulnerabilities`],
332
- mitigation: [
333
- 'Prioritize high-severity vulnerability fixes',
334
- 'Review security practices',
335
- 'Update vulnerable dependencies'
336
- ],
337
- confidence: 0.90
338
- });
339
- }
340
- return factors;
341
- }
342
- assessPerformanceRisks(args) {
343
- const factors = [];
344
- // Performance regression risk
345
- if (args.metrics.performance.regressions > 0) {
346
- factors.push({
347
- id: 'perf-regressions',
348
- type: 'performance',
349
- severity: 'medium',
350
- probability: 0.6,
351
- impact: 'Performance regressions affect user experience',
352
- indicators: [`${args.metrics.performance.regressions} performance regressions detected`],
353
- mitigation: [
354
- 'Profile and optimize affected code paths',
355
- 'Add performance monitoring',
356
- 'Set performance budgets'
357
- ],
358
- confidence: 0.85
359
- });
360
- }
361
- // High error rate risk
362
- if (args.metrics.performance.errorRate > 0.05) {
363
- factors.push({
364
- id: 'perf-error-rate',
365
- type: 'performance',
366
- severity: 'high',
367
- probability: 0.75,
368
- impact: 'High error rate indicates stability issues',
369
- indicators: [`Error rate: ${(args.metrics.performance.errorRate * 100).toFixed(2)}%`],
370
- mitigation: [
371
- 'Investigate error patterns',
372
- 'Add error handling',
373
- 'Implement circuit breakers',
374
- 'Enhance monitoring'
375
- ],
376
- confidence: 0.88
377
- });
378
- }
379
- return factors;
380
- }
381
- calculateRiskMatrix(factors) {
382
- const matrix = {
383
- technical: 0,
384
- process: 0,
385
- deployment: 0,
386
- security: 0,
387
- performance: 0
388
- };
389
- for (const factor of factors) {
390
- const riskValue = this.calculateFactorRiskValue(factor);
391
- matrix[factor.type] += riskValue;
392
- }
393
- // Normalize to 0-100 scale
394
- Object.keys(matrix).forEach(key => {
395
- matrix[key] = Math.min(100, matrix[key]);
396
- });
397
- return matrix;
398
- }
399
- calculateFactorRiskValue(factor) {
400
- const severityWeights = { critical: 40, high: 25, medium: 15, low: 5 };
401
- const severityWeight = severityWeights[factor.severity];
402
- return severityWeight * factor.probability * factor.confidence;
403
- }
404
- calculateOverallRiskScore(matrix) {
405
- return Math.round(matrix.technical * this.riskWeights.technical +
406
- matrix.process * this.riskWeights.process +
407
- matrix.deployment * this.riskWeights.deployment +
408
- matrix.security * this.riskWeights.security +
409
- matrix.performance * this.riskWeights.performance);
410
- }
411
- determineRiskLevel(score) {
412
- if (score >= 75)
413
- return 'critical';
414
- if (score >= 50)
415
- return 'high';
416
- if (score >= 25)
417
- return 'medium';
418
- return 'low';
419
- }
420
- calculateConfidence(args) {
421
- let confidence = 1.0;
422
- // Reduce confidence if data is incomplete
423
- if (!args.historicalData)
424
- confidence -= 0.1;
425
- if (!args.context.changeSet)
426
- confidence -= 0.1;
427
- if (!args.metrics.coverage.delta)
428
- confidence -= 0.05;
429
- return Math.max(0.5, confidence);
430
- }
431
- generateRecommendations(factors, overallRisk) {
432
- const recommendations = [];
433
- // Critical and high-severity factors get immediate priority
434
- const criticalFactors = factors.filter(f => f.severity === 'critical');
435
- const highFactors = factors.filter(f => f.severity === 'high');
436
- for (const factor of criticalFactors) {
437
- for (const mitigation of factor.mitigation.slice(0, 2)) {
438
- recommendations.push({
439
- priority: 'immediate',
440
- action: mitigation,
441
- rationale: `Address critical risk: ${factor.impact}`
442
- });
443
- }
444
- }
445
- for (const factor of highFactors) {
446
- for (const mitigation of factor.mitigation.slice(0, 1)) {
447
- recommendations.push({
448
- priority: 'high',
449
- action: mitigation,
450
- rationale: `Mitigate high-severity risk: ${factor.impact}`
451
- });
452
- }
453
- }
454
- // Overall risk-based recommendations
455
- if (overallRisk === 'critical') {
456
- recommendations.push({
457
- priority: 'immediate',
458
- action: 'Block deployment until critical risks are mitigated',
459
- rationale: 'Overall risk level is critical'
460
- });
461
- }
462
- else if (overallRisk === 'high') {
463
- recommendations.push({
464
- priority: 'high',
465
- action: 'Implement staged rollout with close monitoring',
466
- rationale: 'Overall risk level is high'
467
- });
468
- }
469
- return recommendations;
470
- }
471
- async generateAIInsights(args, factors, riskScore) {
472
- // Simulate AI-powered psycho-symbolic reasoning
473
- const reasoning = this.simulateAIReasoning(args, factors, riskScore);
474
- const predictions = this.generatePredictions(args, factors);
475
- const alternativeScenarios = this.generateAlternativeScenarios(args, factors);
476
- return {
477
- reasoning,
478
- predictions,
479
- alternativeScenarios
480
- };
481
- }
482
- simulateAIReasoning(args, factors, riskScore) {
483
- const criticalFactors = factors.filter(f => f.severity === 'critical');
484
- const securityFactors = factors.filter(f => f.type === 'security');
485
- let reasoning = `Risk assessment analysis for ${args.context.projectId}: `;
486
- if (criticalFactors.length > 0) {
487
- reasoning += `Identified ${criticalFactors.length} critical risk factor(s) requiring immediate attention. `;
488
- }
489
- if (securityFactors.length > 0) {
490
- reasoning += `Security concerns present with ${securityFactors.length} identified risk(s). `;
491
- }
492
- if (args.context.environment === 'production' && riskScore > 50) {
493
- reasoning += `Production deployment with elevated risk score (${riskScore}) suggests additional validation is warranted. `;
494
- }
495
- reasoning += `Overall confidence in assessment: ${(args.historicalData ? 0.9 : 0.7).toFixed(2)}`;
496
- return reasoning;
497
- }
498
- generatePredictions(args, factors) {
499
- const predictions = [];
500
- const criticalCount = factors.filter(f => f.severity === 'critical').length;
501
- if (criticalCount > 0) {
502
- predictions.push(`${criticalCount} critical issue(s) likely to cause deployment failure if unaddressed`);
503
- }
504
- const failureRate = args.metrics.testResults.failed / args.metrics.testResults.total;
505
- if (failureRate > 0.1) {
506
- predictions.push(`High test failure rate (${(failureRate * 100).toFixed(1)}%) predicts elevated defect probability`);
507
- }
508
- if (args.metrics.security.critical > 0) {
509
- predictions.push('Security vulnerabilities present exploitation risk in production environment');
510
- }
511
- return predictions;
512
- }
513
- generateAlternativeScenarios(args, factors) {
514
- return [
515
- 'Scenario A: Address critical factors first, deploy with monitoring - 70% success probability',
516
- 'Scenario B: Full mitigation of all identified risks before deployment - 95% success probability',
517
- 'Scenario C: Deploy to staging first for validation - 85% success probability with delayed timeline'
518
- ];
519
- }
520
- }
521
- exports.QualityRiskAssessHandler = QualityRiskAssessHandler;
522
- //# sourceMappingURL=quality-risk-assess.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-risk-assess.js","sourceRoot":"","sources":["../../../../src/mcp/handlers/quality/quality-risk-assess.ts"],"names":[],"mappings":"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"}
@@ -1,117 +0,0 @@
1
- /**
2
- * Quality Validate Metrics Handler
3
- *
4
- * Validates quality metrics against configurable thresholds.
5
- * Provides detailed pass/fail analysis with recommendations.
6
- *
7
- * @version 1.0.0
8
- * @author Agentic QE Team - Agent 2
9
- */
10
- import { BaseHandler, HandlerResponse } from '../base-handler.js';
11
- import { HookExecutor } from '../../services/HookExecutor.js';
12
- export interface QualityMetricsThresholds {
13
- coverage?: {
14
- line?: number;
15
- branch?: number;
16
- function?: number;
17
- statement?: number;
18
- };
19
- testResults?: {
20
- minSuccessRate?: number;
21
- maxFailureRate?: number;
22
- maxSkippedRate?: number;
23
- };
24
- security?: {
25
- maxCritical?: number;
26
- maxHigh?: number;
27
- maxMedium?: number;
28
- maxTotal?: number;
29
- };
30
- performance?: {
31
- maxResponseTime?: number;
32
- minThroughput?: number;
33
- maxErrorRate?: number;
34
- };
35
- codeQuality?: {
36
- maxComplexity?: number;
37
- minMaintainability?: number;
38
- maxDuplication?: number;
39
- };
40
- }
41
- export interface MetricValidation {
42
- name: string;
43
- category: string;
44
- value: number;
45
- threshold: number;
46
- passed: boolean;
47
- deviation: number;
48
- severity: 'critical' | 'high' | 'medium' | 'low';
49
- message: string;
50
- }
51
- export interface QualityValidateMetricsArgs {
52
- metrics: {
53
- coverage: {
54
- line: number;
55
- branch: number;
56
- function: number;
57
- statement: number;
58
- };
59
- testResults: {
60
- total: number;
61
- passed: number;
62
- failed: number;
63
- skipped: number;
64
- };
65
- security: {
66
- critical: number;
67
- high: number;
68
- medium: number;
69
- low: number;
70
- };
71
- performance: {
72
- averageResponseTime: number;
73
- throughput: number;
74
- errorRate: number;
75
- };
76
- codeQuality: {
77
- complexity: number;
78
- maintainability: number;
79
- duplication: number;
80
- };
81
- };
82
- thresholds?: QualityMetricsThresholds;
83
- strictMode?: boolean;
84
- }
85
- export interface QualityValidateMetricsResult {
86
- validationId: string;
87
- passed: boolean;
88
- overallScore: number;
89
- validations: MetricValidation[];
90
- summary: {
91
- total: number;
92
- passed: number;
93
- failed: number;
94
- critical: number;
95
- warnings: number;
96
- };
97
- recommendations: string[];
98
- timestamp: string;
99
- }
100
- export declare class QualityValidateMetricsHandler extends BaseHandler {
101
- private hookExecutor;
102
- private defaultThresholds;
103
- constructor(hookExecutor: HookExecutor);
104
- handle(args: QualityValidateMetricsArgs): Promise<HandlerResponse>;
105
- private createDefaultThresholds;
106
- private validateCoverage;
107
- private validateTestResults;
108
- private validateSecurity;
109
- private validatePerformance;
110
- private validateCodeQuality;
111
- private createValidation;
112
- private determineSeverity;
113
- private calculateSummary;
114
- private calculateOverallScore;
115
- private generateRecommendations;
116
- }
117
- //# sourceMappingURL=quality-validate-metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quality-validate-metrics.d.ts","sourceRoot":"","sources":["../../../../src/mcp/handlers/quality/quality-validate-metrics.ts"],"names":[],"mappings":"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"}