fix: remove engine.mcp.session-timeout from all agentic workflows (MCP Gateway v0.3.1 incompatibility)#2192
Merged
Merged
Conversation
Contributor
🏷️ Automatic Labeling SummaryThis PR has been automatically labeled based on the files changed and PR metadata. Applied Labels: size-xs Label Categories
For more information, see |
Contributor
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
…0.3.1 incompatibility Agent-Logs-Url: https://github.com/Hack23/riksdagsmonitor/sessions/9833d187-c54c-4f2c-ac0c-60d789688f7a Co-authored-by: pethers <1726836+pethers@users.noreply.github.com>
Contributor
🔍 Lighthouse Performance Audit
📥 Download full Lighthouse report Budget Compliance: Performance budgets enforced via |
Copilot
AI
changed the title
[WIP] Debug workflow failure for News: Year Ahead
fix: remove engine.mcp.session-timeout from all agentic workflows (MCP Gateway v0.3.1 incompatibility)
May 2, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Removes engine.mcp.session-timeout from all agentic news workflows to restore compatibility with MCP Gateway v0.3.1, which rejects the compiled sessionTimeout property during gateway startup.
Changes:
- Removed
engine.mcp.session-timeout(and the emptyengine.mcpblock) from all 14news-*.mdworkflow sources. - Removed
sessionTimeoutfrom the embedded MCP gateway JSON configs in all 14 compilednews-*.lock.ymlworkflows (and fixed JSON trailing commas). - Updated workflow documentation (
.github/workflows/README.md,.github/copilot-instructions.md) to reflect the removal and keepalive strategy.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/news-committee-reports.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-committee-reports.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-election-cycle.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-election-cycle.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-evening-analysis.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-evening-analysis.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-interpellations.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-interpellations.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-month-ahead.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-month-ahead.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-monthly-review.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-monthly-review.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-motions.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-motions.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-propositions.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-propositions.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-quarter-ahead.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-quarter-ahead.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-realtime-monitor.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-realtime-monitor.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-translate.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-translate.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-week-ahead.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-week-ahead.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-weekly-review.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-weekly-review.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/news-year-ahead.md | Removes engine.mcp.session-timeout from workflow frontmatter; updates keepalive/time-budget wording. |
| .github/workflows/news-year-ahead.lock.yml | Removes sessionTimeout from gateway config JSON and fixes trailing comma. |
| .github/workflows/README.md | Documents removal of engine.mcp.session-timeout and keeps keepalive guidance current. |
| .github/copilot-instructions.md | Updates canonical workflow engine snippet to remove engine.mcp.session-timeout requirement. |
| | `tools.playwright` | enabled in `news-evening-analysis` + `news-realtime-monitor` only | Live HTML validation for tier-C aggregation runs | | ||
| | `features.mcp-gateway` | `true` | Routes all MCP traffic through the gh-aw mcp-gateway (single audit point) | | ||
| | `sandbox.mcp.keepalive-interval` | `300` (5 min) | Compiles to gateway `keepaliveInterval`; overrides upstream default `1500 s (25 min)` to keep HTTP MCPs warm. With `engine.mcp.session-timeout: 1h` set, this is now belt-and-braces resilience rather than load-bearing for the 60-min job (see [`02-mcp-access.md` §MCP gateway keepalive](../prompts/02-mcp-access.md)) | | ||
| | `sandbox.mcp.keepalive-interval` | `300` (5 min) | Compiles to gateway `keepaliveInterval`; overrides upstream default `1500 s (25 min)` to keep HTTP MCPs warm for the full 60-min job (see [`02-mcp-access.md` §MCP gateway keepalive](../prompts/02-mcp-access.md)) | |
| ## Time budget | ||
|
|
||
| > 🟢 **MCP gateway session timeout — gh-aw v0.71.3**: The workflow declares `engine.mcp.session-timeout: 1h`, which keeps MCP gateway sessions (including `safeoutputs`) alive for the full 60-min job. The PR deadline is governed by the Copilot API session (~60 min, Timer B) and the job `timeout-minutes: 60` (Timer A), but Timer A starts before the agent while host-side setup/sandbox/MCP initialization is still running. **Plan to call `safeoutputs___create_pull_request` by agent minute 42 (hard deadline 45)** to reserve job-level headroom for setup variance and the safe-outputs runner. See `00-base-contract.md §Session keepalive requirement` and `07-commit-and-pr.md §Deadline enforcement`. | ||
| > 🟡 **MCP gateway session keepalive**: `sandbox.mcp.keepalive-interval: 300` sends a 5-min HTTP ping to keep HTTP-backed MCPs warm. **Plan to call `safeoutputs___create_pull_request` by agent minute 42 (hard deadline 45)** to reserve job-level headroom for setup variance and the safe-outputs runner. See `00-base-contract.md §Session keepalive requirement` and `07-commit-and-pr.md §Deadline enforcement`. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All 14 agentic news workflows were failing at "Start MCP Gateway" because
engine.mcp.session-timeout: 1h(added in gh-aw v0.71.3) compiles to"sessionTimeout": "1h"in the gateway config JSON, which MCP Gateway v0.3.1 rejects as an unknown additional property.Changes
.mdsource files — removedengine.mcp.session-timeout: 1hand the now-emptyengine.mcp:block from YAML frontmatter; updated time-budget callouts andkeepalive-intervalcomments to drop stale session-timeout references.lock.ymlcompiled files — removed"sessionTimeout": "1h"from each gateway config section; fixed the trailing comma left on"keepaliveInterval": 300README.md— updated the frontmatter field table to notesession-timeoutis removed pending a compatible MCP Gateway releasecopilot-instructions.md— removed theengine.mcp.session-timeoutrequirement from the canonical engine config snippetsandbox.mcp.keepalive-interval: 300(5-min HTTP ping) is preserved in all workflows and continues to keep HTTP-backed MCP servers warm for the full 60-min job.