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:
- Source Diversity: Minimum 3+ independent sources prevents narrative manipulation
- Triangulation: Cross-referencing same event from multiple perspectives reduces bias
- Chain of Custody: MCP tool citations create audit trail for claims
- Analytical Integrity: Enforces structured analysis vs. opinion/speculation
- Misinformation Prevention: Source requirements prevent false claims from publication
OPERATIONAL WORKFLOW:
- Parse article content for MCP tool citations
- Extract referenced document IDs and entity identifiers
- Validate required tool coverage for article type
- Confirm minimum source count (3+) for triangulation
- Generate compliance report with source breakdown
- 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
- License:
- Apache-2.0
- Source:
- See:
-
- https://github.com/Hack23/riksdag-regering-mcp (MCP Tool Reference)
- EDITORIAL_STANDARDS.md (Source Requirements Policy)
- Issue #142 (Source Verification Framework)
Members
(static, constant) MINIMUM_SOURCES
Minimum number of distinct data sources required per article
(static, constant) REQUIRED_TOOLS_PER_TYPE
Required MCP tools per article type
Methods
(static) exportCISummary(batchResults) → {Object}
Export validation summary for CI/CD
Parameters:
| Name | Type | Description |
|---|---|---|
batchResults |
Object | Results from validateArticleBatch |
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 |
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 |
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 |
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 |
Returns:
Validation result
- Type
- Object
(inner) calculateScore()
Calculate quality score for cross-referencing (0-1)