Skip to content

Vally harness and CI workflow updates#380

Merged
LarryOsterman merged 3 commits into
mainfrom
larryo/split/harness-and-ci
Jul 16, 2026
Merged

Vally harness and CI workflow updates#380
LarryOsterman merged 3 commits into
mainfrom
larryo/split/harness-and-ci

Conversation

@LarryOsterman

Copy link
Copy Markdown
Member

Split from #375 (2 of 5).

Updates the Vally test harness code and CI workflows:

  • tests/harness/ runner/output-capture changes, new copilot-client.test.ts, ralph-loop and types updates
  • .github/workflows/ — renamed vally-evaluation.yml -> run-vally-evaluations.yml, test-harness.yml update
  • .github/aw/actions-lock.json

Split from #375: harness output capture and runner updates, new
copilot-client tests, and CI workflow updates (rename vally-evaluation
to run-vally-evaluations, test-harness tweaks, actions-lock).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 9429ad33-6f31-4ec5-ba00-0f11b5afb82e
Copilot AI review requested due to automatic review settings July 15, 2026 17:23
@LarryOsterman
LarryOsterman requested a review from thegovind as a code owner July 15, 2026 17:23

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

This PR updates the Vally test harness to capture richer generation output (including raw model responses) and to better handle Copilot generation failures, while also adjusting CI workflows to run Vally evaluations under updated tooling/permissions.

Changes:

  • Extend harness result types and reporting to include rawResponse from generation.
  • Add Copilot generation retry/error-classification logic and improve runner error output behavior (especially for JSON output).
  • Update GitHub Actions workflows for harness link-sync checks and Vally evaluation execution (renamed workflow, updated Node/Vally versions, permissions, and PR scoping).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/harness/types.ts Adds rawResponse to evaluation results and updates defaults/signatures.
tests/harness/runner.ts Captures rawResponse, adds generation failure findings/suggestions, and adds JSON error output helpers.
tests/harness/ralph-loop.test.ts Updates mocks/tests to satisfy the new rawResponse field and formatting changes.
tests/harness/copilot-client.ts Adds typed Copilot generation errors, retry/backoff, configurable timeout/retries, and improved code extraction heuristics.
tests/harness/copilot-client.test.ts Adds unit tests for extractCode and classifyCopilotError.
.github/workflows/test-harness.yml Expands skill link sync verification to include Python in addition to Rust.
.github/workflows/run-vally-evaluations.yml Renames/updates the Vally workflow, updates tool versions, permissions, and PR scoping behavior.
.github/aw/actions-lock.json Adds a locked entry for github/gh-aw-actions/setup@v0.81.6.

Comment on lines +347 to 351
if (s && typeof s.disconnect === "function") {
await s.disconnect();
} else if (typeof s.destroy === "function") {
} else if (s && typeof s.destroy === "function") {
await s.destroy();
}
Comment thread tests/harness/runner.ts
Comment on lines +879 to +899
function classifyCliError(error: unknown): CliErrorKind {
if (error instanceof CopilotGenerationError) {
return error.kind;
}

const message = error instanceof Error ? error.message.toLowerCase() : "";
if (
message.includes("authentication failed") ||
message.includes("bad credentials") ||
message.includes("401")
) {
return "auth";
}
if (message.includes("timeout") || message.includes("session.idle")) {
return "timeout";
}
if (message.includes("rate limit") || message.includes("429")) {
return "transient";
}
return "fatal";
}
@LarryOsterman

Copy link
Copy Markdown
Member Author

Split from #375 (see #375 for the full split plan). Do not merge #375 until this and the sibling split PRs (#379, #380, #381, #382, #383) are merged.

@richardpark-msft richardpark-msft left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Bringing over some comments to this PR.

Comment thread .github/workflows/run-vally-evaluations.yml Outdated
Comment thread .github/workflows/run-vally-evaluations.yml Outdated
Copilot AI review requested due to automatic review settings July 16, 2026 20:32
@LarryOsterman
LarryOsterman removed the request for review from Copilot July 16, 2026 20:32
Copilot AI review requested due to automatic review settings July 16, 2026 20:32
@LarryOsterman
LarryOsterman removed the request for review from Copilot July 16, 2026 20:32
@LarryOsterman
LarryOsterman merged commit 27fbd3b into main Jul 16, 2026
5 checks passed
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.

4 participants