eval: migrate all remaining Foundry skill js tests to vally - #3068
eval: migrate all remaining Foundry skill js tests to vally#3068anchenyi wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR removes legacy Jest test coverage for the top-level microsoft-foundry skill and the foundry-agent lifecycle area, relying on the newer per-scope test suites already present under tests/microsoft-foundry/**.
Changes:
- Removed the top-level trigger test suite and its snapshot for
microsoft-foundry. - Removed legacy integration tests for the top-level skill and
foundry-agent. - Removed
foundry-agentunit tests that locked down documentation/path invariants (direct-code + toolbox paths).
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/microsoft-foundry/triggers.test.ts | Deletes the legacy top-level trigger tests for the microsoft-foundry skill. |
| tests/microsoft-foundry/integration.test.ts | Deletes the legacy top-level integration test suite for the skill. |
| tests/microsoft-foundry/foundry-agent/integration.test.ts | Deletes the legacy foundry-agent integration tests. |
| tests/microsoft-foundry/foundry-agent/direct-code.unit.test.ts | Deletes unit tests that asserted direct-code deployment documentation constraints. |
| tests/microsoft-foundry/foundry-agent/create/toolbox-paths.unit.test.ts | Deletes unit tests validating toolbox reference paths and linked reference existence. |
| tests/microsoft-foundry/snapshots/triggers.test.ts.snap | Deletes the snapshot file associated with the removed top-level trigger tests. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated no new comments.
Suppressed comments (3)
evals/azure-skills/microsoft-foundry/eval.yaml:31
- The PR removes Jest tests for
microsoft-foundry:resource/createrouting (and its snapshots), but this eval file doesn't appear to include any stimuli that cover Foundry resource creation prompts (e.g., creating an AIServices/multi-service resource, registering the provider). Add at least one routing stimulus for resource creation to preserve coverage.
# ── ai-model-deployment-prompt ──
# Jest: "invokes microsoft-foundry skill for AI model deployment prompt"
# Assertions: softCheckSkill + isSkillInvoked (invocation rate ≥ 80%)
- name: "AI model deployment from Foundry catalog"
prompt: "How do I deploy an AI model from the Microsoft Foundry catalog?"
tags:
evals/azure-skills/microsoft-foundry/eval.yaml:400
- Several removed Jest unit tests were doing deterministic doc/contract validation (e.g., direct-code deploy guidance, toolbox sample path references). I couldn't find equivalent deterministic checks in this Vally suite (no
file-matches/file-existsgraders against the built skill markdown), so those regressions would no longer be caught. Consider migrating those unit assertions to Vally withfile-matchesgraders, or keep a minimal Jest unit test for the static doc contracts.
# ═══════════════════════════════════════════════════════════════════════════
# Foundry Agent Create
# ═══════════════════════════════════════════════════════════════════════════
- name: "Create Python hosted Foundry agent"
evals/azure-skills/microsoft-foundry/eval.yaml:25
- With 65 stimuli in this suite,
defaults.runs: 5implies ~325 total runs, which is likely to be slow/expensive and can increase flakiness (especially for response-quality regex graders). Consider setting the suite default toruns: 1and overridingruns: 5only for the handful of stimuli that actually need invocation-rate measurement.
stimuli:
# ═══════════════════════════════════════════════════════════════════════════
# Microsoft Foundry Routing
# ═══════════════════════════════════════════════════════════════════════════
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 34 out of 34 changed files in this pull request and generated no new comments.
Suppressed comments (2)
evals/azure-skills/microsoft-foundry/eval.yaml:46
- The migrated Vally evals cover many positive routing prompts, but there are no negative-routing checks asserting that unrelated prompts do not invoke
microsoft-foundry(the deleted Jest trigger tests had explicit "Should NOT Trigger" cases). Add at least one negative stimulus using askill-invocationgrader withdisallowed: [microsoft-foundry]to prevent regressions in routing precision.
# Global: no_runtime_failure
- type: output-not-matches
config:
pattern: "(?i)fatal error|unhandled exception|stack trace"
evals/azure-skills/microsoft-foundry/eval.yaml:565
- In the "Fine-tuning guidance" stimulus,
earlyTerminatestops as soon as the assistant mentions "training", but the graders currently also require amicrosoft-foundryskill invocation. This can cause false failures if the model mentions training before routing/invoking the skill (the old Jest test allowed either skill invocation OR a fine-tuning/training mention). Consider dropping the mandatory skill-invocation grader for this response-quality check, or changing the termination condition to wait for skill routing.
earlyTerminate: '[{"type":"assistant-message-match","contentPattern":"[Tt]raining"}]'
graders:
- type: skill-invocation
config:
required:
|
anchenyi Since we added codeowner rules for each skill owner to also own the eval suites, you need someone from your team to approve the PR to merge it. The smake test failures aren't related to foundry so you can bypass it. |
Description
Migrate all remaining Foundry skill js tests to vally.
Checklist
cd tests && npm test)fix:,feat:,feature:,chore:,misc:,test:,eval:tests/,npm run test:integration -- <skill>ornpm run test:vally -- --skill <skill>)Related Issues