agentic-qe 3.3.1 → 3.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/.claude/helpers/statusline-v3.cjs +96 -27
  2. package/README.md +6 -3
  3. package/package.json +1 -1
  4. package/scripts/sync-claude-flow.cjs +99 -0
  5. package/v3/CHANGELOG.md +133 -0
  6. package/v3/README.md +9 -5
  7. package/v3/dist/cli/bundle.js +60879 -51811
  8. package/v3/dist/coordination/consensus/domain-findings.d.ts +202 -0
  9. package/v3/dist/coordination/consensus/domain-findings.d.ts.map +1 -0
  10. package/v3/dist/coordination/consensus/domain-findings.js +66 -0
  11. package/v3/dist/coordination/consensus/domain-findings.js.map +1 -0
  12. package/v3/dist/coordination/consensus/index.d.ts +2 -0
  13. package/v3/dist/coordination/consensus/index.d.ts.map +1 -1
  14. package/v3/dist/coordination/consensus/index.js +4 -0
  15. package/v3/dist/coordination/consensus/index.js.map +1 -1
  16. package/v3/dist/coordination/index.d.ts +1 -0
  17. package/v3/dist/coordination/index.d.ts.map +1 -1
  18. package/v3/dist/coordination/index.js +4 -0
  19. package/v3/dist/coordination/index.js.map +1 -1
  20. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts +225 -0
  21. package/v3/dist/coordination/mixins/consensus-enabled-domain.d.ts.map +1 -0
  22. package/v3/dist/coordination/mixins/consensus-enabled-domain.js +466 -0
  23. package/v3/dist/coordination/mixins/consensus-enabled-domain.js.map +1 -0
  24. package/v3/dist/coordination/mixins/index.d.ts +14 -0
  25. package/v3/dist/coordination/mixins/index.d.ts.map +1 -0
  26. package/v3/dist/coordination/mixins/index.js +28 -0
  27. package/v3/dist/coordination/mixins/index.js.map +1 -0
  28. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts +227 -0
  29. package/v3/dist/coordination/mixins/mincut-aware-domain.d.ts.map +1 -0
  30. package/v3/dist/coordination/mixins/mincut-aware-domain.js +368 -0
  31. package/v3/dist/coordination/mixins/mincut-aware-domain.js.map +1 -0
  32. package/v3/dist/coordination/queen-coordinator.d.ts +23 -1
  33. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  34. package/v3/dist/coordination/queen-coordinator.js +131 -3
  35. package/v3/dist/coordination/queen-coordinator.js.map +1 -1
  36. package/v3/dist/coordination/task-executor.d.ts +21 -1
  37. package/v3/dist/coordination/task-executor.d.ts.map +1 -1
  38. package/v3/dist/coordination/task-executor.js +222 -5
  39. package/v3/dist/coordination/task-executor.js.map +1 -1
  40. package/v3/dist/domains/chaos-resilience/coordinator.d.ts +92 -0
  41. package/v3/dist/domains/chaos-resilience/coordinator.d.ts.map +1 -1
  42. package/v3/dist/domains/chaos-resilience/coordinator.js +241 -1
  43. package/v3/dist/domains/chaos-resilience/coordinator.js.map +1 -1
  44. package/v3/dist/domains/chaos-resilience/plugin.js +1 -1
  45. package/v3/dist/domains/chaos-resilience/plugin.js.map +1 -1
  46. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +29 -2
  47. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.d.ts.map +1 -1
  48. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js +62 -3
  49. package/v3/dist/domains/chaos-resilience/services/chaos-engineer.js.map +1 -1
  50. package/v3/dist/domains/code-intelligence/coordinator.d.ts +112 -0
  51. package/v3/dist/domains/code-intelligence/coordinator.d.ts.map +1 -1
  52. package/v3/dist/domains/code-intelligence/coordinator.js +221 -0
  53. package/v3/dist/domains/code-intelligence/coordinator.js.map +1 -1
  54. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts +66 -2
  55. package/v3/dist/domains/code-intelligence/services/knowledge-graph.d.ts.map +1 -1
  56. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js +253 -3
  57. package/v3/dist/domains/code-intelligence/services/knowledge-graph.js.map +1 -1
  58. package/v3/dist/domains/contract-testing/coordinator.d.ts +89 -1
  59. package/v3/dist/domains/contract-testing/coordinator.d.ts.map +1 -1
  60. package/v3/dist/domains/contract-testing/coordinator.js +222 -1
  61. package/v3/dist/domains/contract-testing/coordinator.js.map +1 -1
  62. package/v3/dist/domains/contract-testing/interfaces.d.ts +29 -1
  63. package/v3/dist/domains/contract-testing/interfaces.d.ts.map +1 -1
  64. package/v3/dist/domains/contract-testing/plugin.js +1 -1
  65. package/v3/dist/domains/contract-testing/plugin.js.map +1 -1
  66. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts +29 -2
  67. package/v3/dist/domains/contract-testing/services/contract-validator.d.ts.map +1 -1
  68. package/v3/dist/domains/contract-testing/services/contract-validator.js +58 -3
  69. package/v3/dist/domains/contract-testing/services/contract-validator.js.map +1 -1
  70. package/v3/dist/domains/coverage-analysis/coordinator.d.ts +95 -2
  71. package/v3/dist/domains/coverage-analysis/coordinator.d.ts.map +1 -1
  72. package/v3/dist/domains/coverage-analysis/coordinator.js +274 -6
  73. package/v3/dist/domains/coverage-analysis/coordinator.js.map +1 -1
  74. package/v3/dist/domains/coverage-analysis/plugin.d.ts +6 -1
  75. package/v3/dist/domains/coverage-analysis/plugin.d.ts.map +1 -1
  76. package/v3/dist/domains/coverage-analysis/plugin.js +73 -0
  77. package/v3/dist/domains/coverage-analysis/plugin.js.map +1 -1
  78. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts +119 -3
  79. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
  80. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
  81. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
  82. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
  83. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
  84. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
  85. package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
  86. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
  87. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  88. package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
  89. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  90. package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
  91. package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
  92. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
  93. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  94. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
  95. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  96. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
  97. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
  98. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
  99. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
  100. package/v3/dist/domains/domain-interface.d.ts +194 -2
  101. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  102. package/v3/dist/domains/domain-interface.js +239 -0
  103. package/v3/dist/domains/domain-interface.js.map +1 -1
  104. package/v3/dist/domains/learning-optimization/coordinator.d.ts +171 -0
  105. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  106. package/v3/dist/domains/learning-optimization/coordinator.js +401 -1
  107. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  108. package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
  109. package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
  110. package/v3/dist/domains/learning-optimization/index.js.map +1 -1
  111. package/v3/dist/domains/learning-optimization/interfaces.d.ts +18 -0
  112. package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
  113. package/v3/dist/domains/learning-optimization/plugin.js +1 -1
  114. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  115. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
  116. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
  117. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
  118. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
  119. package/v3/dist/domains/quality-assessment/coordinator.d.ts +127 -0
  120. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  121. package/v3/dist/domains/quality-assessment/coordinator.js +493 -7
  122. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  123. package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
  124. package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
  125. package/v3/dist/domains/quality-assessment/plugin.d.ts +6 -1
  126. package/v3/dist/domains/quality-assessment/plugin.d.ts.map +1 -1
  127. package/v3/dist/domains/quality-assessment/plugin.js +67 -0
  128. package/v3/dist/domains/quality-assessment/plugin.js.map +1 -1
  129. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
  130. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
  131. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
  132. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
  133. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
  134. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
  135. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
  136. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
  137. package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
  138. package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
  139. package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
  140. package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
  141. package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
  142. package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
  143. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
  144. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
  145. package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
  146. package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
  147. package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
  148. package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
  149. package/v3/dist/domains/security-compliance/coordinator.js +241 -17
  150. package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
  151. package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
  152. package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
  153. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
  154. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  155. package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
  156. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  157. package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
  158. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  159. package/v3/dist/domains/test-execution/coordinator.js +259 -2
  160. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  161. package/v3/dist/domains/test-execution/plugin.d.ts +6 -1
  162. package/v3/dist/domains/test-execution/plugin.d.ts.map +1 -1
  163. package/v3/dist/domains/test-execution/plugin.js +77 -0
  164. package/v3/dist/domains/test-execution/plugin.js.map +1 -1
  165. package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
  166. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  167. package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
  168. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  169. package/v3/dist/domains/test-generation/coordinator.d.ts +137 -0
  170. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  171. package/v3/dist/domains/test-generation/coordinator.js +421 -1
  172. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  173. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
  174. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  175. package/v3/dist/domains/test-generation/plugin.d.ts +6 -1
  176. package/v3/dist/domains/test-generation/plugin.d.ts.map +1 -1
  177. package/v3/dist/domains/test-generation/plugin.js +84 -0
  178. package/v3/dist/domains/test-generation/plugin.js.map +1 -1
  179. package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
  180. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  181. package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
  182. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  183. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
  184. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  185. package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
  186. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  187. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  188. package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
  189. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  190. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
  191. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
  192. package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
  193. package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
  194. package/v3/dist/kernel/interfaces.d.ts +54 -1
  195. package/v3/dist/kernel/interfaces.d.ts.map +1 -1
  196. package/v3/dist/learning/dream/dream-scheduler.d.ts +302 -0
  197. package/v3/dist/learning/dream/dream-scheduler.d.ts.map +1 -0
  198. package/v3/dist/learning/dream/dream-scheduler.js +551 -0
  199. package/v3/dist/learning/dream/dream-scheduler.js.map +1 -0
  200. package/v3/dist/learning/dream/index.d.ts +1 -0
  201. package/v3/dist/learning/dream/index.d.ts.map +1 -1
  202. package/v3/dist/learning/dream/index.js +4 -0
  203. package/v3/dist/learning/dream/index.js.map +1 -1
  204. package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
  205. package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
  206. package/v3/dist/learning/experience-capture-middleware.js +416 -0
  207. package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
  208. package/v3/dist/mcp/bundle.js +83142 -70580
  209. package/v3/dist/mcp/handlers/core-handlers.d.ts.map +1 -1
  210. package/v3/dist/mcp/handlers/core-handlers.js +16 -2
  211. package/v3/dist/mcp/handlers/core-handlers.js.map +1 -1
  212. package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
  213. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  214. package/v3/dist/mcp/handlers/index.d.ts +1 -1
  215. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  216. package/v3/dist/mcp/handlers/index.js +2 -2
  217. package/v3/dist/mcp/handlers/index.js.map +1 -1
  218. package/v3/dist/mcp/handlers/task-handlers.d.ts +1 -0
  219. package/v3/dist/mcp/handlers/task-handlers.d.ts.map +1 -1
  220. package/v3/dist/mcp/handlers/task-handlers.js +46 -12
  221. package/v3/dist/mcp/handlers/task-handlers.js.map +1 -1
  222. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
  223. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
  224. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
  225. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
  226. package/v3/dist/mcp/services/reasoning-bank-service.d.ts +87 -13
  227. package/v3/dist/mcp/services/reasoning-bank-service.d.ts.map +1 -1
  228. package/v3/dist/mcp/services/reasoning-bank-service.js +291 -31
  229. package/v3/dist/mcp/services/reasoning-bank-service.js.map +1 -1
  230. package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
  231. package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
  232. package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
  233. package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
  234. package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  235. package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
  236. package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
  237. package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
  238. package/v3/dist/routing/qe-agent-registry.d.ts +28 -1
  239. package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
  240. package/v3/dist/routing/qe-agent-registry.js +116 -1
  241. package/v3/dist/routing/qe-agent-registry.js.map +1 -1
  242. package/v3/dist/shared/events/domain-events.d.ts +27 -0
  243. package/v3/dist/shared/events/domain-events.d.ts.map +1 -1
  244. package/v3/dist/shared/events/domain-events.js +1 -0
  245. package/v3/dist/shared/events/domain-events.js.map +1 -1
  246. package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
  247. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
  248. package/v3/dist/sync/claude-flow-bridge.js +320 -0
  249. package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
  250. package/v3/package.json +1 -1
@@ -9,10 +9,16 @@
9
9
  */
10
10
  import { v4 as uuidv4 } from 'uuid';
11
11
  import { err, } from '../../shared/types';
12
- import { TestGenerationEvents, createEvent, } from '../../shared/events/domain-events';
12
+ import { TestGenerationEvents, LearningOptimizationEvents, createEvent, } from '../../shared/events/domain-events';
13
13
  import { createTestGeneratorService, } from './services/test-generator';
14
14
  import { PatternMatcherService, } from './services/pattern-matcher';
15
15
  // ============================================================================
16
+ // MinCut & Consensus Mixin Imports (ADR-047, MM-001)
17
+ // ============================================================================
18
+ import { createMinCutAwareMixin, } from '../../coordination/mixins/mincut-aware-domain';
19
+ import { createConsensusEnabledMixin, } from '../../coordination/mixins/consensus-enabled-domain';
20
+ import { createDomainFinding, } from '../../coordination/consensus/domain-findings';
21
+ // ============================================================================
16
22
  // @ruvector Wrapper Imports (ADR-040)
17
23
  // ============================================================================
18
24
  import { createPersistentSONAEngine, } from '../../integrations/ruvector/sona-persistence.js';
@@ -35,6 +41,15 @@ const DEFAULT_CONFIG = {
35
41
  enableCoherenceGate: true,
36
42
  blockOnIncoherentRequirements: true,
37
43
  enrichOnRetrievalLane: true,
44
+ // MinCut integration defaults (ADR-047)
45
+ enableMinCutAwareness: true,
46
+ topologyHealthThreshold: 0.5,
47
+ pauseOnCriticalTopology: false,
48
+ // Consensus integration defaults (MM-001)
49
+ enableConsensus: true,
50
+ consensusThreshold: 0.7,
51
+ consensusStrategy: 'weighted',
52
+ consensusMinModels: 2,
38
53
  };
