Skip to content

ci: add /evals slash command to run Cloud MCP evals on a PR - #1395

Merged
Caleb Evans (calebevans-ab) merged 3 commits into
mainfrom
calebevans/agentic-2355-evals-command
Oct 16, 2026
Merged

Caleb Evans (calebevans-ab) merged 3 commits into
mainfrom
calebevans/agentic-2355-evals-command

Conversation

@calebevans-ab

@calebevans-ab Caleb Evans (calebevans-ab) commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Adds a /evals PR slash command that runs the Cloud MCP evals (airbytehq/cloud-mcp-evals, "PyAirbyte evals" workflow) against the PR's latest commit. Linear: AGENTIC-2355.

Usage

  • /evals: spot check. Runs only the scenarios that use MCP tools this PR changed (changed_tools_only=true).
  • /evals full=true: runs the full eval suite.

Only users with write access can trigger it (enforced by the existing dispatcher's permission: write).

How it works

evals-command.yml dispatches evals.yml on cloud-mcp-evals main with pyairbyte=#<pr>, finds the run it created (matching run title and creation time, up to 3 minutes), waits for it, then downloads the all-evidence-* artifact and counts trial statuses from results.json.

Progress and results are appended to the triggering comment, like the other *-command.yml workflows:

  • Cloud MCP evals queued for abc1234 (changed tools only). [Check job output.]
  • Evals running: <run url>
  • Cloud MCP evals on abc1234 (full suite): **46 / 57 passed** (11 failed) · [summary]
  • No evals ran: no scenario uses the MCP tools this PR changed. [summary]
  • Evals run ended (cancelled) before producing results. [summary]

Eval failures do not fail this job; some trials fail from model variance today, so the comment reports counts instead. Only infrastructure problems (dispatch failed, run not found, evidence listing or download failed, or a full run with no evidence) fail the job, and those append a failure line to the comment. "No evals ran" is only reported for a /evals spot check whose run uploaded no evidence.

Targets main rather than release-candidate/v1: the slash-command dispatcher runs the workflow from the default branch, so it only works once it is on main, and it does not change the library.

Before it works

  • The Octavia bot GitHub App must be installed on airbytehq/cloud-mcp-evals with Actions read and write. The token is scoped to that repo with permission-actions: write.
  • It can't be tested end to end until merged, because slash-command workflow_dispatch runs the default-branch workflow.

Testing

  • actionlint 1.7.7 and zizmor: no findings on the new workflow.
  • Ran the run-finding and reporting scripts read-only against real cloud-mcp-evals runs: a full run with artifacts (46 / 57 passed (11 failed)) and a spot check with nothing to run (the "No evals ran" message). Also checked that #138 does not match a #1386 run title, and a synthetic results file with errored, uncertain and missing trials.

🤖 Generated with Claude Code

/evals dispatches airbytehq/cloud-mcp-evals' evals workflow for the PR's
latest commit, limited to scenarios using MCP tools the PR changed;
/evals full=true runs the full suite. Results are appended to the
triggering comment. Eval failures are reported, not fatal.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@linear-code

linear-code Bot commented Oct 16, 2026

Copy link
Copy Markdown

AGENTIC-2355

@github-actions

Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This PyAirbyte Version

You can test this version of PyAirbyte using the following:

# Run PyAirbyte CLI from this branch:
uvx --from 'git+https://github.com/airbytehq/PyAirbyte.git@calebevans/agentic-2355-evals-command' pyairbyte --help

# Install PyAirbyte from this branch for development:
pip install 'git+https://github.com/airbytehq/PyAirbyte.git@calebevans/agentic-2355-evals-command'

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /fix-pr - Fixes most formatting and linting issues
  • /uv-lock - Updates uv.lock file
  • /test-pr - Runs tests with the updated PyAirbyte
  • /prerelease - Builds and publishes a prerelease version to PyPI
📚 Show Repo Guidance

Helpful Resources

Community Support

Questions? Join the #pyairbyte channel in our Slack workspace.

📝 Edit this welcome message.

@github-code-quality

github-code-quality Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: Python

Python / code-coverage/pytest-no-creds

main d9f652f calebevans/agentic-2... 8d54a67 +/-
65% 77% +12%
View coverage of the 10 most impacted files.
File main d9f652f calebevans/agentic-2... 8d54a67 +/-
airbyte/mcp/cloud.py 52% 71% +19%
airbyte/_util/api_util.py 36% 56% +20%
airbyte/mcp/_otel.py 0% 89% +89%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/cloud/models.py 0% 95% +95%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%
airbyte/_direct...nnector_docs.py 0% 97% +97%
airbyte/mcp/agents.py 0% 98% +98%
airbyte/_direct...ctors/models.py 0% 99% +99%

Python / code-coverage/pytest

main d9f652f calebevans/agentic-2... 8d54a67 +/-
71% 80% +9%
View coverage of the 10 most impacted files.
File main d9f652f calebevans/agentic-2... 8d54a67 +/-
airbyte/mcp/cloud.py 52% 71% +19%
airbyte/mcp/_otel.py 0% 89% +89%
airbyte/mcp/int..._registry_ui.py 0% 92% +92%
airbyte/_direct...ors/api_util.py 0% 92% +92%
airbyte/mcp/_sso_auth.py 0% 96% +96%
airbyte/cloud/models.py 0% 96% +96%
airbyte/mcp/int...nc_status_ui.py 0% 97% +97%
airbyte/_direct...nnector_docs.py 0% 97% +97%
airbyte/mcp/agents.py 0% 98% +98%
airbyte/_direct...ctors/models.py 0% 99% +99%

Python / code-coverage/pytest-unit

main calebevans/agentic-2... 8d54a67 +/-
— 73% —

Line coverage data for the main branch is not yet available.

View coverage of the 10 most covered files.
File main calebevans/agentic-2... 8d54a67 +/-
airbyte/mcp/agents.py — 98% —
airbyte/mcp/_sso_auth.py — 96% —
airbyte/cloud/models.py — 95% —
airbyte/cloud/client.py — 91% —
airbyte/mcp/_otel.py — 89% —
airbyte/exceptions.py — 84% —
airbyte/progress.py — 80% —
airbyte/mcp/cloud.py — 71% —
airbyte/shared/...ql_processor.py — 68% —
airbyte/_util/api_util.py — 56% —

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated October 16, 2026 23:07 UTC

@calebevans-ab

Copy link
Copy Markdown
Contributor Author

Codex (@codex) review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-16T23:08:05.316537Z 8d54a67 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ceaa13fae

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "Codex (@codex) review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".

Comment thread .github/workflows/evals-command.yml
Comment thread .github/workflows/evals-command.yml Outdated
@calebevans-ab

Copy link
Copy Markdown
Contributor Author

Codex (@codex) review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Another round soon, please!

Reviewed commit: 8d54a67543

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "Codex (@codex) review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".

@calebevans-ab
Caleb Evans (calebevans-ab) merged commit 8f890e1 into main Oct 16, 2026
31 checks passed
@calebevans-ab
Caleb Evans (calebevans-ab) deleted the calebevans/agentic-2355-evals-command branch October 16, 2026 23:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants