Skip to content

Latest commit

 

History

History
210 lines (186 loc) · 10.7 KB

File metadata and controls

210 lines (186 loc) · 10.7 KB
name News: EU Parliament Committee Reports — Unified
description Generates a single PR containing analysis artifacts and the rendered committee-reports article (Stages A → B → C → D → E in one workflow).
strict false
checkout
fetch-depth
1
true
schedule workflow_dispatch
cron
0 4 * * 1-5
permissions
copilot-requests contents issues pull-requests actions discussions security-events
write
read
read
read
read
read
read
timeout-minutes 60
max-turns 500
max-ai-credits 1000
imports
.github/agents/news-generation.agent.md
shared/config/news-common-settings.md
shared/config/news-safe-outputs-domains.md
shared/config/news-safe-outputs-head.md
uses with
shared/config/news-tools.md
slug
committee-reports
uses with
shared/config/news-pat-pr-fallback.md
slug workflowName
committee-reports
News: EU Parliament Committee Reports — Unified
shared/mcp/news-mcp-servers.md
shared/prompts/news-unified-runtime.md
uses with
shared/prompts/news-unified-stages.md
slug
committee-reports
concurrency
group cancel-in-progress
news-committee-reports
true
safe-outputs
max-patch-size max-patch-files report-failure-as-issue create-pull-request dispatch-workflow
10240
200
false
github-token title-prefix labels draft expires allowed-base-branches max if-no-changes fallback-as-issue auto-close-issue excluded-files
${{ secrets.COPILOT_MCP_GITHUB_PERSONAL_ACCESS_TOKEN || secrets.GITHUB_TOKEN }}
[news]
agentic-news
analysis-data
type:committee-reports
false
14d
main
1
warn
true
false
**/*.lock
node_modules/**
.github/workflows/*.lock.yml
analysis/**/data/**
workflows max
news-translate
1
steps
name uses with
Setup Node.js
actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f
node-version
26
name run
Install dependencies
npm ci --prefer-offline --no-audit
name run
Build TypeScript
npm run build
name run
Copy mermaid + chart vendor assets
npm run copy-vendor
name run
Pre-fetch EP feeds (deterministic Stage A)
bash scripts/prefetch-ep-feeds.sh committee-reports committee-documents procedures events documents adopted-texts
engine
id model
copilot
claude-opus-4.8

📰 EU Parliament Committee Reports — Unified Workflow

🔖 Workflow Parameters

Parameter Value
ARTICLE_TYPE_SLUG committee-reports
Family Unified (Stages A → B → C → D → E in one workflow)
Data window last 7 days
Primary feeds get_committee_documents, get_committee_documents_feed, get_procedures_feed, get_events_feed with timeframe: "one-week".
Stage A budget ≤ 4–5 min (per article-horizons.ts)
Stage B budget (2 passes) 22–28 min — HARD CEILING per article-horizons.ts (do not exceed the per-slug ceiling on Stage B even if Pass 2 still has shallow sections; force GATE_RESULT=ANALYSIS_ONLY instead)
Stage C budget (gate + optional Pass 3) ≤ 4 min; stop repair diagnostics at minute 32 and ship ANALYSIS_ONLY if still not GREEN
Stage D budget ≤ 2 min (deterministic)
Stage E budget (commit + single PR) ≤ 2 min
Stage C exit tripwire minute 36 elapsed (long-horizon prospective: 39; long-horizon retrospective: 38; electoral: 42) — the decision threshold for forcing GATE_RESULT=ANALYSIS_ONLY and (if late) skipping Stage D so the run can still reach the PR call. Per-slug stage ceilings live in src/config/article-horizons.ts; the tripwire backstops any per-stage overrun. Note: Stage D + E run after this tripwire, between the Stage C exit and the PR-call deadline.
Hard PR-call deadline minute ≤ 45 elapsed (target ≤ 42) — deadline for the single safe-outputs create_pull_request call. Note: engine.mcp.session-timeout is intentionally NOT set — gh-aw v0.71.3 advertises this field but the bundled gateway image (v0.3.1) rejects it; the agent must finish within the 60-min timeout-minutes cap regardless.
Hard safety cap 60-min timeout-minutes
PR rule Exactly one [news] PR at end of run

🎯 Article-Type Specifics

  • Long-horizon stage helpers: see .github/prompts/10-horizon-stage-helpers.md for the registry-driven Stage-A/B/C contract.
  • Ground every claim in a named committee + document ID (e.g. ENVI draft report on directive 2025/0042(COD)).
  • Include existing/committee-productivity.md in the analysis set.

🧯 Committee-reports invocation-cap guard (run #25715099069): Copilot currently enforces a 100 model invocation cap per agent session; this workflow previously hit that cap while repeatedly inspecting validator output and source code during Stage C. For committee-reports, Stage C therefore has a local repair cutoff at minute 32 elapsed (four minutes before the standard minute-36 Stage C exit tripwire). At the start of each Stage C boundary — before the first validator run, after the first RED result, and after any Pass 3 edits — recompute ELAPSED_MIN. If ELAPSED_MIN ≥ 32, set GATE_RESULT=ANALYSIS_ONLY, emit the ANALYSIS_ONLY gate line, skip all remaining validator/debug/source-inspection commands, and proceed directly to Stage E. Stage C may run the validator at most twice total: one initial run, one post-Pass-3 rerun. Never use extra grep, sed, node, or source-code probes to interpret validator failures inside Stage C; use only the validator output already produced. A timely analysis-only PR is preferred over exhausting the invocation cap before the PR call.

Stage A — Data Collection (Ref: 01, 07)

Run the canonical gateway block from 08-infrastructure.md §4. Source scripts/mcp-setup.sh, then scripts/wb-mcp-probe.sh and scripts/imf-mcp-probe.sh. Collect EP feed data first; fall back to direct endpoints on failure. Deep-fetch up to 10 procedures / voting records / meeting decisions into ${ANALYSIS_DIR}/data/. Target ≤ 4 min.