39
54
  /**
40
55
  * Test Generation Coordinator
@@ -44,6 +59,14 @@ const DEFAULT_CONFIG = {
44
59
  * - QESONA for pattern learning (test generation patterns)
45
60
  * - QEFlashAttention for test similarity detection
46
61
  * - DecisionTransformer for test case selection
62
+ *
63
+ * Enhanced with MinCut topology awareness per ADR-047:
64
+ * - Topology-based routing decisions
65
+ * - Health monitoring for test generation workflows
66
+ *
67
+ * Enhanced with Multi-Model Consensus per MM-001:
68
+ * - Consensus verification for high-stakes test design decisions
69
+ * - Verifies test patterns, mock strategies, and edge cases
47
70
  */
48
71
  export class TestGenerationCoordinator {
49
72
  eventBus;
@@ -60,6 +83,14 @@ export class TestGenerationCoordinator {
60
83
  flashAttention = null;
61
84
  decisionTransformer = null;
62
85
  testEmbeddings = new Map();
86
+ // MinCut topology awareness mixin (ADR-047)
87
+ minCutMixin;
88
+ // Consensus verification mixin (MM-001)
89
+ consensusMixin;
90
+ // Domain identifier for dream insight filtering
91
+ domainName = 'test-generation';
92
+ // Cache of recent dream insights for test enhancement
93
+ recentDreamInsights = [];
63
94
  // Coherence gate (ADR-052)
64
95
  coherenceGate = null;
65
96
  constructor(eventBus, memory, agentCoordinator, config = {}, coherenceService) {
@@ -79,6 +110,29 @@ export class TestGenerationCoordinator {
79
110
  enrichOnRetrievalLane: this.config.enrichOnRetrievalLane,
80
111
  });
81
112
  }
113
+ // Initialize MinCut-aware mixin (ADR-047)
114
+ this.minCutMixin = createMinCutAwareMixin(this.domainName, {
115
+ enableMinCutAwareness: this.config.enableMinCutAwareness,
116
+ topologyHealthThreshold: this.config.topologyHealthThreshold,
117
+ pauseOnCriticalTopology: this.config.pauseOnCriticalTopology,
118
+ });
119
+ // Initialize Consensus-enabled mixin (MM-001)
120
+ // Verifies test patterns, mock strategies, and edge case generation
121
+ this.consensusMixin = createConsensusEnabledMixin({
122
+ enableConsensus: this.config.enableConsensus,
123
+ consensusThreshold: this.config.consensusThreshold,
124
+ verifyFindingTypes: [
125
+ 'test-pattern-selection',
126
+ 'mock-strategy',
127
+ 'edge-case-generation',
128
+ 'assertion-strategy',
129
+ ],
130
+ strategy: this.config.consensusStrategy,
131
+ minModels: this.config.consensusMinModels,
132
+ modelTimeout: 60000,
133
+ verifySeverities: ['critical', 'high'],
134
+ enableLogging: false,
135
+ });
82
136
  }
