EU Parliament Monitor โ€” API Documentation - v0.8.49
    Preparing search index...

    EU Parliament Monitor โ€” API Documentation - v0.8.49

    Hack23 Logo

    ๐Ÿ›๏ธ EU Parliament Monitor

    European Parliament Political Intelligence Platform
    ๐Ÿง  Political intelligence ยท ๐Ÿ” Radical transparency ยท ๐Ÿ—ณ๏ธ Democratic accountability ยท ๐Ÿค– AI-generated news in 14 languages

    Live Site Political Intelligence Hub Site Map

    Owner Classification Aggregator Era Review Cycle

    OpenSSF Scorecard OpenSSF Best Practices SLSA 3 License ISMS Ask DeepWiki

    News Generation CodeQL Test and Report E2E Tests Release


    Explore the live platform โ€” ๐ŸŒ euparliamentmonitor.com ยท ๐Ÿง  Political Intelligence Hub (methodology + artifact transparency, all 14 languages) ยท ๐Ÿ“Š Analysis & Reports ยท ๐Ÿ—บ๏ธ Site Map (every page, every language) ยท ๐Ÿ“” API Reference

    The European Parliament adopts laws that affect 450 million citizens across 27 member states. Yet most of what happens in Brussels and Strasbourg โ€” committee dossiers, rapporteur appointments, coalition trade-offs, amendment battles, urgency files, trilogue dynamics โ€” remains effectively invisible to the public. Press coverage is sparse, fragmented across national outlets, and rarely connects the procedural dots.

    EU Parliament Monitor turns the EP's own open data into auditable political intelligence โ€” and publishes it as readable news in 14 languages, every day, fully sourced.

    This repository is the open-source platform behind euparliamentmonitor.com: an AI-driven newsroom that monitors plenary sessions, committee work, motions, propositions, and forward-calendar events; produces Economist-style analytical articles backed by 51 structured analysis artifacts per run; and exposes every methodology, template, and analysis tree publicly so any reader, journalist, researcher, or NGO can verify the analysis behind the prose.

    Pillar What it means in this project
    ๐Ÿง  Political Intelligence Structured analytic techniques (ACH, SWOT/TOWS, PESTLE, scenario forecasting, devil's-advocate), Admiralty source grading, Words of Estimative Probability (WEP) bands, ICD-203 standards, and a 6-dimension political-threat framework โ€” applied daily to live EP data.
    ๐Ÿ” Radical Transparency Every article links back to the analysis run it was rendered from. Every artifact links to its methodology. Every methodology is published. No black box.
    ๐Ÿ—ณ๏ธ Democratic Accountability Public-data only. GDPR-clean. No personal profiling. Multi-language so a Finnish farmer, a Greek student, and a Polish journalist all get the same intelligence in their own language.
    ๐Ÿค– AI-Generated News 8 unified gh-aw agentic workflows + 1 translation workflow run autonomously, produce structured analysis, render deterministic HTML, and open publication-ready pull requests for human review.

    The published site is the audience-facing companion to this npm/TypeScript package. Two hub pages give the fastest entry point โ€” bookmark them:

    Live Site ๐ŸŒ Live News Site โ€” euparliamentmonitor.com
    Daily-updated front page with the latest Breaking News, Week / Month Ahead, Week / Month in Review, Committee Reports, Plenary Votes & Resolutions, and Legislative Procedures articles. Every article is generated by an AI agent from live European Parliament MCP data, peer-reviewed against a 51-artifact analytical baseline, and published in 14 languages (EN, SV, DA, NO, FI, DE, FR, ES, NL, AR, HE, JA, KO, ZH) with WCAG 2.1 AA accessibility, RTL support for Arabic and Hebrew, and JSON-LD NewsArticle structured data linking back to every source artifact.
    Political Intelligence Hub ๐Ÿง  Political Intelligence Hub
    The audit-ready transparency layer behind every published article. A single, fully-linked index into 17 methodologies, 52 analysis templates, 19 tradecraft references, and over 170 daily analysis runs producing 1,700+ structured artifacts โ€” including the 10-step AI-driven analysis protocol, OSINT tradecraft standards (Admiralty / WEP / SAT / ACH), the political-threat framework, the political SWOT framework, and the per-artifact construction rules. Every link opens directly on GitHub so readers can verify the analysis behind the prose. Available in all 14 supported languages.
    Site Map ๐Ÿ—บ๏ธ Human-Readable Site Map
    Index of every page on the platform โ€” landing pages, news articles, and technical documentation โ€” across all 14 languages. Best entry point for SEO crawlers, audience navigation, and discovering historical articles. Companion to the machine-readable sitemap.xml and per-language sitemap_<lang>.html variants.
    API Reference ๐Ÿ“” TypeDoc API Reference
    TypeDoc-generated reference for every public symbol in the euparliamentmonitor npm package โ€” the EP MCP client (60+ tools), the deterministic article aggregator, the 5-tier metadata resolver, and the multi-language renderer. Companion ๐Ÿ““ Test Coverage and ๐ŸŽญ E2E Report dashboards are linked from the same documentation hub.

    ๐Ÿ“– Quick Links:

    ๐Ÿค– Agentic Pipeline:

    • Agent Catalog โ€” custom Copilot agents (analysis producers / consumers / gh-aw infrastructure)
    • Skills Library โ€” shared skills (security, compliance, intelligence, gh-aw)
    • Prompt Library โ€” 10-file bounded-context prompt set (00โ†’09) + npm run lint:prompts drift-guard
    • Workflows + WORKFLOWS.md โ€” 9 news-*.md agentic workflows (8 unified news-<type>.md + news-translate.md) + CI workflows
    • Analysis Chain โ€” 5-stage pipeline (Data โ†’ Analysis โ†’ Completeness Gate โ†’ Article โ†’ Single PR), methodologies, 39 templates, quality thresholds

    ๐Ÿ”’ ISMS Compliance:

    MCP Server Integration: The project uses the European-Parliament-MCP-Server v1.2.15 for accessing real EU Parliament data via the Model Context Protocol.

    • MCP Server Status: โœ… Fully operational โ€” 60+ EP data tools available (feeds, direct lookups, analytical tools, intelligence correlation)
    • Agentic Workflows: 9 unified gh-aw markdown workflows โ€” 8 article types (news-<type>.md, Stages A โ†’ B โ†’ C โ†’ D โ†’ E in one session) + news-translate.md (14-language flush translation) โ€” compiled with gh-aw v0.69.3 (pin in .github/workflows/compile-agentic-workflows.yml) to .lock.yml for automated news generation with AI-driven political intelligence analysis. See .github/workflows/README.md.
    • Analysis-Artifact-Driven Article Pipeline: Agents author the full Stage-B analysis-artifact set (analysis/daily/<date>/<slug>/, 39 structured templates per run; repeat same-day runs reuse the folder and append to manifest.json.history[]) and commit it; the deterministic aggregator (src/aggregator/**, invoked via npm run generate-article -- --run <analysis-run-dir> or npm run generate-article:all for batch regen) then walks manifest.json, cleans each artifact, and emits the final Markdown source + HTML with the shared site chrome (stacked header + embedded 14-language switcher + TOC sidebar + footer stats) and 14-language <link rel="alternate" hreflang> entries. There is no AI-authored HTML step; article quality is guaranteed editorially at the Stage-C completeness review over the artifact markdown. See analysis/README.md and analysis/methodologies/ai-driven-analysis-guide.md.
    • Fallback Mode: News generation can work with reduced data when EP API endpoints are temporarily unavailable
    • Environment Variable: Set USE_EP_MCP=false to disable MCP client connection attempts

    EU Parliament Monitor is an automated news generation platform that monitors European Parliament activities and generates multi-language news articles covering:

    • Week Ahead: Preview of upcoming parliamentary events and committee meetings
    • Committee Reports: Analysis of committee activities and decisions
    • Propositions: Government and parliamentary legislative proposals
    • Motions: Parliamentary motions and resolutions
    • Breaking News: Rapid-response coverage of significant developments
    • ๐Ÿ“ฐ Automated News Generation: Generate news articles about EU Parliament activities
    • ๐ŸŒ Multi-Language Support: 14 languages including English, Swedish, German, French, Spanish, Arabic, Japanese, and more
    • ๐Ÿ“… Week Ahead Coverage: Preview upcoming parliamentary events
    • ๐Ÿค– GitHub Actions Integration: Automated daily news generation
    • ๐Ÿ“Š SEO Optimized: Proper metadata, structured data, and sitemap generation
    • โœ… Code Quality: ESLint, Prettier, and automated quality gates
    • ๐ŸŒ IMF-grade Economic Context: IMF-primary citations are the editorial standard for every policy article โ€” see analysis/imf/README.md and analysis/methodologies/imf-indicator-mapping.md. World Bank is retained only for non-economic indicators (health, education, social, environment, demographics, defence, agriculture, innovation, governance).

    EU Parliament Monitor implements security-by-design with comprehensive security controls and ISMS compliance.

    Project Classification (per ISMS Classification Framework and Open Source Policy):

    • Confidentiality: Public (Level 1) - European Parliament open data
    • Integrity: Medium (Level 2) - News accuracy critical for democratic transparency
    • Availability: Medium (Level 2) - Daily updates expected, 24h RTO acceptable
    • RTO: 24 hours | RPO: 1 day (daily generation schedule)
    • Business Impact: Low financial, Medium operational, Medium reputational
    • Strategic Value: Democratic transparency, open civic technology leadership

    Key Security Controls:

    • โœ… Minimal Attack Surface: Static site, no databases, no server-side execution
    • โœ… Automated Security: CodeQL SAST, Dependabot SCA, npm audit
    • โœ… Supply Chain Security: SHA-pinned GitHub Actions, SBOM generation
    • โœ… Input Validation: Multi-layer XSS prevention, HTML sanitization
    • โœ… Infrastructure Security: GitHub-hosted ephemeral runners, HTTPS enforcement
    • โœ… Compliance: ISO 27001, GDPR, NIS2, EU CRA aligned

    Security Metrics:

    • Zero known vulnerabilities (npm audit clean)
    • 82%+ code coverage with security tests
    • 100% dependency scanning coverage
    • 0 CodeQL critical/high findings

    This project follows Hack23 ISMS Secure Development Policy:

    • โœ… Security architecture documentation (C4 models with Mermaid)
    • โœ… Threat modeling (STRIDE analysis)
    • โœ… Security testing (SAST, SCA, unit tests)
    • โœ… Compliance mapping (ISO 27001, GDPR, NIS2)

    EU Parliament Monitor is an open source project with transparent governance and community standards.

    • GitHub Issues: Bug reports and feature requests
    • GitHub Discussions: Questions and community discussion
    • Security: security@hack23.com for vulnerability reports
    • Conduct: conduct@hack23.com for Code of Conduct issues

    This project adheres to:

    • โœ… OpenSSF Best Practices: Following CII Best Practices criteria
    • โœ… ISMS Compliance: Aligned with Hack23 ISMS policies
    • โœ… Transparent Development: Public repository, open discussions
    • โœ… Security First: Comprehensive security disclosure policy

    Every article published on euparliamentmonitor.com is the deterministic render of an analysis run โ€” a directory under analysis/daily/<YYYY-MM-DD>/<article-type>/ containing structured Markdown artifacts (drawn from a 51-template catalog: 39 core mandatory + 12 extended optional) plus raw EP MCP / IMF / World Bank data payloads. The pipeline is split into five well-defined stages:

    %%{init: {"theme":"dark","themeVariables":{"primaryColor":"#1565C0","primaryTextColor":"#fff","lineColor":"#90CAF9","fontFamily":"Inter, Helvetica, Arial, sans-serif"}}}%%
    flowchart LR
    A["๐Ÿ”ต Stage A<br/>EP MCP data collection<br/><i>60+ tools, IMF, World Bank</i>"] --> B["๐ŸŸฃ Stage B<br/>AI political intelligence<br/><i>51 artifacts ยท 2-pass review</i>"]
    B --> C["๐ŸŸก Stage C<br/>Completeness gate<br/><i>line floors ยท WEP ยท Admiralty</i>"]
    C --> D["๐ŸŸข Stage D<br/>Deterministic aggregator<br/><i>npm run generate-article</i>"]
    D --> E["๐Ÿ”ท Markdown source<br/>news/*.en.md"]
    D --> F["๐ŸŸข 14-language HTML<br/>news/*-{lang}.html"]
    F --> G["๐ŸŸ  SEO indexes<br/>sitemap ยท RSS ยท JSON-LD"]
    G --> H["๐ŸŸข S3 + CloudFront<br/>euparliamentmonitor.com"]
    style A fill:#1565C0,color:#fff
    style B fill:#7B1FA2,color:#fff
    style C fill:#FFC107,color:#000
    style D fill:#2E7D32,color:#fff
    style E fill:#0288D1,color:#fff
    style F fill:#2E7D32,color:#fff
    style G fill:#FF9800,color:#000
    style H fill:#2E7D32,color:#fff

    Critical architectural property: AI agents author analysis artifacts in Markdown โ€” never HTML. TypeScript code under src/aggregator/** deterministically renders the committed artifacts into HTML. There is no AI-authored HTML step and no template-prose leakage. This is what makes the public output reproducible, auditable, and resistant to hallucination.

    ๐Ÿ“– Full pipeline reference: Article-Generation.md ยท analysis/README.md ยท analysis/methodologies/ai-driven-analysis-guide.md

    Methodology Purpose
    ๐ŸŽฏ AI-Driven Analysis Guide The canonical 10-step protocol every agentic run follows (Rules 1โ€“22 + Step 10.5 methodology reflection).
    ๐Ÿ—‚๏ธ Artifact Catalog Master map: every artifact โ†’ methodology + template + depth floor + Mermaid diagram type.
    ๐Ÿ”ฌ Per-Artifact Methodologies 34 sections โ€” one per artifact type โ€” with construction rules and quality signals.
    ๐Ÿ•ต๏ธ OSINT Tradecraft Standards ICD-203 standards ยท Admiralty source grades ยท Kent / WEP probability bands ยท SAT catalog ยท OSINT ethics.
    ๐Ÿท๏ธ Political Classification Guide 7-dimension EP event classification (actors, stances, urgency, policy domain, risk surface).
    โš–๏ธ Political Risk Methodology Quantitative 5ร—5 Likelihood ร— Impact scoring adapted from the Hack23 ISMS.
    ๐Ÿงฎ Political SWOT Framework Evidence-based SWOT/TOWS with โ‰ฅ80-word depth floor per quadrant item.
    ๐Ÿ›ก๏ธ Political Threat Framework 5-framework integrated model: 6D Threat Landscape + Attack Trees + Kill Chain + Diamond + ICO Profiling. STRIDE explicitly rejected for political analysis.
    ๐Ÿ”— Synthesis Methodology Stage B.7 significance scoring โ†’ synthesis summary โ†’ stakeholder perspectives โ†’ coalition dynamics โ†’ executive brief.
    ๐ŸŒ Strategic Extensions Scenario forecasts, ACH (Heuer), wildcards & black swans, comparative international, intelligence assessment.
    ๐Ÿ—ณ๏ธ Electoral Domain Methodology EP10/EP11 electoral context, coalition mathematics (361-seat threshold), voter segmentation.
    ๐Ÿ“ Per-Document Methodology Atomic evidence-layer methodology for individual EP documents.
    ๐Ÿงพ Structural Metadata Methodology Provenance, manifest.json, cross-reference maps, GDPR Article 30 compliance.
    โœ๏ธ Political Style Guide The Economist-inspired tone, balance, attribution rules, multi-language considerations.
    ๐Ÿ’ฐ IMF Indicator Mapping IMF WEO/Fiscal Monitor/IFS/BOP/ER/PCPS โ†’ EP article-type primary economic source.
    ๐ŸŒฑ World Bank Indicator Mapping Non-economic World Bank Open Data indicators (health, education, environment, governance, innovation).
    ๐Ÿ“ Reference Quality Thresholds Per-artifact line-count floors enforced at the Stage-C completeness gate.

    ๐Ÿ” Browse all 17 methodologies, 52 templates, 19 tradecraft references, and 1,700+ artifacts produced across 170+ daily analysis runs on the Political Intelligence Hub.


    Eight unified gh-aw article workflows plus a 14-language translation helper run on precision schedules, autonomously generating Economist-style political intelligence and opening publication-ready pull requests. Every workflow follows the same Stage A โ†’ E contract documented in Article-Generation.md.

    Workflow Article Type Focus
    ๐Ÿšจ news-breaking.md breaking Rapid-response coverage of significant EP developments.
    ๐Ÿ“‹ news-week-ahead.md week-ahead Forward calendar, committee agenda, urgency-file outlook.
    ๐Ÿ”ญ news-month-ahead.md month-ahead 30-day strategic horizon and risk forecast.
    ๐Ÿ“Š news-week-in-review.md week-in-review Past-week retrospective intelligence (D-8 โ†’ D-36 reporting window).
    ๐Ÿ“ˆ news-month-in-review.md month-in-review Monthly retrospective with cross-run continuity analysis.
    ๐Ÿ›๏ธ news-committee-reports.md committee-reports Committee activity, rapporteur work, legislative-production analysis.
    โš–๏ธ news-motions.md motions Plenary motions, resolutions, urgency files, political signals.
    ๐Ÿ“œ news-propositions.md propositions Legislative proposals and pipeline analysis.
    ๐ŸŒ news-translate.md translation helper 14-language flush translation (manual dispatch only).

    Each unified workflow runs Stages Aโ€“E in a single 45-minute session and produces exactly one PR containing both the analysis artifacts and the rendered HTML. The earlier split-pair news-<type>-analysis.md + news-<type>-article.md layout was retired in the April-2026 aggregator migration. See .github/workflows/README.md for compile / lock-file / safe-output mechanics, and WORKFLOWS.md for the full CI/CD catalog.

    ๐Ÿ“š Prompt Library (.github/prompts/) โ€” 10 bounded-context prompt files (00-scope-and-ground-rules.md โ†’ 09-troubleshooting.md) shared across every workflow. The npm run lint:prompts drift-guard fails CI on banned patterns (checkpoint pr, keep-alive, heartbeat, progressive safe output, push_repo_memory).


    EU Parliament Monitor uses a layered agent model: a small set of product-domain agents owns the news pipeline, while infrastructure agents maintain workflows, contributions, and CI hygiene.

    Agent Role
    ๐Ÿ•ต๏ธ intelligence-operative Senior political intelligence analyst โ€” applies ACH, SWOT, PESTLE, OSINT tradecraft, threat framework. Owns Stage-B analysis artifacts.
    ๐Ÿ“ฐ news-journalist The Economist-style EP reporting in 14 languages. Authors editorial prose only when analysis artifacts are signed off.
    ๐Ÿ”„ data-pipeline-specialist EP MCP integration (60+ tools), data quality, voting-records fallback to EP Open Data Portal.
    ๐ŸŽจ frontend-specialist HTML5/CSS3, WCAG 2.1 AA accessibility, multi-language UI, RTL support.
    โœ… quality-engineer Vitest + Playwright, HTML validation, accessibility testing, performance benchmarking.
    โš™๏ธ devops-engineer gh-aw workflow compilation, GitHub Actions, S3/CloudFront deploy, MCP gateway.
    ๐Ÿ“š documentation-architect C4 models, Mermaid diagrams, ARCHITECTURE.md, ADRs.
    ๐Ÿ›ก๏ธ security-architect (see SECURITY.md) ISMS, GDPR, NIS2, EU CRA compliance โ€” reviews data classification of intelligence products.
    ๐Ÿ“‹ product-task-agent Issue creation, ISMS tracking, capability-roadmap coordination.
    ๐Ÿ“ฃ marketing-specialist Privacy-first multi-language engagement, GDPR-compliant outreach.
    ๐Ÿ’ผ business-development-specialist Strategic planning, civic-tech partnerships, sustainable transparency models.

    agentic-workflows.agent.md, news-generation.agent.md, ci-cleaner.agent.md, contribution-checker.agent.md, create-safe-output-type.agent.md, custom-engine-implementation.agent.md, grumpy-reviewer.agent.md, interactive-agent-designer.agent.md, technical-doc-writer.agent.md, w3c-specification-writer.agent.md. See .github/agents/README.md.


    npm install euparliamentmonitor
    
    import {
    // EP MCP client (60+ open-data tools)
    EuropeanParliamentMCPClient,
    getEPMCPClient,
    // Article generation (deterministic aggregator pipeline)
    generateArticle,
    aggregateAnalysisRun,
    renderMarkdown,
    // Cross-article intelligence index
    buildIndexFromEntries,
    findRelatedArticles,
    generateCrossReferences,
    // Multi-language support (14 languages, RTL aware)
    ALL_LANGUAGES,
    LANGUAGE_NAMES,
    } from 'euparliamentmonitor';

    // Or import specific modules for tree-shaking
    import { EuropeanParliamentMCPClient } from 'euparliamentmonitor/mcp/ep-mcp-client';
    import type { ArticleCategory, LanguageCode } from 'euparliamentmonitor/types';

    Bundled capabilities:

    • ๐Ÿ›๏ธ EU Parliament MCP Client โ€” 60+ tools covering plenary sessions, committee reports, voting records, parliamentary questions, adopted texts, procedures, MEPs, and declarations, with built-in fallback to the EP Open Data Portal /api/v2/decision endpoint when MCP returns empty voting payloads.
    • ๐Ÿ“ฐ Deterministic Article Aggregator โ€” walks manifest.json, cleans each artifact, renders Markdown source + 14 HTML variants with full SEO chrome, JSON-LD NewsArticle, hreflang alternates, and isBasedOn provenance lists.
    • ๐Ÿ” Political Intelligence Analytics โ€” voting-anomaly detection, coalition dynamics, MEP influence scoring, OSINT correlation (5-framework threat model).
    • ๐ŸŒ 14-Language Renderer โ€” EN, SV, DA, NO, FI, DE, FR, ES, NL, AR (RTL), HE (RTL), JA, KO, ZH โ€” with WCAG 2.1 AA accessibility and shared site chrome.

    ๐Ÿ“ฆ Provenance: Published with npm provenance and SLSA Level 3 build attestations.


    Primary โ€” European Parliament MCP Server (Hack23/European-Parliament-MCP-Server v1.2.15+, fully operational):

    • ๐Ÿ—ณ๏ธ Plenary sessions, voting records, roll-call votes
    • ๐Ÿ“œ Adopted texts, motions, resolutions, urgency files
    • ๐Ÿ›๏ธ Committee meetings, reports, opinions, hearings
    • ๐Ÿ‘ฅ MEPs (active, incoming, outgoing, homonym), declarations of financial interests
    • โ“ Parliamentary questions (written/oral)
    • ๐Ÿ“‚ Procedures, plenary documents, external documents, controlled vocabularies
    • ๐Ÿ“Š Analytical tools: voting patterns, coalition dynamics, MEP influence, network analysis, sentiment tracker, early warning system, intelligence correlation

    Secondary โ€” public economic & social context:

    • ๐Ÿ’ฐ IMF (primary economic source per the IMF Indicator Mapping) โ€” World Economic Outlook (WEO), Fiscal Monitor, International Financial Statistics (IFS), Balance of Payments (BOP), Exchange Rates, and Primary Commodity Price System (PCPS).
    • ๐ŸŒฑ World Bank Open Data (non-economic only) โ€” health, education, environment, demographics, governance, innovation.

    Boundary: Only public EP/IMF/World Bank data is used. No personal MEP profiling beyond public parliamentary roles. GDPR-clean by design.


    EU Parliament Monitor implements security-by-design under the Hack23 ISMS framework.

    Dimension Level
    Confidentiality Public (Level 1) โ€” European Parliament open data only
    Integrity Medium (Level 2) โ€” accuracy critical for democratic transparency
    Availability Medium (Level 2) โ€” daily updates, 24h RTO
    Strategic value Democratic transparency, open civic-tech leadership
    Framework Scope Evidence
    ISO 27001:2022 Information security management SECURITY_ARCHITECTURE.md โ€” A.5.10, A.5.12, A.5.23, A.8.11, A.8.28
    NIST CSF 2.0 Identify ยท Protect ยท Detect ยท Respond ยท Recover Compliance matrix in SECURITY_ARCHITECTURE.md
    CIS Controls v8.1 Operational security best practices CodeQL, Dependabot, npm audit, SBOM
    GDPR Data minimization, purpose limitation Public-data-only boundary, no profiling
    NIS2 Article 20, 21 cybersecurity risk management THREAT_MODEL.md (STRIDE for software-security context)
    EU Cyber Resilience Act SBOM, vulnerability disclosure, Annex I/V CRA-ASSESSMENT.md, SLSA provenance, SECURITY.md
    • โœ… Minimal attack surface โ€” static site, no databases, no server-side execution
    • โœ… Same-origin JS bundle โ€” all executable assets under js/vendor/, strict script-src 'self' CSP, no external CDN
    • โœ… Automated security โ€” CodeQL SAST, Dependabot SCA, npm audit, OpenSSF Scorecard
    • โœ… Supply chain โ€” SHA-pinned GitHub Actions, SBOM (SPDX), SLSA Level 3 attestations
    • โœ… Input validation โ€” multi-layer XSS prevention, HTML sanitization, markdown-it with explicit plugin allowlist
    • โœ… Infrastructure โ€” GitHub-hosted ephemeral runners, S3/CloudFront via OIDC GithubWorkFlowRole, HTTPS enforcement, step-security/harden-runner egress block

    ๐Ÿ“‹ Full security architecture: SECURITY_ARCHITECTURE.md ยท SECURITY.md ยท THREAT_MODEL.md ยท CLASSIFICATION.md


    • Node.js 25 or higher
    • npm 10 or higher (ships with Node.js 25)
    • Git
    git clone https://github.com/Hack23/euparliamentmonitor.git
    cd euparliamentmonitor
    npm install
    npm run build              # TypeScript compilation
    npm run lint # ESLint (TypeScript in src/)
    npm run lint:prompts # gh-aw prompt drift-guard
    npm run htmlhint # HTML validation
    npm run test # Vitest unit + integration (169+ tests)
    npm run test:coverage # Coverage report (โ‰ฅ80% line, โ‰ฅ75% branch)
    npm run test:e2e # Playwright cross-browser E2E
    npm run validate-analysis # Stage-C completeness gate
    npm run generate-article -- --run analysis/daily/2026-04-24/breaking
    npm run generate-article:all # batch regen every committed run
    npm run generate-news-indexes # 14-language news index pages
    npm run generate-sitemap # sitemap.xml + 14 sitemap_<lang>.html
    npm run docs:generate # TypeDoc API docs + index
    npm run serve # local static-site preview at :8080

    By default the workflows run with USE_EP_MCP=true. To experiment locally with the European Parliament MCP Server:

    git clone https://github.com/Hack23/European-Parliament-MCP-Server.git
    cd European-Parliament-MCP-Server && npm install && npm run build
    export EP_MCP_SERVER_PATH="$(pwd)/dist/index.js"
    # or use the gateway helper:
    source scripts/mcp-setup.sh

    Set USE_EP_MCP=false to disable MCP and fall back to placeholder/test data.


    Topic Document
    ๐ŸŒ Live site euparliamentmonitor.com ยท Political Intelligence Hub ยท Site Map
    ๐Ÿ›๏ธ Architecture ARCHITECTURE.md ยท FUTURE_ARCHITECTURE.md ยท DATA_MODEL.md ยท FLOWCHART.md ยท STATEDIAGRAM.md ยท MINDMAP.md
    ๐Ÿ“ฐ Article generation Article-Generation.md โ€” end-to-end pipeline reference
    ๐Ÿง  Analysis chain analysis/README.md ยท analysis/methodologies/ ยท analysis/templates/README.md
    ๐Ÿค– Agentic pipeline .github/agents/README.md ยท .github/skills/README.md ยท .github/prompts/README.md ยท .github/workflows/README.md ยท WORKFLOWS.md
    ๐Ÿ›ก๏ธ Security & compliance SECURITY.md ยท SECURITY_ARCHITECTURE.md ยท THREAT_MODEL.md ยท CLASSIFICATION.md ยท CRA-ASSESSMENT.md
    ๐Ÿ’ผ Business SWOT.md ยท BCPPlan.md ยท FinancialSecurityPlan.md ยท End-of-Life-Strategy.md
    ๐Ÿงช Testing UnitTestPlan.md ยท E2ETestPlan.md ยท test/README.md ยท e2e/README.md
    ๐Ÿš€ Release process docs/RELEASE_PROCESS.md ยท SLSA Attestations
    ๐Ÿ“” Generated docs API Reference ยท Coverage ยท E2E Report

    "We're not just keeping up with AI โ€” we're building the editorial infrastructure for the era when machines understand parliamentary procedure better than most MEPs."

    Six-phase roadmap from current agentic news generation to AGI-enhanced transformative democracy, with human oversight maintained at every level.

    timeline
    title EU Parliament Monitor โ€” AI Evolution Roadmap
    section Phase 1 (2026)
    Agentic News : 8 unified workflows
    : 14-language generation
    : Deterministic aggregator
    : 51-artifact analysis catalog
    section Phase 2 (2027)
    Predictive Analytics : Voting outcome prediction
    : Legislative impact forecasting
    : Cross-party coalition detection
    section Phase 3 (2028โ€“2029)
    Multi-Modal Intelligence : Video plenary analysis
    : Real-time debate tracking
    : Infographic auto-generation
    section Phase 4 (2030โ€“2031)
    Near-Expert Analysis : 50+ parliament coverage
    : Expert-level policy briefs
    : Predictive governance models
    section Phase 5 (2032โ€“2033)
    Global Coverage : 100+ parliaments
    : Pre-AGI capabilities
    : Cross-jurisdiction analysis
    section Phase 6 (2034โ€“2037)
    AGI Era : Transformative democracy
    : 195 national legislatures
    : Human oversight maintained

    ๐Ÿ“˜ FUTURE_MINDMAP.md โ€” capability evolution & system vision ยท ๐Ÿ“— FUTURE_WORKFLOWS.md โ€” CI/CD evolution & automation roadmap


    EU Parliament Monitor welcomes contributions from developers, journalists, translators, political scientists, OSINT analysts, accessibility experts, and security researchers.

    Resource Purpose
    CONTRIBUTING.md Development workflow, code standards, contribution guidelines
    CODE_OF_CONDUCT.md Contributor Covenant 2.1 community standards
    SECURITY.md Vulnerability disclosure (48h ack ยท 7d validation ยท 30d remediation for criticals)
    AUTHORS.md Recognition of project contributors
    LICENSE Apache License 2.0

    Channels: GitHub Issues (bug reports / features) ยท GitHub Discussions (Q&A) ยท security@hack23.com (vulnerabilities) ยท conduct@hack23.com (Code of Conduct)

    Governance compliance: โœ… OpenSSF Best Practices ยท โœ… Hack23 ISMS aligned ยท โœ… Public repository with transparent decision-making ยท โœ… REUSE-compliant license headers ยท โœ… Conventional commits


    Copyright 2024-2026 Hack23 AB

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    See LICENSE for the full text.


    The news-generation foundation builds on the Hack23/riksdagsmonitor Swedish Parliament monitor. Sister projects in the Hack23 transparency portfolio: European-Parliament-MCP-Server (EP data MCP) ยท cia (Swedish Parliament intelligence, Java/Spring) ยท ISMS-PUBLIC (security policies).

    Maintained by: Hack23 AB โ€” Intelligence Operations Team