agentic-qe 3.4.0 → 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 (498) 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/CHANGELOG.md +23 -0
  244. package/README.md +39 -2
  245. package/package.json +4 -1
  246. package/scripts/run-skill-eval.ts +1097 -0
  247. package/scripts/test-schema-validation.js +301 -0
  248. package/scripts/update-skill-manifest.ts +751 -0
  249. package/scripts/validate-skill-frontmatter.js +141 -0
  250. package/v3/CHANGELOG.md +21 -0
  251. package/v3/README.md +43 -3
  252. package/v3/assets/agents/v3/qe-test-idea-rewriter.md +375 -375
  253. package/v3/assets/skills/.validation/README.md +111 -0
  254. package/v3/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -0
  255. package/v3/assets/skills/.validation/examples/performance-testing-output.example.json +252 -0
  256. package/v3/assets/skills/.validation/examples/security-testing-output.example.json +413 -0
  257. package/v3/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -0
  258. package/v3/assets/skills/.validation/schemas/skill-eval.schema.json +452 -0
  259. package/v3/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -0
  260. package/v3/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -0
  261. package/v3/assets/skills/.validation/schemas/skill-output.template.json +610 -0
  262. package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +250 -0
  263. package/v3/assets/skills/.validation/templates/eval.template.yaml +366 -0
  264. package/v3/assets/skills/.validation/templates/schemas/output.json +145 -0
  265. package/v3/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -0
  266. package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -0
  267. package/v3/assets/skills/.validation/templates/validate.template.sh +1060 -0
  268. package/v3/assets/skills/.validation/templates/validator-lib.sh +1031 -0
  269. package/v3/assets/skills/.validation/test-data/invalid-output.json +5 -0
  270. package/v3/assets/skills/.validation/test-data/minimal-output.json +9 -0
  271. package/v3/assets/skills/.validation/test-data/sample-output.json +73 -0
  272. package/v3/assets/skills/accessibility-testing/SKILL.md +8 -1
  273. package/v3/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -0
  274. package/v3/assets/skills/accessibility-testing/schemas/output.json +776 -0
  275. package/v3/assets/skills/accessibility-testing/scripts/validate.sh +943 -0
  276. package/v3/assets/skills/accessibility-testing/test-data/sample-output.json +191 -0
  277. package/v3/assets/skills/agentic-quality-engineering/SKILL.md +4 -0
  278. package/v3/assets/skills/agentic-quality-engineering/schemas/output.json +577 -0
  279. package/v3/assets/skills/api-testing-patterns/SKILL.md +5 -0
  280. package/v3/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -0
  281. package/v3/assets/skills/api-testing-patterns/schemas/output.json +845 -0
  282. package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +931 -0
  283. package/v3/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -0
  284. package/v3/assets/skills/aqe-v2-v3-migration/skill.md +20 -16
  285. package/v3/assets/skills/bug-reporting-excellence/SKILL.md +5 -0
  286. package/v3/assets/skills/bug-reporting-excellence/schemas/output.json +288 -0
  287. package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +108 -0
  288. package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +5 -0
  289. package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -0
  290. package/v3/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -0
  291. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +1107 -0
  292. package/v3/assets/skills/code-review-quality/SKILL.md +5 -0
  293. package/v3/assets/skills/code-review-quality/schemas/output.json +264 -0
  294. package/v3/assets/skills/code-review-quality/scripts/validate.sh +113 -0
  295. package/v3/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -0
  296. package/v3/assets/skills/compatibility-testing/schemas/output.json +551 -0
  297. package/v3/assets/skills/compatibility-testing/scripts/validate.sh +605 -0
  298. package/v3/assets/skills/compliance-testing/SKILL.md +7 -0
  299. package/v3/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -0
  300. package/v3/assets/skills/compliance-testing/schemas/output.json +845 -0
  301. package/v3/assets/skills/compliance-testing/scripts/validate.sh +888 -0
  302. package/v3/assets/skills/consultancy-practices/SKILL.md +4 -0
  303. package/v3/assets/skills/consultancy-practices/schemas/output.json +282 -0
  304. package/v3/assets/skills/context-driven-testing/SKILL.md +3 -0
  305. package/v3/assets/skills/contract-testing/SKILL.md +5 -0
  306. package/v3/assets/skills/contract-testing/evals/contract-testing.yaml +748 -0
  307. package/v3/assets/skills/contract-testing/schemas/output.json +638 -0
  308. package/v3/assets/skills/contract-testing/scripts/validate.sh +1033 -0
  309. package/v3/assets/skills/database-testing/SKILL.md +5 -0
  310. package/v3/assets/skills/database-testing/evals/database-testing.yaml +968 -0
  311. package/v3/assets/skills/database-testing/schemas/output.json +1446 -0
  312. package/v3/assets/skills/database-testing/scripts/validate.sh +1099 -0
  313. package/v3/assets/skills/exploratory-testing-advanced/SKILL.md +3 -0
  314. package/v3/assets/skills/holistic-testing-pact/SKILL.md +3 -0
  315. package/v3/assets/skills/localization-testing/SKILL.md +6 -0
  316. package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +544 -0
  317. package/v3/assets/skills/localization-testing/schemas/output.json +325 -0
  318. package/v3/assets/skills/localization-testing/scripts/validate.sh +131 -0
  319. package/v3/assets/skills/mobile-testing/SKILL.md +6 -0
  320. package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -0
  321. package/v3/assets/skills/mobile-testing/schemas/output.json +318 -0
  322. package/v3/assets/skills/mobile-testing/scripts/validate.sh +127 -0
  323. package/v3/assets/skills/mutation-testing/SKILL.md +8 -1
  324. package/v3/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -0
  325. package/v3/assets/skills/mutation-testing/schemas/output.json +707 -0
  326. package/v3/assets/skills/mutation-testing/scripts/validate.sh +992 -0
  327. package/v3/assets/skills/mutation-testing/test-data/sample-output.json +295 -0
  328. package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +162 -0
  329. package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +104 -0
  330. package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +120 -0
  331. package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +121 -0
  332. package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +126 -0
  333. package/v3/assets/skills/performance-testing/SKILL.md +5 -0
  334. package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +772 -0
  335. package/v3/assets/skills/performance-testing/schemas/output.json +1184 -0
  336. package/v3/assets/skills/performance-testing/scripts/validate.sh +1090 -0
  337. package/v3/assets/skills/qe-chaos-resilience/SKILL.md +6 -0
  338. package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -0
  339. package/v3/assets/skills/qe-chaos-resilience/schemas/output.json +314 -0
  340. package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +401 -0
  341. package/v3/assets/skills/qe-code-intelligence/SKILL.md +6 -0
  342. package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -0
  343. package/v3/assets/skills/qe-code-intelligence/schemas/output.json +315 -0
  344. package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +408 -0
  345. package/v3/assets/skills/qe-contract-testing/SKILL.md +6 -0
  346. package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -0
  347. package/v3/assets/skills/qe-contract-testing/schemas/output.json +295 -0
  348. package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +421 -0
  349. package/v3/assets/skills/qe-coverage-analysis/SKILL.md +6 -0
  350. package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -0
  351. package/v3/assets/skills/qe-coverage-analysis/schemas/output.json +286 -0
  352. package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +453 -0
  353. package/v3/assets/skills/qe-defect-intelligence/SKILL.md +6 -0
  354. package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -0
  355. package/v3/assets/skills/qe-defect-intelligence/schemas/output.json +283 -0
  356. package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +466 -0
  357. package/v3/assets/skills/qe-iterative-loop/SKILL.md +445 -443
  358. package/v3/assets/skills/qe-iterative-loop/schemas/output.json +264 -0
  359. package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +474 -0
  360. package/v3/assets/skills/qe-learning-optimization/SKILL.md +6 -0
  361. package/v3/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -0
  362. package/v3/assets/skills/qe-learning-optimization/schemas/output.json +288 -0
  363. package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +56 -0
  364. package/v3/assets/skills/qe-quality-assessment/SKILL.md +6 -0
  365. package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -0
  366. package/v3/assets/skills/qe-quality-assessment/schemas/output.json +550 -0
  367. package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +352 -0
  368. package/v3/assets/skills/qe-requirements-validation/SKILL.md +6 -0
  369. package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -0
  370. package/v3/assets/skills/qe-requirements-validation/schemas/output.json +587 -0
  371. package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +275 -0
  372. package/v3/assets/skills/qe-security-compliance/SKILL.md +6 -0
  373. package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -0
  374. package/v3/assets/skills/qe-security-compliance/schemas/output.json +498 -0
  375. package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +305 -0
  376. package/v3/assets/skills/qe-test-execution/SKILL.md +6 -0
  377. package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -0
  378. package/v3/assets/skills/qe-test-execution/schemas/output.json +529 -0
  379. package/v3/assets/skills/qe-test-execution/scripts/validate.sh +323 -0
  380. package/v3/assets/skills/qe-test-generation/SKILL.md +6 -0
  381. package/v3/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -0
  382. package/v3/assets/skills/qe-test-generation/schemas/output.json +439 -0
  383. package/v3/assets/skills/qe-test-generation/scripts/validate.sh +56 -0
  384. package/v3/assets/skills/qe-visual-accessibility/SKILL.md +6 -0
  385. package/v3/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -0
  386. package/v3/assets/skills/qe-visual-accessibility/schemas/output.json +491 -0
  387. package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +56 -0
  388. package/v3/assets/skills/quality-metrics/SKILL.md +6 -0
  389. package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -0
  390. package/v3/assets/skills/quality-metrics/schemas/output.json +403 -0
  391. package/v3/assets/skills/quality-metrics/scripts/validate.sh +434 -0
  392. package/v3/assets/skills/refactoring-patterns/SKILL.md +5 -0
  393. package/v3/assets/skills/refactoring-patterns/schemas/output.json +475 -0
  394. package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +241 -0
  395. package/v3/assets/skills/regression-testing/SKILL.md +6 -0
  396. package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +504 -0
  397. package/v3/assets/skills/regression-testing/schemas/output.json +311 -0
  398. package/v3/assets/skills/regression-testing/scripts/validate.sh +130 -0
  399. package/v3/assets/skills/risk-based-testing/SKILL.md +6 -0
  400. package/v3/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -0
  401. package/v3/assets/skills/risk-based-testing/schemas/output.json +480 -0
  402. package/v3/assets/skills/risk-based-testing/scripts/validate.sh +56 -0
  403. package/v3/assets/skills/security-testing/SKILL.md +5 -0
  404. package/v3/assets/skills/security-testing/evals/security-testing.yaml +789 -0
  405. package/v3/assets/skills/security-testing/schemas/output.json +879 -0
  406. package/v3/assets/skills/security-testing/scripts/validate.sh +967 -0
  407. package/v3/assets/skills/shift-left-testing/SKILL.md +6 -0
  408. package/v3/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -0
  409. package/v3/assets/skills/shift-left-testing/schemas/output.json +459 -0
  410. package/v3/assets/skills/shift-left-testing/scripts/validate.sh +56 -0
  411. package/v3/assets/skills/shift-right-testing/SKILL.md +6 -0
  412. package/v3/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -0
  413. package/v3/assets/skills/shift-right-testing/schemas/output.json +418 -0
  414. package/v3/assets/skills/shift-right-testing/scripts/validate.sh +56 -0
  415. package/v3/assets/skills/six-thinking-hats/SKILL.md +3 -0
  416. package/v3/assets/skills/tdd-london-chicago/SKILL.md +5 -0
  417. package/v3/assets/skills/tdd-london-chicago/schemas/output.json +444 -0
  418. package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +214 -0
  419. package/v3/assets/skills/technical-writing/SKILL.md +4 -0
  420. package/v3/assets/skills/technical-writing/schemas/output.json +268 -0
  421. package/v3/assets/skills/test-automation-strategy/SKILL.md +6 -0
  422. package/v3/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -0
  423. package/v3/assets/skills/test-automation-strategy/schemas/output.json +444 -0
  424. package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +195 -0
  425. package/v3/assets/skills/test-data-management/SKILL.md +6 -0
  426. package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +504 -0
  427. package/v3/assets/skills/test-data-management/schemas/output.json +284 -0
  428. package/v3/assets/skills/test-data-management/scripts/validate.sh +137 -0
  429. package/v3/assets/skills/test-design-techniques/SKILL.md +6 -0
  430. package/v3/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -0
  431. package/v3/assets/skills/test-design-techniques/schemas/output.json +295 -0
  432. package/v3/assets/skills/test-design-techniques/scripts/validate.sh +91 -0
  433. package/v3/assets/skills/test-environment-management/SKILL.md +4 -0
  434. package/v3/assets/skills/test-environment-management/schemas/output.json +310 -0
  435. package/v3/assets/skills/test-reporting-analytics/SKILL.md +6 -0
  436. package/v3/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -0
  437. package/v3/assets/skills/test-reporting-analytics/schemas/output.json +329 -0
  438. package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +77 -0
  439. package/v3/assets/skills/verification-quality/SKILL.md +6 -0
  440. package/v3/assets/skills/verification-quality/evals/verification-quality.yaml +150 -0
  441. package/v3/assets/skills/verification-quality/schemas/output.json +432 -0
  442. package/v3/assets/skills/verification-quality/scripts/validate.sh +77 -0
  443. package/v3/assets/skills/visual-testing-advanced/SKILL.md +6 -0
  444. package/v3/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -0
  445. package/v3/assets/skills/visual-testing-advanced/schemas/output.json +294 -0
  446. package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +77 -0
  447. package/v3/assets/skills/xp-practices/SKILL.md +3 -0
  448. package/v3/assets/templates/validation-report.md.hbs +139 -0
  449. package/v3/assets/templates/validation-summary.json +56 -0
  450. package/v3/dist/cli/bundle.js +11853 -5316
  451. package/v3/dist/cli/commands/eval.d.ts +18 -0
  452. package/v3/dist/cli/commands/eval.d.ts.map +1 -0
  453. package/v3/dist/cli/commands/eval.js +505 -0
  454. package/v3/dist/cli/commands/eval.js.map +1 -0
  455. package/v3/dist/cli/commands/validate-swarm.d.ts +16 -0
  456. package/v3/dist/cli/commands/validate-swarm.d.ts.map +1 -0
  457. package/v3/dist/cli/commands/validate-swarm.js +251 -0
  458. package/v3/dist/cli/commands/validate-swarm.js.map +1 -0
  459. package/v3/dist/cli/commands/validate.d.ts +14 -0
  460. package/v3/dist/cli/commands/validate.d.ts.map +1 -0
  461. package/v3/dist/cli/commands/validate.js +408 -0
  462. package/v3/dist/cli/commands/validate.js.map +1 -0
  463. package/v3/dist/cli/index.js +6 -0
  464. package/v3/dist/cli/index.js.map +1 -1
  465. package/v3/dist/index.d.ts +2 -0
  466. package/v3/dist/index.d.ts.map +1 -1
  467. package/v3/dist/index.js +10 -0
  468. package/v3/dist/index.js.map +1 -1
  469. package/v3/dist/init/skills-installer.d.ts +6 -0
  470. package/v3/dist/init/skills-installer.d.ts.map +1 -1
  471. package/v3/dist/init/skills-installer.js +48 -0
  472. package/v3/dist/init/skills-installer.js.map +1 -1
  473. package/v3/dist/learning/index.d.ts +2 -0
  474. package/v3/dist/learning/index.d.ts.map +1 -1
  475. package/v3/dist/learning/index.js +4 -0
  476. package/v3/dist/learning/index.js.map +1 -1
  477. package/v3/dist/learning/skill-validation-learner.d.ts +264 -0
  478. package/v3/dist/learning/skill-validation-learner.d.ts.map +1 -0
  479. package/v3/dist/learning/skill-validation-learner.js +515 -0
  480. package/v3/dist/learning/skill-validation-learner.js.map +1 -0
  481. package/v3/dist/mcp/bundle.js +10043 -3630
  482. package/v3/dist/validation/index.d.ts +19 -0
  483. package/v3/dist/validation/index.d.ts.map +1 -0
  484. package/v3/dist/validation/index.js +31 -0
  485. package/v3/dist/validation/index.js.map +1 -0
  486. package/v3/dist/validation/parallel-eval-runner.d.ts +307 -0
  487. package/v3/dist/validation/parallel-eval-runner.d.ts.map +1 -0
  488. package/v3/dist/validation/parallel-eval-runner.js +566 -0
  489. package/v3/dist/validation/parallel-eval-runner.js.map +1 -0
  490. package/v3/dist/validation/swarm-skill-validator.d.ts +282 -0
  491. package/v3/dist/validation/swarm-skill-validator.d.ts.map +1 -0
  492. package/v3/dist/validation/swarm-skill-validator.js +460 -0
  493. package/v3/dist/validation/swarm-skill-validator.js.map +1 -0
  494. package/v3/dist/validation/validation-result-aggregator.d.ts +232 -0
  495. package/v3/dist/validation/validation-result-aggregator.d.ts.map +1 -0
  496. package/v3/dist/validation/validation-result-aggregator.js +630 -0
  497. package/v3/dist/validation/validation-result-aggregator.js.map +1 -0
  498. package/v3/package.json +1 -1
