agentic-qe 3.8.8 → 3.8.9
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/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +16 -0
- package/dist/cli/bundle.js +711 -710
- package/dist/cli/commands/ruvector-commands.js +41 -1
- package/dist/domains/code-intelligence/services/knowledge-graph.js +3 -0
- package/dist/domains/coverage-analysis/services/coverage-parser.d.ts +72 -4
- package/dist/domains/coverage-analysis/services/coverage-parser.js +559 -6
- package/dist/governance/proof-envelope-integration.js +10 -4
- package/dist/integrations/coherence/engines/witness-adapter.d.ts +5 -5
- package/dist/integrations/coherence/engines/witness-adapter.js +10 -22
- package/dist/integrations/ruvector/coherence-gate.d.ts +14 -5
- package/dist/integrations/ruvector/coherence-gate.js +34 -6
- package/dist/learning/agent-routing.d.ts +7 -2
- package/dist/learning/agent-routing.js +17 -1
- package/dist/mcp/bundle.js +373 -372
- package/dist/mcp/tools/coverage-analysis/index.d.ts +12 -0
- package/dist/mcp/tools/coverage-analysis/index.js +27 -4
- package/package.json +1 -1
|
@@ -17,6 +17,10 @@ export interface CoverageAnalyzeParams {
|
|
|
17
17
|
includeRiskScoring?: boolean;
|
|
18
18
|
mlPowered?: boolean;
|
|
19
19
|
dryRun?: boolean;
|
|
20
|
+
/** Source language hint (java, csharp, go, rust, kotlin, swift, dart) */
|
|
21
|
+
language?: string;
|
|
22
|
+
/** Coverage format hint (lcov, json, jacoco, dotcover, tarpaulin, gocover, kover, xcresult) */
|
|
23
|
+
coverageFormat?: string;
|
|
20
24
|
[key: string]: unknown;
|
|
21
25
|
}
|
|
22
26
|
export interface CoverageThresholds {
|
|
@@ -31,6 +35,10 @@ export interface CoverageAnalyzeResult {
|
|
|
31
35
|
thresholdsPassed: boolean;
|
|
32
36
|
riskScore?: number;
|
|
33
37
|
trends?: CoverageTrend;
|
|
38
|
+
/** Detected or specified source language */
|
|
39
|
+
language?: string;
|
|
40
|
+
/** Coverage format used for parsing */
|
|
41
|
+
format?: string;
|
|
34
42
|
}
|
|
35
43
|
export interface CoverageSummary {
|
|
36
44
|
lines: CoverageMetric;
|
|
@@ -65,6 +73,10 @@ export interface CoverageGapsParams {
|
|
|
65
73
|
limit?: number;
|
|
66
74
|
prioritization?: 'complexity' | 'criticality' | 'change-frequency' | 'ml-confidence';
|
|
67
75
|
includeGhost?: boolean;
|
|
76
|
+
/** Source language filter */
|
|
77
|
+
language?: string;
|
|
78
|
+
/** Coverage format hint */
|
|
79
|
+
coverageFormat?: string;
|
|
68
80
|
[key: string]: unknown;
|
|
69
81
|
}
|
|
70
82
|
export interface CoverageGapsResult {
|
|
@@ -89,7 +89,7 @@ export class CoverageAnalyzeTool extends MCPToolBase {
|
|
|
89
89
|
return this.analyzerService;
|
|
90
90
|
}
|
|
91
91
|
async execute(params, context) {
|
|
92
|
-
const { target = '.', coverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, } = params;
|
|
92
|
+
const { target = '.', coverageFile, thresholds = { lines: 80, branches: 70, functions: 80, statements: 80 }, includeRisk = false, includeRiskScoring = false, dryRun = false, coverageFormat, language, } = params;
|
|
93
93
|
const shouldIncludeRisk = includeRisk || includeRiskScoring;
|
|
94
94
|
try {
|
|
95
95
|
this.emitStream(context, {
|
|
@@ -108,7 +108,7 @@ export class CoverageAnalyzeTool extends MCPToolBase {
|
|
|
108
108
|
let parsedReport = null;
|
|
109
109
|
if (coverageFile) {
|
|
110
110
|
try {
|
|
111
|
-
parsedReport = await parseCoverage(coverageFile, target);
|
|
111
|
+
parsedReport = await parseCoverage(coverageFile, target, coverageFormat, language);
|
|
112
112
|
}
|
|
113
113
|
catch (parseError) {
|
|
114
114
|
// Return error - don't silently fall back to fake data
|
|
@@ -207,6 +207,9 @@ export class CoverageAnalyzeTool extends MCPToolBase {
|
|
|
207
207
|
message: `Coverage analysis complete: ${summary.lines.percentage}% lines covered`,
|
|
208
208
|
progress: 100,
|
|
209
209
|
});
|
|
210
|
+
// Resolve language: explicit param > detected from report > undefined
|
|
211
|
+
const detectedLanguage = params.language || parsedReport.language;
|
|
212
|
+
const detectedFormat = parsedReport.format;
|
|
210
213
|
return {
|
|
211
214
|
success: true,
|
|
212
215
|
data: {
|
|
@@ -215,6 +218,8 @@ export class CoverageAnalyzeTool extends MCPToolBase {
|
|
|
215
218
|
thresholdsPassed,
|
|
216
219
|
riskScore,
|
|
217
220
|
trends,
|
|
221
|
+
language: detectedLanguage,
|
|
222
|
+
format: detectedFormat,
|
|
218
223
|
},
|
|
219
224
|
};
|
|
220
225
|
}
|
|
@@ -297,7 +302,7 @@ export class CoverageGapsTool extends MCPToolBase {
|
|
|
297
302
|
return this.gapService;
|
|
298
303
|
}
|
|
299
304
|
async execute(params, context) {
|
|
300
|
-
const { target = '.', coverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', } = params;
|
|
305
|
+
const { target = '.', coverageFile, minRisk = 0.3, limit = 20, prioritization = 'complexity', coverageFormat, language, } = params;
|
|
301
306
|
try {
|
|
302
307
|
this.emitStream(context, {
|
|
303
308
|
status: 'detecting',
|
|
@@ -310,7 +315,7 @@ export class CoverageGapsTool extends MCPToolBase {
|
|
|
310
315
|
let parsedReport = null;
|
|
311
316
|
if (coverageFile) {
|
|
312
317
|
try {
|
|
313
|
-
parsedReport = await parseCoverage(coverageFile, target);
|
|
318
|
+
parsedReport = await parseCoverage(coverageFile, target, coverageFormat, language);
|
|
314
319
|
}
|
|
315
320
|
catch (parseError) {
|
|
316
321
|
return {
|
|
@@ -527,6 +532,15 @@ const COVERAGE_ANALYZE_SCHEMA = {
|
|
|
527
532
|
description: 'Use ML-powered analysis (vector similarity)',
|
|
528
533
|
default: false,
|
|
529
534
|
},
|
|
535
|
+
language: {
|
|
536
|
+
type: 'string',
|
|
537
|
+
description: 'Source language hint (java, csharp, go, rust, kotlin, swift, dart, typescript, python)',
|
|
538
|
+
},
|
|
539
|
+
coverageFormat: {
|
|
540
|
+
type: 'string',
|
|
541
|
+
description: 'Coverage format hint',
|
|
542
|
+
enum: ['lcov', 'json', 'jacoco', 'dotcover', 'tarpaulin', 'gocover', 'kover', 'xcresult'],
|
|
543
|
+
},
|
|
530
544
|
},
|
|
531
545
|
};
|
|
532
546
|
const COVERAGE_GAPS_SCHEMA = {
|
|
@@ -566,6 +580,15 @@ const COVERAGE_GAPS_SCHEMA = {
|
|
|
566
580
|
description: 'Include ADR-059 ghost intent coverage analysis (detect untested behavioral intents)',
|
|
567
581
|
default: false,
|
|
568
582
|
},
|
|
583
|
+
language: {
|
|
584
|
+
type: 'string',
|
|
585
|
+
description: 'Source language filter (java, csharp, go, rust, kotlin, swift, dart)',
|
|
586
|
+
},
|
|
587
|
+
coverageFormat: {
|
|
588
|
+
type: 'string',
|
|
589
|
+
description: 'Coverage format hint',
|
|
590
|
+
enum: ['lcov', 'json', 'jacoco', 'dotcover', 'tarpaulin', 'gocover', 'kover', 'xcresult'],
|
|
591
|
+
},
|
|
569
592
|
},
|
|
570
593
|
};
|
|
571
594
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.9",
|
|
4
4
|
"description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|