agentic-qe 3.6.1 → 3.6.3

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 (517) hide show
  1. package/.claude/agents/v3/qe-accessibility-auditor.md +14 -9
  2. package/.claude/agents/v3/qe-bdd-generator.md +14 -9
  3. package/.claude/agents/v3/qe-chaos-engineer.md +15 -10
  4. package/.claude/agents/v3/qe-code-complexity.md +14 -9
  5. package/.claude/agents/v3/qe-code-intelligence.md +14 -9
  6. package/.claude/agents/v3/qe-contract-validator.md +14 -9
  7. package/.claude/agents/v3/qe-coverage-specialist.md +14 -9
  8. package/.claude/agents/v3/qe-defect-predictor.md +14 -9
  9. package/.claude/agents/v3/qe-dependency-mapper.md +14 -9
  10. package/.claude/agents/v3/qe-deployment-advisor.md +14 -9
  11. package/.claude/agents/v3/qe-flaky-hunter.md +14 -9
  12. package/.claude/agents/v3/qe-fleet-commander.md +14 -9
  13. package/.claude/agents/v3/qe-gap-detector.md +14 -9
  14. package/.claude/agents/v3/qe-graphql-tester.md +14 -9
  15. package/.claude/agents/v3/qe-impact-analyzer.md +14 -9
  16. package/.claude/agents/v3/qe-kg-builder.md +14 -9
  17. package/.claude/agents/v3/qe-load-tester.md +14 -9
  18. package/.claude/agents/v3/qe-message-broker-tester.md +15 -10
  19. package/.claude/agents/v3/qe-metrics-optimizer.md +14 -9
  20. package/.claude/agents/v3/qe-middleware-validator.md +15 -10
  21. package/.claude/agents/v3/qe-mutation-tester.md +14 -9
  22. package/.claude/agents/v3/qe-odata-contract-tester.md +17 -12
  23. package/.claude/agents/v3/qe-performance-tester.md +14 -9
  24. package/.claude/agents/v3/qe-product-factors-assessor.md +19 -0
  25. package/.claude/agents/v3/qe-property-tester.md +14 -9
  26. package/.claude/agents/v3/qe-quality-criteria-recommender.md +2 -2
  27. package/.claude/agents/v3/qe-qx-partner.md +101 -14
  28. package/.claude/agents/v3/qe-regression-analyzer.md +14 -9
  29. package/.claude/agents/v3/qe-requirements-validator.md +14 -9
  30. package/.claude/agents/v3/qe-responsive-tester.md +14 -9
  31. package/.claude/agents/v3/qe-retry-handler.md +14 -9
  32. package/.claude/agents/v3/qe-risk-assessor.md +14 -9
  33. package/.claude/agents/v3/qe-root-cause-analyzer.md +14 -9
  34. package/.claude/agents/v3/qe-sap-idoc-tester.md +16 -11
  35. package/.claude/agents/v3/qe-sap-rfc-tester.md +15 -10
  36. package/.claude/agents/v3/qe-security-auditor.md +18 -9
  37. package/.claude/agents/v3/qe-security-scanner.md +15 -10
  38. package/.claude/agents/v3/qe-soap-tester.md +15 -10
  39. package/.claude/agents/v3/qe-sod-analyzer.md +17 -12
  40. package/.claude/agents/v3/qe-test-architect.md +14 -9
  41. package/.claude/agents/v3/qe-transfer-specialist.md +14 -9
  42. package/.claude/agents/v3/subagents/qe-code-reviewer.md +14 -9
  43. package/.claude/agents/v3/subagents/qe-integration-reviewer.md +14 -9
  44. package/.claude/agents/v3/subagents/qe-performance-reviewer.md +14 -9
  45. package/.claude/agents/v3/subagents/qe-security-reviewer.md +14 -9
  46. package/.claude/agents/v3/subagents/qe-tdd-green.md +14 -9
  47. package/.claude/agents/v3/subagents/qe-tdd-red.md +14 -9
  48. package/.claude/agents/v3/subagents/qe-tdd-refactor.md +14 -9
  49. package/.claude/agents/v3/templates/qx-report-template.html +26 -22
  50. package/.claude/skills/.validation/README.md +2 -2
  51. package/.claude/skills/.validation/skill-validation-mcp-integration.md +1 -1
  52. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  53. package/.claude/skills/TRUST-TIERS.md +55 -55
  54. package/.claude/skills/a11y-ally/SKILL.md +1 -1
  55. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  56. package/.claude/skills/a11y-ally/scripts/validate-config.json +42 -0
  57. package/.claude/skills/accessibility-testing/SKILL.md +1 -1
  58. package/.claude/skills/accessibility-testing/scripts/validate-config.json +56 -0
  59. package/.claude/skills/api-testing-patterns/SKILL.md +1 -1
  60. package/.claude/skills/api-testing-patterns/scripts/validate-config.json +61 -0
  61. package/.claude/skills/brutal-honesty-review/SKILL.md +1 -1
  62. package/.claude/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  63. package/.claude/skills/bug-reporting-excellence/SKILL.md +1 -1
  64. package/.claude/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
  65. package/.claude/skills/chaos-engineering-resilience/SKILL.md +1 -1
  66. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  67. package/.claude/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
  68. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +1 -1
  69. package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  70. package/.claude/skills/code-review-quality/SKILL.md +1 -1
  71. package/.claude/skills/code-review-quality/scripts/validate-config.json +34 -0
  72. package/.claude/skills/compatibility-testing/SKILL.md +1 -1
  73. package/.claude/skills/compatibility-testing/scripts/validate-config.json +44 -0
  74. package/.claude/skills/compliance-testing/SKILL.md +1 -1
  75. package/.claude/skills/compliance-testing/scripts/validate-config.json +39 -0
  76. package/.claude/skills/contract-testing/SKILL.md +1 -1
  77. package/.claude/skills/contract-testing/scripts/validate-config.json +59 -0
  78. package/.claude/skills/database-testing/SKILL.md +1 -1
  79. package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
  80. package/.claude/skills/database-testing/scripts/validate-config.json +48 -0
  81. package/.claude/skills/enterprise-integration-testing/SKILL.md +1 -1
  82. package/.claude/skills/localization-testing/SKILL.md +1 -1
  83. package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
  84. package/.claude/skills/localization-testing/scripts/validate-config.json +42 -0
  85. package/.claude/skills/middleware-testing-patterns/SKILL.md +1 -1
  86. package/.claude/skills/mobile-testing/SKILL.md +1 -1
  87. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  88. package/.claude/skills/mobile-testing/scripts/validate-config.json +43 -0
  89. package/.claude/skills/mutation-testing/SKILL.md +1 -1
  90. package/.claude/skills/mutation-testing/scripts/validate-config.json +44 -0
  91. package/.claude/skills/n8n-expression-testing/SKILL.md +1 -1
  92. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  93. package/.claude/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  94. package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +1 -1
  95. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  96. package/.claude/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  97. package/.claude/skills/n8n-security-testing/SKILL.md +1 -1
  98. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  99. package/.claude/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  100. package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +1 -1
  101. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  102. package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  103. package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +1 -1
  104. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  105. package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  106. package/.claude/skills/observability-testing-patterns/SKILL.md +1 -1
  107. package/.claude/skills/pentest-validation/SKILL.md +1 -1
  108. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  109. package/.claude/skills/pentest-validation/scripts/validate-config.json +12 -0
  110. package/.claude/skills/performance-analysis/SKILL.md +1 -1
  111. package/.claude/skills/performance-analysis/scripts/validate-config.json +36 -0
  112. package/.claude/skills/performance-testing/SKILL.md +1 -1
  113. package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
  114. package/.claude/skills/performance-testing/scripts/validate-config.json +55 -0
  115. package/.claude/skills/qcsd-cicd-swarm/SKILL.md +1 -1
  116. package/.claude/skills/qcsd-development-swarm/SKILL.md +1 -1
  117. package/.claude/skills/qcsd-ideation-swarm/SKILL.md +1 -1
  118. package/.claude/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  119. package/.claude/skills/qcsd-refinement-swarm/SKILL.md +1 -1
  120. package/.claude/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  121. package/.claude/skills/qe-chaos-resilience/SKILL.md +1 -1
  122. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  123. package/.claude/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
  124. package/.claude/skills/qe-code-intelligence/SKILL.md +1 -1
  125. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  126. package/.claude/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
  127. package/.claude/skills/qe-contract-testing/SKILL.md +1 -1
  128. package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
  129. package/.claude/skills/qe-contract-testing/scripts/validate-config.json +42 -0
  130. package/.claude/skills/qe-coverage-analysis/SKILL.md +1 -1
  131. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  132. package/.claude/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
  133. package/.claude/skills/qe-defect-intelligence/SKILL.md +1 -1
  134. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  135. package/.claude/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
  136. package/.claude/skills/qe-iterative-loop/SKILL.md +1 -1
  137. package/.claude/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
  138. package/.claude/skills/qe-learning-optimization/SKILL.md +1 -1
  139. package/.claude/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
  140. package/.claude/skills/qe-quality-assessment/SKILL.md +1 -1
  141. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  142. package/.claude/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
  143. package/.claude/skills/qe-requirements-validation/SKILL.md +1 -1
  144. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  145. package/.claude/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
  146. package/.claude/skills/qe-security-compliance/SKILL.md +1 -1
  147. package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
  148. package/.claude/skills/qe-security-compliance/scripts/validate-config.json +41 -0
  149. package/.claude/skills/qe-test-execution/SKILL.md +1 -1
  150. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  151. package/.claude/skills/qe-test-execution/scripts/validate-config.json +37 -0
  152. package/.claude/skills/qe-test-generation/SKILL.md +1 -1
  153. package/.claude/skills/qe-test-generation/scripts/validate-config.json +25 -0
  154. package/.claude/skills/qe-visual-accessibility/SKILL.md +1 -1
  155. package/.claude/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
  156. package/.claude/skills/quality-metrics/SKILL.md +1 -1
  157. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  158. package/.claude/skills/quality-metrics/scripts/validate-config.json +43 -0
  159. package/.claude/skills/refactoring-patterns/SKILL.md +1 -1
  160. package/.claude/skills/refactoring-patterns/scripts/validate-config.json +35 -0
  161. package/.claude/skills/regression-testing/SKILL.md +1 -1
  162. package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
  163. package/.claude/skills/regression-testing/scripts/validate-config.json +50 -0
  164. package/.claude/skills/risk-based-testing/SKILL.md +1 -1
  165. package/.claude/skills/risk-based-testing/scripts/validate-config.json +25 -0
  166. package/.claude/skills/security-testing/SKILL.md +1 -1
  167. package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
  168. package/.claude/skills/security-testing/scripts/validate-config.json +45 -0
  169. package/.claude/skills/security-visual-testing/SKILL.md +1 -1
  170. package/.claude/skills/security-visual-testing/scripts/validate-config.json +45 -0
  171. package/.claude/skills/sherlock-review/SKILL.md +1 -1
  172. package/.claude/skills/sherlock-review/scripts/validate-config.json +35 -0
  173. package/.claude/skills/shift-left-testing/SKILL.md +1 -1
  174. package/.claude/skills/shift-left-testing/scripts/validate-config.json +25 -0
  175. package/.claude/skills/shift-right-testing/SKILL.md +1 -1
  176. package/.claude/skills/shift-right-testing/scripts/validate-config.json +25 -0
  177. package/.claude/skills/skill-builder/SKILL.md +2 -2
  178. package/.claude/skills/skills-manifest.json +1 -1
  179. package/.claude/skills/tdd-london-chicago/SKILL.md +1 -1
  180. package/.claude/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
  181. package/.claude/skills/test-automation-strategy/SKILL.md +1 -1
  182. package/.claude/skills/test-automation-strategy/scripts/validate-config.json +39 -0
  183. package/.claude/skills/test-data-management/SKILL.md +1 -1
  184. package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
  185. package/.claude/skills/test-data-management/scripts/validate-config.json +41 -0
  186. package/.claude/skills/test-design-techniques/SKILL.md +1 -1
  187. package/.claude/skills/test-design-techniques/scripts/validate-config.json +36 -0
  188. package/.claude/skills/test-reporting-analytics/SKILL.md +1 -1
  189. package/.claude/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
  190. package/.claude/skills/testability-scoring/SKILL.md +1 -1
  191. package/.claude/skills/testability-scoring/scripts/validate-config.json +42 -0
  192. package/.claude/skills/trust-tier-manifest.json +106 -106
  193. package/.claude/skills/verification-quality/scripts/validate-config.json +36 -0
  194. package/.claude/skills/visual-testing-advanced/SKILL.md +1 -1
  195. package/.claude/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
  196. package/.claude/skills/wms-testing-patterns/SKILL.md +1 -1
  197. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  198. package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -0
  199. package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  200. package/README.md +20 -20
  201. package/package.json +6 -6
  202. package/scripts/cloud-db-config.json +1 -1
  203. package/scripts/migrate-validators.cjs +171 -0
  204. package/scripts/postinstall.cjs +57 -0
  205. package/scripts/preinstall.cjs +28 -8
  206. package/scripts/test-schema-validation.js +2 -2
  207. package/scripts/update-skill-manifest.ts +3 -3
  208. package/scripts/validate-skill.cjs +384 -0
  209. package/scripts/validate-tier3.cjs +61 -0
  210. package/scripts/validator-lib.cjs +274 -0
  211. package/v3/CHANGELOG.md +32 -0
  212. package/v3/assets/agents/v3/qe-product-factors-assessor.md +19 -0
  213. package/v3/assets/agents/v3/qe-quality-criteria-recommender.md +2 -2
  214. package/v3/assets/agents/v3/qe-qx-partner.md +27 -0
  215. package/v3/assets/skills/.validation/README.md +1 -1
  216. package/v3/assets/skills/.validation/skill-validation-mcp-integration.md +1 -1
  217. package/v3/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  218. package/v3/assets/skills/accessibility-testing/SKILL.md +1 -1
  219. package/v3/assets/skills/accessibility-testing/scripts/validate-config.json +56 -0
  220. package/v3/assets/skills/api-testing-patterns/SKILL.md +1 -1
  221. package/v3/assets/skills/api-testing-patterns/scripts/validate-config.json +61 -0
  222. package/v3/assets/skills/bug-reporting-excellence/SKILL.md +1 -1
  223. package/v3/assets/skills/bug-reporting-excellence/scripts/validate-config.json +34 -0
  224. package/v3/assets/skills/chaos-engineering-resilience/SKILL.md +1 -1
  225. package/v3/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  226. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate-config.json +47 -0
  227. package/v3/assets/skills/code-review-quality/SKILL.md +1 -1
  228. package/v3/assets/skills/code-review-quality/scripts/validate-config.json +34 -0
  229. package/v3/assets/skills/compatibility-testing/SKILL.md +1 -1
  230. package/v3/assets/skills/compatibility-testing/scripts/validate-config.json +44 -0
  231. package/v3/assets/skills/compliance-testing/SKILL.md +1 -1
  232. package/v3/assets/skills/compliance-testing/scripts/validate-config.json +39 -0
  233. package/v3/assets/skills/contract-testing/SKILL.md +1 -1
  234. package/v3/assets/skills/contract-testing/scripts/validate-config.json +59 -0
  235. package/v3/assets/skills/database-testing/SKILL.md +1 -1
  236. package/v3/assets/skills/database-testing/evals/database-testing.yaml +1 -1
  237. package/v3/assets/skills/database-testing/scripts/validate-config.json +48 -0
  238. package/v3/assets/skills/enterprise-integration-testing/SKILL.md +1 -1
  239. package/v3/assets/skills/localization-testing/SKILL.md +1 -1
  240. package/v3/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
  241. package/v3/assets/skills/localization-testing/scripts/validate-config.json +42 -0
  242. package/v3/assets/skills/middleware-testing-patterns/SKILL.md +1 -1
  243. package/v3/assets/skills/mobile-testing/SKILL.md +1 -1
  244. package/v3/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  245. package/v3/assets/skills/mobile-testing/scripts/validate-config.json +43 -0
  246. package/v3/assets/skills/mutation-testing/SKILL.md +1 -1
  247. package/v3/assets/skills/mutation-testing/scripts/validate-config.json +44 -0
  248. package/v3/assets/skills/observability-testing-patterns/SKILL.md +1 -1
  249. package/v3/assets/skills/pentest-validation/SKILL.md +1 -1
  250. package/v3/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  251. package/v3/assets/skills/performance-testing/SKILL.md +1 -1
  252. package/v3/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
  253. package/v3/assets/skills/performance-testing/scripts/validate-config.json +55 -0
  254. package/v3/assets/skills/qcsd-cicd-swarm/SKILL.md +1 -1
  255. package/v3/assets/skills/qcsd-development-swarm/SKILL.md +1 -1
  256. package/v3/assets/skills/qcsd-ideation-swarm/SKILL.md +1 -1
  257. package/v3/assets/skills/qcsd-refinement-swarm/SKILL.md +1 -1
  258. package/v3/assets/skills/qe-chaos-resilience/SKILL.md +1 -1
  259. package/v3/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  260. package/v3/assets/skills/qe-chaos-resilience/scripts/validate-config.json +43 -0
  261. package/v3/assets/skills/qe-code-intelligence/SKILL.md +1 -1
  262. package/v3/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  263. package/v3/assets/skills/qe-code-intelligence/scripts/validate-config.json +41 -0
  264. package/v3/assets/skills/qe-contract-testing/SKILL.md +1 -1
  265. package/v3/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +1 -1
  266. package/v3/assets/skills/qe-contract-testing/scripts/validate-config.json +42 -0
  267. package/v3/assets/skills/qe-coverage-analysis/SKILL.md +1 -1
  268. package/v3/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  269. package/v3/assets/skills/qe-coverage-analysis/scripts/validate-config.json +42 -0
  270. package/v3/assets/skills/qe-defect-intelligence/SKILL.md +1 -1
  271. package/v3/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  272. package/v3/assets/skills/qe-defect-intelligence/scripts/validate-config.json +40 -0
  273. package/v3/assets/skills/qe-iterative-loop/SKILL.md +1 -1
  274. package/v3/assets/skills/qe-iterative-loop/scripts/validate-config.json +40 -0
  275. package/v3/assets/skills/qe-learning-optimization/SKILL.md +1 -1
  276. package/v3/assets/skills/qe-learning-optimization/scripts/validate-config.json +25 -0
  277. package/v3/assets/skills/qe-quality-assessment/SKILL.md +1 -1
  278. package/v3/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  279. package/v3/assets/skills/qe-quality-assessment/scripts/validate-config.json +47 -0
  280. package/v3/assets/skills/qe-requirements-validation/SKILL.md +1 -1
  281. package/v3/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  282. package/v3/assets/skills/qe-requirements-validation/scripts/validate-config.json +37 -0
  283. package/v3/assets/skills/qe-security-compliance/SKILL.md +1 -1
  284. package/v3/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +1 -1
  285. package/v3/assets/skills/qe-security-compliance/scripts/validate-config.json +41 -0
  286. package/v3/assets/skills/qe-test-execution/SKILL.md +1 -1
  287. package/v3/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  288. package/v3/assets/skills/qe-test-execution/scripts/validate-config.json +37 -0
  289. package/v3/assets/skills/qe-test-generation/SKILL.md +1 -1
  290. package/v3/assets/skills/qe-test-generation/scripts/validate-config.json +25 -0
  291. package/v3/assets/skills/qe-visual-accessibility/SKILL.md +1 -1
  292. package/v3/assets/skills/qe-visual-accessibility/scripts/validate-config.json +25 -0
  293. package/v3/assets/skills/quality-metrics/SKILL.md +1 -1
  294. package/v3/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  295. package/v3/assets/skills/quality-metrics/scripts/validate-config.json +43 -0
  296. package/v3/assets/skills/refactoring-patterns/SKILL.md +1 -1
  297. package/v3/assets/skills/refactoring-patterns/scripts/validate-config.json +35 -0
  298. package/v3/assets/skills/regression-testing/SKILL.md +1 -1
  299. package/v3/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
  300. package/v3/assets/skills/regression-testing/scripts/validate-config.json +50 -0
  301. package/v3/assets/skills/risk-based-testing/SKILL.md +1 -1
  302. package/v3/assets/skills/risk-based-testing/scripts/validate-config.json +25 -0
  303. package/v3/assets/skills/security-testing/SKILL.md +1 -1
  304. package/v3/assets/skills/security-testing/evals/security-testing.yaml +1 -1
  305. package/v3/assets/skills/security-testing/scripts/validate-config.json +45 -0
  306. package/v3/assets/skills/security-visual-testing/SKILL.md +1 -1
  307. package/v3/assets/skills/shift-left-testing/SKILL.md +1 -1
  308. package/v3/assets/skills/shift-left-testing/scripts/validate-config.json +25 -0
  309. package/v3/assets/skills/shift-right-testing/SKILL.md +1 -1
  310. package/v3/assets/skills/shift-right-testing/scripts/validate-config.json +25 -0
  311. package/v3/assets/skills/tdd-london-chicago/SKILL.md +1 -1
  312. package/v3/assets/skills/tdd-london-chicago/scripts/validate-config.json +43 -0
  313. package/v3/assets/skills/test-automation-strategy/SKILL.md +1 -1
  314. package/v3/assets/skills/test-automation-strategy/scripts/validate-config.json +39 -0
  315. package/v3/assets/skills/test-data-management/SKILL.md +1 -1
  316. package/v3/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
  317. package/v3/assets/skills/test-data-management/scripts/validate-config.json +41 -0
  318. package/v3/assets/skills/test-design-techniques/SKILL.md +1 -1
  319. package/v3/assets/skills/test-design-techniques/scripts/validate-config.json +36 -0
  320. package/v3/assets/skills/test-reporting-analytics/SKILL.md +1 -1
  321. package/v3/assets/skills/test-reporting-analytics/scripts/validate-config.json +36 -0
  322. package/v3/assets/skills/verification-quality/SKILL.md +0 -6
  323. package/v3/assets/skills/verification-quality/scripts/validate-config.json +36 -0
  324. package/v3/assets/skills/visual-testing-advanced/SKILL.md +1 -1
  325. package/v3/assets/skills/visual-testing-advanced/scripts/validate-config.json +38 -0
  326. package/v3/assets/skills/wms-testing-patterns/SKILL.md +1 -1
  327. package/v3/dist/adapters/claude-flow/model-router-bridge.js +3 -3
  328. package/v3/dist/adapters/claude-flow/model-router-bridge.js.map +1 -1
  329. package/v3/dist/adapters/claude-flow/pretrain-bridge.js +4 -4
  330. package/v3/dist/adapters/claude-flow/pretrain-bridge.js.map +1 -1
  331. package/v3/dist/adapters/claude-flow/trajectory-bridge.js +4 -4
  332. package/v3/dist/adapters/claude-flow/trajectory-bridge.js.map +1 -1
  333. package/v3/dist/cli/bundle.js +172 -159
  334. package/v3/dist/cli/commands/claude-flow-setup.js +3 -3
  335. package/v3/dist/cli/commands/claude-flow-setup.js.map +1 -1
  336. package/v3/dist/cli/commands/completions.d.ts.map +1 -1
  337. package/v3/dist/cli/commands/completions.js +2 -1
  338. package/v3/dist/cli/commands/completions.js.map +1 -1
  339. package/v3/dist/cli/commands/hooks.js +8 -8
  340. package/v3/dist/cli/commands/hooks.js.map +1 -1
  341. package/v3/dist/cli/completions/index.d.ts.map +1 -1
  342. package/v3/dist/cli/completions/index.js +4 -3
  343. package/v3/dist/cli/completions/index.js.map +1 -1
  344. package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js +5 -5
  345. package/v3/dist/domains/code-intelligence/services/metric-collector/test-counter.js.map +1 -1
  346. package/v3/dist/domains/requirements-validation/services/quality-criteria/quality-criteria-service.js +1 -1
  347. package/v3/dist/domains/requirements-validation/services/quality-criteria/quality-criteria-service.js.map +1 -1
  348. package/v3/dist/init/agents-installer.d.ts +5 -1
  349. package/v3/dist/init/agents-installer.d.ts.map +1 -1
  350. package/v3/dist/init/agents-installer.js +13 -5
  351. package/v3/dist/init/agents-installer.js.map +1 -1
  352. package/v3/dist/init/enhancements/claude-flow-adapter.d.ts.map +1 -1
  353. package/v3/dist/init/enhancements/claude-flow-adapter.js +15 -12
  354. package/v3/dist/init/enhancements/claude-flow-adapter.js.map +1 -1
  355. package/v3/dist/init/enhancements/detector.js +2 -2
  356. package/v3/dist/init/enhancements/detector.js.map +1 -1
  357. package/v3/dist/init/init-wizard.d.ts.map +1 -1
  358. package/v3/dist/init/init-wizard.js +17 -33
  359. package/v3/dist/init/init-wizard.js.map +1 -1
  360. package/v3/dist/init/phases/07-hooks.js +9 -9
  361. package/v3/dist/init/phases/07-hooks.js.map +1 -1
  362. package/v3/dist/init/phases/10-workers.d.ts.map +1 -1
  363. package/v3/dist/init/phases/10-workers.js +74 -85
  364. package/v3/dist/init/phases/10-workers.js.map +1 -1
  365. package/v3/dist/init/phases/12-verification.d.ts.map +1 -1
  366. package/v3/dist/init/phases/12-verification.js +13 -1
  367. package/v3/dist/init/phases/12-verification.js.map +1 -1
  368. package/v3/dist/kernel/hybrid-backend.d.ts.map +1 -1
  369. package/v3/dist/kernel/hybrid-backend.js +4 -1
  370. package/v3/dist/kernel/hybrid-backend.js.map +1 -1
  371. package/v3/dist/kernel/memory-backend.d.ts.map +1 -1
  372. package/v3/dist/kernel/memory-backend.js +3 -0
  373. package/v3/dist/kernel/memory-backend.js.map +1 -1
  374. package/v3/dist/mcp/bundle.js +1340 -19
  375. package/v3/dist/mcp/tools/index.d.ts +2 -1
  376. package/v3/dist/mcp/tools/index.d.ts.map +1 -1
  377. package/v3/dist/mcp/tools/index.js +5 -1
  378. package/v3/dist/mcp/tools/index.js.map +1 -1
  379. package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts +33 -0
  380. package/v3/dist/mcp/tools/qx-analysis/analyze.d.ts.map +1 -0
  381. package/v3/dist/mcp/tools/qx-analysis/analyze.js +679 -0
  382. package/v3/dist/mcp/tools/qx-analysis/analyze.js.map +1 -0
  383. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts +38 -0
  384. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.d.ts.map +1 -0
  385. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js +458 -0
  386. package/v3/dist/mcp/tools/qx-analysis/heuristics-engine.js.map +1 -0
  387. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts +16 -0
  388. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.d.ts.map +1 -0
  389. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js +175 -0
  390. package/v3/dist/mcp/tools/qx-analysis/impact-analyzer.js.map +1 -0
  391. package/v3/dist/mcp/tools/qx-analysis/index.d.ts +27 -0
  392. package/v3/dist/mcp/tools/qx-analysis/index.d.ts.map +1 -0
  393. package/v3/dist/mcp/tools/qx-analysis/index.js +34 -0
  394. package/v3/dist/mcp/tools/qx-analysis/index.js.map +1 -0
  395. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts +22 -0
  396. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.d.ts.map +1 -0
  397. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js +194 -0
  398. package/v3/dist/mcp/tools/qx-analysis/oracle-detector.js.map +1 -0
  399. package/v3/dist/mcp/tools/qx-analysis/types.d.ts +278 -0
  400. package/v3/dist/mcp/tools/qx-analysis/types.d.ts.map +1 -0
  401. package/v3/dist/mcp/tools/qx-analysis/types.js +46 -0
  402. package/v3/dist/mcp/tools/qx-analysis/types.js.map +1 -0
  403. package/v3/dist/mcp/tools/registry.d.ts +1 -0
  404. package/v3/dist/mcp/tools/registry.d.ts.map +1 -1
  405. package/v3/dist/mcp/tools/registry.js +5 -0
  406. package/v3/dist/mcp/tools/registry.js.map +1 -1
  407. package/v3/dist/sync/cloud/tunnel-manager.d.ts.map +1 -1
  408. package/v3/dist/sync/cloud/tunnel-manager.js +11 -0
  409. package/v3/dist/sync/cloud/tunnel-manager.js.map +1 -1
  410. package/v3/package.json +5 -5
  411. package/.claude/skills/.validation/templates/validate.template.sh +0 -1060
  412. package/.claude/skills/.validation/templates/validator-lib.sh +0 -1031
  413. package/.claude/skills/a11y-ally/scripts/validate.sh +0 -690
  414. package/.claude/skills/accessibility-testing/scripts/validate.sh +0 -943
  415. package/.claude/skills/api-testing-patterns/scripts/validate.sh +0 -931
  416. package/.claude/skills/brutal-honesty-review/scripts/validate.sh +0 -130
  417. package/.claude/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
  418. package/.claude/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
  419. package/.claude/skills/cicd-pipeline-qe-orchestrator/scripts/validate.sh +0 -310
  420. package/.claude/skills/code-review-quality/scripts/validate.sh +0 -113
  421. package/.claude/skills/compatibility-testing/scripts/validate.sh +0 -605
  422. package/.claude/skills/compliance-testing/scripts/validate.sh +0 -888
  423. package/.claude/skills/contract-testing/scripts/validate.sh +0 -1033
  424. package/.claude/skills/database-testing/scripts/validate.sh +0 -1099
  425. package/.claude/skills/localization-testing/scripts/validate.sh +0 -131
  426. package/.claude/skills/mobile-testing/scripts/validate.sh +0 -127
  427. package/.claude/skills/mutation-testing/scripts/validate.sh +0 -992
  428. package/.claude/skills/n8n-expression-testing/scripts/validate.sh +0 -162
  429. package/.claude/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
  430. package/.claude/skills/n8n-security-testing/scripts/validate.sh +0 -120
  431. package/.claude/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
  432. package/.claude/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
  433. package/.claude/skills/pentest-validation/scripts/validate.sh +0 -402
  434. package/.claude/skills/performance-analysis/scripts/validate.sh +0 -63
  435. package/.claude/skills/performance-testing/scripts/validate.sh +0 -1090
  436. package/.claude/skills/qcsd-ideation-swarm/scripts/validate.sh +0 -56
  437. package/.claude/skills/qcsd-refinement-swarm/scripts/validate.sh +0 -56
  438. package/.claude/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
  439. package/.claude/skills/qe-code-intelligence/scripts/validate.sh +0 -408
  440. package/.claude/skills/qe-contract-testing/scripts/validate.sh +0 -421
  441. package/.claude/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
  442. package/.claude/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
  443. package/.claude/skills/qe-iterative-loop/scripts/validate.sh +0 -474
  444. package/.claude/skills/qe-learning-optimization/scripts/validate.sh +0 -56
  445. package/.claude/skills/qe-quality-assessment/scripts/validate.sh +0 -352
  446. package/.claude/skills/qe-requirements-validation/scripts/validate.sh +0 -275
  447. package/.claude/skills/qe-security-compliance/scripts/validate.sh +0 -305
  448. package/.claude/skills/qe-test-execution/scripts/validate.sh +0 -323
  449. package/.claude/skills/qe-test-generation/scripts/validate.sh +0 -56
  450. package/.claude/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
  451. package/.claude/skills/quality-metrics/scripts/validate.sh +0 -434
  452. package/.claude/skills/refactoring-patterns/scripts/validate.sh +0 -241
  453. package/.claude/skills/regression-testing/scripts/validate.sh +0 -130
  454. package/.claude/skills/risk-based-testing/scripts/validate.sh +0 -56
  455. package/.claude/skills/security-testing/scripts/validate.sh +0 -967
  456. package/.claude/skills/security-visual-testing/scripts/validate.sh +0 -748
  457. package/.claude/skills/sherlock-review/scripts/validate.sh +0 -115
  458. package/.claude/skills/shift-left-testing/scripts/validate.sh +0 -56
  459. package/.claude/skills/shift-right-testing/scripts/validate.sh +0 -56
  460. package/.claude/skills/tdd-london-chicago/scripts/validate.sh +0 -214
  461. package/.claude/skills/test-automation-strategy/scripts/validate.sh +0 -195
  462. package/.claude/skills/test-data-management/scripts/validate.sh +0 -137
  463. package/.claude/skills/test-design-techniques/scripts/validate.sh +0 -91
  464. package/.claude/skills/test-reporting-analytics/scripts/validate.sh +0 -77
  465. package/.claude/skills/testability-scoring/scripts/validate.sh +0 -891
  466. package/.claude/skills/verification-quality/scripts/validate.sh +0 -77
  467. package/.claude/skills/visual-testing-advanced/scripts/validate.sh +0 -77
  468. package/v3/assets/skills/.validation/templates/validate.template.sh +0 -1060
  469. package/v3/assets/skills/.validation/templates/validator-lib.sh +0 -1031
  470. package/v3/assets/skills/accessibility-testing/scripts/validate.sh +0 -943
  471. package/v3/assets/skills/api-testing-patterns/scripts/validate.sh +0 -931
  472. package/v3/assets/skills/aqe-v2-v3-migration/skill.md +0 -326
  473. package/v3/assets/skills/bug-reporting-excellence/scripts/validate.sh +0 -108
  474. package/v3/assets/skills/chaos-engineering-resilience/scripts/validate.sh +0 -1107
  475. package/v3/assets/skills/code-review-quality/scripts/validate.sh +0 -113
  476. package/v3/assets/skills/compatibility-testing/scripts/validate.sh +0 -605
  477. package/v3/assets/skills/compliance-testing/scripts/validate.sh +0 -888
  478. package/v3/assets/skills/contract-testing/scripts/validate.sh +0 -1033
  479. package/v3/assets/skills/database-testing/scripts/validate.sh +0 -1099
  480. package/v3/assets/skills/localization-testing/scripts/validate.sh +0 -131
  481. package/v3/assets/skills/mobile-testing/scripts/validate.sh +0 -127
  482. package/v3/assets/skills/mutation-testing/scripts/validate.sh +0 -992
  483. package/v3/assets/skills/n8n-expression-testing/scripts/validate.sh +0 -162
  484. package/v3/assets/skills/n8n-integration-testing-patterns/scripts/validate.sh +0 -104
  485. package/v3/assets/skills/n8n-security-testing/scripts/validate.sh +0 -120
  486. package/v3/assets/skills/n8n-trigger-testing-strategies/scripts/validate.sh +0 -121
  487. package/v3/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate.sh +0 -126
  488. package/v3/assets/skills/pentest-validation/scripts/validate.sh +0 -402
  489. package/v3/assets/skills/performance-testing/scripts/validate.sh +0 -1090
  490. package/v3/assets/skills/qe-chaos-resilience/scripts/validate.sh +0 -401
  491. package/v3/assets/skills/qe-code-intelligence/scripts/validate.sh +0 -408
  492. package/v3/assets/skills/qe-contract-testing/scripts/validate.sh +0 -421
  493. package/v3/assets/skills/qe-coverage-analysis/scripts/validate.sh +0 -453
  494. package/v3/assets/skills/qe-defect-intelligence/scripts/validate.sh +0 -466
  495. package/v3/assets/skills/qe-iterative-loop/scripts/validate.sh +0 -474
  496. package/v3/assets/skills/qe-learning-optimization/scripts/validate.sh +0 -56
  497. package/v3/assets/skills/qe-quality-assessment/scripts/validate.sh +0 -352
  498. package/v3/assets/skills/qe-requirements-validation/scripts/validate.sh +0 -275
  499. package/v3/assets/skills/qe-security-compliance/scripts/validate.sh +0 -305
  500. package/v3/assets/skills/qe-test-execution/scripts/validate.sh +0 -323
  501. package/v3/assets/skills/qe-test-generation/scripts/validate.sh +0 -56
  502. package/v3/assets/skills/qe-visual-accessibility/scripts/validate.sh +0 -56
  503. package/v3/assets/skills/quality-metrics/scripts/validate.sh +0 -434
  504. package/v3/assets/skills/refactoring-patterns/scripts/validate.sh +0 -241
  505. package/v3/assets/skills/regression-testing/scripts/validate.sh +0 -130
  506. package/v3/assets/skills/risk-based-testing/scripts/validate.sh +0 -56
  507. package/v3/assets/skills/security-testing/scripts/validate.sh +0 -967
  508. package/v3/assets/skills/security-visual-testing/scripts/validate.sh +0 -748
  509. package/v3/assets/skills/shift-left-testing/scripts/validate.sh +0 -56
  510. package/v3/assets/skills/shift-right-testing/scripts/validate.sh +0 -56
  511. package/v3/assets/skills/tdd-london-chicago/scripts/validate.sh +0 -214
  512. package/v3/assets/skills/test-automation-strategy/scripts/validate.sh +0 -195
  513. package/v3/assets/skills/test-data-management/scripts/validate.sh +0 -137
  514. package/v3/assets/skills/test-design-techniques/scripts/validate.sh +0 -91
  515. package/v3/assets/skills/test-reporting-analytics/scripts/validate.sh +0 -77
  516. package/v3/assets/skills/verification-quality/scripts/validate.sh +0 -77
  517. package/v3/assets/skills/visual-testing-advanced/scripts/validate.sh +0 -77
