Skip to content

Commit 0f977a6

Browse files
authored
Merge pull request #1830 from Hack23/main-00640c50f12b5c30
🔴 Breaking 1705: Svantesson Tables Spring 2026 Fiscal Blueprint + Strömmer Youth Crime Laws — 2026-04-18
2 parents 7af654f + 440cd25 commit 0f977a6

34 files changed

Lines changed: 2109 additions & 56 deletions

.github/workflows/news-article-generator.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ bash({ command: "..." }) // ← WRONG: missing description
334334
3. Safe output tools are **always in your tool list**. NEVER search for them via bash.
335335
4. **NEVER** write your own MCP HTTP/JSON-RPC client. Use the scripts or direct tool calls only.
336336
5. Exiting without calling a safe output tool = workflow failure.
337-
6. **NEVER** call `safeoutputs___noop` because articles already exist — the full deep political analysis phase (15-20 minutes) MUST always run. Analysis is the primary output.
337+
6. **🚨 FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum) **MUST** be complete **BEFORE** creating or updating any article HTML. Articles **MUST** be (re)generated/updated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Do **NOT** call `safeoutputs___noop` because articles already exist — the full analysis phase MUST always run. Analysis is the primary output. Violations = REJECTED PR (see PR #1705 comment audit, 2026-04-18).
338338

339339
## 🧠 Repo Memory
340340

.github/workflows/news-committee-reports.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -525,6 +525,8 @@ get_betankanden({ rm: <calculated riksmöte>, limit: 20 })
525525
## Generation Steps
526526

527527
### Step 1: Check Existing Articles (Analysis Always Runs)
528+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
529+
528530
Check if committee-reports articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
529531

530532
### Step 2: Query MCP for Committee Reports

.github/workflows/news-evening-analysis.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -280,6 +280,7 @@ You are the **Evening Political Analyst** for Riksdagsmonitor. Generate comprehe
280280
3. **🚨 NEVER search for safe output tools via bash.** `safeoutputs___create_pull_request`, `safeoutputs___noop`, `safeoutputs___missing_tool`, and `safeoutputs___missing_data` are **always available as direct tool calls** in your tool list. NEVER run `ls /tmp/gh-aw/`, `ls /home/runner/.copilot/`, or any bash command to "find" them.
281281
4. **NEVER** write your own MCP HTTP/JSON-RPC client. Use the scripts or direct tool calls only.
282282
5. Exiting without calling a safe output tool = **workflow failure**. If anything goes wrong at any point, call `safeoutputs___noop` immediately.
283+
6. **🚨 FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** be complete **BEFORE** creating or updating any article HTML. Articles **MUST** be (re)generated/updated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Analysis is the primary output and must execute every run. Violations = REJECTED PR (see PR #1705 comment audit, 2026-04-18).
283284

284285
## 🧠 Repo Memory
285286

.github/workflows/news-interpellations.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,6 +548,8 @@ get_interpellationer({ rm: <calculated riksmöte>, limit: 20 })
548548
## Generation Steps
549549

550550
### Step 1: Check Existing Articles (Analysis Always Runs)
551+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
552+
551553
Check if interpellation-debates articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
552554

553555
### Step 2: Query MCP

.github/workflows/news-month-ahead.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,8 @@ search_regering({ dateFrom: today, dateTo: nextMonth, limit: 10 })
450450
## Generation Steps
451451

452452
### Step 1: Check Existing Articles (Analysis Always Runs)
453+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
454+
453455
Check if month-ahead articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
454456

455457
### Step 2: Query MCP

.github/workflows/news-monthly-review.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,8 @@ analyze_g0v_by_department({ dateFrom: lastMonth, dateTo: today })
448448
## Generation Steps
449449

450450
### Step 1: Check Existing Articles (Analysis Always Runs)
451+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
452+
451453
Check if monthly-review articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
452454

453455
### Step 2: Query MCP

.github/workflows/news-motions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -543,6 +543,8 @@ get_motioner({ rm: <calculated riksmöte>, limit: 20 })
543543
## Generation Steps
544544

545545
### Step 1: Check Existing Articles (Analysis Always Runs)
546+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
547+
546548
Check if motions articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
547549

548550
### Step 2: Query MCP

.github/workflows/news-propositions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -534,6 +534,8 @@ get_propositioner({ rm: <calculated riksmöte>, limit: 20 })
534534
## Generation Steps
535535

536536
### Step 1: Check Existing Articles (Analysis Always Runs)
537+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
538+
537539
Check if propositions articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
538540

539541
### Step 2: Query MCP

.github/workflows/news-realtime-monitor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ You are the **Real-Time Political Monitor** for Riksdagsmonitor. Detect signific
281281
3. Safe output tools are **always in your tool list**. NEVER search for them via bash.
282282
4. **NEVER** write your own MCP HTTP/JSON-RPC client. Use the scripts or direct tool calls only.
283283
5. Exiting without calling a safe output tool = workflow failure.
284-
6. **ALWAYS** run the full deep political analysis phase (15-20 minutes) before deciding on noop. Analysis is the primary output and must execute every run.
284+
6. **🚨 FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum) **MUST** be complete **BEFORE** creating or updating any article HTML. Articles **MUST** be (re)generated/updated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. This also applies before deciding on `noop`. Analysis is the primary output and must execute every run. Violations = REJECTED PR (see PR #1705 comment audit, 2026-04-18).
285285

286286
## 🧠 Repo Memory
287287

.github/workflows/news-week-ahead.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,8 @@ get_calendar_events({ from: today, tom: nextWeek, limit: 100 })
448448
## Generation Steps
449449

450450
### Step 1: Check Existing Articles (Analysis Always Runs)
451+
🚨 **FULL ANALYSIS BEFORE ANY ARTICLE (BLOCKING)**: The complete deep political analysis phase following [`analysis/methodologies/ai-driven-analysis-guide.md`](../../analysis/methodologies/ai-driven-analysis-guide.md) (Rule 0 two-pass iteration + Rules 6–8 depth tiers, 15 min Pass 1 + 7 min Pass 2 minimum, ALL 9 required artifacts) **MUST** complete **BEFORE** any article HTML is created or updated. Articles MUST be (re)generated from the improved Pass 2 analysis — never from Pass 1 stubs, never from scripts alone, never skipping Pass 2. Violations = REJECTED PR (PR #1705 comment audit, 2026-04-18).
452+
451453
Check if week-ahead articles already exist for the target date. If they do, skip article generation but **ALWAYS run the full deep political analysis phase** — analysis is the primary output and must execute on every run regardless of article existence.
452454

453455
### Step 2: Query MCP

0 commit comments

Comments
 (0)