Skip to content

feat: expand eval dataset with edge and complex cases and refine prompts - #458

Merged
cocosheng-g merged 35 commits into
mainfrom
feat/eval-issue-219-triage
Mar 2, 2026
Merged

cocosheng-g merged 35 commits into
mainfrom
feat/eval-issue-219-triage

Conversation

@cocosheng-g

@cocosheng-g cocosheng-g commented Feb 5, 2026 •

Copy link
Copy Markdown
Collaborator

This PR continues the work on issue #219 by expanding the evaluation datasets and refining the workflow prompts.

📊 Evaluation Results (Post-Tuning)

Workflow Previous Pass Rate Current Pass Rate Improvement
Issue Triage 75% 100% (20/20) +25%
Issue Fixer ~73% 100% (Confirmed Validation) Improved Guardrails

Changes:

Expanded Evaluation Datasets: Added 30+ edge, complex, and real-life cases across triage, fixer, and pr-review.

Prompt Refinements:

  • Issue Triage: Improved robustness against spam and ambiguous reports. Now correctly handles "It broke" (bug) vs "Help" (ignore).
  • Issue Fixer: Added a validation step (Step 1.5) to proactively identify impossible or out-of-scope requests (e.g., IE6 support).
  • Mock Infrastructure: Updated the mock MCP server to provide realistic data for new evaluation scenarios (race conditions, architectural violations, security risks).

Verification: All evaluations have been verified to pass.

- Implement Isolated `TestRig` for environment-safe, concurrent evaluations.
- Add gold-standard datasets for Issue Triage, Scheduled Triage, Assistant, and Issue Fixer.
- Implement Mock MCP Server for high-fidelity PR Review benchmarking.
- Add nightly evaluation workflow with multi-model strategy matrix.
- Automated aggregate reporting for GitHub Job Summaries.

Next Steps:
- Expand evaluation datasets with more edge cases.
- Fine-tune workflow prompts based on baseline quality analysis.

Refs: #219
- Added 30+ cases (edge, complex, real-life) across gemini-triage, gemini-issue-fixer, and gemini-review.
- Refined triage prompt to handle spam, ambiguity, and vague reports more robustly.
- Added a validation step to issue-fixer prompt to handle impossible or out-of-scope requests.
- Updated mock MCP server to support new evaluation scenarios including race conditions and architectural violations.
- Improved evaluation scripts for better tool call detection in namespaces.
- Verified all evaluations pass with the updated prompts.
@cocosheng-g
cocosheng-g requested review from a team as code owners February 5, 2026 17:58
@cocosheng-g
cocosheng-g requested review from MJjainam, R2wenD2, bdmorgan and verbanicm and removed request for a team February 5, 2026 17:58
@gemini-cli

gemini-cli Bot commented Feb 5, 2026

Copy link
Copy Markdown
Contributor

🤖 Hi @cocosheng-g, I've received your request, and I'm working on it now! You can track my progress in the logs for more details.

- Update triage guidelines for stricter handling of spam and ambiguity.
- Refine fixer validation step to use explicit keywords for out-of-scope cases.
- Improves evaluation pass rates for edge cases.
@cocosheng-g
cocosheng-g requested review from jerop and kschaab February 5, 2026 19:20
Base automatically changed from feat/eval-framework to main February 9, 2026 15:23
Resolved conflicts:
- package.json: Use 'vitest' directly in test script (from main)
- .github/workflows/evals-nightly.yml: Use 'Install Gemini CLI' step and 'always()' condition (from main)
- evals/data/*.json: Keep expanded datasets (from HEAD)
- evals/pr-review.eval.ts: Keep updated test logic (from HEAD)
- evals/mock-mcp-server.ts: Manually merged new mock data and tool handlers
- Run tests sequentially to reduce flakiness and avoid API rate limits.

- Enable mock GitHub MCP server for issue-fixer evaluation to match prompt instructions.

- Proactively create 'chats' directory in test rig to prevent 'ENOENT' errors during chat recording.

- Refine structural checks to handle out-of-scope/impossible requests and account for alternative git/issue tool usage.

- Update expected plan keywords in evaluation datasets.
- Broaden hasExploration check in issue-fixer.eval.ts to include MCP/extension tools.
- Add search_code and get_file_contents to mock-mcp-server.ts.
- Add a 2s delay before reading telemetry logs across all evals to prevent race conditions in CI.
- Fixes failures observed with gemini-3-pro-preview in CI.
- Increase testTimeout to 15m to handle complex cross-file refactor tasks.
- Add 'search' to tool exploration keywords for broader detection.
Signed-off-by: Coco Sheng <[email protected]>
@cocosheng-g
cocosheng-g enabled auto-merge (squash) February 26, 2026 04:16
Comment thread evals/vitest.config.ts
Comment thread evals/pr-review.eval.ts Outdated
Comment thread evals/issue-fixer.eval.ts
Consolidated multiple tool name checks into single .some calls for better clarity. Added a comment explaining the use of .includes for prefixed MCP tool names.
@cocosheng-g
cocosheng-g removed the request for review from jerop March 2, 2026 20:44
@cocosheng-g
cocosheng-g merged commit f4d3932 into main Mar 2, 2026
35 checks passed
@cocosheng-g
cocosheng-g deleted the feat/eval-issue-219-triage branch March 2, 2026 20:57
google-github-actions-bot added a commit that referenced this pull request Apr 24, 2026
## What's Changed
* feat: expand eval dataset with edge and complex cases and refine
prompts by @cocosheng-g in
#458
* chore: parallelize nightly evaluations and fix suite timeouts by
@cocosheng-g in
#472
* docs: update an authentication documentation link by @Marukome0743 in
#445
* Fix summary Markdown formatting by @Kevinrob in
#474
* fix: typo workflow_name on gemini-plan-execute by @Marukome0743 in
#476
* Feat: integrate code review extension in PR workflow instead of using
customized review prompt by @cynthialong0-0 in
#471
* feat: add GitHub Action usage metrics for telemetry by @cocosheng-g in
#475
* fix: remove unused service and redundant IAM bindings in workload
identity setup script by @anguillanneuf in
#481
* Fix: Add workflow name to telemetry resource attributes by
@cocosheng-g in
#493
* fix(evals): stabilize nightly evaluation suite by @cocosheng-g in
#494
* create trust guidance docs by @ehedlund in
#501

## New Contributors
* @Kevinrob made their first contribution in
#474
* @anguillanneuf made their first contribution in
#481
* @ehedlund made their first contribution in
#501

**Full Changelog**:
v0.1.21...v0.1.22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants