agentic-qe 3.4.1 → 3.4.2

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 (496) hide show
  1. package/.claude/skills/.validation/README.md +111 -0
  2. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +530 -0
  3. package/.claude/skills/.validation/examples/performance-testing-output.example.json +252 -0
  4. package/.claude/skills/.validation/examples/security-testing-output.example.json +413 -0
  5. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +350 -0
  6. package/.claude/skills/.validation/schemas/skill-eval.schema.json +452 -0
  7. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +341 -0
  8. package/.claude/skills/.validation/schemas/skill-output-meta.schema.json +199 -0
  9. package/.claude/skills/.validation/schemas/skill-output.template.json +610 -0
  10. package/.claude/skills/.validation/skill-validation-mcp-integration.md +250 -0
  11. package/.claude/skills/.validation/templates/eval.template.yaml +366 -0
  12. package/.claude/skills/.validation/templates/schemas/output.json +145 -0
  13. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +725 -0
  14. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +225 -0
  15. package/.claude/skills/.validation/templates/validate.template.sh +1060 -0
  16. package/.claude/skills/.validation/templates/validator-lib.sh +1031 -0
  17. package/.claude/skills/.validation/test-data/invalid-output.json +5 -0
  18. package/.claude/skills/.validation/test-data/minimal-output.json +9 -0
  19. package/.claude/skills/.validation/test-data/sample-output.json +73 -0
  20. package/.claude/skills/TRUST-TIERS.md +158 -0
  21. package/.claude/skills/a11y-ally/SKILL.md +1664 -1658
  22. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  23. package/.claude/skills/a11y-ally/schemas/output.json +549 -0
  24. package/.claude/skills/a11y-ally/scripts/validate.sh +690 -0
  25. package/.claude/skills/accessibility-testing/SKILL.md +8 -1
  26. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -0
  27. package/.claude/skills/accessibility-testing/schemas/output.json +776 -0
  28. package/.claude/skills/accessibility-testing/scripts/validate.sh +943 -0
  29. package/.claude/skills/accessibility-testing/test-data/sample-output.json +191 -0
  30. package/.claude/skills/agentic-quality-engineering/SKILL.md +4 -0
  31. package/.claude/skills/agentic-quality-engineering/schemas/output.json +577 -0
  32. package/.claude/skills/api-testing-patterns/SKILL.md +5 -0
  33. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -0
  34. package/.claude/skills/api-testing-patterns/schemas/output.json +845 -0
  35. package/.claude/skills/api-testing-patterns/scripts/validate.sh +931 -0
  36. package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +513 -0
  37. package/.claude/skills/aqe-v2-v3-migration/skill.md +4 -0
  38. package/.claude/skills/brutal-honesty-review/SKILL.md +5 -0
  39. package/.claude/skills/brutal-honesty-review/schemas/output.json +291 -0
  40. package/.claude/skills/brutal-honesty-review/scripts/validate.sh +130 -0
  41. package/.claude/skills/bug-reporting-excellence/SKILL.md +5 -0
  42. package/.claude/skills/bug-reporting-excellence/schemas/output.json +288 -0
  43. package/.claude/skills/bug-reporting-excellence/scripts/validate.sh +108 -0
  44. package/.claude/skills/chaos-engineering-resilience/SKILL.md +5 -0
  45. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -0
  46. package/.claude/skills/chaos-engineering-resilience/schemas/output.json +1205 -0
  47. package/.claude/skills/chaos-engineering-resilience/scripts/validate.sh +1107 -0
  48. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  49. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  50. package/.claude/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  51. package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate.sh +310 -0
  52. package/.claude/skills/code-review-quality/SKILL.md +5 -0
  53. package/.claude/skills/code-review-quality/schemas/output.json +264 -0
  54. package/.claude/skills/code-review-quality/scripts/validate.sh +113 -0
  55. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -0
  56. package/.claude/skills/compatibility-testing/schemas/output.json +551 -0
  57. package/.claude/skills/compatibility-testing/scripts/validate.sh +605 -0
  58. package/.claude/skills/compliance-testing/SKILL.md +7 -0
  59. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1107 -0
  60. package/.claude/skills/compliance-testing/schemas/output.json +845 -0
  61. package/.claude/skills/compliance-testing/scripts/validate.sh +888 -0
  62. package/.claude/skills/consultancy-practices/SKILL.md +4 -0
  63. package/.claude/skills/consultancy-practices/schemas/output.json +282 -0
  64. package/.claude/skills/context-driven-testing/SKILL.md +3 -0
  65. package/.claude/skills/contract-testing/SKILL.md +5 -0
  66. package/.claude/skills/contract-testing/evals/contract-testing.yaml +748 -0
  67. package/.claude/skills/contract-testing/schemas/output.json +638 -0
  68. package/.claude/skills/contract-testing/scripts/validate.sh +1033 -0
  69. package/.claude/skills/database-testing/SKILL.md +5 -0
  70. package/.claude/skills/database-testing/evals/database-testing.yaml +968 -0
  71. package/.claude/skills/database-testing/schemas/output.json +1446 -0
  72. package/.claude/skills/database-testing/scripts/validate.sh +1099 -0
  73. package/.claude/skills/exploratory-testing-advanced/SKILL.md +3 -0
  74. package/.claude/skills/holistic-testing-pact/SKILL.md +3 -0
  75. package/.claude/skills/localization-testing/SKILL.md +6 -0
  76. package/.claude/skills/localization-testing/evals/localization-testing.yaml +544 -0
  77. package/.claude/skills/localization-testing/schemas/output.json +325 -0
  78. package/.claude/skills/localization-testing/scripts/validate.sh +131 -0
  79. package/.claude/skills/mobile-testing/SKILL.md +6 -0
  80. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +537 -0
  81. package/.claude/skills/mobile-testing/schemas/output.json +318 -0
  82. package/.claude/skills/mobile-testing/scripts/validate.sh +127 -0
  83. package/.claude/skills/mutation-testing/SKILL.md +8 -1
  84. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +652 -0
  85. package/.claude/skills/mutation-testing/schemas/output.json +707 -0
  86. package/.claude/skills/mutation-testing/scripts/validate.sh +992 -0
  87. package/.claude/skills/mutation-testing/test-data/sample-output.json +295 -0
  88. package/.claude/skills/n8n-expression-testing/SKILL.md +6 -0
  89. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  90. package/.claude/skills/n8n-expression-testing/schemas/output.json +369 -0
  91. package/.claude/skills/n8n-expression-testing/scripts/validate.sh +162 -0
  92. package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  93. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  94. package/.claude/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  95. package/.claude/skills/n8n-integration-testing-patterns/scripts/validate.sh +104 -0
  96. package/.claude/skills/n8n-security-testing/SKILL.md +6 -0
  97. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  98. package/.claude/skills/n8n-security-testing/schemas/output.json +293 -0
  99. package/.claude/skills/n8n-security-testing/scripts/validate.sh +120 -0
  100. package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  101. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  102. package/.claude/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  103. package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate.sh +121 -0
  104. package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  105. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  106. package/.claude/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  107. package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +126 -0
  108. package/.claude/skills/performance-analysis/SKILL.md +6 -0
  109. package/.claude/skills/performance-analysis/evals/performance-analysis.yaml +144 -0
  110. package/.claude/skills/performance-analysis/schemas/output.json +588 -0
  111. package/.claude/skills/performance-analysis/scripts/validate.sh +63 -0
  112. package/.claude/skills/performance-testing/SKILL.md +5 -0
  113. package/.claude/skills/performance-testing/evals/performance-testing.yaml +772 -0
  114. package/.claude/skills/performance-testing/schemas/output.json +1184 -0
  115. package/.claude/skills/performance-testing/scripts/validate.sh +1090 -0
  116. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1759 -1753
  117. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  118. package/.claude/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  119. package/.claude/skills/qcsd-ideation-swarm/scripts/validate.sh +56 -0
  120. package/.claude/skills/qe-chaos-resilience/SKILL.md +6 -0
  121. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -0
  122. package/.claude/skills/qe-chaos-resilience/schemas/output.json +314 -0
  123. package/.claude/skills/qe-chaos-resilience/scripts/validate.sh +401 -0
  124. package/.claude/skills/qe-code-intelligence/SKILL.md +6 -0
  125. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -0
  126. package/.claude/skills/qe-code-intelligence/schemas/output.json +315 -0
  127. package/.claude/skills/qe-code-intelligence/scripts/validate.sh +408 -0
  128. package/.claude/skills/qe-contract-testing/SKILL.md +6 -0
  129. package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -0
  130. package/.claude/skills/qe-contract-testing/schemas/output.json +295 -0
  131. package/.claude/skills/qe-contract-testing/scripts/validate.sh +421 -0
  132. package/.claude/skills/qe-coverage-analysis/SKILL.md +6 -0
  133. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
  134. package/.claude/skills/qe-coverage-analysis/schemas/output.json +286 -0
  135. package/.claude/skills/qe-coverage-analysis/scripts/validate.sh +453 -0
  136. package/.claude/skills/qe-defect-intelligence/SKILL.md +6 -0
  137. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -0
  138. package/.claude/skills/qe-defect-intelligence/schemas/output.json +283 -0
  139. package/.claude/skills/qe-defect-intelligence/scripts/validate.sh +466 -0
  140. package/.claude/skills/qe-iterative-loop/SKILL.md +445 -440
  141. package/.claude/skills/qe-iterative-loop/schemas/output.json +264 -0
  142. package/.claude/skills/qe-iterative-loop/scripts/validate.sh +474 -0
  143. package/.claude/skills/qe-learning-optimization/SKILL.md +6 -0
  144. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -0
  145. package/.claude/skills/qe-learning-optimization/schemas/output.json +288 -0
  146. package/.claude/skills/qe-learning-optimization/scripts/validate.sh +56 -0
  147. package/.claude/skills/qe-quality-assessment/SKILL.md +6 -0
  148. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -0
  149. package/.claude/skills/qe-quality-assessment/schemas/output.json +550 -0
  150. package/.claude/skills/qe-quality-assessment/scripts/validate.sh +352 -0
  151. package/.claude/skills/qe-requirements-validation/SKILL.md +6 -0
  152. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
  153. package/.claude/skills/qe-requirements-validation/schemas/output.json +587 -0
  154. package/.claude/skills/qe-requirements-validation/scripts/validate.sh +275 -0
  155. package/.claude/skills/qe-security-compliance/SKILL.md +6 -0
  156. package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -0
  157. package/.claude/skills/qe-security-compliance/schemas/output.json +498 -0
  158. package/.claude/skills/qe-security-compliance/scripts/validate.sh +305 -0
  159. package/.claude/skills/qe-test-execution/SKILL.md +6 -0
  160. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -0
  161. package/.claude/skills/qe-test-execution/schemas/output.json +529 -0
  162. package/.claude/skills/qe-test-execution/scripts/validate.sh +323 -0
  163. package/.claude/skills/qe-test-generation/SKILL.md +6 -0
  164. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -0
  165. package/.claude/skills/qe-test-generation/schemas/output.json +439 -0
  166. package/.claude/skills/qe-test-generation/scripts/validate.sh +56 -0
  167. package/.claude/skills/qe-visual-accessibility/SKILL.md +6 -0
  168. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -0
  169. package/.claude/skills/qe-visual-accessibility/schemas/output.json +491 -0
  170. package/.claude/skills/qe-visual-accessibility/scripts/validate.sh +56 -0
  171. package/.claude/skills/quality-metrics/SKILL.md +6 -0
  172. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +494 -0
  173. package/.claude/skills/quality-metrics/schemas/output.json +403 -0
  174. package/.claude/skills/quality-metrics/scripts/validate.sh +434 -0
  175. package/.claude/skills/refactoring-patterns/SKILL.md +5 -0
  176. package/.claude/skills/refactoring-patterns/schemas/output.json +475 -0
  177. package/.claude/skills/refactoring-patterns/scripts/validate.sh +241 -0
  178. package/.claude/skills/regression-testing/SKILL.md +6 -0
  179. package/.claude/skills/regression-testing/evals/regression-testing.yaml +504 -0
  180. package/.claude/skills/regression-testing/schemas/output.json +311 -0
  181. package/.claude/skills/regression-testing/scripts/validate.sh +130 -0
  182. package/.claude/skills/risk-based-testing/SKILL.md +6 -0
  183. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -0
  184. package/.claude/skills/risk-based-testing/schemas/output.json +480 -0
  185. package/.claude/skills/risk-based-testing/scripts/validate.sh +56 -0
  186. package/.claude/skills/security-testing/SKILL.md +5 -0
  187. package/.claude/skills/security-testing/evals/security-testing.yaml +789 -0
  188. package/.claude/skills/security-testing/schemas/output.json +879 -0
  189. package/.claude/skills/security-testing/scripts/validate.sh +967 -0
  190. package/.claude/skills/security-visual-testing/SKILL.md +223 -217
  191. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -0
  192. package/.claude/skills/security-visual-testing/schemas/output.json +486 -0
  193. package/.claude/skills/security-visual-testing/scripts/validate.sh +748 -0
  194. package/.claude/skills/sherlock-review/SKILL.md +5 -0
  195. package/.claude/skills/sherlock-review/schemas/output.json +297 -0
  196. package/.claude/skills/sherlock-review/scripts/validate.sh +115 -0
  197. package/.claude/skills/shift-left-testing/SKILL.md +6 -0
  198. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -0
  199. package/.claude/skills/shift-left-testing/schemas/output.json +459 -0
  200. package/.claude/skills/shift-left-testing/scripts/validate.sh +56 -0
  201. package/.claude/skills/shift-right-testing/SKILL.md +6 -0
  202. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -0
  203. package/.claude/skills/shift-right-testing/schemas/output.json +418 -0
  204. package/.claude/skills/shift-right-testing/scripts/validate.sh +56 -0
  205. package/.claude/skills/six-thinking-hats/SKILL.md +3 -0
  206. package/.claude/skills/tdd-london-chicago/SKILL.md +5 -0
  207. package/.claude/skills/tdd-london-chicago/schemas/output.json +444 -0
  208. package/.claude/skills/tdd-london-chicago/scripts/validate.sh +214 -0
  209. package/.claude/skills/technical-writing/SKILL.md +4 -0
  210. package/.claude/skills/technical-writing/schemas/output.json +268 -0
  211. package/.claude/skills/test-automation-strategy/SKILL.md +6 -0
  212. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -0
  213. package/.claude/skills/test-automation-strategy/schemas/output.json +444 -0
  214. package/.claude/skills/test-automation-strategy/scripts/validate.sh +195 -0
  215. package/.claude/skills/test-data-management/SKILL.md +6 -0
  216. package/.claude/skills/test-data-management/evals/test-data-management.yaml +504 -0
  217. package/.claude/skills/test-data-management/schemas/output.json +284 -0
  218. package/.claude/skills/test-data-management/scripts/validate.sh +137 -0
  219. package/.claude/skills/test-design-techniques/SKILL.md +6 -0
  220. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -0
  221. package/.claude/skills/test-design-techniques/schemas/output.json +295 -0
  222. package/.claude/skills/test-design-techniques/scripts/validate.sh +91 -0
  223. package/.claude/skills/test-environment-management/SKILL.md +4 -0
  224. package/.claude/skills/test-environment-management/schemas/output.json +310 -0
  225. package/.claude/skills/test-reporting-analytics/SKILL.md +6 -0
  226. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -0
  227. package/.claude/skills/test-reporting-analytics/schemas/output.json +329 -0
  228. package/.claude/skills/test-reporting-analytics/scripts/validate.sh +77 -0
  229. package/.claude/skills/testability-scoring/SKILL.md +5 -0
  230. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  231. package/.claude/skills/testability-scoring/schemas/output.json +606 -0
  232. package/.claude/skills/testability-scoring/scripts/validate.sh +891 -0
  233. package/.claude/skills/trust-tier-manifest.json +2333 -0
  234. package/.claude/skills/verification-quality/SKILL.md +6 -0
  235. package/.claude/skills/verification-quality/evals/verification-quality.yaml +150 -0
  236. package/.claude/skills/verification-quality/schemas/output.json +432 -0
  237. package/.claude/skills/verification-quality/scripts/validate.sh +77 -0
  238. package/.claude/skills/visual-testing-advanced/SKILL.md +6 -0
  239. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -0
  240. package/.claude/skills/visual-testing-advanced/schemas/output.json +294 -0
  241. package/.claude/skills/visual-testing-advanced/scripts/validate.sh +77 -0
  242. package/.claude/skills/xp-practices/SKILL.md +3 -0
  243. package/README.md +39 -2
  244. package/package.json +4 -1
  245. package/scripts/run-skill-eval.ts +1097 -0
  246. package/scripts/test-schema-validation.js +301 -0
  247. package/scripts/update-skill-manifest.ts +751 -0
  248. package/scripts/validate-skill-frontmatter.js +141 -0
  249. package/v3/CHANGELOG.md +21 -0
  250. package/v3/README.md +43 -3
  251. package/v3/assets/agents/v3/qe-test-idea-rewriter.md +375 -375
  252. package/v3/assets/skills/.validation/README.md +111 -0
  253. package/v3/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -0
  254. package/v3/assets/skills/.validation/examples/performance-testing-output.example.json +252 -0
  255. package/v3/assets/skills/.validation/examples/security-testing-output.example.json +413 -0
  256. package/v3/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -0
  257. package/v3/assets/skills/.validation/schemas/skill-eval.schema.json +452 -0
  258. package/v3/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -0
  259. package/v3/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -0
  260. package/v3/assets/skills/.validation/schemas/skill-output.template.json +610 -0
  261. package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +250 -0
  262. package/v3/assets/skills/.validation/templates/eval.template.yaml +366 -0
  263. package/v3/assets/skills/.validation/templates/schemas/output.json +145 -0
  264. package/v3/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -0
  265. package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -0
  266. package/v3/assets/skills/.validation/templates/validate.template.sh +1060 -0
  267. package/v3/assets/skills/.validation/templates/validator-lib.sh +1031 -0
  268. package/v3/assets/skills/.validation/test-data/invalid-output.json +5 -0
  269. package/v3/assets/skills/.validation/test-data/minimal-output.json +9 -0
  270. package/v3/assets/skills/.validation/test-data/sample-output.json +73 -0
  271. package/v3/assets/skills/accessibility-testing/SKILL.md +8 -1
  272. package/v3/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -0
  273. package/v3/assets/skills/accessibility-testing/schemas/output.json +776 -0
  274. package/v3/assets/skills/accessibility-testing/scripts/validate.sh +943 -0
  275. package/v3/assets/skills/accessibility-testing/test-data/sample-output.json +191 -0
  276. package/v3/assets/skills/agentic-quality-engineering/SKILL.md +4 -0
  277. package/v3/assets/skills/agentic-quality-engineering/schemas/output.json +577 -0
  278. package/v3/assets/skills/api-testing-patterns/SKILL.md +5 -0
  279. package/v3/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -0
  280. package/v3/assets/skills/api-testing-patterns/schemas/output.json +845 -0
  281. package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +931 -0
  282. package/v3/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -0
  283. package/v3/assets/skills/aqe-v2-v3-migration/skill.md +20 -16
  284. package/v3/assets/skills/bug-reporting-excellence/SKILL.md +5 -0
  285. package/v3/assets/skills/bug-reporting-excellence/schemas/output.json +288 -0
  286. package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +108 -0
  287. package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +5 -0
  288. package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -0
  289. package/v3/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -0
  290. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +1107 -0
  291. package/v3/assets/skills/code-review-quality/SKILL.md +5 -0
  292. package/v3/assets/skills/code-review-quality/schemas/output.json +264 -0
  293. package/v3/assets/skills/code-review-quality/scripts/validate.sh +113 -0
  294. package/v3/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -0
  295. package/v3/assets/skills/compatibility-testing/schemas/output.json +551 -0
  296. package/v3/assets/skills/compatibility-testing/scripts/validate.sh +605 -0
  297. package/v3/assets/skills/compliance-testing/SKILL.md +7 -0
  298. package/v3/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -0
  299. package/v3/assets/skills/compliance-testing/schemas/output.json +845 -0
  300. package/v3/assets/skills/compliance-testing/scripts/validate.sh +888 -0
  301. package/v3/assets/skills/consultancy-practices/SKILL.md +4 -0
  302. package/v3/assets/skills/consultancy-practices/schemas/output.json +282 -0
  303. package/v3/assets/skills/context-driven-testing/SKILL.md +3 -0
  304. package/v3/assets/skills/contract-testing/SKILL.md +5 -0
  305. package/v3/assets/skills/contract-testing/evals/contract-testing.yaml +748 -0
  306. package/v3/assets/skills/contract-testing/schemas/output.json +638 -0
  307. package/v3/assets/skills/contract-testing/scripts/validate.sh +1033 -0
  308. package/v3/assets/skills/database-testing/SKILL.md +5 -0
  309. package/v3/assets/skills/database-testing/evals/database-testing.yaml +968 -0
  310. package/v3/assets/skills/database-testing/schemas/output.json +1446 -0
  311. package/v3/assets/skills/database-testing/scripts/validate.sh +1099 -0
  312. package/v3/assets/skills/exploratory-testing-advanced/SKILL.md +3 -0
  313. package/v3/assets/skills/holistic-testing-pact/SKILL.md +3 -0
  314. package/v3/assets/skills/localization-testing/SKILL.md +6 -0
  315. package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +544 -0
  316. package/v3/assets/skills/localization-testing/schemas/output.json +325 -0
  317. package/v3/assets/skills/localization-testing/scripts/validate.sh +131 -0
  318. package/v3/assets/skills/mobile-testing/SKILL.md +6 -0
  319. package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -0
  320. package/v3/assets/skills/mobile-testing/schemas/output.json +318 -0
  321. package/v3/assets/skills/mobile-testing/scripts/validate.sh +127 -0
  322. package/v3/assets/skills/mutation-testing/SKILL.md +8 -1
  323. package/v3/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -0
  324. package/v3/assets/skills/mutation-testing/schemas/output.json +707 -0
  325. package/v3/assets/skills/mutation-testing/scripts/validate.sh +992 -0
  326. package/v3/assets/skills/mutation-testing/test-data/sample-output.json +295 -0
  327. package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +162 -0
  328. package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +104 -0
  329. package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +120 -0
  330. package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +121 -0
  331. package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +126 -0
  332. package/v3/assets/skills/performance-testing/SKILL.md +5 -0
  333. package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +772 -0
  334. package/v3/assets/skills/performance-testing/schemas/output.json +1184 -0
  335. package/v3/assets/skills/performance-testing/scripts/validate.sh +1090 -0
  336. package/v3/assets/skills/qe-chaos-resilience/SKILL.md +6 -0
  337. package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -0
  338. package/v3/assets/skills/qe-chaos-resilience/schemas/output.json +314 -0
  339. package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +401 -0
  340. package/v3/assets/skills/qe-code-intelligence/SKILL.md +6 -0
  341. package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -0
  342. package/v3/assets/skills/qe-code-intelligence/schemas/output.json +315 -0
  343. package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +408 -0
  344. package/v3/assets/skills/qe-contract-testing/SKILL.md +6 -0
  345. package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -0
  346. package/v3/assets/skills/qe-contract-testing/schemas/output.json +295 -0
  347. package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +421 -0
  348. package/v3/assets/skills/qe-coverage-analysis/SKILL.md +6 -0
  349. package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
  350. package/v3/assets/skills/qe-coverage-analysis/schemas/output.json +286 -0
  351. package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +453 -0
  352. package/v3/assets/skills/qe-defect-intelligence/SKILL.md +6 -0
  353. package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -0
  354. package/v3/assets/skills/qe-defect-intelligence/schemas/output.json +283 -0
  355. package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +466 -0
  356. package/v3/assets/skills/qe-iterative-loop/SKILL.md +445 -443
  357. package/v3/assets/skills/qe-iterative-loop/schemas/output.json +264 -0
  358. package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +474 -0
  359. package/v3/assets/skills/qe-learning-optimization/SKILL.md +6 -0
  360. package/v3/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -0
  361. package/v3/assets/skills/qe-learning-optimization/schemas/output.json +288 -0
  362. package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +56 -0
  363. package/v3/assets/skills/qe-quality-assessment/SKILL.md +6 -0
  364. package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -0
  365. package/v3/assets/skills/qe-quality-assessment/schemas/output.json +550 -0
  366. package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +352 -0
  367. package/v3/assets/skills/qe-requirements-validation/SKILL.md +6 -0
  368. package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
  369. package/v3/assets/skills/qe-requirements-validation/schemas/output.json +587 -0
  370. package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +275 -0
  371. package/v3/assets/skills/qe-security-compliance/SKILL.md +6 -0
  372. package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -0
  373. package/v3/assets/skills/qe-security-compliance/schemas/output.json +498 -0
  374. package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +305 -0
  375. package/v3/assets/skills/qe-test-execution/SKILL.md +6 -0
  376. package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -0
  377. package/v3/assets/skills/qe-test-execution/schemas/output.json +529 -0
  378. package/v3/assets/skills/qe-test-execution/scripts/validate.sh +323 -0
  379. package/v3/assets/skills/qe-test-generation/SKILL.md +6 -0
  380. package/v3/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -0
  381. package/v3/assets/skills/qe-test-generation/schemas/output.json +439 -0
  382. package/v3/assets/skills/qe-test-generation/scripts/validate.sh +56 -0
  383. package/v3/assets/skills/qe-visual-accessibility/SKILL.md +6 -0
  384. package/v3/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -0
  385. package/v3/assets/skills/qe-visual-accessibility/schemas/output.json +491 -0
  386. package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +56 -0
  387. package/v3/assets/skills/quality-metrics/SKILL.md +6 -0
  388. package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -0
  389. package/v3/assets/skills/quality-metrics/schemas/output.json +403 -0
  390. package/v3/assets/skills/quality-metrics/scripts/validate.sh +434 -0
  391. package/v3/assets/skills/refactoring-patterns/SKILL.md +5 -0
  392. package/v3/assets/skills/refactoring-patterns/schemas/output.json +475 -0
  393. package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +241 -0
  394. package/v3/assets/skills/regression-testing/SKILL.md +6 -0
  395. package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +504 -0
  396. package/v3/assets/skills/regression-testing/schemas/output.json +311 -0
  397. package/v3/assets/skills/regression-testing/scripts/validate.sh +130 -0
  398. package/v3/assets/skills/risk-based-testing/SKILL.md +6 -0
  399. package/v3/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -0
  400. package/v3/assets/skills/risk-based-testing/schemas/output.json +480 -0
  401. package/v3/assets/skills/risk-based-testing/scripts/validate.sh +56 -0
  402. package/v3/assets/skills/security-testing/SKILL.md +5 -0
  403. package/v3/assets/skills/security-testing/evals/security-testing.yaml +789 -0
  404. package/v3/assets/skills/security-testing/schemas/output.json +879 -0
  405. package/v3/assets/skills/security-testing/scripts/validate.sh +967 -0
  406. package/v3/assets/skills/shift-left-testing/SKILL.md +6 -0
  407. package/v3/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -0
  408. package/v3/assets/skills/shift-left-testing/schemas/output.json +459 -0
  409. package/v3/assets/skills/shift-left-testing/scripts/validate.sh +56 -0
  410. package/v3/assets/skills/shift-right-testing/SKILL.md +6 -0
  411. package/v3/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -0
  412. package/v3/assets/skills/shift-right-testing/schemas/output.json +418 -0
  413. package/v3/assets/skills/shift-right-testing/scripts/validate.sh +56 -0
  414. package/v3/assets/skills/six-thinking-hats/SKILL.md +3 -0
  415. package/v3/assets/skills/tdd-london-chicago/SKILL.md +5 -0
  416. package/v3/assets/skills/tdd-london-chicago/schemas/output.json +444 -0
  417. package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +214 -0
  418. package/v3/assets/skills/technical-writing/SKILL.md +4 -0
  419. package/v3/assets/skills/technical-writing/schemas/output.json +268 -0
  420. package/v3/assets/skills/test-automation-strategy/SKILL.md +6 -0
  421. package/v3/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -0
  422. package/v3/assets/skills/test-automation-strategy/schemas/output.json +444 -0
  423. package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +195 -0
  424. package/v3/assets/skills/test-data-management/SKILL.md +6 -0
  425. package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +504 -0
  426. package/v3/assets/skills/test-data-management/schemas/output.json +284 -0
  427. package/v3/assets/skills/test-data-management/scripts/validate.sh +137 -0
  428. package/v3/assets/skills/test-design-techniques/SKILL.md +6 -0
  429. package/v3/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -0
  430. package/v3/assets/skills/test-design-techniques/schemas/output.json +295 -0
  431. package/v3/assets/skills/test-design-techniques/scripts/validate.sh +91 -0
  432. package/v3/assets/skills/test-environment-management/SKILL.md +4 -0
  433. package/v3/assets/skills/test-environment-management/schemas/output.json +310 -0
  434. package/v3/assets/skills/test-reporting-analytics/SKILL.md +6 -0
  435. package/v3/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -0
  436. package/v3/assets/skills/test-reporting-analytics/schemas/output.json +329 -0
  437. package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +77 -0
  438. package/v3/assets/skills/verification-quality/SKILL.md +6 -0
  439. package/v3/assets/skills/verification-quality/evals/verification-quality.yaml +150 -0
  440. package/v3/assets/skills/verification-quality/schemas/output.json +432 -0
  441. package/v3/assets/skills/verification-quality/scripts/validate.sh +77 -0
  442. package/v3/assets/skills/visual-testing-advanced/SKILL.md +6 -0
  443. package/v3/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -0
  444. package/v3/assets/skills/visual-testing-advanced/schemas/output.json +294 -0
  445. package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +77 -0
  446. package/v3/assets/skills/xp-practices/SKILL.md +3 -0
  447. package/v3/assets/templates/validation-report.md.hbs +139 -0
  448. package/v3/assets/templates/validation-summary.json +56 -0
  449. package/v3/dist/cli/bundle.js +7368 -3418
  450. package/v3/dist/cli/commands/eval.d.ts +18 -0
  451. package/v3/dist/cli/commands/eval.d.ts.map +1 -0
  452. package/v3/dist/cli/commands/eval.js +505 -0
  453. package/v3/dist/cli/commands/eval.js.map +1 -0
  454. package/v3/dist/cli/commands/validate-swarm.d.ts +16 -0
  455. package/v3/dist/cli/commands/validate-swarm.d.ts.map +1 -0
  456. package/v3/dist/cli/commands/validate-swarm.js +251 -0
  457. package/v3/dist/cli/commands/validate-swarm.js.map +1 -0
  458. package/v3/dist/cli/commands/validate.d.ts +14 -0
  459. package/v3/dist/cli/commands/validate.d.ts.map +1 -0
  460. package/v3/dist/cli/commands/validate.js +408 -0
  461. package/v3/dist/cli/commands/validate.js.map +1 -0
  462. package/v3/dist/cli/index.js +6 -0
  463. package/v3/dist/cli/index.js.map +1 -1
  464. package/v3/dist/index.d.ts +2 -0
  465. package/v3/dist/index.d.ts.map +1 -1
  466. package/v3/dist/index.js +10 -0
  467. package/v3/dist/index.js.map +1 -1
  468. package/v3/dist/init/skills-installer.d.ts +6 -0
  469. package/v3/dist/init/skills-installer.d.ts.map +1 -1
  470. package/v3/dist/init/skills-installer.js +48 -0
  471. package/v3/dist/init/skills-installer.js.map +1 -1
  472. package/v3/dist/learning/index.d.ts +2 -0
  473. package/v3/dist/learning/index.d.ts.map +1 -1
  474. package/v3/dist/learning/index.js +4 -0
  475. package/v3/dist/learning/index.js.map +1 -1
  476. package/v3/dist/learning/skill-validation-learner.d.ts +264 -0
  477. package/v3/dist/learning/skill-validation-learner.d.ts.map +1 -0
  478. package/v3/dist/learning/skill-validation-learner.js +515 -0
  479. package/v3/dist/learning/skill-validation-learner.js.map +1 -0
  480. package/v3/dist/validation/index.d.ts +19 -0
  481. package/v3/dist/validation/index.d.ts.map +1 -0
  482. package/v3/dist/validation/index.js +31 -0
  483. package/v3/dist/validation/index.js.map +1 -0
  484. package/v3/dist/validation/parallel-eval-runner.d.ts +307 -0
  485. package/v3/dist/validation/parallel-eval-runner.d.ts.map +1 -0
  486. package/v3/dist/validation/parallel-eval-runner.js +566 -0
  487. package/v3/dist/validation/parallel-eval-runner.js.map +1 -0
  488. package/v3/dist/validation/swarm-skill-validator.d.ts +282 -0
  489. package/v3/dist/validation/swarm-skill-validator.d.ts.map +1 -0
  490. package/v3/dist/validation/swarm-skill-validator.js +460 -0
  491. package/v3/dist/validation/swarm-skill-validator.js.map +1 -0
  492. package/v3/dist/validation/validation-result-aggregator.d.ts +232 -0
  493. package/v3/dist/validation/validation-result-aggregator.d.ts.map +1 -0
  494. package/v3/dist/validation/validation-result-aggregator.js +630 -0
  495. package/v3/dist/validation/validation-result-aggregator.js.map +1 -0
  496. package/v3/package.json +1 -1
