mcp-adr-analysis-server 2.0.11 → 2.0.13
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.
- package/README.md +45 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +210 -26
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/deployment-readiness-tool.d.ts +23 -0
- package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -0
- package/dist/src/tools/deployment-readiness-tool.js +696 -0
- package/dist/src/tools/deployment-readiness-tool.js.map +1 -0
- package/dist/src/tools/smart-git-push-tool-v2.d.ts +69 -0
- package/dist/src/tools/smart-git-push-tool-v2.d.ts.map +1 -0
- package/dist/src/tools/smart-git-push-tool-v2.js +922 -0
- package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -0
- package/dist/src/tools/smart-git-push-tool.d.ts +23 -15
- package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
- package/dist/src/tools/smart-git-push-tool.js +401 -29
- package/dist/src/tools/smart-git-push-tool.js.map +1 -1
- package/dist/src/tools/todo-management-tool-v2.d.ts +39 -0
- package/dist/src/tools/todo-management-tool-v2.d.ts.map +1 -1
- package/dist/src/tools/todo-management-tool-v2.js +229 -5
- package/dist/src/tools/todo-management-tool-v2.js.map +1 -1
- package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +4 -4
- package/dist/src/utils/knowledge-graph-manager.d.ts +13 -0
- package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
- package/dist/src/utils/knowledge-graph-manager.js +40 -0
- package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-git-push-tool-v2.js","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Smart Git Push MCP Tool
|
|
2
|
+
* Smart Git Push MCP Tool - Knowledge Graph Enhanced
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Leverages
|
|
4
|
+
* AI-powered git push with full knowledge graph integration and architectural awareness
|
|
5
|
+
* Leverages the complete .mcp-adr-cache system for intelligent decision making
|
|
6
6
|
*
|
|
7
|
-
* IMPORTANT FOR AI ASSISTANTS: This tool
|
|
8
|
-
*
|
|
7
|
+
* IMPORTANT FOR AI ASSISTANTS: This tool is deeply integrated with the knowledge graph
|
|
8
|
+
* and cache system. It performs comprehensive analysis before allowing pushes:
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
* - Updates .mcp-adr-cache/project-health-scores.json
|
|
10
|
+
* Knowledge Graph Integration:
|
|
11
|
+
* - Analyzes active intents and their progress toward goals
|
|
12
|
+
* - Checks ADR compliance of changes being pushed
|
|
13
|
+
* - Verifies architectural alignment with project decisions
|
|
14
|
+
* - Tracks tool execution chains and their impacts
|
|
16
15
|
*
|
|
17
|
-
* Cache Dependencies:
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
16
|
+
* Cache System Dependencies:
|
|
17
|
+
* - REQUIRES: .mcp-adr-cache/knowledge-graph-snapshots.json (for context analysis)
|
|
18
|
+
* - REQUIRES: .mcp-adr-cache/todo-data.json (for task dependency checking)
|
|
19
|
+
* - UPDATES: .mcp-adr-cache/todo-sync-state.json (after successful pushes)
|
|
20
|
+
* - UPDATES: .mcp-adr-cache/project-health-scores.json (continuous scoring)
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
+
* Architectural Intelligence:
|
|
23
|
+
* - Blocks pushes that violate architectural decisions
|
|
24
|
+
* - Ensures critical tasks are completed before deployment-related pushes
|
|
25
|
+
* - Validates that changes advance stated project goals
|
|
26
|
+
* - Provides context-aware recommendations based on project state
|
|
27
|
+
*
|
|
28
|
+
* Use this tool when you want AI-powered git push decisions based on project context.
|
|
22
29
|
*/
|
|
23
30
|
interface SmartGitPushArgs {
|
|
24
31
|
branch?: string;
|
|
@@ -31,6 +38,7 @@ interface SmartGitPushArgs {
|
|
|
31
38
|
projectPath?: string;
|
|
32
39
|
checkReleaseReadiness?: boolean;
|
|
33
40
|
releaseType?: 'major' | 'minor' | 'patch';
|
|
41
|
+
skipKnowledgeGraphAnalysis?: boolean;
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
44
|
* Exported smart git push function with JSON-safe content escaping
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-git-push-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"smart-git-push-tool.d.ts","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAYH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,gBAAgB,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC1C,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC;AAmwBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAGvE;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAe9E"}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Smart Git Push MCP Tool
|
|
2
|
+
* Smart Git Push MCP Tool - Knowledge Graph Enhanced
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* Leverages
|
|
4
|
+
* AI-powered git push with full knowledge graph integration and architectural awareness
|
|
5
|
+
* Leverages the complete .mcp-adr-cache system for intelligent decision making
|
|
6
6
|
*
|
|
7
|
-
* IMPORTANT FOR AI ASSISTANTS: This tool
|
|
8
|
-
*
|
|
7
|
+
* IMPORTANT FOR AI ASSISTANTS: This tool is deeply integrated with the knowledge graph
|
|
8
|
+
* and cache system. It performs comprehensive analysis before allowing pushes:
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
13
|
-
* -
|
|
14
|
-
* -
|
|
15
|
-
* - Updates .mcp-adr-cache/project-health-scores.json
|
|
10
|
+
* Knowledge Graph Integration:
|
|
11
|
+
* - Analyzes active intents and their progress toward goals
|
|
12
|
+
* - Checks ADR compliance of changes being pushed
|
|
13
|
+
* - Verifies architectural alignment with project decisions
|
|
14
|
+
* - Tracks tool execution chains and their impacts
|
|
16
15
|
*
|
|
17
|
-
* Cache Dependencies:
|
|
18
|
-
* -
|
|
19
|
-
* -
|
|
16
|
+
* Cache System Dependencies:
|
|
17
|
+
* - REQUIRES: .mcp-adr-cache/knowledge-graph-snapshots.json (for context analysis)
|
|
18
|
+
* - REQUIRES: .mcp-adr-cache/todo-data.json (for task dependency checking)
|
|
19
|
+
* - UPDATES: .mcp-adr-cache/todo-sync-state.json (after successful pushes)
|
|
20
|
+
* - UPDATES: .mcp-adr-cache/project-health-scores.json (continuous scoring)
|
|
20
21
|
*
|
|
21
|
-
*
|
|
22
|
+
* Architectural Intelligence:
|
|
23
|
+
* - Blocks pushes that violate architectural decisions
|
|
24
|
+
* - Ensures critical tasks are completed before deployment-related pushes
|
|
25
|
+
* - Validates that changes advance stated project goals
|
|
26
|
+
* - Provides context-aware recommendations based on project state
|
|
27
|
+
*
|
|
28
|
+
* Use this tool when you want AI-powered git push decisions based on project context.
|
|
22
29
|
*/
|
|
23
30
|
import { McpAdrError } from '../types/index.js';
|
|
24
31
|
import { execSync } from 'child_process';
|
|
@@ -26,15 +33,27 @@ import { readFileSync, existsSync, statSync } from 'fs';
|
|
|
26
33
|
import { join, basename } from 'path';
|
|
27
34
|
import { jsonSafeFilePath, jsonSafeMarkdownList, jsonSafeError, jsonSafeUserInput } from '../utils/json-safe.js';
|
|
28
35
|
import { validateMcpResponse } from '../utils/mcp-response-validator.js';
|
|
36
|
+
import { KnowledgeGraphManager } from '../utils/knowledge-graph-manager.js';
|
|
29
37
|
/**
|
|
30
|
-
* Main smart git push function -
|
|
38
|
+
* Main smart git push function - Knowledge Graph Enhanced Version
|
|
31
39
|
*/
|
|
32
40
|
async function _smartGitPushInternal(args) {
|
|
33
|
-
const { branch, message, skipValidation = false, allowedArtifacts = [], sensitivityLevel = 'moderate', dryRun = false, projectPath = process.cwd(), checkReleaseReadiness = false, releaseType = 'minor' } = args;
|
|
41
|
+
const { branch, message, skipValidation = false, allowedArtifacts = [], sensitivityLevel = 'moderate', dryRun = false, projectPath = process.cwd(), checkReleaseReadiness = false, releaseType = 'minor', skipKnowledgeGraphAnalysis = false } = args;
|
|
34
42
|
try {
|
|
35
43
|
// Step 1: Get staged files using git CLI
|
|
36
44
|
const stagedFiles = await getStagedFiles(projectPath);
|
|
37
|
-
// Step 2:
|
|
45
|
+
// Step 2: Perform Knowledge Graph Analysis (NEW - this is the smart part!)
|
|
46
|
+
let kgAnalysis = null;
|
|
47
|
+
if (!skipKnowledgeGraphAnalysis) {
|
|
48
|
+
try {
|
|
49
|
+
kgAnalysis = await analyzeKnowledgeGraphContext(projectPath, stagedFiles);
|
|
50
|
+
}
|
|
51
|
+
catch (kgError) {
|
|
52
|
+
// Knowledge graph analysis failed, continue with warning
|
|
53
|
+
console.error('Knowledge graph analysis failed:', kgError);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Step 3: Check release readiness if requested (enhanced with KG data)
|
|
38
57
|
let releaseReadinessResult = null;
|
|
39
58
|
if (checkReleaseReadiness) {
|
|
40
59
|
try {
|
|
@@ -64,15 +83,6 @@ async function _smartGitPushInternal(args) {
|
|
|
64
83
|
catch (error) {
|
|
65
84
|
// Silently handle release readiness analysis errors
|
|
66
85
|
}
|
|
67
|
-
// Update TODO tasks based on successful push
|
|
68
|
-
try {
|
|
69
|
-
const { TodoJsonManager } = await import('../utils/todo-json-manager.js');
|
|
70
|
-
const todoManager = new TodoJsonManager(projectPath);
|
|
71
|
-
await updateTodoTasksFromGitPush(todoManager, stagedFiles, releaseReadinessResult);
|
|
72
|
-
}
|
|
73
|
-
catch (todoError) {
|
|
74
|
-
// Silently handle TODO update errors
|
|
75
|
-
}
|
|
76
86
|
}
|
|
77
87
|
if (stagedFiles.length === 0) {
|
|
78
88
|
let responseText = `# Smart Git Push - No Changes
|
|
@@ -85,6 +95,28 @@ No staged files found. Use \`git add\` to stage files before pushing.
|
|
|
85
95
|
- \`git add <file>\` - Stage specific file
|
|
86
96
|
- \`git status\` - Check current status
|
|
87
97
|
`;
|
|
98
|
+
// Add knowledge graph context even when no files are staged
|
|
99
|
+
if (kgAnalysis) {
|
|
100
|
+
responseText += `
|
|
101
|
+
|
|
102
|
+
## Knowledge Graph Context
|
|
103
|
+
### Current Project Status
|
|
104
|
+
- **Active Intents**: ${kgAnalysis.activeIntents.length}
|
|
105
|
+
- **Goal Progress**: ${kgAnalysis.projectGoalProgress.overallProgress}%
|
|
106
|
+
- **Task Dependencies**: ${kgAnalysis.taskDependencies.completed.length} completed, ${kgAnalysis.taskDependencies.pending.length} pending
|
|
107
|
+
|
|
108
|
+
${kgAnalysis.activeIntents.length > 0 ? `
|
|
109
|
+
### Active Intents
|
|
110
|
+
${kgAnalysis.activeIntents.map(intent => `- **${intent.currentStatus}**: ${jsonSafeUserInput(intent.humanRequest.substring(0, 80))}...`).join('\n')}
|
|
111
|
+
` : ''}
|
|
112
|
+
|
|
113
|
+
${kgAnalysis.taskDependencies.pending.length > 0 ? `
|
|
114
|
+
### Pending Tasks
|
|
115
|
+
Consider working on these tasks before your next push:
|
|
116
|
+
${kgAnalysis.taskDependencies.pending.slice(0, 5).map(task => `- ${jsonSafeUserInput(task)}`).join('\n')}
|
|
117
|
+
` : ''}
|
|
118
|
+
`;
|
|
119
|
+
}
|
|
88
120
|
// Add release readiness info if checked
|
|
89
121
|
if (releaseReadinessResult) {
|
|
90
122
|
responseText += `
|
|
@@ -116,7 +148,7 @@ ${releaseReadinessResult.isReady ?
|
|
|
116
148
|
projectPath
|
|
117
149
|
});
|
|
118
150
|
}
|
|
119
|
-
// Step 4: Check for blocking conditions (
|
|
151
|
+
// Step 4: Check for blocking conditions (Enhanced with Knowledge Graph)
|
|
120
152
|
const issues = validationResults.filter(r => r.issues.length > 0);
|
|
121
153
|
// Check if release readiness should block push
|
|
122
154
|
let releaseReadinessBlocked = false;
|
|
@@ -126,9 +158,15 @@ ${releaseReadinessResult.isReady ?
|
|
|
126
158
|
releaseReadinessBlocked = true;
|
|
127
159
|
}
|
|
128
160
|
}
|
|
161
|
+
// Check Knowledge Graph for blocking conditions (NEW!)
|
|
162
|
+
let knowledgeGraphBlocked = false;
|
|
163
|
+
const kgBlockingConditions = kgAnalysis?.blockingConditions?.filter(bc => bc.severity === 'error') || [];
|
|
164
|
+
if (kgBlockingConditions.length > 0) {
|
|
165
|
+
knowledgeGraphBlocked = true;
|
|
166
|
+
}
|
|
129
167
|
// Check for blocking conditions
|
|
130
168
|
const hasBlockingErrors = issues.some(issue => issue.issues.some(i => i.severity === 'error'));
|
|
131
|
-
const shouldBlock = hasBlockingErrors || releaseReadinessBlocked;
|
|
169
|
+
const shouldBlock = hasBlockingErrors || releaseReadinessBlocked || knowledgeGraphBlocked;
|
|
132
170
|
if (shouldBlock && !dryRun) {
|
|
133
171
|
let cancelText = `# Smart Git Push - Blocked
|
|
134
172
|
|
|
@@ -157,6 +195,40 @@ ${releaseReadinessResult.blockers.filter(b => b.severity === 'error').map(b => `
|
|
|
157
195
|
|
|
158
196
|
### Recommendations
|
|
159
197
|
${jsonSafeMarkdownList(releaseReadinessResult.recommendations)}
|
|
198
|
+
`;
|
|
199
|
+
}
|
|
200
|
+
// Add knowledge graph blocking information (NEW!)
|
|
201
|
+
if (kgAnalysis && knowledgeGraphBlocked) {
|
|
202
|
+
cancelText += `
|
|
203
|
+
|
|
204
|
+
## Knowledge Graph Analysis - Blocking Conditions
|
|
205
|
+
The following architectural and project context issues prevent this push:
|
|
206
|
+
|
|
207
|
+
### Critical Issues
|
|
208
|
+
${kgBlockingConditions.map(bc => `- **${bc.type}**: ${jsonSafeUserInput(bc.message)}`).join('\n')}
|
|
209
|
+
|
|
210
|
+
### Recommendations
|
|
211
|
+
${kgBlockingConditions.map(bc => `- ${jsonSafeUserInput(bc.recommendation)}`).join('\n')}
|
|
212
|
+
|
|
213
|
+
### Project Context
|
|
214
|
+
- **Active Intents**: ${kgAnalysis.activeIntents.length}
|
|
215
|
+
- **Architectural Alignment**: ${kgAnalysis.architecturalAlignment.score}%
|
|
216
|
+
- **Goal Progress**: ${kgAnalysis.projectGoalProgress.overallProgress}%
|
|
217
|
+
- **Pending Critical Tasks**: ${kgAnalysis.taskDependencies.blocking.length}
|
|
218
|
+
`;
|
|
219
|
+
}
|
|
220
|
+
// Add general knowledge graph insights if available
|
|
221
|
+
if (kgAnalysis && !knowledgeGraphBlocked) {
|
|
222
|
+
cancelText += `
|
|
223
|
+
|
|
224
|
+
## Knowledge Graph Insights
|
|
225
|
+
### Project Status
|
|
226
|
+
- **Active Intents**: ${kgAnalysis.activeIntents.length}
|
|
227
|
+
- **Architectural Alignment**: ${kgAnalysis.architecturalAlignment.score}%
|
|
228
|
+
- **Goal Progress**: ${kgAnalysis.projectGoalProgress.overallProgress}%
|
|
229
|
+
|
|
230
|
+
### Warnings
|
|
231
|
+
${kgAnalysis.blockingConditions.filter(bc => bc.severity === 'warning').map(bc => `- **${bc.type}**: ${jsonSafeUserInput(bc.message)}`).join('\n')}
|
|
160
232
|
`;
|
|
161
233
|
}
|
|
162
234
|
return {
|
|
@@ -169,6 +241,17 @@ ${jsonSafeMarkdownList(releaseReadinessResult.recommendations)}
|
|
|
169
241
|
// Step 5: Execute git push if not dry run
|
|
170
242
|
if (!dryRun) {
|
|
171
243
|
const pushResult = await executePush(projectPath, branch, message);
|
|
244
|
+
// Update TODO tasks with KG integration
|
|
245
|
+
if (kgAnalysis) {
|
|
246
|
+
try {
|
|
247
|
+
const { TodoJsonManager } = await import('../utils/todo-json-manager.js');
|
|
248
|
+
const todoManager = new TodoJsonManager(projectPath);
|
|
249
|
+
await updateTodoTasksFromGitPushWithKG(todoManager, stagedFiles, kgAnalysis, releaseReadinessResult);
|
|
250
|
+
}
|
|
251
|
+
catch (todoError) {
|
|
252
|
+
console.error('Error updating TODO tasks with KG:', todoError);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
172
255
|
let successText = `# Smart Git Push - Success ✅
|
|
173
256
|
|
|
174
257
|
## Push Details
|
|
@@ -178,10 +261,33 @@ ${jsonSafeMarkdownList(releaseReadinessResult.recommendations)}
|
|
|
178
261
|
- **Issues Found**: ${issues.length}
|
|
179
262
|
- **Sensitivity Level**: ${sensitivityLevel}
|
|
180
263
|
${checkReleaseReadiness ? `- **Release Readiness**: ${releaseReadinessResult?.isReady ? '✅ Ready' : '❌ Not Ready'}` : ''}
|
|
264
|
+
${kgAnalysis ? `- **Knowledge Graph Analysis**: ✅ Completed` : ''}
|
|
181
265
|
|
|
182
266
|
## Files Pushed
|
|
183
267
|
${stagedFiles.map(f => `- ${jsonSafeFilePath(f.path)} (${f.status})`).join('\n')}
|
|
184
268
|
|
|
269
|
+
${kgAnalysis ? `
|
|
270
|
+
## Knowledge Graph Analysis
|
|
271
|
+
### Project Context
|
|
272
|
+
- **Active Intents**: ${kgAnalysis.activeIntents.length}
|
|
273
|
+
- **Architectural Alignment**: ${kgAnalysis.architecturalAlignment.score}%
|
|
274
|
+
- **Goal Progress**: ${kgAnalysis.projectGoalProgress.overallProgress}%
|
|
275
|
+
- **Task Dependencies**: ${kgAnalysis.taskDependencies.completed.length} completed, ${kgAnalysis.taskDependencies.pending.length} pending
|
|
276
|
+
|
|
277
|
+
### Architectural Insights
|
|
278
|
+
${kgAnalysis.architecturalAlignment.details.map(detail => `- ${jsonSafeUserInput(detail)}`).join('\n')}
|
|
279
|
+
|
|
280
|
+
${kgAnalysis.blockingConditions.length > 0 ? `
|
|
281
|
+
### Warnings & Recommendations
|
|
282
|
+
${kgAnalysis.blockingConditions.filter(bc => bc.severity === 'warning').map(bc => `- **${bc.type}**: ${jsonSafeUserInput(bc.message)}`).join('\n')}
|
|
283
|
+
` : ''}
|
|
284
|
+
|
|
285
|
+
${kgAnalysis.projectGoalProgress.intentProgress.length > 0 ? `
|
|
286
|
+
### Intent Progress
|
|
287
|
+
${kgAnalysis.projectGoalProgress.intentProgress.map(intent => `- **${intent.status}**: ${jsonSafeUserInput(intent.humanRequest.substring(0, 60))}... (${intent.progress}%)`).join('\n')}
|
|
288
|
+
` : ''}
|
|
289
|
+
` : ''}
|
|
290
|
+
|
|
185
291
|
${issues.length > 0 ? `
|
|
186
292
|
|
|
187
293
|
## Validation Issues (Auto-Approved)
|
|
@@ -215,6 +321,7 @@ ${jsonSafeUserInput(pushResult.output)}
|
|
|
215
321
|
- Review any deployment processes
|
|
216
322
|
- Check for any post-push hooks or workflows
|
|
217
323
|
${releaseReadinessResult?.isReady ? '- Consider creating a release tag or publishing' : ''}
|
|
324
|
+
${kgAnalysis ? '- Review knowledge graph insights for follow-up tasks' : ''}
|
|
218
325
|
`;
|
|
219
326
|
return {
|
|
220
327
|
content: [{
|
|
@@ -233,10 +340,33 @@ ${releaseReadinessResult?.isReady ? '- Consider creating a release tag or publis
|
|
|
233
340
|
- **Sensitivity Level**: ${sensitivityLevel}
|
|
234
341
|
- **Would Push to**: ${branch || 'current branch'}
|
|
235
342
|
${checkReleaseReadiness ? `- **Release Readiness**: ${releaseReadinessResult?.isReady ? '✅ Ready' : '❌ Not Ready'}` : ''}
|
|
343
|
+
${kgAnalysis ? `- **Knowledge Graph Analysis**: ✅ Completed` : ''}
|
|
236
344
|
|
|
237
345
|
## Staged Files
|
|
238
346
|
${stagedFiles.map(f => `- ${jsonSafeFilePath(f.path)} (${f.status}) - ${f.size} bytes`).join('\n')}
|
|
239
347
|
|
|
348
|
+
${kgAnalysis ? `
|
|
349
|
+
## Knowledge Graph Analysis Preview
|
|
350
|
+
### Project Context
|
|
351
|
+
- **Active Intents**: ${kgAnalysis.activeIntents.length}
|
|
352
|
+
- **Architectural Alignment**: ${kgAnalysis.architecturalAlignment.score}%
|
|
353
|
+
- **Goal Progress**: ${kgAnalysis.projectGoalProgress.overallProgress}%
|
|
354
|
+
- **Task Dependencies**: ${kgAnalysis.taskDependencies.completed.length} completed, ${kgAnalysis.taskDependencies.pending.length} pending
|
|
355
|
+
|
|
356
|
+
### Architectural Assessment
|
|
357
|
+
${kgAnalysis.architecturalAlignment.details.map(detail => `- ${jsonSafeUserInput(detail)}`).join('\n')}
|
|
358
|
+
|
|
359
|
+
${kgAnalysis.blockingConditions.length > 0 ? `
|
|
360
|
+
### Potential Issues
|
|
361
|
+
${kgAnalysis.blockingConditions.map(bc => `- **${bc.type}** (${bc.severity}): ${jsonSafeUserInput(bc.message)}`).join('\n')}
|
|
362
|
+
` : ''}
|
|
363
|
+
|
|
364
|
+
${kgAnalysis.projectGoalProgress.intentProgress.length > 0 ? `
|
|
365
|
+
### Intent Progress Impact
|
|
366
|
+
${kgAnalysis.projectGoalProgress.intentProgress.map(intent => `- **${intent.status}**: ${jsonSafeUserInput(intent.humanRequest.substring(0, 60))}... (${intent.progress}%)`).join('\n')}
|
|
367
|
+
` : ''}
|
|
368
|
+
` : ''}
|
|
369
|
+
|
|
240
370
|
${issues.length > 0 ? `
|
|
241
371
|
|
|
242
372
|
## Validation Issues Found
|
|
@@ -547,6 +677,248 @@ export async function smartGitPushMcpSafe(args) {
|
|
|
547
677
|
return validateMcpResponse(errorResponse);
|
|
548
678
|
}
|
|
549
679
|
}
|
|
680
|
+
/**
|
|
681
|
+
* Analyze Knowledge Graph Context for Smart Git Push Decisions
|
|
682
|
+
* This is the core "smart" functionality that makes push decisions based on project context
|
|
683
|
+
*/
|
|
684
|
+
async function analyzeKnowledgeGraphContext(projectPath, stagedFiles) {
|
|
685
|
+
const kgManager = new KnowledgeGraphManager();
|
|
686
|
+
const { TodoJsonManager } = await import('../utils/todo-json-manager.js');
|
|
687
|
+
const todoManager = new TodoJsonManager(projectPath);
|
|
688
|
+
// Load knowledge graph and TODO data
|
|
689
|
+
const kg = await kgManager.loadKnowledgeGraph();
|
|
690
|
+
const todoData = await todoManager.loadTodoData();
|
|
691
|
+
// Get active intents
|
|
692
|
+
const activeIntents = kg.intents.filter(i => i.currentStatus === 'executing' || i.currentStatus === 'planning');
|
|
693
|
+
// Analyze file changes against project context
|
|
694
|
+
const fileAnalysis = await analyzeFileChangesContext(stagedFiles, activeIntents, todoData);
|
|
695
|
+
// Check architectural alignment
|
|
696
|
+
const architecturalAlignment = await analyzeArchitecturalAlignment(stagedFiles, activeIntents, projectPath);
|
|
697
|
+
// Check task dependencies
|
|
698
|
+
const taskDependencies = await analyzeTaskDependencies(stagedFiles, todoData, activeIntents);
|
|
699
|
+
// Calculate project goal progress
|
|
700
|
+
const projectGoalProgress = await analyzeProjectGoalProgress(kg, todoData, activeIntents);
|
|
701
|
+
// Determine blocking conditions
|
|
702
|
+
const blockingConditions = await determineBlockingConditions(fileAnalysis, architecturalAlignment, taskDependencies, projectGoalProgress, stagedFiles);
|
|
703
|
+
// Find relevant ADRs
|
|
704
|
+
const relevantAdrs = await findRelevantAdrs(stagedFiles, projectPath);
|
|
705
|
+
return {
|
|
706
|
+
activeIntents,
|
|
707
|
+
relevantAdrs,
|
|
708
|
+
blockingConditions,
|
|
709
|
+
architecturalAlignment,
|
|
710
|
+
taskDependencies,
|
|
711
|
+
projectGoalProgress
|
|
712
|
+
};
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Analyze file changes against project context
|
|
716
|
+
*/
|
|
717
|
+
async function analyzeFileChangesContext(stagedFiles, activeIntents, todoData) {
|
|
718
|
+
const fileAnalysis = {
|
|
719
|
+
intentAlignment: [],
|
|
720
|
+
todoTaskProgress: []
|
|
721
|
+
};
|
|
722
|
+
// Check how files relate to active intents
|
|
723
|
+
for (const intent of activeIntents) {
|
|
724
|
+
const alignedFiles = [];
|
|
725
|
+
const conflictingFiles = [];
|
|
726
|
+
// Check if files mentioned in intent goals
|
|
727
|
+
for (const file of stagedFiles) {
|
|
728
|
+
const fileName = basename(file.path);
|
|
729
|
+
const isRelevant = intent.parsedGoals.some(goal => goal.toLowerCase().includes(fileName.toLowerCase()) ||
|
|
730
|
+
goal.toLowerCase().includes(file.path.toLowerCase()));
|
|
731
|
+
if (isRelevant) {
|
|
732
|
+
alignedFiles.push(file.path);
|
|
733
|
+
}
|
|
734
|
+
}
|
|
735
|
+
fileAnalysis.intentAlignment.push({
|
|
736
|
+
intentId: intent.intentId,
|
|
737
|
+
alignedFiles,
|
|
738
|
+
conflictingFiles
|
|
739
|
+
});
|
|
740
|
+
}
|
|
741
|
+
// Check how files relate to TODO tasks
|
|
742
|
+
const tasks = Object.values(todoData.tasks);
|
|
743
|
+
for (const task of tasks) {
|
|
744
|
+
const relatedFiles = stagedFiles.filter(file => {
|
|
745
|
+
const fileName = basename(file.path);
|
|
746
|
+
return task.title.toLowerCase().includes(fileName.toLowerCase()) ||
|
|
747
|
+
task.description?.toLowerCase().includes(fileName.toLowerCase()) ||
|
|
748
|
+
task.title.toLowerCase().includes(file.path.toLowerCase());
|
|
749
|
+
});
|
|
750
|
+
if (relatedFiles.length > 0) {
|
|
751
|
+
fileAnalysis.todoTaskProgress.push({
|
|
752
|
+
taskId: task.id,
|
|
753
|
+
relatedFiles: relatedFiles.map(f => f.path),
|
|
754
|
+
progressImpact: 'positive' // Assume file changes indicate progress
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
return fileAnalysis;
|
|
759
|
+
}
|
|
760
|
+
/**
|
|
761
|
+
* Analyze architectural alignment of changes
|
|
762
|
+
*/
|
|
763
|
+
async function analyzeArchitecturalAlignment(stagedFiles, activeIntents, _projectPath) {
|
|
764
|
+
const details = [];
|
|
765
|
+
const recommendations = [];
|
|
766
|
+
// Check if files align with architectural patterns
|
|
767
|
+
let alignmentScore = 100;
|
|
768
|
+
// Check for architectural violations
|
|
769
|
+
for (const file of stagedFiles) {
|
|
770
|
+
// Check if source files follow architectural patterns
|
|
771
|
+
if (file.path.match(/\.(ts|js|py|java|cs|go|rb|php|swift|kt|rs|cpp|c|h)$/i)) {
|
|
772
|
+
// Check for architectural patterns
|
|
773
|
+
if (file.path.includes('/src/') || file.path.includes('/lib/')) {
|
|
774
|
+
details.push(`✅ ${file.path} follows architectural structure`);
|
|
775
|
+
}
|
|
776
|
+
else {
|
|
777
|
+
details.push(`⚠️ ${file.path} may not follow architectural structure`);
|
|
778
|
+
alignmentScore -= 10;
|
|
779
|
+
recommendations.push(`Consider moving ${file.path} to appropriate architectural directory`);
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
// Check for configuration files
|
|
783
|
+
if (file.path.match(/\.(json|yaml|yml|conf|ini|toml)$/i)) {
|
|
784
|
+
details.push(`🔧 ${file.path} is a configuration file`);
|
|
785
|
+
if (file.path.includes('package.json') || file.path.includes('tsconfig.json')) {
|
|
786
|
+
recommendations.push(`Review ${file.path} changes for breaking changes`);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
}
|
|
790
|
+
// Check intent alignment
|
|
791
|
+
for (const intent of activeIntents) {
|
|
792
|
+
const intentFiles = stagedFiles.filter(file => {
|
|
793
|
+
return intent.parsedGoals.some(goal => goal.toLowerCase().includes(basename(file.path).toLowerCase()));
|
|
794
|
+
});
|
|
795
|
+
if (intentFiles.length > 0) {
|
|
796
|
+
details.push(`🎯 ${intentFiles.length} files align with intent: ${intent.humanRequest.substring(0, 50)}...`);
|
|
797
|
+
alignmentScore += 10;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
return {
|
|
801
|
+
score: Math.max(0, Math.min(100, alignmentScore)),
|
|
802
|
+
details,
|
|
803
|
+
recommendations
|
|
804
|
+
};
|
|
805
|
+
}
|
|
806
|
+
/**
|
|
807
|
+
* Analyze task dependencies
|
|
808
|
+
*/
|
|
809
|
+
async function analyzeTaskDependencies(_stagedFiles, todoData, _activeIntents) {
|
|
810
|
+
const tasks = Object.values(todoData.tasks);
|
|
811
|
+
const completed = [];
|
|
812
|
+
const pending = [];
|
|
813
|
+
const blocking = [];
|
|
814
|
+
for (const task of tasks) {
|
|
815
|
+
if (task.status === 'completed') {
|
|
816
|
+
completed.push(task.title);
|
|
817
|
+
}
|
|
818
|
+
else if (task.status === 'pending') {
|
|
819
|
+
pending.push(task.title);
|
|
820
|
+
}
|
|
821
|
+
else if (task.status === 'blocked' || task.priority === 'critical') {
|
|
822
|
+
blocking.push(task.title);
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
return { completed, pending, blocking };
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Analyze project goal progress
|
|
829
|
+
*/
|
|
830
|
+
async function analyzeProjectGoalProgress(_kg, _todoData, activeIntents) {
|
|
831
|
+
const intentProgress = activeIntents.map(intent => {
|
|
832
|
+
const progress = intent.scoreTracking?.scoreProgress || 0;
|
|
833
|
+
return {
|
|
834
|
+
intentId: intent.intentId,
|
|
835
|
+
humanRequest: intent.humanRequest,
|
|
836
|
+
progress,
|
|
837
|
+
status: intent.currentStatus
|
|
838
|
+
};
|
|
839
|
+
});
|
|
840
|
+
const overallProgress = intentProgress.length > 0
|
|
841
|
+
? intentProgress.reduce((sum, intent) => sum + intent.progress, 0) / intentProgress.length
|
|
842
|
+
: 0;
|
|
843
|
+
return {
|
|
844
|
+
overallProgress,
|
|
845
|
+
intentProgress
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Determine blocking conditions based on analysis
|
|
850
|
+
*/
|
|
851
|
+
async function determineBlockingConditions(_fileAnalysis, architecturalAlignment, taskDependencies, projectGoalProgress, stagedFiles) {
|
|
852
|
+
const blockingConditions = [];
|
|
853
|
+
// Check for critical task dependencies
|
|
854
|
+
if (taskDependencies.blocking.length > 0) {
|
|
855
|
+
blockingConditions.push({
|
|
856
|
+
type: 'critical-task',
|
|
857
|
+
severity: 'error',
|
|
858
|
+
message: `${taskDependencies.blocking.length} critical tasks are blocking this push`,
|
|
859
|
+
recommendation: 'Complete or unblock critical tasks before pushing',
|
|
860
|
+
affectedFiles: stagedFiles.map(f => f.path)
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
// Check architectural alignment
|
|
864
|
+
if (architecturalAlignment.score < 60) {
|
|
865
|
+
blockingConditions.push({
|
|
866
|
+
type: 'adr-violation',
|
|
867
|
+
severity: 'warning',
|
|
868
|
+
message: `Low architectural alignment score: ${architecturalAlignment.score}%`,
|
|
869
|
+
recommendation: 'Review architectural compliance of changes',
|
|
870
|
+
affectedFiles: stagedFiles.map(f => f.path)
|
|
871
|
+
});
|
|
872
|
+
}
|
|
873
|
+
// Check goal regression
|
|
874
|
+
if (projectGoalProgress.overallProgress < 20) {
|
|
875
|
+
blockingConditions.push({
|
|
876
|
+
type: 'goal-regression',
|
|
877
|
+
severity: 'warning',
|
|
878
|
+
message: `Low project goal progress: ${projectGoalProgress.overallProgress}%`,
|
|
879
|
+
recommendation: 'Focus on completing active project goals',
|
|
880
|
+
affectedFiles: stagedFiles.map(f => f.path)
|
|
881
|
+
});
|
|
882
|
+
}
|
|
883
|
+
return blockingConditions;
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* Find relevant ADRs for the file changes
|
|
887
|
+
*/
|
|
888
|
+
async function findRelevantAdrs(_stagedFiles, _projectPath) {
|
|
889
|
+
// This would typically scan ADR directories and find relevant ADRs
|
|
890
|
+
// For now, return empty array
|
|
891
|
+
return [];
|
|
892
|
+
}
|
|
893
|
+
/**
|
|
894
|
+
* Update TODO tasks based on successful git push with Knowledge Graph integration
|
|
895
|
+
*/
|
|
896
|
+
async function updateTodoTasksFromGitPushWithKG(todoManager, stagedFiles, kgAnalysis, releaseReadinessResult) {
|
|
897
|
+
try {
|
|
898
|
+
// Create intent for this git push
|
|
899
|
+
const kgManager = new KnowledgeGraphManager();
|
|
900
|
+
const intentId = await kgManager.createIntent(`Git push: ${stagedFiles.length} files`, [`Push ${stagedFiles.map(f => f.path).join(', ')}`], 'medium');
|
|
901
|
+
// Record tool execution
|
|
902
|
+
await kgManager.addToolExecution(intentId, 'smart_git_push', {
|
|
903
|
+
files: stagedFiles.map(f => f.path),
|
|
904
|
+
branch: 'current',
|
|
905
|
+
knowledgeGraphAnalysis: true
|
|
906
|
+
}, {
|
|
907
|
+
success: true,
|
|
908
|
+
filesProcessed: stagedFiles.length,
|
|
909
|
+
architecturalAlignment: kgAnalysis.architecturalAlignment.score
|
|
910
|
+
}, true, [], // todoTasksCreated
|
|
911
|
+
kgAnalysis.taskDependencies.completed // todoTasksModified
|
|
912
|
+
);
|
|
913
|
+
// Update intent status
|
|
914
|
+
await kgManager.updateIntentStatus(intentId, 'completed');
|
|
915
|
+
// Update TODO tasks
|
|
916
|
+
await updateTodoTasksFromGitPush(todoManager, stagedFiles, releaseReadinessResult);
|
|
917
|
+
}
|
|
918
|
+
catch (error) {
|
|
919
|
+
console.error('Error updating TODO tasks with KG:', error);
|
|
920
|
+
}
|
|
921
|
+
}
|
|
550
922
|
/**
|
|
551
923
|
* Update TODO tasks based on successful git push
|
|
552
924
|
*/
|