contradiction-mcp 0.2.1 → 0.3.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 CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Node.js Version](https://img.shields.io/badge/Node.js-%3E%3D20.0.0-339933.svg?logo=node.js&logoColor=white&style=flat-square)](https://nodejs.org/)
10
10
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6.svg?logo=typescript&logoColor=white&style=flat-square)](https://www.typescriptlang.org/)
11
11
  [![MCP Specification](https://img.shields.io/badge/MCP-2.0.0-8A2BE2.svg?logo=anthropic&logoColor=white&style=flat-square)](https://modelcontextprotocol.io/)
12
- [![Vitest Tests](https://img.shields.io/badge/Tests-169%20passed-2ea44f.svg?logo=vitest&logoColor=white&style=flat-square)](tests)
12
+ [![Vitest Tests](https://img.shields.io/badge/Tests-181%20passed-2ea44f.svg?logo=vitest&logoColor=white&style=flat-square)](tests)
13
13
  [![Security Audit](https://img.shields.io/badge/Security-0%20vulnerabilities-brightgreen.svg?style=flat-square)](package.json)
14
14
  [![Code Style](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?logo=prettier&logoColor=white&style=flat-square)](https://prettier.io/)
15
15
 
@@ -19,7 +19,7 @@
19
19
  <a href="#limitations--known-edge-cases">Limitations</a> •
20
20
  <a href="#system-architecture">Architecture</a> •
21
21
  <a href="#one-command-quickstart-all-ides">Quickstart</a> •
22
- <a href="#mcp-interface-21-tools-4-resources-2-prompts">Tools Reference</a> •
22
+ <a href="#mcp-interface-12-canonical-tools-4-resources-2-prompts">Tools Reference</a> •
23
23
  <a href="#step-by-step-hands-on-tutorial">Tutorials</a> •
24
24
  <a href="#documentation-index">Docs</a> •
25
25
  <a href="#license">License</a>
@@ -31,7 +31,7 @@
31
31
 
32
32
  > [!NOTE]
33
33
  >
34
- > ### Project Status: Active Development (v0.2.1)
34
+ > ### Project Status: Active Development (v0.3.1)
35
35
  >
36
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
37
 
@@ -76,25 +76,34 @@ When these systems diverge—for example, a Kubernetes manifest deploying Node.j
76
76
 
77
77
  ## Limitations & Known Edge Cases
78
78
 
79
- While Contradiction MCP is battle-tested on cross-document and cross-source consistency audits, users should be aware of current development limitations:
79
+ While Contradiction MCP is battle-tested on cross-document and cross-source consistency audits, users and integrating agents should take note of current architectural boundaries and operational edge cases:
80
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.
81
+ 1. **Intra-Manifest Hierarchical Collisions (Deeply Nested JSON/YAML/K8s)**:
82
+ - **Behavior**: Key-value extraction flattens object hierarchies into leaf tokens. In complex single manifests (such as Kubernetes deployments or Terraform plans), 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 (`sync_source` / `compare_sources`). Full JSON-path namespace scoping is in development for future releases.
84
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.
85
+ 2. **Heuristic Claim Extraction vs Nuanced Prose Negations**:
86
+ - **Behavior**: Heuristic extractors identify explicit version strings, ports, URLs, quantities, and key-value declarations from markdown tables, code fences, and bullet points. Complex natural language nuance, rhetorical negations (e.g., _"We initially planned v3.0, but firmly rejected it in favor of v2.4"_), or implied conditionals without standard configuration keys might not extract or may produce contradictory assertions requiring manual review.
87
+ - **Mitigation**: Use explicit tabular or structured key-value declarations in documentation, or use `create_claim` to programmatically ingest claims with verified predicate semantics.
88
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.
89
+ 3. **Connector Security Sandboxing & Network Boundaries**:
90
+ - **Document Connector**: File ingestion is strictly restricted to configured `allowedRoots` (default: current workspace). Paths outside these roots or attempts to navigate via directory traversal are rejected by design.
91
+ - **Website Connector**: Enforces strict SSRF protections, blocking private RFC 1918 subnets, loopback interfaces (`127.0.0.1`, `localhost`), and cloud instance metadata endpoints (`169.254.169.254`). HTTP redirects are capped at 5 hops to prevent circular redirect exhaustion. Client-side rendered Single-Page Applications (SPAs) requiring JavaScript execution are not executed dynamically; static HTML snapshots or rendered markdown must be supplied.
92
+ - **GitHub Connector**: Governed by GitHub REST API rate limits (60 requests/hour unauthenticated; 5,000 requests/hour with `GITHUB_TOKEN`).
91
93
 
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.
94
+ 4. **Static Assertions vs Ephemeral Live Infrastructure**:
95
+ - **Behavior**: The engine analyzes declared assertions across files, repositories, API specs, and documentation. It does not probe live runtime network sockets, ephemeral cloud container states, or uncommitted database rows unless synced as structured state documents.
95
96
 
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.
97
+ 5. **Pairwise Combinatorial Complexity on Monolithic Manifests**:
98
+ - **Behavior**: Files producing >1,000 claims increase pairwise combinations quadratically ($O(N^2)$ worst-case prior to subject grouping and similarity pruning).
99
+ - **Mitigation**: Bounded file size guards (`MAX_FILE_SIZE_BYTES`, default 10MB) prevent memory exhaustion. Partition giant monolithic specifications into modular domain or component manifests.
100
+
101
+ 6. **Environment & Scope Assumptions**:
102
+ - **Behavior**: Contradiction MCP recognizes disjoint runtime environments (`development`, `staging`, `testing`, `production`, `deployment`, `ci`). However, if claims are ingested without explicit `environment` or `scope` metadata, the engine conservatively assumes they apply to the same global subject scope.
103
+ - **Mitigation**: Provide explicit `environment` and `scope` arguments when syncing sources or creating claims to prevent false positives across heterogeneous environments.
104
+
105
+ 7. **Language & Domain Units**:
106
+ - **Behavior**: Predicate patterns, quantity normalizers (`GB`, `MB`, `ms`, `s`, ports, semantic versions, comma-formatted numbers), and terminology heuristics are tuned for English technical documentation and standard DevOps configurations. Multi-lingual prose extraction without standard keying is planned for future major releases.
98
107
 
99
108
  ---
100
109
 
@@ -114,7 +123,7 @@ flowchart TD
114
123
  subgraph Protocol["MCP Protocol Layer"]
115
124
  StdioT["StdioServerTransport"]
116
125
  HttpT["StreamableHttpTransport"]
117
- Router["21 Tools | 4 Resources | 2 Prompts"]
126
+ Router["12 Canonical Tools | 4 Resources | 2 Prompts"]
118
127
  end
119
128
 
120
129
  subgraph Core["Analysis & Intelligence Engine"]
@@ -285,34 +294,29 @@ Connect distributed agents or team members to a centralized server daemon:
285
294
 
286
295
  ---
287
296
 
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` |
297
+ ## MCP Interface: 12 Canonical Tools, 4 Resources, 2 Prompts
298
+
299
+ Contradiction MCP exposes **12 canonical tools** engineered to the highest specification standards (Glama Tool Definition Quality Score **5.0 / 5.0 Grade A**). Every tool strictly follows `verb_noun` nomenclature, provides rich typed schemas, and isolates distinct operational domains.
300
+
301
+ ### Active Canonical MCP Tools (12)
302
+
303
+ | Tool Name | Operational Domain | Description | Key Arguments |
304
+ | :---------------------- | :----------------- | :------------------------------------------------------------------------------------------ | :------------------------------------------------------------------- |
305
+ | `check_health` | Diagnostics | Verifies server runtime health, database connectivity, and active connector health | `{}` |
306
+ | `list_sources` | Discovery | Lists registered knowledge sources and connector types with pagination | `type`, `limit`, `offset` |
307
+ | `test_connection` | Connectivity | Validates credentials, permissions, and network reachability without persisting data | `type`, `target`, `credentials` |
308
+ | `sync_source` | Ingestion | Unified ingestion engine for files, Markdown, Word (.docx), JSON, URLs, or Git repositories | `sourceId` OR (`filePath` / `url` / `owner`+`repo`), `subject` |
309
+ | `scan_contradictions` | Intelligence | Scans the knowledge base, a source, or a claim for logical/semantic contradictions | `sourceId`, `claimId`, `limit`, `minConfidence`, `includeDismissed` |
310
+ | `analyze_claim_pair` | Intelligence | Performs pairwise contradiction and contextual relationship analysis between two claims | `claimIdA`, `claimIdB` |
311
+ | `list_claims` | Knowledge Base | Lists extracted factual claims with multi-field filtering and pagination | `sourceId`, `subject`, `predicate`, `environment`, `limit`, `offset` |
312
+ | `get_claim` | Knowledge Base | Retrieves factual claim details, contextual metadata, and audit supersession history | `claimId` |
313
+ | `list_contradictions` | Lifecycle | Queries detected contradictions filtered by lifecycle status, severity, and confidence | `status`, `severity`, `minConfidence`, `limit`, `offset` |
314
+ | `get_contradiction` | Lifecycle | Retrieves full contradiction state, conflicting claims, and contextual explanation | `contradictionId` |
315
+ | `advise_resolution` | Advisory | Evaluates source authority, freshness, and evidence quality to recommend canonical truth | `contradictionId` |
316
+ | `resolve_contradiction` | Resolution | Executes lifecycle transitions (`REVIEW`, `RESOLVE`, `DISMISS`, `REOPEN`) with audit trail | `contradictionId`, `action`, `actor`, `reason`, `canonicalClaimId` |
317
+
318
+ > [!TIP]
319
+ > **Full Backwards Compatibility**: Legacy tool names (`health_check`, `sync_document`, `sync_website`, `sync_github_repository`, `scan_for_contradictions`, `scan_claim_for_contradictions`, `scan_source_for_contradictions`, `explain_claim_relationship`, `review_contradiction`, `dismiss_contradiction`, `reopen_contradiction`, `get_contradiction_history`, `get_claim_history`, `list_connectors`, `test_github_connection`, `sync_sources`) continue to function without error via automatic request routing and parameter translation.
316
320
 
317
321
  ### Active MCP Resources (4)
318
322
 
@@ -331,7 +335,7 @@ Connect distributed agents or team members to a centralized server daemon:
331
335
  ## Example Tool Payloads & Responses
332
336
 
333
337
  <details>
334
- <summary><b>1. Ingesting a Document (<code>sync_document</code>)</b></summary>
338
+ <summary><b>1. Ingesting a Document (<code>sync_source</code> / legacy: <code>sync_document</code>)</b></summary>
335
339
 
336
340
  **Request**:
337
341
 
@@ -359,7 +363,7 @@ Connect distributed agents or team members to a centralized server daemon:
359
363
  </details>
360
364
 
361
365
  <details>
362
- <summary><b>2. Scanning for Contradictions (<code>scan_for_contradictions</code>)</b></summary>
366
+ <summary><b>2. Scanning for Contradictions (<code>scan_contradictions</code> / legacy: <code>scan_for_contradictions</code>)</b></summary>
363
367
 
364
368
  **Request**:
365
369
 
@@ -448,20 +452,20 @@ async function main() {
448
452
  const client = new Client({ name: "tester", version: "1.0.0" }, { capabilities: {} });
449
453
  await client.connect(new StdioClientTransport({ command: "node", args: ["dist/index.js"] }));
450
454
 
451
- // Ingest Deployment Spec (role: deployment)
455
+ // Ingest Deployment Spec (canonical: sync_source, role: deployment)
452
456
  await client.callTool({
453
- name: "sync_document",
457
+ name: "sync_source",
454
458
  arguments: { filePath: "/tmp/deployment_spec.json", subject: "api-server", sourceRole: "deployment", environment: "production" }
455
459
  });
456
460
 
457
- // Ingest Architecture Guide (role: documentation)
461
+ // Ingest Architecture Guide (canonical: sync_source, role: documentation)
458
462
  await client.callTool({
459
- name: "sync_document",
463
+ name: "sync_source",
460
464
  arguments: { filePath: "/tmp/architecture_guide.md", subject: "api-server", sourceRole: "documentation", environment: "production" }
461
465
  });
462
466
 
463
- // Automatically scan knowledge base
464
- const scan = await client.callTool({ name: "scan_for_contradictions", arguments: {} });
467
+ // Automatically scan knowledge base (canonical: scan_contradictions)
468
+ const scan = await client.callTool({ name: "scan_contradictions", arguments: {} });
465
469
  console.log("\nDISCOVERED CONTRADICTIONS:\n", JSON.stringify(JSON.parse(scan.content[0].text), null, 2));
466
470
 
467
471
  await client.close();
@@ -479,7 +483,7 @@ main();
479
483
  | `npm run build` | Compiles TypeScript and packages SQL migration scripts |
480
484
  | `npm start` | Launches compiled production server (`node dist/index.js`) |
481
485
  | `npm run dev` | Runs development server with on-the-fly TypeScript execution |
482
- | `npm test` | Runs complete Vitest test suite (**169 tests across 23 files**) |
486
+ | `npm test` | Runs complete Vitest test suite (**181 tests across 25 files**) |
483
487
  | `npm run test:coverage` | Generates detailed V8 code coverage report |
484
488
  | `npm run verify` | Runs all 62 end-to-end verification gates (protocol, security, heuristics) |
485
489
  | `npm run demo` | Executes live 17-step end-to-end demonstration scenario |
@@ -548,6 +552,27 @@ docker compose logs -f
548
552
 
549
553
  ## Release History
550
554
 
555
+ ### v0.3.1 (2026-09-15)
556
+
557
+ - **Security & Extraction Hardening**: Replaced shell string execution in `DocumentConnector` with safe `execFileSync`, eliminating command injection vectors in `.docx` processing.
558
+ - **Website Connector Redirect Safety**: Enforced a strict maximum of 5 HTTP redirects to prevent unbounded redirect loops and guaranteed timeout cleanup on all fetch error paths.
559
+ - **Authority & Specification Role Scoring**: Added `'specification'` and `'deployment'` to standard claim source roles with a dedicated authority score of `0.75` in `AuthorityScorer`, preventing specification claims from falling into low-confidence fallbacks.
560
+ - **Evidence Metadata Alignment**: Aligned connector provenance metadata (`lineRange`, `evidence`) with `EvidenceEvaluator` and `AuthorityScorer` schema expectations to accurately quantify citation directness and snippet quality.
561
+ - **Deterministic Resolution Tie-Breaking**: Enhanced `ResolutionAdvisor` to evaluate evidence quality as a deterministic tie-breaker before falling back to `'uncertain'`.
562
+ - **Environment Disjointness Heuristics**: Expanded `ContextAnalyzer` environment comparison to recognize non-overlapping tiers (`development`, `staging`, `testing`, `production`, `deployment`, `ci`), eliminating false-positive contradiction flags across distinct environments.
563
+ - **Comma-Formatted Numeric Normalization**: Stripped comma separators in `ValueComparator` (`isLikelyNumber`, `normalizeQuantity`, `compareNumbers`) so formatted numbers (e.g., `"5,000"`) compare accurately against integer values.
564
+ - **Deterministic Database Pagination**: Added SQL `OFFSET` support and primary key tie-breakers (`ORDER BY created_at DESC, id ASC`) across `listSources`, `listClaims`, and `listContradictions` queries.
565
+ - **Server Tool Delegation Fixes**: Delegated `test_connection` to registered connector implementations and forwarded pagination offsets and sync metadata.
566
+ - **Expanded Regression Suite**: Added dedicated regression test suite (`tests/bugfixes.test.ts`), raising test coverage to 181 passing tests across 25 suites.
567
+
568
+ ### v0.3.0 (2026-09-14)
569
+
570
+ - **12 Canonical Tools Architecture**: Streamlined tool interface into 12 orthogonal, strictly typed `verb_noun` tools (`check_health`, `list_sources`, `test_connection`, `sync_source`, `scan_contradictions`, `analyze_claim_pair`, `list_claims`, `get_claim`, `list_contradictions`, `get_contradiction`, `advise_resolution`, `resolve_contradiction`).
571
+ - **Zero-Breaking Backwards Compatibility Routing**: Added a transparent request router shim ensuring all legacy tool names continue to function seamlessly with argument translation.
572
+ - **Enhanced OpenXML (.docx) Ingestion**: Direct extraction of table structures (`<w:tr>`, `<w:tc>`) as key-value assertions with XML stripping to eliminate duplicate claims.
573
+ - **Multi-Format Cross-Document Consistency**: Verified cross-referencing and contradiction discovery across Markdown runbooks, JSON configs, and Word architecture documents.
574
+ - **Parametric Claim Queries**: Extended SQLite database layer with multi-field filtering (`predicate`, `environment`, `valueType`, `limit`, `offset`).
575
+
551
576
  ### v0.2.1 (2026-09-14)
552
577
 
553
578
  - **22 Active MCP Tools**: Full interface alignment including `scan_source_for_contradictions` for targeted source discovery.
@@ -110,12 +110,19 @@ export class ContextAnalyzer {
110
110
  // 4. Check Environment Divergence (e.g. dev vs prod, staging vs prod)
111
111
  const envA = normalizeEnvironment(claimA.environment);
112
112
  const envB = normalizeEnvironment(claimB.environment);
113
- const isEnvDisjoint = (envA === 'development' && (envB === 'production' || envB === 'deployment')) ||
114
- (envB === 'development' && (envA === 'production' || envA === 'deployment')) ||
115
- (envA === 'staging' && envB === 'production') ||
116
- (envB === 'staging' && envA === 'production') ||
117
- (envA === 'testing' && envB === 'production') ||
118
- (envB === 'testing' && envA === 'production');
113
+ const isProdOrDeploy = (e) => e === 'production' || e === 'deployment';
114
+ const concreteRuntimeEnvs = [
115
+ 'development',
116
+ 'staging',
117
+ 'testing',
118
+ 'production',
119
+ 'deployment',
120
+ 'ci',
121
+ ];
122
+ const isEnvDisjoint = envA !== envB &&
123
+ !(isProdOrDeploy(envA) && isProdOrDeploy(envB)) &&
124
+ concreteRuntimeEnvs.includes(envA) &&
125
+ concreteRuntimeEnvs.includes(envB);
119
126
  if (isEnvDisjoint) {
120
127
  divergences.push('environment');
121
128
  return {
@@ -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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"}
@@ -344,10 +344,10 @@ export class ValueComparator {
344
344
  }
345
345
  // --- NUMBER / QUANTITY COMPARISON ---
346
346
  isLikelyNumber(str) {
347
- return /^[-+]?\d+(?:\.\d+)?\s*(?:b|kb|mb|gb|tb|ms|s|sec|m|min|h|hr|hours)?$/i.test(str.trim());
347
+ return /^[-+]?[\d,]+(?:\.\d+)?\s*(?:b|kb|mb|gb|tb|ms|s|sec|m|min|h|hr|hours)?$/i.test(str.trim());
348
348
  }
349
349
  normalizeQuantity(val) {
350
- const trimmed = val.trim().toLowerCase();
350
+ const trimmed = val.trim().replace(/,/g, '').toLowerCase();
351
351
  const match = trimmed.match(/^([-+]?\d+(?:\.\d+)?)\s*([a-z]*)$/i);
352
352
  if (!match)
353
353
  return null;
@@ -403,8 +403,8 @@ export class ValueComparator {
403
403
  },
404
404
  };
405
405
  }
406
- const numA = parseFloat(a.trim());
407
- const numB = parseFloat(b.trim());
406
+ const numA = parseFloat(a.trim().replace(/,/g, ''));
407
+ const numB = parseFloat(b.trim().replace(/,/g, ''));
408
408
  if (isNaN(numA) || isNaN(numB)) {
409
409
  return this.compareStrings(a, b, valueType);
410
410
  }
@@ -1 +1 @@
1
- {"version":3,"file":"valueComparator.js","sourceRoot":"","sources":["../../src/analysis/valueComparator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valueComparator.js","sourceRoot":"","sources":["../../src/analysis/valueComparator.ts"],"names":[],"mappings":"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"}
@@ -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.2.1'),
30
+ SERVER_VERSION: z.string().min(1).default('0.3.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'),
@@ -141,22 +141,48 @@ export class DocumentConnector {
141
141
  }
142
142
  else if (ext === '.docx') {
143
143
  try {
144
- const xml = child_process.execSync(`unzip -p "${realPath}" word/document.xml`, {
144
+ const xml = child_process.execFileSync('unzip', ['-p', realPath, 'word/document.xml'], {
145
145
  encoding: 'utf-8',
146
146
  maxBuffer: this.maxFileSizeBytes,
147
147
  });
148
- const paragraphs = xml.match(/<w:p\b[^>]*>.*?<\/w:p>/gs) || [xml];
149
- lines = paragraphs
150
- .map((p) => {
148
+ const extractedLines = [];
149
+ // 1. Extract table rows (<w:tr>) first to capture tabular specifications and key-value matrices
150
+ const tableRows = xml.match(/<w:tr\b[^>]*>.*?<\/w:tr>/gs) || [];
151
+ for (const tr of tableRows) {
152
+ const cells = tr.match(/<w:tc\b[^>]*>.*?<\/w:tc>/gs) || [];
153
+ const cellTexts = cells
154
+ .map((cell) => {
155
+ const tMatches = cell.match(/<w:t\b[^>]*>([^<]*)<\/w:t>/g) || [];
156
+ return tMatches
157
+ .map((t) => t.replace(/<[^>]+>/g, ''))
158
+ .join('')
159
+ .trim();
160
+ })
161
+ .filter(Boolean);
162
+ if (cellTexts.length >= 2) {
163
+ extractedLines.push(`- ${cellTexts[0]}: ${cellTexts.slice(1).join(' ')}`);
164
+ }
165
+ else if (cellTexts.length === 1) {
166
+ extractedLines.push(cellTexts[0]);
167
+ }
168
+ }
169
+ // 2. Extract regular paragraphs outside tables
170
+ const xmlWithoutTables = xml.replace(/<w:tbl\b[^>]*>.*?<\/w:tbl>/gs, '');
171
+ const paragraphs = xmlWithoutTables.match(/<w:p\b[^>]*>.*?<\/w:p>/gs) || [];
172
+ for (const p of paragraphs) {
151
173
  const textMatches = p.match(/<w:t\b[^>]*>([^<]*)<\/w:t>/g);
152
174
  if (!textMatches)
153
- return '';
154
- return textMatches
175
+ continue;
176
+ const text = textMatches
155
177
  .map((t) => t.replace(/<[^>]+>/g, ''))
156
178
  .join('')
157
179
  .trim();
158
- })
159
- .filter(Boolean);
180
+ if (text) {
181
+ extractedLines.push(text);
182
+ }
183
+ }
184
+ // De-duplicate contiguous identical lines
185
+ lines = extractedLines.filter((l, idx) => idx === 0 || l !== extractedLines[idx - 1]);
160
186
  content = lines.join('\n');
161
187
  }
162
188
  catch (err) {
@@ -425,7 +451,7 @@ export class DocumentConnector {
425
451
  const headingMatch = line.match(/^(#{2,6})\s+(.+)$/);
426
452
  if (headingMatch) {
427
453
  const rawHeading = headingMatch[2].trim();
428
- const genericSections = /^(overview|introduction|getting started|summary|table of contents|notes|appendix|prerequisites|requirements|technology stack|service configuration|monitoring|security|hardware requirements)/i;
454
+ const genericSections = /^(overview|introduction|getting started|summary|table of contents|notes|appendix|prerequisites|requirements|runtime requirements|deployment profile|deployment requirements|technology stack|service configuration|configuration|specifications|specs|monitoring|security|hardware requirements)/i;
429
455
  if (!genericSections.test(rawHeading)) {
430
456
  let s = rawHeading
431
457
  .toLowerCase()
@@ -449,6 +475,15 @@ export class DocumentConnector {
449
475
  const rawK = directMatch[1].trim();
450
476
  const rawV = directMatch[2].trim();
451
477
  if (rawK && rawV && !rawK.startsWith('#') && !rawK.includes('---')) {
478
+ const lowerK = rawK.toLowerCase();
479
+ if (lowerK === 'specification' ||
480
+ lowerK === 'property' ||
481
+ lowerK === 'setting' ||
482
+ lowerK === 'key' ||
483
+ lowerK === 'parameter' ||
484
+ lowerK === 'attribute') {
485
+ continue;
486
+ }
452
487
  key = rawK.toLowerCase().replace(/[^a-z0-9_]/g, '_');
453
488
  val = rawV.replace(/^[*`_"'\s]+|[*`_"'\s]+$/g, '').trim();
454
489
  const qtyMatch = val.match(/(?:at\s+least|minimum|requires|is)?\s*(\d+(?:\.\d+)?\s*(?:gb|mb|tb|kb|g|m|b|ms|s|sec|seconds|minutes|hours))\b/i);