agentic-qe 3.3.2 → 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 (209) 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 +87 -0
  6. package/v3/README.md +9 -5
  7. package/v3/dist/cli/bundle.js +43386 -37651
  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 +10 -0
  33. package/v3/dist/coordination/queen-coordinator.d.ts.map +1 -1
  34. package/v3/dist/coordination/queen-coordinator.js +40 -0
  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/services/coverage-analyzer.d.ts +119 -3
  75. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.d.ts.map +1 -1
  76. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js +267 -5
  77. package/v3/dist/domains/coverage-analysis/services/coverage-analyzer.js.map +1 -1
  78. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts +111 -2
  79. package/v3/dist/domains/coverage-analysis/services/gap-detector.d.ts.map +1 -1
  80. package/v3/dist/domains/coverage-analysis/services/gap-detector.js +231 -3
  81. package/v3/dist/domains/coverage-analysis/services/gap-detector.js.map +1 -1
  82. package/v3/dist/domains/defect-intelligence/coordinator.d.ts +80 -1
  83. package/v3/dist/domains/defect-intelligence/coordinator.d.ts.map +1 -1
  84. package/v3/dist/domains/defect-intelligence/coordinator.js +262 -7
  85. package/v3/dist/domains/defect-intelligence/coordinator.js.map +1 -1
  86. package/v3/dist/domains/defect-intelligence/interfaces.d.ts +17 -0
  87. package/v3/dist/domains/defect-intelligence/interfaces.d.ts.map +1 -1
  88. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts +91 -2
  89. package/v3/dist/domains/defect-intelligence/services/defect-predictor.d.ts.map +1 -1
  90. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js +274 -7
  91. package/v3/dist/domains/defect-intelligence/services/defect-predictor.js.map +1 -1
  92. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +79 -2
  93. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts.map +1 -1
  94. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js +259 -3
  95. package/v3/dist/domains/defect-intelligence/services/root-cause-analyzer.js.map +1 -1
  96. package/v3/dist/domains/domain-interface.d.ts +155 -0
  97. package/v3/dist/domains/domain-interface.d.ts.map +1 -1
  98. package/v3/dist/domains/domain-interface.js +140 -0
  99. package/v3/dist/domains/domain-interface.js.map +1 -1
  100. package/v3/dist/domains/learning-optimization/coordinator.d.ts +88 -0
  101. package/v3/dist/domains/learning-optimization/coordinator.d.ts.map +1 -1
  102. package/v3/dist/domains/learning-optimization/coordinator.js +227 -1
  103. package/v3/dist/domains/learning-optimization/coordinator.js.map +1 -1
  104. package/v3/dist/domains/learning-optimization/index.d.ts +1 -1
  105. package/v3/dist/domains/learning-optimization/index.d.ts.map +1 -1
  106. package/v3/dist/domains/learning-optimization/index.js.map +1 -1
  107. package/v3/dist/domains/learning-optimization/interfaces.d.ts +4 -0
  108. package/v3/dist/domains/learning-optimization/interfaces.d.ts.map +1 -1
  109. package/v3/dist/domains/learning-optimization/plugin.js +1 -1
  110. package/v3/dist/domains/learning-optimization/plugin.js.map +1 -1
  111. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts +54 -2
  112. package/v3/dist/domains/learning-optimization/services/learning-coordinator.d.ts.map +1 -1
  113. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js +90 -3
  114. package/v3/dist/domains/learning-optimization/services/learning-coordinator.js.map +1 -1
  115. package/v3/dist/domains/quality-assessment/coordinator.d.ts +104 -0
  116. package/v3/dist/domains/quality-assessment/coordinator.d.ts.map +1 -1
  117. package/v3/dist/domains/quality-assessment/coordinator.js +354 -6
  118. package/v3/dist/domains/quality-assessment/coordinator.js.map +1 -1
  119. package/v3/dist/domains/quality-assessment/interfaces.d.ts +22 -0
  120. package/v3/dist/domains/quality-assessment/interfaces.d.ts.map +1 -1
  121. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts +61 -2
  122. package/v3/dist/domains/quality-assessment/services/deployment-advisor.d.ts.map +1 -1
  123. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js +213 -5
  124. package/v3/dist/domains/quality-assessment/services/deployment-advisor.js.map +1 -1
  125. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts +59 -4
  126. package/v3/dist/domains/quality-assessment/services/quality-analyzer.d.ts.map +1 -1
  127. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js +195 -3
  128. package/v3/dist/domains/quality-assessment/services/quality-analyzer.js.map +1 -1
  129. package/v3/dist/domains/requirements-validation/coordinator.d.ts +78 -0
  130. package/v3/dist/domains/requirements-validation/coordinator.d.ts.map +1 -1
  131. package/v3/dist/domains/requirements-validation/coordinator.js +189 -0
  132. package/v3/dist/domains/requirements-validation/coordinator.js.map +1 -1
  133. package/v3/dist/domains/requirements-validation/interfaces.d.ts +4 -0
  134. package/v3/dist/domains/requirements-validation/interfaces.d.ts.map +1 -1
  135. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts +106 -2
  136. package/v3/dist/domains/requirements-validation/services/requirements-validator.d.ts.map +1 -1
  137. package/v3/dist/domains/requirements-validation/services/requirements-validator.js +263 -3
  138. package/v3/dist/domains/requirements-validation/services/requirements-validator.js.map +1 -1
  139. package/v3/dist/domains/security-compliance/coordinator.d.ts +56 -1
  140. package/v3/dist/domains/security-compliance/coordinator.d.ts.map +1 -1
  141. package/v3/dist/domains/security-compliance/coordinator.js +241 -17
  142. package/v3/dist/domains/security-compliance/coordinator.js.map +1 -1
  143. package/v3/dist/domains/security-compliance/interfaces.d.ts +2 -0
  144. package/v3/dist/domains/security-compliance/interfaces.d.ts.map +1 -1
  145. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts +33 -2
  146. package/v3/dist/domains/security-compliance/services/security-scanner.d.ts.map +1 -1
  147. package/v3/dist/domains/security-compliance/services/security-scanner.js +107 -3
  148. package/v3/dist/domains/security-compliance/services/security-scanner.js.map +1 -1
  149. package/v3/dist/domains/test-execution/coordinator.d.ts +89 -0
  150. package/v3/dist/domains/test-execution/coordinator.d.ts.map +1 -1
  151. package/v3/dist/domains/test-execution/coordinator.js +259 -2
  152. package/v3/dist/domains/test-execution/coordinator.js.map +1 -1
  153. package/v3/dist/domains/test-execution/services/test-executor.d.ts +30 -2
  154. package/v3/dist/domains/test-execution/services/test-executor.d.ts.map +1 -1
  155. package/v3/dist/domains/test-execution/services/test-executor.js +64 -3
  156. package/v3/dist/domains/test-execution/services/test-executor.js.map +1 -1
  157. package/v3/dist/domains/test-generation/coordinator.d.ts +97 -0
  158. package/v3/dist/domains/test-generation/coordinator.d.ts.map +1 -1
  159. package/v3/dist/domains/test-generation/coordinator.js +237 -0
  160. package/v3/dist/domains/test-generation/coordinator.js.map +1 -1
  161. package/v3/dist/domains/test-generation/interfaces.d.ts +2 -0
  162. package/v3/dist/domains/test-generation/interfaces.d.ts.map +1 -1
  163. package/v3/dist/domains/test-generation/services/test-generator.d.ts +32 -0
  164. package/v3/dist/domains/test-generation/services/test-generator.d.ts.map +1 -1
  165. package/v3/dist/domains/test-generation/services/test-generator.js +158 -3
  166. package/v3/dist/domains/test-generation/services/test-generator.js.map +1 -1
  167. package/v3/dist/domains/visual-accessibility/coordinator.d.ts +77 -0
  168. package/v3/dist/domains/visual-accessibility/coordinator.d.ts.map +1 -1
  169. package/v3/dist/domains/visual-accessibility/coordinator.js +210 -2
  170. package/v3/dist/domains/visual-accessibility/coordinator.js.map +1 -1
  171. package/v3/dist/domains/visual-accessibility/plugin.d.ts.map +1 -1
  172. package/v3/dist/domains/visual-accessibility/plugin.js +3 -3
  173. package/v3/dist/domains/visual-accessibility/plugin.js.map +1 -1
  174. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts +47 -2
  175. package/v3/dist/domains/visual-accessibility/services/visual-tester.d.ts.map +1 -1
  176. package/v3/dist/domains/visual-accessibility/services/visual-tester.js +87 -3
  177. package/v3/dist/domains/visual-accessibility/services/visual-tester.js.map +1 -1
  178. package/v3/dist/learning/experience-capture-middleware.d.ts +119 -0
  179. package/v3/dist/learning/experience-capture-middleware.d.ts.map +1 -0
  180. package/v3/dist/learning/experience-capture-middleware.js +416 -0
  181. package/v3/dist/learning/experience-capture-middleware.js.map +1 -0
  182. package/v3/dist/mcp/bundle.js +60723 -54421
  183. package/v3/dist/mcp/handlers/domain-handlers.d.ts +12 -13
  184. package/v3/dist/mcp/handlers/domain-handlers.d.ts.map +1 -1
  185. package/v3/dist/mcp/handlers/index.d.ts +1 -1
  186. package/v3/dist/mcp/handlers/index.d.ts.map +1 -1
  187. package/v3/dist/mcp/handlers/index.js +2 -2
  188. package/v3/dist/mcp/handlers/index.js.map +1 -1
  189. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts +30 -0
  190. package/v3/dist/mcp/handlers/wrapped-domain-handlers.d.ts.map +1 -0
  191. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js +75 -0
  192. package/v3/dist/mcp/handlers/wrapped-domain-handlers.js.map +1 -0
  193. package/v3/dist/mcp/tools/chaos-resilience/inject.js +1 -1
  194. package/v3/dist/mcp/tools/chaos-resilience/inject.js.map +1 -1
  195. package/v3/dist/mcp/tools/contract-testing/validate.js +1 -1
  196. package/v3/dist/mcp/tools/contract-testing/validate.js.map +1 -1
  197. package/v3/dist/mcp/tools/learning-optimization/optimize.js +1 -1
  198. package/v3/dist/mcp/tools/learning-optimization/optimize.js.map +1 -1
  199. package/v3/dist/mcp/tools/visual-accessibility/index.js +2 -2
  200. package/v3/dist/mcp/tools/visual-accessibility/index.js.map +1 -1
  201. package/v3/dist/routing/qe-agent-registry.d.ts +1 -1
  202. package/v3/dist/routing/qe-agent-registry.d.ts.map +1 -1
  203. package/v3/dist/routing/qe-agent-registry.js +20 -1
  204. package/v3/dist/routing/qe-agent-registry.js.map +1 -1
  205. package/v3/dist/sync/claude-flow-bridge.d.ts +63 -0
  206. package/v3/dist/sync/claude-flow-bridge.d.ts.map +1 -0
  207. package/v3/dist/sync/claude-flow-bridge.js +320 -0
  208. package/v3/dist/sync/claude-flow-bridge.js.map +1 -0
  209. package/v3/package.json +1 -1