@@ -0,0 +1,1205 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://agentic-qe.dev/schemas/chaos-engineering-resilience-output.json",
4
+ "title": "AQE Chaos Engineering Resilience Skill Output Schema",
5
+ "description": "Schema for chaos-engineering-resilience skill output validation. Extends the base skill-output template with chaos experiment types, fault injection structures, steady-state hypothesis, blast radius controls, and tool-specific outputs (Chaos Monkey, Litmus, Gremlin).",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "chaos-engineering-resilience",
12
+ "description": "Must be 'chaos-engineering-resilience'"
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", "experiments", "resilienceScore"],
37
+ "properties": {
38
+ "summary": {
39
+ "type": "string",
40
+ "minLength": 50,
41
+ "maxLength": 2000,
42
+ "description": "Human-readable summary of chaos experiment results"
43
+ },
44
+ "resilienceScore": {
45
+ "$ref": "#/$defs/resilienceScore",
46
+ "description": "Overall resilience score"
47
+ },
48
+ "experiments": {
49
+ "type": "array",
50
+ "items": {
51
+ "$ref": "#/$defs/chaosExperiment"
52
+ },
53
+ "minItems": 1,
54
+ "maxItems": 100,
55
+ "description": "List of chaos experiments executed"
56
+ },
57
+ "weaknesses": {
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "#/$defs/weakness"
61
+ },
62
+ "maxItems": 50,
63
+ "description": "Discovered system weaknesses"
64
+ },
65
+ "recommendations": {
66
+ "type": "array",
67
+ "items": {
68
+ "$ref": "#/$defs/recommendation"
69
+ },
70
+ "maxItems": 100,
71
+ "description": "Resilience improvement recommendations"
72
+ },
73
+ "metrics": {
74
+ "$ref": "#/$defs/chaosMetrics",
75
+ "description": "Chaos experiment metrics and statistics"
76
+ },
77
+ "categories": {
78
+ "$ref": "#/$defs/chaosCategoryBreakdown",
79
+ "description": "Breakdown by chaos category"
80
+ },
81
+ "artifacts": {
82
+ "type": "array",
83
+ "items": {
84
+ "$ref": "#/$defs/artifact"
85
+ },
86
+ "maxItems": 50,
87
+ "description": "Generated reports and artifacts"
88
+ },
89
+ "timeline": {
90
+ "type": "array",
91
+ "items": {
92
+ "$ref": "#/$defs/timelineEvent"
93
+ },
94
+ "description": "Experiment execution timeline"
95
+ },
96
+ "experimentConfiguration": {
97
+ "$ref": "#/$defs/experimentConfiguration",
98
+ "description": "Configuration used for the chaos experiments"
99
+ }
100
+ }
101
+ },
102
+ "metadata": {
103
+ "$ref": "#/$defs/metadata"
104
+ },
105
+ "validation": {
106
+ "$ref": "#/$defs/validationResult"
107
+ },
108
+ "learning": {
109
+ "$ref": "#/$defs/learningData"
110
+ }
111
+ },
112
+ "$defs": {
113
+ "resilienceScore": {
114
+ "type": "object",
115
+ "required": ["value", "max"],
116
+ "properties": {
117
+ "value": {
118
+ "type": "number",
119
+ "minimum": 0,
120
+ "maximum": 100,
121
+ "description": "Resilience score (0=critical weaknesses, 100=fully resilient)"
122
+ },
123
+ "max": {
124
+ "type": "number",
125
+ "const": 100,
126
+ "description": "Maximum score is always 100"
127
+ },
128
+ "grade": {
129
+ "type": "string",
130
+ "pattern": "^[A-F][+-]?$",
131
+ "description": "Letter grade: A (90-100), B (80-89), C (70-79), D (60-69), F (<60)"
132
+ },
133
+ "trend": {
134
+ "type": "string",
135
+ "enum": ["improving", "stable", "declining", "unknown"],
136
+ "description": "Trend compared to previous experiments"
137
+ },
138
+ "riskLevel": {
139
+ "type": "string",
140
+ "enum": ["critical", "high", "medium", "low", "minimal"],
141
+ "description": "Overall risk level assessment"
142
+ }
143
+ }
144
+ },
145
+ "chaosExperiment": {
146
+ "type": "object",
147
+ "required": ["id", "name", "type", "result"],
148
+ "properties": {
149
+ "id": {
150
+ "type": "string",
151
+ "pattern": "^CHAOS-\\d{3,6}$",
152
+ "description": "Unique experiment identifier (e.g., CHAOS-001)"
153
+ },
154
+ "name": {
155
+ "type": "string",
156
+ "minLength": 5,
157
+ "maxLength": 200,
158
+ "description": "Experiment name describing the fault injection"
159
+ },
160
+ "description": {
161
+ "type": "string",
162
+ "maxLength": 2000,
163
+ "description": "Detailed description of the experiment"
164
+ },
165
+ "type": {
166
+ "type": "string",
167
+ "enum": ["network", "resource", "state", "application", "infrastructure", "byzantine"],
168
+ "description": "Chaos experiment type: network=latency/partition, resource=CPU/memory/disk, state=data corruption, application=exception/deadlock, infrastructure=pod/node/zone failure, byzantine=consensus/split-brain"
169
+ },
170
+ "subType": {
171
+ "type": "string",
172
+ "enum": [
173
+ "latency",
174
+ "packet-loss",
175
+ "partition",
176
+ "dns-failure",
177
+ "bandwidth-limit",
178
+ "cpu-stress",
179
+ "memory-exhaust",
180
+ "disk-fill",
181
+ "iops-limit",
182
+ "process-kill",
183
+ "pod-terminate",
184
+ "node-drain",
185
+ "zone-failure",
186
+ "service-crash",
187
+ "exception-inject",
188
+ "deadlock",
189
+ "thread-contention",
190
+ "connection-pool-exhaust",
191
+ "malicious-node",
192
+ "message-corruption",
193
+ "split-brain",
194
+ "equivocation",
195
+ "spike-load",
196
+ "ramp-load"
197
+ ],
198
+ "description": "Specific fault injection subtype"
199
+ },
200
+ "target": {
201
+ "$ref": "#/$defs/experimentTarget",
202
+ "description": "Target of the chaos experiment"
203
+ },
204
+ "faultInjection": {
205
+ "$ref": "#/$defs/faultInjection",
206
+ "description": "Fault injection parameters"
207
+ },
208
+ "steadyStateHypothesis": {
209
+ "$ref": "#/$defs/steadyStateHypothesis",
210
+ "description": "Steady-state hypothesis for the experiment"
211
+ },
212
+ "blastRadius": {
213
+ "$ref": "#/$defs/blastRadius",
214
+ "description": "Blast radius controls"
215
+ },
216
+ "rollback": {
217
+ "$ref": "#/$defs/rollbackProcedure",
218
+ "description": "Rollback procedure"
219
+ },
220
+ "result": {
221
+ "type": "string",
222
+ "enum": ["passed", "failed", "partial", "expected-fail"],
223
+ "description": "Experiment result: passed=system resilient, failed=weakness found, partial=degraded but acceptable, expected-fail=known limitation validated"
224
+ },
225
+ "observations": {
226
+ "type": "array",
227
+ "items": {
228
+ "type": "string",
229
+ "maxLength": 500
230
+ },
231
+ "maxItems": 20,
232
+ "description": "Observations during the experiment"
233
+ },
234
+ "recoveryTime": {
235
+ "type": "object",
236
+ "properties": {
237
+ "actual": {
238
+ "type": "integer",
239
+ "minimum": 0,
240
+ "description": "Actual recovery time in milliseconds"
241
+ },
242
+ "sla": {
243
+ "type": "integer",
244
+ "minimum": 0,
245
+ "description": "SLA recovery time in milliseconds"
246
+ },
247
+ "withinSla": {
248
+ "type": "boolean",
249
+ "description": "Whether recovery was within SLA"
250
+ }
251
+ },
252
+ "description": "Recovery time metrics"
253
+ },
254
+ "duration": {
255
+ "type": "integer",
256
+ "minimum": 0,
257
+ "description": "Experiment duration in milliseconds"
258
+ },
259
+ "tool": {
260
+ "type": "string",
261
+ "enum": ["chaos-monkey", "litmus", "gremlin", "chaos-mesh", "pumba", "toxiproxy", "tc", "stress-ng", "kubectl", "custom"],
262
+ "description": "Chaos tool used for the experiment"
263
+ },
264
+ "confidence": {
265
+ "type": "number",
266
+ "minimum": 0,
267
+ "maximum": 1,
268
+ "description": "Confidence in experiment results (0.0-1.0)"
269
+ }
270
+ }
271
+ },
272
+ "experimentTarget": {
273
+ "type": "object",
274
+ "required": ["type", "name"],
275
+ "properties": {
276
+ "type": {
277
+ "type": "string",
278
+ "enum": ["service", "pod", "node", "zone", "cluster", "network", "database", "cache", "queue", "external-api"],
279
+ "description": "Target type"
280
+ },
281
+ "name": {
282
+ "type": "string",
283
+ "maxLength": 200,
284
+ "description": "Target name or identifier"
285
+ },
286
+ "namespace": {
287
+ "type": "string",
288
+ "maxLength": 100,
289
+ "description": "Kubernetes namespace if applicable"
290
+ },
291
+ "labels": {
292
+ "type": "object",
293
+ "additionalProperties": { "type": "string" },
294
+ "description": "Target selection labels"
295
+ },
296
+ "percentage": {
297
+ "type": "number",
298
+ "minimum": 0,
299
+ "maximum": 100,
300
+ "description": "Percentage of targets affected"
301
+ },
302
+ "count": {
303
+ "type": "integer",
304
+ "minimum": 1,
305
+ "description": "Number of target instances"
306
+ }
307
+ }
308
+ },
309
+ "faultInjection": {
310
+ "type": "object",
311
+ "properties": {
312
+ "latency": {
313
+ "type": "object",
314
+ "properties": {
315
+ "delay": {
316
+ "type": "string",
317
+ "pattern": "^\\d+m?s$",
318
+ "description": "Latency delay (e.g., 500ms, 2s)"
319
+ },
320
+ "jitter": {
321
+ "type": "string",
322
+ "pattern": "^\\d+m?s$",
323
+ "description": "Latency jitter"
324
+ },
325
+ "correlation": {
326
+ "type": "number",
327
+ "minimum": 0,
328
+ "maximum": 100,
329
+ "description": "Correlation percentage"
330
+ }
331
+ },
332
+ "description": "Network latency injection"
333
+ },
334
+ "packetLoss": {
335
+ "type": "object",
336
+ "properties": {
337
+ "percentage": {
338
+ "type": "number",
339
+ "minimum": 0,
340
+ "maximum": 100,
341
+ "description": "Packet loss percentage"
342
+ },
343
+ "correlation": {
344
+ "type": "number",
345
+ "minimum": 0,
346
+ "maximum": 100,
347
+ "description": "Correlation percentage"
348
+ }
349
+ },
350
+ "description": "Packet loss injection"
351
+ },
352
+ "partition": {
353
+ "type": "object",
354
+ "properties": {
355
+ "direction": {
356
+ "type": "string",
357
+ "enum": ["both", "to", "from"],
358
+ "description": "Partition direction"
359
+ },
360
+ "targets": {
361
+ "type": "array",
362
+ "items": { "type": "string" },
363
+ "description": "Targets to partition from"
364
+ }
365
+ },
366
+ "description": "Network partition"
367
+ },
368
+ "resource": {
369
+ "type": "object",
370
+ "properties": {
371
+ "cpu": {
372
+ "type": "object",
373
+ "properties": {
374
+ "load": {
375
+ "type": "number",
376
+ "minimum": 0,
377
+ "maximum": 100,
378
+ "description": "CPU load percentage"
379
+ },
380
+ "workers": {
381
+ "type": "integer",
382
+ "minimum": 1,
383
+ "description": "Number of stress workers"
384
+ }
385
+ }
386
+ },
387
+ "memory": {
388
+ "type": "object",
389
+ "properties": {
390
+ "size": {
391
+ "type": "string",
392
+ "pattern": "^\\d+[KMGT]?i?[Bb]?$",
393
+ "description": "Memory to consume (e.g., 500Mi, 2Gi)"
394
+ },
395
+ "percentage": {
396
+ "type": "number",
397
+ "minimum": 0,
398
+ "maximum": 100,
399
+ "description": "Percentage of available memory"
400
+ }
401
+ }
402
+ },
403
+ "disk": {
404
+ "type": "object",
405
+ "properties": {
406
+ "size": {
407
+ "type": "string",
408
+ "pattern": "^\\d+[KMGT]?i?[Bb]?$",
409
+ "description": "Disk space to fill"
410
+ },
411
+ "path": {
412
+ "type": "string",
413
+ "description": "Target path for disk fill"
414
+ },
415
+ "iopsLimit": {
416
+ "type": "integer",
417
+ "minimum": 0,
418
+ "description": "IOPS limit to impose"
419
+ }
420
+ }
421
+ }
422
+ },
423
+ "description": "Resource stress injection"
424
+ },
425
+ "process": {
426
+ "type": "object",
427
+ "properties": {
428
+ "action": {
429
+ "type": "string",
430
+ "enum": ["kill", "pause", "resume"],
431
+ "description": "Process action"
432
+ },
433
+ "signal": {
434
+ "type": "string",
435
+ "enum": ["SIGKILL", "SIGTERM", "SIGSTOP", "SIGCONT"],
436
+ "description": "Signal to send"
437
+ },
438
+ "pattern": {
439
+ "type": "string",
440
+ "description": "Process name pattern"
441
+ }
442
+ },
443
+ "description": "Process manipulation"
444
+ },
445
+ "exception": {
446
+ "type": "object",
447
+ "properties": {
448
+ "type": {
449
+ "type": "string",
450
+ "description": "Exception type to inject"
451
+ },
452
+ "message": {
453
+ "type": "string",
454
+ "description": "Exception message"
455
+ },
456
+ "probability": {
457
+ "type": "number",
458
+ "minimum": 0,
459
+ "maximum": 1,
460
+ "description": "Probability of injection (0.0-1.0)"
461
+ }
462
+ },
463
+ "description": "Application exception injection"
464
+ },
465
+ "byzantine": {
466
+ "type": "object",
467
+ "properties": {
468
+ "attackType": {
469
+ "type": "string",
470
+ "enum": ["malicious-data", "message-corruption", "equivocation", "sybil", "leader-manipulation"],
471
+ "description": "Byzantine attack type"
472
+ },
473
+ "affectedNodes": {
474
+ "type": "integer",
475
+ "minimum": 1,
476
+ "description": "Number of Byzantine nodes"
477
+ },
478
+ "totalNodes": {
479
+ "type": "integer",
480
+ "minimum": 1,
481
+ "description": "Total nodes in cluster"
482
+ },
483
+ "toleranceThreshold": {
484
+ "type": "string",
485
+ "pattern": "^f\\s*<\\s*n/[23]$",
486
+ "description": "Byzantine fault tolerance formula (e.g., f < n/3)"
487
+ }
488
+ },
489
+ "description": "Byzantine fault injection"
490
+ },
491
+ "load": {
492
+ "type": "object",
493
+ "properties": {
494
+ "pattern": {
495
+ "type": "string",
496
+ "enum": ["spike", "ramp", "constant", "wave"],
497
+ "description": "Load pattern type"
498
+ },
499
+ "baseline": {
500
+ "type": "number",
501
+ "minimum": 0,
502
+ "description": "Baseline requests per second"
503
+ },
504
+ "peak": {
505
+ "type": "number",
506
+ "minimum": 0,
507
+ "description": "Peak requests per second"
508
+ },
509
+ "rampDuration": {
510
+ "type": "integer",
511
+ "minimum": 0,
512
+ "description": "Ramp duration in milliseconds"
513
+ }
514
+ },
515
+ "description": "Load pattern injection"
516
+ }
517
+ },
518
+ "description": "Fault injection parameters"
519
+ },
520
+ "steadyStateHypothesis": {
521
+ "type": "object",
522
+ "required": ["metrics"],
523
+ "properties": {
524
+ "description": {
525
+ "type": "string",
526
+ "maxLength": 500,
527
+ "description": "Hypothesis description"
528
+ },
529
+ "metrics": {
530
+ "type": "array",
531
+ "items": {
532
+ "$ref": "#/$defs/steadyStateMetric"
533
+ },
534
+ "minItems": 1,
535
+ "maxItems": 20,
536
+ "description": "Metrics defining steady state"
537
+ },
538
+ "before": {
539
+ "type": "object",
540
+ "properties": {
541
+ "validated": {
542
+ "type": "boolean",
543
+ "description": "Was steady state validated before experiment"
544
+ },
545
+ "timestamp": {
546
+ "type": "string",
547
+ "type": "string",
548
+ "description": "When pre-validation occurred"
549
+ }
550
+ }
551
+ },
552
+ "after": {
553
+ "type": "object",
554
+ "properties": {
555
+ "validated": {
556
+ "type": "boolean",
557
+ "description": "Was steady state validated after experiment"
558
+ },
559
+ "timestamp": {
560
+ "type": "string",
561
+ "type": "string",
562
+ "description": "When post-validation occurred"
563
+ },
564
+ "recoveryDuration": {
565
+ "type": "integer",
566
+ "minimum": 0,
567
+ "description": "Time to return to steady state in ms"
568
+ }
569
+ }
570
+ }
571
+ },
572
+ "description": "Steady-state hypothesis definition"
573
+ },
574
+ "steadyStateMetric": {
575
+ "type": "object",
576
+ "required": ["name", "operator", "threshold"],
577
+ "properties": {
578
+ "name": {
579
+ "type": "string",
580
+ "enum": ["error-rate", "latency-p50", "latency-p95", "latency-p99", "throughput", "availability", "success-rate", "cpu-usage", "memory-usage", "queue-depth", "connection-count"],
581
+ "description": "Metric name"
582
+ },
583
+ "operator": {
584
+ "type": "string",
585
+ "enum": ["<", "<=", ">", ">=", "==", "!="],
586
+ "description": "Comparison operator"
587
+ },
588
+ "threshold": {
589
+ "description": "Threshold value"
590
+ },
591
+ "unit": {
592
+ "type": "string",
593
+ "enum": ["percent", "ms", "s", "rps", "count"],
594
+ "description": "Metric unit"
595
+ },
596
+ "actual": {
597
+ "description": "Actual measured value"
598
+ },
599
+ "passed": {
600
+ "type": "boolean",
601
+ "description": "Whether metric passed the threshold"
602
+ }
603
+ },
604
+ "description": "Individual steady-state metric"
605
+ },
606
+ "blastRadius": {
607
+ "type": "object",
608
+ "properties": {
609
+ "scope": {
610
+ "type": "string",
611
+ "enum": ["single-instance", "single-service", "multi-service", "zone", "region", "cluster"],
612
+ "description": "Blast radius scope"
613
+ },
614
+ "maxImpact": {
615
+ "type": "object",
616
+ "properties": {
617
+ "pods": {
618
+ "type": "integer",
619
+ "minimum": 0,
620
+ "description": "Maximum pods affected"
621
+ },
622
+ "services": {
623
+ "type": "integer",
624
+ "minimum": 0,
625
+ "description": "Maximum services affected"
626
+ },
627
+ "percentage": {
628
+ "type": "number",
629
+ "minimum": 0,
630
+ "maximum": 100,
631
+ "description": "Maximum percentage affected"
632
+ }
633
+ }
634
+ },
635
+ "safeguards": {
636
+ "type": "array",
637
+ "items": {
638
+ "type": "string",
639
+ "maxLength": 200
640
+ },
641
+ "description": "Safety controls in place"
642
+ },
643
+ "emergencyStop": {
644
+ "type": "boolean",
645
+ "description": "Whether emergency stop is enabled"
646
+ }
647
+ },
648
+ "description": "Blast radius controls"
649
+ },
650
+ "rollbackProcedure": {
651
+ "type": "object",
652
+ "properties": {
653
+ "automatic": {
654
+ "type": "boolean",
655
+ "description": "Whether rollback is automatic"
656
+ },
657
+ "trigger": {
658
+ "type": "string",
659
+ "maxLength": 500,
660
+ "description": "Condition that triggers rollback"
661
+ },
662
+ "steps": {
663
+ "type": "array",
664
+ "items": {
665
+ "type": "string",
666
+ "maxLength": 500
667
+ },
668
+ "maxItems": 20,
669
+ "description": "Manual rollback steps"
670
+ },
671
+ "executed": {
672
+ "type": "boolean",
673
+ "description": "Whether rollback was executed"
674
+ },
675
+ "reason": {
676
+ "type": "string",
677
+ "maxLength": 500,
678
+ "description": "Reason for rollback if executed"
679
+ }
680
+ },
681
+ "description": "Rollback procedure"
682
+ },
683
+ "weakness": {
684
+ "type": "object",
685
+ "required": ["id", "title", "severity", "category"],
686
+ "properties": {
687
+ "id": {
688
+ "type": "string",
689
+ "pattern": "^WEAK-\\d{3,6}$",
690
+ "description": "Unique weakness identifier"
691
+ },
692
+ "title": {
693
+ "type": "string",
694
+ "minLength": 10,
695
+ "maxLength": 200,
696
+ "description": "Weakness title"
697
+ },
698
+ "description": {
699
+ "type": "string",
700
+ "maxLength": 2000,
701
+ "description": "Detailed description"
702
+ },
703
+ "severity": {
704
+ "type": "string",
705
+ "enum": ["critical", "high", "medium", "low"],
706
+ "description": "Weakness severity"
707
+ },
708
+ "category": {
709
+ "type": "string",
710
+ "enum": ["availability", "latency", "data-integrity", "security", "scalability", "recovery", "observability"],
711
+ "description": "Weakness category"
712
+ },
713
+ "discoveredBy": {
714
+ "type": "array",
715
+ "items": {
716
+ "type": "string",
717
+ "pattern": "^CHAOS-\\d{3,6}$"
718
+ },
719
+ "description": "Experiments that discovered this weakness"
720
+ },
721
+ "impact": {
722
+ "type": "string",
723
+ "maxLength": 1000,
724
+ "description": "Business impact of this weakness"
725
+ },
726
+ "remediation": {
727
+ "type": "string",
728
+ "maxLength": 2000,
729
+ "description": "Suggested remediation"
730
+ },
731
+ "runbook": {
732
+ "type": "string",
733
+ "maxLength": 5000,
734
+ "description": "Generated runbook for handling this weakness"
735
+ }
736
+ },
737
+ "description": "Discovered weakness"
738
+ },
739
+ "recommendation": {
740
+ "type": "object",
741
+ "required": ["id", "title", "priority"],
742
+ "properties": {
743
+ "id": {
744
+ "type": "string",
745
+ "pattern": "^REC-\\d{3,6}$",
746
+ "description": "Unique recommendation identifier"
747
+ },
748
+ "title": {
749
+ "type": "string",
750
+ "minLength": 10,
751
+ "maxLength": 200,
752
+ "description": "Recommendation title"
753
+ },
754
+ "description": {
755
+ "type": "string",
756
+ "maxLength": 2000,
757
+ "description": "Detailed recommendation"
758
+ },
759
+ "priority": {
760
+ "type": "string",
761
+ "enum": ["critical", "high", "medium", "low"],
762
+ "description": "Implementation priority"
763
+ },
764
+ "effort": {
765
+ "type": "string",
766
+ "enum": ["trivial", "low", "medium", "high", "major"],
767
+ "description": "Estimated effort"
768
+ },
769
+ "impact": {
770
+ "type": "integer",
771
+ "minimum": 1,
772
+ "maximum": 10,
773
+ "description": "Expected resilience impact (1-10)"
774
+ },
775
+ "category": {
776
+ "type": "string",
777
+ "enum": ["circuit-breaker", "retry-policy", "timeout-config", "resource-limit", "auto-scaling", "redundancy", "monitoring", "recovery-automation"],
778
+ "description": "Recommendation category"
779
+ },
780
+ "relatedWeaknesses": {
781
+ "type": "array",
782
+ "items": {
783
+ "type": "string",
784
+ "pattern": "^WEAK-\\d{3,6}$"
785
+ },
786
+ "description": "IDs of related weaknesses"
787
+ },
788
+ "codeExample": {
789
+ "type": "string",
790
+ "maxLength": 5000,
791
+ "description": "Code example for implementation"
792
+ },
793
+ "resources": {
794
+ "type": "array",
795
+ "items": {
796
+ "type": "object",
797
+ "required": ["title", "url"],
798
+ "properties": {
799
+ "title": { "type": "string" },
800
+ "url": { "type": "string" }
801
+ }
802
+ },
803
+ "maxItems": 10,
804
+ "description": "External resources"
805
+ }
806
+ },
807
+ "description": "Resilience recommendation"
808
+ },
809
+ "chaosCategoryBreakdown": {
810
+ "type": "object",
811
+ "description": "Chaos experiment category breakdown",
812
+ "properties": {
813
+ "network": {
814
+ "$ref": "#/$defs/chaosCategoryScore",
815
+ "description": "Network chaos (latency, partition, packet loss)"
816
+ },
817
+ "resource": {
818
+ "$ref": "#/$defs/chaosCategoryScore",
819
+ "description": "Resource chaos (CPU, memory, disk)"
820
+ },
821
+ "state": {
822
+ "$ref": "#/$defs/chaosCategoryScore",
823
+ "description": "State chaos (data corruption, inconsistency)"
824
+ },
825
+ "application": {
826
+ "$ref": "#/$defs/chaosCategoryScore",
827
+ "description": "Application chaos (exceptions, deadlocks)"
828
+ },
829
+ "infrastructure": {
830
+ "$ref": "#/$defs/chaosCategoryScore",
831
+ "description": "Infrastructure chaos (pod/node/zone failure)"
832
+ },
833
+ "byzantine": {
834
+ "$ref": "#/$defs/chaosCategoryScore",
835
+ "description": "Byzantine faults (consensus, split-brain)"
836
+ }
837
+ },
838
+ "additionalProperties": false
839
+ },
840
+ "chaosCategoryScore": {
841
+ "type": "object",
842
+ "required": ["tested", "score"],
843
+ "properties": {
844
+ "tested": {
845
+ "type": "boolean",
846
+ "description": "Whether this category was tested"
847
+ },
848
+ "score": {
849
+ "type": "number",
850
+ "minimum": 0,
851
+ "maximum": 100,
852
+ "description": "Category resilience score (100 = fully resilient)"
853
+ },
854
+ "grade": {
855
+ "type": "string",
856
+ "pattern": "^[A-F][+-]?$",
857
+ "description": "Letter grade"
858
+ },
859
+ "experimentCount": {
860
+ "type": "integer",
861
+ "minimum": 0,
862
+ "description": "Number of experiments in this category"
863
+ },
864
+ "passedCount": {
865
+ "type": "integer",
866
+ "minimum": 0,
867
+ "description": "Number of passed experiments"
868
+ },
869
+ "failedCount": {
870
+ "type": "integer",
871
+ "minimum": 0,
872
+ "description": "Number of failed experiments"
873
+ },
874
+ "weaknessCount": {
875
+ "type": "integer",
876
+ "minimum": 0,
877
+ "description": "Weaknesses found in this category"
878
+ },
879
+ "status": {
880
+ "type": "string",
881
+ "enum": ["pass", "fail", "warn", "skip"],
882
+ "description": "Category status"
883
+ }
884
+ }
885
+ },
886
+ "chaosMetrics": {
887
+ "type": "object",
888
+ "properties": {
889
+ "totalExperiments": {
890
+ "type": "integer",
891
+ "minimum": 0,
892
+ "description": "Total chaos experiments executed"
893
+ },
894
+ "passedExperiments": {
895
+ "type": "integer",
896
+ "minimum": 0,
897
+ "description": "Experiments that passed"
898
+ },
899
+ "failedExperiments": {
900
+ "type": "integer",
901
+ "minimum": 0,
902
+ "description": "Experiments that failed (weaknesses found)"
903
+ },
904
+ "skippedExperiments": {
905
+ "type": "integer",
906
+ "minimum": 0,
907
+ "description": "Experiments skipped"
908
+ },
909
+ "weaknessesFound": {
910
+ "type": "integer",
911
+ "minimum": 0,
912
+ "description": "Total weaknesses discovered"
913
+ },
914
+ "criticalWeaknesses": {
915
+ "type": "integer",
916
+ "minimum": 0,
917
+ "description": "Critical severity weaknesses"
918
+ },
919
+ "servicesAffected": {
920
+ "type": "integer",
921
+ "minimum": 0,
922
+ "description": "Number of services affected"
923
+ },
924
+ "averageRecoveryTime": {
925
+ "type": "integer",
926
+ "minimum": 0,
927
+ "description": "Average recovery time in ms"
928
+ },
929
+ "maxRecoveryTime": {
930
+ "type": "integer",
931
+ "minimum": 0,
932
+ "description": "Maximum recovery time in ms"
933
+ },
934
+ "rollbacksTriggered": {
935
+ "type": "integer",
936
+ "minimum": 0,
937
+ "description": "Number of rollbacks triggered"
938
+ },
939
+ "safetyViolations": {
940
+ "type": "integer",
941
+ "minimum": 0,
942
+ "description": "Safety limit violations"
943
+ },
944
+ "totalDurationMs": {
945
+ "type": "integer",
946
+ "minimum": 0,
947
+ "description": "Total experiment duration"
948
+ },
949
+ "coverage": {
950
+ "type": "object",
951
+ "properties": {
952
+ "network": { "type": "boolean" },
953
+ "resource": { "type": "boolean" },
954
+ "state": { "type": "boolean" },
955
+ "application": { "type": "boolean" },
956
+ "infrastructure": { "type": "boolean" },
957
+ "byzantine": { "type": "boolean" }
958
+ },
959
+ "description": "Chaos category coverage"
960
+ }
961
+ }
962
+ },
963
+ "experimentConfiguration": {
964
+ "type": "object",
965
+ "properties": {
966
+ "target": {
967
+ "type": "string",
968
+ "description": "Primary target system or service"
969
+ },
970
+ "environment": {
971
+ "type": "string",
972
+ "enum": ["development", "staging", "production", "ci"],
973
+ "description": "Target environment"
974
+ },
975
+ "chaosTypes": {
976
+ "type": "array",
977
+ "items": {
978
+ "type": "string",
979
+ "enum": ["network", "resource", "state", "application", "infrastructure", "byzantine"]
980
+ },
981
+ "description": "Types of chaos tested"
982
+ },
983
+ "tools": {
984
+ "type": "array",
985
+ "items": {
986
+ "type": "string",
987
+ "enum": ["chaos-monkey", "litmus", "gremlin", "chaos-mesh", "pumba", "toxiproxy", "tc", "stress-ng", "kubectl", "custom"]
988
+ },
989
+ "description": "Chaos tools used"
990
+ },
991
+ "blastRadiusLimit": {
992
+ "type": "string",
993
+ "enum": ["single-instance", "single-service", "multi-service", "zone", "region", "cluster"],
994
+ "description": "Maximum blast radius allowed"
995
+ },
996
+ "duration": {
997
+ "type": "integer",
998
+ "minimum": 0,
999
+ "description": "Total experiment window in minutes"
1000
+ },
1001
+ "progressionStrategy": {
1002
+ "type": "string",
1003
+ "enum": ["gradual", "immediate", "adaptive"],
1004
+ "description": "How experiments progress in intensity"
1005
+ }
1006
+ }
1007
+ },
1008
+ "artifact": {
1009
+ "type": "object",
1010
+ "required": ["type", "path"],
1011
+ "properties": {
1012
+ "type": {
1013
+ "type": "string",
1014
+ "enum": ["report", "runbook", "data", "log", "config", "diagram"],
1015
+ "description": "Artifact type"
1016
+ },
1017
+ "path": {
1018
+ "type": "string",
1019
+ "maxLength": 500,
1020
+ "description": "Path to artifact"
1021
+ },
1022
+ "format": {
1023
+ "type": "string",
1024
+ "enum": ["json", "yaml", "html", "md", "txt", "png", "svg"],
1025
+ "description": "Artifact format"
1026
+ },
1027
+ "description": {
1028
+ "type": "string",
1029
+ "maxLength": 500,
1030
+ "description": "Artifact description"
1031
+ },
1032
+ "sizeBytes": {
1033
+ "type": "integer",
1034
+ "minimum": 0,
1035
+ "description": "File size"
1036
+ }
1037
+ }
1038
+ },
1039
+ "timelineEvent": {
1040
+ "type": "object",
1041
+ "required": ["timestamp", "event"],
1042
+ "properties": {
1043
+ "timestamp": {
1044
+ "type": "string",
1045
+ "type": "string",
1046
+ "description": "Event timestamp"
1047
+ },
1048
+ "event": {
1049
+ "type": "string",
1050
+ "maxLength": 200,
1051
+ "description": "Event description"
1052
+ },
1053
+ "type": {
1054
+ "type": "string",
1055
+ "enum": ["start", "checkpoint", "inject", "observe", "recover", "rollback", "complete", "warning", "error"],
1056
+ "description": "Event type"
1057
+ },
1058
+ "experimentId": {
1059
+ "type": "string",
1060
+ "pattern": "^CHAOS-\\d{3,6}$",
1061
+ "description": "Related experiment ID"
1062
+ },
1063
+ "durationMs": {
1064
+ "type": "integer",
1065
+ "minimum": 0,
1066
+ "description": "Duration since previous event"
1067
+ }
1068
+ }
1069
+ },
1070
+ "metadata": {
1071
+ "type": "object",
1072
+ "properties": {
1073
+ "executionTimeMs": {
1074
+ "type": "integer",
1075
+ "minimum": 0,
1076
+ "maximum": 3600000,
1077
+ "description": "Total execution time"
1078
+ },
1079
+ "toolsUsed": {
1080
+ "type": "array",
1081
+ "items": {
1082
+ "type": "string",
1083
+ "enum": ["chaos-monkey", "litmus", "gremlin", "chaos-mesh", "pumba", "toxiproxy", "tc", "stress-ng", "kubectl", "custom"]
1084
+ },
1085
+ "uniqueItems": true,
1086
+ "description": "Chaos tools used"
1087
+ },
1088
+ "agentId": {
1089
+ "type": "string",
1090
+ "pattern": "^qe-[a-z][a-z0-9-]*$",
1091
+ "description": "Agent ID (e.g., qe-chaos-engineer)"
1092
+ },
1093
+ "modelUsed": {
1094
+ "type": "string",
1095
+ "description": "LLM model used"
1096
+ },
1097
+ "inputHash": {
1098
+ "type": "string",
1099
+ "pattern": "^[a-f0-9]{64}$",
1100
+ "description": "SHA-256 hash of input"
1101
+ },
1102
+ "targetPath": {
1103
+ "type": "string",
1104
+ "description": "Target system path"
1105
+ },
1106
+ "environment": {
1107
+ "type": "string",
1108
+ "enum": ["development", "staging", "production", "ci"],
1109
+ "description": "Execution environment"
1110
+ },
1111
+ "retryCount": {
1112
+ "type": "integer",
1113
+ "minimum": 0,
1114
+ "maximum": 10,
1115
+ "description": "Number of retries"
1116
+ }
1117
+ }
1118
+ },
1119
+ "validationResult": {
1120
+ "type": "object",
1121
+ "properties": {
1122
+ "schemaValid": {
1123
+ "type": "boolean",
1124
+ "description": "Passes schema validation"
1125
+ },
1126
+ "contentValid": {
1127
+ "type": "boolean",
1128
+ "description": "Passes content validation"
1129
+ },
1130
+ "confidence": {
1131
+ "type": "number",
1132
+ "minimum": 0,
1133
+ "maximum": 1,
1134
+ "description": "Confidence score"
1135
+ },
1136
+ "warnings": {
1137
+ "type": "array",
1138
+ "items": {
1139
+ "type": "string",
1140
+ "maxLength": 500
1141
+ },
1142
+ "maxItems": 20
1143
+ },
1144
+ "errors": {
1145
+ "type": "array",
1146
+ "items": {
1147
+ "type": "string",
1148
+ "maxLength": 500
1149
+ },
1150
+ "maxItems": 20
1151
+ },
1152
+ "validatorVersion": {
1153
+ "type": "string",
1154
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
1155
+ }
1156
+ }
1157
+ },
1158
+ "learningData": {
1159
+ "type": "object",
1160
+ "properties": {
1161
+ "patternsDetected": {
1162
+ "type": "array",
1163
+ "items": {
1164
+ "type": "string",
1165
+ "maxLength": 200
1166
+ },
1167
+ "maxItems": 20,
1168
+ "description": "Chaos patterns detected"
1169
+ },
1170
+ "reward": {
1171
+ "type": "number",
1172
+ "minimum": 0,
1173
+ "maximum": 1,
1174
+ "description": "Reward signal (0.0-1.0)"
1175
+ },
1176
+ "feedbackLoop": {
1177
+ "type": "object",
1178
+ "properties": {
1179
+ "previousRunId": {
1180
+ "type": "string",
1181
+ "type": "string"
1182
+ },
1183
+ "improvement": {
1184
+ "type": "number",
1185
+ "minimum": -1,
1186
+ "maximum": 1
1187
+ }
1188
+ }
1189
+ },
1190
+ "newResiliencePatterns": {
1191
+ "type": "array",
1192
+ "items": {
1193
+ "type": "object",
1194
+ "properties": {
1195
+ "pattern": { "type": "string" },
1196
+ "category": { "type": "string" },
1197
+ "confidence": { "type": "number" }
1198
+ }
1199
+ },
1200
+ "description": "New resilience patterns learned"
1201
+ }
1202
+ }
1203
+ }
1204
+ }
1205
+ }