agentic-qe 1.1.0 → 1.3.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 (567) hide show
  1. package/.claude/agents/qe-coverage-analyzer.md +8 -0
  2. package/.claude/agents/qe-flaky-test-hunter.md +9 -1
  3. package/.claude/agents/qe-test-generator.md +7 -0
  4. package/.claude/agents/reasoning/agent.md +816 -0
  5. package/.claude/agents/reasoning/goal-planner.md +73 -0
  6. package/.claude/settings.json +64 -25
  7. package/.claude/skills/README.md +124 -0
  8. package/.claude/skills/accessibility-testing/SKILL.md +777 -0
  9. package/.claude/skills/agentdb-advanced/SKILL.md +550 -0
  10. package/.claude/skills/agentdb-learning/SKILL.md +545 -0
  11. package/.claude/skills/agentdb-memory-patterns/SKILL.md +339 -0
  12. package/.claude/skills/agentdb-optimization/SKILL.md +509 -0
  13. package/.claude/skills/agentdb-vector-search/SKILL.md +339 -0
  14. package/.claude/skills/agentic-quality-engineering/SKILL.md +604 -0
  15. package/.claude/skills/api-testing-patterns/SKILL.md +686 -0
  16. package/.claude/skills/bug-reporting-excellence/SKILL.md +632 -0
  17. package/.claude/skills/chaos-engineering-resilience/SKILL.md +109 -0
  18. package/.claude/skills/code-review-quality/SKILL.md +683 -0
  19. package/.claude/skills/compatibility-testing/SKILL.md +101 -0
  20. package/.claude/skills/compliance-testing/SKILL.md +162 -0
  21. package/.claude/skills/consultancy-practices/SKILL.md +540 -0
  22. package/.claude/skills/context-driven-testing/SKILL.md +466 -0
  23. package/.claude/skills/contract-testing/SKILL.md +193 -0
  24. package/.claude/skills/database-testing/SKILL.md +243 -0
  25. package/.claude/skills/exploratory-testing-advanced/SKILL.md +676 -0
  26. package/.claude/skills/flow-nexus-neural/SKILL.md +738 -0
  27. package/.claude/skills/flow-nexus-platform/SKILL.md +1157 -0
  28. package/.claude/skills/flow-nexus-swarm/SKILL.md +610 -0
  29. package/.claude/skills/github-code-review/SKILL.md +1140 -0
  30. package/.claude/skills/github-multi-repo/SKILL.md +874 -0
  31. package/.claude/skills/github-project-management/SKILL.md +1277 -0
  32. package/.claude/skills/github-release-management/SKILL.md +1081 -0
  33. package/.claude/skills/github-workflow-automation/SKILL.md +1065 -0
  34. package/.claude/skills/hive-mind-advanced/SKILL.md +712 -0
  35. package/.claude/skills/holistic-testing-pact/SKILL.md +225 -0
  36. package/.claude/skills/hooks-automation/SKILL.md +1201 -0
  37. package/.claude/skills/localization-testing/SKILL.md +115 -0
  38. package/.claude/skills/mobile-testing/SKILL.md +548 -0
  39. package/.claude/skills/mutation-testing/SKILL.md +129 -0
  40. package/.claude/skills/pair-programming/SKILL.md +1202 -0
  41. package/.claude/skills/performance-analysis/SKILL.md +563 -0
  42. package/.claude/skills/performance-testing/SKILL.md +662 -0
  43. package/.claude/skills/quality-metrics/SKILL.md +592 -0
  44. package/.claude/skills/reasoningbank-agentdb/SKILL.md +446 -0
  45. package/.claude/skills/reasoningbank-intelligence/SKILL.md +201 -0
  46. package/.claude/skills/refactoring-patterns/SKILL.md +778 -0
  47. package/.claude/skills/regression-testing/SKILL.md +1045 -0
  48. package/.claude/skills/risk-based-testing/SKILL.md +721 -0
  49. package/.claude/skills/security-testing/SKILL.md +651 -0
  50. package/.claude/skills/shift-left-testing/SKILL.md +535 -0
  51. package/.claude/skills/shift-right-testing/SKILL.md +591 -0
  52. package/.claude/skills/skill-builder/SKILL.md +910 -0
  53. package/.claude/skills/sparc-methodology/SKILL.md +1115 -0
  54. package/.claude/skills/stream-chain/SKILL.md +563 -0
  55. package/.claude/skills/swarm-advanced/SKILL.md +973 -0
  56. package/.claude/skills/swarm-orchestration/SKILL.md +179 -0
  57. package/.claude/skills/tdd-london-chicago/SKILL.md +567 -0
  58. package/.claude/skills/technical-writing/SKILL.md +235 -0
  59. package/.claude/skills/test-automation-strategy/SKILL.md +842 -0
  60. package/.claude/skills/test-data-management/SKILL.md +1067 -0
  61. package/.claude/skills/test-design-techniques/SKILL.md +160 -0
  62. package/.claude/skills/test-environment-management/SKILL.md +204 -0
  63. package/.claude/skills/test-reporting-analytics/SKILL.md +143 -0
  64. package/.claude/skills/verification-quality/SKILL.md +649 -0
  65. package/.claude/skills/visual-testing-advanced/SKILL.md +148 -0
  66. package/.claude/skills/xp-practices/SKILL.md +671 -0
  67. package/.claude/statusline-command.sh +176 -0
  68. package/CHANGELOG.md +623 -6
  69. package/README.md +101 -5
  70. package/config/improvement-loop.config.ts +323 -0
  71. package/config/neural-agent.config.ts +197 -0
  72. package/dist/adapters/MemoryStoreAdapter.d.ts +16 -16
  73. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  74. package/dist/adapters/MemoryStoreAdapter.js +16 -16
  75. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  76. package/dist/agents/BaseAgent.d.ts +69 -0
  77. package/dist/agents/BaseAgent.d.ts.map +1 -1
  78. package/dist/agents/BaseAgent.js +387 -5
  79. package/dist/agents/BaseAgent.js.map +1 -1
  80. package/dist/agents/CoverageAnalyzerAgent.d.ts +13 -2
  81. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  82. package/dist/agents/CoverageAnalyzerAgent.js +112 -12
  83. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  84. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  85. package/dist/agents/DeploymentReadinessAgent.js +13 -13
  86. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  87. package/dist/agents/FlakyTestHunterAgent.d.ts +28 -0
  88. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  89. package/dist/agents/FlakyTestHunterAgent.js +160 -4
  90. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  91. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  92. package/dist/agents/FleetCommanderAgent.js +4 -3
  93. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  94. package/dist/agents/LearningAgent.d.ts +14 -5
  95. package/dist/agents/LearningAgent.d.ts.map +1 -1
  96. package/dist/agents/LearningAgent.js +36 -16
  97. package/dist/agents/LearningAgent.js.map +1 -1
  98. package/dist/agents/NeuralAgentExtension.d.ts +117 -0
  99. package/dist/agents/NeuralAgentExtension.d.ts.map +1 -0
  100. package/dist/agents/NeuralAgentExtension.js +288 -0
  101. package/dist/agents/NeuralAgentExtension.js.map +1 -0
  102. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  103. package/dist/agents/PerformanceTesterAgent.js +11 -9
  104. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  105. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  106. package/dist/agents/ProductionIntelligenceAgent.js +14 -13
  107. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  108. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  109. package/dist/agents/QualityAnalyzerAgent.js +39 -38
  110. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  111. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  112. package/dist/agents/QualityGateAgent.js +7 -6
  113. package/dist/agents/QualityGateAgent.js.map +1 -1
  114. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  115. package/dist/agents/RegressionRiskAnalyzerAgent.js +22 -21
  116. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  117. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  118. package/dist/agents/RequirementsValidatorAgent.js +1 -1
  119. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  120. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  121. package/dist/agents/SecurityScannerAgent.js +8 -7
  122. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  123. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  124. package/dist/agents/TestDataArchitectAgent.js +12 -11
  125. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  126. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  127. package/dist/agents/TestExecutorAgent.js +18 -19
  128. package/dist/agents/TestExecutorAgent.js.map +1 -1
  129. package/dist/agents/TestGeneratorAgent.d.ts +15 -4
  130. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  131. package/dist/agents/TestGeneratorAgent.js +172 -49
  132. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  133. package/dist/agents/index.d.ts.map +1 -1
  134. package/dist/agents/index.js +2 -1
  135. package/dist/agents/index.js.map +1 -1
  136. package/dist/agents/mixins/NeuralCapableMixin.d.ts +130 -0
  137. package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +1 -0
  138. package/dist/agents/mixins/NeuralCapableMixin.js +358 -0
  139. package/dist/agents/mixins/NeuralCapableMixin.js.map +1 -0
  140. package/dist/agents/mixins/QUICCapableMixin.d.ts +34 -0
  141. package/dist/agents/mixins/QUICCapableMixin.d.ts.map +1 -0
  142. package/dist/agents/mixins/QUICCapableMixin.js +346 -0
  143. package/dist/agents/mixins/QUICCapableMixin.js.map +1 -0
  144. package/dist/cli/commands/agent/benchmark.d.ts.map +1 -1
  145. package/dist/cli/commands/agent/benchmark.js +2 -1
  146. package/dist/cli/commands/agent/benchmark.js.map +1 -1
  147. package/dist/cli/commands/agent/index.d.ts +5 -0
  148. package/dist/cli/commands/agent/index.d.ts.map +1 -1
  149. package/dist/cli/commands/agent/index.js +11 -6
  150. package/dist/cli/commands/agent/index.js.map +1 -1
  151. package/dist/cli/commands/agent/kill.d.ts +13 -0
  152. package/dist/cli/commands/agent/kill.d.ts.map +1 -0
  153. package/dist/cli/commands/agent/kill.js +65 -0
  154. package/dist/cli/commands/agent/kill.js.map +1 -0
  155. package/dist/cli/commands/agent/list.d.ts +19 -0
  156. package/dist/cli/commands/agent/list.d.ts.map +1 -0
  157. package/dist/cli/commands/agent/list.js +92 -0
  158. package/dist/cli/commands/agent/list.js.map +1 -0
  159. package/dist/cli/commands/agent/logs.d.ts +14 -0
  160. package/dist/cli/commands/agent/logs.d.ts.map +1 -0
  161. package/dist/cli/commands/agent/logs.js +77 -0
  162. package/dist/cli/commands/agent/logs.js.map +1 -0
  163. package/dist/cli/commands/agent/metrics.d.ts +21 -0
  164. package/dist/cli/commands/agent/metrics.d.ts.map +1 -0
  165. package/dist/cli/commands/agent/metrics.js +87 -0
  166. package/dist/cli/commands/agent/metrics.js.map +1 -0
  167. package/dist/cli/commands/agent/spawn.d.ts +28 -0
  168. package/dist/cli/commands/agent/spawn.d.ts.map +1 -0
  169. package/dist/cli/commands/agent/spawn.js +84 -0
  170. package/dist/cli/commands/agent/spawn.js.map +1 -0
  171. package/dist/cli/commands/analyze.d.ts.map +1 -1
  172. package/dist/cli/commands/analyze.js +2 -1
  173. package/dist/cli/commands/analyze.js.map +1 -1
  174. package/dist/cli/commands/config/list.d.ts.map +1 -1
  175. package/dist/cli/commands/config/list.js +2 -1
  176. package/dist/cli/commands/config/list.js.map +1 -1
  177. package/dist/cli/commands/config/set.d.ts +7 -0
  178. package/dist/cli/commands/config/set.d.ts.map +1 -1
  179. package/dist/cli/commands/config/set.js +35 -4
  180. package/dist/cli/commands/config/set.js.map +1 -1
  181. package/dist/cli/commands/fleet/logs.d.ts.map +1 -1
  182. package/dist/cli/commands/fleet/logs.js +2 -1
  183. package/dist/cli/commands/fleet/logs.js.map +1 -1
  184. package/dist/cli/commands/fleet/metrics.d.ts.map +1 -1
  185. package/dist/cli/commands/fleet/metrics.js +2 -1
  186. package/dist/cli/commands/fleet/metrics.js.map +1 -1
  187. package/dist/cli/commands/fleet/monitor.d.ts.map +1 -1
  188. package/dist/cli/commands/fleet/monitor.js +7 -5
  189. package/dist/cli/commands/fleet/monitor.js.map +1 -1
  190. package/dist/cli/commands/fleet.d.ts.map +1 -1
  191. package/dist/cli/commands/fleet.js +2 -1
  192. package/dist/cli/commands/fleet.js.map +1 -1
  193. package/dist/cli/commands/generate.d.ts.map +1 -1
  194. package/dist/cli/commands/generate.js +2 -1
  195. package/dist/cli/commands/generate.js.map +1 -1
  196. package/dist/cli/commands/improve/index.d.ts.map +1 -1
  197. package/dist/cli/commands/improve/index.js +12 -11
  198. package/dist/cli/commands/improve/index.js.map +1 -1
  199. package/dist/cli/commands/init.d.ts +24 -0
  200. package/dist/cli/commands/init.d.ts.map +1 -1
  201. package/dist/cli/commands/init.js +503 -11
  202. package/dist/cli/commands/init.js.map +1 -1
  203. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  204. package/dist/cli/commands/learn/index.js +13 -12
  205. package/dist/cli/commands/learn/index.js.map +1 -1
  206. package/dist/cli/commands/monitor/alerts.d.ts.map +1 -1
  207. package/dist/cli/commands/monitor/alerts.js +2 -1
  208. package/dist/cli/commands/monitor/alerts.js.map +1 -1
  209. package/dist/cli/commands/patterns/index.d.ts.map +1 -1
  210. package/dist/cli/commands/patterns/index.js +20 -19
  211. package/dist/cli/commands/patterns/index.js.map +1 -1
  212. package/dist/cli/commands/quality/decision.d.ts.map +1 -1
  213. package/dist/cli/commands/quality/decision.js +9 -7
  214. package/dist/cli/commands/quality/decision.js.map +1 -1
  215. package/dist/cli/commands/quality/gate.d.ts.map +1 -1
  216. package/dist/cli/commands/quality/gate.js +10 -8
  217. package/dist/cli/commands/quality/gate.js.map +1 -1
  218. package/dist/cli/commands/quality/policy.d.ts.map +1 -1
  219. package/dist/cli/commands/quality/policy.js +10 -8
  220. package/dist/cli/commands/quality/policy.js.map +1 -1
  221. package/dist/cli/commands/quality/risk.d.ts.map +1 -1
  222. package/dist/cli/commands/quality/risk.js +5 -3
  223. package/dist/cli/commands/quality/risk.js.map +1 -1
  224. package/dist/cli/commands/quality/validate.d.ts.map +1 -1
  225. package/dist/cli/commands/quality/validate.js +10 -8
  226. package/dist/cli/commands/quality/validate.js.map +1 -1
  227. package/dist/cli/commands/quantization.d.ts +6 -0
  228. package/dist/cli/commands/quantization.d.ts.map +1 -0
  229. package/dist/cli/commands/quantization.js +188 -0
  230. package/dist/cli/commands/quantization.js.map +1 -0
  231. package/dist/cli/commands/routing/index.d.ts +0 -6
  232. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  233. package/dist/cli/commands/routing/index.js +17 -16
  234. package/dist/cli/commands/routing/index.js.map +1 -1
  235. package/dist/cli/commands/run.d.ts.map +1 -1
  236. package/dist/cli/commands/run.js +2 -1
  237. package/dist/cli/commands/run.js.map +1 -1
  238. package/dist/cli/commands/skills/index.d.ts +51 -0
  239. package/dist/cli/commands/skills/index.d.ts.map +1 -0
  240. package/dist/cli/commands/skills/index.js +365 -0
  241. package/dist/cli/commands/skills/index.js.map +1 -0
  242. package/dist/cli/commands/test/debug.d.ts.map +1 -1
  243. package/dist/cli/commands/test/debug.js +2 -1
  244. package/dist/cli/commands/test/debug.js.map +1 -1
  245. package/dist/cli/commands/test/mutate.d.ts.map +1 -1
  246. package/dist/cli/commands/test/mutate.js +2 -1
  247. package/dist/cli/commands/test/mutate.js.map +1 -1
  248. package/dist/cli/commands/test/parallel.d.ts.map +1 -1
  249. package/dist/cli/commands/test/parallel.js +6 -4
  250. package/dist/cli/commands/test/parallel.js.map +1 -1
  251. package/dist/cli/commands/test/profile.d.ts.map +1 -1
  252. package/dist/cli/commands/test/profile.js +3 -2
  253. package/dist/cli/commands/test/profile.js.map +1 -1
  254. package/dist/cli/commands/test/queue.d.ts.map +1 -1
  255. package/dist/cli/commands/test/queue.js +2 -1
  256. package/dist/cli/commands/test/queue.js.map +1 -1
  257. package/dist/cli/commands/test/retry.d.ts.map +1 -1
  258. package/dist/cli/commands/test/retry.js +6 -4
  259. package/dist/cli/commands/test/retry.js.map +1 -1
  260. package/dist/cli/commands/test/trace.d.ts.map +1 -1
  261. package/dist/cli/commands/test/trace.js +2 -1
  262. package/dist/cli/commands/test/trace.js.map +1 -1
  263. package/dist/cli/commands/test/watch.d.ts.map +1 -1
  264. package/dist/cli/commands/test/watch.js +3 -2
  265. package/dist/cli/commands/test/watch.js.map +1 -1
  266. package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
  267. package/dist/cli/commands/workflow/cancel.js +2 -1
  268. package/dist/cli/commands/workflow/cancel.js.map +1 -1
  269. package/dist/cli/index-working.js +9 -8
  270. package/dist/cli/index-working.js.map +1 -1
  271. package/dist/cli/index.js +97 -1
  272. package/dist/cli/index.js.map +1 -1
  273. package/dist/core/EventBus.d.ts +38 -0
  274. package/dist/core/EventBus.d.ts.map +1 -1
  275. package/dist/core/EventBus.js +176 -31
  276. package/dist/core/EventBus.js.map +1 -1
  277. package/dist/core/FleetManager.d.ts +35 -1
  278. package/dist/core/FleetManager.d.ts.map +1 -1
  279. package/dist/core/FleetManager.js +121 -45
  280. package/dist/core/FleetManager.js.map +1 -1
  281. package/dist/core/MemoryManager.d.ts +19 -1
  282. package/dist/core/MemoryManager.d.ts.map +1 -1
  283. package/dist/core/MemoryManager.js +25 -1
  284. package/dist/core/MemoryManager.js.map +1 -1
  285. package/dist/core/coordination/OODACoordination.d.ts.map +1 -1
  286. package/dist/core/coordination/OODACoordination.js +2 -1
  287. package/dist/core/coordination/OODACoordination.js.map +1 -1
  288. package/dist/core/embeddings/EmbeddingCache.d.ts +134 -0
  289. package/dist/core/embeddings/EmbeddingCache.d.ts.map +1 -0
  290. package/dist/core/embeddings/EmbeddingCache.js +239 -0
  291. package/dist/core/embeddings/EmbeddingCache.js.map +1 -0
  292. package/dist/core/embeddings/EmbeddingGenerator.d.ts +224 -0
  293. package/dist/core/embeddings/EmbeddingGenerator.d.ts.map +1 -0
  294. package/dist/core/embeddings/EmbeddingGenerator.js +459 -0
  295. package/dist/core/embeddings/EmbeddingGenerator.js.map +1 -0
  296. package/dist/core/embeddings/index.d.ts +15 -0
  297. package/dist/core/embeddings/index.d.ts.map +1 -0
  298. package/dist/core/embeddings/index.js +22 -0
  299. package/dist/core/embeddings/index.js.map +1 -0
  300. package/dist/core/memory/AgentDBIntegration.d.ts +35 -0
  301. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -0
  302. package/dist/core/memory/AgentDBIntegration.js +75 -0
  303. package/dist/core/memory/AgentDBIntegration.js.map +1 -0
  304. package/dist/core/memory/AgentDBManager.d.ts +200 -0
  305. package/dist/core/memory/AgentDBManager.d.ts.map +1 -0
  306. package/dist/core/memory/AgentDBManager.js +246 -0
  307. package/dist/core/memory/AgentDBManager.js.map +1 -0
  308. package/dist/core/memory/AgentDBService.d.ts +160 -0
  309. package/dist/core/memory/AgentDBService.d.ts.map +1 -0
  310. package/dist/core/memory/AgentDBService.js +450 -0
  311. package/dist/core/memory/AgentDBService.js.map +1 -0
  312. package/dist/core/memory/RealAgentDBAdapter.d.ts +51 -0
  313. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -0
  314. package/dist/core/memory/RealAgentDBAdapter.js +231 -0
  315. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -0
  316. package/dist/core/memory/ReasoningBankAdapter.d.ts +58 -0
  317. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -0
  318. package/dist/core/memory/ReasoningBankAdapter.js +77 -0
  319. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -0
  320. package/dist/core/memory/SwarmMemoryManager.d.ts +75 -3
  321. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  322. package/dist/core/memory/SwarmMemoryManager.js +240 -55
  323. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  324. package/dist/core/memory/index.d.ts +4 -0
  325. package/dist/core/memory/index.d.ts.map +1 -1
  326. package/dist/core/memory/index.js +9 -1
  327. package/dist/core/memory/index.js.map +1 -1
  328. package/dist/core/neural/NeuralTrainer.d.ts +137 -0
  329. package/dist/core/neural/NeuralTrainer.d.ts.map +1 -0
  330. package/dist/core/neural/NeuralTrainer.js +544 -0
  331. package/dist/core/neural/NeuralTrainer.js.map +1 -0
  332. package/dist/core/neural/index.d.ts +8 -0
  333. package/dist/core/neural/index.d.ts.map +1 -0
  334. package/dist/core/neural/index.js +24 -0
  335. package/dist/core/neural/index.js.map +1 -0
  336. package/dist/core/neural/types.d.ts +216 -0
  337. package/dist/core/neural/types.d.ts.map +1 -0
  338. package/dist/core/neural/types.js +8 -0
  339. package/dist/core/neural/types.js.map +1 -0
  340. package/dist/core/quantization/QuantizationManager.d.ts +83 -0
  341. package/dist/core/quantization/QuantizationManager.d.ts.map +1 -0
  342. package/dist/core/quantization/QuantizationManager.js +264 -0
  343. package/dist/core/quantization/QuantizationManager.js.map +1 -0
  344. package/dist/core/quantization/index.d.ts +5 -0
  345. package/dist/core/quantization/index.d.ts.map +1 -0
  346. package/dist/core/quantization/index.js +9 -0
  347. package/dist/core/quantization/index.js.map +1 -0
  348. package/dist/core/security/CertificateValidator.d.ts +130 -0
  349. package/dist/core/security/CertificateValidator.d.ts.map +1 -0
  350. package/dist/core/security/CertificateValidator.js +376 -0
  351. package/dist/core/security/CertificateValidator.js.map +1 -0
  352. package/dist/core/transport/QUICTransport.d.ts +62 -0
  353. package/dist/core/transport/QUICTransport.d.ts.map +1 -0
  354. package/dist/core/transport/QUICTransport.js +381 -0
  355. package/dist/core/transport/QUICTransport.js.map +1 -0
  356. package/dist/core/transport/SecureQUICTransport.d.ts +71 -0
  357. package/dist/core/transport/SecureQUICTransport.d.ts.map +1 -0
  358. package/dist/core/transport/SecureQUICTransport.js +253 -0
  359. package/dist/core/transport/SecureQUICTransport.js.map +1 -0
  360. package/dist/learning/AdvancedFeatureExtractor.d.ts +123 -0
  361. package/dist/learning/AdvancedFeatureExtractor.d.ts.map +1 -0
  362. package/dist/learning/AdvancedFeatureExtractor.js +423 -0
  363. package/dist/learning/AdvancedFeatureExtractor.js.map +1 -0
  364. package/dist/learning/FlakyPredictionModel.d.ts +11 -1
  365. package/dist/learning/FlakyPredictionModel.d.ts.map +1 -1
  366. package/dist/learning/FlakyPredictionModel.js +82 -35
  367. package/dist/learning/FlakyPredictionModel.js.map +1 -1
  368. package/dist/learning/FlakyTestDetector.d.ts +9 -0
  369. package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
  370. package/dist/learning/FlakyTestDetector.js +28 -6
  371. package/dist/learning/FlakyTestDetector.js.map +1 -1
  372. package/dist/learning/ImprovementLoop.d.ts +16 -2
  373. package/dist/learning/ImprovementLoop.d.ts.map +1 -1
  374. package/dist/learning/ImprovementLoop.js +67 -8
  375. package/dist/learning/ImprovementLoop.js.map +1 -1
  376. package/dist/learning/ImprovementWorker.d.ts +83 -0
  377. package/dist/learning/ImprovementWorker.d.ts.map +1 -0
  378. package/dist/learning/ImprovementWorker.js +164 -0
  379. package/dist/learning/ImprovementWorker.js.map +1 -0
  380. package/dist/learning/NeuralPatternMatcher.d.ts +184 -0
  381. package/dist/learning/NeuralPatternMatcher.d.ts.map +1 -0
  382. package/dist/learning/NeuralPatternMatcher.js +702 -0
  383. package/dist/learning/NeuralPatternMatcher.js.map +1 -0
  384. package/dist/learning/NeuralTrainer.d.ts +209 -0
  385. package/dist/learning/NeuralTrainer.d.ts.map +1 -0
  386. package/dist/learning/NeuralTrainer.js +478 -0
  387. package/dist/learning/NeuralTrainer.js.map +1 -0
  388. package/dist/learning/index.d.ts +13 -7
  389. package/dist/learning/index.d.ts.map +1 -1
  390. package/dist/learning/index.js +27 -11
  391. package/dist/learning/index.js.map +1 -1
  392. package/dist/learning/types.d.ts +1 -0
  393. package/dist/learning/types.d.ts.map +1 -1
  394. package/dist/learning/types.js +16 -0
  395. package/dist/learning/types.js.map +1 -1
  396. package/dist/mcp/MCPToolRegistry.d.ts +34 -0
  397. package/dist/mcp/MCPToolRegistry.d.ts.map +1 -0
  398. package/dist/mcp/MCPToolRegistry.js +48 -0
  399. package/dist/mcp/MCPToolRegistry.js.map +1 -0
  400. package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts +3 -3
  401. package/dist/mcp/handlers/advanced/mutation-test-execute.d.ts.map +1 -1
  402. package/dist/mcp/handlers/advanced/mutation-test-execute.js +5 -4
  403. package/dist/mcp/handlers/advanced/mutation-test-execute.js.map +1 -1
  404. package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
  405. package/dist/mcp/handlers/agent-spawn.js +2 -1
  406. package/dist/mcp/handlers/agent-spawn.js.map +1 -1
  407. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.d.ts.map +1 -1
  408. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js +9 -8
  409. package/dist/mcp/handlers/analysis/coverageAnalyzeSublinear.js.map +1 -1
  410. package/dist/mcp/handlers/analysis/coverageGapsDetect.d.ts.map +1 -1
  411. package/dist/mcp/handlers/analysis/coverageGapsDetect.js +6 -5
  412. package/dist/mcp/handlers/analysis/coverageGapsDetect.js.map +1 -1
  413. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
  414. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +5 -4
  415. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
  416. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.d.ts.map +1 -1
  417. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js +8 -7
  418. package/dist/mcp/handlers/analysis/performanceBenchmarkRun.js.map +1 -1
  419. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.d.ts.map +1 -1
  420. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js +7 -6
  421. package/dist/mcp/handlers/analysis/performanceMonitorRealtime.js.map +1 -1
  422. package/dist/mcp/handlers/analysis/securityScanComprehensive.d.ts.map +1 -1
  423. package/dist/mcp/handlers/analysis/securityScanComprehensive.js +18 -21
  424. package/dist/mcp/handlers/analysis/securityScanComprehensive.js.map +1 -1
  425. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  426. package/dist/mcp/handlers/base-handler.js +2 -9
  427. package/dist/mcp/handlers/base-handler.js.map +1 -1
  428. package/dist/mcp/handlers/chaos/chaos-inject-failure.d.ts.map +1 -1
  429. package/dist/mcp/handlers/chaos/chaos-inject-failure.js +4 -3
  430. package/dist/mcp/handlers/chaos/chaos-inject-failure.js.map +1 -1
  431. package/dist/mcp/handlers/chaos/chaos-inject-latency.d.ts.map +1 -1
  432. package/dist/mcp/handlers/chaos/chaos-inject-latency.js +6 -5
  433. package/dist/mcp/handlers/chaos/chaos-inject-latency.js.map +1 -1
  434. package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
  435. package/dist/mcp/handlers/coordination/event-emit.js +2 -1
  436. package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
  437. package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
  438. package/dist/mcp/handlers/coordination/event-subscribe.js +2 -1
  439. package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
  440. package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
  441. package/dist/mcp/handlers/coordination/workflow-checkpoint.js +2 -1
  442. package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
  443. package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
  444. package/dist/mcp/handlers/coordination/workflow-create.js +2 -1
  445. package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
  446. package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
  447. package/dist/mcp/handlers/coordination/workflow-execute.js +2 -1
  448. package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
  449. package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
  450. package/dist/mcp/handlers/coordination/workflow-resume.js +2 -1
  451. package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
  452. package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
  453. package/dist/mcp/handlers/fleet-init.js +2 -1
  454. package/dist/mcp/handlers/fleet-init.js.map +1 -1
  455. package/dist/mcp/handlers/fleet-status.d.ts.map +1 -1
  456. package/dist/mcp/handlers/fleet-status.js +31 -30
  457. package/dist/mcp/handlers/fleet-status.js.map +1 -1
  458. package/dist/mcp/handlers/integration/dependency-check.d.ts.map +1 -1
  459. package/dist/mcp/handlers/integration/dependency-check.js +3 -2
  460. package/dist/mcp/handlers/integration/dependency-check.js.map +1 -1
  461. package/dist/mcp/handlers/integration/integration-test-orchestrate.d.ts.map +1 -1
  462. package/dist/mcp/handlers/integration/integration-test-orchestrate.js +2 -1
  463. package/dist/mcp/handlers/integration/integration-test-orchestrate.js.map +1 -1
  464. package/dist/mcp/handlers/optimize-tests.d.ts.map +1 -1
  465. package/dist/mcp/handlers/optimize-tests.js +33 -32
  466. package/dist/mcp/handlers/optimize-tests.js.map +1 -1
  467. package/dist/mcp/handlers/predict-defects.d.ts.map +1 -1
  468. package/dist/mcp/handlers/predict-defects.js +46 -45
  469. package/dist/mcp/handlers/predict-defects.js.map +1 -1
  470. package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
  471. package/dist/mcp/handlers/prediction/deployment-readiness-check.js +24 -23
  472. package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
  473. package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
  474. package/dist/mcp/handlers/prediction/predict-defects-ai.js +10 -9
  475. package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
  476. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  477. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +10 -9
  478. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  479. package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
  480. package/dist/mcp/handlers/prediction/visual-test-regression.js +7 -6
  481. package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
  482. package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -1
  483. package/dist/mcp/handlers/quality-analyze.js +53 -52
  484. package/dist/mcp/handlers/quality-analyze.js.map +1 -1
  485. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  486. package/dist/mcp/handlers/task-orchestrate.js +19 -18
  487. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  488. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  489. package/dist/mcp/handlers/test/test-execute-parallel.js +7 -6
  490. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  491. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  492. package/dist/mcp/handlers/test/test-generate-enhanced.js +2 -1
  493. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  494. package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
  495. package/dist/mcp/handlers/test/test-optimize-sublinear.js +3 -2
  496. package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
  497. package/dist/mcp/handlers/test-execute.d.ts.map +1 -1
  498. package/dist/mcp/handlers/test-execute.js +11 -10
  499. package/dist/mcp/handlers/test-execute.js.map +1 -1
  500. package/dist/mcp/handlers/test-generate.d.ts.map +1 -1
  501. package/dist/mcp/handlers/test-generate.js +4 -3
  502. package/dist/mcp/handlers/test-generate.js.map +1 -1
  503. package/dist/mcp/server.d.ts +4 -4
  504. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  505. package/dist/mcp/services/AgentRegistry.js +9 -2
  506. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  507. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -1
  508. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +10 -9
  509. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -1
  510. package/dist/mcp/streaming/StreamingMCPTool.d.ts.map +1 -1
  511. package/dist/mcp/streaming/StreamingMCPTool.js +2 -1
  512. package/dist/mcp/streaming/StreamingMCPTool.js.map +1 -1
  513. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -1
  514. package/dist/mcp/streaming/TestExecuteStreamHandler.js +6 -5
  515. package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -1
  516. package/dist/reasoning/TestTemplateCreator.d.ts +10 -2
  517. package/dist/reasoning/TestTemplateCreator.d.ts.map +1 -1
  518. package/dist/reasoning/TestTemplateCreator.js +81 -21
  519. package/dist/reasoning/TestTemplateCreator.js.map +1 -1
  520. package/dist/transport/QUICTransport.d.ts +340 -0
  521. package/dist/transport/QUICTransport.d.ts.map +1 -0
  522. package/dist/transport/QUICTransport.js +814 -0
  523. package/dist/transport/QUICTransport.js.map +1 -0
  524. package/dist/transport/UDPTransport.d.ts +348 -0
  525. package/dist/transport/UDPTransport.d.ts.map +1 -0
  526. package/dist/transport/UDPTransport.js +820 -0
  527. package/dist/transport/UDPTransport.js.map +1 -0
  528. package/dist/types/errors.d.ts +1 -1
  529. package/dist/types/index.d.ts +37 -0
  530. package/dist/types/index.d.ts.map +1 -1
  531. package/dist/types/index.js +2 -0
  532. package/dist/types/index.js.map +1 -1
  533. package/dist/types/pattern.types.d.ts +39 -3
  534. package/dist/types/pattern.types.d.ts.map +1 -1
  535. package/dist/types/quic.d.ts +339 -0
  536. package/dist/types/quic.d.ts.map +1 -0
  537. package/dist/types/quic.js +48 -0
  538. package/dist/types/quic.js.map +1 -0
  539. package/dist/utils/Config.js +3 -3
  540. package/dist/utils/Config.js.map +1 -1
  541. package/dist/utils/Database.d.ts +14 -0
  542. package/dist/utils/Database.d.ts.map +1 -1
  543. package/dist/utils/Database.js +51 -4
  544. package/dist/utils/Database.js.map +1 -1
  545. package/dist/utils/Logger.d.ts.map +1 -1
  546. package/dist/utils/Logger.js +111 -26
  547. package/dist/utils/Logger.js.map +1 -1
  548. package/dist/utils/ProcessExit.d.ts +23 -0
  549. package/dist/utils/ProcessExit.d.ts.map +1 -0
  550. package/dist/utils/ProcessExit.js +40 -0
  551. package/dist/utils/ProcessExit.js.map +1 -0
  552. package/dist/utils/SecureRandom.d.ts +171 -0
  553. package/dist/utils/SecureRandom.d.ts.map +1 -0
  554. package/dist/utils/SecureRandom.js +229 -0
  555. package/dist/utils/SecureRandom.js.map +1 -0
  556. package/dist/utils/SecureUrlValidator.d.ts +167 -0
  557. package/dist/utils/SecureUrlValidator.d.ts.map +1 -0
  558. package/dist/utils/SecureUrlValidator.js +306 -0
  559. package/dist/utils/SecureUrlValidator.js.map +1 -0
  560. package/dist/utils/SecureValidation.d.ts +131 -0
  561. package/dist/utils/SecureValidation.d.ts.map +1 -0
  562. package/dist/utils/SecureValidation.js +265 -0
  563. package/dist/utils/SecureValidation.js.map +1 -0
  564. package/dist/utils/validation.d.ts.map +1 -1
  565. package/dist/utils/validation.js +5 -4
  566. package/dist/utils/validation.js.map +1 -1
  567. package/package.json +31 -8
