Skip to content

fix: remove engine.mcp.session-timeout from all agentic workflows (MCP Gateway v0.3.1 incompatibility)#2192

Merged
pethers merged 2 commits into
mainfrom
copilot/debug-workflow-failure-again
May 2, 2026
Merged

fix: remove engine.mcp.session-timeout from all agentic workflows (MCP Gateway v0.3.1 incompatibility)#2192
pethers merged 2 commits into
mainfrom
copilot/debug-workflow-failure-again

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 2, 2026

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.

jsonschema: '/gateway' does not validate with .../mcp-gateway-config.schema.json
  #/properties/gateway/$ref/additionalProperties: additionalProperties 'sessionTimeout' not allowed

Changes

  • 14 × .md source files — removed engine.mcp.session-timeout: 1h and the now-empty engine.mcp: block from YAML frontmatter; updated time-budget callouts and keepalive-interval comments to drop stale session-timeout references
  • 14 × .lock.yml compiled files — removed "sessionTimeout": "1h" from each gateway config section; fixed the trailing comma left on "keepaliveInterval": 300
  • README.md — updated the frontmatter field table to note session-timeout is removed pending a compatible MCP Gateway release
  • copilot-instructions.md — removed the engine.mcp.session-timeout requirement from the canonical engine config snippet

sandbox.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.

Copilot AI linked an issue May 2, 2026 that may be closed by this pull request
@github-actions github-actions Bot added the size-xs Extra small change (< 10 lines) label May 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

🏷️ Automatic Labeling Summary

This PR has been automatically labeled based on the files changed and PR metadata.

Applied Labels: size-xs

Label Categories

  • 🗳️ Content: news, dashboard, visualization, intelligence
  • 💻 Technology: html-css, javascript, workflow, security
  • 📊 Data: cia-data, riksdag-data, data-pipeline, schema
  • 🌍 I18n: i18n, translation, rtl
  • 🔒 ISMS: isms, iso-27001, nist-csf, cis-controls
  • 🏗️ Infrastructure: ci-cd, deployment, performance, monitoring
  • 🔄 Quality: testing, accessibility, documentation, refactor
  • 🤖 AI: agent, skill, agentic-workflow

For more information, see .github/labeler.yml.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

…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>
@github-actions github-actions Bot added documentation Documentation updates workflow GitHub Actions workflows ci-cd CI/CD pipeline changes news News articles and content generation agentic-workflow Agentic workflow changes agent Agent configuration size-m Medium change (50-250 lines) labels May 2, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 2, 2026

🔍 Lighthouse Performance Audit

Category Score Status
Performance 85/100 🟡
Accessibility 95/100 🟢
Best Practices 90/100 🟢
SEO 95/100 🟢

📥 Download full Lighthouse report

Budget Compliance: Performance budgets enforced via budget.json

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
Copilot AI requested a review from pethers May 2, 2026 17:26
Copilot finished work on behalf of pethers May 2, 2026 17:26
@pethers pethers marked this pull request as ready for review May 2, 2026 19:45
Copilot AI review requested due to automatic review settings May 2, 2026 19:45
@pethers pethers merged commit 5a0c941 into main May 2, 2026
14 checks passed
@pethers pethers deleted the copilot/debug-workflow-failure-again branch May 2, 2026 19:45
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 empty engine.mcp block) from all 14 news-*.md workflow sources.
  • Removed sessionTimeout from the embedded MCP gateway JSON configs in all 14 compiled news-*.lock.yml workflows (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`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent Agent configuration agentic-workflow Agentic workflow changes ci-cd CI/CD pipeline changes documentation Documentation updates news News articles and content generation size-m Medium change (50-250 lines) size-xs Extra small change (< 10 lines) workflow GitHub Actions workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[aw] News: Year Ahead failed

3 participants