83
137
  /**
84
138
  * Initialize the coordinator with @ruvector integrations
@@ -135,6 +189,18 @@ export class TestGenerationCoordinator {
135
189
  this.subscribeToEvents();
136
190
  // Load any persisted workflow state
137
191
  await this.loadWorkflowState();
192
+ // Initialize Consensus engine if enabled (MM-001)
193
+ if (this.config.enableConsensus) {
194
+ try {
195
+ await this.consensusMixin.initializeConsensus();
196
+ console.log('[TestGenerationCoordinator] Consensus engine initialized for test design verification');
197
+ }
198
+ catch (error) {
199
+ // Log and continue - consensus is enhancement, not critical
200
+ console.error('[TestGenerationCoordinator] Failed to initialize consensus engine:', error);
201
+ console.warn('[TestGenerationCoordinator] Continuing without consensus verification');
202
+ }
203
+ }
138
204
  this.initialized = true;
139
205
  }
140
206
  /**
@@ -143,6 +209,15 @@ export class TestGenerationCoordinator {
143
209
  async dispose() {
144
210
  // Save workflow state
145
211
  await this.saveWorkflowState();
212
+ // Dispose Consensus engine (MM-001)
213
+ try {
214
+ await this.consensusMixin.disposeConsensus();
215
+ }
216
+ catch (error) {
217
+ console.error('[TestGenerationCoordinator] Error disposing consensus engine:', error);
218
+ }
219
+ // Dispose MinCut mixin (ADR-047)
220
+ this.minCutMixin.dispose();
146
221
  // Dispose @ruvector integrations
147
222
  if (this.flashAttention) {
148
223
  this.flashAttention.dispose();
@@ -178,12 +253,28 @@ export class TestGenerationCoordinator {
178
253
  * - Uses QESONA to adapt test generation patterns based on context
179
254
  * - Uses QEFlashAttention to detect similar existing tests
180
255
  * - Uses DecisionTransformer to prioritize test cases
256
+ *
257
+ * Enhanced with topology awareness per ADR-047:
258
+ * - Checks topology health before expensive operations
259
+ * - Uses conservative strategy when topology is degraded
260
+ *
261
+ * Enhanced with consensus verification per MM-001:
262
+ * - Verifies test pattern selections for high-stakes decisions
181
263
  */
