Skip to content

feat: add daily-evals-report workflow#45805

Merged
pelikhan merged 2 commits into
mainfrom
copilot/add-daily-agentic-workflows
Jul 15, 2026
Merged

feat: add daily-evals-report workflow#45805
pelikhan merged 2 commits into
mainfrom
copilot/add-daily-agentic-workflows

Conversation

Copilot AI commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Adds a daily scheduled workflow that monitors the evals feature — BinEval YES/NO questions declared in workflow frontmatter and evaluated post-run — by aggregating results across the repository and publishing a health report.

Workflow behavior

  • Fetch: calls agentic-workflows MCP logs with artifacts: ["evals", "usage"] over the last 7 days (up to 100 runs); capped at 40 for analysis (results-first, then evals-job failures)
  • Parse: reads evals.jsonl per run — extracts per-question YES/NO answers, detects runs where evals were declared but no artifact was produced (evals job failure)
  • Aggregate: computes evals job success rate, per-question YES rates, per-workflow pass rates, and lowest-scoring questions
  • Classify: HEALTHY (job_success ≥ 80% AND yes_rate ≥ 60%), DEGRADED, or BROKEN

Output

Health Output
HEALTHY / DEGRADED Issue with data science summary: key metrics, per-workflow pass rates, quality signals, recommendations
BROKEN Actionable investigation issue with numbered checklist (gh aw audit, artifact checks, credit budget checks)
No data noop

Issues use close-older-issues: true with title-prefix: "[evals] " — one rolling issue per day, expiring after 7 days.

Copilot AI and others added 2 commits July 15, 2026 19:04
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
…t prompt

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI requested a review from pelikhan July 15, 2026 19:06
@pelikhan pelikhan marked this pull request as ready for review July 15, 2026 19:50
Copilot AI review requested due to automatic review settings July 15, 2026 19:50
@pelikhan pelikhan merged commit d8e0416 into main Jul 15, 2026
@pelikhan pelikhan deleted the copilot/add-daily-agentic-workflows branch July 15, 2026 19:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a daily workflow that aggregates evaluation results and publishes repository-wide health reports.

Changes:

  • Fetches and analyzes seven days of evaluation artifacts.
  • Calculates workflow and question-level health metrics.
  • Generates rolling issues or no-op outputs.
Show a summary per file
File Description
.github/workflows/daily-evals-report.md Defines reporting logic and outputs.
.github/workflows/daily-evals-report.lock.yml Compiled GitHub Actions workflow.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 1/2 changed files
  • Comments generated: 6
  • Review effort level: Medium

Comment on lines +28 to +31
- uses: shared/daily-audit-base.md
with:
title-prefix: "[evals] "
expires: 7d
max-bot-mentions: 1
create-issue:
title-prefix: "[evals] "
labels: [evals, automated-analysis]
Comment on lines +88 to +93
1. Check for `evals/evals.jsonl` (or `evals.jsonl` at root if flattened).
2. Read `aw_info.json` (or `activation/aw_info.json`) to get:
- `workflow_name` (or `workflow.name`)
- `conclusion` (success / failure / cancelled)
- Whether evals were declared (check for an `evals` key or the presence of the evals job in the run)
3. Note runs where the workflow declares evals but `evals.jsonl` is absent — these are **evals job failures**.
Comment on lines +102 to +108
- `answer` — `"YES"` or `"NO"`
- Optionally: `confidence`, `rationale`, `model`

Extract per-run:
- Workflow name and run ID
- Per-question answer list
- Overall pass/fail: **pass** if every question is YES, **fail** if any question is NO
- `runs_evals_job_failed` — runs that declared evals but produced no `evals.jsonl`
- `evals_job_success_rate` = `runs_with_evals_results / (runs_with_evals_results + runs_evals_job_failed) * 100`
- `run_pass_rate` = runs where all questions are YES / `runs_with_evals_results * 100`
- Per-question: `yes_rate` = YES count / `runs_with_evals_results * 100`
Comment on lines +134 to +138
| Status | Condition |
|---|---|
| **HEALTHY** | `overall_evals_job_success_rate >= 80%` AND `overall_yes_rate >= 60%` |
| **DEGRADED** | `overall_evals_job_success_rate` between 50–80%, OR `overall_yes_rate` between 30–60% |
| **BROKEN** | `overall_evals_job_success_rate < 50%`, OR zero evals runs found, OR evals job not producing any results |
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This pull request is included in a new release.

Release: v0.82.10

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.

3 participants