🔴 Breaking: Sweden unveils sweeping security and justice reforms#582
🔴 Breaking: Sweden unveils sweeping security and justice reforms#582
Conversation
Government files 10 major propositions in one week covering deportation rules, psychological violence criminalisation, public assembly security, civilian preparedness, and social insurance reform. Article generated in all 14 languages from live MCP data. Sources: riksdag-regering-mcp (search_regering, get_propositioner) Type: breaking Languages: en,sv,da,no,fi,de,fr,es,nl,ar,he,ja,ko,zh Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This pull request introduces a breaking news article about Swedish security and justice reforms, generated from live MCP data sources. The PR creates 14 language versions of the article covering major propositions filed by the Kristersson government, including deportation rule tightening, psychological violence criminalization, public assembly security, and civilian preparedness reforms.
Changes:
- Generation of 14 multi-language HTML news articles (2026-02-26-breaking-security-reforms-{lang}.html) from real-time parliamentary data
- Updated metadata tracking file (last-generation.json) with new article generation timestamp and data sources
- Implementation of complete RTL support for Arabic and Hebrew versions
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| news/metadata/last-generation.json | Updated metadata tracking with new timestamp (2026-02-26T12:05:00.000Z), article count (14), and MCP data sources |
| news/2026-02-26-breaking-security-reforms-en.html | English master article with comprehensive metadata, schema.org structured data, and full hreflang support |
| news/2026-02-26-breaking-security-reforms-sv.html | Swedish translation with complete proposition list and extended political analysis |
| news/2026-02-26-breaking-security-reforms-da.html | Danish translation ( |
| news/2026-02-26-breaking-security-reforms-no.html | Norwegian translation ( |
| news/2026-02-26-breaking-security-reforms-fi.html | Finnish translation ( |
| news/2026-02-26-breaking-security-reforms-de.html | German translation with properly localized proposition descriptions |
| news/2026-02-26-breaking-security-reforms-fr.html | French translation with properly localized content |
| news/2026-02-26-breaking-security-reforms-es.html | Spanish translation with properly localized content |
| news/2026-02-26-breaking-security-reforms-nl.html | Dutch translation with properly localized content |
| news/2026-02-26-breaking-security-reforms-ar.html | Arabic translation with RTL support (dir="rtl") |
| news/2026-02-26-breaking-security-reforms-he.html | Hebrew translation with RTL support (dir="rtl") |
| news/2026-02-26-breaking-security-reforms-ja.html | Japanese translation with properly localized content |
| news/2026-02-26-breaking-security-reforms-ko.html | Korean translation with properly localized content |
| news/2026-02-26-breaking-security-reforms-zh.html | Chinese translation with properly localized content |
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | ||
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | ||
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | ||
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | ||
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> |
There was a problem hiding this comment.
The "Central Propositions" section contains untranslated English text in the Danish version. All list items (lines 118-122) should be translated to Danish but currently remain in English. This creates an inconsistent user experience.
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> | |
| <li><strong>Prop. 2025/26:133</strong> — Styrket sikkerhed ved offentlige forsamlinger</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Straffebestemmelse om psykisk vold</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Beskyttelse af civile under forhøjet beredskab</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Migrationsregler for forskere; tiltag mod misbrug</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Reform af adgangskrav til socialforsikring</li> |
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | ||
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | ||
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | ||
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | ||
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> |
There was a problem hiding this comment.
The "Key Propositions" section contains untranslated English text in the Norwegian version. All list items (lines 118-122) should be translated to Norwegian but currently remain in English. This affects the article's consistency and user experience.
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> | |
| <li><strong>Prop. 2025/26:133</strong> — Styrket sikkerhet ved offentlige sammenkomster</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Straffebestemmelse om psykisk vold</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Sivilt vern under forhøyet beredskap</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Migrasjonsregler for forskere; tiltak mot misbruk</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Reform av kvalifikasjonsregler i trygdesystemet</li> |
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | ||
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | ||
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | ||
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | ||
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> |
There was a problem hiding this comment.
The "Key Propositions" section contains untranslated English text in the Finnish version. All list items (lines 118-122) should be translated to Finnish but currently remain in English. This affects user experience for Finnish-speaking readers who would expect the entire article to be in Finnish.
| <li><strong>Prop. 2025/26:133</strong> — Strengthened security at public assemblies</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Criminal provision for psychological violence</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Civilian protection during heightened preparedness</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Migration rules for researchers; anti-abuse measures</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Social insurance qualification reform</li> | |
| <li><strong>Prop. 2025/26:133</strong> — Vahvistettu turvallisuus yleisissä kokoontumistilaisuuksissa</li> | |
| <li><strong>Prop. 2025/26:138</strong> — Rikoslain säännös henkisestä väkivallasta</li> | |
| <li><strong>Prop. 2025/26:142</strong> — Siviilien suojelu kohonneen valmiuden aikana</li> | |
| <li><strong>Prop. 2025/26:146</strong> — Tutkijoiden maahanmuuttosäännöt ja väärinkäytösten estotoimet</li> | |
| <li><strong>Prop. 2025/26:136</strong> — Sosiaalivakuutuksen kelpoisuusehtojen uudistus</li> |
|
@copilot open a new pull request to apply changes based on the comments in this thread |
…nish Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
fix: translate proposition descriptions in Danish, Norwegian, and Finnish news articles
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
| "timestamp": "2026-02-26T12:05:00.000Z", | ||
| "type": "realtime-monitor", | ||
| "events_detected": [ | ||
| { | ||
| "type": "propositions_batch", | ||
| "type": "government_propositions", | ||
| "significance": "HIGH", | ||
| "count": 10, | ||
| "description": "Government submitted 10 propositions covering defence, security, welfare reform, migration", | ||
| "documents": ["2025/26:142", "2025/26:133", "2025/26:138", "2025/26:136", "2025/26:146", "2025/26:134", "2025/26:135", "2025/26:131", "2025/26:127", "2025/26:125"] | ||
| "description": "Ten major propositions filed in one week including deportation rules, psychological violence criminalisation, public assembly security, civilian preparedness", | ||
| "date_range": "2026-02-23 to 2026-02-25" | ||
| }, | ||
| { | ||
| "type": "interpellation", | ||
| "type": "press_conference", | ||
| "significance": "HIGH", | ||
| "count": 1, | ||
| "description": "Interpellation on Sweden EU budget contribution 60% increase", | ||
| "documents": ["2025/26:357"] | ||
| "description": "Government press conference on stricter deportation rules (lagrådsremiss)", | ||
| "date": "2026-02-25" | ||
| }, | ||
| { | ||
| "type": "foreign_policy", | ||
| "significance": "MEDIUM", | ||
| "description": "Ukraine 4th anniversary rally + 230M SEK humanitarian aid", | ||
| "date": "2026-02-24" | ||
| } | ||
| ], | ||
| "articles_generated": { | ||
| "slug": "government-legislative-package", | ||
| "languages": ["en", "sv", "da", "no", "fi", "de", "fr", "es", "nl", "ar", "he", "ja", "ko", "zh"], | ||
| "language_count": 14, | ||
| "article_type": "breaking" | ||
| }, | ||
| "mcp_data_source": { | ||
| "status": "live", | ||
| "sources": ["riksdagen", "regeringen"], | ||
| "accessed_at": "2026-02-25T18:50:42Z" | ||
| }, | ||
| "next_check": "2026-02-26T10:00:00Z" | ||
| "articles_generated": 14, | ||
| "languages": ["en", "sv", "da", "no", "fi", "de", "fr", "es", "nl", "ar", "he", "ja", "ko", "zh"], | ||
| "slug": "2026-02-26-breaking-security-reforms", |
There was a problem hiding this comment.
This changes the schema of news/metadata/last-generation.json (removing fields like generated_at/workflow/run_id and restructuring articles_generated/mcp_data_source). If any workflow/scripts/tools still rely on the previous keys, this will silently break them. Consider keeping the previous keys as backward-compatible aliases (e.g., keep generated_at alongside timestamp, keep workflow/run_id) or version the schema / write realtime-monitor metadata to a different file to avoid collisions with other generators.
|
@copilot open a new pull request to apply changes based on the comments in this thread |
Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
fix: restore backward-compatible fields in last-generation.json
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
| <link rel="alternate" hreflang="en" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-en.html"> | ||
| <link rel="alternate" hreflang="sv" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-sv.html"> | ||
| <link rel="alternate" hreflang="da" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-da.html"> | ||
| <link rel="alternate" hreflang="nb" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-no.html"> |
There was a problem hiding this comment.
Norwegian language codes are inconsistent within this article: the <link rel="alternate"> uses hreflang="nb" for the Norwegian page, but the language switcher uses hreflang="no" (and the Norwegian page itself uses lang="no"). This can confuse SEO/hreflang resolution; use a single code consistently (either no everywhere or nb everywhere) across alternates and the language switcher for this article set.
| <link rel="alternate" hreflang="nb" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-no.html"> | |
| <link rel="alternate" hreflang="no" href="https://riksdagsmonitor.com/news/2026-02-26-breaking-security-reforms-no.html"> |
| "timestamp": "2026-02-26T12:05:00.000Z", | ||
| "generated_at": "2026-02-26T12:05:00.000Z", | ||
| "workflow": "news-realtime-monitor", | ||
| "run_id": "22411005874", | ||
| "run_id": null, | ||
| "type": "realtime-monitor", | ||
| "events_detected": [ | ||
| { | ||
| "type": "propositions_batch", | ||
| "type": "government_propositions", | ||
| "significance": "HIGH", | ||
| "count": 10, | ||
| "description": "Government submitted 10 propositions covering defence, security, welfare reform, migration", | ||
| "documents": ["2025/26:142", "2025/26:133", "2025/26:138", "2025/26:136", "2025/26:146", "2025/26:134", "2025/26:135", "2025/26:131", "2025/26:127", "2025/26:125"] | ||
| "description": "Ten major propositions filed in one week including deportation rules, psychological violence criminalisation, public assembly security, civilian preparedness", | ||
| "date_range": "2026-02-23 to 2026-02-25" | ||
| }, | ||
| { | ||
| "type": "interpellation", | ||
| "type": "press_conference", | ||
| "significance": "HIGH", | ||
| "count": 1, | ||
| "description": "Interpellation on Sweden EU budget contribution 60% increase", | ||
| "documents": ["2025/26:357"] | ||
| "description": "Government press conference on stricter deportation rules (lagrådsremiss)", | ||
| "date": "2026-02-25" | ||
| }, | ||
| { | ||
| "type": "foreign_policy", | ||
| "significance": "MEDIUM", | ||
| "description": "Ukraine 4th anniversary rally + 230M SEK humanitarian aid", | ||
| "date": "2026-02-24" | ||
| } | ||
| ], | ||
| "articles_generated": { | ||
| "slug": "government-legislative-package", | ||
| "languages": ["en", "sv", "da", "no", "fi", "de", "fr", "es", "nl", "ar", "he", "ja", "ko", "zh"], | ||
| "language_count": 14, | ||
| "article_type": "breaking" | ||
| }, | ||
| "articles_generated": 14, | ||
| "languages": ["en", "sv", "da", "no", "fi", "de", "fr", "es", "nl", "ar", "he", "ja", "ko", "zh"], | ||
| "slug": "2026-02-26-breaking-security-reforms", | ||
| "data_sources": [ | ||
| "riksdag-regering-mcp: get_sync_status", | ||
| "riksdag-regering-mcp: search_regering", | ||
| "riksdag-regering-mcp: get_propositioner", | ||
| "riksdag-regering-mcp: search_voteringar", | ||
| "riksdag-regering-mcp: search_dokument", | ||
| "riksdag-regering-mcp: get_calendar_events" | ||
| ], | ||
| "next_check": "2026-02-26T14:00:00.000Z", |
There was a problem hiding this comment.
news/metadata/last-generation.json no longer matches the documented last-generation.json schema (e.g., missing generated, errors, types, status fields described in news/metadata/README.md). If any workflow/script parses these fields for gating or reporting, this will break; consider keeping the documented keys (even if additional realtime-monitor fields are added) or updating consumers and the README in the same PR.
|
@copilot open a new pull request to apply changes based on the comments in this thread |
…ields Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
fix: normalize Norwegian hreflang to `no` and align last-generation.json with documented schema
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
🔴 Breaking News: Sweeping Security & Justice Reforms
Summary
The Swedish Government has filed 10 major propositions in a single week (Feb 23-25, 2026), representing the largest legislative push of the current parliamentary session. Key measures include:
Articles Generated
14 language versions generated from live MCP data (riksdag-regering-mcp):
2026-02-26-breaking-security-reforms-en.html2026-02-26-breaking-security-reforms-sv.html2026-02-26-breaking-security-reforms-da.html2026-02-26-breaking-security-reforms-no.html2026-02-26-breaking-security-reforms-fi.html2026-02-26-breaking-security-reforms-de.html2026-02-26-breaking-security-reforms-fr.html2026-02-26-breaking-security-reforms-es.html2026-02-26-breaking-security-reforms-nl.html2026-02-26-breaking-security-reforms-ar.html2026-02-26-breaking-security-reforms-he.html2026-02-26-breaking-security-reforms-ja.html2026-02-26-breaking-security-reforms-ko.html2026-02-26-breaking-security-reforms-zh.htmlQuality Checks
Data Sources
search_regering— Government documents (primary)get_propositioner— Parliamentary propositionssearch_voteringar— Voting recordssearch_dokument— Document searchget_sync_status— MCP health checkWorkflow: Real-time monitor | Significance: HIGH | Duration: ~20 min