mcp-adr-analysis-server 2.1.19 → 2.1.22

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 (227) hide show
  1. package/README.md +1 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/config/ai-config.d.ts +54 -6
  4. package/dist/src/config/ai-config.d.ts.map +1 -1
  5. package/dist/src/config/ai-config.js +69 -6
  6. package/dist/src/config/ai-config.js.map +1 -1
  7. package/dist/src/config/ape-descriptions.d.ts +77 -0
  8. package/dist/src/config/ape-descriptions.d.ts.map +1 -0
  9. package/dist/src/config/ape-descriptions.js +177 -0
  10. package/dist/src/config/ape-descriptions.js.map +1 -0
  11. package/dist/src/index.d.ts +40 -0
  12. package/dist/src/index.d.ts.map +1 -1
  13. package/dist/src/index.js +564 -8
  14. package/dist/src/index.js.map +1 -1
  15. package/dist/src/prompts/adr-suggestion-prompts.d.ts +5 -0
  16. package/dist/src/prompts/adr-suggestion-prompts.d.ts.map +1 -1
  17. package/dist/src/prompts/adr-suggestion-prompts.js +22 -1
  18. package/dist/src/prompts/adr-suggestion-prompts.js.map +1 -1
  19. package/dist/src/prompts/prompt-catalog.d.ts +95 -0
  20. package/dist/src/prompts/prompt-catalog.d.ts.map +1 -0
  21. package/dist/src/prompts/prompt-catalog.js +300 -0
  22. package/dist/src/prompts/prompt-catalog.js.map +1 -0
  23. package/dist/src/resources/adrs-discovered-resource.d.ts +124 -0
  24. package/dist/src/resources/adrs-discovered-resource.d.ts.map +1 -0
  25. package/dist/src/resources/adrs-discovered-resource.js +174 -0
  26. package/dist/src/resources/adrs-discovered-resource.js.map +1 -0
  27. package/dist/src/resources/adrs-review-resource.d.ts +82 -0
  28. package/dist/src/resources/adrs-review-resource.d.ts.map +1 -0
  29. package/dist/src/resources/adrs-review-resource.js +160 -0
  30. package/dist/src/resources/adrs-review-resource.js.map +1 -0
  31. package/dist/src/resources/architectural-context-resource.d.ts +95 -0
  32. package/dist/src/resources/architectural-context-resource.d.ts.map +1 -0
  33. package/dist/src/resources/architectural-context-resource.js +428 -0
  34. package/dist/src/resources/architectural-context-resource.js.map +1 -0
  35. package/dist/src/resources/conversation-snapshot-resource.d.ts +92 -0
  36. package/dist/src/resources/conversation-snapshot-resource.d.ts.map +1 -0
  37. package/dist/src/resources/conversation-snapshot-resource.js +122 -0
  38. package/dist/src/resources/conversation-snapshot-resource.js.map +1 -0
  39. package/dist/src/resources/deployment-status-resource.js +1 -1
  40. package/dist/src/resources/deployment-status-resource.js.map +1 -1
  41. package/dist/src/resources/environment-analysis-resource.js +1 -1
  42. package/dist/src/resources/environment-analysis-resource.js.map +1 -1
  43. package/dist/src/resources/knowledge-graph-resource.d.ts +129 -0
  44. package/dist/src/resources/knowledge-graph-resource.d.ts.map +1 -0
  45. package/dist/src/resources/knowledge-graph-resource.js +217 -0
  46. package/dist/src/resources/knowledge-graph-resource.js.map +1 -0
  47. package/dist/src/resources/memory-expand-resource.d.ts +90 -0
  48. package/dist/src/resources/memory-expand-resource.d.ts.map +1 -0
  49. package/dist/src/resources/memory-expand-resource.js +176 -0
  50. package/dist/src/resources/memory-expand-resource.js.map +1 -0
  51. package/dist/src/resources/memory-stats-resource.d.ts +77 -0
  52. package/dist/src/resources/memory-stats-resource.d.ts.map +1 -0
  53. package/dist/src/resources/memory-stats-resource.js +108 -0
  54. package/dist/src/resources/memory-stats-resource.js.map +1 -0
  55. package/dist/src/resources/project-metrics-resource.js +1 -1
  56. package/dist/src/resources/project-metrics-resource.js.map +1 -1
  57. package/dist/src/resources/resource-cache.d.ts.map +1 -1
  58. package/dist/src/resources/resource-cache.js +2 -1
  59. package/dist/src/resources/resource-cache.js.map +1 -1
  60. package/dist/src/resources/server-context-resource.d.ts +69 -0
  61. package/dist/src/resources/server-context-resource.d.ts.map +1 -0
  62. package/dist/src/resources/server-context-resource.js +104 -0
  63. package/dist/src/resources/server-context-resource.js.map +1 -0
  64. package/dist/src/resources/tool-catalog-resource.d.ts +122 -0
  65. package/dist/src/resources/tool-catalog-resource.d.ts.map +1 -0
  66. package/dist/src/resources/tool-catalog-resource.js +167 -0
  67. package/dist/src/resources/tool-catalog-resource.js.map +1 -0
  68. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
  69. package/dist/src/tools/adr-bootstrap-validation-tool.js +7 -6
  70. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
  71. package/dist/src/tools/adr-suggestion-tool.d.ts +5 -0
  72. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  73. package/dist/src/tools/adr-suggestion-tool.js +40 -71
  74. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  75. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +23 -1
  76. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -1
  77. package/dist/src/tools/bootstrap-validation-loop-tool.js +15 -5
  78. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -1
  79. package/dist/src/tools/ce-mcp-tools.d.ts +291 -0
  80. package/dist/src/tools/ce-mcp-tools.d.ts.map +1 -0
  81. package/dist/src/tools/ce-mcp-tools.js +1188 -0
  82. package/dist/src/tools/ce-mcp-tools.js.map +1 -0
  83. package/dist/src/tools/content-masking-tool.d.ts +11 -0
  84. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  85. package/dist/src/tools/content-masking-tool.js +13 -6
  86. package/dist/src/tools/content-masking-tool.js.map +1 -1
  87. package/dist/src/tools/deployment-readiness-tool.d.ts +11 -0
  88. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  89. package/dist/src/tools/deployment-readiness-tool.js +10 -4
  90. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  91. package/dist/src/tools/environment-analysis-tool.d.ts +96 -1
  92. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  93. package/dist/src/tools/environment-analysis-tool.js +38 -46
  94. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  95. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  96. package/dist/src/tools/research-question-tool.js +3 -2
  97. package/dist/src/tools/research-question-tool.js.map +1 -1
  98. package/dist/src/tools/review-existing-adrs-tool.d.ts +5 -0
  99. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
  100. package/dist/src/tools/review-existing-adrs-tool.js +123 -42
  101. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
  102. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  103. package/dist/src/tools/rule-generation-tool.js +3 -5
  104. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  105. package/dist/src/tools/search-codebase-tool.d.ts +148 -0
  106. package/dist/src/tools/search-codebase-tool.d.ts.map +1 -0
  107. package/dist/src/tools/search-codebase-tool.js +406 -0
  108. package/dist/src/tools/search-codebase-tool.js.map +1 -0
  109. package/dist/src/tools/smart-git-push-tool-v2.js +1 -1
  110. package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
  111. package/dist/src/tools/tool-catalog.d.ts +134 -0
  112. package/dist/src/tools/tool-catalog.d.ts.map +1 -0
  113. package/dist/src/tools/tool-catalog.js +1431 -0
  114. package/dist/src/tools/tool-catalog.js.map +1 -0
  115. package/dist/src/tools/tool-chain-orchestrator.d.ts +11 -2
  116. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  117. package/dist/src/tools/tool-chain-orchestrator.js +11 -2
  118. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  119. package/dist/src/tools/tool-dispatcher.d.ts +98 -0
  120. package/dist/src/tools/tool-dispatcher.d.ts.map +1 -0
  121. package/dist/src/tools/tool-dispatcher.js +225 -0
  122. package/dist/src/tools/tool-dispatcher.js.map +1 -0
  123. package/dist/src/tools/tree-sitter-code-tools.d.ts +184 -0
  124. package/dist/src/tools/tree-sitter-code-tools.d.ts.map +1 -0
  125. package/dist/src/tools/tree-sitter-code-tools.js +642 -0
  126. package/dist/src/tools/tree-sitter-code-tools.js.map +1 -0
  127. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -0
  128. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  129. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +20 -3
  130. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  131. package/dist/src/tools/update-knowledge-tool.d.ts +89 -0
  132. package/dist/src/tools/update-knowledge-tool.d.ts.map +1 -0
  133. package/dist/src/tools/update-knowledge-tool.js +222 -0
  134. package/dist/src/tools/update-knowledge-tool.js.map +1 -0
  135. package/dist/src/types/ce-mcp.d.ts +248 -0
  136. package/dist/src/types/ce-mcp.d.ts.map +1 -0
  137. package/dist/src/types/ce-mcp.js +27 -0
  138. package/dist/src/types/ce-mcp.js.map +1 -0
  139. package/dist/src/utils/adr-context-detector.js +1 -1
  140. package/dist/src/utils/adr-context-detector.js.map +1 -1
  141. package/dist/src/utils/adr-planning-task-integration.d.ts +260 -0
  142. package/dist/src/utils/adr-planning-task-integration.d.ts.map +1 -0
  143. package/dist/src/utils/adr-planning-task-integration.js +466 -0
  144. package/dist/src/utils/adr-planning-task-integration.js.map +1 -0
  145. package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -1
  146. package/dist/src/utils/adr-timeline-extractor.js +3 -2
  147. package/dist/src/utils/adr-timeline-extractor.js.map +1 -1
  148. package/dist/src/utils/ai-executor.d.ts +10 -0
  149. package/dist/src/utils/ai-executor.d.ts.map +1 -1
  150. package/dist/src/utils/ai-executor.js +14 -3
  151. package/dist/src/utils/ai-executor.js.map +1 -1
  152. package/dist/src/utils/automatic-prompt-engineering.d.ts +5 -0
  153. package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
  154. package/dist/src/utils/automatic-prompt-engineering.js +10 -90
  155. package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
  156. package/dist/src/utils/bootstrap-task-integration.d.ts +214 -0
  157. package/dist/src/utils/bootstrap-task-integration.d.ts.map +1 -0
  158. package/dist/src/utils/bootstrap-task-integration.js +365 -0
  159. package/dist/src/utils/bootstrap-task-integration.js.map +1 -0
  160. package/dist/src/utils/dag-executor.d.ts.map +1 -1
  161. package/dist/src/utils/dag-executor.js +48 -15
  162. package/dist/src/utils/dag-executor.js.map +1 -1
  163. package/dist/src/utils/deployment-task-integration.d.ts +260 -0
  164. package/dist/src/utils/deployment-task-integration.d.ts.map +1 -0
  165. package/dist/src/utils/deployment-task-integration.js +393 -0
  166. package/dist/src/utils/deployment-task-integration.js.map +1 -0
  167. package/dist/src/utils/dynamic-deployment-intelligence.js +1 -1
  168. package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -1
  169. package/dist/src/utils/enhanced-logging.d.ts +3 -0
  170. package/dist/src/utils/enhanced-logging.d.ts.map +1 -1
  171. package/dist/src/utils/enhanced-logging.js +9 -30
  172. package/dist/src/utils/enhanced-logging.js.map +1 -1
  173. package/dist/src/utils/environment-capability-registry.js +1 -1
  174. package/dist/src/utils/environment-capability-registry.js.map +1 -1
  175. package/dist/src/utils/file-system.d.ts.map +1 -1
  176. package/dist/src/utils/file-system.js +33 -3
  177. package/dist/src/utils/file-system.js.map +1 -1
  178. package/dist/src/utils/gitleaks-detector.js +1 -1
  179. package/dist/src/utils/gitleaks-detector.js.map +1 -1
  180. package/dist/src/utils/knowledge-graph-manager.d.ts +13 -0
  181. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  182. package/dist/src/utils/knowledge-graph-manager.js +13 -0
  183. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  184. package/dist/src/utils/prompt-execution.d.ts +29 -1
  185. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  186. package/dist/src/utils/prompt-execution.js +29 -1
  187. package/dist/src/utils/prompt-execution.js.map +1 -1
  188. package/dist/src/utils/research-orchestrator.d.ts +87 -1
  189. package/dist/src/utils/research-orchestrator.d.ts.map +1 -1
  190. package/dist/src/utils/research-orchestrator.js +121 -17
  191. package/dist/src/utils/research-orchestrator.js.map +1 -1
  192. package/dist/src/utils/research-task-integration.d.ts +297 -0
  193. package/dist/src/utils/research-task-integration.d.ts.map +1 -0
  194. package/dist/src/utils/research-task-integration.js +449 -0
  195. package/dist/src/utils/research-task-integration.js.map +1 -0
  196. package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -1
  197. package/dist/src/utils/ripgrep-wrapper.js +17 -3
  198. package/dist/src/utils/ripgrep-wrapper.js.map +1 -1
  199. package/dist/src/utils/sandbox-executor.d.ts +145 -0
  200. package/dist/src/utils/sandbox-executor.d.ts.map +1 -0
  201. package/dist/src/utils/sandbox-executor.js +642 -0
  202. package/dist/src/utils/sandbox-executor.js.map +1 -0
  203. package/dist/src/utils/server-context-generator.d.ts +5 -0
  204. package/dist/src/utils/server-context-generator.d.ts.map +1 -1
  205. package/dist/src/utils/server-context-generator.js +38 -0
  206. package/dist/src/utils/server-context-generator.js.map +1 -1
  207. package/dist/src/utils/task-manager.d.ts +239 -0
  208. package/dist/src/utils/task-manager.d.ts.map +1 -0
  209. package/dist/src/utils/task-manager.js +528 -0
  210. package/dist/src/utils/task-manager.js.map +1 -0
  211. package/dist/src/utils/task-persistence.d.ts +82 -0
  212. package/dist/src/utils/task-persistence.d.ts.map +1 -0
  213. package/dist/src/utils/task-persistence.js +248 -0
  214. package/dist/src/utils/task-persistence.js.map +1 -0
  215. package/dist/src/utils/test-aware-defaults.d.ts +57 -0
  216. package/dist/src/utils/test-aware-defaults.d.ts.map +1 -0
  217. package/dist/src/utils/test-aware-defaults.js +71 -0
  218. package/dist/src/utils/test-aware-defaults.js.map +1 -0
  219. package/dist/src/utils/tree-sitter-analyzer.d.ts +42 -5
  220. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
  221. package/dist/src/utils/tree-sitter-analyzer.js +499 -17
  222. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
  223. package/package.json +25 -20
  224. package/dist/src/tools/smart-git-push-tool.d.ts +0 -55
  225. package/dist/src/tools/smart-git-push-tool.d.ts.map +0 -1
  226. package/dist/src/tools/smart-git-push-tool.js +0 -1011
  227. package/dist/src/tools/smart-git-push-tool.js.map +0 -1
@@ -2,6 +2,11 @@
2
2
  * MCP Tool for ADR suggestions and implicit decision detection
3
3
  * Enhanced with Knowledge Generation, Reflexion capabilities, and Research-Driven Architecture
4
4
  * Implements AI-powered ADR recommendation system with environment-aware research
5
+ *
6
+ * Following ADR-018 Atomic Tools Architecture:
7
+ * - Dependency injection for testability
8
+ * - No ResearchOrchestrator (deprecated) - uses static context
9
+ * - Self-contained with minimal dependencies
5
10
  */
6
11
  import { McpAdrError } from '../types/index.js';
7
12
  import { generateArchitecturalKnowledge } from '../utils/knowledge-generation.js';
@@ -9,16 +14,17 @@ import { executeWithReflexion, retrieveRelevantMemories, createToolReflexionConf
9
14
  import { executeADRSuggestionPrompt, formatMCPResponse } from '../utils/prompt-execution.js';
10
15
  import { TreeSitterAnalyzer } from '../utils/tree-sitter-analyzer.js';
11
16
  import { findRelatedCode } from '../utils/file-system.js';
12
- import { ResearchOrchestrator } from '../utils/research-orchestrator.js';
17
+ // ResearchOrchestrator removed per ADR-018 - using static infrastructure context instead
13
18
  import { getAIExecutor } from '../utils/ai-executor.js';
19
+ import { getEnhancedModeDefault, getKnowledgeEnhancementDefault, } from '../utils/test-aware-defaults.js';
14
20
  /**
15
21
  * Suggest ADRs based on project analysis with advanced prompting techniques
16
22
  * Enhanced with Knowledge Generation and Reflexion learning capabilities
17
23
  */
18
24
  export async function suggestAdrs(args) {
19
- const { projectPath = process.cwd(), analysisType = 'comprehensive', beforeCode, afterCode, changeDescription, commitMessages, existingAdrs, enhancedMode = true, // Default to enhanced mode
25
+ const { projectPath = process.cwd(), analysisType = 'comprehensive', beforeCode, afterCode, changeDescription, commitMessages, existingAdrs, enhancedMode = getEnhancedModeDefault(), // Environment-aware default
20
26
  learningEnabled = true, // Default to learning enabled
21
- knowledgeEnhancement = true, // Default to knowledge enhancement
27
+ knowledgeEnhancement = getKnowledgeEnhancementDefault(), // Environment-aware default
22
28
  enableTreeSitterAnalysis = true, // Default to tree-sitter enabled
23
29
  conversationContext, // Context from calling LLM
24
30
  } = args;
@@ -35,7 +41,6 @@ export async function suggestAdrs(args) {
35
41
  const mockAdrContent = existingAdrs.join('\n\n');
36
42
  const relatedCodeResult = await findRelatedCode('implicit-decisions-analysis', mockAdrContent, projectPath, {
37
43
  useAI: true,
38
- useRipgrep: true,
39
44
  maxFiles: 10,
40
45
  includeContent: false,
41
46
  });
@@ -169,7 +174,6 @@ The enhanced AI analysis will identify implicit architectural decisions and prov
169
174
  const mockAdrContent = `${existingAdrs.join('\n\n')}\n\nCODE CHANGE:\n${changeDescription}`;
170
175
  const relatedCodeResult = await findRelatedCode('code-changes-analysis', mockAdrContent, projectPath || process.cwd(), {
171
176
  useAI: true,
172
- useRipgrep: true,
173
177
  maxFiles: 8,
174
178
  includeContent: false,
175
179
  });
@@ -357,65 +361,30 @@ The enhanced AI analysis will provide:
357
361
  let reflexionContext = '';
358
362
  let codeContext = '';
359
363
  let researchContext = '';
360
- // Step 0: Research current infrastructure state (NEW - Research-Driven Architecture)
361
- try {
362
- const orchestrator = new ResearchOrchestrator(projectPath, 'docs/adrs');
363
- // Research questions about current architecture
364
- const infrastructureResearch = await orchestrator.answerResearchQuestion('What is our current infrastructure and deployment architecture? Include container technology, orchestration, databases, and key architectural patterns.');
365
- if (infrastructureResearch.confidence >= 0.5) {
366
- researchContext = `
367
- ## 🔬 Research-Driven Architecture Analysis
368
-
369
- **Live Infrastructure Research Results:**
370
-
371
- ### Current State
372
- ${infrastructureResearch.answer}
373
-
374
- ### Data Sources Consulted
375
- ${infrastructureResearch.sources.map(s => `- **${s.type}** (confidence: ${(s.confidence * 100).toFixed(1)}%)`).join('\n')}
376
-
377
- ### Research Metadata
378
- - **Overall Confidence**: ${(infrastructureResearch.confidence * 100).toFixed(1)}%
379
- - **Files Analyzed**: ${infrastructureResearch.metadata.filesAnalyzed}
380
- - **Sources Queried**: ${infrastructureResearch.metadata.sourcesQueried.join(', ')}
381
- - **Research Duration**: ${infrastructureResearch.metadata.duration}ms
382
- ${infrastructureResearch.needsWebSearch ? '- **Recommendation**: Consider web search for additional context\n' : ''}
383
-
384
- ### Infrastructure Evidence
385
- ${infrastructureResearch.sources
386
- .filter(s => s.found && s.data)
387
- .map(s => {
388
- if (s.type === 'project_files') {
389
- return `**Project Files**: ${s.data.files?.length || 0} relevant files found`;
390
- }
391
- else if (s.type === 'environment') {
392
- return `**Environment Data**: ${JSON.stringify(s.data).substring(0, 200)}...`;
393
- }
394
- else if (s.type === 'knowledge_graph') {
395
- return `**Knowledge Graph**: ${s.data.relatedAdrs?.length || 0} related ADRs`;
396
- }
397
- return '';
398
- })
399
- .filter(Boolean)
400
- .join('\n')}
364
+ // Step 0: Static Infrastructure Context (ADR-018: replaced ResearchOrchestrator)
365
+ // ResearchOrchestrator was removed per ADR-018 to eliminate blocking calls that caused
366
+ // test timeouts. For detailed infrastructure research, use analyze_project_ecosystem tool.
367
+ researchContext = `
368
+ ## 🔬 Architecture Analysis Context
369
+
370
+ **Project Path**: ${projectPath}
371
+ **ADR Directory**: docs/adrs
372
+ **Existing ADRs**: ${existingAdrs?.length || 0} provided
373
+
374
+ ### Analysis Approach
375
+ This analysis uses the **Atomic Tools Architecture** (ADR-018):
376
+ - Direct project file analysis via file system utilities
377
+ - Knowledge graph queries via MCP Resources (zero-cost reads)
378
+ - No blocking ResearchOrchestrator calls
379
+
380
+ ### Recommended Additional Analysis
381
+ For detailed infrastructure research, use these tools in sequence:
382
+ 1. \`analyze_project_ecosystem\` - Comprehensive project analysis
383
+ 2. \`read_knowledge_graph\` - Query existing architectural knowledge
384
+ 3. \`review_existing_adrs\` - Analyze current ADR inventory
401
385
 
402
386
  ---
403
387
  `;
404
- }
405
- }
406
- catch (error) {
407
- console.warn('[WARNING] Research-driven infrastructure analysis failed:', error);
408
- researchContext = `
409
- ## 🔬 Research-Driven Architecture Analysis
410
-
411
- **Status**: ⚠️ Research analysis unavailable
412
- **Error**: ${error instanceof Error ? error.message : 'Unknown error'}
413
-
414
- Proceeding with traditional analysis methods...
415
-
416
- ---
417
- `;
418
- }
419
388
  // Step 1: Generate domain-specific knowledge if enabled
420
389
  if (knowledgeEnhancement) {
421
390
  try {
@@ -453,7 +422,6 @@ ${knowledgeResult.prompt}
453
422
  const mockAdrContent = existingAdrs.join('\n\n');
454
423
  const relatedCodeResult = await findRelatedCode('comprehensive-analysis', mockAdrContent, projectPath, {
455
424
  useAI: true,
456
- useRipgrep: true,
457
425
  maxFiles: 15,
458
426
  includeContent: false,
459
427
  });
@@ -627,7 +595,7 @@ ${enhancedPrompt}`, null, {
627
595
  - **Reflexion Learning**: ${learningEnabled ? '✅ Enabled' : '❌ Disabled'}
628
596
  - **Enhanced Mode**: ${enhancedMode ? '✅ Enabled' : '❌ Disabled'}
629
597
  - **Smart Code Linking**: ${existingAdrs && existingAdrs.length > 0 ? '✅ Enabled' : '❌ No existing ADRs'}
630
- - **AI Execution**: ✅ OpenRouter.ai ${executionResult.metadata?.model || 'enabled'}
598
+ - **AI Execution**: ✅ Enabled (${executionResult.metadata?.model || 'default model'})
631
599
 
632
600
  ## Project Analysis
633
601
  - **Project Path**: ${projectPath}
@@ -693,7 +661,7 @@ This enhanced analysis uses research-driven architecture with live infrastructur
693
661
  - **Reflexion Learning**: ${learningEnabled ? '✅ Enabled' : '❌ Disabled'}
694
662
  - **Enhanced Mode**: ${enhancedMode ? '✅ Enabled' : '❌ Disabled'}
695
663
  - **Smart Code Linking**: ${existingAdrs && existingAdrs.length > 0 ? '✅ Enabled' : '❌ No existing ADRs'}
696
- - **AI Execution**: ❌ Disabled (configure OPENROUTER_API_KEY for AI execution)
664
+ - **AI Execution**: ❌ Disabled (set EXECUTION_MODE=full for legacy AI execution)
697
665
 
698
666
  ## Project Analysis
699
667
  - **Project Path**: ${projectPath}
@@ -895,15 +863,16 @@ export async function discoverExistingAdrs(args) {
895
863
  const { adrDirectory = 'docs/adrs', includeContent = false, projectPath = process.cwd() } = args;
896
864
  try {
897
865
  // INITIALIZE COMPLETE CACHE INFRASTRUCTURE (since this is typically the first command)
898
- console.log('🚀 Initializing complete cache infrastructure...');
866
+ // NOTE: All console output goes to stderr to preserve stdout for MCP JSON-RPC
867
+ console.error('[ADR-Suggestion] Initializing complete cache infrastructure...');
899
868
  // 1. TodoJsonManager removed - use mcp-shrimp-task-manager for task management
900
- console.warn('⚠️ TodoJsonManager is deprecated and was removed in memory-centric transformation');
869
+ console.error('[ADR-Suggestion] TodoJsonManager is deprecated and was removed in memory-centric transformation');
901
870
  // Skip todo initialization - TodoJsonManager removed
902
- console.log('✅ Initialized todo-data.json and cache directory');
871
+ console.error('[ADR-Suggestion] Initialized todo-data.json and cache directory');
903
872
  // 2. ProjectHealthScoring removed - use relationship-based importance instead
904
- console.warn('⚠️ ProjectHealthScoring is deprecated and was removed in memory-centric transformation');
873
+ console.error('[ADR-Suggestion] ProjectHealthScoring is deprecated and was removed in memory-centric transformation');
905
874
  // Skip health scoring initialization - ProjectHealthScoring removed
906
- console.log('✅ Initialized project-health-scores.json');
875
+ console.error('[ADR-Suggestion] Initialized project-health-scores.json');
907
876
  // 3. Initialize KnowledgeGraphManager (creates knowledge-graph-snapshots.json and todo-sync-state.json)
908
877
  // Set PROJECT_PATH temporarily for proper initialization
909
878
  const originalConfig = process.env['PROJECT_PATH'];
@@ -911,7 +880,7 @@ export async function discoverExistingAdrs(args) {
911
880
  const { KnowledgeGraphManager } = await import('../utils/knowledge-graph-manager.js');
912
881
  const kgManager = new KnowledgeGraphManager();
913
882
  await kgManager.loadKnowledgeGraph(); // Creates knowledge-graph-snapshots.json and todo-sync-state.json
914
- console.log('✅ Initialized knowledge-graph-snapshots.json and todo-sync-state.json');
883
+ console.error('[ADR-Suggestion] Initialized knowledge-graph-snapshots.json and todo-sync-state.json');
915
884
  // Restore original config
916
885
  if (originalConfig !== undefined) {
917
886
  process.env['PROJECT_PATH'] = originalConfig;
@@ -919,7 +888,7 @@ export async function discoverExistingAdrs(args) {
919
888
  else {
920
889
  delete process.env['PROJECT_PATH'];
921
890
  }
922
- console.log('🎯 Complete cache infrastructure ready!');
891
+ console.error('[ADR-Suggestion] Complete cache infrastructure ready!');
923
892
  // Use the new ADR discovery utility
924
893
  const { discoverAdrsInDirectory } = await import('../utils/adr-discovery.js');
925
894
  const discoveryResult = await discoverAdrsInDirectory(adrDirectory, projectPath, {
@@ -1 +1 @@
1
- {"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adr-suggestion-tool.js","sourceRoot":"","sources":["../../../src/tools/adr-suggestion-tool.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@
13
13
  * This creates a bidirectional feedback loop where ADRs evolve
14
14
  * based on real-world deployment experience.
15
15
  */
16
+ import { EnhancedLogger } from '../utils/enhanced-logging.js';
17
+ import { ResearchOrchestrator } from '../utils/research-orchestrator.js';
18
+ import { MemoryEntityManager } from '../utils/memory-entity-manager.js';
16
19
  import { DynamicDeploymentPlan } from '../utils/dynamic-deployment-intelligence.js';
17
20
  import { PlatformDetectionResult } from '../utils/platform-detector.js';
18
21
  import { DAGExecutionResult } from '../utils/dag-executor.js';
@@ -90,8 +93,20 @@ export interface MissingFileInfo {
90
93
  templateContent: string | undefined;
91
94
  recommendation: string;
92
95
  }
96
+ /**
97
+ * Dependencies for BootstrapValidationLoop (enables DI and mocking)
98
+ * Uses concrete types for full compatibility with existing implementations
99
+ * @see Issue #310 - Dependency injection for improved testability
100
+ */
101
+ export interface BootstrapValidationLoopDeps {
102
+ logger?: EnhancedLogger;
103
+ researchOrchestrator?: ResearchOrchestrator;
104
+ memoryManager?: MemoryEntityManager;
105
+ }
93
106
  /**
94
107
  * Bootstrap Validation Loop orchestrator
108
+ * Supports dependency injection for improved testability
109
+ * @see Issue #310 - Dependency injection for improved testability
95
110
  */
96
111
  export declare class BootstrapValidationLoop {
97
112
  private logger;
@@ -113,7 +128,14 @@ export declare class BootstrapValidationLoop {
113
128
  private patternConverter;
114
129
  private contributionHelper;
115
130
  private systemCardManager;
116
- constructor(projectPath: string, adrDirectory: string, maxIterations?: number);
131
+ /**
132
+ * Constructor with optional dependency injection
133
+ * @param projectPath - Path to the project
134
+ * @param adrDirectory - Path to ADR directory
135
+ * @param maxIterations - Maximum validation iterations
136
+ * @param deps - Optional dependencies for testing (defaults create real instances)
137
+ */
138
+ constructor(projectPath: string, adrDirectory: string, maxIterations?: number, deps?: BootstrapValidationLoopDeps);
117
139
  /**
118
140
  * Initialize the validation loop
119
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap-validation-loop-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/bootstrap-validation-loop-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,EAEL,qBAAqB,EACtB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAmB,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAQzF,OAAO,EAAe,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAU3E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE;QACnB,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,SAAS,CAAC,EAAE,GAAG,CAAC;QAChB,OAAO,CAAC,EAAE,GAAG,CAAC;QACd,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,CAAC;IACF,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;IAC5E,QAAQ,EAAE,gBAAgB,GAAG,eAAe,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;IACzF,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACpD,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;IAC3E,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,sBAAsB,CAAgC;IAC9D,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,cAAc,CAAsC;IAG5D,OAAO,CAAC,iBAAiB,CAAwC;IACjE,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,qBAAqB,CAAuB;IAGpD,OAAO,CAAC,cAAc,CAAqB;IAG3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,kBAAkB,CAA4B;IAGtD,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAE,MAAU;IAoBhF;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,OAAO,CAAC;QACjB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,0BAA0B,EAAE,OAAO,CAAC;QACpC,uBAAuB,EAAE,OAAO,CAAC;KAClC,GAAG,OAAO,CAAC;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,wBAAwB,CAAC;QACtC,UAAU,EAAE,iBAAiB,EAAE,CAAC;QAChC,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;QAC7C,cAAc,CAAC,EAAE,qBAAqB,CAAC;QACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,qBAAqB,EAAE,OAAO,CAAC;KAChC,CAAC;IAoTF;;OAEG;YACW,kBAAkB;IAsJhC;;OAEG;YACW,oBAAoB;IA0JlC;;OAEG;YACW,mCAAmC;IAuIjD;;OAEG;YACW,wBAAwB;IA2FtC;;OAEG;YACW,8BAA8B;IA2D5C;;OAEG;YACW,uBAAuB;IAwDrC;;OAEG;YACW,gBAAgB;IA0E9B;;OAEG;YACW,sBAAsB;IA2BpC;;OAEG;YACW,mCAAmC;IA2DjD;;OAEG;YACW,kBAAkB;IAuChC;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAqC3C;;OAEG;YACW,kBAAkB;IAwFhC;;OAEG;YACW,cAAc;IAuB5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;YACW,6BAA6B;IA8B3C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoD1B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2D/B;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAoCzC;;OAEG;YACW,kBAAkB;IA0DhC;;OAEG;YACW,0BAA0B;IAiDxC;;OAEG;YACW,sBAAsB;IA+BpC;;;;OAIG;IACH;;;;;;;;OAQG;IACG,wBAAwB,CAC5B,iBAAiB,EAAE,uBAAuB,GACzC,OAAO,CAAC,kBAAkB,CAAC;IAkH9B;;OAEG;YACW,uBAAuB;IAsDrC,OAAO,CAAC,kBAAkB;CAyB3B;AA+WD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,IAAI,EAAE;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,GAAG,OAAO,CAAC,GAAG,CAAC,CAgCf;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"bootstrap-validation-loop-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/bootstrap-validation-loop-tool.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  * based on real-world deployment experience.
15
15
  */
16
16
  import { promises as fs } from 'fs';
17
- import { exec } from 'child_process';
17
+ import { exec } from 'node:child_process';
18
18
  import { promisify } from 'util';
19
19
  import * as path from 'path';
20
20
  import { createHash } from 'crypto';
@@ -40,6 +40,8 @@ import { SystemCardManager } from '../utils/system-card-manager.js';
40
40
  const execAsync = promisify(exec);
41
41
  /**
42
42
  * Bootstrap Validation Loop orchestrator
43
+ * Supports dependency injection for improved testability
44
+ * @see Issue #310 - Dependency injection for improved testability
43
45
  */
44
46
  export class BootstrapValidationLoop {
45
47
  logger;
@@ -65,13 +67,21 @@ export class BootstrapValidationLoop {
65
67
  contributionHelper;
66
68
  // NEW: SystemCard Resource Tracking
67
69
  systemCardManager;
68
- constructor(projectPath, adrDirectory, maxIterations = 5) {
69
- this.logger = new EnhancedLogger();
70
+ /**
71
+ * Constructor with optional dependency injection
72
+ * @param projectPath - Path to the project
73
+ * @param adrDirectory - Path to ADR directory
74
+ * @param maxIterations - Maximum validation iterations
75
+ * @param deps - Optional dependencies for testing (defaults create real instances)
76
+ */
77
+ constructor(projectPath, adrDirectory, maxIterations = 5, deps = {}) {
78
+ this.logger = deps.logger ?? new EnhancedLogger();
70
79
  this.projectPath = projectPath;
71
80
  this.adrDirectory = adrDirectory;
72
81
  this.maxIterations = maxIterations;
73
- this.researchOrchestrator = new ResearchOrchestrator(projectPath, adrDirectory);
74
- this.memoryManager = new MemoryEntityManager();
82
+ this.researchOrchestrator =
83
+ deps.researchOrchestrator ?? new ResearchOrchestrator(projectPath, adrDirectory);
84
+ this.memoryManager = deps.memoryManager ?? new MemoryEntityManager();
75
85
  this.deploymentIntelligence = new DynamicDeploymentIntelligence(projectPath, adrDirectory);
76
86
  this.contextManager = new ToolContextManager(projectPath);
77
87
  // Initialize SystemCard for resource tracking (must be before DAGExecutor)