๐Ÿ—ณ๏ธ Riksdagsmonitor

July 8, 2026 ยท View on GitHub

Swedish Political Intelligence Platform โ€” democratic transparency, evidence-based analysis and AI-generated political news, powered by official open data and a fully autonomous agentic newsroom.

Riksdagsmonitor

๐Ÿ•ต๏ธ Political intelligence ยท ๐Ÿ” Democratic transparency ยท ๐Ÿค– AI-generated news ยท ๐Ÿ“Š 50+ years of evidence

Riksdagsmonitor monitors Sweden's Riksdag (Parliament), the Government (Regeringskansliet) and public agencies (Myndigheter) with structured intelligence techniques โ€” ACH, SWOT, PESTLE, STRIDE, political-risk scoring and OSINT/INTOP tradecraft โ€” applied to 349 current MPs, 2,494 historical politicians (1971โ€“2024), 3.5M+ votes and 109,000+ parliamentary documents.

An autonomous AI newsroom โ€” 14 agentic workflows, Claude Opus 4.8 (Claude Sonnet 4.6 for translation), zero human editors โ€” turns this evidence into publication-ready intelligence articles in 14 languages, every day.

OpenSSF Scorecard Quality Checks Dependency Review CodeQL JavaScript Testing Translation Validation Release OpenSSF Best Practices License ISMS ISO 27001 NIST CSF CIS Controls Ask DeepWiki


๐ŸŽฏ Mission

Strengthen Swedish democracy through systematic transparency.

Riksdagsmonitor exists to put rigorous, evidence-based political intelligence in the hands of every citizen, journalist, researcher and policymaker. We combine:

  • ๐Ÿ•ต๏ธ Structured intelligence tradecraft โ€” ACH, SWOT, PESTLE, STRIDE, political-risk scoring, OSINT/INTOP methodology, ICD-203 Key Judgments
  • ๐Ÿ” Democratic transparency โ€” every claim traceable to a primary source (dok_id, vote count, named MP, government document) or it does not get published
  • ๐Ÿค– AI-generated political news โ€” a fully autonomous newsroom turning open data into 14-language analysis articles, daily
  • ๐Ÿ“Š 50+ years of historical evidence โ€” 1971โ€“2024 voting records, document corpus, and party-evolution analytics from the Citizen Intelligence Agency (CIA) platform
  • โš–๏ธ Neutrality & GDPR by design โ€” equal treatment of all 8 parliamentary parties, public-data only, privacy-by-design architecture, explicit democratic safeguards

The platform is non-partisan, open-source (Apache-2.0), and operated under the Hack23 ISMS with full ISO 27001:2022 / NIST CSF 2.0 / CIS Controls v8.1 alignment. It does not collect user data, does not run ads, does not push narratives, and is architecturally designed so it cannot be weaponised for partisan influence.


๐ŸŒ Explore the Platform

Five flagship pages anchor the public site. Each is multilingual (14 languages), WCAG 2.1 AA accessible, SEO-optimised with JSON-LD structured data and hreflang alternates, and CSP-hardened with Subresource Integrity (SRI) on every CDN asset.

IconPageWhat it does
๐ŸŒ Live Platform โ€” riksdagsmonitor.com The public homepage and primary entry point. Front-loads the current coalition status (e.g. Tidรถ Agreement โ€” 176/349 seats, fragility indicators, CIA risk alerts), then deep-dives into the full intelligence stack:
  • ๐Ÿ—ณ๏ธ Election-cycle intelligence โ€” 40 years (1994โ€“2034)
  • ๐Ÿ›๏ธ Party performance & effectiveness โ€” 1990โ€“2026, 8 parties
  • ๐Ÿค Committee networks & productivity โ€” 15 committees
  • ๐Ÿ“Š Coalition & voting-pattern analysis
  • ๐ŸŒก๏ธ Seasonal activity with Z-score anomaly detection โ€” 2002โ€“2025
  • ๐Ÿ”ฎ Pre-election monitoring
  • ๐ŸŽ–๏ธ Ministry risk & influence
  • ๐Ÿšจ 45-rule ร— 349-MP risk heat map (live)
