Repository navigation
Labels
priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Description
Part of #6405. The smallest first slice from #6405, under the owner's 2026-10-18 decision (option c): workflow_dispatch only, on the role's subscription token, deterministic graders, --max-cost-usd.
.github/workflows/eval-browser-dispatch.yml already runs claude plugin eval on a dispatched hosted runner with bubblewrap and socat, pinned models and --max-cost-usd 5. Extend or generalize it; do not add a second eval workflow.
Scope
- Run
/evals:validate(validate-cases.py) on the target suite before any model call, and fail the job on a load error. - An input that restricts the run to deterministic graders.
- Gate the JSON result through the parser that
/evals:plugin-evalreference/ci.mddescribes, so apartial,skippedPaidGraders, errored or delta-less case reads NOT COMPARABLE instead of a score. - Write the with-versus-without table to the job summary, with one health line per case: did the skill load in the with-arm (from the trace), and how many runs fired.
- Keep ADR 0049 hardening as the workflow has it: trusted-actor dispatch, kill switch, read-only token, no write token in the job.
Done when
-
actionlint .github/workflows/eval-browser-dispatch.yml(or the renamed file) exits 0. - A test of the summary parser over fixture JSON results (a scored case, a
partial, askippedPaidGraders, an errored case) passes and prints NOT COMPARABLE for the last three. -
scripts/check-affected.sh --uncommittedpasses.
Metadata
Metadata
Assignees
Labels
priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Type
Fields
No fields configured for Feature.
Activity
github-actions commentedon Oct 24, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Medium
Uncertainty: Known
Flags: none
Understood: extend the existing dispatched eval workflow so it validates the suite before any model call, offers a deterministic-graders-only input, gates JSON results so partial, skippedPaidGraders, errored or delta-less cases read NOT COMPARABLE, and writes a with-versus-without summary with a per-case health line. The ADR 0049 hardening stays as it is. The scope and done-when items are clear. I found no likely duplicates; this is a slice of #6405.
Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Oct 24, 2026
The work-resolve-issue lane stopped partway through this issue and needs a person.
Why, in the run's own words:
Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/40112622739
To retry, remove
needs-humanand addagent-readyagain.21 remaining items