contradiction-mcp 0.1.1 → 0.2.1
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 +80 -29
- package/dist/analysis/claimMatcher.d.ts +6 -0
- package/dist/analysis/claimMatcher.js +149 -10
- package/dist/analysis/claimMatcher.js.map +1 -1
- package/dist/analysis/contextAnalyzer.js +9 -11
- package/dist/analysis/contextAnalyzer.js.map +1 -1
- package/dist/config/env.js +1 -1
- package/dist/connectors/base/connectorUtils.d.ts +2 -1
- package/dist/connectors/base/connectorUtils.js.map +1 -1
- package/dist/connectors/document/documentConnector.d.ts +2 -0
- package/dist/connectors/document/documentConnector.js +213 -55
- package/dist/connectors/document/documentConnector.js.map +1 -1
- package/dist/connectors/syncService.js +4 -1
- package/dist/connectors/syncService.js.map +1 -1
- package/dist/connectors/website/websiteConnector.js +34 -3
- package/dist/connectors/website/websiteConnector.js.map +1 -1
- package/dist/discovery/candidateGenerator.d.ts +2 -1
- package/dist/discovery/candidateGenerator.js +110 -56
- package/dist/discovery/candidateGenerator.js.map +1 -1
- package/dist/discovery/similarityIndex.d.ts +1 -0
- package/dist/discovery/similarityIndex.js +39 -4
- package/dist/discovery/similarityIndex.js.map +1 -1
- package/dist/intelligence/entityResolver.d.ts +1 -0
- package/dist/intelligence/entityResolver.js +8 -0
- package/dist/intelligence/entityResolver.js.map +1 -1
- package/dist/scripts/realWorldE2ETest.d.ts +1 -0
- package/dist/scripts/realWorldE2ETest.js +125 -0
- package/dist/scripts/realWorldE2ETest.js.map +1 -0
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
<p align="center">
|
|
17
17
|
<a href="#the-problem-it-solves">Problem</a> •
|
|
18
18
|
<a href="#core-capabilities">Capabilities</a> •
|
|
19
|
+
<a href="#limitations--known-edge-cases">Limitations</a> •
|
|
19
20
|
<a href="#system-architecture">Architecture</a> •
|
|
20
21
|
<a href="#one-command-quickstart-all-ides">Quickstart</a> •
|
|
21
22
|
<a href="#mcp-interface-21-tools-4-resources-2-prompts">Tools Reference</a> •
|
|
@@ -28,6 +29,14 @@
|
|
|
28
29
|
|
|
29
30
|
---
|
|
30
31
|
|
|
32
|
+
> [!NOTE]
|
|
33
|
+
>
|
|
34
|
+
> ### Project Status: Active Development (v0.2.1)
|
|
35
|
+
>
|
|
36
|
+
> **Contradiction MCP is currently under active development.** Core multi-format document ingestion (Markdown, RFC822 `.eml`, OpenXML `.docx`, and JSON) and cross-document contradiction discovery are operational and verified. Heuristic classifiers, deep JSON scoping, and public APIs are actively evolving prior to v1.0.0.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
31
40
|
## The Problem It Solves
|
|
32
41
|
|
|
33
42
|
Modern engineering ecosystems rely on fragmented, uncoordinated sources of truth:
|
|
@@ -53,18 +62,42 @@ When these systems diverge—for example, a Kubernetes manifest deploying Node.j
|
|
|
53
62
|
- **Deterministic SemVer Mathematics**: Employs rigorous version range satisfaction algebra rather than naive string comparisons.
|
|
54
63
|
- **Multi-Source Ingestion Pipeline**:
|
|
55
64
|
- **GitHub Connector**: Analyzes runtime engines, Dockerfiles, GitHub Actions workflows, and READMEs.
|
|
56
|
-
- **Document Connector**: Extracts structured claims from JSON, YAML, Markdown, CSV, TXT, and
|
|
65
|
+
- **Document Connector**: Extracts structured claims from JSON, YAML, Markdown, CSV, TXT, RFC822 (`.eml`), and OpenXML (`.docx`) documents with exact page- and line-numbered evidence citations.
|
|
57
66
|
- **Public Website Connector**: Web crawler hardened with multi-layer SSRF protection against loopback, private IPv4/IPv6 CIDRs, and cloud metadata endpoints (`169.254.169.254`).
|
|
58
67
|
- **Scoring & Advisory Intelligence**:
|
|
59
68
|
- `AuthorityScorer`: Ranks conflicting claims based on source hierarchy and origin credibility.
|
|
60
69
|
- `FreshnessScorer`: Applies exponential half-life time decay models.
|
|
61
|
-
|
|
70
|
+
* `EvidenceEvaluator`: Quantifies citation directness and snippet quality.
|
|
62
71
|
- `ResolutionAdvisor`: Generates actionable resolution recommendations without mutating state without operator consent.
|
|
63
72
|
- **Review & Resolution Workflows**: Full lifecycle transitions (`OPEN` → `REVIEWED` → `RESOLVED` / `DISMISSED` → `REOPENED`) backed by append-only audit histories.
|
|
64
73
|
- **Dual Transport Architecture**: Operates over standard **Stdio** (for Claude Desktop, Google Antigravity, Cursor) or **Streamable HTTP/SSE** with Bearer API key authentication and sliding rate limiting.
|
|
65
74
|
|
|
66
75
|
---
|
|
67
76
|
|
|
77
|
+
## Limitations & Known Edge Cases
|
|
78
|
+
|
|
79
|
+
While Contradiction MCP is battle-tested on cross-document and cross-source consistency audits, users should be aware of current development limitations:
|
|
80
|
+
|
|
81
|
+
1. **Intra-Manifest Hierarchical Collisions (Deeply Nested JSON/YAML)**:
|
|
82
|
+
- **Behavior**: Key-value extraction flattens object hierarchies into leaf tokens. In complex single manifests (such as Kubernetes deployments), parameters sharing identical leaf keys across distinct blocks (e.g., `readinessProbe.initialDelaySeconds` vs `livenessProbe.initialDelaySeconds`, or container `resources.requests.cpu` vs `resources.limits.cpu`) can trigger intra-file candidate comparisons and false-positive warnings.
|
|
83
|
+
- **Mitigation**: Focus analysis on cross-document source verification or filter by external source boundaries. Hierarchical path-aware namespace isolation is currently under active development.
|
|
84
|
+
|
|
85
|
+
2. **Heading & Brand Entity Extraction**:
|
|
86
|
+
- **Behavior**: Document headings containing version-like keywords (e.g., `"2. Node.js V8 Engine Upgrade"`) may occasionally extract the engine brand or section numeral as a software version string, triggering local version mismatch warnings against runtime version specifications.
|
|
87
|
+
- **Mitigation**: Structure specifications using standard tables, key-value mappings, or explicit parameter declarations.
|
|
88
|
+
|
|
89
|
+
3. **Static Specifications vs Live Network State**:
|
|
90
|
+
- **Behavior**: The engine analyzes declared assertions across files, repositories, and documentation. It does not probe live runtime sockets, ephemeral cloud infrastructure, or running processes unless synced as structured state documents.
|
|
91
|
+
|
|
92
|
+
4. **Candidate Pair Scalability on Giant Monoliths**:
|
|
93
|
+
- **Behavior**: Files producing >1,000 claims increase pairwise combinations quadratically ($O(N^2)$ worst-case prior to similarity filtering).
|
|
94
|
+
- **Mitigation**: Bounded file size guards (`MAX_FILE_SIZE_BYTES`, default 10MB) prevent memory exhaust. Partition giant monoliths into modular architecture specs.
|
|
95
|
+
|
|
96
|
+
5. **Language & Syntax Scope**:
|
|
97
|
+
- **Behavior**: Extraction heuristics, unit normalizers (e.g., `GB`, `MB`, `ms`), and predicate patterns are currently tuned for English documentation and standard DevOps/software configuration keys. Multi-lingual natural language extraction without standard keying is planned for future releases.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
68
101
|
## System Architecture
|
|
69
102
|
|
|
70
103
|
### Visual Dataflow
|
|
@@ -252,33 +285,34 @@ Connect distributed agents or team members to a centralized server daemon:
|
|
|
252
285
|
|
|
253
286
|
---
|
|
254
287
|
|
|
255
|
-
## MCP Interface:
|
|
256
|
-
|
|
257
|
-
### Active MCP Tools (
|
|
258
|
-
|
|
259
|
-
| Tool Name
|
|
260
|
-
|
|
|
261
|
-
| `health_check`
|
|
262
|
-
| `analyze_claim_pair`
|
|
263
|
-
| `scan_for_contradictions`
|
|
264
|
-
| `
|
|
265
|
-
| `
|
|
266
|
-
| `
|
|
267
|
-
| `
|
|
268
|
-
| `
|
|
269
|
-
| `
|
|
270
|
-
| `
|
|
271
|
-
| `
|
|
272
|
-
| `
|
|
273
|
-
| `
|
|
274
|
-
| `
|
|
275
|
-
| `
|
|
276
|
-
| `
|
|
277
|
-
| `
|
|
278
|
-
| `
|
|
279
|
-
| `
|
|
280
|
-
| `
|
|
281
|
-
| `
|
|
288
|
+
## MCP Interface: 22 Tools, 4 Resources, 2 Prompts
|
|
289
|
+
|
|
290
|
+
### Active MCP Tools (22)
|
|
291
|
+
|
|
292
|
+
| Tool Name | Description | Key Arguments |
|
|
293
|
+
| :------------------------------- | :---------------------------------------------------------------- | :------------------------------------------- |
|
|
294
|
+
| `health_check` | Checks server runtime health, database latency, and entity counts | `{}` |
|
|
295
|
+
| `analyze_claim_pair` | Runs pairwise contradiction analysis between two claim IDs | `claimIdA`, `claimIdB` |
|
|
296
|
+
| `scan_for_contradictions` | Scans the full knowledge base for conflicting assertions | `limit`, `minConfidence`, `includeDismissed` |
|
|
297
|
+
| `scan_source_for_contradictions` | Scans assertions originating from a specific source ID | `sourceId`, `limit`, `minConfidence` |
|
|
298
|
+
| `scan_claim_for_contradictions` | Incrementally scans candidate pairs for a specific claim | `claimId` |
|
|
299
|
+
| `list_contradictions` | Lists contradictions filtered by status and severity | `status`, `severity`, `limit` |
|
|
300
|
+
| `get_contradiction` | Retrieves detailed contradiction record with claims and sources | `contradictionId` |
|
|
301
|
+
| `explain_claim_relationship` | Explains contextual factors (env, scope, role, SemVer) | `claimIdA`, `claimIdB` |
|
|
302
|
+
| `advise_resolution` | Heuristically compares authority, freshness, and evidence | `contradictionId` |
|
|
303
|
+
| `review_contradiction` | Transitions contradiction to `REVIEWED` status | `contradictionId`, `reviewedBy`, `notes` |
|
|
304
|
+
| `resolve_contradiction` | Resolves contradiction by selecting canonical claim | `contradictionId`, `resolvedBy`, `reason` |
|
|
305
|
+
| `dismiss_contradiction` | Dismisses false positives or intentional differences | `contradictionId`, `dismissedBy`, `reason` |
|
|
306
|
+
| `reopen_contradiction` | Reopens a previously resolved or dismissed contradiction | `contradictionId`, `reopenedBy`, `reason` |
|
|
307
|
+
| `get_contradiction_history` | Returns chronological, immutable audit trail of transitions | `contradictionId` |
|
|
308
|
+
| `get_claim_history` | Returns value history and supersessions for a specific claim | `externalId` |
|
|
309
|
+
| `list_connectors` | Lists registered ingestion connectors and capabilities | `{}` |
|
|
310
|
+
| `test_github_connection` | Tests GitHub connectivity and rate-limit headroom | `owner`, `repo` |
|
|
311
|
+
| `sync_github_repository` | Ingests package.json, Dockerfile, README, and workflows | `owner`, `repo`, `branch` |
|
|
312
|
+
| `sync_document` | Ingests local JSON, YAML, MD, CSV, TXT, or PDF files | `filePath`, `subject`, `sourceRole` |
|
|
313
|
+
| `sync_website` | Ingests web URL with pre-flight SSRF protection | `url`, `subject`, `maxDepth` |
|
|
314
|
+
| `sync_source` | Synchronizes an existing registered source by ID | `sourceId` |
|
|
315
|
+
| `sync_sources` | Bounded-concurrency batch synchronization | `sourceIds` |
|
|
282
316
|
|
|
283
317
|
### Active MCP Resources (4)
|
|
284
318
|
|
|
@@ -512,6 +546,23 @@ docker compose logs -f
|
|
|
512
546
|
|
|
513
547
|
---
|
|
514
548
|
|
|
549
|
+
## Release History
|
|
550
|
+
|
|
551
|
+
### v0.2.1 (2026-09-14)
|
|
552
|
+
|
|
553
|
+
- **22 Active MCP Tools**: Full interface alignment including `scan_source_for_contradictions` for targeted source discovery.
|
|
554
|
+
- **Section Heading Namespacing in Markdown**: Hierarchical markdown headings (`##` to `######`) namespace nested properties (e.g. `### API Gateway` $\rightarrow$ `api_gateway_port`), preventing intra-document collisions while matching nested JSON configurations.
|
|
555
|
+
- **Precision Predicate Similarity Guard**: Enhanced `claimMatcher` requiring $\ge 50\%$ token overlap on multi-token phrases, eliminating false matches between distinct properties sharing generic suffixes (`node_version` vs `cache_version`, `runtime_node_version` vs `runtime_python_version`).
|
|
556
|
+
- **Scoped JSON Extraction**: Streamlined `flattenJsonObject` to emit unique composite paths, avoiding leaf key duplication explosions.
|
|
557
|
+
- **Numeric Claim Validation**: Excluded valid single-digit numbers (`4`, `3`) from short-value extraction warnings.
|
|
558
|
+
- **Multi-Format Ingestion**: End-to-end verified across Markdown, JSON, OpenXML `.docx`, and Kubernetes manifests.
|
|
559
|
+
|
|
560
|
+
### v0.2.0 (2026-09-13)
|
|
561
|
+
|
|
562
|
+
- Initial public release with 21 core MCP tools, SQLite WAL persistence, GitHub, Document, and Website ingestion connectors.
|
|
563
|
+
|
|
564
|
+
---
|
|
565
|
+
|
|
515
566
|
## Documentation Index
|
|
516
567
|
|
|
517
568
|
- [Architecture Guide](docs/architecture.md) — Layered design, protocol topology, and component contracts.
|
|
@@ -34,11 +34,17 @@ export declare function calculateLevenshteinSimilarity(s1: string, s2: string):
|
|
|
34
34
|
* Combined similarity score leveraging token overlap and string distance.
|
|
35
35
|
*/
|
|
36
36
|
export declare function calculateCompositeSimilarity(strA: string, strB: string): number;
|
|
37
|
+
export declare function stripWrapperPrefix(pred: string): string;
|
|
37
38
|
export declare function arePredicateSynonyms(predA: string, predB: string): boolean;
|
|
39
|
+
export declare function getCanonicalPredicate(predicate: string): string;
|
|
40
|
+
export declare const SYSTEM_LEVEL_PREDICATES: Set<string>;
|
|
41
|
+
export declare function isSystemLevelPredicate(pred: string): boolean;
|
|
42
|
+
export declare function isGenericOrDocumentSubject(subject: string): boolean;
|
|
38
43
|
export declare class ClaimMatcher {
|
|
39
44
|
private readonly subjectThreshold;
|
|
40
45
|
private readonly predicateThreshold;
|
|
41
46
|
private readonly semanticMatcher;
|
|
47
|
+
private readonly entityResolver;
|
|
42
48
|
constructor(options?: ClaimMatcherOptions);
|
|
43
49
|
match(claimA: {
|
|
44
50
|
subject: string;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SemanticMatcher } from '../intelligence/semanticMatcher.js';
|
|
2
|
+
import { EntityResolver } from '../intelligence/entityResolver.js';
|
|
2
3
|
/**
|
|
3
4
|
* Normalizes text for deterministic entity/property matching:
|
|
4
5
|
* - Lowercase & trim
|
|
@@ -84,7 +85,14 @@ export function calculateCompositeSimilarity(strA, strB) {
|
|
|
84
85
|
const inclusionScore = minLen / maxLen;
|
|
85
86
|
return Math.max(tokenSim, editSim, inclusionScore * 0.9);
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
// For multi-token phrases, edit distance can be misleading if tokens differ:
|
|
89
|
+
// e.g. 'node version' vs 'cache version' has editSim 0.69 even though 'node' != 'cache'.
|
|
90
|
+
// Only use editSim if token overlap is already substantial (>= 0.5).
|
|
91
|
+
if (tokenSim >= 0.5) {
|
|
92
|
+
const editSim = calculateLevenshteinSimilarity(normA, normB);
|
|
93
|
+
return Math.max(tokenSim, editSim);
|
|
94
|
+
}
|
|
95
|
+
return tokenSim;
|
|
88
96
|
}
|
|
89
97
|
const PREDICATE_SYNONYM_GROUPS = [
|
|
90
98
|
new Set(['port', 'listen_port', 'server_port', 'http_port', 'service_port']),
|
|
@@ -96,45 +104,165 @@ const PREDICATE_SYNONYM_GROUPS = [
|
|
|
96
104
|
'token_expiration',
|
|
97
105
|
'session_timeout',
|
|
98
106
|
'timeout',
|
|
107
|
+
'timeout_ms',
|
|
99
108
|
]),
|
|
100
|
-
new Set(['db_engine', 'database_type', 'database_engine', 'db_type', 'database']),
|
|
101
|
-
new Set(['
|
|
102
|
-
new Set(['
|
|
103
|
-
new Set(['
|
|
109
|
+
new Set(['db_engine', 'database_type', 'database_engine', 'db_type', 'database', 'db_backend']),
|
|
110
|
+
new Set(['db_version', 'database_version', 'database_db_version', 'db_ver']),
|
|
111
|
+
new Set(['node_version', 'node', 'nodejs_version', 'node_ver', 'runtime_node_version']),
|
|
112
|
+
new Set(['python_version', 'python', 'python_ver', 'runtime_python_version']),
|
|
113
|
+
new Set(['memory', 'ram', 'min_ram', 'minimum_ram', 'min_memory', 'memory_limit']),
|
|
104
114
|
new Set(['cpu', 'cores', 'min_cpu', 'cpu_cores']),
|
|
105
115
|
];
|
|
116
|
+
export function stripWrapperPrefix(pred) {
|
|
117
|
+
const norm = pred.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
|
118
|
+
return norm.replace(/^(runtime|spec|config|configuration|settings|env|metadata|properties|parameters)_+/, '');
|
|
119
|
+
}
|
|
106
120
|
export function arePredicateSynonyms(predA, predB) {
|
|
107
121
|
const a = predA.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
|
108
122
|
const b = predB.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
|
109
123
|
if (a === b)
|
|
110
124
|
return true;
|
|
125
|
+
const strippedA = stripWrapperPrefix(a);
|
|
126
|
+
const strippedB = stripWrapperPrefix(b);
|
|
127
|
+
if (strippedA === strippedB && strippedA.length > 0)
|
|
128
|
+
return true;
|
|
111
129
|
for (const group of PREDICATE_SYNONYM_GROUPS) {
|
|
112
|
-
|
|
130
|
+
const hasA = group.has(a) || group.has(strippedA);
|
|
131
|
+
const hasB = group.has(b) || group.has(strippedB);
|
|
132
|
+
if (hasA && hasB)
|
|
113
133
|
return true;
|
|
114
134
|
}
|
|
115
135
|
return false;
|
|
116
136
|
}
|
|
137
|
+
export function getCanonicalPredicate(predicate) {
|
|
138
|
+
const norm = predicate.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
|
139
|
+
for (const group of PREDICATE_SYNONYM_GROUPS) {
|
|
140
|
+
if (group.has(norm)) {
|
|
141
|
+
return Array.from(group).sort()[0];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return norm;
|
|
145
|
+
}
|
|
146
|
+
export const SYSTEM_LEVEL_PREDICATES = new Set([
|
|
147
|
+
'port',
|
|
148
|
+
'listen_port',
|
|
149
|
+
'server_port',
|
|
150
|
+
'http_port',
|
|
151
|
+
'service_port',
|
|
152
|
+
'node_version',
|
|
153
|
+
'node',
|
|
154
|
+
'nodejs_version',
|
|
155
|
+
'node_ver',
|
|
156
|
+
'python_version',
|
|
157
|
+
'python',
|
|
158
|
+
'python_ver',
|
|
159
|
+
'memory',
|
|
160
|
+
'ram',
|
|
161
|
+
'min_ram',
|
|
162
|
+
'minimum_ram',
|
|
163
|
+
'min_memory',
|
|
164
|
+
'memory_limit',
|
|
165
|
+
'cpu',
|
|
166
|
+
'cores',
|
|
167
|
+
'min_cpu',
|
|
168
|
+
'cpu_cores',
|
|
169
|
+
'db_engine',
|
|
170
|
+
'database_type',
|
|
171
|
+
'database_engine',
|
|
172
|
+
'db_type',
|
|
173
|
+
'database',
|
|
174
|
+
'db_backend',
|
|
175
|
+
'jwt_ttl',
|
|
176
|
+
'token_expiry',
|
|
177
|
+
'session_timeout',
|
|
178
|
+
'timeout',
|
|
179
|
+
'timeout_ms',
|
|
180
|
+
'max_connections',
|
|
181
|
+
'max_users',
|
|
182
|
+
'concurrent_users',
|
|
183
|
+
'tls_enabled',
|
|
184
|
+
'ssl_enabled',
|
|
185
|
+
'cluster_region',
|
|
186
|
+
'environment',
|
|
187
|
+
'version',
|
|
188
|
+
'license',
|
|
189
|
+
]);
|
|
190
|
+
export function isSystemLevelPredicate(pred) {
|
|
191
|
+
const norm = pred.toLowerCase().replace(/[^a-z0-9_]/g, '_');
|
|
192
|
+
return SYSTEM_LEVEL_PREDICATES.has(norm);
|
|
193
|
+
}
|
|
194
|
+
export function isGenericOrDocumentSubject(subject) {
|
|
195
|
+
if (!subject)
|
|
196
|
+
return true;
|
|
197
|
+
const s = subject.toLowerCase().trim();
|
|
198
|
+
const genericWords = new Set([
|
|
199
|
+
'default',
|
|
200
|
+
'system',
|
|
201
|
+
'app',
|
|
202
|
+
'application',
|
|
203
|
+
'service',
|
|
204
|
+
'workspace',
|
|
205
|
+
'spec',
|
|
206
|
+
'unknown',
|
|
207
|
+
'website',
|
|
208
|
+
'global',
|
|
209
|
+
'infrastructure',
|
|
210
|
+
]);
|
|
211
|
+
if (genericWords.has(s))
|
|
212
|
+
return true;
|
|
213
|
+
if (/\.(md|txt|json|yaml|yml|docx|csv|pdf|ts|js|html|eml)$/i.test(s))
|
|
214
|
+
return true;
|
|
215
|
+
if (/^(file|doc|email|cto)[a-z0-9_]*$/i.test(s))
|
|
216
|
+
return true;
|
|
217
|
+
if (/^[a-z0-9_-]+[_.](spec|specification|manifest|architecture|blueprint|directive|guide|config|configuration|readme|deployment)$/i.test(s)) {
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
if (/^(spec|specification|manifest|architecture|blueprint|directive|guide|config|configuration|readme|deployment)$/i.test(s)) {
|
|
221
|
+
return true;
|
|
222
|
+
}
|
|
223
|
+
return false;
|
|
224
|
+
}
|
|
117
225
|
export class ClaimMatcher {
|
|
118
226
|
subjectThreshold;
|
|
119
227
|
predicateThreshold;
|
|
120
228
|
semanticMatcher;
|
|
229
|
+
entityResolver;
|
|
121
230
|
constructor(options) {
|
|
122
231
|
this.subjectThreshold = options?.subjectThreshold ?? 0.75;
|
|
123
232
|
this.predicateThreshold = options?.predicateThreshold ?? 0.65;
|
|
124
233
|
this.semanticMatcher = new SemanticMatcher({
|
|
125
|
-
enabled: options?.enableSemanticMatching ?? true,
|
|
126
234
|
threshold: this.predicateThreshold,
|
|
127
235
|
});
|
|
236
|
+
this.entityResolver = new EntityResolver();
|
|
128
237
|
}
|
|
129
238
|
match(claimA, claimB) {
|
|
130
239
|
const normSubA = normalizeText(claimA.subject);
|
|
131
240
|
const normSubB = normalizeText(claimB.subject);
|
|
132
241
|
const normPredA = normalizeText(claimA.predicate);
|
|
133
242
|
const normPredB = normalizeText(claimB.predicate);
|
|
134
|
-
const
|
|
243
|
+
const entityMatch = this.entityResolver.resolveEntityMatch(claimA.subject, claimB.subject);
|
|
244
|
+
let subjectSimilarity = calculateCompositeSimilarity(claimA.subject, claimB.subject);
|
|
245
|
+
if (entityMatch.isMatch) {
|
|
246
|
+
subjectSimilarity = Math.max(subjectSimilarity, entityMatch.confidence);
|
|
247
|
+
}
|
|
248
|
+
const tokensA = normPredA.split(' ').filter(Boolean);
|
|
249
|
+
const tokensB = normPredB.split(' ').filter(Boolean);
|
|
250
|
+
const leafA = tokensA[tokensA.length - 1] || normPredA;
|
|
251
|
+
const leafB = tokensB[tokensB.length - 1] || normPredB;
|
|
252
|
+
const isSynonym = arePredicateSynonyms(claimA.predicate, claimB.predicate);
|
|
135
253
|
let predicateSimilarity = calculateCompositeSimilarity(claimA.predicate, claimB.predicate);
|
|
254
|
+
// Guard against cross-subsystem false matches where two predicates share only
|
|
255
|
+
// a generic leaf (e.g. 'port', 'version') but have different subsystem prefixes
|
|
256
|
+
// (e.g. 'api_gateway_port' vs 'cache_port', 'node_version' vs 'cache_version').
|
|
257
|
+
if (!isSynonym) {
|
|
258
|
+
const prefixA = tokensA.slice(0, -1).join(' ');
|
|
259
|
+
const prefixB = tokensB.slice(0, -1).join(' ');
|
|
260
|
+
if (prefixA && prefixB && prefixA !== prefixB && leafA === leafB) {
|
|
261
|
+
predicateSimilarity = 0;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
136
264
|
let matchDetail = '';
|
|
137
|
-
if (
|
|
265
|
+
if (isSynonym) {
|
|
138
266
|
predicateSimilarity = Math.max(predicateSimilarity, 0.95);
|
|
139
267
|
matchDetail = ' (matched via predicate synonym dictionary)';
|
|
140
268
|
}
|
|
@@ -145,7 +273,18 @@ export class ClaimMatcher {
|
|
|
145
273
|
matchDetail = ` (matched via semantic matcher, score: ${semRes.confidence.toFixed(2)})`;
|
|
146
274
|
}
|
|
147
275
|
}
|
|
148
|
-
const
|
|
276
|
+
const isSysPred = isSystemLevelPredicate(claimA.predicate) ||
|
|
277
|
+
isSystemLevelPredicate(claimB.predicate) ||
|
|
278
|
+
isSystemLevelPredicate(leafA) ||
|
|
279
|
+
isSystemLevelPredicate(leafB);
|
|
280
|
+
const isGenericSubjectA = isGenericOrDocumentSubject(claimA.subject);
|
|
281
|
+
const isGenericSubjectB = isGenericOrDocumentSubject(claimB.subject);
|
|
282
|
+
let subjectMatches = subjectSimilarity >= this.subjectThreshold;
|
|
283
|
+
if (!subjectMatches && isSysPred && (isGenericSubjectA || isGenericSubjectB)) {
|
|
284
|
+
subjectMatches = true;
|
|
285
|
+
subjectSimilarity = Math.max(subjectSimilarity, 0.85);
|
|
286
|
+
matchDetail += ' (cross-document system specification)';
|
|
287
|
+
}
|
|
149
288
|
const predicateMatches = predicateSimilarity >= this.predicateThreshold;
|
|
150
289
|
const matches = subjectMatches && predicateMatches;
|
|
151
290
|
let reason;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claimMatcher.js","sourceRoot":"","sources":["../../src/analysis/claimMatcher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claimMatcher.js","sourceRoot":"","sources":["../../src/analysis/claimMatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -80,13 +80,11 @@ export class ContextAnalyzer {
|
|
|
80
80
|
const isExample = claimA.sourceRole === 'example' ||
|
|
81
81
|
claimB.sourceRole === 'example' ||
|
|
82
82
|
(claimA.metadata &&
|
|
83
|
-
|
|
84
|
-
.
|
|
85
|
-
.includes('example')) ||
|
|
83
|
+
(claimA.metadata.isExample === true ||
|
|
84
|
+
/\b(?:for\s+example|as\s+an\s+example|e\.g\.|sample|tutorial|quickstart)\b|^\s*[-*#]*\s*example\b/i.test(String(claimA.metadata.evidence || '')))) ||
|
|
86
85
|
(claimB.metadata &&
|
|
87
|
-
|
|
88
|
-
.
|
|
89
|
-
.includes('example'));
|
|
86
|
+
(claimB.metadata.isExample === true ||
|
|
87
|
+
/\b(?:for\s+example|as\s+an\s+example|e\.g\.|sample|tutorial|quickstart)\b|^\s*[-*#]*\s*example\b/i.test(String(claimB.metadata.evidence || ''))));
|
|
90
88
|
if (isExample) {
|
|
91
89
|
divergences.push('sourceRole');
|
|
92
90
|
return {
|
|
@@ -124,7 +122,7 @@ export class ContextAnalyzer {
|
|
|
124
122
|
relationship: {
|
|
125
123
|
type: 'DIFFERENT_ENVIRONMENT',
|
|
126
124
|
confidence: 0.9,
|
|
127
|
-
explanation: `Claims apply to distinct non-overlapping environments (${envA} vs ${envB}). Distinct environments legitimately maintain different parameter values.`,
|
|
125
|
+
explanation: `Claims apply to distinct non-overlapping environments ('${envA}' vs '${envB}'). Distinct environments legitimately maintain different parameter values.`,
|
|
128
126
|
isContradictionEligible: false,
|
|
129
127
|
contextFactors: {
|
|
130
128
|
environmentMatch: false,
|
|
@@ -136,19 +134,19 @@ export class ContextAnalyzer {
|
|
|
136
134
|
},
|
|
137
135
|
isContextCompatible: false,
|
|
138
136
|
compatibilityScore: 0.2,
|
|
139
|
-
reason: `
|
|
137
|
+
reason: `Environment '${envA}' is explicitly separate from '${envB}'.`,
|
|
140
138
|
divergenceDimensions: divergences,
|
|
141
139
|
};
|
|
142
140
|
}
|
|
143
141
|
// 5. Check Scope Divergence
|
|
144
142
|
const scopeA = (claimA.scope || 'unknown').toLowerCase();
|
|
145
143
|
const scopeB = (claimB.scope || 'unknown').toLowerCase();
|
|
146
|
-
//
|
|
144
|
+
// Isolated service vs repository scopes legitimately diverge
|
|
147
145
|
if (scopeA !== 'unknown' &&
|
|
148
146
|
scopeB !== 'unknown' &&
|
|
149
147
|
scopeA !== scopeB &&
|
|
150
|
-
scopeA === 'service' &&
|
|
151
|
-
|
|
148
|
+
((scopeA === 'service' && scopeB === 'repository') ||
|
|
149
|
+
(scopeA === 'repository' && scopeB === 'service'))) {
|
|
152
150
|
divergences.push('scope');
|
|
153
151
|
return {
|
|
154
152
|
relationship: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contextAnalyzer.js","sourceRoot":"","sources":["../../src/analysis/contextAnalyzer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contextAnalyzer.js","sourceRoot":"","sources":["../../src/analysis/contextAnalyzer.ts"],"names":[],"mappings":"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"}
|
package/dist/config/env.js
CHANGED
|
@@ -27,7 +27,7 @@ const EnvSchema = z.object({
|
|
|
27
27
|
DATABASE_PATH: z.string().min(1).default(getDefaultDatabasePath()),
|
|
28
28
|
LOG_LEVEL: z.enum(['debug', 'info', 'warn', 'error']).default('info'),
|
|
29
29
|
SERVER_NAME: z.string().min(1).default('contradiction-mcp'),
|
|
30
|
-
SERVER_VERSION: z.string().min(1).default('0.1
|
|
30
|
+
SERVER_VERSION: z.string().min(1).default('0.2.1'),
|
|
31
31
|
GITHUB_TOKEN: z.string().optional(),
|
|
32
32
|
MCP_TRANSPORT: z.enum(['stdio', 'http']).default('stdio'),
|
|
33
33
|
HTTP_HOST: z.string().default('0.0.0.0'),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ClaimValueType } from '../../domain/entities/claim.js';
|
|
1
2
|
/**
|
|
2
3
|
* Sanitizes an error message or string to ensure tokens, secrets,
|
|
3
4
|
* and sensitive authentication headers are never leaked.
|
|
@@ -28,4 +29,4 @@ export declare function hashContent(content: string): string;
|
|
|
28
29
|
* Heuristically infers the most accurate ClaimValueType from predicate and value
|
|
29
30
|
* (e.g. quantity, version, price, date, status, etc.).
|
|
30
31
|
*/
|
|
31
|
-
export declare function inferClaimValueType(predicate: string, value: string):
|
|
32
|
+
export declare function inferClaimValueType(predicate: string, value: string): ClaimValueType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connectorUtils.js","sourceRoot":"","sources":["../../../src/connectors/base/connectorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"connectorUtils.js","sourceRoot":"","sources":["../../../src/connectors/base/connectorUtils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAGjC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI;SACR,OAAO,CAAC,+CAA+C,EAAE,yBAAyB,CAAC;SACnF,OAAO,CAAC,4BAA4B,EAAE,mBAAmB,CAAC;SAC1D,OAAO,CAAC,2BAA2B,EAAE,kBAAkB,CAAC;SACxD,OAAO,CAAC,gCAAgC,EAAE,yBAAyB,CAAC,CAAC;AAC1E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,UAAkB;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,UAAU;SACtB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC7B,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAE,CAAC;AACjC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,gBAAwB,EACxB,QAAgB,EAChB,SAAiB,EACjB,WAAoB;IAEpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzD,MAAM,QAAQ,GAAG,QAAQ;SACtB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;IAErD,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,KAAa;IAClE,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACpD,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAE/C,aAAa;IACb,IACE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,yCAAyC,CAAC,IAAI,CAAC,GAAG,CAAC;QACnD,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC;QACtC,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EACnC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB;IACtB,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,sEAAsE,CAAC,IAAI,CAAC,GAAG,CAAC,EAChF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,UAAU;IACV,IACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC;QAC1C,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,IACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,sEAAsE,CAAC,IAAI,CAAC,GAAG,CAAC,EAChF,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,sBAAsB;IACtB,IACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACzB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAChF,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAClE,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -37,7 +37,9 @@ export declare class DocumentConnector implements Connector<DocumentInput, Docum
|
|
|
37
37
|
testConnection(input?: DocumentInput): Promise<ConnectionTestResult>;
|
|
38
38
|
fetch(input: DocumentInput): Promise<FetchResult<DocumentRawData>>;
|
|
39
39
|
extractClaims(fetchResult: FetchResult<DocumentRawData>): Promise<ExtractedClaim[]>;
|
|
40
|
+
private extractFromEmail;
|
|
40
41
|
private extractFromJson;
|
|
42
|
+
private flattenJsonObject;
|
|
41
43
|
private extractFromYamlOrText;
|
|
42
44
|
private extractFromCsv;
|
|
43
45
|
private extractFromMarkdownOrText;
|