Updated daily at 03:00 CET.
๐Ÿ•ต๏ธ Political Intelligence Index The single canonical entry point for OSINT/INTOP researchers. Catalogues every methodology that governs analysis on the platform:
  • ๐Ÿ“ AI-Driven Analysis Guide
  • ๐Ÿ” OSINT Tradecraft Standards
  • โš ๏ธ Political Risk Methodology
  • ๐Ÿ’ผ Political SWOT Framework
  • ๐ŸŽฏ Political Threat Framework
  • ๐Ÿท๏ธ Political Classification Guide
  • ๐Ÿ—ณ๏ธ Electoral Domain Methodology
  • ๐Ÿงฌ Synthesis Methodology
  • ๐Ÿ“ˆ IMF & ๐ŸŒ World Bank Indicator Mappings
  • ๐Ÿ“ Reference-Quality Thresholds ยท โœ๏ธ Political Style Guide
Plus the full daily artifact catalogue (Family A baseline ยท Family B ยท Family C synthesis ยท Family D extension). Each item links straight to the source-of-truth on GitHub. Available in 14 languages (append _sv, _de, _ar, โ€ฆ).
๐Ÿ“ฐ AI-Generated News & Analysis The world's first fully AI-driven political-intelligence newsroom for parliamentary monitoring. 14 specialised agentic workflows (scheduled daily, also manually dispatchable, powered by Claude Opus 4.8 โ€” Claude Sonnet 4.6 for the translation workflow โ€” via GitHub Copilot Coding Agent) autonomously produce daily intelligence articles:
  • ๐ŸŒ… Committee reports ยท ๐Ÿ›๏ธ propositions ยท โœŠ motions ยท โ“ interpellations
  • ๐Ÿ”ฎ Week-ahead ยท ๐Ÿ“… month-ahead ยท ๐Ÿ” real-time monitor
  • ๐ŸŒ† Evening analysis ยท ๐Ÿ“Š weekly review ยท ๐Ÿ“ˆ monthly review
Source verification, multi-party balance and GDPR-compliant OSINT methodology baked in. Every article carries machine-readable provenance through JSON-LD NewsArticle.isBasedOn, links back to the analysis artifacts that produced it, and is published in 14 languages.
๐Ÿ“Š CIA Intelligence Dashboard Interactive Chart.js / D3.js intelligence dashboard powered by the Citizen Intelligence Agency (CIA) data products:
  • ๐Ÿ“‹ Overview metrics โ€” MPs, parties, risk rules, coalition seats
  • ๐Ÿšจ Risk alerts โ€” Critical / Major / Minor (last 90 days)
  • ๐Ÿ›๏ธ Party performance analysis
  • ๐Ÿ—ณ๏ธ Swedish Election 2026 predictions โ€” coalition scenarios & key factors
  • ๐Ÿ‘ฅ Top-10 most influential MPs โ€” network analysis
  • ๐Ÿ”ฅ Voting-patterns heat map
  • ๐Ÿค Committee network analysis
  • ๐ŸŽ–๏ธ Ministry performance
  • ๐Ÿ“Š Parliamentary demographics ยท ๐Ÿ“„ document activity ยท ๐Ÿ“‰ risk-score evolution
Local-first data loading with 1-hour cache, keyboard navigable, CSP-compliant.
๐Ÿ—บ๏ธ Sitemap (Human + Machine) Human-readable navigation of every page on the platform plus the machine-readable sitemap.xml and rss.xml feeds. Daily refreshed; honours robots.txt and search-engine indexing best practices.

๐ŸŒ 14 supported languages: English ยท Swedish ยท Danish ยท Norwegian ยท Finnish ยท German ยท French ยท Spanish ยท Dutch ยท Arabic (RTL) ยท Hebrew (RTL) ยท Japanese ยท Korean ยท Chinese.


๐Ÿค– AI-Generated Political Intelligence News

"While traditional newsrooms debate whether AI will replace journalists, Riksdagsmonitor already runs a fully autonomous political-intelligence newsroom โ€” 14 agentic workflows, 14 languages, zero human editors, and a publication schedule that would bankrupt any legacy outlet trying to keep up."

What makes it different