@@ -1,605 +0,0 @@
1
- #!/bin/bash
2
- # =============================================================================
3
- # AQE Compatibility Testing Skill Validator v1.0.0
4
- # Validates cross-browser, cross-platform compatibility testing output
5
- # =============================================================================
6
- #
7
- # This validator checks compatibility testing skill output for:
8
- # - Valid JSON structure conforming to compatibility-testing schema
9
- # - Browser matrix with coverage metrics
10
- # - Device coverage by tier (Tier 1/2/3)
11
- # - Platform results and visual differences
12
- #
13
- # Usage: ./validate.sh <output-file> [options]
14
- #
15
- # Exit Codes:
16
- # 0 - Validation passed
17
- # 1 - Validation failed
18
- # 2 - Validation skipped (missing required tools)
19
- #
20
- # =============================================================================
21
-
22
- set -euo pipefail
23
-
24
- # Get script directory
25
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
26
- SKILL_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
27
- PROJECT_ROOT="$(cd "$SKILL_DIR/../../.." && pwd)"
28
-
29
- # Source shared library
30
- VALIDATOR_LIB=""
31
- for lib_path in \
32
- "$PROJECT_ROOT/.claude/skills/.validation/templates/validator-lib.sh" \
33
- "$SKILL_DIR/scripts/validator-lib.sh" \
34
- "$SCRIPT_DIR/validator-lib.sh"; do
35
- if [[ -f "$lib_path" ]]; then
36
- VALIDATOR_LIB="$lib_path"
37
- break
38
- fi
39
- done
40
-
41
- if [[ -n "$VALIDATOR_LIB" ]]; then
42
- # shellcheck source=/dev/null
43
- source "$VALIDATOR_LIB"
44
- else
45
- echo "ERROR: Validator library not found"
46
- exit 1
47
- fi
48
-
49
- # =============================================================================
50
- # SKILL-SPECIFIC CONFIGURATION
51
- # =============================================================================
52
-
53
- SKILL_NAME="compatibility-testing"
54
- SKILL_VERSION="1.0.0"
55
-
56
- REQUIRED_TOOLS=("jq")
57
- OPTIONAL_TOOLS=("playwright" "browserstack" "ajv" "jsonschema" "python3")
58
-
59
- SCHEMA_PATH="$SKILL_DIR/schemas/output.json"
60
- SAMPLE_OUTPUT_PATH="$SKILL_DIR/test-data/sample-output.json"
61
-
62
- # =============================================================================
63
- # CONTENT VALIDATION CONFIGURATION
64
- # =============================================================================
65
-
66
- REQUIRED_FIELDS=("skillName" "status" "output" "output.browserMatrix" "output.deviceCoverage" "output.metrics")
67
- REQUIRED_NON_EMPTY_FIELDS=("output.summary" "output.browserMatrix")
68
-
69
- MUST_CONTAIN_TERMS=("browser" "compatibility")
70
- MUST_NOT_CONTAIN_TERMS=("TODO" "placeholder" "FIXME")
71
-
72
- ENUM_VALIDATIONS=(
73
- ".status:success,partial,failed,skipped"
74
- )
75
-
76
- MIN_ARRAY_LENGTHS=(
77
- ".output.browserMatrix.browsers:1"
78
- )
79
-
80
- # =============================================================================
81
- # Argument Parsing
82
- # =============================================================================
83
-
84
- OUTPUT_FILE=""
85
- SELF_TEST=false
86
- VERBOSE=false
87
- JSON_ONLY=false
88
- LIST_TOOLS=false
89
-
90
- while [[ $# -gt 0 ]]; do
91
- case "$1" in
92
- --self-test) SELF_TEST=true; shift ;;
93
- --verbose|-v) VERBOSE=true; export AQE_DEBUG=1; shift ;;
94
- --json) JSON_ONLY=true; shift ;;
95
- --list-tools) LIST_TOOLS=true; shift ;;
96
- -h|--help)
97
- cat << 'HELP_EOF'
98
- AQE Compatibility Testing Validator
99
-
100
- Usage: ./validate.sh <output-file> [options]
101
- ./validate.sh --self-test [--verbose]
102
-
103
- Options:
104
- --self-test Run validator self-test mode
105
- --verbose, -v Enable verbose/debug output
106
- --json Output results as JSON only
107
- --list-tools Show available validation tools
108
- --help, -h Show this help message
109
-
110
- Exit Codes:
111
- 0 - Validation passed
112
- 1 - Validation failed
113
- 2 - Validation skipped (missing required tools)
114
- HELP_EOF
115
- exit 0
116
- ;;
117
- -*) error "Unknown option: $1"; exit 1 ;;
118
- *) OUTPUT_FILE="$1"; shift ;;
119
- esac
120
- done
121
-
122
- # Handle --list-tools mode
123
- if [[ "$LIST_TOOLS" == "true" ]]; then
124
- echo "=============================================="
125
- echo "Compatibility Testing Validation Tools"
126
- echo "=============================================="
127
- echo ""
128
- echo "Required tools:"
129
- for tool in "${REQUIRED_TOOLS[@]}"; do
130
- if command_exists "$tool"; then
131
- echo " [OK] $tool"
132
- else
133
- echo " [MISSING] $tool"
134
- fi
135
- done
136
- echo ""
137
- echo "Optional tools:"
138
- for tool in "${OPTIONAL_TOOLS[@]}"; do
139
- if command_exists "$tool"; then
140
- echo " [OK] $tool"
141
- else
142
- echo " [MISSING] $tool"
143
- fi
144
- done
145
- exit 0
146
- fi
147
-
148
- # =============================================================================
149
- # Self-Test Mode
150
- # =============================================================================
151
-
152
- if [[ "$SELF_TEST" == "true" ]]; then
153
- echo "=============================================="
154
- info "Running $SKILL_NAME Validator Self-Test"
155
- echo "=============================================="
156
- echo ""
157
-
158
- self_test_passed=true
159
- self_test_warnings=0
160
-
161
- # Step 1: Check Required Tools
162
- echo "--- Step 1: Required Tools ---"
163
- for tool in "${REQUIRED_TOOLS[@]}"; do
164
- if command_exists "$tool"; then
165
- success "Required tool available: $tool"
166
- else
167
- error "Required tool MISSING: $tool"
168
- self_test_passed=false
169
- fi
170
- done
171
- echo ""
172
-
173
- # Step 2: Check Schema
174
- echo "--- Step 2: Schema File ---"
175
- if [[ -f "$SCHEMA_PATH" ]]; then
176
- success "Schema file exists: $SCHEMA_PATH"
177
- if validate_json "$SCHEMA_PATH" 2>/dev/null; then
178
- success "Schema file is valid JSON"
179
- else
180
- error "Schema file is NOT valid JSON"
181
- self_test_passed=false
182
- fi
183
- else
184
- error "Schema file not found: $SCHEMA_PATH"
185
- self_test_passed=false
186
- fi
187
- echo ""
188
-
189
- # Step 3: Test compatibility-specific validation
190
- echo "--- Step 3: Compatibility Validation Functions ---"
191
-
192
- test_file=$(mktemp)
193
- cat > "$test_file" << 'EOF'
194
- {
195
- "skillName": "compatibility-testing",
196
- "version": "1.0.0",
197
- "timestamp": "2026-02-02T12:00:00Z",
198
- "status": "partial",
199
- "trustTier": 3,
200
- "output": {
201
- "summary": "Compatibility testing across 12 browser/device combinations. Chrome and Firefox pass on all platforms.",
202
- "browserMatrix": {
203
- "browsers": [
204
- { "browser": "chrome", "version": "120", "status": "passed", "marketShare": 65 },
205
- { "browser": "firefox", "version": "121", "status": "passed", "marketShare": 8 },
206
- { "browser": "safari", "version": "17", "status": "partial", "issueCount": 2, "marketShare": 18 }
207
- ],
208
- "coveragePercent": 91
209
- },
210
- "deviceCoverage": {
211
- "tier1": { "devices": ["iPhone 15", "Galaxy S24"], "passRate": 100, "tested": 2, "passed": 2 },
212
- "tier2": { "devices": ["Pixel 8"], "passRate": 100, "tested": 1, "passed": 1 },
213
- "totalDevicesTested": 3
214
- },
215
- "metrics": {
216
- "totalCombinations": 12,
217
- "passed": 10,
218
- "failed": 2,
219
- "passRate": 83.3,
220
- "browsersCovered": 3,
221
- "devicesCovered": 3
222
- },
223
- "findings": [
224
- {
225
- "id": "COMPAT-001",
226
- "title": "Safari flexbox layout issue",
227
- "severity": "medium",
228
- "category": "layout",
229
- "affectedPlatforms": ["safari-macos", "safari-ios"]
230
- }
231
- ]
232
- }
233
- }
234
- EOF
235
-
236
- if validate_json "$test_file" 2>/dev/null; then
237
- success "Test output is valid JSON"
238
-
239
- # Check browser matrix
240
- browser_count=$(json_count "$test_file" ".output.browserMatrix.browsers" 2>/dev/null)
241
- if [[ "$browser_count" -ge 1 ]]; then
242
- success "Browser matrix detected: $browser_count browsers"
243
- else
244
- error "Browser matrix not found"
245
- self_test_passed=false
246
- fi
247
-
248
- # Check device coverage
249
- tier1_pass=$(json_get "$test_file" ".output.deviceCoverage.tier1.passRate" 2>/dev/null)
250
- if [[ -n "$tier1_pass" ]]; then
251
- success "Device coverage detected: Tier 1 pass rate = $tier1_pass%"
252
- fi
253
- else
254
- error "Test output validation failed"
255
- self_test_passed=false
256
- fi
257
-
258
- rm -f "$test_file"
259
- echo ""
260
-
261
- # Step 4: Library Self-Test
262
- echo "--- Step 4: Validator Library Self-Test ---"
263
- if run_self_test 2>/dev/null; then
264
- success "Library self-test passed"
265
- else
266
- error "Library self-test FAILED"
267
- self_test_passed=false
268
- fi
269
- echo ""
270
-
271
- # Summary
272
- echo "=============================================="
273
- if [[ "$self_test_passed" == "true" ]]; then
274
- success "Self-test PASSED"
275
- exit 0
276
- else
277
- error "Self-test FAILED"
278
- exit 1
279
- fi
280
- fi
281
-
282
- # =============================================================================
283
- # SKILL-SPECIFIC VALIDATION FUNCTIONS
284
- # =============================================================================
285
-
286
- validate_browser_entry() {
287
- local browser="$1"
288
- case "$browser" in
289
- chrome|firefox|safari|edge|opera|mobile-chrome|mobile-safari|samsung-internet)
290
- return 0
291
- ;;
292
- *)
293
- return 1
294
- ;;
295
- esac
296
- }
297
-
298
- validate_skill_specific() {
299
- local output_file="$1"
300
- local has_errors=false
301
-
302
- debug "Running compatibility-specific validations..."
303
-
304
- # Validate browser matrix
305
- echo " Checking browser matrix..."
306
- local browser_count
307
- browser_count=$(json_count "$output_file" ".output.browserMatrix.browsers" 2>/dev/null)
308
-
309
- if [[ -z "$browser_count" ]] || [[ "$browser_count" -lt 1 ]]; then
310
- error "Browser matrix must have at least 1 browser"
311
- has_errors=true
312
- else
313
- success "Browser matrix has $browser_count browsers"
314
- fi
315
-
316
- # Check device coverage tiers
317
- echo " Checking device coverage..."
318
- local tier1_tested
319
- tier1_tested=$(json_get "$output_file" ".output.deviceCoverage.tier1.tested" 2>/dev/null)
320
- if [[ -n "$tier1_tested" ]] && [[ "$tier1_tested" != "null" ]]; then
321
- success "Device coverage includes Tier 1 devices"
322
- else
323
- warn "Device coverage missing Tier 1 data"
324
- fi
325
-
326
- # Validate metrics consistency
327
- echo " Checking metrics consistency..."
328
- local total_combos passed failed
329
- total_combos=$(json_get "$output_file" ".output.metrics.totalCombinations" 2>/dev/null)
330
- passed=$(json_get "$output_file" ".output.metrics.passed" 2>/dev/null)
331
- failed=$(json_get "$output_file" ".output.metrics.failed" 2>/dev/null)
332
-
333
- if [[ -n "$total_combos" ]] && [[ -n "$passed" ]] && [[ -n "$failed" ]]; then
334
- local sum=$((passed + failed))
335
- if [[ "$sum" -le "$total_combos" ]]; then
336
- success "Metrics are consistent: $passed passed + $failed failed <= $total_combos total"
337
- else
338
- warn "Metrics inconsistency: passed + failed > total combinations"
339
- fi
340
- fi
341
-
342
- # Check finding structure if findings exist
343
- local finding_count
344
- finding_count=$(json_count "$output_file" ".output.findings" 2>/dev/null)
345
- if [[ -n "$finding_count" ]] && [[ "$finding_count" -gt 0 ]]; then
346
- local first_finding_id
347
- first_finding_id=$(json_get "$output_file" ".output.findings[0].id" 2>/dev/null)
348
- if [[ -n "$first_finding_id" ]] && [[ "$first_finding_id" =~ ^COMPAT-[0-9]+$ ]]; then
349
- success "Finding ID format valid: $first_finding_id"
350
- else
351
- warn "Finding ID should match pattern COMPAT-XXX"
352
- fi
353
- fi
354
-
355
- if [[ "$has_errors" == "true" ]]; then
356
- return 1
357
- fi
358
-
359
- success "Compatibility-specific validation passed"
360
- return 0
361
- }
362
-
363
- # =============================================================================
364
- # Validation Functions
365
- # =============================================================================
366
-
367
- validate_tools() {
368
- local missing=()
369
- for tool in "${REQUIRED_TOOLS[@]}"; do
370
- if ! command_exists "$tool"; then
371
- missing+=("$tool")
372
- fi
373
- done
374
- if [[ ${#missing[@]} -gt 0 ]]; then
375
- error "Missing required tools: ${missing[*]}"
376
- return 1
377
- fi
378
- return 0
379
- }
380
-
381
- validate_schema() {
382
- local output_file="$1"
383
- if [[ -z "$SCHEMA_PATH" ]] || [[ ! -f "$SCHEMA_PATH" ]]; then
384
- warn "Schema file not found, skipping schema validation"
385
- return 2
386
- fi
387
- local result
388
- result=$(validate_json_schema "$SCHEMA_PATH" "$output_file" 2>&1)
389
- local status=$?
390
- case $status in
391
- 0) success "Schema validation passed"; return 0 ;;
392
- 1) error "Schema validation failed"; return 1 ;;
393
- 2) warn "Schema validation skipped"; return 2 ;;
394
- esac
395
- }
396
-
397
- validate_required_fields() {
398
- local output_file="$1"
399
- local missing=()
400
- for field in "${REQUIRED_FIELDS[@]}"; do
401
- local value
402
- value=$(json_get "$output_file" ".$field" 2>/dev/null)
403
- if [[ -z "$value" ]] || [[ "$value" == "null" ]]; then
404
- missing+=("$field")
405
- fi
406
- done
407
- if [[ ${#missing[@]} -gt 0 ]]; then
408
- error "Missing required fields: ${missing[*]}"
409
- return 1
410
- fi
411
- success "All required fields present"
412
- return 0
413
- }
414
-
415
- validate_enum_fields() {
416
- local output_file="$1"
417
- local has_errors=false
418
- for validation in "${ENUM_VALIDATIONS[@]}"; do
419
- local field_path="${validation%%:*}"
420
- local allowed_values="${validation#*:}"
421
- local actual_value
422
- actual_value=$(json_get "$output_file" "$field_path" 2>/dev/null)
423
- if [[ -z "$actual_value" ]] || [[ "$actual_value" == "null" ]]; then
424
- continue
425
- fi
426
- local found=false
427
- IFS=',' read -ra allowed_array <<< "$allowed_values"
428
- for allowed in "${allowed_array[@]}"; do
429
- if [[ "$actual_value" == "$allowed" ]]; then
430
- found=true
431
- break
432
- fi
433
- done
434
- if [[ "$found" == "false" ]]; then
435
- error "Invalid value for $field_path: '$actual_value'"
436
- has_errors=true
437
- fi
438
- done
439
- if [[ "$has_errors" == "true" ]]; then
440
- return 1
441
- fi
442
- success "All enum fields valid"
443
- return 0
444
- }
445
-
446
- validate_content_terms() {
447
- local output_file="$1"
448
- local content
449
- content=$(cat "$output_file")
450
- local has_errors=false
451
-
452
- if [[ ${#MUST_CONTAIN_TERMS[@]} -gt 0 ]]; then
453
- local missing_terms=()
454
- for term in "${MUST_CONTAIN_TERMS[@]}"; do
455
- if ! grep -qi "$term" <<< "$content"; then
456
- missing_terms+=("$term")
457
- fi
458
- done
459
- if [[ ${#missing_terms[@]} -gt 0 ]]; then
460
- error "Missing required terms: ${missing_terms[*]}"
461
- has_errors=true
462
- else
463
- success "Required terms found"
464
- fi
465
- fi
466
-
467
- if [[ ${#MUST_NOT_CONTAIN_TERMS[@]} -gt 0 ]]; then
468
- local found_forbidden=()
469
- for term in "${MUST_NOT_CONTAIN_TERMS[@]}"; do
470
- if grep -qi "$term" <<< "$content"; then
471
- found_forbidden+=("$term")
472
- fi
473
- done
474
- if [[ ${#found_forbidden[@]} -gt 0 ]]; then
475
- error "Forbidden terms found: ${found_forbidden[*]}"
476
- has_errors=true
477
- fi
478
- fi
479
-
480
- if [[ "$has_errors" == "true" ]]; then
481
- return 1
482
- fi
483
- return 0
484
- }
485
-
486
- # =============================================================================
487
- # Main Validation Flow
488
- # =============================================================================
489
-
490
- main() {
491
- if [[ -z "$OUTPUT_FILE" ]]; then
492
- error "No output file specified"
493
- echo "Usage: $0 <output-file> [options]"
494
- exit 1
495
- fi
496
-
497
- if [[ ! -f "$OUTPUT_FILE" ]]; then
498
- error "Output file not found: $OUTPUT_FILE"
499
- exit 1
500
- fi
501
-
502
- if [[ "$JSON_ONLY" != "true" ]]; then
503
- echo "=============================================="
504
- info "Validating $SKILL_NAME Output"
505
- echo "=============================================="
506
- echo ""
507
- fi
508
-
509
- local tool_status="passed"
510
- local json_status="passed"
511
- local schema_status="passed"
512
- local fields_status="passed"
513
- local enums_status="passed"
514
- local content_status="passed"
515
- local specific_status="passed"
516
- local error_count=0
517
-
518
- # Step 1: Tools
519
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 1: Tool Availability ---"
520
- if ! validate_tools; then
521
- tool_status="failed"
522
- ((error_count++))
523
- exit $EXIT_SKIP
524
- fi
525
- [[ "$JSON_ONLY" != "true" ]] && success "Tool check passed" && echo ""
526
-
527
- # Step 2: JSON Syntax
528
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 2: JSON Syntax ---"
529
- if ! validate_json "$OUTPUT_FILE"; then
530
- json_status="failed"
531
- ((error_count++))
532
- exit $EXIT_FAIL
533
- fi
534
- [[ "$JSON_ONLY" != "true" ]] && success "JSON syntax valid" && echo ""
535
-
536
- # Step 3: Schema
537
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 3: Schema Validation ---"
538
- local schema_exit_code
539
- validate_schema "$OUTPUT_FILE" && schema_exit_code=0 || schema_exit_code=$?
540
- case $schema_exit_code in
541
- 1) schema_status="failed"; ((error_count++)) ;;
542
- 2) schema_status="skipped" ;;
543
- esac
544
- [[ "$JSON_ONLY" != "true" ]] && echo ""
545
-
546
- # Step 4: Required Fields
547
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 4: Required Fields ---"
548
- if ! validate_required_fields "$OUTPUT_FILE"; then
549
- fields_status="failed"
550
- ((error_count++))
551
- fi
552
- [[ "$JSON_ONLY" != "true" ]] && echo ""
553
-
554
- # Step 5: Enum Values
555
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 5: Enum Validation ---"
556
- if ! validate_enum_fields "$OUTPUT_FILE"; then
557
- enums_status="failed"
558
- ((error_count++))
559
- fi
560
- [[ "$JSON_ONLY" != "true" ]] && echo ""
561
-
562
- # Step 6: Content Terms
563
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 6: Content Terms ---"
564
- if ! validate_content_terms "$OUTPUT_FILE"; then
565
- content_status="failed"
566
- ((error_count++))
567
- fi
568
- [[ "$JSON_ONLY" != "true" ]] && echo ""
569
-
570
- # Step 7: Skill-Specific
571
- [[ "$JSON_ONLY" != "true" ]] && echo "--- Step 7: Compatibility Validation ---"
572
- if ! validate_skill_specific "$OUTPUT_FILE"; then
573
- specific_status="failed"
574
- ((error_count++))
575
- fi
576
- [[ "$JSON_ONLY" != "true" ]] && echo ""
577
-
578
- # Determine Overall Status
579
- local overall_status="passed"
580
- if [[ "$json_status" == "failed" ]] || [[ "$schema_status" == "failed" ]] || \
581
- [[ "$fields_status" == "failed" ]] || [[ "$specific_status" == "failed" ]]; then
582
- overall_status="failed"
583
- elif [[ "$schema_status" == "skipped" ]]; then
584
- overall_status="partial"
585
- fi
586
-
587
- # Output Results
588
- if [[ "$JSON_ONLY" == "true" ]]; then
589
- output_validation_report "$SKILL_NAME" "$schema_status" "$specific_status" "$tool_status"
590
- else
591
- echo "=============================================="
592
- echo "Validation Summary for $SKILL_NAME"
593
- echo "=============================================="
594
- echo " Overall: $overall_status"
595
- echo " Errors: $error_count"
596
- echo "=============================================="
597
- fi
598
-
599
- case "$overall_status" in
600
- "passed"|"partial") exit $EXIT_PASS ;;
601
- "failed") exit $EXIT_FAIL ;;
602
- esac
603
- }
604
-
605
- main