Skip to content

test(evals): Migrate to vitest-evals harness - #1132

Draft
dcramer wants to merge 8 commits into
mainfrom
dcramer/test/migrate-vitest-evals-harness
Draft

test(evals): Migrate to vitest-evals harness#1132
dcramer wants to merge 8 commits into
mainfrom
dcramer/test/migrate-vitest-evals-harness

Conversation

@dcramer

@dcramer dcramer commented Jun 27, 2026

Copy link
Copy Markdown
Member

The eval suite now uses the current vitest-evals harness and judge APIs instead of the old scorer-style wiring. The shared helpers keep the eval files small while preserving the existing expected tool calls and structured output checks.

Eval model setup now goes through the existing embedded-agent provider factory, so OpenRouter-backed credentials work the same way as the runtime AI tools. The PR also tightens the affected search prompts from eval traces and updates the eval docs, mocks, and suite-wide timeout configuration to match the new harness.

Comment thread packages/mcp-server-evals/vitest.config.ts
Comment thread packages/mcp-server-evals/package.json
@dcramer
dcramer force-pushed the dcramer/test/migrate-vitest-evals-harness branch from 8507ed7 to da42106 Compare June 27, 2026 18:49
Comment thread packages/mcp-server-evals/src/evals/utils/suite.ts
Comment thread packages/mcp-core/src/tools/support/search-issue-events/config.ts
Comment thread packages/mcp-server-mocks/src/utils.ts Outdated
Comment thread packages/mcp-server-mocks/src/utils.ts
Comment thread packages/mcp-server-evals/src/evals/utils/mcpTransport.ts
dcramer and others added 6 commits July 28, 2026 14:15
Move the eval suite to the current vitest-evals harness and judge APIs, using the existing embedded-agent provider factory so evals run against the configured provider credentials. Update the eval docs and mocks for the OpenRouter-backed path.

Co-Authored-By: GPT-5 Codex <codex@openai.com>
Keep agent evals on the same default judge threshold as the other eval helpers and make explicit Sentry syntax deterministic without requiring a discovery call.

Co-Authored-By: GPT-5 Codex <codex@openai.com>
Describe the whoami value as an email address instead of a prequoted Sentry search token. This keeps issue event search guidance consistent with the rule to avoid quoting simple email values.

Co-Authored-By: GPT-5 Codex <codex@openai.com>
Allow MSW test setup to bypass OpenAI, Anthropic, OpenRouter, and Azure OpenAI provider calls while continuing to fail on unmocked product API requests.

Co-Authored-By: GPT-5 Codex <codex@openai.com>
Restore targeted datasetAttributes filters for custom field discovery while keeping common-field search paths tool-free.

Update stdio testing docs to use the supported Node 22.13 minimum and a newer Node 24 check instead of Node 20.

Co-Authored-By: Codex <noreply@openai.com>
Handle the AI SDK streaming response union before asserting the non-streaming agent tool result.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
@dcramer
dcramer force-pushed the dcramer/test/migrate-vitest-evals-harness branch from 609a077 to 6a699d0 Compare July 28, 2026 21:47
Treat malformed or relative request URLs as non-provider traffic so MSW can report the intended unhandled request error.

Co-Authored-By: OpenAI Codex <noreply@openai.com>

@cursor cursor 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.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 39d5d8d. Configure here.

Comment thread packages/mcp-server-evals/src/evals/search-events-agent.eval.ts
Expect substring and numeric-type filters in search-event agent discovery calls so strict eval matching rewards the current prompt guidance.

Co-Authored-By: OpenAI Codex <noreply@openai.com>
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.

1 participant