Traditional AI-generated news is shallow โ€” it rewrites press releases. Riksdagsmonitor's pipeline performs deep political-intelligence analysis before a single sentence of an article is written:

  • ๐Ÿ”Ž Source verification โ€” every claim traced to official Riksdag/Regering data via the riksdag-regering MCP server (32+ tools)
  • โš–๏ธ Multi-party balance โ€” algorithmic fairness across all 8 parliamentary parties, no editorial bias possible
  • ๐Ÿ“Š Quantitative rigor โ€” voting cohesion metrics, attendance scoring, legislative productivity indices, ICD-203 Key Judgments, 45-rule transparency scoring
  • ๐ŸŒ 14-language reach โ€” culturally adapted political analysis with RTL support (Arabic / Hebrew), not machine translation
  • ๐Ÿ›ก๏ธ GDPR-compliant OSINT โ€” only public parliamentary data; political opinions are processed under GDPR Art. 9(2)(e) (manifestly made public) / 9(2)(g) (substantial public interest)
  • ๐Ÿ”ญ Forward-look coverage โ€” week / month / quarter / year / election-cycle horizons with registry-driven horizon stratification (see analysis/article-types.json)
  • ๐Ÿšฆ Hard analysis gate โ€” every news workflow MUST produce 9 (single-type) or 14 (Tier-C) analysis artifacts on disk before article generation; the gate at .github/prompts/05-analysis-gate.md is non-negotiable
  • ๐Ÿงช Quality gates โ€” HTMLHint validation, link checking, accessibility (WCAG 2.1 AA) and translation parity in CI before publication

End-to-end pipeline

flowchart LR
  A[๐Ÿ“ฅ MCP + CIA + SCB + IMF<br/>data download] --> B[๐Ÿ“ Apply methodology<br/>analysis/methodologies]
  B --> C[๐Ÿ“‹ Populate templates<br/>analysis/templates]
  C --> D[๐Ÿ“‚ Write 9 or 14 artifacts<br/>analysis/daily/$DATE/$SUBFOLDER]
  D --> E{๐Ÿšฆ Analysis Gate<br/>prompts/05}
  E -- pass --> F[๐Ÿ“ฐ Aggregate โ†’ article.md<br/>scripts/aggregate-analysis.ts]
  E -- fail --> C
  F --> G[๐ŸŒ Sanitised HTML<br/>scripts/render-articles.ts]
  G --> H[๐ŸŒ Translate into<br/>12 other languages]
  H --> I[๐Ÿ”€ One PR per article type<br/>S3 + CloudFront deploy]
  style A fill:#0a0e27,stroke:#00d9ff,color:#e0e0e0
  style E fill:#dc3545,stroke:#b02a37,color:#fff
  style I fill:#1a1e3d,stroke:#ffbe0b,color:#e0e0e0

A new .md artifact written anywhere under analysis/daily/$DATE/$SUB/ is enough to publish an English + Swedish HTML article on the next CI build โ€” there is no manual scaffolding, no template fill-in, and no per-type generator class. The dedicated news-translate workflow then propagates to the remaining 12 languages out-of-band. See Article-Generation.md for the full agentic-workflow contract.

Autonomous publication schedule

Time (UTC)WorkflowCoverageFrequency
๐ŸŒ… 04:00Committee ReportsUtskottsbetรคnkanden analysis, voting breakdownsMonโ€“Fri
๐ŸŒ… 05:00PropositionsGovernment bills, legislative impact assessmentMonโ€“Fri
โ˜€๏ธ 06:00MotionsOpposition proposals, party-strategy decodingMonโ€“Fri
โ“ 07:00InterpellationsMinisterial accountability, evasion detectionMonโ€“Fri
๐Ÿ”ฎ 07:00Week AheadParliamentary calendar preview, agenda intelligenceFriday
๐Ÿ“… 08:00Month AheadStrategic outlook, coalition forecasting1st of month
๐Ÿ” 10:00 & 14:00 (Monโ€“Fri); 12:00 (Sat/Sun)Real-Time MonitorBreaking political developments, flash analysisMonโ€“Fri (ร—2) + weekends
๐ŸŒ 11:00 & 17:00 (Monโ€“Fri); 14:00 (Sat/Sun)Translate12 additional languages from EN/SV coresDaily
๐ŸŒ† 18:00 (16:00 Sat)Evening AnalysisDeep-dive intelligence synthesisMonโ€“Sat
๐Ÿ“Š 09:00Weekly ReviewWeek-in-review scorecard, party performanceSaturday
๐Ÿ“ˆ 10:00Monthly ReviewComprehensive monthly intelligence assessment28th of month

