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

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 (609) 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 +8 -8
  149. package/dist/init/agents-installer.js +4 -4
  150. package/dist/init/agents-installer.js.map +1 -1
  151. package/dist/init/skills-installer.js +4 -4
  152. package/dist/init/skills-installer.js.map +1 -1
  153. package/package.json +7 -1
  154. package/docs/analysis/V3-INIT-REQUIREMENTS-ANALYSIS.md +0 -352
  155. package/implementation/README.md +0 -90
  156. package/implementation/adrs/ADR-030-coherence-gated-quality-gates.md +0 -312
  157. package/implementation/adrs/ADR-031-strange-loop-self-awareness.md +0 -484
  158. package/implementation/adrs/ADR-032-time-crystal-scheduling.md +0 -530
  159. package/implementation/adrs/ADR-033-early-exit-testing.md +0 -634
  160. package/implementation/adrs/ADR-034-neural-topology-optimizer.md +0 -589
  161. package/implementation/adrs/ADR-035-causal-discovery.md +0 -610
  162. package/implementation/adrs/ADR-036-result-persistence.md +0 -326
  163. package/implementation/adrs/ADR-037-v3-qe-agent-naming.md +0 -105
  164. package/implementation/adrs/ADR-038-v3-qe-memory-unification.md +0 -154
  165. package/implementation/adrs/ADR-039-v3-qe-mcp-optimization.md +0 -179
  166. package/implementation/adrs/ADR-040-v3-qe-agentic-flow-integration.md +0 -240
  167. package/implementation/adrs/ADR-041-v3-qe-cli-enhancement.md +0 -296
  168. package/implementation/adrs/ADR-042-v3-qe-token-tracking-integration.md +0 -517
  169. package/implementation/adrs/v3-adrs.md +0 -2783
  170. package/implementation/planning/AQE-V3-MASTER-PLAN.md +0 -815
  171. package/security-scan-report-2026-01-11.md +0 -410
  172. package/security-verification-report-2026-01-11.md +0 -278
  173. package/src/benchmarks/performance-benchmarks.ts +0 -646
  174. package/src/benchmarks/run-benchmarks.ts +0 -324
  175. package/src/causal-discovery/causal-graph.ts +0 -450
  176. package/src/causal-discovery/discovery-engine.ts +0 -438
  177. package/src/causal-discovery/index.ts +0 -117
  178. package/src/causal-discovery/types.ts +0 -456
  179. package/src/causal-discovery/weight-matrix.ts +0 -453
  180. package/src/cli/commands/qe-tools.ts +0 -634
  181. package/src/cli/index.ts +0 -1976
  182. package/src/compatibility/agent-mapper.ts +0 -291
  183. package/src/compatibility/cli-adapter.ts +0 -277
  184. package/src/compatibility/config-migrator.ts +0 -334
  185. package/src/compatibility/index.ts +0 -112
  186. package/src/compatibility/mcp-adapter.ts +0 -248
  187. package/src/compatibility/types.ts +0 -156
  188. package/src/coordination/claims/claim-repository.ts +0 -636
  189. package/src/coordination/claims/claim-service.ts +0 -675
  190. package/src/coordination/claims/handoff-manager.ts +0 -535
  191. package/src/coordination/claims/index.ts +0 -276
  192. package/src/coordination/claims/interfaces.ts +0 -687
  193. package/src/coordination/claims/work-stealing.ts +0 -436
  194. package/src/coordination/cross-domain-router.ts +0 -492
  195. package/src/coordination/index.ts +0 -127
  196. package/src/coordination/interfaces.ts +0 -691
  197. package/src/coordination/protocol-executor.ts +0 -760
  198. package/src/coordination/protocols/code-intelligence-index.ts +0 -855
  199. package/src/coordination/protocols/defect-investigation.ts +0 -1184
  200. package/src/coordination/protocols/index.ts +0 -11
  201. package/src/coordination/protocols/learning-consolidation.ts +0 -1181
  202. package/src/coordination/protocols/morning-sync.ts +0 -1055
  203. package/src/coordination/protocols/quality-gate.ts +0 -1566
  204. package/src/coordination/protocols/security-audit.ts +0 -1587
  205. package/src/coordination/queen-coordinator.ts +0 -1176
  206. package/src/coordination/result-saver.ts +0 -780
  207. package/src/coordination/task-executor.ts +0 -1146
  208. package/src/coordination/workflow-orchestrator.ts +0 -1917
  209. package/src/domains/chaos-resilience/coordinator.ts +0 -1032
  210. package/src/domains/chaos-resilience/index.ts +0 -143
  211. package/src/domains/chaos-resilience/interfaces.ts +0 -659
  212. package/src/domains/chaos-resilience/plugin.ts +0 -691
  213. package/src/domains/chaos-resilience/services/chaos-engineer.ts +0 -1097
  214. package/src/domains/chaos-resilience/services/index.ts +0 -19
  215. package/src/domains/chaos-resilience/services/load-tester.ts +0 -799
  216. package/src/domains/chaos-resilience/services/performance-profiler.ts +0 -792
  217. package/src/domains/code-intelligence/coordinator.ts +0 -631
  218. package/src/domains/code-intelligence/index.ts +0 -86
  219. package/src/domains/code-intelligence/interfaces.ts +0 -162
  220. package/src/domains/code-intelligence/plugin.ts +0 -451
  221. package/src/domains/code-intelligence/services/impact-analyzer.ts +0 -567
  222. package/src/domains/code-intelligence/services/index.ts +0 -26
  223. package/src/domains/code-intelligence/services/knowledge-graph.ts +0 -1067
  224. package/src/domains/code-intelligence/services/semantic-analyzer.ts +0 -901
  225. package/src/domains/contract-testing/coordinator.ts +0 -1038
  226. package/src/domains/contract-testing/index.ts +0 -122
  227. package/src/domains/contract-testing/interfaces.ts +0 -458
  228. package/src/domains/contract-testing/plugin.ts +0 -746
  229. package/src/domains/contract-testing/services/api-compatibility.ts +0 -748
  230. package/src/domains/contract-testing/services/contract-validator.ts +0 -1700
  231. package/src/domains/contract-testing/services/index.ts +0 -19
  232. package/src/domains/contract-testing/services/schema-validator.ts +0 -1102
  233. package/src/domains/coverage-analysis/coordinator.ts +0 -485
  234. package/src/domains/coverage-analysis/index.ts +0 -114
  235. package/src/domains/coverage-analysis/interfaces.ts +0 -142
  236. package/src/domains/coverage-analysis/plugin.ts +0 -172
  237. package/src/domains/coverage-analysis/services/coverage-analyzer.ts +0 -449
  238. package/src/domains/coverage-analysis/services/coverage-embedder.ts +0 -733
  239. package/src/domains/coverage-analysis/services/coverage-parser.ts +0 -753
  240. package/src/domains/coverage-analysis/services/gap-detector.ts +0 -592
  241. package/src/domains/coverage-analysis/services/hnsw-index.ts +0 -728
  242. package/src/domains/coverage-analysis/services/index.ts +0 -61
  243. package/src/domains/coverage-analysis/services/risk-scorer.ts +0 -540
  244. package/src/domains/coverage-analysis/services/sublinear-analyzer.ts +0 -747
  245. package/src/domains/defect-intelligence/coordinator.ts +0 -635
  246. package/src/domains/defect-intelligence/index.ts +0 -83
  247. package/src/domains/defect-intelligence/interfaces.ts +0 -152
  248. package/src/domains/defect-intelligence/plugin.ts +0 -483
  249. package/src/domains/defect-intelligence/services/causal-root-cause-analyzer.ts +0 -494
  250. package/src/domains/defect-intelligence/services/defect-predictor.ts +0 -852
  251. package/src/domains/defect-intelligence/services/index.ts +0 -37
  252. package/src/domains/defect-intelligence/services/pattern-learner.ts +0 -738
  253. package/src/domains/defect-intelligence/services/root-cause-analyzer.ts +0 -637
  254. package/src/domains/domain-interface.ts +0 -77
  255. package/src/domains/index.ts +0 -23
  256. package/src/domains/learning-optimization/coordinator.ts +0 -1215
  257. package/src/domains/learning-optimization/index.ts +0 -127
  258. package/src/domains/learning-optimization/interfaces.ts +0 -570
  259. package/src/domains/learning-optimization/plugin.ts +0 -851
  260. package/src/domains/learning-optimization/services/index.ts +0 -29
  261. package/src/domains/learning-optimization/services/learning-coordinator.ts +0 -972
  262. package/src/domains/learning-optimization/services/metrics-optimizer.ts +0 -915
  263. package/src/domains/learning-optimization/services/production-intel.ts +0 -971
  264. package/src/domains/learning-optimization/services/transfer-specialist.ts +0 -723
  265. package/src/domains/quality-assessment/coherence/gate-controller.ts +0 -549
  266. package/src/domains/quality-assessment/coherence/index.ts +0 -211
  267. package/src/domains/quality-assessment/coherence/lambda-calculator.ts +0 -384
  268. package/src/domains/quality-assessment/coherence/partition-detector.ts +0 -469
  269. package/src/domains/quality-assessment/coherence/types.ts +0 -384
  270. package/src/domains/quality-assessment/coordinator.ts +0 -605
  271. package/src/domains/quality-assessment/index.ts +0 -97
  272. package/src/domains/quality-assessment/interfaces.ts +0 -152
  273. package/src/domains/quality-assessment/plugin.ts +0 -496
  274. package/src/domains/quality-assessment/services/coherence-gate.ts +0 -358
  275. package/src/domains/quality-assessment/services/deployment-advisor.ts +0 -571
  276. package/src/domains/quality-assessment/services/index.ts +0 -34
  277. package/src/domains/quality-assessment/services/quality-analyzer.ts +0 -670
  278. package/src/domains/quality-assessment/services/quality-gate.ts +0 -384
  279. package/src/domains/requirements-validation/coordinator.ts +0 -812
  280. package/src/domains/requirements-validation/index.ts +0 -92
  281. package/src/domains/requirements-validation/interfaces.ts +0 -303
  282. package/src/domains/requirements-validation/plugin.ts +0 -576
  283. package/src/domains/requirements-validation/services/bdd-scenario-writer.ts +0 -676
  284. package/src/domains/requirements-validation/services/index.ts +0 -20
  285. package/src/domains/requirements-validation/services/requirements-validator.ts +0 -559
  286. package/src/domains/requirements-validation/services/testability-scorer.ts +0 -639
  287. package/src/domains/security-compliance/coordinator.ts +0 -757
  288. package/src/domains/security-compliance/index.ts +0 -120
  289. package/src/domains/security-compliance/interfaces.ts +0 -434
  290. package/src/domains/security-compliance/plugin.ts +0 -509
  291. package/src/domains/security-compliance/services/compliance-validator.ts +0 -1226
  292. package/src/domains/security-compliance/services/index.ts +0 -31
  293. package/src/domains/security-compliance/services/security-auditor.ts +0 -2227
  294. package/src/domains/security-compliance/services/security-scanner.ts +0 -2354
  295. package/src/domains/security-compliance/services/semgrep-integration.ts +0 -289
  296. package/src/domains/test-execution/coordinator.ts +0 -426
  297. package/src/domains/test-execution/index.ts +0 -76
  298. package/src/domains/test-execution/interfaces.ts +0 -119
  299. package/src/domains/test-execution/plugin.ts +0 -208
  300. package/src/domains/test-execution/services/flaky-detector.ts +0 -1240
  301. package/src/domains/test-execution/services/index.ts +0 -8
  302. package/src/domains/test-execution/services/retry-handler.ts +0 -820
  303. package/src/domains/test-execution/services/test-executor.ts +0 -885
  304. package/src/domains/test-generation/coordinator.ts +0 -656
  305. package/src/domains/test-generation/index.ts +0 -77
  306. package/src/domains/test-generation/interfaces.ts +0 -118
  307. package/src/domains/test-generation/plugin.ts +0 -397
  308. package/src/domains/test-generation/services/index.ts +0 -23
  309. package/src/domains/test-generation/services/pattern-matcher.ts +0 -1725
  310. package/src/domains/test-generation/services/test-generator.ts +0 -2750
  311. package/src/domains/visual-accessibility/coordinator.ts +0 -860
  312. package/src/domains/visual-accessibility/index.ts +0 -116
  313. package/src/domains/visual-accessibility/interfaces.ts +0 -435
  314. package/src/domains/visual-accessibility/plugin.ts +0 -568
  315. package/src/domains/visual-accessibility/services/accessibility-tester.ts +0 -982
  316. package/src/domains/visual-accessibility/services/axe-core-audit.ts +0 -630
  317. package/src/domains/visual-accessibility/services/index.ts +0 -28
  318. package/src/domains/visual-accessibility/services/responsive-tester.ts +0 -934
  319. package/src/domains/visual-accessibility/services/visual-tester.ts +0 -458
  320. package/src/early-exit/early-exit-controller.ts +0 -490
  321. package/src/early-exit/early-exit-decision.ts +0 -391
  322. package/src/early-exit/index.ts +0 -115
  323. package/src/early-exit/quality-signal.ts +0 -389
  324. package/src/early-exit/speculative-executor.ts +0 -505
  325. package/src/early-exit/types.ts +0 -407
  326. package/src/feedback/coverage-learner.ts +0 -456
  327. package/src/feedback/feedback-loop.ts +0 -426
  328. package/src/feedback/index.ts +0 -72
  329. package/src/feedback/pattern-promotion.ts +0 -373
  330. package/src/feedback/quality-score-calculator.ts +0 -334
  331. package/src/feedback/test-outcome-tracker.ts +0 -450
  332. package/src/feedback/types.ts +0 -497
  333. package/src/index.ts +0 -224
  334. package/src/init/agents-installer.ts +0 -536
  335. package/src/init/index.ts +0 -80
  336. package/src/init/init-wizard.ts +0 -1061
  337. package/src/init/project-analyzer.ts +0 -696
  338. package/src/init/self-configurator.ts +0 -488
  339. package/src/init/skills-installer.ts +0 -467
  340. package/src/init/types.ts +0 -432
  341. package/src/integrations/ruvector/ast-complexity.ts +0 -470
  342. package/src/integrations/ruvector/coverage-router.ts +0 -594
  343. package/src/integrations/ruvector/diff-risk-classifier.ts +0 -759
  344. package/src/integrations/ruvector/fallback.ts +0 -942
  345. package/src/integrations/ruvector/graph-boundaries.ts +0 -809
  346. package/src/integrations/ruvector/index.ts +0 -363
  347. package/src/integrations/ruvector/interfaces.ts +0 -609
  348. package/src/integrations/ruvector/q-learning-router.ts +0 -550
  349. package/src/kernel/agent-coordinator.ts +0 -165
  350. package/src/kernel/agentdb-backend.ts +0 -504
  351. package/src/kernel/event-bus.ts +0 -129
  352. package/src/kernel/hybrid-backend.ts +0 -538
  353. package/src/kernel/index.ts +0 -28
  354. package/src/kernel/interfaces.ts +0 -257
  355. package/src/kernel/kernel.ts +0 -285
  356. package/src/kernel/memory-backend.ts +0 -169
  357. package/src/kernel/memory-factory.ts +0 -293
  358. package/src/kernel/plugin-loader.ts +0 -179
  359. package/src/learning/index.ts +0 -219
  360. package/src/learning/pattern-store.ts +0 -990
  361. package/src/learning/qe-guidance.ts +0 -832
  362. package/src/learning/qe-hooks.ts +0 -644
  363. package/src/learning/qe-patterns.ts +0 -449
  364. package/src/learning/qe-reasoning-bank.ts +0 -951
  365. package/src/learning/real-embeddings.ts +0 -277
  366. package/src/learning/real-qe-reasoning-bank.ts +0 -833
  367. package/src/learning/sqlite-persistence.ts +0 -554
  368. package/src/mcp/entry.ts +0 -59
  369. package/src/mcp/handlers/agent-handlers.ts +0 -285
  370. package/src/mcp/handlers/core-handlers.ts +0 -317
  371. package/src/mcp/handlers/domain-handlers.ts +0 -1444
  372. package/src/mcp/handlers/index.ts +0 -57
  373. package/src/mcp/handlers/memory-handlers.ts +0 -338
  374. package/src/mcp/handlers/task-handlers.ts +0 -363
  375. package/src/mcp/index.ts +0 -30
  376. package/src/mcp/metrics/index.ts +0 -14
  377. package/src/mcp/metrics/metrics-collector.ts +0 -503
  378. package/src/mcp/protocol-server.ts +0 -752
  379. package/src/mcp/security/cve-prevention.ts +0 -742
  380. package/src/mcp/security/index.ts +0 -356
  381. package/src/mcp/security/oauth21-provider.ts +0 -821
  382. package/src/mcp/security/rate-limiter.ts +0 -615
  383. package/src/mcp/security/sampling-server.ts +0 -662
  384. package/src/mcp/security/schema-validator.ts +0 -855
  385. package/src/mcp/server.ts +0 -657
  386. package/src/mcp/tool-registry.ts +0 -391
  387. package/src/mcp/tools/base.ts +0 -399
  388. package/src/mcp/tools/chaos-resilience/inject.ts +0 -699
  389. package/src/mcp/tools/code-intelligence/analyze.ts +0 -745
  390. package/src/mcp/tools/contract-testing/validate.ts +0 -708
  391. package/src/mcp/tools/coverage-analysis/index.ts +0 -770
  392. package/src/mcp/tools/defect-intelligence/predict.ts +0 -466
  393. package/src/mcp/tools/index.ts +0 -214
  394. package/src/mcp/tools/learning-optimization/optimize.ts +0 -772
  395. package/src/mcp/tools/quality-assessment/evaluate.ts +0 -385
  396. package/src/mcp/tools/registry.ts +0 -248
  397. package/src/mcp/tools/requirements-validation/validate.ts +0 -394
  398. package/src/mcp/tools/security-compliance/scan.ts +0 -365
  399. package/src/mcp/tools/test-execution/execute.ts +0 -291
  400. package/src/mcp/tools/test-generation/generate.ts +0 -544
  401. package/src/mcp/tools/visual-accessibility/index.ts +0 -791
  402. package/src/mcp/transport/index.ts +0 -31
  403. package/src/mcp/transport/stdio.ts +0 -318
  404. package/src/mcp/types.ts +0 -543
  405. package/src/neural-optimizer/index.ts +0 -111
  406. package/src/neural-optimizer/replay-buffer.ts +0 -455
  407. package/src/neural-optimizer/swarm-topology.ts +0 -508
  408. package/src/neural-optimizer/topology-optimizer.ts +0 -828
  409. package/src/neural-optimizer/types.ts +0 -481
  410. package/src/neural-optimizer/value-network.ts +0 -351
  411. package/src/optimization/auto-tuner.ts +0 -817
  412. package/src/optimization/index.ts +0 -77
  413. package/src/optimization/metric-collectors.ts +0 -474
  414. package/src/optimization/qe-workers.ts +0 -704
  415. package/src/optimization/tuning-algorithm.ts +0 -401
  416. package/src/optimization/types.ts +0 -314
  417. package/src/routing/index.ts +0 -51
  418. package/src/routing/qe-agent-registry.ts +0 -963
  419. package/src/routing/qe-task-router.ts +0 -564
  420. package/src/routing/routing-feedback.ts +0 -365
  421. package/src/routing/types.ts +0 -406
  422. package/src/shared/embeddings/embedding-cache.ts +0 -157
  423. package/src/shared/embeddings/index.ts +0 -50
  424. package/src/shared/embeddings/nomic-embedder.ts +0 -404
  425. package/src/shared/embeddings/ollama-client.ts +0 -195
  426. package/src/shared/embeddings/types.ts +0 -147
  427. package/src/shared/entities/agent.ts +0 -141
  428. package/src/shared/entities/base-entity.ts +0 -79
  429. package/src/shared/entities/index.ts +0 -6
  430. package/src/shared/events/domain-events.ts +0 -259
  431. package/src/shared/events/index.ts +0 -5
  432. package/src/shared/git/git-analyzer.ts +0 -656
  433. package/src/shared/git/index.ts +0 -11
  434. package/src/shared/http/http-client.ts +0 -420
  435. package/src/shared/http/index.ts +0 -13
  436. package/src/shared/index.ts +0 -41
  437. package/src/shared/io/file-reader.ts +0 -525
  438. package/src/shared/io/index.ts +0 -25
  439. package/src/shared/llm/cache.ts +0 -473
  440. package/src/shared/llm/circuit-breaker.ts +0 -369
  441. package/src/shared/llm/cost-tracker.ts +0 -460
  442. package/src/shared/llm/index.ts +0 -140
  443. package/src/shared/llm/interfaces.ts +0 -629
  444. package/src/shared/llm/provider-manager.ts +0 -685
  445. package/src/shared/llm/providers/claude.ts +0 -524
  446. package/src/shared/llm/providers/index.ts +0 -8
  447. package/src/shared/llm/providers/ollama.ts +0 -575
  448. package/src/shared/llm/providers/openai.ts +0 -609
  449. package/src/shared/metrics/code-metrics.ts +0 -520
  450. package/src/shared/metrics/index.ts +0 -23
  451. package/src/shared/metrics/system-metrics.ts +0 -353
  452. package/src/shared/parsers/index.ts +0 -6
  453. package/src/shared/parsers/typescript-parser.ts +0 -841
  454. package/src/shared/security/compliance-patterns.ts +0 -666
  455. package/src/shared/security/index.ts +0 -30
  456. package/src/shared/security/osv-client.ts +0 -468
  457. package/src/shared/types/index.ts +0 -150
  458. package/src/shared/value-objects/index.ts +0 -273
  459. package/src/strange-loop/healing-controller.ts +0 -833
  460. package/src/strange-loop/index.ts +0 -104
  461. package/src/strange-loop/self-model.ts +0 -494
  462. package/src/strange-loop/strange-loop.ts +0 -446
  463. package/src/strange-loop/swarm-observer.ts +0 -448
  464. package/src/strange-loop/topology-analyzer.ts +0 -565
  465. package/src/strange-loop/types.ts +0 -640
  466. package/src/time-crystal/default-phases.ts +0 -520
  467. package/src/time-crystal/index.ts +0 -164
  468. package/src/time-crystal/oscillator.ts +0 -425
  469. package/src/time-crystal/phase-executor.ts +0 -521
  470. package/src/time-crystal/scheduler.ts +0 -1025
  471. package/src/time-crystal/test-runner.ts +0 -787
  472. package/src/time-crystal/types.ts +0 -421
  473. package/src/workers/base-worker.ts +0 -304
  474. package/src/workers/daemon.ts +0 -264
  475. package/src/workers/index.ts +0 -119
  476. package/src/workers/interfaces.ts +0 -393
  477. package/src/workers/worker-manager.ts +0 -424
  478. package/src/workers/workers/compliance-checker.ts +0 -445
  479. package/src/workers/workers/coverage-tracker.ts +0 -344
  480. package/src/workers/workers/defect-predictor.ts +0 -375
  481. package/src/workers/workers/flaky-detector.ts +0 -390
  482. package/src/workers/workers/index.ts +0 -17
  483. package/src/workers/workers/learning-consolidation.ts +0 -442
  484. package/src/workers/workers/performance-baseline.ts +0 -434
  485. package/src/workers/workers/quality-gate.ts +0 -419
  486. package/src/workers/workers/regression-monitor.ts +0 -357
  487. package/src/workers/workers/security-scan.ts +0 -349
  488. package/src/workers/workers/test-health.ts +0 -359
  489. package/tests/integration/code-intelligence/knowledge-graph-real.test.ts +0 -540
  490. package/tests/integration/coordination/cross-domain-router.test.ts +0 -403
  491. package/tests/integration/coordination/protocol-executor.test.ts +0 -454
  492. package/tests/integration/coordination/workflow-orchestrator.test.ts +0 -418
  493. package/tests/integration/feedback/feedback-loop-integration.test.ts +0 -560
  494. package/tests/integration/migration/v2-to-v3-migration.test.ts +0 -471
  495. package/tests/integration/parsers/typescript-parser.test.ts +0 -463
  496. package/tests/integration/security/vulnerability-detection.test.ts +0 -628
  497. package/tests/integration/test-execution/coordinator.test.ts +0 -410
  498. package/tests/integration/test-generation/coordinator.test.ts +0 -361
  499. package/tests/mocks/index.ts +0 -228
  500. package/tests/time-crystal/default-phases.test.ts +0 -476
  501. package/tests/time-crystal/oscillator.test.ts +0 -541
  502. package/tests/time-crystal/phase-executor.test.ts +0 -653
  503. package/tests/time-crystal/scheduler.test.ts +0 -626
  504. package/tests/time-crystal/test-runner.test.ts +0 -594
  505. package/tests/unit/causal-discovery/causal-graph.test.ts +0 -504
  506. package/tests/unit/causal-discovery/causal-root-cause-analyzer.test.ts +0 -347
  507. package/tests/unit/causal-discovery/discovery-engine.test.ts +0 -435
  508. package/tests/unit/causal-discovery/weight-matrix.test.ts +0 -328
  509. package/tests/unit/cli/cli.test.ts +0 -341
  510. package/tests/unit/cli/commands.test.ts +0 -414
  511. package/tests/unit/cli/init-command.test.ts +0 -274
  512. package/tests/unit/cli/migrate-command.test.ts +0 -396
  513. package/tests/unit/coordination/claims/claim-service.test.ts +0 -949
  514. package/tests/unit/coordination/claims/handoff-manager.test.ts +0 -773
  515. package/tests/unit/coordination/claims/work-stealing.test.ts +0 -492
  516. package/tests/unit/coordination/queen-coordinator.test.ts +0 -966
  517. package/tests/unit/coordination/result-saver.test.ts +0 -653
  518. package/tests/unit/coordination/task-executor.test.ts +0 -810
  519. package/tests/unit/domains/chaos-resilience/chaos-engineer.test.ts +0 -484
  520. package/tests/unit/domains/chaos-resilience/load-tester.test.ts +0 -559
  521. package/tests/unit/domains/chaos-resilience/performance-profiler.test.ts +0 -490
  522. package/tests/unit/domains/code-intelligence/impact-analyzer.test.ts +0 -560
  523. package/tests/unit/domains/code-intelligence/knowledge-graph.test.ts +0 -460
  524. package/tests/unit/domains/code-intelligence/semantic-analyzer.test.ts +0 -584
  525. package/tests/unit/domains/contract-testing/api-compatibility.test.ts +0 -483
  526. package/tests/unit/domains/contract-testing/contract-validator.test.ts +0 -370
  527. package/tests/unit/domains/contract-testing/schema-validator.test.ts +0 -610
  528. package/tests/unit/domains/coverage-analysis/coverage-embedder.test.ts +0 -298
  529. package/tests/unit/domains/coverage-analysis/hnsw-index.test.ts +0 -292
  530. package/tests/unit/domains/coverage-analysis/sublinear-analyzer.test.ts +0 -506
  531. package/tests/unit/domains/defect-intelligence/defect-predictor.test.ts +0 -370
  532. package/tests/unit/domains/defect-intelligence/pattern-learner.test.ts +0 -546
  533. package/tests/unit/domains/defect-intelligence/root-cause-analyzer.test.ts +0 -534
  534. package/tests/unit/domains/learning-optimization/learning-coordinator.test.ts +0 -541
  535. package/tests/unit/domains/learning-optimization/metrics-optimizer.test.ts +0 -552
  536. package/tests/unit/domains/learning-optimization/production-intel.test.ts +0 -589
  537. package/tests/unit/domains/learning-optimization/transfer-specialist.test.ts +0 -453
  538. package/tests/unit/domains/quality-assessment/coherence-gate.test.ts +0 -1006
  539. package/tests/unit/domains/quality-assessment/deployment-advisor.test.ts +0 -515
  540. package/tests/unit/domains/quality-assessment/quality-analyzer.test.ts +0 -401
  541. package/tests/unit/domains/quality-assessment/quality-gate.test.ts +0 -324
  542. package/tests/unit/domains/requirements-validation/bdd-scenario-writer.test.ts +0 -479
  543. package/tests/unit/domains/requirements-validation/requirements-validator.test.ts +0 -452
  544. package/tests/unit/domains/requirements-validation/testability-scorer.test.ts +0 -505
  545. package/tests/unit/domains/security-compliance/compliance-validator.test.ts +0 -500
  546. package/tests/unit/domains/security-compliance/security-auditor.test.ts +0 -498
  547. package/tests/unit/domains/security-compliance/security-scanner.test.ts +0 -412
  548. package/tests/unit/domains/visual-accessibility/accessibility-tester.test.ts +0 -432
  549. package/tests/unit/domains/visual-accessibility/responsive-tester.test.ts +0 -506
  550. package/tests/unit/domains/visual-accessibility/visual-tester.test.ts +0 -412
  551. package/tests/unit/early-exit/early-exit-controller.test.ts +0 -548
  552. package/tests/unit/early-exit/early-exit-decision.test.ts +0 -617
  553. package/tests/unit/early-exit/index.test.ts +0 -254
  554. package/tests/unit/early-exit/quality-signal.test.ts +0 -589
  555. package/tests/unit/early-exit/speculative-executor.test.ts +0 -453
  556. package/tests/unit/feedback/coverage-learner.test.ts +0 -288
  557. package/tests/unit/feedback/feedback-loop.test.ts +0 -458
  558. package/tests/unit/feedback/pattern-promotion.test.ts +0 -390
  559. package/tests/unit/feedback/quality-score-calculator.test.ts +0 -364
  560. package/tests/unit/feedback/test-outcome-tracker.test.ts +0 -243
  561. package/tests/unit/init/init-wizard.test.ts +0 -881
  562. package/tests/unit/init/project-analyzer.test.ts +0 -807
  563. package/tests/unit/init/self-configurator.test.ts +0 -493
  564. package/tests/unit/integrations/ruvector/ast-complexity.test.ts +0 -240
  565. package/tests/unit/integrations/ruvector/coverage-router.test.ts +0 -366
  566. package/tests/unit/integrations/ruvector/diff-risk-classifier.test.ts +0 -340
  567. package/tests/unit/integrations/ruvector/graph-boundaries.test.ts +0 -355
  568. package/tests/unit/integrations/ruvector/q-learning-router.test.ts +0 -314
  569. package/tests/unit/kernel/agent-coordinator.test.ts +0 -220
  570. package/tests/unit/kernel/event-bus.test.ts +0 -197
  571. package/tests/unit/learning/qe-reasoning-bank.test.ts +0 -666
  572. package/tests/unit/learning/real-qe-reasoning-bank.benchmark.test.ts +0 -415
  573. package/tests/unit/mcp/mcp-server.test.ts +0 -544
  574. package/tests/unit/mcp/metrics/metrics-collector.test.ts +0 -340
  575. package/tests/unit/mcp/security/cve-prevention.test.ts +0 -512
  576. package/tests/unit/mcp/security/oauth21-provider.test.ts +0 -624
  577. package/tests/unit/mcp/security/rate-limiter.test.ts +0 -410
  578. package/tests/unit/mcp/security/sampling-server.test.ts +0 -420
  579. package/tests/unit/mcp/security/schema-validator.test.ts +0 -494
  580. package/tests/unit/mcp/tools/base.test.ts +0 -336
  581. package/tests/unit/mcp/tools/domain-tools.test.ts +0 -759
  582. package/tests/unit/mcp/tools/registry.test.ts +0 -240
  583. package/tests/unit/neural-optimizer/replay-buffer.test.ts +0 -403
  584. package/tests/unit/neural-optimizer/swarm-topology.test.ts +0 -473
  585. package/tests/unit/neural-optimizer/topology-optimizer.test.ts +0 -595
  586. package/tests/unit/neural-optimizer/value-network.test.ts +0 -343
  587. package/tests/unit/optimization/auto-tuner.test.ts +0 -506
  588. package/tests/unit/optimization/metric-collectors.test.ts +0 -352
  589. package/tests/unit/optimization/qe-workers.test.ts +0 -407
  590. package/tests/unit/optimization/tuning-algorithm.test.ts +0 -467
  591. package/tests/unit/routing/qe-agent-registry.test.ts +0 -229
  592. package/tests/unit/routing/qe-task-router.test.ts +0 -390
  593. package/tests/unit/routing/routing-feedback.test.ts +0 -339
  594. package/tests/unit/shared/embeddings/nomic-embedder.test.ts +0 -419
  595. package/tests/unit/shared/http/http-client.test.ts +0 -719
  596. package/tests/unit/shared/io/file-reader.test.ts +0 -511
  597. package/tests/unit/shared/llm/cache.test.ts +0 -391
  598. package/tests/unit/shared/llm/circuit-breaker.test.ts +0 -293
  599. package/tests/unit/shared/llm/cost-tracker.test.ts +0 -431
  600. package/tests/unit/shared/llm/provider-manager.test.ts +0 -550
  601. package/tests/unit/shared/llm/providers.test.ts +0 -532
  602. package/tests/unit/shared/parsers/typescript-parser.test.ts +0 -693
  603. package/tests/unit/shared/value-objects.test.ts +0 -184
  604. package/tests/unit/strange-loop/strange-loop.test.ts +0 -1170
  605. package/tests/unit/workers/base-worker.test.ts +0 -341
  606. package/tests/unit/workers/daemon.test.ts +0 -291
  607. package/tests/unit/workers/worker-manager.test.ts +0 -284
  608. package/tsconfig.json +0 -32
  609. 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
- }