Enhance FAOS documentation and fix evaluator contract issues - #2637
Merged
Conversation
Address PR microsoft#2174 review comments by expanding FAOS as Foundry Agent Optimization Service on first use and making the Step 8 Python config snippet copy-paste safe. The minimum contract example now imports os and preserves the app's existing model-selection fallback instead of hard-coding MODEL_DEPLOYMENT_NAME unless that is already what the app uses. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts: # plugin/skills/microsoft-foundry/SKILL.md
When creating custom evaluator prompts, treat the runtime-enforced JSON schema as authoritative: result plus reason. Preserve user-provided rubric text, but remove or normalize conflicting output schemas such as score/reasoning or duplicate OUTPUT FORMAT blocks before calling evaluator_catalog_create. Add observe skill test coverage for the promptText guardrail so future edits keep the result/reason contract visible. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the 0-to-1 scoringType/minScore/maxScore details from the sample custom evaluator prompt. The important guardrail is the output contract: preserve the rubric, but avoid conflicting output schemas because the runtime enforces result/reason. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore plugin/skills/microsoft-foundry/SKILL.md from upstream/main so this PR no longer carries a line-ending-only change for the top-level skill file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the microsoft-foundry skill documentation and eval suite to reflect the modernized eval.yaml contract (nested dataset object, optimizer option renames) and adds new integration prompts covering Agent Optimizer and evaluation workflows.
Changes:
- Updated multiple Foundry skill reference docs to use
dataset.local_uri/dataset.name/dataset.version,validation_dataset, and the new optimizer option keys (max_candidates,optimization_config.model_search_space). - Revised optimization workflow guidance to prefer
azd ai agent eval generateand to pass an explicit--optimize-model. - Added several new routing integration stimuli to
evals/microsoft-foundry/eval.yamlfor optimizer/evaluation/monitoring scenarios.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| plugin/skills/microsoft-foundry/SKILL.md | Updates local eval intent parsing guidance to the new eval.yaml contract keys. |
| plugin/skills/microsoft-foundry/references/agent-metadata-contract.md | Updates the eval.yaml → metadata mapping table and notes legacy key normalization behavior. |
| plugin/skills/microsoft-foundry/foundry-agent/observe/references/evaluation-suite-generation.md | Updates eval.yaml parsing steps for suite generation to new dataset/validation fields. |
| plugin/skills/microsoft-foundry/foundry-agent/observe/references/deploy-and-setup.md | Updates “reuse/refresh cache” rules to reference dataset.local_uri / registered dataset fields. |
| plugin/skills/microsoft-foundry/foundry-agent/agent-optimizer/references/optimize-workflow.md | Updates optimizer workflow to prefer eval generate and explicit --optimize-model. |
| plugin/skills/microsoft-foundry/foundry-agent/agent-optimizer/references/eval-yaml.md | Updates the canonical eval.yaml example and field mapping for optimizer/dataset contract changes. |
| evals/microsoft-foundry/eval.yaml | Adds new routing integration prompts/graders for optimizer and evaluation workflows. |
vebudumu
previously approved these changes
Jun 15, 2026
Justin Gonzales (jugonzales)
previously approved these changes
Jun 16, 2026
# Conflicts: # plugin/skills/microsoft-foundry/SKILL.md
Luffy Chen (XOEEst)
dismissed stale reviews from Justin Gonzales (jugonzales) and vebudumu
via
June 16, 2026 16:55
a768186
JasonYeMSFT (JasonYeMSFT)
approved these changes
Jun 17, 2026
Justin Gonzales (jugonzales)
approved these changes
Jun 17, 2026
This was referenced Jun 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces comprehensive updates to the Foundry Agent Optimizer and evaluation workflows, modernizing the
eval.yamlcontract and associated documentation, and adding new evaluation prompts. The changes standardize dataset and optimizer configuration fields, deprecate legacy keys, and clarify the generation and usage of evaluation files and workflows. These improvements ensure consistency, better integration with current azd commands, and clearer guidance for both generating and applying evaluations and optimizations.Key changes include:
1. Modernization of
eval.yamlContract and DocumentationStandardized the
eval.yamlschema to use a nesteddatasetobject withlocal_uri,name, andversionfields, and addedvalidation_dataset. Deprecated legacy fields likedataset_file,dataset_reference, andvalidation_reference, which are now only normalized in memory for backward compatibility. Updated all references and documentation to reflect this new contract. [1] [2] [3] [4] [5] [6]Updated optimizer configuration fields: replaced
max_iterationswithmax_candidatesandoptimization_config.modelwithoptimization_config.model_search_space, clarifying the allowed optimizer models and how to select or verify them. [1] [2]2. Improved Evaluation and Optimization Workflows
Recommended using
azd ai agent eval generateover legacy init flows for generating evaluation files, with clear instructions and updated workflow documentation to reflect this best practice. [1] [2] [3]Clarified the process for applying optimizer candidates and running optimizations, including validation steps, review points, and safe deployment practices.
3. Expanded and Updated Evaluation Prompts
evals/microsoft-foundry/eval.yamlfor generating evals, scaffolding agents, applying optimizer candidates, evaluating deployed agents, analyzing failures, and enabling continuous evaluation monitoring, each with detailed grader configurations.4. Backward Compatibility and Data Normalization
eval.yamlfiles are still supported in memory for reading but are not written in new files, maintaining backward compatibility while guiding users toward the new schema. [1] [2] [3]5. Documentation and Guidance Enhancements
These changes collectively modernize the evaluation and optimization process for Foundry agents, making workflows more robust, user-friendly, and aligned with current best practices.## Description
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