182
264
  async generateTests(request) {
183
265
  const workflowId = uuidv4();
184
266
  try {
185
267
  // Create workflow tracking
186
268
  this.startWorkflow(workflowId, 'generate');
269
+ // ADR-047: Check topology health before expensive operations
270
+ if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
271
+ console.warn('[TestGenerationCoordinator] Topology degraded, using conservative strategy');
272
+ // Continue with reduced parallelism when topology is unhealthy
273
+ }
274
+ // ADR-047: Check if operations should be paused due to critical topology
275
+ if (this.minCutMixin.shouldPauseOperations()) {
276
+ return err(new Error('Test generation paused: topology is in critical state'));
277
+ }
187
278
  // Check if we can spawn agents
188
279
  if (!this.agentCoordinator.canSpawn()) {
189
280
  return err(new Error('Agent limit reached, cannot spawn test generation agents'));
@@ -525,6 +616,185 @@ export class TestGenerationCoordinator {
525
616
  this.eventBus.subscribe('coverage-analysis.CoverageGapDetected', this.handleCoverageGapDetected.bind(this));
526
617
  // Subscribe to test execution events for learning
527
618
  this.eventBus.subscribe('test-execution.TestRunCompleted', this.handleTestRunCompleted.bind(this));
619
+ // Subscribe to dream cycle events from learning-optimization domain
620
+ this.subscribeToDreamEvents();
621
+ }
622
+ // ============================================================================
623
+ // Dream Event Handling (ADR-021 Integration)
624
+ // ============================================================================
625
+ /**
626
+ * Subscribe to dream cycle completion events from learning-optimization domain.
627
+ * Dream insights can suggest edge cases, novel test patterns, and optimization opportunities.
628
+ */
629
+ subscribeToDreamEvents() {
630
+ this.eventBus.subscribe(LearningOptimizationEvents.DreamCycleCompleted, this.handleDreamCycleCompleted.bind(this));
631
+ }
632
+ /**
633
+ * Handle dream cycle completion event.
634
+ * Filters insights relevant to test generation and applies actionable ones.
635
+ */
636
+ async handleDreamCycleCompleted(event) {
637
+ const { insights, cycleId } = event.payload;
638
+ if (!insights || insights.length === 0) {
639
+ return;
640
+ }
641
+ // Filter insights relevant to this domain
642
+ const relevantInsights = insights.filter((insight) => {
643
+ // Check if suggested action mentions this domain
644
+ const actionRelevant = insight.suggestedAction?.toLowerCase().includes(this.domainName) ||
645
+ insight.suggestedAction?.toLowerCase().includes('test') ||
646
+ insight.suggestedAction?.toLowerCase().includes('coverage');
647
+ // Check if source concepts include test-related terms
648
+ const conceptsRelevant = insight.sourceConcepts.some((c) => c.toLowerCase().includes('test') ||
649
+ c.toLowerCase().includes(this.domainName) ||
650
+ c.toLowerCase().includes('coverage') ||
651
+ c.toLowerCase().includes('edge-case'));
652
+ // Check for test-generation related insight types
653
+ const typeRelevant = insight.type === 'optimization' ||
654
+ insight.type === 'gap_detection' ||
655
+ insight.type === 'novel_association';
656
+ return actionRelevant || conceptsRelevant || (typeRelevant && insight.actionable);
657
+ });
658
+ if (relevantInsights.length === 0) {
659
+ return;
660
+ }
661
+ console.log(`[${this.domainName}] Received ${relevantInsights.length} relevant dream insights from cycle ${cycleId}`);
662
+ // Apply high-confidence actionable insights
663
+ for (const insight of relevantInsights) {
664
+ if (insight.confidenceScore > 0.7 && insight.actionable) {
665
+ await this.applyDreamInsight(insight, cycleId);
666
+ }
667
+ // Cache all relevant insights for test enhancement
668
+ this.recentDreamInsights.push({
669
+ ...insight,
670
+ receivedAt: new Date(),
671
+ });
672
+ }
673
+ // Prune old insights (keep last 50)
674
+ if (this.recentDreamInsights.length > 50) {
675
+ this.recentDreamInsights = this.recentDreamInsights.slice(-50);
676
+ }
677
+ }
678
+ /**
679
+ * Apply a dream insight by storing it as a learned pattern via SONA.
680
+ * This allows the insight to influence future test generation decisions.
681
+ *
682
+ * @param insight - The dream insight to apply
683
+ * @param cycleId - The dream cycle ID for tracking
684
+ */
685
+ async applyDreamInsight(insight, cycleId) {
686
+ console.log(`[${this.domainName}] Applying dream insight: ${insight.description.slice(0, 100)}...`);
687
+ // Store as a learned pattern via SONA if available
688
+ if (this.qesona) {
689
+ try {
690
+ // Create state representation from insight
691
+ const state = {
692
+ id: `dream-insight-${insight.id}`,
693
+ features: this.encodeInsightAsFeatures(insight),
694
+ metadata: {
695
+ insightType: insight.type,
696
+ cycleId,
697
+ sourceConcepts: insight.sourceConcepts,
698
+ },
699
+ };
700
+ // Create action representing the suggested action
701
+ const action = {
702
+ type: 'dream-insight',
703
+ value: insight.suggestedAction || insight.description,
704
+ };
705
+ // Create pattern in QESONA with dream-derived marker
706
+ const pattern = this.qesona.createPattern(state, action, {
707
+ reward: insight.confidenceScore,
708
+ success: true,
709
+ quality: insight.noveltyScore,
710
+ }, 'dream-derived', this.domainName, {
711
+ insightId: insight.id,
712
+ cycleId,
713
+ description: insight.description,
714
+ suggestedAction: insight.suggestedAction,
715
+ });
716
+ console.log(`[${this.domainName}] Created SONA pattern ${pattern.id} from dream insight`);
717
+ }
718
+ catch (error) {
719
+ console.error(`[${this.domainName}] Failed to store dream insight pattern:`, error);
720
+ }
721
+ }
722
+ // Store insight in memory for downstream usage
723
+ await this.memory.set(`${this.domainName}:dream-insight:${insight.id}`, {
724
+ insight,
725
+ cycleId,
726
+ appliedAt: new Date().toISOString(),
727
+ }, { namespace: this.domainName, ttl: 86400 * 7 } // 7 days
728
+ );
729
+ }
730
+ /**
731
+ * Get recent dream insights filtered by type.
732
+ * Used by test generation methods to enhance test case discovery.
733
+ *
734
+ * @param insightType - Optional type filter (e.g., 'novel_association', 'gap_detection')
735
+ * @returns Array of recent dream insights
736
+ */
737
+ getRecentDreamInsights(insightType) {
738
+ const cutoffTime = Date.now() - 24 * 60 * 60 * 1000; // Last 24 hours
739
+ return this.recentDreamInsights.filter((insight) => {
740
+ const isRecent = insight.receivedAt.getTime() > cutoffTime;
741
+ const matchesType = !insightType || insight.type === insightType;
742
+ return isRecent && matchesType;
743
+ });
744
+ }
745
+ /**
746
+ * Enhance test generation request with dream insights for edge case discovery.
747
+ * Queries recent dream insights to suggest additional test scenarios.
748
+ *
749
+ * @param request - The original test generation request
750
+ * @returns Array of suggested edge case descriptions from dream insights
751
+ */
752
+ async enhanceWithDreamInsights(request) {
753
+ const suggestions = [];
754
+ // Query recent dream insights for edge case suggestions
755
+ const insights = this.getRecentDreamInsights();
756
+ // Filter for novel paths and cross-domain insights that suggest edge cases
757
+ const edgeCaseInsights = insights.filter((i) => (i.type === 'novel_association' || i.type === 'gap_detection') &&
758
+ i.actionable &&
759
+ i.confidenceScore > 0.6);
760
+ for (const insight of edgeCaseInsights) {
761
+ if (insight.suggestedAction) {
762
+ // Check if the insight is relevant to the current request
763
+ const isRelevant = request.sourceFiles.some((f) => insight.sourceConcepts.some((c) => f.toLowerCase().includes(c.toLowerCase()))) ||
764
+ insight.suggestedAction.toLowerCase().includes(request.testType);
765
+ if (isRelevant) {
766
+ suggestions.push(insight.suggestedAction);
767
+ }
768
+ }
769
+ }
770
+ // Limit suggestions
771
+ return suggestions.slice(0, 5);
772
+ }
773
+ /**
774
+ * Encode a dream insight as feature vector for SONA pattern creation.
775
+ */
776
+ encodeInsightAsFeatures(insight) {
777
+ const features = [];
778
+ // Encode insight type
779
+ const typeMap = {
780
+ pattern_merge: 0.2,
781
+ novel_association: 0.4,
782
+ optimization: 0.6,
783
+ gap_detection: 0.8,
784
+ };
785
+ features.push(typeMap[insight.type] || 0.5);
786
+ // Encode confidence and novelty
787
+ features.push(insight.confidenceScore);
788
+ features.push(insight.noveltyScore);
789
+ // Encode actionability
790
+ features.push(insight.actionable ? 1.0 : 0.0);
791
+ // Encode source concept count (normalized)
792
+ features.push(Math.min(1, insight.sourceConcepts.length / 10));
793
+ // Pad to consistent size
794
+ while (features.length < 384) {
795
+ features.push(0);
796
+ }
797
+ return features.slice(0, 384);
528
798
  }
529
799
  async handleCoverageGapDetected(event) {
530
800
  // Auto-generate tests for detected coverage gaps
@@ -792,6 +1062,156 @@ export class TestGenerationCoordinator {
792
1062
  throw result.error;
793
1063
  }
794
1064
  // ============================================================================
1065
+ // MinCut Topology Awareness Methods (ADR-047)
1066
+ // ============================================================================
1067
+ /**
1068
+ * Set the MinCut bridge for topology awareness
1069
+ * Per ADR-047: Enables topology-based routing and health monitoring
1070
+ *
1071
+ * @param bridge - QueenMinCutBridge instance for topology awareness
1072
+ */
1073
+ setMinCutBridge(bridge) {
1074
+ this.minCutMixin.setMinCutBridge(bridge);
1075
+ console.log('[TestGenerationCoordinator] MinCut bridge connected for topology awareness');
1076
+ }
1077
+ /**
1078
+ * Check if the overall topology is healthy
1079
+ * Per ADR-047: Returns true if topology status is not 'critical'
1080
+ *
1081
+ * @returns true if topology is healthy for test generation operations
1082
+ */
1083
+ isTopologyHealthy() {
1084
+ return this.minCutMixin.isTopologyHealthy();
1085
+ }
1086
+ /**
1087
+ * Get weak vertices belonging to this domain
1088
+ * Per ADR-047: Identifies agents that are single points of failure
1089
+ */
1090
+ getDomainWeakVertices() {
1091
+ return this.minCutMixin.getDomainWeakVertices();
1092
+ }
1093
+ /**
1094
+ * Check if this domain is a weak point in the topology
1095
+ * Per ADR-047: Returns true if any weak vertex belongs to test-generation domain
1096
+ */
1097
+ isDomainWeakPoint() {
1098
+ return this.minCutMixin.isDomainWeakPoint();
1099
+ }
1100
+ /**
1101
+ * Get topology-based routing excluding weak domains
1102
+ * Per ADR-047: Filters out domains that are currently weak points
1103
+ *
1104
+ * @param targetDomains - List of potential target domains
1105
+ * @returns Filtered list of healthy domains for routing
1106
+ */
1107
+ getTopologyBasedRouting(targetDomains) {
1108
+ return this.minCutMixin.getTopologyBasedRouting(targetDomains);
1109
+ }
1110
+ // ============================================================================
1111
+ // Consensus Verification Methods (MM-001)
1112
+ // ============================================================================
1113
+ /**
1114
+ * Check if consensus verification is available
1115
+ * Per MM-001: Returns true if consensus engine is initialized
1116
+ */
1117
+ isConsensusAvailable() {
1118
+ return this.consensusMixin.isConsensusAvailable?.() ?? false;
1119
+ }
1120
+ /**
1121
+ * Get consensus statistics
1122
+ * Per MM-001: Returns metrics about consensus verification
1123
+ */
1124
+ getConsensusStats() {
1125
+ return this.consensusMixin.getConsensusStats();
1126
+ }
1127
+ /**
1128
+ * Verify a test pattern selection using multi-model consensus
1129
+ * Per MM-001: High-stakes test design decisions require verification
1130
+ *
1131
+ * @param pattern - The test pattern to verify
1132
+ * @param confidence - Initial confidence in the pattern selection
1133
+ * @returns true if the pattern is verified or doesn't require consensus
1134
+ */
1135
+ async verifyTestPatternSelection(pattern, confidence) {
1136
+ const finding = createDomainFinding({
1137
+ id: uuidv4(),
1138
+ type: 'test-pattern-selection',
1139
+ confidence,
1140
+ description: `Verify test pattern: ${pattern.name} (${pattern.type})`,
1141
+ payload: pattern,
1142
+ detectedBy: 'test-generation-coordinator',
1143
+ severity: confidence > 0.9 ? 'high' : 'medium',
1144
+ });
1145
+ if (this.consensusMixin.requiresConsensus(finding)) {
1146
+ const result = await this.consensusMixin.verifyFinding(finding);
1147
+ if (result.success && result.value.verdict === 'verified') {
1148
+ console.log(`[TestGenerationCoordinator] Test pattern '${pattern.name}' verified by consensus`);
1149
+ return true;
1150
+ }
1151
+ console.warn(`[TestGenerationCoordinator] Test pattern '${pattern.name}' NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
1152
+ return false;
1153
+ }
1154
+ return true; // No consensus needed
1155
+ }
1156
+ /**
1157
+ * Verify a mock strategy using multi-model consensus
1158
+ * Per MM-001: Mock strategy decisions can have significant impact
1159
+ *
1160
+ * @param strategy - The mock strategy to verify
1161
+ * @param confidence - Initial confidence in the strategy
1162
+ * @returns true if the strategy is verified or doesn't require consensus
1163
+ */
1164
+ async verifyMockStrategy(strategy, confidence) {
1165
+ const finding = createDomainFinding({
1166
+ id: uuidv4(),
1167
+ type: 'mock-strategy',
1168
+ confidence,
1169
+ description: `Verify mock strategy for ${strategy.target}: ${strategy.mockType}`,
1170
+ payload: strategy,
1171
+ detectedBy: 'test-generation-coordinator',
1172
+ severity: confidence > 0.85 ? 'high' : 'medium',
1173
+ });
1174
+ if (this.consensusMixin.requiresConsensus(finding)) {
1175
+ const result = await this.consensusMixin.verifyFinding(finding);
1176
+ if (result.success && result.value.verdict === 'verified') {
1177
+ console.log(`[TestGenerationCoordinator] Mock strategy for '${strategy.target}' verified by consensus`);
1178
+ return true;
1179
+ }
1180
+ console.warn(`[TestGenerationCoordinator] Mock strategy for '${strategy.target}' NOT verified`);
1181
+ return false;
1182
+ }
1183
+ return true; // No consensus needed
1184
+ }
1185
+ /**
1186
+ * Verify edge case generation using multi-model consensus
1187
+ * Per MM-001: Edge cases are critical for comprehensive testing
1188
+ *
1189
+ * @param edgeCase - The edge case to verify
1190
+ * @param confidence - Initial confidence in the edge case
1191
+ * @returns true if the edge case is verified or doesn't require consensus
1192
+ */
1193
+ async verifyEdgeCaseGeneration(edgeCase, confidence) {
1194
+ const finding = createDomainFinding({
1195
+ id: uuidv4(),
1196
+ type: 'edge-case-generation',
1197
+ confidence,
1198
+ description: `Verify edge case: ${edgeCase.description}`,
1199
+ payload: edgeCase,
1200
+ detectedBy: 'test-generation-coordinator',
1201
+ severity: 'high', // Edge cases are always important
1202
+ });
1203
+ if (this.consensusMixin.requiresConsensus(finding)) {
1204
+ const result = await this.consensusMixin.verifyFinding(finding);
1205
+ if (result.success && result.value.verdict === 'verified') {
1206
+ console.log(`[TestGenerationCoordinator] Edge case '${edgeCase.description.slice(0, 50)}...' verified by consensus`);
1207
+ return true;
1208
+ }
1209
+ console.warn(`[TestGenerationCoordinator] Edge case NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
1210
+ return false;
1211
+ }
1212
+ return true; // No consensus needed
1213
+ }
1214
+ // ============================================================================
795
1215
  // Helper Methods for @ruvector Integration
796
1216
  // ============================================================================
797
1217
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/domains/test-generation/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/domains/test-generation/coordinator.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export interface IGeneratedTest {
35
35
  testCode: string;
36
36
  type: 'unit' | 'integration' | 'e2e';
37
37
  assertions: number;
38
+ /** ADR-051: Whether test was enhanced by LLM */
39
+ llmEnhanced?: boolean;
38
40
  }
39
41
  export interface ITDDRequest {
40
42
  feature: string;