Module: Validation/CrossReferenceTracking

INTELLIGENCE OPERATIVE PERSPECTIVE

This module enforces data-driven journalism standards by validating that news articles cite multiple parliamentary sources. Operating as a quality gate in the editorial pipeline, it ensures every article rests on verified intelligence from the riksdag-regering MCP platform - critical for avoiding intelligence assessment traps like single-source bias or uncorroborated claims.

VALIDATION FRAMEWORK: Cross-reference validation is structured around article types, each with specific parliamentary information requirements:

  • Week-Ahead Articles (Prospective Analysis) Required sources: Calendar events, document registry, written questions, interpellations Intelligence value: Forward-looking agenda analysis, upcoming debate topics

  • Committee Reports (Organizational Intelligence) Required sources: Committee decisions, voting patterns, speeches, propositions Intelligence value: Committee composition, policy prioritization, consensus-building

  • Opposition Motions (Political Positioning) Required sources: Motion registry, full-text search, department analysis, debate Intelligence value: Opposition priorities, policy alternatives, party differentiation

  • Government Propositions (Executive Intent) Required sources: Government proposals, policy analysis, speeches, debate Intelligence value: Government legislative agenda, policy direction, timing

  • Breaking News (Event-Driven Intelligence) Required sources: Voting records, voting groups, speeches, member data Intelligence value: Real-time political developments, coalition behavior, crisis response

INTELLIGENCE APPLICATIONS:

  1. Source Diversity: Minimum 3+ independent sources prevents narrative manipulation
  2. Triangulation: Cross-referencing same event from multiple perspectives reduces bias
  3. Chain of Custody: MCP tool citations create audit trail for claims
  4. Analytical Integrity: Enforces structured analysis vs. opinion/speculation
  5. Misinformation Prevention: Source requirements prevent false claims from publication

OPERATIONAL WORKFLOW:

  1. Parse article content for MCP tool citations
  2. Extract referenced document IDs and entity identifiers
  3. Validate required tool coverage for article type
  4. Confirm minimum source count (3+) for triangulation
  5. Generate compliance report with source breakdown
  6. Block publication if validation fails

SOURCE VERIFICATION LOGIC:

  • Distinct tools = distinct sources (prevents single-query inflation)
  • Tool parameters tracked for source diversity within category
  • Cross-referenced entities (motions + voting patterns) count as compound sources
  • Temporal diversity considered (older sources cross-reference recent)

COMPLIANCE STANDARDS:

  • Editorial Standard: Minimum 3 independent sources per article
  • Intelligence Standard: All major claims backed by at least 1 MCP tool call
  • Transparency Standard: Source citations visible in article metadata
  • Audit Standard: Complete call logs retained for 180 days

RISK MITIGATION:

  • Prevents publication of unsourced allegations
  • Detects coordination of coverage through shared sources
  • Alerts editorial team to unusual source clustering
  • Tracks source reliability across time

GDPR CONSIDERATIONS:

  • All member references traced to source tool calls
  • Personal data citations logged separately
  • Member consent tracking integrated with source validation
  • Data minimization enforced through source requirements
Version:
  • 2.1.0
Since:
  • 2024-08-20
Author:
  • Hack23 AB (Editorial Intelligence & Fact-Check Team)
License:
  • Apache-2.0
Source:
See:

Members

(static, constant) MINIMUM_SOURCES

Minimum number of distinct data sources required per article

Source:

(static, constant) REQUIRED_TOOLS_PER_TYPE

Required MCP tools per article type

Source:

Methods

(static) exportCISummary(batchResults) → {Object}

Export validation summary for CI/CD

Parameters:
Name Type Description
batchResults Object

Results from validateArticleBatch

Source:
Returns:

CI-friendly summary

Type
Object

(static) extractCrossReferences(content) → {Array}

Extract cross-references from article content

Parameters:
Name Type Description
content string

Article HTML or text content

Source:
Returns:

Array of detected cross-references

Type
Array

(static) generateValidationReport(validation) → {string}

Generate validation report

Parameters:
Name Type Description
validation Object

Validation result from validateCrossReferences

Source:
Returns:

Markdown formatted report

Type
string

(static) validateArticleBatch(articles) → {Object}

Validate multiple articles at once

Parameters:
Name Type Description
articles Array

Array of article objects with type, content, mcpCalls

Source:
Returns:

Aggregated validation results

Type
Object

(static) validateCrossReferences(articleType, articleContent, mcpCalls) → {Object}

Validate cross-references for an article

Parameters:
Name Type Description
articleType string

Type of article (week-ahead, committee-reports, etc.)

articleContent string

Article HTML or text content

mcpCalls Array

Array of MCP calls made during generation

Source:
Returns:

Validation result

Type
Object

(inner) calculateScore()

Calculate quality score for cross-referencing (0-1)

Source: