agentic-qe 3.7.7 → 3.7.9

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 (384) hide show
  1. package/.claude/helpers/statusline-v3.cjs +13 -1
  2. package/.claude/skills/debug-loop/SKILL.md +1 -1
  3. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  4. package/.claude/skills/enterprise-integration-testing/schemas/output.json +74 -0
  5. package/.claude/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  6. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  7. package/.claude/skills/middleware-testing-patterns/schemas/output.json +58 -0
  8. package/.claude/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  9. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  10. package/.claude/skills/observability-testing-patterns/schemas/output.json +58 -0
  11. package/.claude/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  12. package/.claude/skills/pr-review/SKILL.md +1 -1
  13. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  14. package/.claude/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  15. package/.claude/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  16. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  17. package/.claude/skills/qcsd-development-swarm/schemas/output.json +72 -0
  18. package/.claude/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  19. package/.claude/skills/skills-manifest.json +1 -1
  20. package/.claude/skills/trust-tier-manifest.json +78 -7
  21. package/CHANGELOG.md +39 -0
  22. package/README.md +36 -0
  23. package/assets/skills/a11y-ally/SKILL.md +1664 -1658
  24. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +376 -0
  25. package/assets/skills/a11y-ally/schemas/output.json +549 -0
  26. package/assets/skills/a11y-ally/scripts/validate-config.json +42 -0
  27. package/assets/skills/brutal-honesty-review/SKILL.md +5 -0
  28. package/assets/skills/brutal-honesty-review/schemas/output.json +291 -0
  29. package/assets/skills/brutal-honesty-review/scripts/validate-config.json +34 -0
  30. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +1 -1
  31. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -0
  32. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +157 -0
  33. package/assets/skills/cicd-pipeline-qe-orchestrator/schemas/output.json +542 -0
  34. package/assets/skills/cicd-pipeline-qe-orchestrator/scripts/validate-config.json +42 -0
  35. package/assets/skills/debug-loop/SKILL.md +1 -1
  36. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +158 -0
  37. package/assets/skills/enterprise-integration-testing/schemas/output.json +74 -0
  38. package/assets/skills/enterprise-integration-testing/scripts/validate-config.json +25 -0
  39. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +153 -0
  40. package/assets/skills/middleware-testing-patterns/schemas/output.json +58 -0
  41. package/assets/skills/middleware-testing-patterns/scripts/validate-config.json +25 -0
  42. package/assets/skills/n8n-expression-testing/SKILL.md +6 -0
  43. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +450 -0
  44. package/assets/skills/n8n-expression-testing/schemas/output.json +369 -0
  45. package/assets/skills/n8n-expression-testing/scripts/validate-config.json +39 -0
  46. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +6 -0
  47. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +522 -0
  48. package/assets/skills/n8n-integration-testing-patterns/schemas/output.json +291 -0
  49. package/assets/skills/n8n-integration-testing-patterns/scripts/validate-config.json +34 -0
  50. package/assets/skills/n8n-security-testing/SKILL.md +6 -0
  51. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +493 -0
  52. package/assets/skills/n8n-security-testing/schemas/output.json +293 -0
  53. package/assets/skills/n8n-security-testing/scripts/validate-config.json +34 -0
  54. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +6 -0
  55. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +500 -0
  56. package/assets/skills/n8n-trigger-testing-strategies/schemas/output.json +295 -0
  57. package/assets/skills/n8n-trigger-testing-strategies/scripts/validate-config.json +34 -0
  58. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +6 -0
  59. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +497 -0
  60. package/assets/skills/n8n-workflow-testing-fundamentals/schemas/output.json +254 -0
  61. package/assets/skills/n8n-workflow-testing-fundamentals/scripts/validate-config.json +35 -0
  62. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +157 -0
  63. package/assets/skills/observability-testing-patterns/schemas/output.json +58 -0
  64. package/assets/skills/observability-testing-patterns/scripts/validate-config.json +25 -0
  65. package/assets/skills/pentest-validation/scripts/validate-config.json +12 -0
  66. package/assets/skills/pr-review/SKILL.md +1 -1
  67. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +211 -0
  68. package/assets/skills/qcsd-cicd-swarm/schemas/output.json +86 -0
  69. package/assets/skills/qcsd-cicd-swarm/scripts/validate-config.json +30 -0
  70. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +162 -0
  71. package/assets/skills/qcsd-development-swarm/schemas/output.json +72 -0
  72. package/assets/skills/qcsd-development-swarm/scripts/validate-config.json +25 -0
  73. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +138 -0
  74. package/assets/skills/qcsd-ideation-swarm/schemas/output.json +568 -0
  75. package/assets/skills/qcsd-ideation-swarm/scripts/validate-config.json +25 -0
  76. package/assets/skills/qcsd-production-swarm/SKILL.md +2781 -0
  77. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +246 -0
  78. package/assets/skills/qcsd-production-swarm/schemas/output.json +505 -0
  79. package/assets/skills/qcsd-production-swarm/scripts/validate-config.json +25 -0
  80. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +139 -0
  81. package/assets/skills/qcsd-refinement-swarm/schemas/output.json +811 -0
  82. package/assets/skills/qcsd-refinement-swarm/scripts/validate-config.json +25 -0
  83. package/assets/skills/security-visual-testing/scripts/validate-config.json +45 -0
  84. package/assets/skills/sherlock-review/SKILL.md +5 -0
  85. package/assets/skills/sherlock-review/schemas/output.json +297 -0
  86. package/assets/skills/sherlock-review/scripts/validate-config.json +35 -0
  87. package/assets/skills/testability-scoring/SKILL.md +5 -0
  88. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +814 -0
  89. package/assets/skills/testability-scoring/schemas/output.json +606 -0
  90. package/assets/skills/testability-scoring/scripts/validate-config.json +42 -0
  91. package/assets/skills/trust-tier-manifest.json +2404 -0
  92. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +165 -0
  93. package/assets/skills/wms-testing-patterns/schemas/output.json +150 -0
  94. package/assets/skills/wms-testing-patterns/scripts/validate-config.json +51 -0
  95. package/dist/benchmarks/performance-benchmarks.js +1 -1
  96. package/dist/cli/bundle.js +10154 -2421
  97. package/dist/cli/commands/hooks.d.ts.map +1 -1
  98. package/dist/cli/commands/hooks.js +92 -0
  99. package/dist/cli/commands/hooks.js.map +1 -1
  100. package/dist/cli/commands/migrate.js +2 -2
  101. package/dist/coordination/complexity-composition/index.d.ts +2 -0
  102. package/dist/coordination/complexity-composition/index.d.ts.map +1 -0
  103. package/dist/coordination/complexity-composition/index.js +2 -0
  104. package/dist/coordination/complexity-composition/index.js.map +1 -0
  105. package/dist/coordination/complexity-composition/team-composer.d.ts +72 -0
  106. package/dist/coordination/complexity-composition/team-composer.d.ts.map +1 -0
  107. package/dist/coordination/complexity-composition/team-composer.js +221 -0
  108. package/dist/coordination/complexity-composition/team-composer.js.map +1 -0
  109. package/dist/coordination/consensus/consensus-engine.d.ts +10 -1
  110. package/dist/coordination/consensus/consensus-engine.d.ts.map +1 -1
  111. package/dist/coordination/consensus/consensus-engine.js +31 -1
  112. package/dist/coordination/consensus/consensus-engine.js.map +1 -1
  113. package/dist/coordination/consensus/index.d.ts +1 -0
  114. package/dist/coordination/consensus/index.d.ts.map +1 -1
  115. package/dist/coordination/consensus/index.js +4 -0
  116. package/dist/coordination/consensus/index.js.map +1 -1
  117. package/dist/coordination/consensus/interfaces.d.ts +5 -0
  118. package/dist/coordination/consensus/interfaces.d.ts.map +1 -1
  119. package/dist/coordination/consensus/interfaces.js +1 -0
  120. package/dist/coordination/consensus/interfaces.js.map +1 -1
  121. package/dist/coordination/consensus/sycophancy-scorer.d.ts +62 -0
  122. package/dist/coordination/consensus/sycophancy-scorer.d.ts.map +1 -0
  123. package/dist/coordination/consensus/sycophancy-scorer.js +200 -0
  124. package/dist/coordination/consensus/sycophancy-scorer.js.map +1 -0
  125. package/dist/coordination/constants.d.ts +1 -1
  126. package/dist/coordination/constants.js +1 -1
  127. package/dist/coordination/fleet-tiers/tier-selector.d.ts +20 -0
  128. package/dist/coordination/fleet-tiers/tier-selector.d.ts.map +1 -1
  129. package/dist/coordination/fleet-tiers/tier-selector.js +31 -0
  130. package/dist/coordination/fleet-tiers/tier-selector.js.map +1 -1
  131. package/dist/coordination/fleet-tiers/types.d.ts +2 -0
  132. package/dist/coordination/fleet-tiers/types.d.ts.map +1 -1
  133. package/dist/coordination/handlers/coverage-handlers.js +1 -1
  134. package/dist/coordination/handlers/coverage-handlers.js.map +1 -1
  135. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts +1 -1
  136. package/dist/domains/code-intelligence/services/semantic-analyzer.d.ts.map +1 -1
  137. package/dist/domains/code-intelligence/services/semantic-analyzer.js +1 -1
  138. package/dist/domains/code-intelligence/services/semantic-analyzer.js.map +1 -1
  139. package/dist/domains/coverage-analysis/coordinator.js +1 -1
  140. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +1 -1
  141. package/dist/domains/coverage-analysis/services/coverage-embedder.d.ts +1 -1
  142. package/dist/domains/coverage-analysis/services/coverage-embedder.js +1 -1
  143. package/dist/domains/coverage-analysis/services/gap-detector.js +1 -1
  144. package/dist/domains/coverage-analysis/services/ghost-coverage-analyzer.js +1 -1
  145. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +2 -2
  146. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -3
  147. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +1 -1
  148. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +1 -1
  149. package/dist/domains/test-execution/services/test-prioritizer.js +1 -1
  150. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts +65 -0
  151. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.d.ts.map +1 -0
  152. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js +189 -0
  153. package/dist/domains/test-generation/blind-review/blind-review-orchestrator.js.map +1 -0
  154. package/dist/domains/test-generation/blind-review/index.d.ts +2 -0
  155. package/dist/domains/test-generation/blind-review/index.d.ts.map +1 -0
  156. package/dist/domains/test-generation/blind-review/index.js +2 -0
  157. package/dist/domains/test-generation/blind-review/index.js.map +1 -0
  158. package/dist/domains/test-generation/context/rust-context-builder.d.ts +31 -0
  159. package/dist/domains/test-generation/context/rust-context-builder.d.ts.map +1 -0
  160. package/dist/domains/test-generation/context/rust-context-builder.js +27 -0
  161. package/dist/domains/test-generation/context/rust-context-builder.js.map +1 -0
  162. package/dist/domains/test-generation/coordinator.js +3 -3
  163. package/dist/domains/test-generation/coordinator.js.map +1 -1
  164. package/dist/domains/test-generation/detectors/mobile-detector.d.ts +41 -0
  165. package/dist/domains/test-generation/detectors/mobile-detector.d.ts.map +1 -0
  166. package/dist/domains/test-generation/detectors/mobile-detector.js +111 -0
  167. package/dist/domains/test-generation/detectors/mobile-detector.js.map +1 -0
  168. package/dist/domains/test-generation/detectors/spring-detector.d.ts +22 -0
  169. package/dist/domains/test-generation/detectors/spring-detector.d.ts.map +1 -0
  170. package/dist/domains/test-generation/detectors/spring-detector.js +37 -0
  171. package/dist/domains/test-generation/detectors/spring-detector.js.map +1 -0
  172. package/dist/domains/test-generation/factories/test-generator-factory.d.ts +2 -1
  173. package/dist/domains/test-generation/factories/test-generator-factory.d.ts.map +1 -1
  174. package/dist/domains/test-generation/factories/test-generator-factory.js +33 -13
  175. package/dist/domains/test-generation/factories/test-generator-factory.js.map +1 -1
  176. package/dist/domains/test-generation/gates/index.d.ts +2 -0
  177. package/dist/domains/test-generation/gates/index.d.ts.map +1 -0
  178. package/dist/domains/test-generation/gates/index.js +2 -0
  179. package/dist/domains/test-generation/gates/index.js.map +1 -0
  180. package/dist/domains/test-generation/gates/test-quality-gate.d.ts +85 -0
  181. package/dist/domains/test-generation/gates/test-quality-gate.d.ts.map +1 -0
  182. package/dist/domains/test-generation/gates/test-quality-gate.js +320 -0
  183. package/dist/domains/test-generation/gates/test-quality-gate.js.map +1 -0
  184. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts +107 -0
  185. package/dist/domains/test-generation/generators/flutter-test-generator.d.ts.map +1 -0
  186. package/dist/domains/test-generation/generators/flutter-test-generator.js +590 -0
  187. package/dist/domains/test-generation/generators/flutter-test-generator.js.map +1 -0
  188. package/dist/domains/test-generation/generators/go-test-generator.d.ts +139 -0
  189. package/dist/domains/test-generation/generators/go-test-generator.d.ts.map +1 -0
  190. package/dist/domains/test-generation/generators/go-test-generator.js +654 -0
  191. package/dist/domains/test-generation/generators/go-test-generator.js.map +1 -0
  192. package/dist/domains/test-generation/generators/index.d.ts +8 -0
  193. package/dist/domains/test-generation/generators/index.d.ts.map +1 -1
  194. package/dist/domains/test-generation/generators/index.js +8 -0
  195. package/dist/domains/test-generation/generators/index.js.map +1 -1
  196. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts +95 -0
  197. package/dist/domains/test-generation/generators/jest-rn-generator.d.ts.map +1 -0
  198. package/dist/domains/test-generation/generators/jest-rn-generator.js +591 -0
  199. package/dist/domains/test-generation/generators/jest-rn-generator.js.map +1 -0
  200. package/dist/domains/test-generation/generators/junit5-generator.d.ts +107 -0
  201. package/dist/domains/test-generation/generators/junit5-generator.d.ts.map +1 -0
  202. package/dist/domains/test-generation/generators/junit5-generator.js +588 -0
  203. package/dist/domains/test-generation/generators/junit5-generator.js.map +1 -0
  204. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts +109 -0
  205. package/dist/domains/test-generation/generators/kotlin-junit-generator.d.ts.map +1 -0
  206. package/dist/domains/test-generation/generators/kotlin-junit-generator.js +588 -0
  207. package/dist/domains/test-generation/generators/kotlin-junit-generator.js.map +1 -0
  208. package/dist/domains/test-generation/generators/pytest-generator.d.ts +8 -1
  209. package/dist/domains/test-generation/generators/pytest-generator.d.ts.map +1 -1
  210. package/dist/domains/test-generation/generators/pytest-generator.js +57 -0
  211. package/dist/domains/test-generation/generators/pytest-generator.js.map +1 -1
  212. package/dist/domains/test-generation/generators/rust-test-generator.d.ts +80 -0
  213. package/dist/domains/test-generation/generators/rust-test-generator.d.ts.map +1 -0
  214. package/dist/domains/test-generation/generators/rust-test-generator.js +442 -0
  215. package/dist/domains/test-generation/generators/rust-test-generator.js.map +1 -0
  216. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts +97 -0
  217. package/dist/domains/test-generation/generators/swift-testing-generator.d.ts.map +1 -0
  218. package/dist/domains/test-generation/generators/swift-testing-generator.js +482 -0
  219. package/dist/domains/test-generation/generators/swift-testing-generator.js.map +1 -0
  220. package/dist/domains/test-generation/generators/xunit-generator.d.ts +110 -0
  221. package/dist/domains/test-generation/generators/xunit-generator.d.ts.map +1 -0
  222. package/dist/domains/test-generation/generators/xunit-generator.js +611 -0
  223. package/dist/domains/test-generation/generators/xunit-generator.js.map +1 -0
  224. package/dist/domains/test-generation/interfaces.d.ts +14 -2
  225. package/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  226. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts +68 -0
  227. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts.map +1 -0
  228. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js +225 -0
  229. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js.map +1 -0
  230. package/dist/domains/test-generation/pattern-injection/index.d.ts +2 -0
  231. package/dist/domains/test-generation/pattern-injection/index.d.ts.map +1 -0
  232. package/dist/domains/test-generation/pattern-injection/index.js +2 -0
  233. package/dist/domains/test-generation/pattern-injection/index.js.map +1 -0
  234. package/dist/domains/test-generation/prompts/language-prompts.d.ts +29 -0
  235. package/dist/domains/test-generation/prompts/language-prompts.d.ts.map +1 -0
  236. package/dist/domains/test-generation/prompts/language-prompts.js +135 -0
  237. package/dist/domains/test-generation/prompts/language-prompts.js.map +1 -0
  238. package/dist/domains/test-generation/services/compilation-validator.d.ts +43 -0
  239. package/dist/domains/test-generation/services/compilation-validator.d.ts.map +1 -0
  240. package/dist/domains/test-generation/services/compilation-validator.js +134 -0
  241. package/dist/domains/test-generation/services/compilation-validator.js.map +1 -0
  242. package/dist/domains/test-generation/services/index.d.ts +2 -1
  243. package/dist/domains/test-generation/services/index.d.ts.map +1 -1
  244. package/dist/domains/test-generation/services/index.js +3 -1
  245. package/dist/domains/test-generation/services/index.js.map +1 -1
  246. package/dist/domains/test-generation/services/test-file-resolver.d.ts +32 -0
  247. package/dist/domains/test-generation/services/test-file-resolver.d.ts.map +1 -0
  248. package/dist/domains/test-generation/services/test-file-resolver.js +159 -0
  249. package/dist/domains/test-generation/services/test-file-resolver.js.map +1 -0
  250. package/dist/domains/test-generation/services/test-generator.d.ts +16 -0
  251. package/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  252. package/dist/domains/test-generation/services/test-generator.js +116 -10
  253. package/dist/domains/test-generation/services/test-generator.js.map +1 -1
  254. package/dist/governance/feature-flags.js +2 -2
  255. package/dist/governance/feature-flags.js.map +1 -1
  256. package/dist/governance/shard-embeddings.js +1 -1
  257. package/dist/init/init-wizard-hooks.d.ts.map +1 -1
  258. package/dist/init/init-wizard-hooks.js +0 -1
  259. package/dist/init/init-wizard-hooks.js.map +1 -1
  260. package/dist/init/phases/07-hooks.d.ts.map +1 -1
  261. package/dist/init/phases/07-hooks.js +0 -2
  262. package/dist/init/phases/07-hooks.js.map +1 -1
  263. package/dist/init/phases/08-mcp.d.ts +8 -4
  264. package/dist/init/phases/08-mcp.d.ts.map +1 -1
  265. package/dist/init/phases/08-mcp.js +13 -31
  266. package/dist/init/phases/08-mcp.js.map +1 -1
  267. package/dist/init/phases/10-workers.js +2 -2
  268. package/dist/init/phases/10-workers.js.map +1 -1
  269. package/dist/init/settings-merge.d.ts.map +1 -1
  270. package/dist/init/settings-merge.js +0 -2
  271. package/dist/init/settings-merge.js.map +1 -1
  272. package/dist/init/token-bootstrap.js +1 -1
  273. package/dist/init/token-bootstrap.js.map +1 -1
  274. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +8 -2
  275. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts.map +1 -1
  276. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +62 -38
  277. package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js.map +1 -1
  278. package/dist/integrations/rl-suite/algorithms/decision-transformer.js +1 -1
  279. package/dist/kernel/constants.d.ts +2 -2
  280. package/dist/kernel/constants.js +2 -2
  281. package/dist/kernel/hnsw-adapter.js +1 -1
  282. package/dist/kernel/progressive-hnsw-backend.d.ts +2 -2
  283. package/dist/kernel/progressive-hnsw-backend.js +2 -2
  284. package/dist/learning/dream/concept-graph.d.ts +1 -1
  285. package/dist/learning/dream/concept-graph.js +1 -1
  286. package/dist/learning/dream/dream-engine.d.ts +1 -1
  287. package/dist/learning/dream/dream-engine.js +1 -1
  288. package/dist/learning/dream/index.d.ts +1 -1
  289. package/dist/learning/dream/index.js +1 -1
  290. package/dist/learning/dream/types.d.ts +1 -1
  291. package/dist/learning/dream/types.d.ts.map +1 -1
  292. package/dist/learning/dream/types.js +1 -1
  293. package/dist/learning/dream/types.js.map +1 -1
  294. package/dist/learning/experience-capture.d.ts +12 -2
  295. package/dist/learning/experience-capture.d.ts.map +1 -1
  296. package/dist/learning/experience-capture.js +28 -35
  297. package/dist/learning/experience-capture.js.map +1 -1
  298. package/dist/learning/experience-consolidation.d.ts +74 -0
  299. package/dist/learning/experience-consolidation.d.ts.map +1 -0
  300. package/dist/learning/experience-consolidation.js +403 -0
  301. package/dist/learning/experience-consolidation.js.map +1 -0
  302. package/dist/learning/token-tracker.js +1 -1
  303. package/dist/learning/token-tracker.js.map +1 -1
  304. package/dist/mcp/bundle.js +9453 -1166
  305. package/dist/routing/calibration/ema-calibrator.d.ts +93 -0
  306. package/dist/routing/calibration/ema-calibrator.d.ts.map +1 -0
  307. package/dist/routing/calibration/ema-calibrator.js +140 -0
  308. package/dist/routing/calibration/ema-calibrator.js.map +1 -0
  309. package/dist/routing/calibration/index.d.ts +2 -0
  310. package/dist/routing/calibration/index.d.ts.map +1 -0
  311. package/dist/routing/calibration/index.js +2 -0
  312. package/dist/routing/calibration/index.js.map +1 -0
  313. package/dist/routing/escalation/auto-escalation-tracker.d.ts +62 -0
  314. package/dist/routing/escalation/auto-escalation-tracker.d.ts.map +1 -0
  315. package/dist/routing/escalation/auto-escalation-tracker.js +116 -0
  316. package/dist/routing/escalation/auto-escalation-tracker.js.map +1 -0
  317. package/dist/routing/escalation/index.d.ts +2 -0
  318. package/dist/routing/escalation/index.d.ts.map +1 -0
  319. package/dist/routing/escalation/index.js +2 -0
  320. package/dist/routing/escalation/index.js.map +1 -0
  321. package/dist/routing/index.d.ts +4 -0
  322. package/dist/routing/index.d.ts.map +1 -1
  323. package/dist/routing/index.js +4 -0
  324. package/dist/routing/index.js.map +1 -1
  325. package/dist/routing/qe-agent-registry.js +4 -4
  326. package/dist/routing/qe-agent-registry.js.map +1 -1
  327. package/dist/routing/routing-config.d.ts +4 -0
  328. package/dist/routing/routing-config.d.ts.map +1 -1
  329. package/dist/routing/routing-config.js +2 -0
  330. package/dist/routing/routing-config.js.map +1 -1
  331. package/dist/routing/routing-feedback.d.ts +35 -2
  332. package/dist/routing/routing-feedback.d.ts.map +1 -1
  333. package/dist/routing/routing-feedback.js +97 -3
  334. package/dist/routing/routing-feedback.js.map +1 -1
  335. package/dist/routing/types.d.ts +7 -8
  336. package/dist/routing/types.d.ts.map +1 -1
  337. package/dist/routing/types.js.map +1 -1
  338. package/dist/shared/embeddings/embedding-cache.js +2 -2
  339. package/dist/shared/embeddings/index.d.ts +2 -2
  340. package/dist/shared/embeddings/index.js +2 -2
  341. package/dist/shared/embeddings/nomic-embedder.d.ts +4 -4
  342. package/dist/shared/embeddings/nomic-embedder.js +2 -2
  343. package/dist/shared/embeddings/ollama-client.d.ts +1 -1
  344. package/dist/shared/embeddings/ollama-client.js +2 -2
  345. package/dist/shared/embeddings/ollama-client.js.map +1 -1
  346. package/dist/shared/embeddings/types.d.ts +2 -2
  347. package/dist/shared/embeddings/types.js +2 -2
  348. package/dist/shared/language-detector.d.ts +46 -0
  349. package/dist/shared/language-detector.d.ts.map +1 -0
  350. package/dist/shared/language-detector.js +183 -0
  351. package/dist/shared/language-detector.js.map +1 -0
  352. package/dist/shared/llm/providers/ollama.js +1 -1
  353. package/dist/shared/metrics/code-metrics.d.ts.map +1 -1
  354. package/dist/shared/metrics/code-metrics.js +24 -1
  355. package/dist/shared/metrics/code-metrics.js.map +1 -1
  356. package/dist/shared/parsers/index.d.ts +2 -0
  357. package/dist/shared/parsers/index.d.ts.map +1 -1
  358. package/dist/shared/parsers/index.js +2 -0
  359. package/dist/shared/parsers/index.js.map +1 -1
  360. package/dist/shared/parsers/interfaces.d.ts +81 -0
  361. package/dist/shared/parsers/interfaces.d.ts.map +1 -0
  362. package/dist/shared/parsers/interfaces.js +6 -0
  363. package/dist/shared/parsers/interfaces.js.map +1 -0
  364. package/dist/shared/parsers/multi-language-parser.d.ts +144 -0
  365. package/dist/shared/parsers/multi-language-parser.d.ts.map +1 -0
  366. package/dist/shared/parsers/multi-language-parser.js +1232 -0
  367. package/dist/shared/parsers/multi-language-parser.js.map +1 -0
  368. package/dist/shared/parsers/rust-ownership-analyzer.d.ts +45 -0
  369. package/dist/shared/parsers/rust-ownership-analyzer.d.ts.map +1 -0
  370. package/dist/shared/parsers/rust-ownership-analyzer.js +52 -0
  371. package/dist/shared/parsers/rust-ownership-analyzer.js.map +1 -0
  372. package/dist/shared/parsers/typescript-parser.d.ts +16 -0
  373. package/dist/shared/parsers/typescript-parser.d.ts.map +1 -1
  374. package/dist/shared/parsers/typescript-parser.js +85 -0
  375. package/dist/shared/parsers/typescript-parser.js.map +1 -1
  376. package/dist/shared/types/test-frameworks.d.ts +25 -0
  377. package/dist/shared/types/test-frameworks.d.ts.map +1 -0
  378. package/dist/shared/types/test-frameworks.js +111 -0
  379. package/dist/shared/types/test-frameworks.js.map +1 -0
  380. package/dist/workers/workers/learning-consolidation.d.ts.map +1 -1
  381. package/dist/workers/workers/learning-consolidation.js +32 -0
  382. package/dist/workers/workers/learning-consolidation.js.map +1 -1
  383. package/package.json +1 -1
  384. package/scripts/prepare-assets.sh +8 -2
