Skip to content

Add python skills and test.#375

Open
LarryOsterman wants to merge 46 commits into
mainfrom
larryo/python_skills
Open

Add python skills and test.#375
LarryOsterman wants to merge 46 commits into
mainfrom
larryo/python_skills

Conversation

@LarryOsterman

@LarryOsterman LarryOsterman commented Jul 10, 2026

Copy link
Copy Markdown
Member

Adds Python skill-effectiveness experiments, expands skill reference documentation, and updates the Vally test harness.

Changes:

Adds Python Vally experiments and standardizes test models.
Adds capability/non-hero references and lifecycle guidance.
Updates Vally/Rust graders, harness output capture, and CI checks.
Reviewed Changes

Comment thread tests/compare-experiment.mjs Fixed
@github-actions github-actions Bot mentioned this pull request Jul 10, 2026
LarryOsterman and others added 12 commits July 10, 2026 16:09
…tion or class'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Updated pnpm dependencies

Removed agentic workflows for evaluation

Renamed workflow 2

Renamed workflow

Oops, wrong evaluation

Try pull_request_target

Added back evaluation workflow separate from agentic workflow

Try defining a token for vally to use

For ce update to prompt

CI fixes

Added lockfile explicitly

Fixed lockfile

enable copilot-requests permission

Moved back to agentic workflow; update to vally 0.7.0

Moved back to agentic workflow; update to vally 0.7.0

Restored older ealuations

Updated evaluations

And set the environment variable

Install copilot

Just try out copilot cli before doing expensive stuff
@LarryOsterman LarryOsterman marked this pull request as ready for review July 13, 2026 23:30
@LarryOsterman LarryOsterman requested a review from thegovind as a code owner July 13, 2026 23:30
Copilot AI review requested due to automatic review settings July 13, 2026 23:30
@LarryOsterman LarryOsterman requested a review from g2vinay as a code owner July 13, 2026 23:30

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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

Copilot AI review requested due to automatic review settings July 14, 2026 00:28

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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@LarryOsterman LarryOsterman requested a review from a team July 14, 2026 21:33
Reducing confusion on vally scope notifications.
Copilot AI review requested due to automatic review settings July 14, 2026 22:00

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.

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

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

Still looking through it, but found some things worth addressing now.

with:
fetch-depth: 0

- uses: actions/setup-node@v4

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.

You can use the latest setup-node action here instead of v4. v6 (currently v6.5.0) has been stable for months; I'd stick with v6 rather than v7, which only just shipped. Apply this to move up a major version:

Suggested change
- uses: actions/setup-node@v4
- uses: actions/setup-node@v6

One thing to watch: since v5, setup-node auto-caches when package.json has a packageManager field. This step just does a global npm install, so it should be a non-issue, but set package-manager-cache: false if you see odd caching.

fi
elif [ "${{ github.event_name }}" = "pull_request" ]; then
collect_from_changed_dirs "${{ github.event.pull_request.base.sha }}" "${{ github.sha }}" | sort -u > "$specs_file"
elif [ "${{ github.event_name }}" = "pull_request" ] || [ "${{ github.event_name }}" = "pull_request_target" ]; then

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.

You didn't end up using pull_request_target, so you can probably just revert this line (and any other ones related to it).

echo "::notice::Running Vally evaluations for same-repo PR from ${{ github.event.pull_request.head.repo.full_name }}."

- name: Vally PR scope notice (cross-repo)
if: ${{ steps.specs.outputs.has_specs == 'true' && github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository }}

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.

I was going back and forth on this with copilot - the checks (for PR vs non-PR) are a bit noisy but apparently you can break it apart a bit, which I think would help. So your overall purpose (everybody gets linted) happens easily enough and eval is a bit more special, but now it's confined to it's own job.

jobs:
  lint:
    runs-on: ubuntu-latest
    # runs for everyone, no token
    steps:
      - uses: actions/checkout@v6
      # resolve specs + schema-only lint

  eval:
    needs: lint
    runs-on: ubuntu-latest
    if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
    permissions:
      contents: read
      copilot-requests: write
    env:
      GH_TOKEN: ${{ github.token }}
    steps:
      - uses: actions/checkout@v6
      # build grader plugin + run vally eval

[string]$SkillPattern = "*-py",

[Parameter(Mandatory = $false)]
[ValidateRange(1, 128)]

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.

Please get me the 128 core machine...

@@ -0,0 +1 @@
Error: Experiment config file not found: Q:\src\skills\tests\scenarios\agent-framework-azure-ai-py\skill_effectiveness_experiment.yaml

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.

Is this file supposed to be checked in? Also, Q:\ is not universal....

@@ -0,0 +1,94 @@
Running experiment 'azure-monitor-ingestion-py-skill-experiment'
Output: Q:\src\skills\tests\scenarios\azure-monitor-ingestion-py\vally\vally-experiment-results\2026-06-30T23-35-17-490Z

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.

Another one, not sure if this file should be checked in. Maybe do a scrub and then add in a .gitignore file?

$npmLoaderPath = $null
$loaderCandidates = @(
(Join-Path $copilotDir "node_modules\@github\copilot\npm-loader.js"),
"q:\.tools\.npm-global\node_modules\@github\copilot\npm-loader.js"

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.

Might be worth doing a pass, making sure you don't have other paths hardcoded from your dev setup.

[bool]$EnableNodeLoaderFallback = $true
)

$copilotCommand = Get-Command copilot -ErrorAction SilentlyContinue

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.

There's a lot of code in here trying to be accomodating to all sorts of scenarios around copilot, but it's probably okay to just say 'use the copilot in the path, and if it's not t here, then bail' and then you can delete a bunch of code.

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