agentic-qe 3.7.8 → 3.7.10

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 (569) hide show
  1. package/.claude/skills/.validation/README.md +111 -111
  2. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
  3. package/.claude/skills/.validation/examples/performance-testing-output.example.json +252 -252
  4. package/.claude/skills/.validation/examples/security-testing-output.example.json +413 -413
  5. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +350 -350
  6. package/.claude/skills/.validation/schemas/skill-eval.schema.json +462 -462
  7. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
  8. package/.claude/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
  9. package/.claude/skills/.validation/schemas/skill-output.template.json +610 -610
  10. package/.claude/skills/.validation/skill-validation-mcp-integration.md +250 -250
  11. package/.claude/skills/.validation/templates/eval.template.yaml +366 -366
  12. package/.claude/skills/.validation/templates/schemas/output.json +145 -145
  13. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
  14. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
  15. package/.claude/skills/.validation/test-data/invalid-output.json +5 -5
  16. package/.claude/skills/.validation/test-data/minimal-output.json +9 -9
  17. package/.claude/skills/.validation/test-data/sample-output.json +73 -73
  18. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +376 -376
  19. package/.claude/skills/a11y-ally/schemas/output.json +549 -549
  20. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
  21. package/.claude/skills/accessibility-testing/schemas/output.json +776 -776
  22. package/.claude/skills/accessibility-testing/test-data/sample-output.json +191 -191
  23. package/.claude/skills/agentic-quality-engineering/schemas/output.json +577 -577
  24. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
  25. package/.claude/skills/api-testing-patterns/schemas/output.json +845 -845
  26. package/.claude/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
  27. package/.claude/skills/brutal-honesty-review/schemas/output.json +291 -291
  28. package/.claude/skills/bug-reporting-excellence/schemas/output.json +288 -288
  29. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
  30. package/.claude/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
  31. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -157
  32. package/.claude/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -542
  33. package/.claude/skills/code-review-quality/schemas/output.json +264 -264
  34. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
  35. package/.claude/skills/compatibility-testing/schemas/output.json +551 -551
  36. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
  37. package/.claude/skills/compliance-testing/schemas/output.json +845 -845
  38. package/.claude/skills/consultancy-practices/schemas/output.json +282 -282
  39. package/.claude/skills/contract-testing/evals/contract-testing.yaml +748 -748
  40. package/.claude/skills/contract-testing/schemas/output.json +638 -638
  41. package/.claude/skills/database-testing/evals/database-testing.yaml +968 -968
  42. package/.claude/skills/database-testing/schemas/output.json +1446 -1446
  43. package/.claude/skills/debug-loop/SKILL.md +61 -61
  44. package/.claude/skills/enterprise-integration-testing/SKILL.md +735 -735
  45. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  46. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  47. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  48. package/.claude/skills/iterative-loop/SKILL.md +371 -371
  49. package/.claude/skills/localization-testing/evals/localization-testing.yaml +544 -544
  50. package/.claude/skills/localization-testing/schemas/output.json +325 -325
  51. package/.claude/skills/middleware-testing-patterns/SKILL.md +798 -798
  52. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  53. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  54. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  55. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
  56. package/.claude/skills/mobile-testing/schemas/output.json +318 -318
  57. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
  58. package/.claude/skills/mutation-testing/schemas/output.json +707 -707
  59. package/.claude/skills/mutation-testing/test-data/sample-output.json +295 -295
  60. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -450
  61. package/.claude/skills/n8n-expression-testing/schemas/output.json +369 -369
  62. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -522
  63. package/.claude/skills/n8n-integration-testing-patterns/schemas/output.json +291 -291
  64. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -493
  65. package/.claude/skills/n8n-security-testing/schemas/output.json +293 -293
  66. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -500
  67. package/.claude/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -295
  68. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -497
  69. package/.claude/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -254
  70. package/.claude/skills/observability-testing-patterns/SKILL.md +930 -930
  71. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  72. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  73. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  74. package/.claude/skills/pentest-validation/SKILL.md +268 -268
  75. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
  76. package/.claude/skills/pentest-validation/schemas/output.json +281 -281
  77. package/.claude/skills/performance-analysis/evals/performance-analysis.yaml +144 -144
  78. package/.claude/skills/performance-analysis/schemas/output.json +588 -588
  79. package/.claude/skills/performance-testing/evals/performance-testing.yaml +772 -772
  80. package/.claude/skills/performance-testing/schemas/output.json +1184 -1184
  81. package/.claude/skills/pr-review/SKILL.md +61 -61
  82. package/.claude/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
  83. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  84. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  85. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  86. package/.claude/skills/qcsd-development-swarm/SKILL.md +2154 -2154
  87. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  88. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  89. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  90. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -138
  91. package/.claude/skills/qcsd-ideation-swarm/schemas/output.json +568 -568
  92. package/.claude/skills/qcsd-production-swarm/SKILL.md +2781 -2781
  93. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -246
  94. package/.claude/skills/qcsd-production-swarm/schemas/output.json +505 -505
  95. package/.claude/skills/qcsd-production-swarm/scripts/validate-config.json +25 -25
  96. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
  97. package/.claude/skills/qe-chaos-resilience/schemas/output.json +314 -314
  98. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
  99. package/.claude/skills/qe-code-intelligence/schemas/output.json +315 -315
  100. package/.claude/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
  101. package/.claude/skills/qe-contract-testing/schemas/output.json +295 -295
  102. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
  103. package/.claude/skills/qe-coverage-analysis/schemas/output.json +286 -286
  104. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
  105. package/.claude/skills/qe-defect-intelligence/schemas/output.json +283 -283
  106. package/.claude/skills/qe-iterative-loop/schemas/output.json +264 -264
  107. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
  108. package/.claude/skills/qe-learning-optimization/schemas/output.json +288 -288
  109. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
  110. package/.claude/skills/qe-quality-assessment/schemas/output.json +550 -550
  111. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
  112. package/.claude/skills/qe-requirements-validation/schemas/output.json +587 -587
  113. package/.claude/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
  114. package/.claude/skills/qe-security-compliance/schemas/output.json +498 -498
  115. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
  116. package/.claude/skills/qe-test-execution/schemas/output.json +529 -529
  117. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
  118. package/.claude/skills/qe-test-generation/schemas/output.json +439 -439
  119. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
  120. package/.claude/skills/qe-visual-accessibility/schemas/output.json +491 -491
  121. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
  122. package/.claude/skills/quality-metrics/schemas/output.json +403 -403
  123. package/.claude/skills/refactoring-patterns/schemas/output.json +475 -475
  124. package/.claude/skills/regression-testing/evals/regression-testing.yaml +504 -504
  125. package/.claude/skills/regression-testing/schemas/output.json +311 -311
  126. package/.claude/skills/release/SKILL.md +347 -347
  127. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
  128. package/.claude/skills/risk-based-testing/schemas/output.json +480 -480
  129. package/.claude/skills/security-testing/evals/security-testing.yaml +789 -789
  130. package/.claude/skills/security-testing/schemas/output.json +879 -879
  131. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
  132. package/.claude/skills/security-visual-testing/schemas/output.json +486 -486
  133. package/.claude/skills/sfdipot-product-factors/SKILL.md +239 -239
  134. package/.claude/skills/sherlock-review/schemas/output.json +297 -297
  135. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
  136. package/.claude/skills/shift-left-testing/schemas/output.json +459 -459
  137. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
  138. package/.claude/skills/shift-right-testing/schemas/output.json +418 -418
  139. package/.claude/skills/skills-manifest.json +1 -1
  140. package/.claude/skills/tdd-london-chicago/schemas/output.json +444 -444
  141. package/.claude/skills/technical-writing/schemas/output.json +268 -268
  142. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
  143. package/.claude/skills/test-automation-strategy/schemas/output.json +444 -444
  144. package/.claude/skills/test-data-management/evals/test-data-management.yaml +504 -504
  145. package/.claude/skills/test-data-management/schemas/output.json +284 -284
  146. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
  147. package/.claude/skills/test-design-techniques/schemas/output.json +295 -295
  148. package/.claude/skills/test-environment-management/schemas/output.json +310 -310
  149. package/.claude/skills/test-idea-rewriting/SKILL.md +229 -229
  150. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
  151. package/.claude/skills/test-reporting-analytics/schemas/output.json +329 -329
  152. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +814 -814
  153. package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -84
  154. package/.claude/skills/testability-scoring/schemas/output.json +606 -606
  155. package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
  156. package/.claude/skills/trust-tier-manifest.json +78 -7
  157. package/.claude/skills/verification-quality/evals/verification-quality.yaml +150 -150
  158. package/.claude/skills/verification-quality/schemas/output.json +432 -432
  159. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
  160. package/.claude/skills/visual-testing-advanced/schemas/output.json +294 -294
  161. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -165
  162. package/.claude/skills/wms-testing-patterns/schemas/output.json +150 -150
  163. package/.claude/skills/wms-testing-patterns/scripts/validate-config.json +51 -51
  164. package/CHANGELOG.md +34 -0
  165. package/README.md +169 -900
  166. package/assets/agents/v3/helpers/quality-criteria/evidence-classification.md +116 -116
  167. package/assets/agents/v3/helpers/quality-criteria/htsm-categories.md +139 -139
  168. package/assets/governance/constitution.md +202 -202
  169. package/assets/governance/shards/chaos-resilience.shard.md +221 -221
  170. package/assets/governance/shards/code-intelligence.shard.md +178 -178
  171. package/assets/governance/shards/contract-testing.shard.md +206 -206
  172. package/assets/governance/shards/coverage-analysis.shard.md +146 -146
  173. package/assets/governance/shards/defect-intelligence.shard.md +182 -182
  174. package/assets/governance/shards/learning-optimization.shard.md +248 -248
  175. package/assets/governance/shards/quality-assessment.shard.md +165 -165
  176. package/assets/governance/shards/requirements-validation.shard.md +177 -177
  177. package/assets/governance/shards/security-compliance.shard.md +196 -196
  178. package/assets/governance/shards/test-execution.shard.md +156 -156
  179. package/assets/governance/shards/test-generation.shard.md +128 -128
  180. package/assets/governance/shards/visual-accessibility.shard.md +209 -209
  181. package/assets/hooks/cross-phase-memory.yaml +253 -253
  182. package/assets/patterns/adr-051-booster-patterns.json +78 -78
  183. package/assets/patterns/adr-051-embedding-patterns.json +147 -147
  184. package/assets/patterns/adr-051-integration-summary.json +62 -62
  185. package/assets/patterns/adr-051-reasoning-patterns.json +166 -166
  186. package/assets/patterns/adr-051-router-patterns.json +113 -113
  187. package/assets/patterns/index.json +136 -136
  188. package/assets/skills/.validation/README.md +111 -111
  189. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +530 -530
  190. package/assets/skills/.validation/examples/performance-testing-output.example.json +252 -252
  191. package/assets/skills/.validation/examples/security-testing-output.example.json +413 -413
  192. package/assets/skills/.validation/examples/testability-scoring-output.example.json +350 -350
  193. package/assets/skills/.validation/schemas/skill-eval.schema.json +462 -462
  194. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +341 -341
  195. package/assets/skills/.validation/schemas/skill-output-meta.schema.json +199 -199
  196. package/assets/skills/.validation/schemas/skill-output.template.json +610 -610
  197. package/assets/skills/.validation/skill-validation-mcp-integration.md +250 -250
  198. package/assets/skills/.validation/templates/eval.template.yaml +366 -366
  199. package/assets/skills/.validation/templates/schemas/output.json +145 -145
  200. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +725 -725
  201. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +225 -225
  202. package/assets/skills/.validation/test-data/invalid-output.json +5 -5
  203. package/assets/skills/.validation/test-data/minimal-output.json +9 -9
  204. package/assets/skills/.validation/test-data/sample-output.json +73 -73
  205. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  206. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  207. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  208. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  209. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +719 -719
  210. package/assets/skills/accessibility-testing/schemas/output.json +776 -776
  211. package/assets/skills/accessibility-testing/test-data/sample-output.json +191 -191
  212. package/assets/skills/agentic-quality-engineering/schemas/output.json +577 -577
  213. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +696 -696
  214. package/assets/skills/api-testing-patterns/schemas/output.json +845 -845
  215. package/assets/skills/aqe-v2-v3-migration/schemas/output.json +513 -513
  216. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  217. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  218. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  219. package/assets/skills/bug-reporting-excellence/schemas/output.json +288 -288
  220. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +761 -761
  221. package/assets/skills/chaos-engineering-resilience/schemas/output.json +1205 -1205
  222. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  223. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  224. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  225. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  226. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  227. package/assets/skills/code-review-quality/schemas/output.json +264 -264
  228. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +410 -410
  229. package/assets/skills/compatibility-testing/schemas/output.json +551 -551
  230. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1107 -1107
  231. package/assets/skills/compliance-testing/schemas/output.json +845 -845
  232. package/assets/skills/consultancy-practices/schemas/output.json +282 -282
  233. package/assets/skills/contract-testing/evals/contract-testing.yaml +748 -748
  234. package/assets/skills/contract-testing/schemas/output.json +638 -638
  235. package/assets/skills/database-testing/evals/database-testing.yaml +968 -968
  236. package/assets/skills/database-testing/schemas/output.json +1446 -1446
  237. package/assets/skills/debug-loop/SKILL.md +61 -61
  238. package/assets/skills/enterprise-integration-testing/SKILL.md +735 -735
  239. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  240. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  241. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  242. package/assets/skills/localization-testing/evals/localization-testing.yaml +544 -544
  243. package/assets/skills/localization-testing/schemas/output.json +325 -325
  244. package/assets/skills/middleware-testing-patterns/SKILL.md +798 -798
  245. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  246. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  247. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  248. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +537 -537
  249. package/assets/skills/mobile-testing/schemas/output.json +318 -318
  250. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +652 -652
  251. package/assets/skills/mutation-testing/schemas/output.json +707 -707
  252. package/assets/skills/mutation-testing/test-data/sample-output.json +295 -295
  253. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  254. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  255. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  256. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  257. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  258. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  259. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  260. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  261. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  262. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  263. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  264. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  265. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  266. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  267. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  268. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  269. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  270. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  271. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  272. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  273. package/assets/skills/observability-testing-patterns/SKILL.md +930 -930
  274. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  275. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  276. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  277. package/assets/skills/pentest-validation/SKILL.md +268 -268
  278. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +708 -708
  279. package/assets/skills/pentest-validation/schemas/output.json +281 -281
  280. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  281. package/assets/skills/performance-testing/evals/performance-testing.yaml +772 -772
  282. package/assets/skills/performance-testing/schemas/output.json +1184 -1184
  283. package/assets/skills/pr-review/SKILL.md +61 -61
  284. package/assets/skills/qcsd-cicd-swarm/SKILL.md +2206 -2206
  285. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  286. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  287. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  288. package/assets/skills/qcsd-development-swarm/SKILL.md +2154 -2154
  289. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  290. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  291. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  292. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  293. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  294. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  295. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  296. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  297. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  298. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  299. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  300. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  301. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  302. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +443 -443
  303. package/assets/skills/qe-chaos-resilience/schemas/output.json +314 -314
  304. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +459 -459
  305. package/assets/skills/qe-code-intelligence/schemas/output.json +315 -315
  306. package/assets/skills/qe-contract-testing/evals/qe-contract-testing.yaml +513 -513
  307. package/assets/skills/qe-contract-testing/schemas/output.json +295 -295
  308. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +494 -494
  309. package/assets/skills/qe-coverage-analysis/schemas/output.json +286 -286
  310. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +511 -511
  311. package/assets/skills/qe-defect-intelligence/schemas/output.json +283 -283
  312. package/assets/skills/qe-iterative-loop/schemas/output.json +264 -264
  313. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +144 -144
  314. package/assets/skills/qe-learning-optimization/schemas/output.json +288 -288
  315. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +506 -506
  316. package/assets/skills/qe-quality-assessment/schemas/output.json +550 -550
  317. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +598 -598
  318. package/assets/skills/qe-requirements-validation/schemas/output.json +587 -587
  319. package/assets/skills/qe-security-compliance/evals/qe-security-compliance.yaml +595 -595
  320. package/assets/skills/qe-security-compliance/schemas/output.json +498 -498
  321. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +607 -607
  322. package/assets/skills/qe-test-execution/schemas/output.json +529 -529
  323. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +148 -148
  324. package/assets/skills/qe-test-generation/schemas/output.json +439 -439
  325. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +142 -142
  326. package/assets/skills/qe-visual-accessibility/schemas/output.json +491 -491
  327. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +494 -494
  328. package/assets/skills/quality-metrics/schemas/output.json +403 -403
  329. package/assets/skills/refactoring-patterns/schemas/output.json +475 -475
  330. package/assets/skills/regression-testing/evals/regression-testing.yaml +504 -504
  331. package/assets/skills/regression-testing/schemas/output.json +311 -311
  332. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +141 -141
  333. package/assets/skills/risk-based-testing/schemas/output.json +480 -480
  334. package/assets/skills/security-testing/evals/security-testing.yaml +789 -789
  335. package/assets/skills/security-testing/schemas/output.json +879 -879
  336. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +163 -163
  337. package/assets/skills/security-visual-testing/schemas/output.json +486 -486
  338. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  339. package/assets/skills/sfdipot-product-factors/SKILL.md +239 -239
  340. package/assets/skills/sherlock-review/SKILL.md +5 -0
  341. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  342. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  343. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +145 -145
  344. package/assets/skills/shift-left-testing/schemas/output.json +459 -459
  345. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +147 -147
  346. package/assets/skills/shift-right-testing/schemas/output.json +418 -418
  347. package/assets/skills/tdd-london-chicago/schemas/output.json +444 -444
  348. package/assets/skills/technical-writing/schemas/output.json +268 -268
  349. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +148 -148
  350. package/assets/skills/test-automation-strategy/schemas/output.json +444 -444
  351. package/assets/skills/test-data-management/evals/test-data-management.yaml +504 -504
  352. package/assets/skills/test-data-management/schemas/output.json +284 -284
  353. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +142 -142
  354. package/assets/skills/test-design-techniques/schemas/output.json +295 -295
  355. package/assets/skills/test-environment-management/schemas/output.json +310 -310
  356. package/assets/skills/test-idea-rewriting/SKILL.md +229 -229
  357. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +155 -155
  358. package/assets/skills/test-reporting-analytics/schemas/output.json +329 -329
  359. package/assets/skills/testability-scoring/SKILL.md +5 -0
  360. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  361. package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -84
  362. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  363. package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -1007
  364. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  365. package/assets/skills/trust-tier-manifest.json +2404 -0
  366. package/assets/skills/verification-quality/evals/verification-quality.yaml +150 -150
  367. package/assets/skills/verification-quality/schemas/output.json +432 -432
  368. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +154 -154
  369. package/assets/skills/visual-testing-advanced/schemas/output.json +294 -294
  370. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  371. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  372. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  373. package/assets/templates/validation-summary.json +56 -56
  374. package/dist/benchmarks/performance-benchmarks.js +1 -1
  375. package/dist/cli/bundle.js +9158 -2288
  376. package/dist/cli/commands/hooks.d.ts.map +1 -1
  377. package/dist/cli/commands/hooks.js +92 -0
  378. package/dist/cli/commands/hooks.js.map +1 -1
  379. package/dist/cli/commands/mcp.d.ts.map +1 -1
  380. package/dist/cli/commands/mcp.js +11 -9
  381. package/dist/cli/commands/mcp.js.map +1 -1
  382. package/dist/cli/commands/migrate.js +2 -2
  383. package/dist/coordination/constants.d.ts +1 -1
  384. package/dist/coordination/constants.js +1 -1
  385. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  386. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  387. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  388. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  389. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  390. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  391. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  392. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  393. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  394. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  395. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  396. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  397. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  398. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  399. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  400. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  401. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  402. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  403. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  404. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  405. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  406. package/dist/domains/test-generation/coordinator.js +3 -3
  407. package/dist/domains/test-generation/coordinator.js.map +1 -1
  408. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  409. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  410. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  411. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  412. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  413. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  414. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  415. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  416. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  417. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  418. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  419. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  420. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  421. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  422. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  423. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  424. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  425. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  426. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  427. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  428. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  429. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  430. package/dist/domains/test-generation/generators/index.js +8 -0
  431. package/dist/domains/test-generation/generators/index.js.map +1 -1
  432. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  433. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  434. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  435. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  436. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  437. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  438. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  439. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  440. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  441. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  442. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  443. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  444. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  445. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  446. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  447. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  448. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  449. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  450. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  451. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  452. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  453. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  454. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  455. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  456. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  457. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  458. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  459. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  460. package/dist/domains/test-generation/interfaces.d.ts +11 -2
  461. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  462. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  463. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  464. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  465. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  466. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  467. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  468. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  469. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  470. package/dist/domains/test-generation/services/index.d.ts +2 -1
  471. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  472. package/dist/domains/test-generation/services/index.js +3 -1
  473. package/dist/domains/test-generation/services/index.js.map +1 -1
  474. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  475. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  476. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  477. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  478. package/dist/domains/test-generation/services/test-generator.d.ts +10 -0
  479. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  480. package/dist/domains/test-generation/services/test-generator.js +87 -10
  481. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  482. package/dist/governance/feature-flags.js +2 -2
  483. package/dist/governance/feature-flags.js.map +1 -1
  484. package/dist/governance/shard-embeddings.js +1 -1
  485. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  486. package/dist/init/init-wizard-hooks.js +0 -1
  487. package/dist/init/init-wizard-hooks.js.map +1 -1
  488. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  489. package/dist/init/phases/07-hooks.js +0 -2
  490. package/dist/init/phases/07-hooks.js.map +1 -1
  491. package/dist/init/phases/08-mcp.d.ts +8 -4
  492. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  493. package/dist/init/phases/08-mcp.js +13 -31
  494. package/dist/init/phases/08-mcp.js.map +1 -1
  495. package/dist/init/phases/10-workers.js +4 -4
  496. package/dist/init/phases/10-workers.js.map +1 -1
  497. package/dist/init/settings-merge.d.ts.map +1 -1
  498. package/dist/init/settings-merge.js +0 -2
  499. package/dist/init/settings-merge.js.map +1 -1
  500. package/dist/init/token-bootstrap.js +1 -1
  501. package/dist/init/token-bootstrap.js.map +1 -1
  502. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  503. package/dist/kernel/constants.d.ts +2 -2
  504. package/dist/kernel/constants.js +2 -2
  505. package/dist/kernel/hnsw-adapter.js +1 -1
  506. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  507. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  508. package/dist/learning/dream/concept-graph.d.ts +1 -1
  509. package/dist/learning/dream/concept-graph.js +1 -1
  510. package/dist/learning/dream/dream-engine.d.ts +1 -1
  511. package/dist/learning/dream/dream-engine.js +1 -1
  512. package/dist/learning/dream/index.d.ts +1 -1
  513. package/dist/learning/dream/index.js +1 -1
  514. package/dist/learning/dream/types.d.ts +1 -1
  515. package/dist/learning/dream/types.d.ts.map +1 -1
  516. package/dist/learning/dream/types.js +1 -1
  517. package/dist/learning/dream/types.js.map +1 -1
  518. package/dist/learning/token-tracker.js +1 -1
  519. package/dist/learning/token-tracker.js.map +1 -1
  520. package/dist/mcp/bundle.js +7538 -893
  521. package/dist/routing/qe-agent-registry.js +4 -4
  522. package/dist/routing/qe-agent-registry.js.map +1 -1
  523. package/dist/routing/types.d.ts +5 -8
  524. package/dist/routing/types.d.ts.map +1 -1
  525. package/dist/routing/types.js.map +1 -1
  526. package/dist/shared/embeddings/embedding-cache.js +2 -2
  527. package/dist/shared/embeddings/index.d.ts +2 -2
  528. package/dist/shared/embeddings/index.js +2 -2
  529. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  530. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  531. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  532. package/dist/shared/embeddings/ollama-client.js +2 -2
  533. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  534. package/dist/shared/embeddings/types.d.ts +2 -2
  535. package/dist/shared/embeddings/types.js +2 -2
  536. package/dist/shared/language-detector.d.ts +46 -0
  537. package/dist/shared/language-detector.d.ts.map +1 -0
  538. package/dist/shared/language-detector.js +183 -0
  539. package/dist/shared/language-detector.js.map +1 -0
  540. package/dist/shared/llm/providers/ollama.js +1 -1
  541. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  542. package/dist/shared/metrics/code-metrics.js +24 -1
  543. package/dist/shared/metrics/code-metrics.js.map +1 -1
  544. package/dist/shared/parsers/index.d.ts +2 -0
  545. package/dist/shared/parsers/index.d.ts.map +1 -1
  546. package/dist/shared/parsers/index.js +2 -0
  547. package/dist/shared/parsers/index.js.map +1 -1
  548. package/dist/shared/parsers/interfaces.d.ts +81 -0
  549. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  550. package/dist/shared/parsers/interfaces.js +6 -0
  551. package/dist/shared/parsers/interfaces.js.map +1 -0
  552. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  553. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  554. package/dist/shared/parsers/multi-language-parser.js +1271 -0
  555. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  556. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  557. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  558. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  559. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  560. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  561. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  562. package/dist/shared/parsers/typescript-parser.js +85 -0
  563. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  564. package/dist/shared/types/test-frameworks.d.ts +25 -0
  565. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  566. package/dist/shared/types/test-frameworks.js +111 -0
  567. package/dist/shared/types/test-frameworks.js.map +1 -0
  568. package/package.json +1 -1
  569. package/scripts/prepare-assets.sh +16 -2
@@ -1,551 +1,551 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "https://agentic-qe.dev/schemas/compatibility-testing-output.json",
4
- "title": "AQE Compatibility Testing Skill Output Schema",
5
- "description": "Schema for cross-browser, cross-platform, and cross-device compatibility testing output. Extends base skill output template with browser matrix, device coverage, and visual consistency fields.",
6
- "type": "object",
7
- "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
- "properties": {
9
- "skillName": {
10
- "type": "string",
11
- "const": "compatibility-testing",
12
- "description": "Skill identifier"
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
- "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?$",
22
- "description": "ISO 8601 timestamp of test execution"
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: has schema, validator, and eval suite"
33
- },
34
- "output": {
35
- "type": "object",
36
- "required": ["summary", "browserMatrix", "deviceCoverage", "metrics"],
37
- "properties": {
38
- "summary": {
39
- "type": "string",
40
- "minLength": 10,
41
- "maxLength": 2000,
42
- "description": "Human-readable summary of compatibility test results"
43
- },
44
- "score": {
45
- "$ref": "#/$defs/compatibilityScore",
46
- "description": "Overall compatibility score"
47
- },
48
- "browserMatrix": {
49
- "$ref": "#/$defs/browserMatrix",
50
- "description": "Browser coverage and results matrix"
51
- },
52
- "deviceCoverage": {
53
- "$ref": "#/$defs/deviceCoverage",
54
- "description": "Device coverage breakdown by tier"
55
- },
56
- "platformResults": {
57
- "type": "array",
58
- "items": {
59
- "$ref": "#/$defs/platformResult"
60
- },
61
- "maxItems": 100,
62
- "description": "Results by platform/browser/device combination"
63
- },
64
- "findings": {
65
- "type": "array",
66
- "items": {
67
- "$ref": "#/$defs/compatibilityFinding"
68
- },
69
- "maxItems": 500,
70
- "description": "Compatibility issues discovered"
71
- },
72
- "recommendations": {
73
- "type": "array",
74
- "items": {
75
- "$ref": "#/$defs/recommendation"
76
- },
77
- "maxItems": 100,
78
- "description": "Recommendations for improving compatibility"
79
- },
80
- "metrics": {
81
- "$ref": "#/$defs/compatibilityMetrics",
82
- "description": "Quantitative compatibility metrics"
83
- },
84
- "artifacts": {
85
- "type": "array",
86
- "items": {
87
- "$ref": "#/$defs/artifact"
88
- },
89
- "maxItems": 50,
90
- "description": "Generated artifacts (screenshots, reports)"
91
- },
92
- "responsiveBreakpoints": {
93
- "type": "array",
94
- "items": {
95
- "$ref": "#/$defs/breakpointResult"
96
- },
97
- "description": "Results by responsive breakpoint"
98
- },
99
- "visualDifferences": {
100
- "type": "array",
101
- "items": {
102
- "$ref": "#/$defs/visualDifference"
103
- },
104
- "description": "Cross-platform visual differences detected"
105
- }
106
- }
107
- },
108
- "metadata": {
109
- "type": "object",
110
- "properties": {
111
- "executionTimeMs": {
112
- "type": "integer",
113
- "minimum": 0,
114
- "description": "Execution time in milliseconds"
115
- },
116
- "toolsUsed": {
117
- "type": "array",
118
- "items": {
119
- "type": "string",
120
- "enum": ["playwright", "browserstack", "saucelabs", "lambdatest", "percy", "cypress", "selenium"]
121
- },
122
- "description": "Testing tools used"
123
- },
124
- "agentId": {
125
- "type": "string",
126
- "pattern": "^qe-[a-z][a-z0-9-]*$",
127
- "description": "Agent that executed the test"
128
- },
129
- "targetUrl": {
130
- "type": "string",
131
- "pattern": "^https?://",
132
- "description": "URL tested"
133
- },
134
- "totalCombinations": {
135
- "type": "integer",
136
- "minimum": 1,
137
- "description": "Total browser/device combinations tested"
138
- }
139
- }
140
- },
141
- "validation": {
142
- "type": "object",
143
- "properties": {
144
- "schemaValid": { "type": "boolean" },
145
- "contentValid": { "type": "boolean" },
146
- "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
147
- "warnings": { "type": "array", "items": { "type": "string" } },
148
- "errors": { "type": "array", "items": { "type": "string" } }
149
- }
150
- },
151
- "learning": {
152
- "type": "object",
153
- "properties": {
154
- "patternsDetected": {
155
- "type": "array",
156
- "items": { "type": "string" },
157
- "description": "Compatibility patterns detected"
158
- },
159
- "reward": {
160
- "type": "number",
161
- "minimum": 0,
162
- "maximum": 1,
163
- "description": "Learning reward signal"
164
- }
165
- }
166
- }
167
- },
168
- "$defs": {
169
- "compatibilityScore": {
170
- "type": "object",
171
- "required": ["value", "max"],
172
- "properties": {
173
- "value": {
174
- "type": "number",
175
- "minimum": 0,
176
- "maximum": 100,
177
- "description": "Compatibility score (0-100)"
178
- },
179
- "max": {
180
- "type": "number",
181
- "const": 100
182
- },
183
- "grade": {
184
- "type": "string",
185
- "pattern": "^[A-F][+-]?$",
186
- "description": "Letter grade"
187
- },
188
- "userCoveragePercent": {
189
- "type": "number",
190
- "minimum": 0,
191
- "maximum": 100,
192
- "description": "Percentage of user base covered by passing platforms"
193
- },
194
- "trend": {
195
- "type": "string",
196
- "enum": ["improving", "stable", "declining", "unknown"]
197
- }
198
- }
199
- },
200
- "browserMatrix": {
201
- "type": "object",
202
- "required": ["browsers"],
203
- "properties": {
204
- "browsers": {
205
- "type": "array",
206
- "items": {
207
- "$ref": "#/$defs/browserEntry"
208
- },
209
- "minItems": 1,
210
- "description": "Browser test results"
211
- },
212
- "coveragePercent": {
213
- "type": "number",
214
- "minimum": 0,
215
- "maximum": 100,
216
- "description": "Browser market share covered"
217
- }
218
- }
219
- },
220
- "browserEntry": {
221
- "type": "object",
222
- "required": ["browser", "status"],
223
- "properties": {
224
- "browser": {
225
- "type": "string",
226
- "enum": ["chrome", "firefox", "safari", "edge", "opera", "mobile-chrome", "mobile-safari", "samsung-internet"],
227
- "description": "Browser name"
228
- },
229
- "version": {
230
- "type": "string",
231
- "description": "Browser version (e.g., '118.0', 'latest')"
232
- },
233
- "status": {
234
- "type": "string",
235
- "enum": ["passed", "failed", "partial", "skipped"],
236
- "description": "Test status"
237
- },
238
- "issueCount": {
239
- "type": "integer",
240
- "minimum": 0,
241
- "description": "Number of issues found"
242
- },
243
- "marketShare": {
244
- "type": "number",
245
- "minimum": 0,
246
- "maximum": 100,
247
- "description": "Browser market share percentage"
248
- }
249
- }
250
- },
251
- "deviceCoverage": {
252
- "type": "object",
253
- "properties": {
254
- "tier1": {
255
- "$ref": "#/$defs/tierCoverage",
256
- "description": "Tier 1 devices (60% of users)"
257
- },
258
- "tier2": {
259
- "$ref": "#/$defs/tierCoverage",
260
- "description": "Tier 2 devices (30% of users)"
261
- },
262
- "tier3": {
263
- "$ref": "#/$defs/tierCoverage",
264
- "description": "Tier 3 devices (10% of users)"
265
- },
266
- "totalDevicesTested": {
267
- "type": "integer",
268
- "minimum": 0,
269
- "description": "Total unique devices tested"
270
- }
271
- }
272
- },
273
- "tierCoverage": {
274
- "type": "object",
275
- "properties": {
276
- "devices": {
277
- "type": "array",
278
- "items": { "type": "string" },
279
- "description": "Device names in this tier"
280
- },
281
- "passRate": {
282
- "type": "number",
283
- "minimum": 0,
284
- "maximum": 100,
285
- "description": "Pass rate percentage"
286
- },
287
- "tested": {
288
- "type": "integer",
289
- "minimum": 0
290
- },
291
- "passed": {
292
- "type": "integer",
293
- "minimum": 0
294
- }
295
- }
296
- },
297
- "platformResult": {
298
- "type": "object",
299
- "required": ["platform", "browser", "status"],
300
- "properties": {
301
- "platform": {
302
- "type": "string",
303
- "enum": ["windows", "macos", "linux", "ios", "android"],
304
- "description": "Operating system"
305
- },
306
- "platformVersion": {
307
- "type": "string",
308
- "description": "OS version"
309
- },
310
- "browser": {
311
- "type": "string",
312
- "description": "Browser name"
313
- },
314
- "browserVersion": {
315
- "type": "string",
316
- "description": "Browser version"
317
- },
318
- "device": {
319
- "type": "string",
320
- "description": "Device name (for mobile)"
321
- },
322
- "status": {
323
- "type": "string",
324
- "enum": ["passed", "failed", "partial", "skipped"]
325
- },
326
- "executionTimeMs": {
327
- "type": "integer",
328
- "minimum": 0
329
- },
330
- "screenshotPath": {
331
- "type": "string",
332
- "description": "Path to screenshot"
333
- },
334
- "issues": {
335
- "type": "array",
336
- "items": { "type": "string" },
337
- "description": "Issue IDs found on this platform"
338
- }
339
- }
340
- },
341
- "compatibilityFinding": {
342
- "type": "object",
343
- "required": ["id", "title", "severity", "category"],
344
- "properties": {
345
- "id": {
346
- "type": "string",
347
- "pattern": "^COMPAT-\\d{3,6}$",
348
- "description": "Unique finding identifier"
349
- },
350
- "title": {
351
- "type": "string",
352
- "minLength": 5,
353
- "maxLength": 200
354
- },
355
- "description": {
356
- "type": "string",
357
- "maxLength": 2000
358
- },
359
- "severity": {
360
- "type": "string",
361
- "enum": ["critical", "high", "medium", "low", "info"]
362
- },
363
- "category": {
364
- "type": "string",
365
- "enum": ["layout", "rendering", "functionality", "performance", "visual", "javascript", "css", "responsive"],
366
- "description": "Issue category"
367
- },
368
- "affectedPlatforms": {
369
- "type": "array",
370
- "items": { "type": "string" },
371
- "description": "Platforms where issue occurs"
372
- },
373
- "workingPlatforms": {
374
- "type": "array",
375
- "items": { "type": "string" },
376
- "description": "Platforms where it works correctly"
377
- },
378
- "remediation": {
379
- "type": "string",
380
- "description": "How to fix this issue"
381
- },
382
- "evidence": {
383
- "type": "string",
384
- "description": "Screenshot path or code snippet"
385
- },
386
- "userImpactPercent": {
387
- "type": "number",
388
- "minimum": 0,
389
- "maximum": 100,
390
- "description": "Percentage of users affected"
391
- }
392
- }
393
- },
394
- "recommendation": {
395
- "type": "object",
396
- "required": ["id", "title", "priority"],
397
- "properties": {
398
- "id": {
399
- "type": "string",
400
- "pattern": "^REC-\\d{3,6}$"
401
- },
402
- "title": {
403
- "type": "string",
404
- "minLength": 5,
405
- "maxLength": 200
406
- },
407
- "description": {
408
- "type": "string",
409
- "maxLength": 2000
410
- },
411
- "priority": {
412
- "type": "string",
413
- "enum": ["critical", "high", "medium", "low"]
414
- },
415
- "effort": {
416
- "type": "string",
417
- "enum": ["trivial", "low", "medium", "high", "major"]
418
- },
419
- "relatedFindings": {
420
- "type": "array",
421
- "items": { "type": "string" }
422
- }
423
- }
424
- },
425
- "compatibilityMetrics": {
426
- "type": "object",
427
- "properties": {
428
- "totalCombinations": {
429
- "type": "integer",
430
- "minimum": 0,
431
- "description": "Total platform combinations tested"
432
- },
433
- "passed": {
434
- "type": "integer",
435
- "minimum": 0
436
- },
437
- "failed": {
438
- "type": "integer",
439
- "minimum": 0
440
- },
441
- "skipped": {
442
- "type": "integer",
443
- "minimum": 0
444
- },
445
- "passRate": {
446
- "type": "number",
447
- "minimum": 0,
448
- "maximum": 100,
449
- "description": "Overall pass rate percentage"
450
- },
451
- "userCoverage": {
452
- "type": "number",
453
- "minimum": 0,
454
- "maximum": 100,
455
- "description": "User base coverage percentage"
456
- },
457
- "browsersCovered": {
458
- "type": "integer",
459
- "minimum": 0
460
- },
461
- "devicesCovered": {
462
- "type": "integer",
463
- "minimum": 0
464
- },
465
- "criticalIssues": {
466
- "type": "integer",
467
- "minimum": 0
468
- },
469
- "duration": {
470
- "type": "integer",
471
- "minimum": 0,
472
- "description": "Total test duration in milliseconds"
473
- }
474
- }
475
- },
476
- "breakpointResult": {
477
- "type": "object",
478
- "required": ["breakpoint", "width", "status"],
479
- "properties": {
480
- "breakpoint": {
481
- "type": "string",
482
- "enum": ["mobile", "tablet", "desktop", "large-desktop"],
483
- "description": "Breakpoint category"
484
- },
485
- "width": {
486
- "type": "integer",
487
- "minimum": 1,
488
- "description": "Screen width in pixels"
489
- },
490
- "status": {
491
- "type": "string",
492
- "enum": ["passed", "failed", "partial"]
493
- },
494
- "issues": {
495
- "type": "array",
496
- "items": { "type": "string" }
497
- }
498
- }
499
- },
500
- "visualDifference": {
501
- "type": "object",
502
- "required": ["platform1", "platform2", "diffPercent"],
503
- "properties": {
504
- "platform1": {
505
- "type": "string",
506
- "description": "First platform"
507
- },
508
- "platform2": {
509
- "type": "string",
510
- "description": "Second platform"
511
- },
512
- "diffPercent": {
513
- "type": "number",
514
- "minimum": 0,
515
- "maximum": 100,
516
- "description": "Visual difference percentage"
517
- },
518
- "diffImagePath": {
519
- "type": "string",
520
- "description": "Path to diff image"
521
- },
522
- "significant": {
523
- "type": "boolean",
524
- "description": "Whether difference is significant"
525
- }
526
- }
527
- },
528
- "artifact": {
529
- "type": "object",
530
- "required": ["type", "path"],
531
- "properties": {
532
- "type": {
533
- "type": "string",
534
- "enum": ["report", "screenshot", "diff", "video", "log", "data"]
535
- },
536
- "path": {
537
- "type": "string",
538
- "maxLength": 500
539
- },
540
- "format": {
541
- "type": "string",
542
- "enum": ["json", "html", "md", "png", "jpg", "webm", "mp4", "txt", "csv"]
543
- },
544
- "description": {
545
- "type": "string",
546
- "maxLength": 500
547
- }
548
- }
549
- }
550
- }
551
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://agentic-qe.dev/schemas/compatibility-testing-output.json",
4
+ "title": "AQE Compatibility Testing Skill Output Schema",
5
+ "description": "Schema for cross-browser, cross-platform, and cross-device compatibility testing output. Extends base skill output template with browser matrix, device coverage, and visual consistency fields.",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "compatibility-testing",
12
+ "description": "Skill identifier"
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
+ "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})?$",
22
+ "description": "ISO 8601 timestamp of test execution"
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: has schema, validator, and eval suite"
33
+ },
34
+ "output": {
35
+ "type": "object",
36
+ "required": ["summary", "browserMatrix", "deviceCoverage", "metrics"],
37
+ "properties": {
38
+ "summary": {
39
+ "type": "string",
40
+ "minLength": 10,
41
+ "maxLength": 2000,
42
+ "description": "Human-readable summary of compatibility test results"
43
+ },
44
+ "score": {
45
+ "$ref": "#/$defs/compatibilityScore",
46
+ "description": "Overall compatibility score"
47
+ },
48
+ "browserMatrix": {
49
+ "$ref": "#/$defs/browserMatrix",
50
+ "description": "Browser coverage and results matrix"
51
+ },
52
+ "deviceCoverage": {
53
+ "$ref": "#/$defs/deviceCoverage",
54
+ "description": "Device coverage breakdown by tier"
55
+ },
56
+ "platformResults": {
57
+ "type": "array",
58
+ "items": {
59
+ "$ref": "#/$defs/platformResult"
60
+ },
61
+ "maxItems": 100,
62
+ "description": "Results by platform/browser/device combination"
63
+ },
64
+ "findings": {
65
+ "type": "array",
66
+ "items": {
67
+ "$ref": "#/$defs/compatibilityFinding"
68
+ },
69
+ "maxItems": 500,
70
+ "description": "Compatibility issues discovered"
71
+ },
72
+ "recommendations": {
73
+ "type": "array",
74
+ "items": {
75
+ "$ref": "#/$defs/recommendation"
76
+ },
77
+ "maxItems": 100,
78
+ "description": "Recommendations for improving compatibility"
79
+ },
80
+ "metrics": {
81
+ "$ref": "#/$defs/compatibilityMetrics",
82
+ "description": "Quantitative compatibility metrics"
83
+ },
84
+ "artifacts": {
85
+ "type": "array",
86
+ "items": {
87
+ "$ref": "#/$defs/artifact"
88
+ },
89
+ "maxItems": 50,
90
+ "description": "Generated artifacts (screenshots, reports)"
91
+ },
92
+ "responsiveBreakpoints": {
93
+ "type": "array",
94
+ "items": {
95
+ "$ref": "#/$defs/breakpointResult"
96
+ },
97
+ "description": "Results by responsive breakpoint"
98
+ },
99
+ "visualDifferences": {
100
+ "type": "array",
101
+ "items": {
102
+ "$ref": "#/$defs/visualDifference"
103
+ },
104
+ "description": "Cross-platform visual differences detected"
105
+ }
106
+ }
107
+ },
108
+ "metadata": {
109
+ "type": "object",
110
+ "properties": {
111
+ "executionTimeMs": {
112
+ "type": "integer",
113
+ "minimum": 0,
114
+ "description": "Execution time in milliseconds"
115
+ },
116
+ "toolsUsed": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "string",
120
+ "enum": ["playwright", "browserstack", "saucelabs", "lambdatest", "percy", "cypress", "selenium"]
121
+ },
122
+ "description": "Testing tools used"
123
+ },
124
+ "agentId": {
125
+ "type": "string",
126
+ "pattern": "^qe-[a-z][a-z0-9-]*$",
127
+ "description": "Agent that executed the test"
128
+ },
129
+ "targetUrl": {
130
+ "type": "string",
131
+ "pattern": "^https?://",
132
+ "description": "URL tested"
133
+ },
134
+ "totalCombinations": {
135
+ "type": "integer",
136
+ "minimum": 1,
137
+ "description": "Total browser/device combinations tested"
138
+ }
139
+ }
140
+ },
141
+ "validation": {
142
+ "type": "object",
143
+ "properties": {
144
+ "schemaValid": { "type": "boolean" },
145
+ "contentValid": { "type": "boolean" },
146
+ "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
147
+ "warnings": { "type": "array", "items": { "type": "string" } },
148
+ "errors": { "type": "array", "items": { "type": "string" } }
149
+ }
150
+ },
151
+ "learning": {
152
+ "type": "object",
153
+ "properties": {
154
+ "patternsDetected": {
155
+ "type": "array",
156
+ "items": { "type": "string" },
157
+ "description": "Compatibility patterns detected"
158
+ },
159
+ "reward": {
160
+ "type": "number",
161
+ "minimum": 0,
162
+ "maximum": 1,
163
+ "description": "Learning reward signal"
164
+ }
165
+ }
166
+ }
167
+ },
168
+ "$defs": {
169
+ "compatibilityScore": {
170
+ "type": "object",
171
+ "required": ["value", "max"],
172
+ "properties": {
173
+ "value": {
174
+ "type": "number",
175
+ "minimum": 0,
176
+ "maximum": 100,
177
+ "description": "Compatibility score (0-100)"
178
+ },
179
+ "max": {
180
+ "type": "number",
181
+ "const": 100
182
+ },
183
+ "grade": {
184
+ "type": "string",
185
+ "pattern": "^[A-F][+-]?$",
186
+ "description": "Letter grade"
187
+ },
188
+ "userCoveragePercent": {
189
+ "type": "number",
190
+ "minimum": 0,
191
+ "maximum": 100,
192
+ "description": "Percentage of user base covered by passing platforms"
193
+ },
194
+ "trend": {
195
+ "type": "string",
196
+ "enum": ["improving", "stable", "declining", "unknown"]
197
+ }
198
+ }
199
+ },
200
+ "browserMatrix": {
201
+ "type": "object",
202
+ "required": ["browsers"],
203
+ "properties": {
204
+ "browsers": {
205
+ "type": "array",
206
+ "items": {
207
+ "$ref": "#/$defs/browserEntry"
208
+ },
209
+ "minItems": 1,
210
+ "description": "Browser test results"
211
+ },
212
+ "coveragePercent": {
213
+ "type": "number",
214
+ "minimum": 0,
215
+ "maximum": 100,
216
+ "description": "Browser market share covered"
217
+ }
218
+ }
219
+ },
220
+ "browserEntry": {
221
+ "type": "object",
222
+ "required": ["browser", "status"],
223
+ "properties": {
224
+ "browser": {
225
+ "type": "string",
226
+ "enum": ["chrome", "firefox", "safari", "edge", "opera", "mobile-chrome", "mobile-safari", "samsung-internet"],
227
+ "description": "Browser name"
228
+ },
229
+ "version": {
230
+ "type": "string",
231
+ "description": "Browser version (e.g., '118.0', 'latest')"
232
+ },
233
+ "status": {
234
+ "type": "string",
235
+ "enum": ["passed", "failed", "partial", "skipped"],
236
+ "description": "Test status"
237
+ },
238
+ "issueCount": {
239
+ "type": "integer",
240
+ "minimum": 0,
241
+ "description": "Number of issues found"
242
+ },
243
+ "marketShare": {
244
+ "type": "number",
245
+ "minimum": 0,
246
+ "maximum": 100,
247
+ "description": "Browser market share percentage"
248
+ }
249
+ }
250
+ },
251
+ "deviceCoverage": {
252
+ "type": "object",
253
+ "properties": {
254
+ "tier1": {
255
+ "$ref": "#/$defs/tierCoverage",
256
+ "description": "Tier 1 devices (60% of users)"
257
+ },
258
+ "tier2": {
259
+ "$ref": "#/$defs/tierCoverage",
260
+ "description": "Tier 2 devices (30% of users)"
261
+ },
262
+ "tier3": {
263
+ "$ref": "#/$defs/tierCoverage",
264
+ "description": "Tier 3 devices (10% of users)"
265
+ },
266
+ "totalDevicesTested": {
267
+ "type": "integer",
268
+ "minimum": 0,
269
+ "description": "Total unique devices tested"
270
+ }
271
+ }
272
+ },
273
+ "tierCoverage": {
274
+ "type": "object",
275
+ "properties": {
276
+ "devices": {
277
+ "type": "array",
278
+ "items": { "type": "string" },
279
+ "description": "Device names in this tier"
280
+ },
281
+ "passRate": {
282
+ "type": "number",
283
+ "minimum": 0,
284
+ "maximum": 100,
285
+ "description": "Pass rate percentage"
286
+ },
287
+ "tested": {
288
+ "type": "integer",
289
+ "minimum": 0
290
+ },
291
+ "passed": {
292
+ "type": "integer",
293
+ "minimum": 0
294
+ }
295
+ }
296
+ },
297
+ "platformResult": {
298
+ "type": "object",
299
+ "required": ["platform", "browser", "status"],
300
+ "properties": {
301
+ "platform": {
302
+ "type": "string",
303
+ "enum": ["windows", "macos", "linux", "ios", "android"],
304
+ "description": "Operating system"
305
+ },
306
+ "platformVersion": {
307
+ "type": "string",
308
+ "description": "OS version"
309
+ },
310
+ "browser": {
311
+ "type": "string",
312
+ "description": "Browser name"
313
+ },
314
+ "browserVersion": {
315
+ "type": "string",
316
+ "description": "Browser version"
317
+ },
318
+ "device": {
319
+ "type": "string",
320
+ "description": "Device name (for mobile)"
321
+ },
322
+ "status": {
323
+ "type": "string",
324
+ "enum": ["passed", "failed", "partial", "skipped"]
325
+ },
326
+ "executionTimeMs": {
327
+ "type": "integer",
328
+ "minimum": 0
329
+ },
330
+ "screenshotPath": {
331
+ "type": "string",
332
+ "description": "Path to screenshot"
333
+ },
334
+ "issues": {
335
+ "type": "array",
336
+ "items": { "type": "string" },
337
+ "description": "Issue IDs found on this platform"
338
+ }
339
+ }
340
+ },
341
+ "compatibilityFinding": {
342
+ "type": "object",
343
+ "required": ["id", "title", "severity", "category"],
344
+ "properties": {
345
+ "id": {
346
+ "type": "string",
347
+ "pattern": "^COMPAT-\\d{3,6}$",
348
+ "description": "Unique finding identifier"
349
+ },
350
+ "title": {
351
+ "type": "string",
352
+ "minLength": 5,
353
+ "maxLength": 200
354
+ },
355
+ "description": {
356
+ "type": "string",
357
+ "maxLength": 2000
358
+ },
359
+ "severity": {
360
+ "type": "string",
361
+ "enum": ["critical", "high", "medium", "low", "info"]
362
+ },
363
+ "category": {
364
+ "type": "string",
365
+ "enum": ["layout", "rendering", "functionality", "performance", "visual", "javascript", "css", "responsive"],
366
+ "description": "Issue category"
367
+ },
368
+ "affectedPlatforms": {
369
+ "type": "array",
370
+ "items": { "type": "string" },
371
+ "description": "Platforms where issue occurs"
372
+ },
373
+ "workingPlatforms": {
374
+ "type": "array",
375
+ "items": { "type": "string" },
376
+ "description": "Platforms where it works correctly"
377
+ },
378
+ "remediation": {
379
+ "type": "string",
380
+ "description": "How to fix this issue"
381
+ },
382
+ "evidence": {
383
+ "type": "string",
384
+ "description": "Screenshot path or code snippet"
385
+ },
386
+ "userImpactPercent": {
387
+ "type": "number",
388
+ "minimum": 0,
389
+ "maximum": 100,
390
+ "description": "Percentage of users affected"
391
+ }
392
+ }
393
+ },
394
+ "recommendation": {
395
+ "type": "object",
396
+ "required": ["id", "title", "priority"],
397
+ "properties": {
398
+ "id": {
399
+ "type": "string",
400
+ "pattern": "^REC-\\d{3,6}$"
401
+ },
402
+ "title": {
403
+ "type": "string",
404
+ "minLength": 5,
405
+ "maxLength": 200
406
+ },
407
+ "description": {
408
+ "type": "string",
409
+ "maxLength": 2000
410
+ },
411
+ "priority": {
412
+ "type": "string",
413
+ "enum": ["critical", "high", "medium", "low"]
414
+ },
415
+ "effort": {
416
+ "type": "string",
417
+ "enum": ["trivial", "low", "medium", "high", "major"]
418
+ },
419
+ "relatedFindings": {
420
+ "type": "array",
421
+ "items": { "type": "string" }
422
+ }
423
+ }
424
+ },
425
+ "compatibilityMetrics": {
426
+ "type": "object",
427
+ "properties": {
428
+ "totalCombinations": {
429
+ "type": "integer",
430
+ "minimum": 0,
431
+ "description": "Total platform combinations tested"
432
+ },
433
+ "passed": {
434
+ "type": "integer",
435
+ "minimum": 0
436
+ },
437
+ "failed": {
438
+ "type": "integer",
439
+ "minimum": 0
440
+ },
441
+ "skipped": {
442
+ "type": "integer",
443
+ "minimum": 0
444
+ },
445
+ "passRate": {
446
+ "type": "number",
447
+ "minimum": 0,
448
+ "maximum": 100,
449
+ "description": "Overall pass rate percentage"
450
+ },
451
+ "userCoverage": {
452
+ "type": "number",
453
+ "minimum": 0,
454
+ "maximum": 100,
455
+ "description": "User base coverage percentage"
456
+ },
457
+ "browsersCovered": {
458
+ "type": "integer",
459
+ "minimum": 0
460
+ },
461
+ "devicesCovered": {
462
+ "type": "integer",
463
+ "minimum": 0
464
+ },
465
+ "criticalIssues": {
466
+ "type": "integer",
467
+ "minimum": 0
468
+ },
469
+ "duration": {
470
+ "type": "integer",
471
+ "minimum": 0,
472
+ "description": "Total test duration in milliseconds"
473
+ }
474
+ }
475
+ },
476
+ "breakpointResult": {
477
+ "type": "object",
478
+ "required": ["breakpoint", "width", "status"],
479
+ "properties": {
480
+ "breakpoint": {
481
+ "type": "string",
482
+ "enum": ["mobile", "tablet", "desktop", "large-desktop"],
483
+ "description": "Breakpoint category"
484
+ },
485
+ "width": {
486
+ "type": "integer",
487
+ "minimum": 1,
488
+ "description": "Screen width in pixels"
489
+ },
490
+ "status": {
491
+ "type": "string",
492
+ "enum": ["passed", "failed", "partial"]
493
+ },
494
+ "issues": {
495
+ "type": "array",
496
+ "items": { "type": "string" }
497
+ }
498
+ }
499
+ },
500
+ "visualDifference": {
501
+ "type": "object",
502
+ "required": ["platform1", "platform2", "diffPercent"],
503
+ "properties": {
504
+ "platform1": {
505
+ "type": "string",
506
+ "description": "First platform"
507
+ },
508
+ "platform2": {
509
+ "type": "string",
510
+ "description": "Second platform"
511
+ },
512
+ "diffPercent": {
513
+ "type": "number",
514
+ "minimum": 0,
515
+ "maximum": 100,
516
+ "description": "Visual difference percentage"
517
+ },
518
+ "diffImagePath": {
519
+ "type": "string",
520
+ "description": "Path to diff image"
521
+ },
522
+ "significant": {
523
+ "type": "boolean",
524
+ "description": "Whether difference is significant"
525
+ }
526
+ }
527
+ },
528
+ "artifact": {
529
+ "type": "object",
530
+ "required": ["type", "path"],
531
+ "properties": {
532
+ "type": {
533
+ "type": "string",
534
+ "enum": ["report", "screenshot", "diff", "video", "log", "data"]
535
+ },
536
+ "path": {
537
+ "type": "string",
538
+ "maxLength": 500
539
+ },
540
+ "format": {
541
+ "type": "string",
542
+ "enum": ["json", "html", "md", "png", "jpg", "webm", "mp4", "txt", "csv"]
543
+ },
544
+ "description": {
545
+ "type": "string",
546
+ "maxLength": 500
547
+ }
548
+ }
549
+ }
550
+ }
551
+ }