Authoritative schedules defined in .github/workflows/news-*.lock.yml โ€” see .github/workflows/README.md for the complete inventory.

Result: dozens of articles per week across 14 languages โ€” hundreds of localised intelligence products each month, generated autonomously with zero editorial intervention, every one of them auditable down to its source dok_id.


๐Ÿ•ต๏ธ Political Intelligence Methodology

Every analysis on the platform is governed by an explicit, version-controlled methodology. The full library is browseable at https://riksdagsmonitor.com/political-intelligence.html; the canonical sources live in analysis/.

LayerDocumentWhat you'll find
๐Ÿงญ Frameworkanalysis/README.mdArtifact taxonomy, 9-artifact / 14-artifact contract, on-disk daily layout
๐Ÿ“ Methodology libraryanalysis/methodologies/README.md11 methodology documents โ€” AI-Driven Analysis Guide ยท OSINT Tradecraft Standards ยท Political Risk Methodology ยท Political SWOT Framework ยท Political Threat Framework ยท Political Classification Guide ยท Electoral Domain Methodology ยท Synthesis Methodology ยท Per-Document & Per-Artifact Methodologies ยท Strategic Extensions (scenario / wildcard / long-horizon) ยท Structural Metadata ยท Political Style Guide
๐Ÿ“‹ Template libraryanalysis/templates/README.md23 templates โ€” 8 core single-type (T1โ€“T8) plus 15 extended / Tier-C (executive-brief, scenario-analysis, coalition-mathematics, election-2026, historical-parallels, comparative-international, devil's-advocate, intel-assessment / ICD-203 Key Judgments, โ€ฆ)
๐Ÿšฆ News-generation contract.github/prompts/README.md8 bounded-context prompt modules + Tier-C extension; the single blocking analysis gate
โš™๏ธ Workflow orchestration.github/workflows/README.md + WORKFLOWS.mdHow each news-*.md source compiles to a hardened .lock.yml with SHA-pinned actions, egress firewall (Squid + iptables) and five-layer safe-outputs
๐Ÿ” IMF integrationanalysis/imf/README.md + .github/aw/ECONOMIC_DATA_CONTRACT.mdMacro/fiscal/monetary/external context with T+5 projections; canonical pattern for every economic claim
๐Ÿ›๏ธ Statskontoret integrationanalysis/statskontoret/README.mdSwedish agency structure and central-government budget execution (รฅrsutfall / mรฅnadsutfall / tidsserier)
๐Ÿค– Specialist personas.github/agents/README.md14 persona agents incl. intelligence-operative, news-journalist, content-generator + 9 workflow-specialist agents + shared developer.instructions.md
๐Ÿง  Skills library.github/skills/README.md91 skills across 12 functional categories โ€” 11 political-intelligence, 5 journalism, 14 ISMS/security, 13 GitHub Agentic Workflows, โ€ฆ

Evidence standard

Every claim must tie to: a dok_id citation, a named actor, a vote count, or a primary-source URL. Generic statements without evidence are rejected by the analysis gate. AI is an accelerator โ€” never an excuse for shallow output.

AI-FIRST quality principle

Minimum 2 complete iterations for every analysis. Pass 1 produces the artifact; Pass 2 reads everything back and improves every section (stronger evidence, deeper analytic rigor, broader stakeholder coverage, quantified risk). Workflows that complete in under 75 % of their allocated time are treated as failed. See AGENTS.md ยงAI-FIRST.


๐Ÿ“Š Interactive Intelligence Dashboards

Five flagship Chart.js / D3.js dashboards on https://riksdagsmonitor.com/ (and the consolidated CIA Intelligence Dashboard):

#DashboardCoverageVisualisationsData
1๐ŸŒก๏ธ Seasonal Activity Patterns2002โ€“2025 quarterly (23+ years)Heat maps, time series, Z-score anomaly detection (|Z| โ‰ฅ 2.0)cia-data/seasonal/
2๐Ÿ‘ค Politician Dashboard349 current MPsTop-10 rankings, 45-rule risk profiles, influence metricscia-data/politician/
3๐Ÿ—ณ๏ธ Pre-Election MonitoringQ4 2023 โ†’ 2025Historical comparisons, election-year vs non-election Q4 patterns, early-warning indicator matrixcia-data/pre-election/
4๐Ÿ›๏ธ Party Performance & Effectiveness1990โ€“2026 (37 years, 8 parties)Effectiveness trends, comparative bars, coalition-alignment, momentum with P50/P90 percentilescia-data/party/
5๐Ÿšจ Anomaly Detection & Early Warning2002โ€“2026 (41 quarters)Timeline ยท Z-score distribution ยท type breakdown ยท severity heat map ยท recent-anomaly feedcia-data/seasonal/

Dashboard properties โ€” local-first data loading with 1-hour cache; WCAG 2.1 AA accessible (keyboard, screen reader, 4.5:1 contrast); 14-language; responsive 320 px โ†’ 1440 px+; CSP-compliant with SRI hashes (sha384) on all CDN resources.


๐Ÿ—ณ๏ธ Transparency Statistics

Live numbers (updated daily at 03:00 CET via update-cia-csv-data.yml):

MetricValueNote
๐Ÿ‘ฅ Current MPs349All active Members of Parliament
๐Ÿ“œ Historical politicians2,4941971โ€“2024 (50+ years)
๐Ÿ—ณ๏ธ Votes analysed3.5+ millionComprehensive voting-record corpus
๐Ÿ“„ Documents processed109,000+Parliamentary documents (motions, propositions, interpellations, โ€ฆ)
๐Ÿ›๏ธ Committee documents8,740Committee work tracked
โš ๏ธ Rule violations identified2,308Across 45 transparency rules
๐Ÿ‡ธ๐Ÿ‡ช Political parties8All Riksdag-represented parties
โฑ๏ธ CIA subsystems15anomaly ยท coalition ยท committee ยท distribution ยท election ยท election-cycle ยท ministry ยท parties ยท party ยท percentile ยท politician ยท pre-election ยท risk ยท seasonal ยท voting
๐Ÿ“ฐ News articles published2,669+ files under news/14 languages

Data source: extraction_summary_report.csv ยท cached in cia-data/production-stats.json (24 h freshness).


๐Ÿ”— Authoritative Data Sources

Riksdagsmonitor uses a provider-tiered data architecture, with each provider chosen for its area of strength.

TierProviderScopeAccess
๐Ÿ›๏ธ Parliamentary primaryRiksdagen Open DataDocuments, motions, votes, MPs, speeches, committeesriksdag-regering MCP server (32+ tools)
๐Ÿข Government primaryRegeringskanslietPropositions, SOU, Ds, directives, press releasesriksdag-regering MCP server
๐Ÿ“ˆ Primary economicIMF (Datamapper REST + SDMX 3.0)GDP, growth, unemployment, inflation, fiscal balance, debt, current account, bilateral trade, commodity prices, exchange rates, government spending by COFOG function โ€” with T+5 projectionsPure-TypeScript client scripts/imf-client.ts (intentionally non-MCP)
๐Ÿ‡ธ๐Ÿ‡ช Swedish ground truthSCB (PxWeb v2)Swedish monthly labour (AKU), monthly inflation (KPI), regional/municipal, budget executionscb MCP server (@jarib/pxweb-mcp@2.0.0, 1,200+ tables)
๐Ÿ›๏ธ StatskontoretStatskontoretAuthority count, dept grouping, leadership form, FTE / headcount, central-government budget outturnsscripts/statskontoret-client.ts
๐ŸŒ Non-economic residueWorld BankGovernance (WGI, source=75), environment, social/education residue, defence historicalsworld-bank MCP server (worldbank-mcp@1.0.1)
๐Ÿ—ณ๏ธ Election authorityValmyndighetenElection results, voter turnout, electoral statisticsPublic datasets
๐Ÿ’ฐ ESVEkonomistyrningsverketGovernment budget and spending dataPublic datasets
๐Ÿ•ต๏ธ Citizen Intelligence AgencyHack23/cia15 CIA subsystems consumed nightly via update-cia-csv-data.ymlJSON / CSV exports

Why this split โ€” IMF uses uniform SNA 2008 / GFSM 2014 / BPM6 methodology across countries (essential for cross-country comparison), publishes T+5 projections (essential for look-ahead workflows), and has fresher data than World Bank's economic indicators. World Bank remains canonical for the classes IMF does not publish (WGI governance, environment). SCB is the Swedish-specific ground-truth layer. Banned phrases (e.g. "the World Bank reports Swedish GDP growth of โ€ฆ") and vintage discipline (data > 6 months old โ†’ annotation required) are enforced by CI per .github/aw/ECONOMIC_DATA_CONTRACT.md v2.1.


๐Ÿ—๏ธ Technical Architecture

Full system architecture (C4 Context / Container / Component / Dynamic views) lives in ARCHITECTURE.md (v2.2).

Stack

  • Frontend โ€” Static HTML5 / CSS3 with TypeScript-built Chart.js / D3.js dashboards (no SPA framework, mobile-first, cyberpunk theme)
  • Language โ€” TypeScript 6.0.2 compatibility package (typescript) plus TypeScript 7.0.1-rc (typescript-7) running side-by-side while the migration is underway
  • Build โ€” Vite 8.1.3 (ES modules, code splitting, SRI via vite-plugin-sri-gen)
  • Visualisation โ€” Chart.js 4.5.1 + D3.js 7.9.0, hosted locally on CloudFront
  • Testing โ€” Vitest 4.1.10 (2,890 unit tests, 100 % pass rate, 70 % line coverage) + Cypress 15.18.1 (E2E)
  • Hosting โ€” AWS CloudFront + S3 dual-region (us-east-1 primary, eu-west-1 replica) via OIDC; GitHub Pages as DR fallback
  • CI/CD โ€” 50 GitHub Actions workflow files (22 standard .yml + 14 agentic .md sources + 14 compiled .lock.yml); SHA-pinned, step-security/harden-runner everywhere
  • Data Platform โ€” Citizen Intelligence Agency (CIA) Java/Spring Boot backend + 15 CIA subsystems
  • Runtime โ€” Node.js 26.x

Architecture documentation portfolio

Current StateFuture State
๐Ÿ—๏ธ Architecture๐Ÿš€ Future Architecture
๐Ÿ“Š Data Model๐Ÿ“Š Future Data Model
๐Ÿ”„ Flowcharts๐Ÿ”„ Future Flowcharts
๐Ÿ”„ State Diagrams๐Ÿ”„ Future State Diagrams
๐Ÿ—บ๏ธ Mindmap๐Ÿ—บ๏ธ Future Mindmap
๐Ÿ’ผ SWOT๐Ÿ’ผ Future SWOT

๐Ÿ” Security, Privacy & ISMS Compliance

Full controls in SECURITY_ARCHITECTURE.md ยท threat model in THREAT_MODEL.md ยท CRA conformity in CRA-ASSESSMENT.md.

Classification (per Hack23 Classification Framework)

DimensionLevelNote
๐Ÿ”’ Confidentiality๐ŸŸข PublicAll data intentionally disclosed (Swedish open data + website content)
โœ… Integrity๐ŸŸ  HighAutomated validation, GPG-signed commits, SLSA build provenance
๐ŸŸข Availability๐ŸŸ  High99.998 % design target (CloudFront 99.9 % SLA + multi-region S3 + GitHub Pages DR)
๐Ÿท๏ธ Privacy๐ŸŸ  Personal (public officials only)GDPR Art. 6(1)(e/f); Art. 9(2)(e/g) for political opinions; no end-user PII, no accounts, no ads, no tracking
โฑ๏ธ RTO / RPO1โ€“4 h / 4โ€“24 hAutomated multi-region failover, daily data refresh
๐Ÿ’ฐ Business impact๐ŸŸข Low (financial) ยท ๐ŸŸก Moderate (reputational)Open-source project, no revenue dependency

Compliance frameworks

  • ISO 27001:2022 โ€” 7 Annex A controls implemented ยท NIST CSF 2.0 โ€” 6 functions aligned ยท CIS Controls v8.1 โ€” 6 controls implemented
  • GDPR โ€” public-interest / legitimate-interest grounds for public-official data; political opinions under Art. 9(2)(e)/(g)
  • EU CRA โ€” self-assessment in CRA-ASSESSMENT.md
  • OpenSSF Best Practices โ€” Project #12069

Defence-in-depth highlights

MetricStatus
Risk level๐ŸŸข LOW (5.52 / 10.0 โ€” 99.7 % risk reduction)
HTML validationโœ… 0 errors (HTMLHint)
Dependenciesโœ… Dependabot clean
Secretsโœ… Secret Scanning enabled
Code scanningโœ… CodeQL active

๐Ÿ“ฆ npm Package

The platform's reusable shared utilities are published as riksdagsmonitor with SLSA build provenance.

npm install riksdagsmonitor

Includes โ€” Theme System (cyberpunk, WCAG AA) ยท Chart Factory (Chart.js with responsive breakpoints + keyboard nav) ยท Resilient Data Loader (retry, cache, CSV/JSON) ยท DOM utilities ยท Full TypeScript types ยท 12 dashboard modules ยท CIA intelligence modules.

import { getActiveThemeColors, BREAKPOINTS, getPartyColor } from 'riksdagsmonitor';
import { loadJSON, loadCSV, createDataSource } from 'riksdagsmonitor';
import { showLoadingState, formatNumber, debounce } from 'riksdagsmonitor';
import { createChart, initDashboardSection } from 'riksdagsmonitor/shared/chart-factory';
import { CIADataLoader } from 'riksdagsmonitor/cia/data-loader';
import { CIADashboardRenderer } from 'riksdagsmonitor/cia/visualizations';

Peer dependencies โ€” chart.js d3 papaparse (required for dashboards); chartjs-plugin-annotation (optional, loaded conditionally).


๐Ÿš€ Development

Prerequisites

Node.js โ‰ฅ 26 ยท npm โ‰ฅ 10 ยท Git with GPG signing ยท GitHub MFA + SSH keys.

Quick start

git clone git@github.com:Hack23/riksdagsmonitor.git
cd riksdagsmonitor
npm install
npm run dev          # Vite dev server with hot reload โ†’ http://localhost:8080

# Tests
npm test                 # Vitest unit (2,890 tests)
npm run test:coverage    # with coverage
npm run cypress:open     # E2E interactive
npm run e2e              # full E2E (build + preview + Cypress)

# Quality
npm run htmlhint         # HTML5 validation
npm run linkcheck        # link integrity (linkinator)

# Production
npm run build            # Vite production build โ†’ dist/
npm run preview          # http://localhost:4173

CI/CD

  • HTMLHint validation ยท Linkinator ยท Vitest (2,890 tests) ยท Cypress ยท Vite build ยท Dependency review ยท CodeQL ยท Secret scanning ยท Translation validation
  • Releases โ€” workflow_dispatch or v*.*.* tag โ†’ SBOM (SPDX) + SHA-256 + SLSA Build Provenance attestations + dual deployment (S3/CloudFront primary, GitHub Pages DR)
  • gh attestation verify riksdagsmonitor-vX.Y.Z.zip -R Hack23/riksdagsmonitor

See WORKFLOWS.md and RELEASE_PROCESS.md for the canonical reference.


๐Ÿค– GitHub Copilot โ€” Agents, Skills & Agentic Workflows

Riksdagsmonitor uses GitHub Copilot personas, skills and agentic workflows as first-class automation. Directory READMEs are the single source of truth; AGENTS.md and SKILLS.md are the long-form catalogs.

SurfaceCatalogCount
๐Ÿค– Custom agents.github/agents/README.md24 files (14 personas + 9 workflow-specialists + 1 shared developer-instructions)
๐Ÿง  Skills.github/skills/README.md91 skills across 12 functional categories
๐Ÿ“œ Prompt modules.github/prompts/README.md8 bounded-context modules + Tier-C extension
โš™๏ธ Workflows.github/workflows/README.md50 files (22 standard + 14 agentic sources + 14 compiled)
๐Ÿ”Œ MCP servers.github/copilot-mcp.json8 โ€” riksdag-regering, scb, world-bank, github (insiders), filesystem, memory, sequential-thinking, playwright

14 persona agents (assignable via assign_copilot_to_issue): security-architect ยท documentation-architect ยท quality-engineer ยท frontend-specialist ยท isms-compliance-manager ยท deployment-specialist ยท devops-engineer ยท intelligence-operative ยท news-journalist ยท content-generator ยท data-pipeline-specialist ยท data-visualization-specialist ยท task-agent ยท ui-enhancement-specialist.

9 workflow-specialist agents (.agent.md, invoked from workflows): agentic-workflows ยท ci-cleaner ยท contribution-checker ยท create-safe-output-type ยท custom-engine-implementation ยท grumpy-reviewer ยท interactive-agent-designer ยท technical-doc-writer ยท w3c-specification-writer.


๐Ÿ“– Documentation Index

Project documentation

Future planning

External


๐Ÿ”ฎ Future Roadmap (2026 โ†’ 2037)

From agentic news generation to AGI-powered democratic intelligence โ€” an 11-year evolution.

Detailed planning: FUTURE_WORKFLOWS.md ยท FUTURE_MINDMAP.md ยท FUTURE_ARCHITECTURE.md

%%{init: {"theme": "dark", "themeVariables": {"primaryColor": "#00d9ff", "primaryTextColor": "#e0e0e0", "primaryBorderColor": "#ff006e", "lineColor": "#ffbe0b", "secondaryColor": "#1a1e3d", "tertiaryColor": "#0a0e27"}}}%%
timeline
    title Riksdagsmonitor Evolution โ€” 2026 โ†’ 2037
    section Phase 3 โ€” Foundation (2026)
        Q1-Q2 : โœ… TypeScript migration ยท 14 agentic news workflows
              : โœ… 14 languages ยท S3 + GitHub Pages dual deploy
        Q3-Q4 : ๐Ÿ”„ CIA pipeline integration ยท predictive dashboards
    section Phase 4 โ€” Predictive Intelligence (2027โ€“2029)
        2027 : Real-time streams ยท ML election models ยท Nordic expansion (DK ยท NO ยท FI)
        2028 : Multi-modal (audio/video) ยท AI editorial board ยท self-healing pipelines
        2029 : Fully autonomous ยท expert-level analysis ยท API platform launch
    section Phase 5 โ€” Scale (2030โ€“2033)
        2030-2031 : EU-wide coverage (27 + EP) ยท sovereign-AI evaluation
        2032-2033 : Global parliamentary watch (100+ democracies) ยท every UN language ยท pre-AGI
    section Phase 6 โ€” AGI Era (2034โ€“2037)
        2034-2035 : AGI-enhanced intelligence ยท 195 parliaments ยท predictive governance
        2036-2037 : Transformative democracy platform ยท democratic safeguards architecture
YearAutomation assetsAI modelKey capability
202644 โ†’ 50Opus 4.8โ€“4.9๐Ÿค– Agentic news generation (current)
202750โ€“55Opus 5.x๐Ÿ”ฎ Predictive analytics & Nordic expansion
202855โ€“65Opus 6.x๐ŸŽ™๏ธ Multi-modal content
202965โ€“75Opus 7.x๐Ÿš€ Fully autonomous pipeline
2030โ€“203375โ€“100Opus 8โ€“10.x / pre-AGI๐ŸŒ EU โ†’ Global coverage
2034โ€“2037100โ€“120+AGI / post-AGIโšก Transformative democracy platform

Version numbers are illustrative โ€” actual products and paradigm shifts (quantum AI, neuromorphic computing) will vary. Architecture is designed for graceful adaptation while preserving democratic safeguards: human oversight maintained regardless of AI capability, anti-weaponisation by design, constitutional alignment encoded in platform architecture.


๐Ÿค Contributing

Contributions welcome under Hack23's secure-development standards.

  1. Fork the repository and create a descriptive feature branch
  2. GPG-sign every commit ยท enable MFA on your GitHub account
  3. Run quality checks locally (npm run htmlhint && npm test && npm run build)
  4. Submit a pull request with comprehensive description; address review feedback
  5. Never introduce security vulnerabilities; follow CONTRIBUTING.md and CODE_OF_CONDUCT.md

๐Ÿข About Hack23

Hack23 AB (Org.nr 559534-7807) โ€” Swedish cybersecurity and open-source intelligence consultancy.


๐Ÿ“œ License

Copyright ยฉ 2008โ€“2026 Hack23 AB (Org.nr 559534-7807). Licensed under the Apache License 2.0 โ€” see LICENSE.


๐Ÿ—ณ๏ธ Empower citizens ยท ๐Ÿ” Strengthen democratic accountability ยท ๐Ÿ•ต๏ธ Illuminate the political process