@agentic-qe/v3 3.0.0-alpha.6 → 3.0.0-alpha.8

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 (612) hide show
  1. package/assets/agents/v3/subagents/v3-qe-code-reviewer.md +339 -0
  2. package/assets/agents/v3/subagents/v3-qe-integration-reviewer.md +344 -0
  3. package/assets/agents/v3/subagents/v3-qe-performance-reviewer.md +351 -0
  4. package/assets/agents/v3/subagents/v3-qe-security-reviewer.md +374 -0
  5. package/assets/agents/v3/subagents/v3-qe-tdd-green.md +334 -0
  6. package/assets/agents/v3/subagents/v3-qe-tdd-red.md +329 -0
  7. package/assets/agents/v3/subagents/v3-qe-tdd-refactor.md +361 -0
  8. package/assets/agents/v3/v3-qe-accessibility-auditor.md +266 -0
  9. package/assets/agents/v3/v3-qe-bdd-generator.md +279 -0
  10. package/assets/agents/v3/v3-qe-chaos-engineer.md +265 -0
  11. package/assets/agents/v3/v3-qe-code-complexity.md +298 -0
  12. package/assets/agents/v3/v3-qe-code-intelligence.md +262 -0
  13. package/assets/agents/v3/v3-qe-contract-validator.md +267 -0
  14. package/assets/agents/v3/v3-qe-coverage-specialist.md +227 -0
  15. package/assets/agents/v3/v3-qe-defect-predictor.md +251 -0
  16. package/assets/agents/v3/v3-qe-dependency-mapper.md +277 -0
  17. package/assets/agents/v3/v3-qe-deployment-advisor.md +275 -0
  18. package/assets/agents/v3/v3-qe-flaky-hunter.md +248 -0
  19. package/assets/agents/v3/v3-qe-fleet-commander.md +293 -0
  20. package/assets/agents/v3/v3-qe-gap-detector.md +260 -0
  21. package/assets/agents/v3/v3-qe-graphql-tester.md +308 -0
  22. package/assets/agents/v3/v3-qe-impact-analyzer.md +299 -0
  23. package/assets/agents/v3/v3-qe-integration-tester.md +238 -0
  24. package/assets/agents/v3/v3-qe-kg-builder.md +273 -0
  25. package/assets/agents/v3/v3-qe-learning-coordinator.md +226 -0
  26. package/assets/agents/v3/v3-qe-load-tester.md +280 -0
  27. package/assets/agents/v3/v3-qe-metrics-optimizer.md +300 -0
  28. package/assets/agents/v3/v3-qe-mutation-tester.md +301 -0
  29. package/assets/agents/v3/v3-qe-parallel-executor.md +240 -0
  30. package/assets/agents/v3/v3-qe-pattern-learner.md +271 -0
  31. package/assets/agents/v3/v3-qe-performance-tester.md +262 -0
  32. package/assets/agents/v3/v3-qe-property-tester.md +247 -0
  33. package/assets/agents/v3/v3-qe-quality-gate.md +218 -0
  34. package/assets/agents/v3/v3-qe-queen-coordinator.md +214 -0
  35. package/assets/agents/v3/v3-qe-qx-partner.md +313 -0
  36. package/assets/agents/v3/v3-qe-regression-analyzer.md +322 -0
  37. package/assets/agents/v3/v3-qe-requirements-validator.md +360 -0
  38. package/assets/agents/v3/v3-qe-responsive-tester.md +311 -0
  39. package/assets/agents/v3/v3-qe-retry-handler.md +256 -0
  40. package/assets/agents/v3/v3-qe-risk-assessor.md +273 -0
  41. package/assets/agents/v3/v3-qe-root-cause-analyzer.md +286 -0
  42. package/assets/agents/v3/v3-qe-security-auditor.md +299 -0
  43. package/assets/agents/v3/v3-qe-security-scanner.md +235 -0
  44. package/assets/agents/v3/v3-qe-tdd-specialist.md +239 -0
  45. package/assets/agents/v3/v3-qe-test-architect.md +233 -0
  46. package/assets/agents/v3/v3-qe-transfer-specialist.md +295 -0
  47. package/assets/agents/v3/v3-qe-visual-tester.md +232 -0
  48. package/assets/skills/accessibility-testing/SKILL.md +216 -0
  49. package/assets/skills/agentdb-advanced/SKILL.md +550 -0
  50. package/assets/skills/agentdb-learning/SKILL.md +545 -0
  51. package/assets/skills/agentdb-memory-patterns/SKILL.md +339 -0
  52. package/assets/skills/agentdb-optimization/SKILL.md +509 -0
  53. package/assets/skills/agentdb-vector-search/SKILL.md +339 -0
  54. package/assets/skills/agentic-jujutsu/SKILL.md +645 -0
  55. package/assets/skills/agentic-quality-engineering/SKILL.md +335 -0
  56. package/assets/skills/api-testing-patterns/SKILL.md +294 -0
  57. package/assets/skills/aqe-v2-v3-migration/skill.md +322 -0
  58. package/assets/skills/brutal-honesty-review/README.md +218 -0
  59. package/assets/skills/brutal-honesty-review/SKILL.md +235 -0
  60. package/assets/skills/brutal-honesty-review/resources/assessment-rubrics.md +295 -0
  61. package/assets/skills/brutal-honesty-review/resources/review-template.md +102 -0
  62. package/assets/skills/brutal-honesty-review/scripts/assess-code.sh +179 -0
  63. package/assets/skills/brutal-honesty-review/scripts/assess-tests.sh +223 -0
  64. package/assets/skills/bug-reporting-excellence/SKILL.md +225 -0
  65. package/assets/skills/chaos-engineering-resilience/SKILL.md +158 -0
  66. package/assets/skills/cicd-pipeline-qe-orchestrator/README.md +304 -0
  67. package/assets/skills/cicd-pipeline-qe-orchestrator/SKILL.md +315 -0
  68. package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/microservice-pipeline.md +239 -0
  69. package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/mobile-pipeline.md +375 -0
  70. package/assets/skills/cicd-pipeline-qe-orchestrator/resources/workflows/monolith-pipeline.md +268 -0
  71. package/assets/skills/code-review-quality/SKILL.md +227 -0
  72. package/assets/skills/compatibility-testing/SKILL.md +205 -0
  73. package/assets/skills/compliance-testing/SKILL.md +225 -0
  74. package/assets/skills/consultancy-practices/SKILL.md +202 -0
  75. package/assets/skills/context-driven-testing/SKILL.md +196 -0
  76. package/assets/skills/contract-testing/SKILL.md +222 -0
  77. package/assets/skills/database-testing/SKILL.md +244 -0
  78. package/assets/skills/exploratory-testing-advanced/SKILL.md +201 -0
  79. package/assets/skills/flow-nexus-neural/SKILL.md +738 -0
  80. package/assets/skills/flow-nexus-platform/SKILL.md +1157 -0
  81. package/assets/skills/flow-nexus-swarm/SKILL.md +610 -0
  82. package/assets/skills/github-code-review/SKILL.md +1140 -0
  83. package/assets/skills/github-multi-repo/SKILL.md +874 -0
  84. package/assets/skills/github-project-management/SKILL.md +1277 -0
  85. package/assets/skills/github-release-management/SKILL.md +1081 -0
  86. package/assets/skills/github-workflow-automation/SKILL.md +1065 -0
  87. package/assets/skills/hive-mind-advanced/SKILL.md +712 -0
  88. package/assets/skills/holistic-testing-pact/SKILL.md +171 -0
  89. package/assets/skills/hooks-automation/SKILL.md +1201 -0
  90. package/assets/skills/localization-testing/SKILL.md +221 -0
  91. package/assets/skills/mobile-testing/SKILL.md +219 -0
  92. package/assets/skills/mutation-testing/SKILL.md +229 -0
  93. package/assets/skills/n8n-expression-testing/SKILL.md +434 -0
  94. package/assets/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
  95. package/assets/skills/n8n-security-testing/SKILL.md +599 -0
  96. package/assets/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
  97. package/assets/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
  98. package/assets/skills/pair-programming/SKILL.md +1202 -0
  99. package/assets/skills/performance-analysis/SKILL.md +563 -0
  100. package/assets/skills/performance-testing/SKILL.md +310 -0
  101. package/assets/skills/quality-metrics/SKILL.md +225 -0
  102. package/assets/skills/reasoningbank-agentdb/SKILL.md +446 -0
  103. package/assets/skills/reasoningbank-intelligence/SKILL.md +201 -0
  104. package/assets/skills/refactoring-patterns/SKILL.md +205 -0
  105. package/assets/skills/regression-testing/SKILL.md +227 -0
  106. package/assets/skills/risk-based-testing/SKILL.md +206 -0
  107. package/assets/skills/security-testing/SKILL.md +306 -0
  108. package/assets/skills/sherlock-review/SKILL.md +250 -0
  109. package/assets/skills/shift-left-testing/SKILL.md +225 -0
  110. package/assets/skills/shift-right-testing/SKILL.md +227 -0
  111. package/assets/skills/six-thinking-hats/README.md +190 -0
  112. package/assets/skills/six-thinking-hats/SKILL.md +280 -0
  113. package/assets/skills/six-thinking-hats/resources/examples/api-testing-example.md +345 -0
  114. package/assets/skills/six-thinking-hats/resources/templates/solo-session-template.md +167 -0
  115. package/assets/skills/six-thinking-hats/resources/templates/team-session-template.md +336 -0
  116. package/assets/skills/skill-builder/SKILL.md +910 -0
  117. package/assets/skills/sparc-methodology/SKILL.md +1115 -0
  118. package/assets/skills/stream-chain/SKILL.md +563 -0
  119. package/assets/skills/swarm-advanced/SKILL.md +973 -0
  120. package/assets/skills/swarm-orchestration/SKILL.md +179 -0
  121. package/assets/skills/tdd-london-chicago/SKILL.md +244 -0
  122. package/assets/skills/technical-writing/SKILL.md +178 -0
  123. package/assets/skills/test-automation-strategy/SKILL.md +230 -0
  124. package/assets/skills/test-data-management/SKILL.md +270 -0
  125. package/assets/skills/test-design-techniques/SKILL.md +244 -0
  126. package/assets/skills/test-environment-management/SKILL.md +243 -0
  127. package/assets/skills/test-reporting-analytics/SKILL.md +214 -0
  128. package/assets/skills/testability-scoring/README.md +71 -0
  129. package/assets/skills/testability-scoring/SKILL.md +346 -0
  130. package/assets/skills/testability-scoring/resources/templates/config.template.js +84 -0
  131. package/assets/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
  132. package/assets/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
  133. package/assets/skills/testability-scoring/scripts/run-assessment.sh +70 -0
  134. package/assets/skills/v3-qe-chaos-resilience/SKILL.md +238 -0
  135. package/assets/skills/v3-qe-code-intelligence/SKILL.md +209 -0
  136. package/assets/skills/v3-qe-contract-testing/SKILL.md +218 -0
  137. package/assets/skills/v3-qe-coverage-analysis/SKILL.md +187 -0
  138. package/assets/skills/v3-qe-defect-intelligence/SKILL.md +205 -0
  139. package/assets/skills/v3-qe-learning-optimization/SKILL.md +238 -0
  140. package/assets/skills/v3-qe-quality-assessment/SKILL.md +213 -0
  141. package/assets/skills/v3-qe-requirements-validation/SKILL.md +248 -0
  142. package/assets/skills/v3-qe-test-execution/SKILL.md +182 -0
  143. package/assets/skills/v3-qe-test-generation/SKILL.md +141 -0
  144. package/assets/skills/v3-qe-visual-accessibility/SKILL.md +242 -0
  145. package/assets/skills/verification-quality/SKILL.md +649 -0
  146. package/assets/skills/visual-testing-advanced/SKILL.md +219 -0
  147. package/assets/skills/xp-practices/SKILL.md +229 -0
  148. package/dist/cli/bundle.js +23 -13
  149. package/dist/init/agents-installer.js +4 -4
  150. package/dist/init/agents-installer.js.map +1 -1
  151. package/dist/init/init-wizard.d.ts.map +1 -1
  152. package/dist/init/init-wizard.js +15 -5
  153. package/dist/init/init-wizard.js.map +1 -1
  154. package/dist/init/skills-installer.js +4 -4
  155. package/dist/init/skills-installer.js.map +1 -1
  156. package/package.json +7 -1
  157. package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
  158. package/implementation/README.md +0 -90
  159. package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
  160. package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
  161. package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
  162. package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
  163. package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
  164. package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
  165. package/implementation/adrs/ADR-036-result-persistence.md +0 -326
  166. package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
  167. package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
  168. package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
  169. package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
  170. package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
  171. package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
  172. package/implementation/adrs/v3-adrs.md +0 -2783
  173. package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
  174. package/security-scan-report-2026-01-11.md +0 -410
  175. package/security-verification-report-2026-01-11.md +0 -278
  176. package/src/benchmarks/performance-benchmarks.ts +0 -646
  177. package/src/benchmarks/run-benchmarks.ts +0 -324
  178. package/src/causal-discovery/causal-graph.ts +0 -450
  179. package/src/causal-discovery/discovery-engine.ts +0 -438
  180. package/src/causal-discovery/index.ts +0 -117
  181. package/src/causal-discovery/types.ts +0 -456
  182. package/src/causal-discovery/weight-matrix.ts +0 -453
  183. package/src/cli/commands/qe-tools.ts +0 -634
  184. package/src/cli/index.ts +0 -1976
  185. package/src/compatibility/agent-mapper.ts +0 -291
  186. package/src/compatibility/cli-adapter.ts +0 -277
  187. package/src/compatibility/config-migrator.ts +0 -334
  188. package/src/compatibility/index.ts +0 -112
  189. package/src/compatibility/mcp-adapter.ts +0 -248
  190. package/src/compatibility/types.ts +0 -156
  191. package/src/coordination/claims/claim-repository.ts +0 -636
  192. package/src/coordination/claims/claim-service.ts +0 -675
  193. package/src/coordination/claims/handoff-manager.ts +0 -535
  194. package/src/coordination/claims/index.ts +0 -276
  195. package/src/coordination/claims/interfaces.ts +0 -687
  196. package/src/coordination/claims/work-stealing.ts +0 -436
  197. package/src/coordination/cross-domain-router.ts +0 -492
  198. package/src/coordination/index.ts +0 -127
  199. package/src/coordination/interfaces.ts +0 -691
  200. package/src/coordination/protocol-executor.ts +0 -760
  201. package/src/coordination/protocols/code-intelligence-index.ts +0 -855
  202. package/src/coordination/protocols/defect-investigation.ts +0 -1184
  203. package/src/coordination/protocols/index.ts +0 -11
  204. package/src/coordination/protocols/learning-consolidation.ts +0 -1181
  205. package/src/coordination/protocols/morning-sync.ts +0 -1055
  206. package/src/coordination/protocols/quality-gate.ts +0 -1566
  207. package/src/coordination/protocols/security-audit.ts +0 -1587
  208. package/src/coordination/queen-coordinator.ts +0 -1176
  209. package/src/coordination/result-saver.ts +0 -780
  210. package/src/coordination/task-executor.ts +0 -1146
  211. package/src/coordination/workflow-orchestrator.ts +0 -1917
  212. package/src/domains/chaos-resilience/coordinator.ts +0 -1032
  213. package/src/domains/chaos-resilience/index.ts +0 -143
  214. package/src/domains/chaos-resilience/interfaces.ts +0 -659
  215. package/src/domains/chaos-resilience/plugin.ts +0 -691
  216. package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
  217. package/src/domains/chaos-resilience/services/index.ts +0 -19
  218. package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
  219. package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
  220. package/src/domains/code-intelligence/coordinator.ts +0 -631
  221. package/src/domains/code-intelligence/index.ts +0 -86
  222. package/src/domains/code-intelligence/interfaces.ts +0 -162
  223. package/src/domains/code-intelligence/plugin.ts +0 -451
  224. package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
  225. package/src/domains/code-intelligence/services/index.ts +0 -26
  226. package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
  227. package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
  228. package/src/domains/contract-testing/coordinator.ts +0 -1038
  229. package/src/domains/contract-testing/index.ts +0 -122
  230. package/src/domains/contract-testing/interfaces.ts +0 -458
  231. package/src/domains/contract-testing/plugin.ts +0 -746
  232. package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
  233. package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
  234. package/src/domains/contract-testing/services/index.ts +0 -19
  235. package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
  236. package/src/domains/coverage-analysis/coordinator.ts +0 -485
  237. package/src/domains/coverage-analysis/index.ts +0 -114
  238. package/src/domains/coverage-analysis/interfaces.ts +0 -142
  239. package/src/domains/coverage-analysis/plugin.ts +0 -172
  240. package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
  241. package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
  242. package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
  243. package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
  244. package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
  245. package/src/domains/coverage-analysis/services/index.ts +0 -61
  246. package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
  247. package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
  248. package/src/domains/defect-intelligence/coordinator.ts +0 -635
  249. package/src/domains/defect-intelligence/index.ts +0 -83
  250. package/src/domains/defect-intelligence/interfaces.ts +0 -152
  251. package/src/domains/defect-intelligence/plugin.ts +0 -483
  252. package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
  253. package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
  254. package/src/domains/defect-intelligence/services/index.ts +0 -37
  255. package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
  256. package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
  257. package/src/domains/domain-interface.ts +0 -77
  258. package/src/domains/index.ts +0 -23
  259. package/src/domains/learning-optimization/coordinator.ts +0 -1215
  260. package/src/domains/learning-optimization/index.ts +0 -127
  261. package/src/domains/learning-optimization/interfaces.ts +0 -570
  262. package/src/domains/learning-optimization/plugin.ts +0 -851
  263. package/src/domains/learning-optimization/services/index.ts +0 -29
  264. package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
  265. package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
  266. package/src/domains/learning-optimization/services/production-intel.ts +0 -971
  267. package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
  268. package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
  269. package/src/domains/quality-assessment/coherence/index.ts +0 -211
  270. package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
  271. package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
  272. package/src/domains/quality-assessment/coherence/types.ts +0 -384
  273. package/src/domains/quality-assessment/coordinator.ts +0 -605
  274. package/src/domains/quality-assessment/index.ts +0 -97
  275. package/src/domains/quality-assessment/interfaces.ts +0 -152
  276. package/src/domains/quality-assessment/plugin.ts +0 -496
  277. package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
  278. package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
  279. package/src/domains/quality-assessment/services/index.ts +0 -34
  280. package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
  281. package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
  282. package/src/domains/requirements-validation/coordinator.ts +0 -812
  283. package/src/domains/requirements-validation/index.ts +0 -92
  284. package/src/domains/requirements-validation/interfaces.ts +0 -303
  285. package/src/domains/requirements-validation/plugin.ts +0 -576
  286. package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
  287. package/src/domains/requirements-validation/services/index.ts +0 -20
  288. package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
  289. package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
  290. package/src/domains/security-compliance/coordinator.ts +0 -757
  291. package/src/domains/security-compliance/index.ts +0 -120
  292. package/src/domains/security-compliance/interfaces.ts +0 -434
  293. package/src/domains/security-compliance/plugin.ts +0 -509
  294. package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
  295. package/src/domains/security-compliance/services/index.ts +0 -31
  296. package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
  297. package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
  298. package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
  299. package/src/domains/test-execution/coordinator.ts +0 -426
  300. package/src/domains/test-execution/index.ts +0 -76
  301. package/src/domains/test-execution/interfaces.ts +0 -119
  302. package/src/domains/test-execution/plugin.ts +0 -208
  303. package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
  304. package/src/domains/test-execution/services/index.ts +0 -8
  305. package/src/domains/test-execution/services/retry-handler.ts +0 -820
  306. package/src/domains/test-execution/services/test-executor.ts +0 -885
  307. package/src/domains/test-generation/coordinator.ts +0 -656
  308. package/src/domains/test-generation/index.ts +0 -77
  309. package/src/domains/test-generation/interfaces.ts +0 -118
  310. package/src/domains/test-generation/plugin.ts +0 -397
  311. package/src/domains/test-generation/services/index.ts +0 -23
  312. package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
  313. package/src/domains/test-generation/services/test-generator.ts +0 -2750
  314. package/src/domains/visual-accessibility/coordinator.ts +0 -860
  315. package/src/domains/visual-accessibility/index.ts +0 -116
  316. package/src/domains/visual-accessibility/interfaces.ts +0 -435
  317. package/src/domains/visual-accessibility/plugin.ts +0 -568
  318. package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
  319. package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
  320. package/src/domains/visual-accessibility/services/index.ts +0 -28
  321. package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
  322. package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
  323. package/src/early-exit/early-exit-controller.ts +0 -490
  324. package/src/early-exit/early-exit-decision.ts +0 -391
  325. package/src/early-exit/index.ts +0 -115
  326. package/src/early-exit/quality-signal.ts +0 -389
  327. package/src/early-exit/speculative-executor.ts +0 -505
  328. package/src/early-exit/types.ts +0 -407
  329. package/src/feedback/coverage-learner.ts +0 -456
  330. package/src/feedback/feedback-loop.ts +0 -426
  331. package/src/feedback/index.ts +0 -72
  332. package/src/feedback/pattern-promotion.ts +0 -373
  333. package/src/feedback/quality-score-calculator.ts +0 -334
  334. package/src/feedback/test-outcome-tracker.ts +0 -450
  335. package/src/feedback/types.ts +0 -497
  336. package/src/index.ts +0 -224
  337. package/src/init/agents-installer.ts +0 -536
  338. package/src/init/index.ts +0 -80
  339. package/src/init/init-wizard.ts +0 -1061
  340. package/src/init/project-analyzer.ts +0 -696
  341. package/src/init/self-configurator.ts +0 -488
  342. package/src/init/skills-installer.ts +0 -467
  343. package/src/init/types.ts +0 -432
  344. package/src/integrations/ruvector/ast-complexity.ts +0 -470
  345. package/src/integrations/ruvector/coverage-router.ts +0 -594
  346. package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
  347. package/src/integrations/ruvector/fallback.ts +0 -942
  348. package/src/integrations/ruvector/graph-boundaries.ts +0 -809
  349. package/src/integrations/ruvector/index.ts +0 -363
  350. package/src/integrations/ruvector/interfaces.ts +0 -609
  351. package/src/integrations/ruvector/q-learning-router.ts +0 -550
  352. package/src/kernel/agent-coordinator.ts +0 -165
  353. package/src/kernel/agentdb-backend.ts +0 -504
  354. package/src/kernel/event-bus.ts +0 -129
  355. package/src/kernel/hybrid-backend.ts +0 -538
  356. package/src/kernel/index.ts +0 -28
  357. package/src/kernel/interfaces.ts +0 -257
  358. package/src/kernel/kernel.ts +0 -285
  359. package/src/kernel/memory-backend.ts +0 -169
  360. package/src/kernel/memory-factory.ts +0 -293
  361. package/src/kernel/plugin-loader.ts +0 -179
  362. package/src/learning/index.ts +0 -219
  363. package/src/learning/pattern-store.ts +0 -990
  364. package/src/learning/qe-guidance.ts +0 -832
  365. package/src/learning/qe-hooks.ts +0 -644
  366. package/src/learning/qe-patterns.ts +0 -449
  367. package/src/learning/qe-reasoning-bank.ts +0 -951
  368. package/src/learning/real-embeddings.ts +0 -277
  369. package/src/learning/real-qe-reasoning-bank.ts +0 -833
  370. package/src/learning/sqlite-persistence.ts +0 -554
  371. package/src/mcp/entry.ts +0 -59
  372. package/src/mcp/handlers/agent-handlers.ts +0 -285
  373. package/src/mcp/handlers/core-handlers.ts +0 -317
  374. package/src/mcp/handlers/domain-handlers.ts +0 -1444
  375. package/src/mcp/handlers/index.ts +0 -57
  376. package/src/mcp/handlers/memory-handlers.ts +0 -338
  377. package/src/mcp/handlers/task-handlers.ts +0 -363
  378. package/src/mcp/index.ts +0 -30
  379. package/src/mcp/metrics/index.ts +0 -14
  380. package/src/mcp/metrics/metrics-collector.ts +0 -503
  381. package/src/mcp/protocol-server.ts +0 -752
  382. package/src/mcp/security/cve-prevention.ts +0 -742
  383. package/src/mcp/security/index.ts +0 -356
  384. package/src/mcp/security/oauth21-provider.ts +0 -821
  385. package/src/mcp/security/rate-limiter.ts +0 -615
  386. package/src/mcp/security/sampling-server.ts +0 -662
  387. package/src/mcp/security/schema-validator.ts +0 -855
  388. package/src/mcp/server.ts +0 -657
  389. package/src/mcp/tool-registry.ts +0 -391
  390. package/src/mcp/tools/base.ts +0 -399
  391. package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
  392. package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
  393. package/src/mcp/tools/contract-testing/validate.ts +0 -708
  394. package/src/mcp/tools/coverage-analysis/index.ts +0 -770
  395. package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
  396. package/src/mcp/tools/index.ts +0 -214
  397. package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
  398. package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
  399. package/src/mcp/tools/registry.ts +0 -248
  400. package/src/mcp/tools/requirements-validation/validate.ts +0 -394
  401. package/src/mcp/tools/security-compliance/scan.ts +0 -365
  402. package/src/mcp/tools/test-execution/execute.ts +0 -291
  403. package/src/mcp/tools/test-generation/generate.ts +0 -544
  404. package/src/mcp/tools/visual-accessibility/index.ts +0 -791
  405. package/src/mcp/transport/index.ts +0 -31
  406. package/src/mcp/transport/stdio.ts +0 -318
  407. package/src/mcp/types.ts +0 -543
  408. package/src/neural-optimizer/index.ts +0 -111
  409. package/src/neural-optimizer/replay-buffer.ts +0 -455
  410. package/src/neural-optimizer/swarm-topology.ts +0 -508
  411. package/src/neural-optimizer/topology-optimizer.ts +0 -828
  412. package/src/neural-optimizer/types.ts +0 -481
  413. package/src/neural-optimizer/value-network.ts +0 -351
  414. package/src/optimization/auto-tuner.ts +0 -817
  415. package/src/optimization/index.ts +0 -77
  416. package/src/optimization/metric-collectors.ts +0 -474
  417. package/src/optimization/qe-workers.ts +0 -704
  418. package/src/optimization/tuning-algorithm.ts +0 -401
  419. package/src/optimization/types.ts +0 -314
  420. package/src/routing/index.ts +0 -51
  421. package/src/routing/qe-agent-registry.ts +0 -963
  422. package/src/routing/qe-task-router.ts +0 -564
  423. package/src/routing/routing-feedback.ts +0 -365
  424. package/src/routing/types.ts +0 -406
  425. package/src/shared/embeddings/embedding-cache.ts +0 -157
  426. package/src/shared/embeddings/index.ts +0 -50
  427. package/src/shared/embeddings/nomic-embedder.ts +0 -404
  428. package/src/shared/embeddings/ollama-client.ts +0 -195
  429. package/src/shared/embeddings/types.ts +0 -147
  430. package/src/shared/entities/agent.ts +0 -141
  431. package/src/shared/entities/base-entity.ts +0 -79
  432. package/src/shared/entities/index.ts +0 -6
  433. package/src/shared/events/domain-events.ts +0 -259
  434. package/src/shared/events/index.ts +0 -5
  435. package/src/shared/git/git-analyzer.ts +0 -656
  436. package/src/shared/git/index.ts +0 -11
  437. package/src/shared/http/http-client.ts +0 -420
  438. package/src/shared/http/index.ts +0 -13
  439. package/src/shared/index.ts +0 -41
  440. package/src/shared/io/file-reader.ts +0 -525
  441. package/src/shared/io/index.ts +0 -25
  442. package/src/shared/llm/cache.ts +0 -473
  443. package/src/shared/llm/circuit-breaker.ts +0 -369
  444. package/src/shared/llm/cost-tracker.ts +0 -460
  445. package/src/shared/llm/index.ts +0 -140
  446. package/src/shared/llm/interfaces.ts +0 -629
  447. package/src/shared/llm/provider-manager.ts +0 -685
  448. package/src/shared/llm/providers/claude.ts +0 -524
  449. package/src/shared/llm/providers/index.ts +0 -8
  450. package/src/shared/llm/providers/ollama.ts +0 -575
  451. package/src/shared/llm/providers/openai.ts +0 -609
  452. package/src/shared/metrics/code-metrics.ts +0 -520
  453. package/src/shared/metrics/index.ts +0 -23
  454. package/src/shared/metrics/system-metrics.ts +0 -353
  455. package/src/shared/parsers/index.ts +0 -6
  456. package/src/shared/parsers/typescript-parser.ts +0 -841
  457. package/src/shared/security/compliance-patterns.ts +0 -666
  458. package/src/shared/security/index.ts +0 -30
  459. package/src/shared/security/osv-client.ts +0 -468
  460. package/src/shared/types/index.ts +0 -150
  461. package/src/shared/value-objects/index.ts +0 -273
  462. package/src/strange-loop/healing-controller.ts +0 -833
  463. package/src/strange-loop/index.ts +0 -104
  464. package/src/strange-loop/self-model.ts +0 -494
  465. package/src/strange-loop/strange-loop.ts +0 -446
  466. package/src/strange-loop/swarm-observer.ts +0 -448
  467. package/src/strange-loop/topology-analyzer.ts +0 -565
  468. package/src/strange-loop/types.ts +0 -640
  469. package/src/time-crystal/default-phases.ts +0 -520
  470. package/src/time-crystal/index.ts +0 -164
  471. package/src/time-crystal/oscillator.ts +0 -425
  472. package/src/time-crystal/phase-executor.ts +0 -521
  473. package/src/time-crystal/scheduler.ts +0 -1025
  474. package/src/time-crystal/test-runner.ts +0 -787
  475. package/src/time-crystal/types.ts +0 -421
  476. package/src/workers/base-worker.ts +0 -304
  477. package/src/workers/daemon.ts +0 -264
  478. package/src/workers/index.ts +0 -119
  479. package/src/workers/interfaces.ts +0 -393
  480. package/src/workers/worker-manager.ts +0 -424
  481. package/src/workers/workers/compliance-checker.ts +0 -445
  482. package/src/workers/workers/coverage-tracker.ts +0 -344
  483. package/src/workers/workers/defect-predictor.ts +0 -375
  484. package/src/workers/workers/flaky-detector.ts +0 -390
  485. package/src/workers/workers/index.ts +0 -17
  486. package/src/workers/workers/learning-consolidation.ts +0 -442
  487. package/src/workers/workers/performance-baseline.ts +0 -434
  488. package/src/workers/workers/quality-gate.ts +0 -419
  489. package/src/workers/workers/regression-monitor.ts +0 -357
  490. package/src/workers/workers/security-scan.ts +0 -349
  491. package/src/workers/workers/test-health.ts +0 -359
  492. package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
  493. package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
  494. package/tests/integration/coordination/protocol-executor.test.ts +0 -454
  495. package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
  496. package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
  497. package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
  498. package/tests/integration/parsers/typescript-parser.test.ts +0 -463
  499. package/tests/integration/security/vulnerability-detection.test.ts +0 -628
  500. package/tests/integration/test-execution/coordinator.test.ts +0 -410
  501. package/tests/integration/test-generation/coordinator.test.ts +0 -361
  502. package/tests/mocks/index.ts +0 -228
  503. package/tests/time-crystal/default-phases.test.ts +0 -476
  504. package/tests/time-crystal/oscillator.test.ts +0 -541
  505. package/tests/time-crystal/phase-executor.test.ts +0 -653
  506. package/tests/time-crystal/scheduler.test.ts +0 -626
  507. package/tests/time-crystal/test-runner.test.ts +0 -594
  508. package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
  509. package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
  510. package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
  511. package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
  512. package/tests/unit/cli/cli.test.ts +0 -341
  513. package/tests/unit/cli/commands.test.ts +0 -414
  514. package/tests/unit/cli/init-command.test.ts +0 -274
  515. package/tests/unit/cli/migrate-command.test.ts +0 -396
  516. package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
  517. package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
  518. package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
  519. package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
  520. package/tests/unit/coordination/result-saver.test.ts +0 -653
  521. package/tests/unit/coordination/task-executor.test.ts +0 -810
  522. package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
  523. package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
  524. package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
  525. package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
  526. package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
  527. package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
  528. package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
  529. package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
  530. package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
  531. package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
  532. package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
  533. package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
  534. package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
  535. package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
  536. package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
  537. package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
  538. package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
  539. package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
  540. package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
  541. package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
  542. package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
  543. package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
  544. package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
  545. package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
  546. package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
  547. package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
  548. package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
  549. package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
  550. package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
  551. package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
  552. package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
  553. package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
  554. package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
  555. package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
  556. package/tests/unit/early-exit/index.test.ts +0 -254
  557. package/tests/unit/early-exit/quality-signal.test.ts +0 -589
  558. package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
  559. package/tests/unit/feedback/coverage-learner.test.ts +0 -288
  560. package/tests/unit/feedback/feedback-loop.test.ts +0 -458
  561. package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
  562. package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
  563. package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
  564. package/tests/unit/init/init-wizard.test.ts +0 -881
  565. package/tests/unit/init/project-analyzer.test.ts +0 -807
  566. package/tests/unit/init/self-configurator.test.ts +0 -493
  567. package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
  568. package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
  569. package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
  570. package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
  571. package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
  572. package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
  573. package/tests/unit/kernel/event-bus.test.ts +0 -197
  574. package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
  575. package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
  576. package/tests/unit/mcp/mcp-server.test.ts +0 -544
  577. package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
  578. package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
  579. package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
  580. package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
  581. package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
  582. package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
  583. package/tests/unit/mcp/tools/base.test.ts +0 -336
  584. package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
  585. package/tests/unit/mcp/tools/registry.test.ts +0 -240
  586. package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
  587. package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
  588. package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
  589. package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
  590. package/tests/unit/optimization/auto-tuner.test.ts +0 -506
  591. package/tests/unit/optimization/metric-collectors.test.ts +0 -352
  592. package/tests/unit/optimization/qe-workers.test.ts +0 -407
  593. package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
  594. package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
  595. package/tests/unit/routing/qe-task-router.test.ts +0 -390
  596. package/tests/unit/routing/routing-feedback.test.ts +0 -339
  597. package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
  598. package/tests/unit/shared/http/http-client.test.ts +0 -719
  599. package/tests/unit/shared/io/file-reader.test.ts +0 -511
  600. package/tests/unit/shared/llm/cache.test.ts +0 -391
  601. package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
  602. package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
  603. package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
  604. package/tests/unit/shared/llm/providers.test.ts +0 -532
  605. package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
  606. package/tests/unit/shared/value-objects.test.ts +0 -184
  607. package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
  608. package/tests/unit/workers/base-worker.test.ts +0 -341
  609. package/tests/unit/workers/daemon.test.ts +0 -291
  610. package/tests/unit/workers/worker-manager.test.ts +0 -284
  611. package/tsconfig.json +0 -32
  612. package/vitest.config.ts +0 -27
@@ -1,832 +0,0 @@
1
- /**
2
- * Agentic QE v3 - QE Guidance Templates
3
- * ADR-021: QE ReasoningBank for Pattern Learning
4
- *
5
- * Domain-specific guidance templates that provide context-aware
6
- * recommendations to agents when generating tests or analyzing quality.
7
- */
8
-
9
- import type { QEDomain, QEPatternType, TestFramework, ProgrammingLanguage } from './qe-patterns.js';
10
-
11
- // ============================================================================
12
- // Guidance Template Types
13
- // ============================================================================
14
-
15
- /**
16
- * Domain guidance configuration
17
- */
18
- export interface QEGuidance {
19
- /** QE domain this guidance applies to */
20
- readonly domain: QEDomain;
21
-
22
- /** Priority-ordered best practices */
23
- readonly bestPractices: string[];
24
-
25
- /** Common anti-patterns to avoid */
26
- readonly antiPatterns: AntiPattern[];
27
-
28
- /** Framework-specific guidance */
29
- readonly frameworkGuidance: Record<TestFramework, string[]>;
30
-
31
- /** Language-specific guidance */
32
- readonly languageGuidance: Record<ProgrammingLanguage, string[]>;
33
-
34
- /** Example templates */
35
- readonly examples: GuidanceExample[];
36
- }
37
-
38
- /**
39
- * Anti-pattern to avoid
40
- */
41
- export interface AntiPattern {
42
- /** Name of the anti-pattern */
43
- readonly name: string;
44
-
45
- /** Description of what to avoid */
46
- readonly description: string;
47
-
48
- /** Why it's problematic */
49
- readonly reason: string;
50
-
51
- /** Better alternative */
52
- readonly alternative: string;
53
-
54
- /** Detection pattern (regex) */
55
- readonly detection?: string;
56
- }
57
-
58
- /**
59
- * Example for guidance
60
- */
61
- export interface GuidanceExample {
62
- /** Example title */
63
- readonly title: string;
64
-
65
- /** Description */
66
- readonly description: string;
67
-
68
- /** Code or content */
69
- readonly content: string;
70
-
71
- /** Language/framework */
72
- readonly context: {
73
- language?: ProgrammingLanguage;
74
- framework?: TestFramework;
75
- };
76
- }
77
-
78
- // ============================================================================
79
- // Domain Guidance Templates
80
- // ============================================================================
81
-
82
- /**
83
- * Test Generation Domain Guidance
84
- */
85
- export const TEST_GENERATION_GUIDANCE: QEGuidance = {
86
- domain: 'test-generation',
87
- bestPractices: [
88
- 'Follow Arrange-Act-Assert (AAA) pattern for clear test structure',
89
- 'One logical assertion per test - test one behavior at a time',
90
- 'Use descriptive test names: should_returnValue_when_condition',
91
- 'Mock external dependencies to isolate unit under test',
92
- 'Test edge cases and boundary conditions, not just happy paths',
93
- 'Keep tests deterministic - avoid time-dependent assertions',
94
- 'Use test data builders or factories for complex objects',
95
- 'Prefer integration tests for workflows, unit tests for logic',
96
- 'Maintain test independence - no shared mutable state between tests',
97
- 'Write failing test first (TDD Red) before implementation',
98
- ],
99
- antiPatterns: [
100
- {
101
- name: 'God Test',
102
- description: 'A single test that verifies too many behaviors',
103
- reason: 'Hard to diagnose failures, brittle, slow to run',
104
- alternative: 'Split into focused tests, each verifying one behavior',
105
- detection: 'expect.*expect.*expect.*expect.*expect',
106
- },
107
- {
108
- name: 'Mystery Guest',
109
- description: 'Test relies on external data files or state not visible in test',
110
- reason: 'Tests are hard to understand and maintain',
111
- alternative: 'Make test data explicit within the test or use fixtures',
112
- },
113
- {
114
- name: 'Eager Test',
115
- description: 'Test that verifies more than needed for the current behavior',
116
- reason: 'Creates unnecessary coupling, breaks easily',
117
- alternative: 'Only assert what is necessary for this specific test case',
118
- },
119
- {
120
- name: 'Flaky Assertion',
121
- description: 'Assertions that depend on timing, order, or external state',
122
- reason: 'Creates unreliable test suite, erodes trust',
123
- alternative: 'Use deterministic assertions, mock time/random',
124
- detection: 'setTimeout|Date\\.now|Math\\.random',
125
- },
126
- {
127
- name: 'Test Code Duplication',
128
- description: 'Same setup or assertion code repeated across tests',
129
- reason: 'Maintenance burden, inconsistency risk',
130
- alternative: 'Extract to beforeEach, helpers, or fixtures',
131
- },
132
- ],
133
- frameworkGuidance: {
134
- jest: [
135
- 'Use describe blocks to group related tests',
136
- 'Prefer toEqual for deep equality, toBe for primitives',
137
- 'Use jest.mock() at module level for consistent mocking',
138
- 'Use jest.spyOn for partial mocking of objects',
139
- 'Enable --coverage to track test coverage',
140
- ],
141
- vitest: [
142
- 'Use vi.mock() for module mocking',
143
- 'Prefer vi.fn() over jest.fn() syntax',
144
- 'Use vitest/ui for interactive test debugging',
145
- 'Enable browser mode for component tests',
146
- 'Use inline snapshots for small expected values',
147
- ],
148
- mocha: [
149
- 'Use beforeEach/afterEach for setup/teardown',
150
- 'Combine with chai for assertions',
151
- 'Use sinon for spies, stubs, and mocks',
152
- 'Set appropriate timeouts for async tests',
153
- ],
154
- pytest: [
155
- 'Use fixtures for reusable test setup',
156
- 'Use parametrize for data-driven tests',
157
- 'Use conftest.py for shared fixtures',
158
- 'Use pytest.raises for exception testing',
159
- 'Use pytest-cov for coverage reporting',
160
- ],
161
- junit: [
162
- 'Use @BeforeEach and @AfterEach for setup/teardown',
163
- 'Use @DisplayName for readable test names',
164
- 'Use @ParameterizedTest for data-driven tests',
165
- 'Use Mockito for mocking dependencies',
166
- ],
167
- testng: [
168
- 'Use @BeforeMethod and @AfterMethod appropriately',
169
- 'Use @DataProvider for parameterized tests',
170
- 'Configure test groups for selective execution',
171
- ],
172
- playwright: [
173
- 'Use page.locator() for resilient element selection',
174
- 'Use expect(locator) for auto-waiting assertions',
175
- 'Use page.waitForLoadState for navigation',
176
- 'Use test.describe for grouping tests',
177
- 'Use fixtures for reusable browser contexts',
178
- ],
179
- cypress: [
180
- 'Use cy.intercept() for API mocking',
181
- 'Avoid conditional testing - use deterministic state',
182
- 'Use data-cy attributes for stable selectors',
183
- 'Use cy.within() for scoped queries',
184
- 'Prefer cy.contains() for text-based selection',
185
- ],
186
- selenium: [
187
- 'Use explicit waits over implicit waits',
188
- 'Use Page Object Model for maintainability',
189
- 'Handle stale element references with retry logic',
190
- 'Clean up browser state between tests',
191
- ],
192
- },
193
- languageGuidance: {
194
- typescript: [
195
- 'Use type assertions in tests for better IDE support',
196
- 'Create typed test fixtures and builders',
197
- 'Use satisfies operator for test data validation',
198
- 'Mock types with ts-mockito or typed mocking libs',
199
- ],
200
- javascript: [
201
- 'Use JSDoc comments for test documentation',
202
- 'Consider TypeScript for larger test suites',
203
- 'Use ESLint with testing plugins',
204
- ],
205
- python: [
206
- 'Use type hints in test functions',
207
- 'Use dataclasses for test data',
208
- 'Follow PEP 8 naming: test_should_do_something',
209
- ],
210
- java: [
211
- 'Use AssertJ for fluent assertions',
212
- 'Use Lombok for test data classes',
213
- 'Follow naming: shouldDoSomething_whenCondition',
214
- ],
215
- go: [
216
- 'Use table-driven tests for multiple cases',
217
- 'Use testify for assertions and mocking',
218
- 'Place tests in _test.go files',
219
- ],
220
- rust: [
221
- 'Use #[test] attribute for test functions',
222
- 'Use assert!, assert_eq!, assert_ne! macros',
223
- 'Place unit tests in same file with #[cfg(test)]',
224
- ],
225
- csharp: [
226
- 'Use xUnit or NUnit for testing',
227
- 'Use FluentAssertions for readable assertions',
228
- 'Use Moq for mocking interfaces',
229
- ],
230
- kotlin: [
231
- 'Use kotest for BDD-style testing',
232
- 'Use MockK for Kotlin-first mocking',
233
- 'Use data classes for test fixtures',
234
- ],
235
- },
236
- examples: [
237
- {
238
- title: 'Unit Test Template (TypeScript + Vitest)',
239
- description: 'Standard AAA pattern for unit tests',
240
- content: `describe('UserService', () => {
241
- describe('createUser', () => {
242
- it('should create user with valid data', async () => {
243
- // Arrange
244
- const userData = { name: 'John', email: 'john@example.com' };
245
- const mockRepo = { save: vi.fn().mockResolvedValue({ id: '1', ...userData }) };
246
- const service = new UserService(mockRepo);
247
-
248
- // Act
249
- const result = await service.createUser(userData);
250
-
251
- // Assert
252
- expect(result.id).toBeDefined();
253
- expect(result.name).toBe(userData.name);
254
- expect(mockRepo.save).toHaveBeenCalledWith(userData);
255
- });
256
-
257
- it('should throw when email is invalid', async () => {
258
- // Arrange
259
- const userData = { name: 'John', email: 'invalid' };
260
- const service = new UserService(mockRepo);
261
-
262
- // Act & Assert
263
- await expect(service.createUser(userData))
264
- .rejects.toThrow('Invalid email');
265
- });
266
- });
267
- });`,
268
- context: { language: 'typescript', framework: 'vitest' },
269
- },
270
- ],
271
- };
272
-
273
- /**
274
- * Coverage Analysis Domain Guidance
275
- */
276
- export const COVERAGE_ANALYSIS_GUIDANCE: QEGuidance = {
277
- domain: 'coverage-analysis',
278
- bestPractices: [
279
- 'Focus on risk-weighted coverage, not just percentage',
280
- 'Prioritize untested critical paths and business logic',
281
- 'Use mutation testing to validate test quality beyond line coverage',
282
- 'Target branch coverage over statement coverage',
283
- 'Use O(log n) sublinear algorithms for large codebases',
284
- 'Track coverage trends over time, not just snapshots',
285
- 'Exclude generated code, config, and third-party from metrics',
286
- 'Set realistic targets: 80% coverage for critical code',
287
- 'Identify coverage gaps by risk, not just location',
288
- 'Use coverage as a guide, not a goal',
289
- ],
290
- antiPatterns: [
291
- {
292
- name: 'Coverage Chasing',
293
- description: 'Writing tests just to increase coverage percentage',
294
- reason: 'Low-quality tests that exercise code without verifying behavior',
295
- alternative: 'Write tests that verify behavior, measure mutation score',
296
- },
297
- {
298
- name: 'Ignoring Branches',
299
- description: 'Only tracking line coverage, missing conditional branches',
300
- reason: 'Miss critical edge cases in conditionals',
301
- alternative: 'Track branch coverage and ensure all paths tested',
302
- },
303
- {
304
- name: 'Coverage Ratchet Too Tight',
305
- description: 'Requiring 100% coverage on all code',
306
- reason: 'Leads to test pollution, hard to maintain',
307
- alternative: 'Risk-based coverage targets, allow exceptions',
308
- },
309
- ],
310
- frameworkGuidance: {
311
- jest: ['Use --coverage flag', 'Configure coverageThreshold in jest.config'],
312
- vitest: ['Use --coverage flag', 'Use c8 or istanbul provider'],
313
- mocha: ['Use nyc (Istanbul) for coverage'],
314
- pytest: ['Use pytest-cov plugin', 'Use --cov flag'],
315
- junit: ['Use JaCoCo for coverage reporting'],
316
- testng: ['Use JaCoCo with TestNG'],
317
- playwright: ['Use coverage API for browser code coverage'],
318
- cypress: ['Use @cypress/code-coverage plugin'],
319
- selenium: ['Integrate with build tool coverage (Maven/Gradle)'],
320
- },
321
- languageGuidance: {
322
- typescript: ['Use c8 or istanbul for Node.js coverage'],
323
- javascript: ['Use nyc or c8 for coverage'],
324
- python: ['Use coverage.py or pytest-cov'],
325
- java: ['Use JaCoCo or Cobertura'],
326
- go: ['Use go test -cover', 'Use go tool cover for reports'],
327
- rust: ['Use cargo-tarpaulin or grcov'],
328
- csharp: ['Use coverlet or OpenCover'],
329
- kotlin: ['Use JaCoCo with Kotlin support'],
330
- },
331
- examples: [],
332
- };
333
-
334
- /**
335
- * Mutation Testing Domain Guidance
336
- */
337
- export const MUTATION_TESTING_GUIDANCE: QEGuidance = {
338
- domain: 'test-generation', // Mutation testing is part of test generation
339
- bestPractices: [
340
- 'Use mutation testing to validate test suite quality',
341
- 'Focus on surviving mutants - they indicate weak tests',
342
- 'Target 80%+ mutation score for critical business logic',
343
- 'Run mutation testing on changed files in CI (incremental)',
344
- 'Analyze equivalent mutants to avoid false negatives',
345
- 'Combine with coverage for comprehensive test quality metrics',
346
- 'Prioritize fixing tests that let important mutants survive',
347
- 'Use timeout-based mutation killing for performance',
348
- ],
349
- antiPatterns: [
350
- {
351
- name: 'Mutation Score Obsession',
352
- description: 'Trying to kill every mutant regardless of value',
353
- reason: 'Some mutants are equivalent or in non-critical code',
354
- alternative: 'Focus on mutants in critical business logic',
355
- },
356
- {
357
- name: 'Running Full Suite',
358
- description: 'Running mutation testing on entire codebase every time',
359
- reason: 'Extremely slow, discourages regular use',
360
- alternative: 'Run incrementally on changed files',
361
- },
362
- ],
363
- frameworkGuidance: {
364
- jest: ['Use Stryker with @stryker-mutator/jest-runner'],
365
- vitest: ['Use Stryker with @stryker-mutator/vitest-runner'],
366
- mocha: ['Use Stryker with @stryker-mutator/mocha-runner'],
367
- pytest: ['Use mutmut or cosmic-ray'],
368
- junit: ['Use PITest (PIT) for Java mutation testing'],
369
- testng: ['Use PITest with TestNG'],
370
- playwright: ['Limited support - focus on unit tests'],
371
- cypress: ['Limited support - focus on unit tests'],
372
- selenium: ['Limited support - focus on unit tests'],
373
- },
374
- languageGuidance: {
375
- typescript: ['Use Stryker for TypeScript mutation testing'],
376
- javascript: ['Use Stryker for JavaScript'],
377
- python: ['Use mutmut or cosmic-ray'],
378
- java: ['Use PITest (most mature Java mutator)'],
379
- go: ['Use go-mutesting or gremlins'],
380
- rust: ['Use cargo-mutants'],
381
- csharp: ['Use Stryker.NET'],
382
- kotlin: ['Use PITest with Kotlin plugin'],
383
- },
384
- examples: [],
385
- };
386
-
387
- /**
388
- * API Testing Domain Guidance
389
- */
390
- export const API_TESTING_GUIDANCE: QEGuidance = {
391
- domain: 'contract-testing',
392
- bestPractices: [
393
- 'Use contract testing for API boundaries (Pact, etc.)',
394
- 'Test both successful and error responses',
395
- 'Validate response schemas, not just status codes',
396
- 'Test authentication and authorization flows',
397
- 'Use realistic test data, not just "test" strings',
398
- 'Test rate limiting and pagination',
399
- 'Verify idempotency for applicable operations',
400
- 'Test with different content types (JSON, XML)',
401
- 'Document APIs with OpenAPI/Swagger specs',
402
- 'Use consumer-driven contracts for microservices',
403
- ],
404
- antiPatterns: [
405
- {
406
- name: 'Testing Implementation',
407
- description: 'Tests that verify internal implementation details',
408
- reason: 'Breaks when implementation changes, even if behavior unchanged',
409
- alternative: 'Test the contract and behavior, not implementation',
410
- },
411
- {
412
- name: 'Hardcoded URLs',
413
- description: 'API URLs hardcoded in tests',
414
- reason: 'Fails across environments, hard to maintain',
415
- alternative: 'Use environment variables or config files',
416
- },
417
- {
418
- name: 'No Schema Validation',
419
- description: 'Only checking status codes, not response structure',
420
- reason: 'Miss contract violations that break consumers',
421
- alternative: 'Validate response against OpenAPI schema',
422
- },
423
- ],
424
- frameworkGuidance: {
425
- jest: ['Use supertest for HTTP testing'],
426
- vitest: ['Use supertest or fetch for HTTP testing'],
427
- mocha: ['Use supertest with chai-http'],
428
- pytest: ['Use requests or httpx for API testing'],
429
- junit: ['Use REST Assured for API testing'],
430
- testng: ['Use REST Assured with TestNG'],
431
- playwright: ['Use API testing with request context'],
432
- cypress: ['Use cy.request() for API testing'],
433
- selenium: ['Integrate with API testing libraries separately'],
434
- },
435
- languageGuidance: {
436
- typescript: ['Use supertest, got, or axios'],
437
- javascript: ['Use supertest, got, or axios'],
438
- python: ['Use requests, httpx, or pytest-httpx'],
439
- java: ['Use REST Assured or OkHttp'],
440
- go: ['Use net/http/httptest package'],
441
- rust: ['Use reqwest for HTTP testing'],
442
- csharp: ['Use RestSharp or HttpClient'],
443
- kotlin: ['Use Fuel or Ktor client'],
444
- },
445
- examples: [],
446
- };
447
-
448
- /**
449
- * Security Testing Domain Guidance
450
- */
451
- export const SECURITY_TESTING_GUIDANCE: QEGuidance = {
452
- domain: 'security-compliance',
453
- bestPractices: [
454
- 'Follow OWASP Top 10 for vulnerability testing',
455
- 'Test authentication bypass scenarios',
456
- 'Test SQL injection in all input fields',
457
- 'Test XSS in all output contexts',
458
- 'Verify CSRF protection on state-changing operations',
459
- 'Test authorization for all endpoints and actions',
460
- 'Scan dependencies for known vulnerabilities (SCA)',
461
- 'Use SAST tools in CI/CD pipeline',
462
- 'Test secrets management and exposure',
463
- 'Validate input sanitization and output encoding',
464
- ],
465
- antiPatterns: [
466
- {
467
- name: 'Security by Obscurity',
468
- description: 'Relying on hidden endpoints or non-standard auth',
469
- reason: 'Security through obscurity always fails',
470
- alternative: 'Use standard authentication and authorization',
471
- },
472
- {
473
- name: 'Testing Only Happy Path',
474
- description: 'Only testing valid inputs',
475
- reason: 'Miss injection and bypass vulnerabilities',
476
- alternative: 'Test with malicious inputs and edge cases',
477
- },
478
- ],
479
- frameworkGuidance: {
480
- jest: ['Use for testing security functions and middleware'],
481
- vitest: ['Use for testing security functions and middleware'],
482
- mocha: ['Use for testing security functions'],
483
- pytest: ['Use for testing security functions'],
484
- junit: ['Use for testing security functions'],
485
- testng: ['Use for testing security functions'],
486
- playwright: ['Test for XSS, CSRF in browser context'],
487
- cypress: ['Test for XSS, CSRF in browser context'],
488
- selenium: ['Test for XSS, CSRF in browser context'],
489
- },
490
- languageGuidance: {
491
- typescript: ['Use snyk, npm audit for dependency scanning'],
492
- javascript: ['Use snyk, npm audit for dependency scanning'],
493
- python: ['Use bandit for SAST, safety for SCA'],
494
- java: ['Use SpotBugs, FindSecBugs for SAST'],
495
- go: ['Use gosec for security scanning'],
496
- rust: ['Use cargo-audit for vulnerability scanning'],
497
- csharp: ['Use Security Code Scan for SAST'],
498
- kotlin: ['Use detekt with security rules'],
499
- },
500
- examples: [],
501
- };
502
-
503
- /**
504
- * Visual Testing Domain Guidance
505
- */
506
- export const VISUAL_TESTING_GUIDANCE: QEGuidance = {
507
- domain: 'visual-accessibility',
508
- bestPractices: [
509
- 'Capture screenshots at consistent viewport sizes',
510
- 'Use baseline images for comparison',
511
- 'Handle dynamic content (dates, avatars) with masks',
512
- 'Test across multiple browsers and devices',
513
- 'Use percy or chromatic for visual regression',
514
- 'Maintain baseline images in version control',
515
- 'Set appropriate diff thresholds for noise tolerance',
516
- 'Test responsive breakpoints systematically',
517
- 'Capture full-page and component screenshots',
518
- 'Use stable selectors for screenshot regions',
519
- ],
520
- antiPatterns: [
521
- {
522
- name: 'Pixel-Perfect Obsession',
523
- description: 'Zero tolerance for any pixel differences',
524
- reason: 'Anti-aliasing and rendering differences cause false failures',
525
- alternative: 'Use appropriate diff thresholds (typically 0.1-5%)',
526
- },
527
- {
528
- name: 'Unmasked Dynamic Content',
529
- description: 'Not masking timestamps, avatars, ads',
530
- reason: 'Causes constant baseline updates',
531
- alternative: 'Mask or mock dynamic content consistently',
532
- },
533
- ],
534
- frameworkGuidance: {
535
- jest: ['Use jest-image-snapshot'],
536
- vitest: ['Use vitest-image-snapshot'],
537
- mocha: ['Use chai-image-snapshot'],
538
- pytest: ['Use pytest-playwright with screenshots'],
539
- junit: ['Use ashot for Java screenshot comparison'],
540
- testng: ['Use ashot with TestNG'],
541
- playwright: ['Use expect(page).toHaveScreenshot()'],
542
- cypress: ['Use cypress-image-snapshot or percy'],
543
- selenium: ['Use ashot or built-in screenshot'],
544
- },
545
- languageGuidance: {
546
- typescript: ['Use playwright or puppeteer for screenshots'],
547
- javascript: ['Use playwright or puppeteer for screenshots'],
548
- python: ['Use playwright-python or selenium'],
549
- java: ['Use ashot with Selenium'],
550
- go: ['Use chromedp for browser automation'],
551
- rust: ['Use headless-chrome or fantoccini'],
552
- csharp: ['Use Selenium with screenshot comparison'],
553
- kotlin: ['Use Selenium or Playwright with Kotlin'],
554
- },
555
- examples: [],
556
- };
557
-
558
- /**
559
- * Accessibility Testing Domain Guidance
560
- */
561
- export const ACCESSIBILITY_GUIDANCE: QEGuidance = {
562
- domain: 'visual-accessibility',
563
- bestPractices: [
564
- 'Follow WCAG 2.1 AA guidelines as minimum',
565
- 'Test with screen readers (NVDA, VoiceOver)',
566
- 'Ensure keyboard navigation works completely',
567
- 'Verify color contrast meets requirements',
568
- 'Test focus management and order',
569
- 'Use automated tools (axe-core) for baseline',
570
- 'Include users with disabilities in testing',
571
- 'Check ARIA attributes are correct and necessary',
572
- 'Test with browser zoom up to 200%',
573
- 'Verify form labels and error messages',
574
- ],
575
- antiPatterns: [
576
- {
577
- name: 'ARIA Overuse',
578
- description: 'Adding ARIA attributes instead of semantic HTML',
579
- reason: 'Native semantics are better supported',
580
- alternative: 'Use semantic HTML first, ARIA only when needed',
581
- },
582
- {
583
- name: 'Automated-Only Testing',
584
- description: 'Relying solely on automated accessibility tools',
585
- reason: 'Catches only ~30% of accessibility issues',
586
- alternative: 'Combine automated testing with manual and user testing',
587
- },
588
- ],
589
- frameworkGuidance: {
590
- jest: ['Use jest-axe for accessibility assertions'],
591
- vitest: ['Use vitest-axe or axe-core directly'],
592
- mocha: ['Use axe-core with chai assertions'],
593
- pytest: ['Use axe-selenium-python'],
594
- junit: ['Use axe-selenium-java'],
595
- testng: ['Use axe-selenium-java with TestNG'],
596
- playwright: ['Use @axe-core/playwright'],
597
- cypress: ['Use cypress-axe'],
598
- selenium: ['Use axe-webdriverjs or axe-selenium'],
599
- },
600
- languageGuidance: {
601
- typescript: ['Use axe-core with TypeScript types'],
602
- javascript: ['Use axe-core for automated checks'],
603
- python: ['Use axe-selenium-python'],
604
- java: ['Use axe-selenium-java'],
605
- go: ['Limited support - use browser-based tools'],
606
- rust: ['Limited support - use browser-based tools'],
607
- csharp: ['Use Selenium.Axe'],
608
- kotlin: ['Use axe-selenium-java with Kotlin'],
609
- },
610
- examples: [],
611
- };
612
-
613
- /**
614
- * Performance Testing Domain Guidance
615
- */
616
- export const PERFORMANCE_GUIDANCE: QEGuidance = {
617
- domain: 'chaos-resilience',
618
- bestPractices: [
619
- 'Define clear SLAs and performance budgets',
620
- 'Test under realistic load patterns',
621
- 'Monitor resource usage (CPU, memory, network)',
622
- 'Test both response time and throughput',
623
- 'Include performance tests in CI/CD',
624
- 'Use production-like test environments',
625
- 'Test with realistic data volumes',
626
- 'Profile before optimizing',
627
- 'Test under peak and sustained load',
628
- 'Monitor for memory leaks during extended tests',
629
- ],
630
- antiPatterns: [
631
- {
632
- name: 'Production Load Testing',
633
- description: 'Running load tests against production',
634
- reason: 'Can cause outages and affect real users',
635
- alternative: 'Use staging environment with production-like data',
636
- },
637
- {
638
- name: 'Single-Metric Focus',
639
- description: 'Only measuring response time',
640
- reason: 'Miss throughput, resource, and concurrency issues',
641
- alternative: 'Track response time, throughput, errors, resources',
642
- },
643
- ],
644
- frameworkGuidance: {
645
- jest: ['Use for micro-benchmarks only'],
646
- vitest: ['Use bench() for micro-benchmarks'],
647
- mocha: ['Use for micro-benchmarks only'],
648
- pytest: ['Use pytest-benchmark for micro-benchmarks'],
649
- junit: ['Use JMH for micro-benchmarks'],
650
- testng: ['Use JMH with TestNG'],
651
- playwright: ['Use for frontend performance metrics'],
652
- cypress: ['Use for frontend performance metrics'],
653
- selenium: ['Limited - use dedicated perf tools'],
654
- },
655
- languageGuidance: {
656
- typescript: ['Use k6, artillery, or autocannon'],
657
- javascript: ['Use k6, artillery, or autocannon'],
658
- python: ['Use locust for load testing'],
659
- java: ['Use JMeter, Gatling, or k6'],
660
- go: ['Use vegeta or hey for load testing'],
661
- rust: ['Use criterion for benchmarks, drill for load'],
662
- csharp: ['Use NBomber or k6'],
663
- kotlin: ['Use Gatling with Kotlin DSL'],
664
- },
665
- examples: [],
666
- };
667
-
668
- // ============================================================================
669
- // Guidance Registry
670
- // ============================================================================
671
-
672
- /**
673
- * All domain guidance templates
674
- */
675
- export const QE_GUIDANCE_REGISTRY: Record<QEDomain, QEGuidance> = {
676
- 'test-generation': TEST_GENERATION_GUIDANCE,
677
- 'test-execution': TEST_GENERATION_GUIDANCE, // Reuse test generation guidance
678
- 'coverage-analysis': COVERAGE_ANALYSIS_GUIDANCE,
679
- 'quality-assessment': TEST_GENERATION_GUIDANCE, // Quality gate guidance
680
- 'defect-intelligence': TEST_GENERATION_GUIDANCE, // Defect tracking guidance
681
- 'requirements-validation': TEST_GENERATION_GUIDANCE, // BDD guidance
682
- 'code-intelligence': COVERAGE_ANALYSIS_GUIDANCE, // Code analysis guidance
683
- 'security-compliance': SECURITY_TESTING_GUIDANCE,
684
- 'contract-testing': API_TESTING_GUIDANCE,
685
- 'visual-accessibility': VISUAL_TESTING_GUIDANCE, // Combined visual + a11y
686
- 'chaos-resilience': PERFORMANCE_GUIDANCE,
687
- 'learning-optimization': TEST_GENERATION_GUIDANCE, // ML optimization guidance
688
- };
689
-
690
- // ============================================================================
691
- // Guidance Provider Functions
692
- // ============================================================================
693
-
694
- /**
695
- * Get guidance for a specific domain
696
- */
697
- export function getGuidance(domain: QEDomain): QEGuidance {
698
- return QE_GUIDANCE_REGISTRY[domain];
699
- }
700
-
701
- /**
702
- * Get framework-specific guidance
703
- */
704
- export function getFrameworkGuidance(
705
- domain: QEDomain,
706
- framework: TestFramework
707
- ): string[] {
708
- const guidance = QE_GUIDANCE_REGISTRY[domain];
709
- return guidance.frameworkGuidance[framework] || [];
710
- }
711
-
712
- /**
713
- * Get language-specific guidance
714
- */
715
- export function getLanguageGuidance(
716
- domain: QEDomain,
717
- language: ProgrammingLanguage
718
- ): string[] {
719
- const guidance = QE_GUIDANCE_REGISTRY[domain];
720
- return guidance.languageGuidance[language] || [];
721
- }
722
-
723
- /**
724
- * Get combined guidance for a specific context
725
- */
726
- export function getCombinedGuidance(
727
- domain: QEDomain,
728
- context: {
729
- framework?: TestFramework;
730
- language?: ProgrammingLanguage;
731
- includeAntiPatterns?: boolean;
732
- }
733
- ): string[] {
734
- const guidance = QE_GUIDANCE_REGISTRY[domain];
735
- const combined: string[] = [...guidance.bestPractices];
736
-
737
- if (context.framework) {
738
- const frameworkGuide = guidance.frameworkGuidance[context.framework];
739
- if (frameworkGuide) {
740
- combined.push(...frameworkGuide.map((g) => `[${context.framework}] ${g}`));
741
- }
742
- }
743
-
744
- if (context.language) {
745
- const langGuide = guidance.languageGuidance[context.language];
746
- if (langGuide) {
747
- combined.push(...langGuide.map((g) => `[${context.language}] ${g}`));
748
- }
749
- }
750
-
751
- if (context.includeAntiPatterns) {
752
- for (const ap of guidance.antiPatterns) {
753
- combined.push(`[AVOID] ${ap.name}: ${ap.description}`);
754
- }
755
- }
756
-
757
- return combined;
758
- }
759
-
760
- /**
761
- * Check content against anti-patterns
762
- */
763
- export function checkAntiPatterns(
764
- domain: QEDomain,
765
- content: string
766
- ): AntiPattern[] {
767
- const guidance = QE_GUIDANCE_REGISTRY[domain];
768
- const detected: AntiPattern[] = [];
769
-
770
- for (const antiPattern of guidance.antiPatterns) {
771
- if (antiPattern.detection) {
772
- const regex = new RegExp(antiPattern.detection, 'gi');
773
- if (regex.test(content)) {
774
- detected.push(antiPattern);
775
- }
776
- }
777
- }
778
-
779
- return detected;
780
- }
781
-
782
- /**
783
- * Generate Claude-visible guidance context
784
- */
785
- export function generateGuidanceContext(
786
- domain: QEDomain,
787
- context: {
788
- framework?: TestFramework;
789
- language?: ProgrammingLanguage;
790
- taskDescription?: string;
791
- }
792
- ): string {
793
- const guidance = QE_GUIDANCE_REGISTRY[domain];
794
- const lines: string[] = [];
795
-
796
- lines.push(`## QE Guidance: ${domain}`);
797
- lines.push('');
798
- lines.push('### Best Practices');
799
- for (const practice of guidance.bestPractices.slice(0, 5)) {
800
- lines.push(`- ${practice}`);
801
- }
802
-
803
- if (context.framework) {
804
- const frameworkGuide = guidance.frameworkGuidance[context.framework];
805
- if (frameworkGuide && frameworkGuide.length > 0) {
806
- lines.push('');
807
- lines.push(`### ${context.framework} Tips`);
808
- for (const tip of frameworkGuide.slice(0, 3)) {
809
- lines.push(`- ${tip}`);
810
- }
811
- }
812
- }
813
-
814
- if (context.language) {
815
- const langGuide = guidance.languageGuidance[context.language];
816
- if (langGuide && langGuide.length > 0) {
817
- lines.push('');
818
- lines.push(`### ${context.language} Tips`);
819
- for (const tip of langGuide.slice(0, 3)) {
820
- lines.push(`- ${tip}`);
821
- }
822
- }
823
- }
824
-
825
- lines.push('');
826
- lines.push('### Anti-Patterns to Avoid');
827
- for (const ap of guidance.antiPatterns.slice(0, 3)) {
828
- lines.push(`- **${ap.name}**: ${ap.description}`);
829
- }
830
-
831
- return lines.join('\n');
832
- }