@@ -0,0 +1,606 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentic-qe.dev/schemas/testability-scoring-output.json",
4
+ "title": "Testability Scoring Output Schema",
5
+ "description": "Schema for testability assessment output based on the 10 principles of intrinsic testability (James Bach & Michael Bolton). Validates scoring structure, testability dimensions, and improvement recommendations.",
6
+ "type": "object",
7
+ "required": ["skillName", "version", "timestamp", "status", "trustTier", "output"],
8
+ "properties": {
9
+ "skillName": {
10
+ "type": "string",
11
+ "const": "testability-scoring",
12
+ "description": "Must be 'testability-scoring'"
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
+ "format": "date-time",
22
+ "description": "ISO 8601 timestamp of output generation"
23
+ },
24
+ "status": {
25
+ "type": "string",
26
+ "enum": ["success", "partial", "failed", "skipped"],
27
+ "description": "Overall execution status"
28
+ },
29
+ "trustTier": {
30
+ "type": "integer",
31
+ "minimum": 0,
32
+ "maximum": 3,
33
+ "description": "Trust tier level (3 for full validation)"
34
+ },
35
+ "output": {
36
+ "type": "object",
37
+ "required": ["summary", "score", "categories"],
38
+ "properties": {
39
+ "summary": {
40
+ "type": "string",
41
+ "minLength": 50,
42
+ "maxLength": 2000,
43
+ "description": "Human-readable summary of testability assessment"
44
+ },
45
+ "score": {
46
+ "$ref": "#/$defs/testabilityScore",
47
+ "description": "Overall testability score"
48
+ },
49
+ "findings": {
50
+ "type": "array",
51
+ "items": {
52
+ "$ref": "#/$defs/testabilityFinding"
53
+ },
54
+ "maxItems": 100,
55
+ "description": "Testability issues discovered"
56
+ },
57
+ "recommendations": {
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "#/$defs/testabilityRecommendation"
61
+ },
62
+ "maxItems": 50,
63
+ "description": "Actionable recommendations for improving testability"
64
+ },
65
+ "metrics": {
66
+ "$ref": "#/$defs/testabilityMetrics",
67
+ "description": "Quantitative testability metrics"
68
+ },
69
+ "categories": {
70
+ "type": "object",
71
+ "required": [
72
+ "observability",
73
+ "controllability",
74
+ "algorithmicSimplicity",
75
+ "algorithmicTransparency",
76
+ "algorithmicStability",
77
+ "explainability",
78
+ "unbugginess",
79
+ "smallness",
80
+ "decomposability",
81
+ "similarity"
82
+ ],
83
+ "properties": {
84
+ "observability": {
85
+ "$ref": "#/$defs/testabilityDimension",
86
+ "description": "Transparency of product states and behavior - Can we see what's happening?"
87
+ },
88
+ "controllability": {
89
+ "$ref": "#/$defs/testabilityDimension",
90
+ "description": "Capacity to provide any input and invoke any state - Can we control the application?"
91
+ },
92
+ "algorithmicSimplicity": {
93
+ "$ref": "#/$defs/testabilityDimension",
94
+ "description": "Clear relationships between inputs and outputs - Are behaviors predictable?"
95
+ },
96
+ "algorithmicTransparency": {
97
+ "$ref": "#/$defs/testabilityDimension",
98
+ "description": "Understanding how the product produces output - Can we understand what it does?"
99
+ },
100
+ "algorithmicStability": {
101
+ "$ref": "#/$defs/testabilityDimension",
102
+ "description": "Changes do not disturb logic - Does behavior remain consistent?"
103
+ },
104
+ "explainability": {
105
+ "$ref": "#/$defs/testabilityDimension",
106
+ "description": "Design understandable to outsiders - Is the interface understandable?"
107
+ },
108
+ "unbugginess": {
109
+ "$ref": "#/$defs/testabilityDimension",
110
+ "description": "Minimal defects that slow testing - How error-free is it?"
111
+ },
112
+ "smallness": {
113
+ "$ref": "#/$defs/testabilityDimension",
114
+ "description": "Less product means less to examine - Are components appropriately sized?"
115
+ },
116
+ "decomposability": {
117
+ "$ref": "#/$defs/testabilityDimension",
118
+ "description": "Parts can be separated for testing - Can we test parts in isolation?"
119
+ },
120
+ "similarity": {
121
+ "$ref": "#/$defs/testabilityDimension",
122
+ "description": "Resemblance to known technology - Is the tech stack familiar?"
123
+ }
124
+ },
125
+ "additionalProperties": false,
126
+ "description": "Breakdown by 10 testability principles"
127
+ },
128
+ "artifacts": {
129
+ "type": "array",
130
+ "items": {
131
+ "$ref": "#/$defs/artifact"
132
+ },
133
+ "maxItems": 20,
134
+ "description": "Generated artifacts (reports, data files)"
135
+ },
136
+ "timeline": {
137
+ "type": "array",
138
+ "items": {
139
+ "$ref": "#/$defs/timelineEvent"
140
+ },
141
+ "description": "Execution timeline for debugging"
142
+ }
143
+ }
144
+ },
145
+ "metadata": {
146
+ "type": "object",
147
+ "properties": {
148
+ "executionTimeMs": {
149
+ "type": "integer",
150
+ "minimum": 0,
151
+ "maximum": 600000,
152
+ "description": "Execution time in milliseconds"
153
+ },
154
+ "toolsUsed": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "string"
158
+ },
159
+ "description": "Tools/utilities used"
160
+ },
161
+ "agentId": {
162
+ "type": "string",
163
+ "description": "ID of executing agent"
164
+ },
165
+ "modelUsed": {
166
+ "type": "string",
167
+ "description": "LLM model used"
168
+ },
169
+ "inputHash": {
170
+ "type": "string",
171
+ "pattern": "^[a-f0-9]{64}$",
172
+ "description": "SHA-256 hash of input"
173
+ },
174
+ "targetUrl": {
175
+ "type": "string",
176
+ "format": "uri",
177
+ "description": "Target URL assessed"
178
+ },
179
+ "environment": {
180
+ "type": "string",
181
+ "enum": ["development", "staging", "production", "ci"],
182
+ "description": "Environment where skill was executed"
183
+ },
184
+ "retryCount": {
185
+ "type": "integer",
186
+ "minimum": 0,
187
+ "maximum": 10,
188
+ "description": "Number of retries"
189
+ }
190
+ }
191
+ },
192
+ "validation": {
193
+ "type": "object",
194
+ "properties": {
195
+ "schemaValid": {
196
+ "type": "boolean"
197
+ },
198
+ "contentValid": {
199
+ "type": "boolean"
200
+ },
201
+ "confidence": {
202
+ "type": "number",
203
+ "minimum": 0,
204
+ "maximum": 1
205
+ },
206
+ "warnings": {
207
+ "type": "array",
208
+ "items": {
209
+ "type": "string"
210
+ }
211
+ },
212
+ "errors": {
213
+ "type": "array",
214
+ "items": {
215
+ "type": "string"
216
+ }
217
+ },
218
+ "validatorVersion": {
219
+ "type": "string"
220
+ }
221
+ }
222
+ },
223
+ "learning": {
224
+ "type": "object",
225
+ "properties": {
226
+ "patternsDetected": {
227
+ "type": "array",
228
+ "items": {
229
+ "type": "string"
230
+ },
231
+ "description": "Pattern names detected during assessment"
232
+ },
233
+ "reward": {
234
+ "type": "number",
235
+ "minimum": 0,
236
+ "maximum": 1,
237
+ "description": "Reward signal for learning"
238
+ },
239
+ "feedbackLoop": {
240
+ "type": "object",
241
+ "properties": {
242
+ "previousRunId": {
243
+ "type": "string"
244
+ },
245
+ "improvement": {
246
+ "type": "number",
247
+ "minimum": -1,
248
+ "maximum": 1
249
+ }
250
+ }
251
+ }
252
+ }
253
+ }
254
+ },
255
+ "$defs": {
256
+ "testabilityScore": {
257
+ "type": "object",
258
+ "required": ["value", "max"],
259
+ "properties": {
260
+ "value": {
261
+ "type": "number",
262
+ "minimum": 0,
263
+ "maximum": 100,
264
+ "description": "Overall testability score (0-100)"
265
+ },
266
+ "max": {
267
+ "type": "number",
268
+ "const": 100,
269
+ "description": "Maximum possible score (always 100)"
270
+ },
271
+ "grade": {
272
+ "type": "string",
273
+ "pattern": "^[A-F][+-]?$",
274
+ "description": "Letter grade (A=90-100, B=80-89, C=70-79, D=60-69, F=0-59)"
275
+ },
276
+ "percentile": {
277
+ "type": "number",
278
+ "minimum": 0,
279
+ "maximum": 100,
280
+ "description": "Percentile ranking compared to baseline"
281
+ },
282
+ "trend": {
283
+ "type": "string",
284
+ "enum": ["improving", "stable", "declining", "unknown"],
285
+ "description": "Trend compared to previous assessments"
286
+ }
287
+ }
288
+ },
289
+ "testabilityDimension": {
290
+ "type": "object",
291
+ "required": ["score", "weight"],
292
+ "properties": {
293
+ "score": {
294
+ "type": "number",
295
+ "minimum": 0,
296
+ "maximum": 100,
297
+ "description": "Dimension score (0-100)"
298
+ },
299
+ "weight": {
300
+ "type": "number",
301
+ "minimum": 0,
302
+ "maximum": 1,
303
+ "description": "Weight in overall score (must sum to 1.0 across all dimensions)"
304
+ },
305
+ "description": {
306
+ "type": "string",
307
+ "maxLength": 500,
308
+ "description": "Explanation of what this dimension measures"
309
+ },
310
+ "grade": {
311
+ "type": "string",
312
+ "pattern": "^[A-F][+-]?$",
313
+ "description": "Letter grade for this dimension"
314
+ },
315
+ "findingCount": {
316
+ "type": "integer",
317
+ "minimum": 0,
318
+ "description": "Number of findings in this dimension"
319
+ }
320
+ }
321
+ },
322
+ "testabilityFinding": {
323
+ "type": "object",
324
+ "required": ["id", "title", "severity", "category"],
325
+ "properties": {
326
+ "id": {
327
+ "type": "string",
328
+ "pattern": "^TEST-\\d{3,6}$",
329
+ "description": "Unique finding identifier (e.g., TEST-001)"
330
+ },
331
+ "title": {
332
+ "type": "string",
333
+ "minLength": 10,
334
+ "maxLength": 200,
335
+ "description": "Finding title"
336
+ },
337
+ "description": {
338
+ "type": "string",
339
+ "maxLength": 2000,
340
+ "description": "Detailed description"
341
+ },
342
+ "severity": {
343
+ "type": "string",
344
+ "enum": ["critical", "high", "medium", "low", "info"],
345
+ "description": "Severity level"
346
+ },
347
+ "category": {
348
+ "type": "string",
349
+ "enum": [
350
+ "observability",
351
+ "controllability",
352
+ "algorithmicSimplicity",
353
+ "algorithmicTransparency",
354
+ "algorithmicStability",
355
+ "explainability",
356
+ "unbugginess",
357
+ "smallness",
358
+ "decomposability",
359
+ "similarity"
360
+ ],
361
+ "description": "Which testability dimension this finding relates to"
362
+ },
363
+ "location": {
364
+ "type": "object",
365
+ "properties": {
366
+ "url": {
367
+ "type": "string",
368
+ "format": "uri"
369
+ },
370
+ "selector": {
371
+ "type": "string"
372
+ },
373
+ "file": {
374
+ "type": "string"
375
+ },
376
+ "line": {
377
+ "type": "integer"
378
+ }
379
+ }
380
+ },
381
+ "evidence": {
382
+ "type": "string",
383
+ "maxLength": 5000,
384
+ "description": "Evidence supporting the finding"
385
+ },
386
+ "remediation": {
387
+ "type": "string",
388
+ "maxLength": 2000,
389
+ "description": "How to fix this finding"
390
+ },
391
+ "confidence": {
392
+ "type": "number",
393
+ "minimum": 0,
394
+ "maximum": 1,
395
+ "description": "Confidence in this finding (0.0-1.0)"
396
+ }
397
+ }
398
+ },
399
+ "testabilityRecommendation": {
400
+ "type": "object",
401
+ "required": ["id", "title", "priority"],
402
+ "properties": {
403
+ "id": {
404
+ "type": "string",
405
+ "pattern": "^REC-\\d{3,6}$",
406
+ "description": "Unique recommendation identifier"
407
+ },
408
+ "title": {
409
+ "type": "string",
410
+ "minLength": 10,
411
+ "maxLength": 200,
412
+ "description": "Recommendation title"
413
+ },
414
+ "description": {
415
+ "type": "string",
416
+ "maxLength": 2000,
417
+ "description": "Detailed recommendation"
418
+ },
419
+ "priority": {
420
+ "type": "string",
421
+ "enum": ["critical", "high", "medium", "low"],
422
+ "description": "Priority level"
423
+ },
424
+ "effort": {
425
+ "type": "string",
426
+ "enum": ["trivial", "low", "medium", "high", "major"],
427
+ "description": "Estimated effort"
428
+ },
429
+ "impact": {
430
+ "type": "integer",
431
+ "minimum": 1,
432
+ "maximum": 10,
433
+ "description": "Expected improvement impact (1-10 points)"
434
+ },
435
+ "relatedFindings": {
436
+ "type": "array",
437
+ "items": {
438
+ "type": "string",
439
+ "pattern": "^TEST-\\d{3,6}$"
440
+ },
441
+ "description": "IDs of related findings"
442
+ },
443
+ "codeExample": {
444
+ "type": "string",
445
+ "maxLength": 5000,
446
+ "description": "Example code for implementation"
447
+ },
448
+ "resources": {
449
+ "type": "array",
450
+ "items": {
451
+ "type": "object",
452
+ "required": ["title", "url"],
453
+ "properties": {
454
+ "title": {
455
+ "type": "string"
456
+ },
457
+ "url": {
458
+ "type": "string",
459
+ "format": "uri"
460
+ }
461
+ }
462
+ },
463
+ "maxItems": 5,
464
+ "description": "External resources for learning more"
465
+ }
466
+ }
467
+ },
468
+ "testabilityMetrics": {
469
+ "type": "object",
470
+ "properties": {
471
+ "total": {
472
+ "type": "integer",
473
+ "minimum": 0,
474
+ "description": "Total checks performed"
475
+ },
476
+ "passed": {
477
+ "type": "integer",
478
+ "minimum": 0,
479
+ "description": "Checks that passed"
480
+ },
481
+ "failed": {
482
+ "type": "integer",
483
+ "minimum": 0,
484
+ "description": "Checks that failed"
485
+ },
486
+ "skipped": {
487
+ "type": "integer",
488
+ "minimum": 0,
489
+ "description": "Checks skipped"
490
+ },
491
+ "coverage": {
492
+ "type": "number",
493
+ "minimum": 0,
494
+ "maximum": 100,
495
+ "description": "Percentage of principles assessed"
496
+ },
497
+ "duration": {
498
+ "type": "integer",
499
+ "minimum": 0,
500
+ "description": "Assessment duration in milliseconds"
501
+ },
502
+ "custom": {
503
+ "type": "object",
504
+ "properties": {
505
+ "domElementCount": {
506
+ "type": "integer",
507
+ "minimum": 0,
508
+ "description": "Total DOM elements on page"
509
+ },
510
+ "consoleErrorCount": {
511
+ "type": "integer",
512
+ "minimum": 0,
513
+ "description": "JavaScript console errors"
514
+ },
515
+ "consoleWarningCount": {
516
+ "type": "integer",
517
+ "minimum": 0,
518
+ "description": "JavaScript console warnings"
519
+ },
520
+ "dataTestIdCoverage": {
521
+ "type": "number",
522
+ "minimum": 0,
523
+ "maximum": 100,
524
+ "description": "Percentage of interactive elements with data-testid"
525
+ },
526
+ "semanticHtmlScore": {
527
+ "type": "number",
528
+ "minimum": 0,
529
+ "maximum": 100,
530
+ "description": "Semantic HTML usage score"
531
+ },
532
+ "loadTimeMs": {
533
+ "type": "integer",
534
+ "minimum": 0,
535
+ "description": "Page load time in milliseconds"
536
+ },
537
+ "thirdPartyScriptCount": {
538
+ "type": "integer",
539
+ "minimum": 0,
540
+ "description": "Number of third-party scripts"
541
+ },
542
+ "bundleSizeKb": {
543
+ "type": "number",
544
+ "minimum": 0,
545
+ "description": "Total JavaScript bundle size in KB"
546
+ }
547
+ },
548
+ "description": "Custom testability-specific metrics"
549
+ }
550
+ }
551
+ },
552
+ "artifact": {
553
+ "type": "object",
554
+ "required": ["type", "path"],
555
+ "properties": {
556
+ "type": {
557
+ "type": "string",
558
+ "enum": ["report", "data", "screenshot", "video", "log"],
559
+ "description": "Artifact type"
560
+ },
561
+ "path": {
562
+ "type": "string",
563
+ "maxLength": 500,
564
+ "description": "Path to artifact"
565
+ },
566
+ "format": {
567
+ "type": "string",
568
+ "enum": ["json", "html", "md", "txt", "png", "jpg", "webm", "mp4"],
569
+ "description": "File format"
570
+ },
571
+ "description": {
572
+ "type": "string",
573
+ "maxLength": 500,
574
+ "description": "Artifact description"
575
+ },
576
+ "sizeBytes": {
577
+ "type": "integer",
578
+ "minimum": 0,
579
+ "description": "File size in bytes"
580
+ }
581
+ }
582
+ },
583
+ "timelineEvent": {
584
+ "type": "object",
585
+ "required": ["timestamp", "event"],
586
+ "properties": {
587
+ "timestamp": {
588
+ "type": "string",
589
+ "format": "date-time"
590
+ },
591
+ "event": {
592
+ "type": "string",
593
+ "maxLength": 200
594
+ },
595
+ "type": {
596
+ "type": "string",
597
+ "enum": ["start", "checkpoint", "warning", "error", "complete"]
598
+ },
599
+ "durationMs": {
600
+ "type": "integer",
601
+ "minimum": 0
602
+ }
603
+ }
604
+ }
605
+ }
606
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "skillName": "testability-scoring",
3
+ "skillVersion": "2.2.0",
4
+ "requiredTools": [
5
+ "jq"
6
+ ],
7
+ "optionalTools": [
8
+ "node",
9
+ "ajv",
10
+ "jsonschema",
11
+ "python3"
12
+ ],
13
+ "schemaPath": "schemas/output.json",
14
+ "requiredFields": [
15
+ "skillName",
16
+ "status",
17
+ "output",
18
+ "output.score",
19
+ "output.categories"
20
+ ],
21
+ "requiredNonEmptyFields": [
22
+ "output.summary",
23
+ "output.score.value"
24
+ ],
25
+ "mustContainTerms": [
26
+ "testability",
27
+ "score"
28
+ ],
29
+ "mustNotContainTerms": [
30
+ "TODO",
31
+ "placeholder",
32
+ "REPLACE_WITH"
33
+ ],
34
+ "enumValidations": {
35
+ ".status": [
36
+ "success",
37
+ "partial",
38
+ "failed",
39
+ "skipped"
40
+ ]
41
+ }
42
+ }