@@ -1,6 +1,8 @@
1
1
  /**
2
2
  * Agentic QE v3 - Requirements Validation Service
3
3
  * Validates requirement quality and completeness
4
+ *
5
+ * ADR-051: Added LLM-powered requirements analysis for enhanced validation
4
6
  */
5
7
  import { v4 as uuidv4 } from 'uuid';
6
8
  import { ok, err } from '../../../shared/types/index.js';
@@ -9,6 +11,9 @@ const DEFAULT_CONFIG = {
9
11
  minAcceptanceCriteria: 1,
10
12
  strictMode: false,
11
13
  forbiddenTermsDefault: [],
14
+ enableLLMAnalysis: true, // On by default - opt-out (ADR-051)
15
+ llmModelTier: 2, // Sonnet by default for requirements analysis
16
+ llmMaxTokens: 2048,
12
17
  };
13
18
  /**
14
19
  * Common ambiguous terms in requirements
@@ -43,13 +48,229 @@ const AMBIGUOUS_TERMS = {
43
48
  /**
44
49
  * Requirements Validation Service Implementation
45
50
  * Validates requirement quality, detects ambiguity, and analyzes dependencies
51
+ *
52
+ * ADR-051: Added LLM-powered requirements analysis for enhanced validation
46
53
  */
