-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Labels
component:content-generationcomponent:newsenhancementEnhancementsEnhancementsnews-generationpriority-mediumMedium priorityMedium priorityriksdag-dataRiksdag-Regering MCP dataRiksdag-Regering MCP datasize-lLarge change (250-1000 lines)Large change (250-1000 lines)
Description
π Issue Type
Enhancement β Extend Month Ahead articles with strategic legislative forecasting and trend analysis
π― Objective
Enhance scripts/news-types/month-ahead.ts to go beyond basic calendar event listing into strategic legislative forecasting. Add deeper document analysis, committee pipeline tracking, budget cycle awareness, and cross-party legislative momentum analysis.
π Current State
- File:
scripts/news-types/month-ahead.ts(291 lines β smallest of all 8 article types) - REQUIRED_TOOLS:
get_calendar_events,search_dokument(conditional fallback) - Gap: Month ahead articles are calendar-driven but lack strategic depth β they list events but don't forecast legislative outcomes, track committee pipelines, or identify emerging policy trends
- Impact: Monthly previews read like expanded calendars rather than strategic intelligence briefs
π Desired State
- Month ahead articles include strategic legislative forecasts
- Committee report pipeline tracking (what's coming through which committee)
- Budget cycle awareness (flag critical fiscal deadlines)
- Cross-party legislative momentum (which parties are pushing which policies)
- Historical comparison (same month in previous parliamentary terms)
- Identification of policy convergence/divergence trends
- Enhanced template with "Strategic Outlook" and "Legislative Pipeline" sections
π§ Implementation Approach
1. Add legislative pipeline tracking (~100 lines)
// Track propositions and motions in committee pipeline
const pendingBetankanden = await mcpClient.call('get_betankanden', {
rm: currentRiksmote,
limit: 20
});
const pendingPropositioner = await mcpClient.call('get_propositioner', {
rm: currentRiksmote,
limit: 15
});- Map propositions/motions to their committee processing stage
- Estimate when key items will reach plenary voting
2. Add trend analysis (~80 lines)
// Analyze motion volume and topic distribution
const recentMotions = await mcpClient.call('get_motioner', {
rm: currentRiksmote,
limit: 50
});- Identify which policy domains are most active
- Track party-by-party legislative activity levels
- Flag unusual patterns (surge in motions, committee bottlenecks)
3. Budget cycle integration (~40 lines)
- Detect proximity to key fiscal milestones (spring/autumn budget, economic forecasts)
- Highlight finance committee deadlines
- Flag EU-related fiscal coordination events
4. Update REQUIRED_TOOLS
Add newly integrated tools: get_betankanden, get_propositioner, get_motioner
5. Enhanced article templates
- Add "Strategic Legislative Outlook" section
- Add "Committee Pipeline" summary
- Add "Policy Trends" analysis
- Update all 14 language templates
π€ Recommended Agent
code-quality-engineer β TypeScript implementation extending the smallest article generator
β Acceptance Criteria
- Legislative pipeline tracking implemented (committee β plenary flow)
- Trend analysis identifies active policy domains
- Budget cycle awareness flags fiscal milestones
- REQUIRED_TOOLS updated to include newly integrated tools
- Article templates include "Strategic Outlook" and "Pipeline" sections
- All 14 language templates updated
- Prospective tone maintained (forecasting, not reporting)
- Article quality validation passes
- No regression in existing month-ahead generation
- File grows from 291 lines to ~500 lines (proportional to other article types)
π References
- File:
scripts/news-types/month-ahead.ts(entire file β smallest article type) - MCP Tools:
get_betankanden,get_propositioner,get_motioner,get_calendar_events - Pattern reference:
scripts/news-types/weekly-review.ts(full enrichment pipeline example) - Content generators:
scripts/data-transformers/content-generators.ts - Policy analysis:
scripts/data-transformers/policy-analysis.ts
Reactions are currently unavailable
Metadata
Metadata
Labels
component:content-generationcomponent:newsenhancementEnhancementsEnhancementsnews-generationpriority-mediumMedium priorityMedium priorityriksdag-dataRiksdag-Regering MCP dataRiksdag-Regering MCP datasize-lLarge change (250-1000 lines)Large change (250-1000 lines)