@@ -0,0 +1,1184 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://agentic-qe.dev/schemas/performance-testing-output.json",
4
+ "title": "AQE Performance Testing Skill Output Schema",
5
+ "description": "Schema for performance-testing skill output validation. Extends the base skill-output template with load testing metrics, SLA validation, bottleneck identification, and multi-tool support (k6, Artillery, JMeter, Gatling).",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "performance-testing",
12
+ "description": "Must be 'performance-testing'"
13
+ },
14
+ "version": {
15
+ "type": "string",
16
+ "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9]+)?$",
17
+ "description": "Semantic version of the skill"
18
+ },
19
+ "timestamp": {
20
+ "type": "string",
21
+ "type": "string",
22
+ "description": "ISO 8601 timestamp of output generation"
23
+ },
24
+ "status": {
25
+ "type": "string",
26
+ "enum": ["success", "partial", "failed", "skipped"],
27
+ "description": "Overall execution status"
28
+ },
29
+ "trustTier": {
30
+ "type": "integer",
31
+ "const": 3,
32
+ "description": "Trust tier 3 indicates full validation with eval suite"
33
+ },
34
+ "output": {
35
+ "type": "object",
36
+ "required": ["summary", "testType", "metrics"],
37
+ "properties": {
38
+ "summary": {
39
+ "type": "string",
40
+ "minLength": 50,
41
+ "maxLength": 2000,
42
+ "description": "Human-readable summary of performance test results"
43
+ },
44
+ "testType": {
45
+ "type": "string",
46
+ "enum": ["load", "stress", "endurance", "spike", "volume", "scalability", "smoke", "soak"],
47
+ "description": "Type of performance test executed"
48
+ },
49
+ "score": {
50
+ "$ref": "#/$defs/performanceScore",
51
+ "description": "Overall performance score"
52
+ },
53
+ "metrics": {
54
+ "$ref": "#/$defs/performanceMetrics",
55
+ "description": "Core performance metrics including response times and throughput"
56
+ },
57
+ "slaCompliance": {
58
+ "$ref": "#/$defs/slaCompliance",
59
+ "description": "SLA/SLO compliance check results"
60
+ },
61
+ "bottlenecks": {
62
+ "type": "array",
63
+ "items": {
64
+ "$ref": "#/$defs/bottleneck"
65
+ },
66
+ "maxItems": 50,
67
+ "description": "Identified performance bottlenecks"
68
+ },
69
+ "findings": {
70
+ "type": "array",
71
+ "items": {
72
+ "$ref": "#/$defs/performanceFinding"
73
+ },
74
+ "maxItems": 100,
75
+ "description": "Performance issues and observations"
76
+ },
77
+ "recommendations": {
78
+ "type": "array",
79
+ "items": {
80
+ "$ref": "#/$defs/performanceRecommendation"
81
+ },
82
+ "maxItems": 50,
83
+ "description": "Optimization recommendations"
84
+ },
85
+ "scenarios": {
86
+ "type": "array",
87
+ "items": {
88
+ "$ref": "#/$defs/testScenario"
89
+ },
90
+ "maxItems": 20,
91
+ "description": "Individual test scenario results"
92
+ },
93
+ "resourceUtilization": {
94
+ "$ref": "#/$defs/resourceUtilization",
95
+ "description": "System resource utilization during test"
96
+ },
97
+ "artifacts": {
98
+ "type": "array",
99
+ "items": {
100
+ "$ref": "#/$defs/artifact"
101
+ },
102
+ "maxItems": 50,
103
+ "description": "Generated reports and data files"
104
+ },
105
+ "timeline": {
106
+ "type": "array",
107
+ "items": {
108
+ "$ref": "#/$defs/timelineEvent"
109
+ },
110
+ "description": "Test execution timeline"
111
+ },
112
+ "testConfiguration": {
113
+ "$ref": "#/$defs/testConfiguration",
114
+ "description": "Configuration used for the performance test"
115
+ },
116
+ "comparison": {
117
+ "$ref": "#/$defs/performanceComparison",
118
+ "description": "Comparison with baseline or previous run"
119
+ }
120
+ }
121
+ },
122
+ "metadata": {
123
+ "$ref": "#/$defs/metadata"
124
+ },
125
+ "validation": {
126
+ "$ref": "#/$defs/validationResult"
127
+ },
128
+ "learning": {
129
+ "$ref": "#/$defs/learningData"
130
+ }
131
+ },
132
+ "$defs": {
133
+ "performanceScore": {
134
+ "type": "object",
135
+ "required": ["value", "max"],
136
+ "properties": {
137
+ "value": {
138
+ "type": "number",
139
+ "minimum": 0,
140
+ "maximum": 100,
141
+ "description": "Performance score (0=critical issues, 100=excellent performance)"
142
+ },
143
+ "max": {
144
+ "type": "number",
145
+ "const": 100,
146
+ "description": "Maximum score is always 100"
147
+ },
148
+ "grade": {
149
+ "type": "string",
150
+ "pattern": "^[A-F][+-]?$",
151
+ "description": "Letter grade: A (90-100), B (80-89), C (70-79), D (60-69), F (<60)"
152
+ },
153
+ "trend": {
154
+ "type": "string",
155
+ "enum": ["improving", "stable", "declining", "unknown"],
156
+ "description": "Trend compared to previous tests"
157
+ },
158
+ "healthStatus": {
159
+ "type": "string",
160
+ "enum": ["healthy", "degraded", "critical", "unknown"],
161
+ "description": "Overall system health during test"
162
+ }
163
+ }
164
+ },
165
+ "performanceMetrics": {
166
+ "type": "object",
167
+ "required": ["responseTime", "throughput"],
168
+ "properties": {
169
+ "responseTime": {
170
+ "$ref": "#/$defs/responseTimeMetrics",
171
+ "description": "Response time statistics"
172
+ },
173
+ "throughput": {
174
+ "$ref": "#/$defs/throughputMetrics",
175
+ "description": "Throughput statistics"
176
+ },
177
+ "errorRate": {
178
+ "$ref": "#/$defs/errorRateMetrics",
179
+ "description": "Error rate statistics"
180
+ },
181
+ "concurrency": {
182
+ "$ref": "#/$defs/concurrencyMetrics",
183
+ "description": "Concurrency and virtual user metrics"
184
+ },
185
+ "dataTransfer": {
186
+ "$ref": "#/$defs/dataTransferMetrics",
187
+ "description": "Data transfer metrics"
188
+ },
189
+ "custom": {
190
+ "type": "object",
191
+ "additionalProperties": {
192
+ "oneOf": [
193
+ { "type": "number" },
194
+ { "type": "string" },
195
+ { "type": "boolean" }
196
+ ]
197
+ },
198
+ "description": "Custom metrics specific to the test"
199
+ }
200
+ }
201
+ },
202
+ "responseTimeMetrics": {
203
+ "type": "object",
204
+ "properties": {
205
+ "min": {
206
+ "type": "number",
207
+ "minimum": 0,
208
+ "description": "Minimum response time in milliseconds"
209
+ },
210
+ "max": {
211
+ "type": "number",
212
+ "minimum": 0,
213
+ "description": "Maximum response time in milliseconds"
214
+ },
215
+ "avg": {
216
+ "type": "number",
217
+ "minimum": 0,
218
+ "description": "Average response time in milliseconds"
219
+ },
220
+ "median": {
221
+ "type": "number",
222
+ "minimum": 0,
223
+ "description": "Median (p50) response time in milliseconds"
224
+ },
225
+ "p50": {
226
+ "type": "number",
227
+ "minimum": 0,
228
+ "description": "50th percentile response time in milliseconds"
229
+ },
230
+ "p75": {
231
+ "type": "number",
232
+ "minimum": 0,
233
+ "description": "75th percentile response time in milliseconds"
234
+ },
235
+ "p90": {
236
+ "type": "number",
237
+ "minimum": 0,
238
+ "description": "90th percentile response time in milliseconds"
239
+ },
240
+ "p95": {
241
+ "type": "number",
242
+ "minimum": 0,
243
+ "description": "95th percentile response time in milliseconds"
244
+ },
245
+ "p99": {
246
+ "type": "number",
247
+ "minimum": 0,
248
+ "description": "99th percentile response time in milliseconds"
249
+ },
250
+ "p999": {
251
+ "type": "number",
252
+ "minimum": 0,
253
+ "description": "99.9th percentile response time in milliseconds"
254
+ },
255
+ "stdDev": {
256
+ "type": "number",
257
+ "minimum": 0,
258
+ "description": "Standard deviation of response times"
259
+ },
260
+ "unit": {
261
+ "type": "string",
262
+ "enum": ["ms", "s", "us"],
263
+ "default": "ms",
264
+ "description": "Time unit (milliseconds, seconds, microseconds)"
265
+ }
266
+ }
267
+ },
268
+ "throughputMetrics": {
269
+ "type": "object",
270
+ "properties": {
271
+ "requestsPerSecond": {
272
+ "type": "number",
273
+ "minimum": 0,
274
+ "description": "Average requests per second"
275
+ },
276
+ "peakRequestsPerSecond": {
277
+ "type": "number",
278
+ "minimum": 0,
279
+ "description": "Peak requests per second achieved"
280
+ },
281
+ "totalRequests": {
282
+ "type": "integer",
283
+ "minimum": 0,
284
+ "description": "Total number of requests made"
285
+ },
286
+ "successfulRequests": {
287
+ "type": "integer",
288
+ "minimum": 0,
289
+ "description": "Number of successful requests"
290
+ },
291
+ "failedRequests": {
292
+ "type": "integer",
293
+ "minimum": 0,
294
+ "description": "Number of failed requests"
295
+ },
296
+ "transactionsPerSecond": {
297
+ "type": "number",
298
+ "minimum": 0,
299
+ "description": "Business transactions per second"
300
+ },
301
+ "iterationsPerSecond": {
302
+ "type": "number",
303
+ "minimum": 0,
304
+ "description": "Test iterations per second"
305
+ }
306
+ }
307
+ },
308
+ "errorRateMetrics": {
309
+ "type": "object",
310
+ "properties": {
311
+ "percentage": {
312
+ "type": "number",
313
+ "minimum": 0,
314
+ "maximum": 100,
315
+ "description": "Error rate as percentage"
316
+ },
317
+ "totalErrors": {
318
+ "type": "integer",
319
+ "minimum": 0,
320
+ "description": "Total number of errors"
321
+ },
322
+ "errorsByType": {
323
+ "type": "object",
324
+ "additionalProperties": {
325
+ "type": "integer"
326
+ },
327
+ "description": "Error counts by type (e.g., timeout, 5xx, connection)"
328
+ },
329
+ "errorsByEndpoint": {
330
+ "type": "object",
331
+ "additionalProperties": {
332
+ "type": "integer"
333
+ },
334
+ "description": "Error counts by endpoint"
335
+ }
336
+ }
337
+ },
338
+ "concurrencyMetrics": {
339
+ "type": "object",
340
+ "properties": {
341
+ "virtualUsers": {
342
+ "type": "integer",
343
+ "minimum": 0,
344
+ "description": "Number of virtual users (VUs)"
345
+ },
346
+ "peakConcurrentUsers": {
347
+ "type": "integer",
348
+ "minimum": 0,
349
+ "description": "Peak concurrent users during test"
350
+ },
351
+ "avgConcurrentUsers": {
352
+ "type": "number",
353
+ "minimum": 0,
354
+ "description": "Average concurrent users"
355
+ },
356
+ "rampUpTime": {
357
+ "type": "integer",
358
+ "minimum": 0,
359
+ "description": "Ramp-up time in seconds"
360
+ },
361
+ "steadyStateTime": {
362
+ "type": "integer",
363
+ "minimum": 0,
364
+ "description": "Steady state duration in seconds"
365
+ },
366
+ "rampDownTime": {
367
+ "type": "integer",
368
+ "minimum": 0,
369
+ "description": "Ramp-down time in seconds"
370
+ }
371
+ }
372
+ },
373
+ "dataTransferMetrics": {
374
+ "type": "object",
375
+ "properties": {
376
+ "totalDataSent": {
377
+ "type": "integer",
378
+ "minimum": 0,
379
+ "description": "Total data sent in bytes"
380
+ },
381
+ "totalDataReceived": {
382
+ "type": "integer",
383
+ "minimum": 0,
384
+ "description": "Total data received in bytes"
385
+ },
386
+ "avgDataSentPerRequest": {
387
+ "type": "number",
388
+ "minimum": 0,
389
+ "description": "Average data sent per request in bytes"
390
+ },
391
+ "avgDataReceivedPerRequest": {
392
+ "type": "number",
393
+ "minimum": 0,
394
+ "description": "Average data received per request in bytes"
395
+ },
396
+ "bandwidthUtilization": {
397
+ "type": "number",
398
+ "minimum": 0,
399
+ "maximum": 100,
400
+ "description": "Bandwidth utilization percentage"
401
+ }
402
+ }
403
+ },
404
+ "slaCompliance": {
405
+ "type": "object",
406
+ "required": ["overallCompliant"],
407
+ "properties": {
408
+ "overallCompliant": {
409
+ "type": "boolean",
410
+ "description": "Whether all SLAs are met"
411
+ },
412
+ "thresholds": {
413
+ "type": "array",
414
+ "items": {
415
+ "$ref": "#/$defs/slaThreshold"
416
+ },
417
+ "description": "Individual SLA threshold results"
418
+ },
419
+ "compliancePercentage": {
420
+ "type": "number",
421
+ "minimum": 0,
422
+ "maximum": 100,
423
+ "description": "Percentage of SLAs met"
424
+ },
425
+ "violations": {
426
+ "type": "array",
427
+ "items": {
428
+ "$ref": "#/$defs/slaViolation"
429
+ },
430
+ "description": "SLA violations detected"
431
+ }
432
+ }
433
+ },
434
+ "slaThreshold": {
435
+ "type": "object",
436
+ "required": ["metric", "operator", "threshold", "actual", "passed"],
437
+ "properties": {
438
+ "metric": {
439
+ "type": "string",
440
+ "description": "Metric name (e.g., 'p95_response_time', 'error_rate')"
441
+ },
442
+ "operator": {
443
+ "type": "string",
444
+ "enum": ["<", "<=", ">", ">=", "==", "!="],
445
+ "description": "Comparison operator"
446
+ },
447
+ "threshold": {
448
+ "type": "number",
449
+ "description": "Threshold value"
450
+ },
451
+ "actual": {
452
+ "type": "number",
453
+ "description": "Actual measured value"
454
+ },
455
+ "passed": {
456
+ "type": "boolean",
457
+ "description": "Whether threshold was met"
458
+ },
459
+ "unit": {
460
+ "type": "string",
461
+ "description": "Unit of measurement"
462
+ },
463
+ "description": {
464
+ "type": "string",
465
+ "description": "Human-readable description"
466
+ }
467
+ }
468
+ },
469
+ "slaViolation": {
470
+ "type": "object",
471
+ "required": ["metric", "severity"],
472
+ "properties": {
473
+ "metric": {
474
+ "type": "string",
475
+ "description": "Violated metric name"
476
+ },
477
+ "severity": {
478
+ "type": "string",
479
+ "enum": ["critical", "high", "medium", "low"],
480
+ "description": "Severity of the violation"
481
+ },
482
+ "expected": {
483
+ "type": "number",
484
+ "description": "Expected threshold value"
485
+ },
486
+ "actual": {
487
+ "type": "number",
488
+ "description": "Actual measured value"
489
+ },
490
+ "deviation": {
491
+ "type": "number",
492
+ "description": "Percentage deviation from threshold"
493
+ },
494
+ "impact": {
495
+ "type": "string",
496
+ "description": "Business impact description"
497
+ },
498
+ "timestamp": {
499
+ "type": "string",
500
+ "type": "string",
501
+ "description": "When violation was detected"
502
+ }
503
+ }
504
+ },
505
+ "bottleneck": {
506
+ "type": "object",
507
+ "required": ["id", "type", "severity", "description"],
508
+ "properties": {
509
+ "id": {
510
+ "type": "string",
511
+ "pattern": "^PERF-\\d{3,6}$",
512
+ "description": "Unique bottleneck identifier (e.g., PERF-001)"
513
+ },
514
+ "type": {
515
+ "type": "string",
516
+ "enum": ["cpu", "memory", "disk", "network", "database", "api", "cache", "queue", "thread-pool", "connection-pool", "external-service", "application", "other"],
517
+ "description": "Type of bottleneck"
518
+ },
519
+ "severity": {
520
+ "type": "string",
521
+ "enum": ["critical", "high", "medium", "low"],
522
+ "description": "Severity of the bottleneck"
523
+ },
524
+ "description": {
525
+ "type": "string",
526
+ "maxLength": 1000,
527
+ "description": "Detailed description of the bottleneck"
528
+ },
529
+ "component": {
530
+ "type": "string",
531
+ "description": "Affected system component"
532
+ },
533
+ "threshold": {
534
+ "type": "number",
535
+ "description": "Threshold at which bottleneck occurs (e.g., VU count)"
536
+ },
537
+ "impact": {
538
+ "type": "string",
539
+ "description": "Performance impact description"
540
+ },
541
+ "evidence": {
542
+ "type": "string",
543
+ "maxLength": 2000,
544
+ "description": "Evidence supporting the bottleneck identification"
545
+ },
546
+ "recommendation": {
547
+ "type": "string",
548
+ "description": "Recommended fix for the bottleneck"
549
+ },
550
+ "estimatedImprovement": {
551
+ "type": "string",
552
+ "description": "Estimated improvement if bottleneck is resolved"
553
+ }
554
+ }
555
+ },
556
+ "performanceFinding": {
557
+ "type": "object",
558
+ "required": ["id", "title", "severity"],
559
+ "properties": {
560
+ "id": {
561
+ "type": "string",
562
+ "pattern": "^PERF-\\d{3,6}$",
563
+ "description": "Unique finding identifier"
564
+ },
565
+ "title": {
566
+ "type": "string",
567
+ "minLength": 10,
568
+ "maxLength": 200,
569
+ "description": "Finding title"
570
+ },
571
+ "description": {
572
+ "type": "string",
573
+ "maxLength": 2000,
574
+ "description": "Detailed finding description"
575
+ },
576
+ "severity": {
577
+ "type": "string",
578
+ "enum": ["critical", "high", "medium", "low", "info"],
579
+ "description": "Finding severity"
580
+ },
581
+ "category": {
582
+ "type": "string",
583
+ "enum": ["latency", "throughput", "error-rate", "resource", "scalability", "stability", "memory-leak", "connection-exhaustion", "timeout", "other"],
584
+ "description": "Finding category"
585
+ },
586
+ "metric": {
587
+ "type": "string",
588
+ "description": "Related metric"
589
+ },
590
+ "value": {
591
+ "type": "number",
592
+ "description": "Measured value"
593
+ },
594
+ "threshold": {
595
+ "type": "number",
596
+ "description": "Threshold value"
597
+ },
598
+ "location": {
599
+ "$ref": "#/$defs/location",
600
+ "description": "Location of the issue"
601
+ },
602
+ "evidence": {
603
+ "type": "string",
604
+ "description": "Supporting evidence"
605
+ },
606
+ "confidence": {
607
+ "type": "number",
608
+ "minimum": 0,
609
+ "maximum": 1,
610
+ "description": "Confidence in finding (0.0-1.0)"
611
+ }
612
+ }
613
+ },
614
+ "performanceRecommendation": {
615
+ "type": "object",
616
+ "required": ["id", "title", "priority"],
617
+ "properties": {
618
+ "id": {
619
+ "type": "string",
620
+ "pattern": "^REC-\\d{3,6}$",
621
+ "description": "Unique recommendation identifier"
622
+ },
623
+ "title": {
624
+ "type": "string",
625
+ "minLength": 10,
626
+ "maxLength": 200,
627
+ "description": "Recommendation title"
628
+ },
629
+ "description": {
630
+ "type": "string",
631
+ "maxLength": 2000,
632
+ "description": "Detailed recommendation"
633
+ },
634
+ "priority": {
635
+ "type": "string",
636
+ "enum": ["critical", "high", "medium", "low"],
637
+ "description": "Implementation priority"
638
+ },
639
+ "effort": {
640
+ "type": "string",
641
+ "enum": ["trivial", "low", "medium", "high", "major"],
642
+ "description": "Estimated implementation effort"
643
+ },
644
+ "impact": {
645
+ "type": "integer",
646
+ "minimum": 1,
647
+ "maximum": 10,
648
+ "description": "Expected performance impact (1-10)"
649
+ },
650
+ "category": {
651
+ "type": "string",
652
+ "enum": ["optimization", "scaling", "caching", "database", "infrastructure", "code", "configuration", "architecture"],
653
+ "description": "Recommendation category"
654
+ },
655
+ "relatedBottlenecks": {
656
+ "type": "array",
657
+ "items": {
658
+ "type": "string",
659
+ "pattern": "^PERF-\\d{3,6}$"
660
+ },
661
+ "description": "Related bottleneck IDs"
662
+ },
663
+ "estimatedImprovement": {
664
+ "type": "string",
665
+ "description": "Estimated performance improvement"
666
+ },
667
+ "codeExample": {
668
+ "type": "object",
669
+ "properties": {
670
+ "before": { "type": "string" },
671
+ "after": { "type": "string" },
672
+ "language": { "type": "string" }
673
+ },
674
+ "description": "Before/after code examples"
675
+ },
676
+ "resources": {
677
+ "type": "array",
678
+ "items": {
679
+ "type": "object",
680
+ "required": ["title", "url"],
681
+ "properties": {
682
+ "title": { "type": "string" },
683
+ "url": { "type": "string" }
684
+ }
685
+ },
686
+ "maxItems": 10,
687
+ "description": "External resources"
688
+ }
689
+ }
690
+ },
691
+ "testScenario": {
692
+ "type": "object",
693
+ "required": ["name", "status"],
694
+ "properties": {
695
+ "name": {
696
+ "type": "string",
697
+ "description": "Scenario name"
698
+ },
699
+ "description": {
700
+ "type": "string",
701
+ "description": "Scenario description"
702
+ },
703
+ "status": {
704
+ "type": "string",
705
+ "enum": ["passed", "failed", "skipped"],
706
+ "description": "Scenario execution status"
707
+ },
708
+ "virtualUsers": {
709
+ "type": "integer",
710
+ "minimum": 1,
711
+ "description": "Virtual users for this scenario"
712
+ },
713
+ "duration": {
714
+ "type": "integer",
715
+ "minimum": 0,
716
+ "description": "Scenario duration in seconds"
717
+ },
718
+ "metrics": {
719
+ "$ref": "#/$defs/performanceMetrics",
720
+ "description": "Scenario-specific metrics"
721
+ },
722
+ "thresholdsResult": {
723
+ "type": "string",
724
+ "enum": ["passed", "failed", "partial"],
725
+ "description": "Whether scenario met its thresholds"
726
+ }
727
+ }
728
+ },
729
+ "resourceUtilization": {
730
+ "type": "object",
731
+ "properties": {
732
+ "cpu": {
733
+ "$ref": "#/$defs/resourceMetric",
734
+ "description": "CPU utilization"
735
+ },
736
+ "memory": {
737
+ "$ref": "#/$defs/resourceMetric",
738
+ "description": "Memory utilization"
739
+ },
740
+ "disk": {
741
+ "$ref": "#/$defs/resourceMetric",
742
+ "description": "Disk I/O utilization"
743
+ },
744
+ "network": {
745
+ "$ref": "#/$defs/resourceMetric",
746
+ "description": "Network utilization"
747
+ },
748
+ "database": {
749
+ "type": "object",
750
+ "properties": {
751
+ "connectionPoolUsage": {
752
+ "type": "number",
753
+ "minimum": 0,
754
+ "maximum": 100,
755
+ "description": "Connection pool usage percentage"
756
+ },
757
+ "queryTime": {
758
+ "type": "number",
759
+ "minimum": 0,
760
+ "description": "Average query time in ms"
761
+ },
762
+ "activeConnections": {
763
+ "type": "integer",
764
+ "minimum": 0,
765
+ "description": "Active database connections"
766
+ }
767
+ },
768
+ "description": "Database metrics"
769
+ }
770
+ }
771
+ },
772
+ "resourceMetric": {
773
+ "type": "object",
774
+ "properties": {
775
+ "avg": {
776
+ "type": "number",
777
+ "minimum": 0,
778
+ "maximum": 100,
779
+ "description": "Average utilization percentage"
780
+ },
781
+ "max": {
782
+ "type": "number",
783
+ "minimum": 0,
784
+ "maximum": 100,
785
+ "description": "Maximum utilization percentage"
786
+ },
787
+ "min": {
788
+ "type": "number",
789
+ "minimum": 0,
790
+ "maximum": 100,
791
+ "description": "Minimum utilization percentage"
792
+ },
793
+ "p95": {
794
+ "type": "number",
795
+ "minimum": 0,
796
+ "maximum": 100,
797
+ "description": "95th percentile utilization"
798
+ }
799
+ }
800
+ },
801
+ "testConfiguration": {
802
+ "type": "object",
803
+ "properties": {
804
+ "target": {
805
+ "type": "string",
806
+ "description": "Test target (URL or service)"
807
+ },
808
+ "tool": {
809
+ "type": "string",
810
+ "enum": ["k6", "artillery", "jmeter", "gatling", "locust", "wrk", "ab", "vegeta", "custom"],
811
+ "description": "Performance testing tool used"
812
+ },
813
+ "toolVersion": {
814
+ "type": "string",
815
+ "description": "Version of the testing tool"
816
+ },
817
+ "testType": {
818
+ "type": "string",
819
+ "enum": ["load", "stress", "endurance", "spike", "volume", "scalability", "smoke", "soak"],
820
+ "description": "Type of performance test"
821
+ },
822
+ "duration": {
823
+ "type": "integer",
824
+ "minimum": 0,
825
+ "description": "Total test duration in seconds"
826
+ },
827
+ "virtualUsers": {
828
+ "type": "integer",
829
+ "minimum": 1,
830
+ "description": "Number of virtual users"
831
+ },
832
+ "rampUp": {
833
+ "type": "integer",
834
+ "minimum": 0,
835
+ "description": "Ramp-up time in seconds"
836
+ },
837
+ "steadyState": {
838
+ "type": "integer",
839
+ "minimum": 0,
840
+ "description": "Steady state duration in seconds"
841
+ },
842
+ "rampDown": {
843
+ "type": "integer",
844
+ "minimum": 0,
845
+ "description": "Ramp-down time in seconds"
846
+ },
847
+ "thresholds": {
848
+ "type": "object",
849
+ "additionalProperties": {
850
+ "type": ["string", "number", "array"]
851
+ },
852
+ "description": "Configured thresholds"
853
+ },
854
+ "scenarios": {
855
+ "type": "array",
856
+ "items": {
857
+ "type": "string"
858
+ },
859
+ "description": "Scenario names"
860
+ },
861
+ "endpoints": {
862
+ "type": "array",
863
+ "items": {
864
+ "type": "string"
865
+ },
866
+ "description": "Endpoints tested"
867
+ },
868
+ "environment": {
869
+ "type": "string",
870
+ "enum": ["development", "staging", "production", "ci"],
871
+ "description": "Test environment"
872
+ }
873
+ }
874
+ },
875
+ "performanceComparison": {
876
+ "type": "object",
877
+ "properties": {
878
+ "baselineVersion": {
879
+ "type": "string",
880
+ "description": "Baseline version for comparison"
881
+ },
882
+ "currentVersion": {
883
+ "type": "string",
884
+ "description": "Current version being tested"
885
+ },
886
+ "comparisonType": {
887
+ "type": "string",
888
+ "enum": ["baseline", "previous", "release", "custom"],
889
+ "description": "Type of comparison"
890
+ },
891
+ "regressionDetected": {
892
+ "type": "boolean",
893
+ "description": "Whether performance regression was detected"
894
+ },
895
+ "tolerancePercentage": {
896
+ "type": "number",
897
+ "minimum": 0,
898
+ "maximum": 100,
899
+ "description": "Allowed deviation percentage"
900
+ },
901
+ "metrics": {
902
+ "type": "array",
903
+ "items": {
904
+ "$ref": "#/$defs/metricComparison"
905
+ },
906
+ "description": "Individual metric comparisons"
907
+ }
908
+ }
909
+ },
910
+ "metricComparison": {
911
+ "type": "object",
912
+ "required": ["metric", "baseline", "current"],
913
+ "properties": {
914
+ "metric": {
915
+ "type": "string",
916
+ "description": "Metric name"
917
+ },
918
+ "baseline": {
919
+ "type": "number",
920
+ "description": "Baseline value"
921
+ },
922
+ "current": {
923
+ "type": "number",
924
+ "description": "Current value"
925
+ },
926
+ "change": {
927
+ "type": "number",
928
+ "description": "Absolute change"
929
+ },
930
+ "changePercentage": {
931
+ "type": "number",
932
+ "description": "Change as percentage"
933
+ },
934
+ "status": {
935
+ "type": "string",
936
+ "enum": ["improved", "stable", "degraded", "regression"],
937
+ "description": "Comparison status"
938
+ },
939
+ "withinTolerance": {
940
+ "type": "boolean",
941
+ "description": "Whether change is within tolerance"
942
+ }
943
+ }
944
+ },
945
+ "location": {
946
+ "type": "object",
947
+ "properties": {
948
+ "endpoint": {
949
+ "type": "string",
950
+ "description": "API endpoint"
951
+ },
952
+ "method": {
953
+ "type": "string",
954
+ "enum": ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"],
955
+ "description": "HTTP method"
956
+ },
957
+ "service": {
958
+ "type": "string",
959
+ "description": "Service name"
960
+ },
961
+ "component": {
962
+ "type": "string",
963
+ "description": "System component"
964
+ },
965
+ "file": {
966
+ "type": "string",
967
+ "description": "Source file if applicable"
968
+ },
969
+ "line": {
970
+ "type": "integer",
971
+ "minimum": 1,
972
+ "description": "Line number if applicable"
973
+ }
974
+ }
975
+ },
976
+ "artifact": {
977
+ "type": "object",
978
+ "required": ["type", "path"],
979
+ "properties": {
980
+ "type": {
981
+ "type": "string",
982
+ "enum": ["report", "data", "log", "chart", "flamegraph", "profile", "trace", "config"],
983
+ "description": "Artifact type"
984
+ },
985
+ "path": {
986
+ "type": "string",
987
+ "maxLength": 500,
988
+ "description": "Path to artifact"
989
+ },
990
+ "format": {
991
+ "type": "string",
992
+ "enum": ["json", "html", "csv", "xml", "txt", "png", "svg", "pdf"],
993
+ "description": "Artifact format"
994
+ },
995
+ "description": {
996
+ "type": "string",
997
+ "maxLength": 500,
998
+ "description": "Artifact description"
999
+ },
1000
+ "sizeBytes": {
1001
+ "type": "integer",
1002
+ "minimum": 0,
1003
+ "description": "File size in bytes"
1004
+ }
1005
+ }
1006
+ },
1007
+ "timelineEvent": {
1008
+ "type": "object",
1009
+ "required": ["timestamp", "event"],
1010
+ "properties": {
1011
+ "timestamp": {
1012
+ "type": "string",
1013
+ "type": "string",
1014
+ "description": "Event timestamp"
1015
+ },
1016
+ "event": {
1017
+ "type": "string",
1018
+ "maxLength": 200,
1019
+ "description": "Event description"
1020
+ },
1021
+ "type": {
1022
+ "type": "string",
1023
+ "enum": ["start", "ramp-up", "steady-state", "ramp-down", "checkpoint", "warning", "error", "complete"],
1024
+ "description": "Event type"
1025
+ },
1026
+ "durationMs": {
1027
+ "type": "integer",
1028
+ "minimum": 0,
1029
+ "description": "Duration since previous event"
1030
+ },
1031
+ "phase": {
1032
+ "type": "string",
1033
+ "enum": ["initialization", "warmup", "load", "cooldown", "analysis", "reporting"],
1034
+ "description": "Test phase"
1035
+ },
1036
+ "virtualUsers": {
1037
+ "type": "integer",
1038
+ "minimum": 0,
1039
+ "description": "Virtual users at this point"
1040
+ }
1041
+ }
1042
+ },
1043
+ "metadata": {
1044
+ "type": "object",
1045
+ "properties": {
1046
+ "executionTimeMs": {
1047
+ "type": "integer",
1048
+ "minimum": 0,
1049
+ "maximum": 86400000,
1050
+ "description": "Total execution time in milliseconds (max 24 hours)"
1051
+ },
1052
+ "toolsUsed": {
1053
+ "type": "array",
1054
+ "items": {
1055
+ "type": "string",
1056
+ "enum": ["k6", "artillery", "jmeter", "gatling", "locust", "wrk", "ab", "vegeta", "prometheus", "grafana", "datadog", "newrelic"]
1057
+ },
1058
+ "uniqueItems": true,
1059
+ "description": "Performance tools used"
1060
+ },
1061
+ "agentId": {
1062
+ "type": "string",
1063
+ "pattern": "^qe-[a-z][a-z0-9-]*$",
1064
+ "description": "Agent ID (e.g., qe-performance-tester)"
1065
+ },
1066
+ "modelUsed": {
1067
+ "type": "string",
1068
+ "description": "LLM model used for analysis"
1069
+ },
1070
+ "inputHash": {
1071
+ "type": "string",
1072
+ "pattern": "^[a-f0-9]{64}$",
1073
+ "description": "SHA-256 hash of input"
1074
+ },
1075
+ "targetUrl": {
1076
+ "type": "string",
1077
+ "type": "string",
1078
+ "description": "Target URL"
1079
+ },
1080
+ "environment": {
1081
+ "type": "string",
1082
+ "enum": ["development", "staging", "production", "ci"],
1083
+ "description": "Execution environment"
1084
+ },
1085
+ "retryCount": {
1086
+ "type": "integer",
1087
+ "minimum": 0,
1088
+ "maximum": 10,
1089
+ "description": "Number of retries"
1090
+ }
1091
+ }
1092
+ },
1093
+ "validationResult": {
1094
+ "type": "object",
1095
+ "properties": {
1096
+ "schemaValid": {
1097
+ "type": "boolean",
1098
+ "description": "Passes JSON schema validation"
1099
+ },
1100
+ "contentValid": {
1101
+ "type": "boolean",
1102
+ "description": "Passes content validation"
1103
+ },
1104
+ "confidence": {
1105
+ "type": "number",
1106
+ "minimum": 0,
1107
+ "maximum": 1,
1108
+ "description": "Confidence score"
1109
+ },
1110
+ "warnings": {
1111
+ "type": "array",
1112
+ "items": {
1113
+ "type": "string",
1114
+ "maxLength": 500
1115
+ },
1116
+ "maxItems": 20,
1117
+ "description": "Validation warnings"
1118
+ },
1119
+ "errors": {
1120
+ "type": "array",
1121
+ "items": {
1122
+ "type": "string",
1123
+ "maxLength": 500
1124
+ },
1125
+ "maxItems": 20,
1126
+ "description": "Validation errors"
1127
+ },
1128
+ "validatorVersion": {
1129
+ "type": "string",
1130
+ "pattern": "^\\d+\\.\\d+\\.\\d+$",
1131
+ "description": "Validator version"
1132
+ }
1133
+ }
1134
+ },
1135
+ "learningData": {
1136
+ "type": "object",
1137
+ "properties": {
1138
+ "patternsDetected": {
1139
+ "type": "array",
1140
+ "items": {
1141
+ "type": "string",
1142
+ "maxLength": 200
1143
+ },
1144
+ "maxItems": 20,
1145
+ "description": "Performance patterns detected (e.g., n+1-query, connection-pool-exhaustion)"
1146
+ },
1147
+ "reward": {
1148
+ "type": "number",
1149
+ "minimum": 0,
1150
+ "maximum": 1,
1151
+ "description": "Reward signal for learning (0.0-1.0)"
1152
+ },
1153
+ "feedbackLoop": {
1154
+ "type": "object",
1155
+ "properties": {
1156
+ "previousRunId": {
1157
+ "type": "string",
1158
+ "type": "string",
1159
+ "description": "Previous run ID for comparison"
1160
+ },
1161
+ "improvement": {
1162
+ "type": "number",
1163
+ "minimum": -1,
1164
+ "maximum": 1,
1165
+ "description": "Improvement over previous run"
1166
+ }
1167
+ }
1168
+ },
1169
+ "newPerformancePatterns": {
1170
+ "type": "array",
1171
+ "items": {
1172
+ "type": "object",
1173
+ "properties": {
1174
+ "pattern": { "type": "string" },
1175
+ "bottleneckType": { "type": "string" },
1176
+ "confidence": { "type": "number" }
1177
+ }
1178
+ },
1179
+ "description": "New performance patterns learned"
1180
+ }
1181
+ }
1182
+ }
1183
+ }
1184
+ }