47
54
  export class RequirementsValidatorService {
48
- memory;
49
55
  config;
50
- constructor(memory, config = {}) {
51
- this.memory = memory;
56
+ memory;
57
+ llmRouter;
58
+ constructor(dependencies, config = {}) {
52
59
  this.config = { ...DEFAULT_CONFIG, ...config };
60
+ // Support both old and new constructor signatures for backward compatibility
61
+ if ('memory' in dependencies && typeof dependencies.memory === 'object') {
62
+ this.memory = dependencies.memory;
63
+ this.llmRouter = dependencies.llmRouter;
64
+ }
65
+ else {
66
+ this.memory = dependencies;
67
+ }
68
+ }
69
+ // ============================================================================
70
+ // ADR-051: LLM Enhancement Methods
71
+ // ============================================================================
72
+ /**
73
+ * Check if LLM analysis is available and enabled
74
+ */
75
+ isLLMAnalysisAvailable() {
76
+ return this.config.enableLLMAnalysis === true && this.llmRouter !== undefined;
77
+ }
78
+ /**
79
+ * Get model ID for the configured tier
80
+ */
81
+ getModelForTier(tier) {
82
+ switch (tier) {
83
+ case 1: return 'claude-3-5-haiku-20241022';
84
+ case 2: return 'claude-sonnet-4-20250514';
85
+ case 3: return 'claude-sonnet-4-20250514';
86
+ case 4: return 'claude-opus-4-5-20251101';
87
+ default: return 'claude-sonnet-4-20250514';
88
+ }
89
+ }
90
+ /**
91
+ * Analyze requirements with LLM for deeper insights
92
+ * ADR-051: Provides completeness assessment, ambiguity detection, and testability scoring
93
+ *
94
+ * @param requirements - Requirements to analyze
95
+ * @param codebaseContext - Optional context about the codebase (file structure, existing tests)
96
+ * @returns Enhanced analysis with LLM insights
97
+ */
98
+ async analyzeRequirementsWithLLM(requirements, codebaseContext) {
99
+ // Return basic analysis if LLM is not available
100
+ if (!this.isLLMAnalysisAvailable()) {
101
+ return ok(this.getBasicAnalysis(requirements));
102
+ }
103
+ try {
104
+ const modelId = this.getModelForTier(this.config.llmModelTier ?? 2);
105
+ const prompt = this.buildRequirementsAnalysisPrompt(requirements, codebaseContext);
106
+ const response = await this.llmRouter.chat({
107
+ messages: [
108
+ {
109
+ role: 'system',
110
+ content: `You are a senior requirements engineer and QA specialist. Analyze requirements for:
111
+ 1. Completeness - Are all necessary details present?
112
+ 2. Testability - Can acceptance criteria be converted to test cases?
113
+ 3. Ambiguity - Are there vague terms that need clarification?
114
+ 4. Missing criteria - What acceptance criteria should be added?
115
+
116
+ Return JSON with:
117
+ {
118
+ "completenessScore": <0-100>,
119
+ "testabilityScore": <0-100>,
120
+ "ambiguities": [{ "text": "", "issue": "", "suggestion": "" }],
121
+ "missingCriteria": ["suggested criterion 1", ...],
122
+ "recommendations": ["recommendation 1", ...]
123
+ }
124
+
125
+ Be specific and actionable in your suggestions.`,
126
+ },
127
+ {
128
+ role: 'user',
129
+ content: prompt,
130
+ },
131
+ ],
132
+ model: modelId,
133
+ maxTokens: this.config.llmMaxTokens ?? 2048,
134
+ temperature: 0.3, // Low temperature for consistent analysis
135
+ });
136
+ if (response.content) {
137
+ try {
138
+ const jsonMatch = response.content.match(/\{[\s\S]*\}/);
139
+ if (jsonMatch) {
140
+ const analysis = JSON.parse(jsonMatch[0]);
141
+ const result = {
142
+ completenessScore: analysis.completenessScore ?? 50,
143
+ testabilityScore: analysis.testabilityScore ?? 50,
144
+ ambiguities: analysis.ambiguities ?? [],
145
+ missingCriteria: analysis.missingCriteria ?? [],
146
+ recommendations: analysis.recommendations ?? [],
147
+ llmEnhanced: true,
148
+ };
149
+ // Store analysis in memory for future reference
150
+ await this.storeAnalysisResult(requirements, result);
151
+ return ok(result);
152
+ }
153
+ }
154
+ catch {
155
+ // JSON parse failed - use basic analysis
156
+ console.warn('[RequirementsValidator] LLM response parsing failed');
157
+ }
158
+ }
159
+ return ok(this.getBasicAnalysis(requirements));
160
+ }
161
+ catch (error) {
162
+ console.warn('[RequirementsValidator] LLM analysis failed:', error);
163
+ return ok(this.getBasicAnalysis(requirements));
164
+ }
165
+ }
166
+ /**
167
+ * Build the prompt for requirements analysis
168
+ */
169
+ buildRequirementsAnalysisPrompt(requirements, codebaseContext) {
170
+ let prompt = '## Requirements to Analyze\n\n';
171
+ for (const req of requirements) {
172
+ prompt += `### ${req.id}: ${req.title}\n`;
173
+ prompt += `**Type:** ${req.type}\n`;
174
+ prompt += `**Description:** ${req.description}\n`;
175
+ if (req.acceptanceCriteria.length > 0) {
176
+ prompt += `**Acceptance Criteria:**\n`;
177
+ for (const ac of req.acceptanceCriteria) {
178
+ prompt += `- ${ac}\n`;
179
+ }
180
+ }
181
+ else {
182
+ prompt += `**Acceptance Criteria:** None provided\n`;
183
+ }
184
+ prompt += '\n';
185
+ }
186
+ if (codebaseContext) {
187
+ prompt += `## Codebase Context\n${codebaseContext}\n\n`;
188
+ }
189
+ prompt += `## Analysis Request
190
+ Please analyze these requirements for:
191
+ 1. Completeness - score 0-100
192
+ 2. Testability - score 0-100
193
+ 3. Ambiguous terms that need clarification
194
+ 4. Missing acceptance criteria
195
+ 5. General recommendations for improvement`;
196
+ return prompt;
197
+ }
198
+ /**
199
+ * Get basic analysis without LLM (fallback)
200
+ */
201
+ getBasicAnalysis(requirements) {
202
+ // Calculate basic scores based on heuristics
203
+ let totalCompleteness = 0;
204
+ let totalTestability = 0;
205
+ const ambiguities = [];
206
+ const missingCriteria = [];
207
+ for (const req of requirements) {
208
+ // Completeness: check for title, description, AC
209
+ let completeness = 0;
210
+ if (req.title && req.title.length >= 5)
211
+ completeness += 30;
212
+ if (req.description && req.description.length >= 20)
213
+ completeness += 30;
214
+ if (req.acceptanceCriteria.length >= 1)
215
+ completeness += 40;
216
+ totalCompleteness += completeness;
217
+ // Testability: based on AC quality
218
+ let testability = req.acceptanceCriteria.length > 0 ? 50 : 0;
219
+ for (const ac of req.acceptanceCriteria) {
220
+ const hasGWT = ac.toLowerCase().includes('given') ||
221
+ ac.toLowerCase().includes('when') ||
222
+ ac.toLowerCase().includes('then');
223
+ if (hasGWT)
224
+ testability += 10;
225
+ }
226
+ testability = Math.min(100, testability);
227
+ totalTestability += testability;
228
+ // Check for ambiguous terms
229
+ const textToCheck = `${req.title} ${req.description}`;
230
+ for (const term of Object.keys(AMBIGUOUS_TERMS)) {
231
+ if (textToCheck.toLowerCase().includes(term)) {
232
+ ambiguities.push({
233
+ text: term,
234
+ issue: `Term "${term}" is ambiguous`,
235
+ suggestion: `Replace with specific criteria like: ${AMBIGUOUS_TERMS[term].slice(0, 2).join(' or ')}`,
236
+ });
237
+ }
238
+ }
239
+ // Suggest missing criteria
240
+ if (req.acceptanceCriteria.length === 0) {
241
+ missingCriteria.push(`Add acceptance criteria for "${req.title}" using Given-When-Then format`);
242
+ }
243
+ }
244
+ const avgCompleteness = requirements.length > 0
245
+ ? Math.round(totalCompleteness / requirements.length)
246
+ : 0;
247
+ const avgTestability = requirements.length > 0
248
+ ? Math.round(totalTestability / requirements.length)
249
+ : 0;
250
+ return {
251
+ completenessScore: avgCompleteness,
252
+ testabilityScore: avgTestability,
253
+ ambiguities: ambiguities.slice(0, 5), // Limit to top 5
254
+ missingCriteria: missingCriteria.slice(0, 5),
255
+ recommendations: [
256
+ 'Use Given-When-Then format for acceptance criteria',
257
+ 'Replace ambiguous terms with measurable criteria',
258
+ 'Include both positive and negative test scenarios',
259
+ ],
260
+ llmEnhanced: false,
261
+ };
262
+ }
263
+ /**
264
+ * Store LLM analysis result in memory
265
+ */
266
+ async storeAnalysisResult(requirements, analysis) {
267
+ const analysisId = uuidv4();
268
+ await this.memory.set(`requirements-validation:llm-analysis:${analysisId}`, {
269
+ requirementIds: requirements.map(r => r.id),
270
+ analysis,
271
+ analyzedAt: new Date().toISOString(),
272
+ }, { namespace: 'requirements-validation', ttl: 86400 * 7 } // 7 days
273
+ );
53
274
  }
54
275
  /**
55
276
  * Validate a single requirement
@@ -420,4 +641,43 @@ export class RequirementsValidatorService {
420
641
  }, { namespace: 'requirements-validation', ttl: 86400 * 7 });
421
642
  }
422
643
  }
644
+ // ============================================================================
645
+ // Factory Functions
646
+ // ============================================================================
647
+ /**
648
+ * Create a RequirementsValidatorService instance with default dependencies
649
+ * Maintains backward compatibility with existing code
650
+ *
651
+ * @param memory - Memory backend for storing validation results
652
+ * @param config - Optional configuration overrides
653
+ * @returns Configured RequirementsValidatorService instance
654
+ */
655
+ export function createRequirementsValidatorService(memory, config = {}) {
656
+ return new RequirementsValidatorService({ memory }, config);
657
+ }
658
+ /**
659
+ * Create a RequirementsValidatorService instance with custom dependencies
660
+ * Used for testing or when custom implementations are needed (e.g., LLM router)
661
+ *
662
+ * ADR-051: This factory enables LLM-powered requirements analysis
663
+ *
664
+ * @param dependencies - All service dependencies including optional LLM router
665
+ * @param config - Optional configuration overrides
666
+ * @returns Configured RequirementsValidatorService instance
667
+ *
668
+ * @example
669
+ * ```typescript
670
+ * // Create with LLM support enabled
671
+ * const validator = createRequirementsValidatorServiceWithDependencies(
672
+ * { memory, llmRouter },
673
+ * { enableLLMAnalysis: true, llmModelTier: 2 }
674
+ * );
675
+ *
676
+ * // Analyze requirements with LLM
677
+ * const analysis = await validator.analyzeRequirementsWithLLM(requirements);
678
+ * ```
679
+ */
680
+ export function createRequirementsValidatorServiceWithDependencies(dependencies, config = {}) {
681
+ return new RequirementsValidatorService(dependencies, config);
682
+ }
423
683
  //# sourceMappingURL=requirements-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"requirements-validator.js","sourceRoot":"","sources":["../../../../src/domains/requirements-validation/services/requirements-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requirements-validator.js","sourceRoot":"","sources":["../../../../src/domains/requirements-validation/services/requirements-validator.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,12 @@
6
6
  * - DQN Algorithm: Optimizes security test prioritization
7
7
  * - QEFlashAttention: Fast vulnerability similarity matching
8
8
  */
9
- import { Result } from '../../shared/types/index.js';
9
+ import { Result, DomainName } from '../../shared/types/index.js';
10
10
  import type { EventBus, MemoryBackend, AgentCoordinator } from '../../kernel/interfaces.js';
11
11
  import { FilePath } from '../../shared/value-objects/index.js';
12
12
  import type { ISecurityComplianceCoordinator, SecurityAuditOptions, SecurityAuditReport, SecurityPosture, ComplianceReport, ComplianceContext, SASTResult, DASTResult } from './interfaces.js';
13
13
  import { type ConsensusEngineConfig } from '../../coordination/consensus/index.js';
14
+ import type { QueenMinCutBridge } from '../../coordination/mincut/queen-integration';
14
15
  export interface IExtendedSecurityComplianceCoordinator extends ISecurityComplianceCoordinator {
15
16
  initialize(): Promise<void>;
16
17
  dispose(): Promise<void>;
@@ -25,6 +26,9 @@ export interface IExtendedSecurityComplianceCoordinator extends ISecurityComplia
25
26
  runComplianceValidation(standardId: string, context: ComplianceContext): Promise<Result<ComplianceReport>>;
26
27
  runComplianceCheck(standardId: string): Promise<Result<ComplianceReport>>;
27
28
  getSecurityPosture(): Promise<Result<SecurityPosture>>;
29
+ setMinCutBridge(bridge: QueenMinCutBridge): void;
30
+ isTopologyHealthy(): boolean;
31
+ isConsensusAvailable(): boolean;
28
32
  }
29
33
  export interface WorkflowStatus {
30
34
  id: string;
@@ -46,6 +50,12 @@ export interface CoordinatorConfig {
46
50
  enableFlashAttention: boolean;
47
51
  enableConsensus: boolean;
48
52
  consensusConfig?: Partial<ConsensusEngineConfig>;
53
+ enableMinCutAwareness: boolean;
54
+ topologyHealthThreshold: number;
55
+ pauseOnCriticalTopology: boolean;
56
+ consensusThreshold: number;
57
+ consensusStrategy: 'majority' | 'weighted' | 'unanimous';
58
+ consensusMinModels: number;
49
59
  }
50
60
  export declare class SecurityComplianceCoordinator implements IExtendedSecurityComplianceCoordinator {
51
61
  private readonly eventBus;
@@ -61,6 +71,9 @@ export declare class SecurityComplianceCoordinator implements IExtendedSecurityC
61
71
  private flashAttention?;
62
72
  private rlInitialized;
63
73
  private consensusEngine?;
74
+ private readonly minCutMixin;
75
+ private readonly consensusMixin;
76
+ private readonly domainName;
64
77
  constructor(eventBus: EventBus, memory: MemoryBackend, agentCoordinator: AgentCoordinator, config?: Partial<CoordinatorConfig>);
65
78
  initialize(): Promise<void>;
66
79
  /**
@@ -134,8 +147,15 @@ export declare class SecurityComplianceCoordinator implements IExtendedSecurityC
134
147
  /**
135
148
  * V3 Integration: Verify CRITICAL/HIGH findings with multi-model consensus
136
149
  * Improves detection accuracy from 27% to 75%+ by requiring model agreement (MM-006)
150
+ *
151
+ * Uses the consensusMixin.verifyFinding() for consistent pattern across domains.
137
152
  */
138
153
  private verifyHighSeverityFindings;
154
+ /**
155
+ * Legacy verification using direct consensusEngine (kept for backwards compatibility)
156
+ * @deprecated Use verifyHighSeverityFindings with consensusMixin instead
157
+ */
158
+ private verifyHighSeverityFindingsLegacy;
139
159
  private publishComplianceValidationCompleted;
140
160
  private startWorkflow;
141
161
  private completeWorkflow;
@@ -146,5 +166,40 @@ export declare class SecurityComplianceCoordinator implements IExtendedSecurityC
146
166
  private handleImpactAnalysis;
147
167
  private loadWorkflowState;
148
168
  private saveWorkflowState;
169
+ /**
170
+ * Set the MinCut bridge for topology awareness
171
+ */
172
+ setMinCutBridge(bridge: QueenMinCutBridge): void;
173
+ /**
174
+ * Check if topology is healthy
175
+ */
176
+ isTopologyHealthy(): boolean;
177
+ /**
178
+ * Get topology-based routing excluding weak domains
179
+ * @param targetDomains - List of potential target domains
180
+ * @returns Filtered list of healthy domains for routing
181
+ */
182
+ getTopologyBasedRouting(targetDomains: DomainName[]): DomainName[];
183
+ /**
184
+ * Get weak vertices belonging to this domain
185
+ */
186
+ getDomainWeakVertices(): import("../../index.js").WeakVertex[];
187
+ /**
188
+ * Check if this domain is a weak point in the topology
189
+ */
190
+ isDomainWeakPoint(): boolean;
191
+ /**
192
+ * Get domains that are healthy for routing
193
+ * Convenience method that considers monitored domains
194
+ */
195
+ getHealthyRoutingDomains(): DomainName[];
196
+ /**
197
+ * Check if consensus engine is available
198
+ */
199
+ isConsensusAvailable(): boolean;
200
+ /**
201
+ * Get consensus statistics
202
+ */
203
+ getConsensusStats(): import("../../index.js").ConsensusStats | undefined;
149
204
  }
150
205
  //# sourceMappingURL=coordinator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/security-compliance/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/domains/security-compliance/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EACL,MAAM,EAIN,UAAU,EACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAEjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAO/D,OAAO,KAAK,EACV,8BAA8B,EAC9B,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,UAAU,EAEX,MAAM,iBAAiB,CAAC;AA0BzB,OAAO,EAGL,KAAK,qBAAqB,EAI3B,MAAM,uCAAuC,CAAC;AAoB/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAWrF,MAAM,WAAW,sCACf,SAAQ,8BAA8B;IACtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,kBAAkB,IAAI,cAAc,EAAE,CAAC;IAEvC;;OAEG;IACH,eAAe,CACb,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GACjC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC;IAE5C;;OAEG;IACH,uBAAuB,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAGrC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC1E,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAEvD,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjD,iBAAiB,IAAI,OAAO,CAAC;IAE7B,oBAAoB,IAAI,OAAO,CAAC;CACjC;AAMD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAClD,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IACvD,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,iBAAiB;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,OAAO,CAAC;IACvB,yBAAyB,EAAE,OAAO,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IAEtB,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,OAAO,CAAC;IAE9B,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEjD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,uBAAuB,EAAE,MAAM,CAAC;IAChC,uBAAuB,EAAE,OAAO,CAAC;IAEjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACzD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA0BD,qBAAa,6BACX,YAAW,sCAAsC;IA2B/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IA3BnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAC1D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuC;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,cAAc,CAAC,CAAmB;IAC1C,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO,CAAC,eAAe,CAAC,CAAkB;IAG1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAGrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAGvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;gBAGjC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,aAAa,EACrB,gBAAgB,EAAE,gBAAgB,EACnD,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAqCnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBjC;;OAEG;YACW,wBAAwB;IAsDhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB9B,kBAAkB,IAAI,cAAc,EAAE;IAUtC;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IA+EvC;;OAEG;IACG,eAAe,CACnB,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GACjC,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC;IA2C3C;;OAEG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,iBAAiB,GACzB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IA6CpC;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IA0C/D;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAU/E;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAQ5D;;OAEG;YACW,uBAAuB;IAkCrC;;OAEG;YACW,yBAAyB;IAuCvC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;YACW,4BAA4B;IAuC1C;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAsCpC;;OAEG;IACH,OAAO,CAAC,QAAQ;YAaF,uBAAuB;IAmBrC;;OAEG;IACH,OAAO,CAAC,gCAAgC;YAoB1B,6BAA6B;IA4B3C;;;;;OAKG;YACW,0BAA0B;IAoFxC;;;OAGG;YACW,gCAAgC;YAiDhC,oCAAoC;IAqBlD,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;YAYX,sBAAsB;YAItB,oBAAoB;YAQpB,iBAAiB;YAiBjB,iBAAiB;IAa/B;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;IAKhD;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;;OAIG;IACH,uBAAuB,CAAC,aAAa,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;IAIlE;;OAEG;IACH,qBAAqB;IAIrB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACH,wBAAwB,IAAI,UAAU,EAAE;IAQxC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,iBAAiB;CAGlB"}