@@ -0,0 +1,662 @@
1
+ ---
2
+ name: performance-testing
3
+ description: Test application performance, scalability, and resilience. Use when planning load testing, stress testing, or optimizing system performance.
4
+ version: 1.0.0
5
+ category: testing
6
+ tags: [performance, load-testing, stress-testing, scalability, optimization, monitoring]
7
+ difficulty: intermediate
8
+ estimated_time: 45 minutes
9
+ author: user
10
+ ---
11
+
12
+ # Performance Testing
13
+
14
+ ## Core Principle
15
+
16
+ **Performance is a feature, not an afterthought.**
17
+
18
+ Test performance like you test functionality: continuously, automatically, and with clear acceptance criteria.
19
+
20
+ ## Why Performance Testing Matters
21
+
22
+ ### User Impact
23
+ - 100ms delay = 1% drop in conversions (Amazon)
24
+ - 53% of mobile users abandon sites taking > 3 seconds (Google)
25
+ - Slow = Broken (in users' eyes)
26
+
27
+ ### Business Impact
28
+ - Lost revenue from abandoned transactions
29
+ - Increased infrastructure costs
30
+ - Degraded user experience
31
+ - Reputation damage
32
+
33
+ ### Technical Impact
34
+ - Scalability limits
35
+ - Infrastructure bottlenecks
36
+ - Hidden architectural problems
37
+
38
+ ## Types of Performance Testing
39
+
40
+ ### 1. Load Testing
41
+
42
+ **What**: System behavior under expected load
43
+
44
+ **Goal**: Verify the system handles typical usage
45
+
46
+ **Example**:
47
+ - E-commerce site handling 1,000 concurrent users
48
+ - API serving 10,000 requests/minute
49
+ - Database processing 500 transactions/second
50
+
51
+ **When**: Before every major release
52
+
53
+ **Tools**: k6, JMeter, Gatling, Artillery
54
+
55
+ ### 2. Stress Testing
56
+
57
+ **What**: System behavior under extreme load (beyond capacity)
58
+
59
+ **Goal**: Find breaking point, see how system fails
60
+
61
+ **Example**:
62
+ - Ramping up from 1,000 to 10,000 concurrent users
63
+ - Pushing API until response time degrades
64
+ - Filling database until queries slow
65
+
66
+ **When**: Before scaling infrastructure, quarterly at minimum
67
+
68
+ **What to look for**: Graceful degradation, not catastrophic failure
69
+
70
+ ### 3. Spike Testing
71
+
72
+ **What**: System behavior under sudden load increase
73
+
74
+ **Goal**: Test auto-scaling, handling unexpected traffic
75
+
76
+ **Example**:
77
+ - Black Friday sale announcement
78
+ - Viral social media post
79
+ - Marketing campaign launch
80
+
81
+ **When**: Before major events, after infrastructure changes
82
+
83
+ **Pattern**: Instant ramp from normal to 5-10x load
84
+
85
+ ### 4. Endurance/Soak Testing
86
+
87
+ **What**: System behavior over extended time
88
+
89
+ **Goal**: Find memory leaks, resource exhaustion, gradual degradation
90
+
91
+ **Example**:
92
+ - Run at normal load for 24-72 hours
93
+ - Monitor memory, connections, file handles
94
+ - Check for resource leaks
95
+
96
+ **When**: After significant code changes, quarterly
97
+
98
+ **What to look for**: Stable resource usage over time
99
+
100
+ ### 5. Scalability Testing
101
+
102
+ **What**: How system performs as load increases
103
+
104
+ **Goal**: Validate horizontal/vertical scaling
105
+
106
+ **Example**:
107
+ - Add servers, measure throughput improvement
108
+ - Test auto-scaling triggers
109
+ - Find scaling limits
110
+
111
+ **When**: Before capacity planning, infrastructure changes
112
+
113
+ ## Performance Testing Strategy
114
+
115
+ ### Start with Requirements
116
+
117
+ **Bad**: "The system should be fast"
118
+ **Good**: "95th percentile response time < 200ms under 1,000 concurrent users"
119
+
120
+ **Define SLOs (Service Level Objectives)**:
121
+ - **Response Time**: 95th percentile < 200ms
122
+ - **Throughput**: 10,000 requests/minute minimum
123
+ - **Error Rate**: < 0.1% under load
124
+ - **Resource Usage**: CPU < 70%, Memory < 80%
125
+
126
+ ### Identify Critical Paths
127
+
128
+ Don't test everything equally. Focus on:
129
+ - Revenue-generating flows (checkout, payment)
130
+ - High-traffic pages (homepage, product pages)
131
+ - Critical APIs (authentication, data access)
132
+ - Resource-intensive operations (search, reports)
133
+
134
+ ### Realistic Scenarios
135
+
136
+ **Bad**: Every user hits homepage repeatedly
137
+ **Good**:
138
+ - 40% browse products
139
+ - 30% search
140
+ - 20% view product details
141
+ - 10% checkout
142
+
143
+ Include:
144
+ - Think time (users don't click instantly)
145
+ - Varied data (different products, users, queries)
146
+ - Realistic workflows (browse → search → add to cart → checkout)
147
+
148
+ ## Setting Up Performance Tests
149
+
150
+ ### Test Environment
151
+
152
+ **Ideal**: Production-like infrastructure
153
+ - Same server specs
154
+ - Same database size
155
+ - Same network topology
156
+ - Same third-party integrations (or mocks)
157
+
158
+ **Reality**: Often scaled-down version
159
+ - Document differences
160
+ - Extrapolate results carefully
161
+ - Validate with production monitoring
162
+
163
+ ### Test Data
164
+
165
+ **Requirements**:
166
+ - Realistic volume (don't test with 100 users when you have 10M)
167
+ - Varied data (avoid cache hits skewing results)
168
+ - Production-like distribution (80/20 rule applies)
169
+
170
+ **Example**:
171
+ ```
172
+ Products: 100,000 (matching production)
173
+ Users: 50,000 test accounts
174
+ Orders: 1M historical orders
175
+ Search queries: Real query distribution
176
+ ```
177
+
178
+ ### Monitoring During Tests
179
+
180
+ **Essential metrics**:
181
+ - Response time (avg, 50th, 95th, 99th percentile)
182
+ - Throughput (requests/second)
183
+ - Error rate
184
+ - CPU, memory, disk I/O
185
+ - Database query time
186
+ - Network latency
187
+
188
+ **Tools**:
189
+ - Application: New Relic, Datadog, Dynatrace
190
+ - Infrastructure: Prometheus, Grafana
191
+ - Database: Query analyzers, slow query logs
192
+
193
+ ## Common Performance Bottlenecks
194
+
195
+ ### 1. Database
196
+
197
+ **Symptoms**:
198
+ - Slow queries under load
199
+ - Connection pool exhaustion
200
+ - Lock contention
201
+
202
+ **Solutions**:
203
+ - Add indexes on filtered columns
204
+ - Optimize N+1 queries
205
+ - Increase connection pool size
206
+ - Add read replicas
207
+ - Implement caching
208
+
209
+ ### 2. N+1 Queries
210
+
211
+ **Problem**:
212
+ ```javascript
213
+ // Load 100 orders
214
+ const orders = await Order.findAll();
215
+
216
+ // For each order, load customer (100 queries!)
217
+ for (const order of orders) {
218
+ const customer = await Customer.findById(order.customerId);
219
+ }
220
+ ```
221
+
222
+ **Fix**:
223
+ ```javascript
224
+ // Load orders with customers in one query
225
+ const orders = await Order.findAll({
226
+ include: [Customer]
227
+ });
228
+ ```
229
+
230
+ ### 3. Synchronous Processing
231
+
232
+ **Problem**: Blocking operations in request path
233
+
234
+ **Example**: Sending email during checkout
235
+
236
+ **Fix**:
237
+ - Use message queues (RabbitMQ, SQS)
238
+ - Process asynchronously
239
+ - Return response immediately
240
+
241
+ ### 4. Memory Leaks
242
+
243
+ **Symptoms**:
244
+ - Memory usage grows over time
245
+ - Performance degrades gradually
246
+ - Eventually crashes
247
+
248
+ **Detection**:
249
+ - Endurance testing
250
+ - Memory profiling (heap dumps)
251
+ - Monitor garbage collection
252
+
253
+ **Common causes**:
254
+ - Event listeners not cleaned up
255
+ - Caches without eviction
256
+ - Circular references
257
+ - Global state accumulation
258
+
259
+ ### 5. Inadequate Caching
260
+
261
+ **Problem**: Recalculating same results repeatedly
262
+
263
+ **Strategy**:
264
+ - Cache expensive operations
265
+ - Use CDN for static assets
266
+ - Implement application-level caching (Redis)
267
+ - Browser caching (Cache-Control headers)
268
+
269
+ **Balance**: Cache hit rate vs. memory usage
270
+
271
+ ### 6. External Dependencies
272
+
273
+ **Problem**: Third-party APIs slow or unavailable
274
+
275
+ **Solutions**:
276
+ - Set aggressive timeouts
277
+ - Implement circuit breakers
278
+ - Cache responses when possible
279
+ - Degrade gracefully if unavailable
280
+
281
+ ## Performance Testing in CI/CD
282
+
283
+ ### Continuous Performance Testing
284
+
285
+ **Approach 1: Smoke Tests**
286
+ - Run small load test on every commit
287
+ - 10 concurrent users for 1 minute
288
+ - Catch major regressions quickly
289
+
290
+ **Approach 2: Nightly Tests**
291
+ - Full load test overnight
292
+ - More comprehensive scenarios
293
+ - Trend analysis over time
294
+
295
+ **Approach 3: Pre-Production Gate**
296
+ - Load test before production deploy
297
+ - Automated pass/fail criteria
298
+ - Block deployment if performance degrades
299
+
300
+ ### Example: k6 in CI/CD
301
+
302
+ ```javascript
303
+ // performance-test.js
304
+ import http from 'k6/http';
305
+ import { check, sleep } from 'k6';
306
+
307
+ export const options = {
308
+ stages: [
309
+ { duration: '1m', target: 50 }, // Ramp up
310
+ { duration: '3m', target: 50 }, // Stay at 50 users
311
+ { duration: '1m', target: 0 }, // Ramp down
312
+ ],
313
+ thresholds: {
314
+ http_req_duration: ['p(95)<200'], // 95% of requests < 200ms
315
+ http_req_failed: ['rate<0.01'], // < 1% failures
316
+ },
317
+ };
318
+
319
+ export default function () {
320
+ const res = http.get('https://api.example.com/products');
321
+
322
+ check(res, {
323
+ 'status is 200': (r) => r.status === 200,
324
+ 'response time < 200ms': (r) => r.timings.duration < 200,
325
+ });
326
+
327
+ sleep(1);
328
+ }
329
+ ```
330
+
331
+ ```yaml
332
+ # .github/workflows/performance.yml
333
+ name: Performance Tests
334
+
335
+ on:
336
+ pull_request:
337
+ branches: [main]
338
+
339
+ jobs:
340
+ performance:
341
+ runs-on: ubuntu-latest
342
+ steps:
343
+ - uses: actions/checkout@v2
344
+
345
+ - name: Run k6 test
346
+ uses: grafana/k6-action@v0.3.0
347
+ with:
348
+ filename: performance-test.js
349
+
350
+ - name: Upload results
351
+ uses: actions/upload-artifact@v2
352
+ with:
353
+ name: k6-results
354
+ path: results.json
355
+ ```
356
+
357
+ ## Analyzing Performance Test Results
358
+
359
+ ### Key Metrics
360
+
361
+ **Response Time Distribution**:
362
+ - **Average**: Misleading (outliers skew it)
363
+ - **Median (50th percentile)**: Typical user experience
364
+ - **95th percentile**: "Slow but acceptable"
365
+ - **99th percentile**: Worst user experience
366
+
367
+ **Throughput**:
368
+ - Requests/second sustained
369
+ - How it changes with load
370
+ - Where it plateaus (capacity)
371
+
372
+ **Error Rate**:
373
+ - Should stay flat as load increases
374
+ - Spike indicates breaking point
375
+
376
+ ### Interpreting Results
377
+
378
+ **Good**:
379
+ ```
380
+ Load: 1,000 users
381
+ Response time p95: 180ms
382
+ Throughput: 5,000 req/s
383
+ Error rate: 0.05%
384
+ CPU: 65%, Memory: 70%
385
+ ```
386
+
387
+ **Problems**:
388
+ ```
389
+ Load: 1,000 users
390
+ Response time p95: 3,500ms ❌ (too slow)
391
+ Throughput: 500 req/s ❌ (way below target)
392
+ Error rate: 5% ❌ (too many errors)
393
+ CPU: 95%, Memory: 90% ❌ (maxed out)
394
+ ```
395
+
396
+ ### Root Cause Analysis
397
+
398
+ 1. **Correlate metrics**: When response time spikes, what else changes?
399
+ 2. **Check logs**: Errors, warnings, slow queries
400
+ 3. **Profile code**: Where is time spent?
401
+ 4. **Monitor resources**: CPU, memory, network, disk
402
+ 5. **Trace requests**: End-to-end request flow
403
+
404
+ ## Production Performance Monitoring
405
+
406
+ ### Synthetic Monitoring
407
+
408
+ **What**: Automated tests hitting production
409
+
410
+ **Example**:
411
+ - Every 5 minutes, test critical flows
412
+ - Measure response time from multiple locations
413
+ - Alert if degradation detected
414
+
415
+ **Tools**: Pingdom, Datadog Synthetics, New Relic Synthetics
416
+
417
+ ### Real User Monitoring (RUM)
418
+
419
+ **What**: Measure actual user experience
420
+
421
+ **Metrics**:
422
+ - Page load time
423
+ - Time to interactive
424
+ - API response times
425
+ - Error rates
426
+
427
+ **Tools**: Google Analytics, New Relic Browser, Datadog RUM
428
+
429
+ ### Alerting
430
+
431
+ **Set alerts on**:
432
+ - p95 response time > threshold
433
+ - Error rate > 1%
434
+ - Throughput drops suddenly
435
+ - Queue depth growing
436
+
437
+ **Don't alert on**:
438
+ - Average response time (too noisy)
439
+ - Single slow request (outliers happen)
440
+
441
+ ## Performance Testing Anti-Patterns
442
+
443
+ ### ❌ Testing Too Late
444
+
445
+ **Problem**: Find performance issues in production
446
+
447
+ **Fix**: Test early and often, catch issues before release
448
+
449
+ ### ❌ Unrealistic Scenarios
450
+
451
+ **Problem**: Test doesn't match real usage
452
+
453
+ **Example**: All users hitting same endpoint simultaneously
454
+
455
+ **Fix**: Model realistic user journeys, think time, data distribution
456
+
457
+ ### ❌ Ignoring Ramp-Up
458
+
459
+ **Problem**: 0 to 1,000 users instantly
460
+
461
+ **Real world**: Traffic grows gradually (usually)
462
+
463
+ **Fix**: Ramp up over time, see how system adapts
464
+
465
+ ### ❌ Testing Without Monitoring
466
+
467
+ **Problem**: Can't see what's happening during test
468
+
469
+ **Fix**: Monitor everything during tests
470
+
471
+ ### ❌ No Baseline
472
+
473
+ **Problem**: Don't know if results are good or bad
474
+
475
+ **Fix**: Establish baseline, track trends over time
476
+
477
+ ### ❌ One-Time Testing
478
+
479
+ **Problem**: Test once before launch, never again
480
+
481
+ **Fix**: Continuous performance testing, trend monitoring
482
+
483
+ ## Tools Overview
484
+
485
+ ### Load Testing Tools
486
+
487
+ **k6**: Modern, developer-friendly, JavaScript-based
488
+ - Good for: CI/CD integration, API testing
489
+ - Learning curve: Low
490
+
491
+ **JMeter**: Mature, feature-rich, GUI-based
492
+ - Good for: Complex scenarios, extensive protocols
493
+ - Learning curve: Medium
494
+
495
+ **Gatling**: Scala-based, great reporting
496
+ - Good for: High load, detailed metrics
497
+ - Learning curve: Medium
498
+
499
+ **Artillery**: Node.js, simple YAML configs
500
+ - Good for: Quick tests, simple scenarios
501
+ - Learning curve: Very low
502
+
503
+ **Locust**: Python-based, distributed testing
504
+ - Good for: Custom user behavior, Python ecosystems
505
+ - Learning curve: Low-Medium
506
+
507
+ ### APM (Application Performance Monitoring)
508
+
509
+ - **New Relic**: Comprehensive, expensive
510
+ - **Datadog**: Infrastructure + APM combined
511
+ - **Dynatrace**: AI-powered root cause analysis
512
+ - **AppDynamics**: Enterprise-focused
513
+
514
+ ### Database Profiling
515
+
516
+ - **pg_stat_statements** (PostgreSQL)
517
+ - **MySQL slow query log**
518
+ - **MongoDB profiler**
519
+ - **Redis SLOWLOG**
520
+
521
+ ## Real-World Example
522
+
523
+ ### Scenario: E-Commerce Checkout Slow
524
+
525
+ **Problem**: Checkout taking 5+ seconds under load
526
+
527
+ **Investigation**:
528
+ 1. Load test: Reproduce issue
529
+ 2. Monitor: Database CPU at 95%
530
+ 3. Profile: Slow query on order creation
531
+ 4. Root cause: Missing index on `orders.user_id`
532
+
533
+ **Fix**:
534
+ ```sql
535
+ CREATE INDEX idx_orders_user_id ON orders(user_id);
536
+ ```
537
+
538
+ **Result**:
539
+ - Checkout time: 5s → 300ms
540
+ - Database CPU: 95% → 40%
541
+ - Throughput: 5x improvement
542
+
543
+ ## When NOT to Performance Test
544
+
545
+ - **MVPs/Prototypes**: Focus on validating idea first
546
+ - **Internal tools**: With < 10 users, performance rarely matters
547
+ - **One-time scripts**: Not worth the effort
548
+ - **Before optimization**: Profile first, optimize second, then test
549
+
550
+ ## Checklist: Before Going to Production
551
+
552
+ - [ ] Load test passed (expected traffic)
553
+ - [ ] Stress test passed (2-3x expected traffic)
554
+ - [ ] Spike test passed (sudden traffic surge)
555
+ - [ ] Endurance test passed (24+ hours)
556
+ - [ ] Database indexes in place
557
+ - [ ] Caching configured
558
+ - [ ] Monitoring and alerting set up
559
+ - [ ] Auto-scaling configured (if applicable)
560
+ - [ ] Performance baseline established
561
+
562
+ ## Remember
563
+
564
+ **Performance is a feature**: Test it like functionality
565
+ **Test continuously**: Not just before launch
566
+ **Monitor production**: Synthetic + real user monitoring
567
+ **Set realistic goals**: Based on business requirements
568
+ **Fix what matters**: Focus on user-impacting bottlenecks
569
+ **Trend over time**: Performance degrades gradually, catch it early
570
+
571
+ ## Using with QE Agents
572
+
573
+ ### Automated Performance Testing
574
+
575
+ **qe-performance-tester** orchestrates load testing:
576
+ ```typescript
577
+ // Agent runs comprehensive load test
578
+ const perfTest = await agent.runLoadTest({
579
+ target: 'https://api.example.com',
580
+ scenarios: {
581
+ checkout: { vus: 100, duration: '5m' },
582
+ search: { vus: 200, duration: '5m' },
583
+ browse: { vus: 500, duration: '5m' }
584
+ },
585
+ thresholds: {
586
+ 'http_req_duration': ['p(95)<200'],
587
+ 'http_req_failed': ['rate<0.01'],
588
+ 'http_reqs': ['rate>100']
589
+ }
590
+ });
591
+
592
+ // Returns detailed performance report
593
+ ```
594
+
595
+ ### Bottleneck Analysis
596
+
597
+ ```typescript
598
+ // Agent identifies performance bottlenecks
599
+ const analysis = await qe-performance-tester.analyzeBottlenecks({
600
+ testResults: perfTest,
601
+ metrics: ['cpu', 'memory', 'db_queries', 'network', 'cache_hits']
602
+ });
603
+
604
+ // Returns:
605
+ // {
606
+ // bottlenecks: [
607
+ // { component: 'database', severity: 'high', suggestion: 'Add index on orders.created_at' },
608
+ // { component: 'api', severity: 'medium', suggestion: 'Enable response caching' }
609
+ // ]
610
+ // }
611
+ ```
612
+
613
+ ### Continuous Performance Monitoring
614
+
615
+ ```typescript
616
+ // Agent integrates performance testing in CI/CD
617
+ const ciPerformance = await qe-performance-tester.ciIntegration({
618
+ mode: 'smoke', // Quick test on every commit
619
+ duration: '1m',
620
+ vus: 10,
621
+ failOn: {
622
+ 'p95_response_time': 300, // ms
623
+ 'error_rate': 0.01 // 1%
624
+ }
625
+ });
626
+ ```
627
+
628
+ ### Fleet Coordination for Performance
629
+
630
+ ```typescript
631
+ const performanceFleet = await FleetManager.coordinate({
632
+ strategy: 'performance-testing',
633
+ agents: [
634
+ 'qe-performance-tester', // Run load tests
635
+ 'qe-quality-analyzer', // Analyze results
636
+ 'qe-production-intelligence', // Compare to production
637
+ 'qe-deployment-readiness' // Go/no-go decision
638
+ ],
639
+ topology: 'sequential'
640
+ });
641
+ ```
642
+
643
+ ---
644
+
645
+ ## Related Skills
646
+
647
+ **Testing:**
648
+ - [agentic-quality-engineering](../agentic-quality-engineering/) - Agent coordination
649
+ - [api-testing-patterns](../api-testing-patterns/) - API performance testing
650
+
651
+ **Quality:**
652
+ - [quality-metrics](../quality-metrics/) - Performance metrics tracking
653
+ - [risk-based-testing](../risk-based-testing/) - Performance risk assessment
654
+
655
+ ## Resources
656
+
657
+ - **k6 Documentation**: k6.io/docs
658
+ - **Google Web Fundamentals**: Performance optimization guides
659
+ - **"Release It!"** by Michael Nygard: Production-ready patterns
660
+ - **High Performance Browser Networking** by Ilya Grigorik
661
+
662
+ Performance testing isn't optional—it's how you ensure your system works when it matters most.