agentops-accelerator 0.3.7__tar.gz → 0.3.9__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.claude-plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/AGENTS.md +6 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/CHANGELOG.md +64 -1
- {agentops_accelerator-0.3.7/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.9}/PKG-INFO +6 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/README.md +5 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/concepts.md +18 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/how-it-works.md +13 -5
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/tutorial-end-to-end.md +67 -16
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/tutorial-hosted-agent-quickstart.md +56 -18
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/tutorial-prompt-agent-quickstart.md +215 -78
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/package.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/plugin.json +1 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/skills/agentops-agent/SKILL.md +8 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/skills/agentops-config/SKILL.md +14 -0
- {agentops_accelerator-0.3.7/src/agentops/templates → agentops_accelerator-0.3.9/plugins/agentops}/skills/agentops-eval/SKILL.md +43 -20
- agentops_accelerator-0.3.9/plugins/agentops/skills/agentops-governance/SKILL.md +165 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/skills/agentops-report/SKILL.md +6 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/analyzer.py +2 -0
- agentops_accelerator-0.3.9/src/agentops/agent/checks/governance.py +85 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/cockpit.py +28 -1
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/cli/app.py +121 -8
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/agentops_config.py +50 -2
- agentops_accelerator-0.3.9/src/agentops/core/azd_eval.py +307 -0
- agentops_accelerator-0.3.9/src/agentops/core/governance.py +354 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/release_evidence.py +1 -0
- agentops_accelerator-0.3.9/src/agentops/pipeline/azd_runner.py +454 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/official_eval.py +20 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/orchestrator.py +71 -0
- agentops_accelerator-0.3.9/src/agentops/services/azd_eval_init.py +268 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/cicd.py +71 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/evidence_pack.py +70 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/setup_wizard.py +24 -14
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/skills.py +3 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/workflow_analysis.py +80 -5
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/skills/agentops-agent/SKILL.md +8 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/skills/agentops-config/SKILL.md +14 -0
- {agentops_accelerator-0.3.7/plugins/agentops → agentops_accelerator-0.3.9/src/agentops/templates}/skills/agentops-eval/SKILL.md +43 -20
- agentops_accelerator-0.3.9/src/agentops/templates/skills/agentops-governance/SKILL.md +165 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/skills/agentops-report/SKILL.md +6 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9/src/agentops_accelerator.egg-info}/PKG-INFO +6 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops_accelerator.egg-info/SOURCES.txt +11 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agentops_config.py +30 -0
- agentops_accelerator-0.3.9/tests/unit/test_azd_eval.py +154 -0
- agentops_accelerator-0.3.9/tests/unit/test_azd_eval_init.py +210 -0
- agentops_accelerator-0.3.9/tests/unit/test_azd_runner.py +257 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cicd.py +50 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cockpit.py +38 -0
- agentops_accelerator-0.3.9/tests/unit/test_governance.py +111 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_init_command.py +12 -2
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_setup_wizard.py +74 -4
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_skills.py +7 -6
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_workflow_analysis.py +39 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.gitattributes +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/actions/azure-oidc-login/action.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/code-quality-py.instructions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/copilot-instructions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/dependabot.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/extensions/agentops-skills/extension.mjs +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/skills/release-management/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/_build.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/ci.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/cut-release.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/e2e.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/release.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.github/workflows/staging.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.pre-commit-config.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.vscode/launch.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.vscode/settings.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/.vscode/tasks.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/CONTRIBUTING.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/LICENSE +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/SECURITY.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/bundles.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/ci-github-actions.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/doctor-checks.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/doctor-explained.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/e2e-live-architecture.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/e2e-live-setup.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/foundry-evaluation-sdk-built-in-evaluators.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/media/agentops-diagrams.vsdx +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/media/foundry-control-plane.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/release-process.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/examples/flat-quickstart/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/examples/flat-quickstart/agentops.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/examples/flat-quickstart/dataset.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/icon.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/agent-app/Dockerfile +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/agent-app/app.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/agent-app/requirements.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/bootstrap.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/bootstrap.parameters.example.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/infra/e2e/perrun.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/launch.json +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/media/foundry.svg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/media/quickstart.gif +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/.vscodeignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/LICENSE +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/plugins/agentops/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/pyproject.toml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/create_support_agent.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/cut-release.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/cut-release.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_aggregate_summary.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_data/basic.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_data/rag.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_data/tools.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_demo.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_hosted_agent.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_make_transcript.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/e2e_render_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/release.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/release.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/setup-e2e-new-tenant.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/staging.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/staging.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/sync-skills.ps1 +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/scripts/sync-skills.sh +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/setup.cfg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/__main__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/_legacy_ids.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/catalog.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/foundry_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/latency.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/opex.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/opex_workspace.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/content_filter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/local_auth.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/managed_identity.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/posture_rules/network.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/regression.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/release_readiness.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/safety.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/checks/spec_conformance.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/findings.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/knowledge/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/knowledge/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_base.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_bundle_rule.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_client.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_dataset_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_engine.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_prompt_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/llm_assist/_spec_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/production_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/report.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/server/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/server/app.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/server/auth.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/server/chat.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/server/protocol.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/azure_monitor.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/azure_resources.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/foundry_control.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/results_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/spec_detectors/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/spec_detectors/_base.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/spec_detectors/agents_md.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/sources/spec_detectors/spec_kit.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/agent/time_range.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/cli/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/config_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/evaluators.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/core/results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/mcp/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/mcp/server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/cloud_results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/cloud_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/comparison.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/invocations.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/prompt_deploy.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/publisher.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/reporter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/runtime.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/pipeline/thresholds.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/eval_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/initializer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/preflight.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/services/trace_promotion.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/agent-server/Dockerfile +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/agent-server/README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/agent-server/main.bicep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/agent.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/agentops.yaml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/foundry.svg +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/icon.png +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-pr.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/pipelines/azuredevops/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/project.gitignore +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/sample-traces.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/smoke.jsonl +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/waf-checklist.README.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-dev-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-dev.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-prod-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-prod.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-qa-azd.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-deploy-qa.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-pr-prompt-agent.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-pr.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/templates/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/__init__.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/azd_env.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/colors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/logging.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops/utils/yaml.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops_accelerator.egg-info/dependency_links.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops_accelerator.egg-info/entry_points.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops_accelerator.egg-info/requires.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/src/agentops_accelerator.egg-info/top_level.txt +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/TESTING.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/fixtures/fake_adapter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/fixtures/fake_eval_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/integration/.gitkeep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/integration/test_cli_flat_schema.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/integration/test_pipeline_smoke.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/.gitkeep +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_analyzer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_categories.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_foundry_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_opex.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_opex_workspace.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_regression.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_safety.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_checks_spec_conformance.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_cli.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_findings.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_opex_workspace_check.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_posture_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_results_history.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_agent_server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_azd_env.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_azure_resources_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cli_cockpit_connection_summary.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cli_cockpit_port_conflict.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cli_commands.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cli_explain.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cloud_results.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_cloud_runner.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_diagnostics.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_doctor_catalog.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_doctor_cli_explain.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_e2e_render.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_eval_analysis.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_eval_run_grader_errors.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_evaluators.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_initializer.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_invocations.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_knowledge_loader.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_llm_assist.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_llm_assist_spec_rules.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_mcp_server.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_official_eval.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_pipeline_publisher.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_pipeline_reporter.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_preflight.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_production_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_prompt_deploy.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_release_evidence.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_runtime_conversation.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_runtime_model_config.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_skills_sync.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_telemetry.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_time_range.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tests/unit/test_trace_promotion.py +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/tombstones/vscode/CDN_DEPRECATION_REQUEST.md +0 -0
- {agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/uv.lock +0 -0
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"name": "agentops-accelerator",
|
|
14
14
|
"source": "../../plugins/agentops",
|
|
15
15
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
|
|
16
|
-
"version": "0.3.
|
|
16
|
+
"version": "0.3.8",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"agentops",
|
|
19
19
|
"evaluation",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"name": "agentops-accelerator",
|
|
14
14
|
"source": "../../plugins/agentops",
|
|
15
15
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Toolkit and Microsoft Foundry agents.",
|
|
16
|
-
"version": "0.3.
|
|
16
|
+
"version": "0.3.8",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"agentops",
|
|
19
19
|
"evaluation",
|
|
@@ -41,6 +41,7 @@ Public CLI contract:
|
|
|
41
41
|
- `agentops init show [--dir PATH] [--reveal-secrets]`
|
|
42
42
|
- `agentops init explain [--no-pager] [--format text|markdown|html] [--out PATH] [--open]`
|
|
43
43
|
- `agentops eval analyze [--dir PATH] [--format text|markdown|json] [--out PATH]`
|
|
44
|
+
- `agentops eval init [--dir PATH] [--force]`
|
|
44
45
|
- `agentops eval run [--config PATH] [--baseline PATH] [--output DIR]`
|
|
45
46
|
- `agentops eval promote-traces --source PATH [--out PATH] [--max-rows N] [--label-mode self-similarity|pending] [--apply]`
|
|
46
47
|
- `agentops report generate [--in PATH] [--out PATH]`
|
|
@@ -325,7 +326,8 @@ Full schema:
|
|
|
325
326
|
| `thresholds` | no | Map of metric → expression (e.g. `coherence: ">=3"`, `avg_latency_seconds: "<=30"`). Missing keys fall back to auto-defaults. |
|
|
326
327
|
| `evaluators` | no | Advanced escape hatch: explicit list of evaluator names that overrides auto-selection. |
|
|
327
328
|
| `project_endpoint` | no | Foundry project endpoint. Wins over `AZURE_AI_FOUNDRY_PROJECT_ENDPOINT` when both are set. |
|
|
328
|
-
| `execution` | no | `local` (default) — AgentOps runs the agent row-by-row locally. `cloud` — Foundry runs the agent + evaluators server-side (only valid for `name:version` agents). |
|
|
329
|
+
| `execution` | no | `local` (default) — AgentOps runs the agent row-by-row locally. `cloud` — Foundry runs the agent + evaluators server-side (only valid for `name:version` agents). `azd` — delegates execution to `azd ai agent eval` and normalizes the emitted metrics. |
|
|
330
|
+
| `eval_recipe` | no | Optional path to azd `eval.yaml` when `execution: azd`; omitted values auto-discover a single recipe. |
|
|
329
331
|
| `publish` | no | When `execution: local`, set to `true` to also upload results to the Classic Foundry Evaluations panel. With `execution: cloud` publishing is implicit. |
|
|
330
332
|
| `protocol` | no | URL-based agents only. `responses` (default Foundry hosted), `invocations` (Foundry hosted with raw JSON), or `http-json` (default generic HTTP). |
|
|
331
333
|
| `request_field` | no | HTTP / invocations only. JSON key that carries the user prompt (default: `message`). |
|
|
@@ -333,6 +335,9 @@ Full schema:
|
|
|
333
335
|
| `tool_calls_field` | no | HTTP / invocations only. Dot-path to extract tool calls for agent-workflow evaluators. |
|
|
334
336
|
| `headers` | no | HTTP / invocations only. Static extra HTTP headers. |
|
|
335
337
|
| `auth_header_env` | no | HTTP / invocations only. Environment variable that holds a Bearer token. |
|
|
338
|
+
| `assert_path` | no | Optional ASSERT policy/results file or directory referenced by Doctor/evidence. AgentOps does not execute ASSERT. |
|
|
339
|
+
| `acs_path` | no | Optional Agent Control Specification contract file or directory referenced by Doctor/evidence. AgentOps does not apply ACS controls. |
|
|
340
|
+
| `redteam_path` | no | Optional red-team plan/results evidence path. AgentOps records metadata and never exposes payload text. |
|
|
336
341
|
|
|
337
342
|
### Agent Type Inference
|
|
338
343
|
|
|
@@ -3,7 +3,70 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres to [Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
-
## [
|
|
6
|
+
## [0.3.9] - 2026-06-08
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
- **AgentOps can now delegate Foundry eval execution to `azd ai agent eval`.**
|
|
10
|
+
Projects with an azd `eval.yaml` recipe can set `execution: azd` and
|
|
11
|
+
`eval_recipe: eval.yaml`; AgentOps invokes azd, normalizes emitted metrics
|
|
12
|
+
into `results.json`, binds thresholds including Rubric/custom dimensions, and
|
|
13
|
+
fails closed when configured thresholds do not map to emitted metrics.
|
|
14
|
+
- **Governance evidence support for ASSERT, ACS, and red-team readiness.**
|
|
15
|
+
`agentops.yaml` can reference `assert_path`, `acs_path`, and `redteam_path`.
|
|
16
|
+
Doctor, Cockpit, and release evidence record path, SHA-256 hash, status, and
|
|
17
|
+
ACS checkpoint coverage without executing ASSERT, applying ACS controls, or
|
|
18
|
+
exposing red-team payload text.
|
|
19
|
+
- **`agentops-governance` coding-agent skill.** The new skill drafts safe
|
|
20
|
+
evidence templates for ASSERT policies, ACS contracts, Guided Guardrail review
|
|
21
|
+
notes, and red-team readiness plans while explicitly refusing offensive
|
|
22
|
+
payload generation.
|
|
23
|
+
|
|
24
|
+
### Fixed
|
|
25
|
+
- **Prompt-agent tutorial now explicitly verifies the Travel Agent dataset path
|
|
26
|
+
after `agentops init`.** Step 7 now tells users to confirm
|
|
27
|
+
`agentops.yaml` points at `.agentops/data/travel-smoke.jsonl` and provides a
|
|
28
|
+
repair command if the wizard left the starter `.agentops/data/smoke.jsonl`.
|
|
29
|
+
- **`agentops eval init` now reuses configured prompt-agent inputs and avoids
|
|
30
|
+
hidden azd prompts.** When `--dataset` is omitted, the command passes the
|
|
31
|
+
existing `agentops.yaml` dataset to `azd ai agent eval init`. It also runs azd
|
|
32
|
+
with `--no-prompt`, passes the configured Foundry project endpoint, agent
|
|
33
|
+
name, prompt file, and bootstrap model, and prints a progress line before the
|
|
34
|
+
potentially long Foundry initialization.
|
|
35
|
+
- **Prompt-agent tutorial guidance now keeps azd eval recipes advanced-only.**
|
|
36
|
+
Step 10 now follows `workflow analyze` for the quickstart's AgentOps cloud
|
|
37
|
+
eval path and explains that `agentops eval init` requires a full azd AI agent
|
|
38
|
+
project context before `azd ai agent eval run` can resolve the Foundry
|
|
39
|
+
project.
|
|
40
|
+
- **`agentops eval init` now prints safely on Windows terminals without Unicode
|
|
41
|
+
support.** The CLI falls back to an ASCII updated marker instead of raising a
|
|
42
|
+
`UnicodeEncodeError` on cp1252 consoles after it wires `execution: azd` and
|
|
43
|
+
`eval_recipe`.
|
|
44
|
+
- **Foundry RBAC preflight now prevents the portal build-agent permission
|
|
45
|
+
block.** The prompt-agent, hosted-agent, and end-to-end tutorials plus the
|
|
46
|
+
packaged `agentops-eval` skill now grant `Foundry User` and `Cognitive
|
|
47
|
+
Services OpenAI User` on the parent AI Services account using stable role IDs.
|
|
48
|
+
This covers the Foundry UI's "You don't have permission to build agents"
|
|
49
|
+
failure as well as the evaluator chat-completions data-plane failure, while
|
|
50
|
+
still assigning the OpenAI role to Foundry/Azure AI managed identities used by
|
|
51
|
+
server-side graders.
|
|
52
|
+
|
|
53
|
+
## [0.3.8] - 2026-06-04
|
|
54
|
+
|
|
55
|
+
### Fixed
|
|
56
|
+
- **`agentops init` now handles blank required wizard values gracefully.** If
|
|
57
|
+
the user presses Enter without an existing Foundry endpoint or agent default,
|
|
58
|
+
the wizard explains that AgentOps needs the missing value and re-prompts
|
|
59
|
+
instead of proceeding to a later persistence failure. Scripted blank flags
|
|
60
|
+
such as `--agent ""` now exit with the same friendly message and no traceback.
|
|
61
|
+
- **`agentops init` no longer depends on undeclared PyYAML.** The setup wizard
|
|
62
|
+
now reads and writes `agentops.yaml` through the repository's `ruamel.yaml`
|
|
63
|
+
helpers, fixing the ugly `No module named 'yaml'` traceback seen in clean
|
|
64
|
+
installs.
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
- **AgentOps brand tagline sequence now reads `Evaluate :: Ship :: Observe ::
|
|
68
|
+
Own`.** The startup/explain banner now matches the intended product story
|
|
69
|
+
order.
|
|
7
70
|
|
|
8
71
|
## [0.3.7] - 2026-06-01
|
|
9
72
|
|
{agentops_accelerator-0.3.7/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.9}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentops-accelerator
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.9
|
|
4
4
|
Summary: Release readiness gates and evidence for Microsoft Foundry agents
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -87,6 +87,8 @@ The project enables:
|
|
|
87
87
|
- Baseline comparison for regression detection
|
|
88
88
|
- Doctor checks for repo, CI/CD, telemetry, landing zones, and Foundry setup
|
|
89
89
|
- Release evidence packs for promotion review
|
|
90
|
+
- Optional `azd ai agent eval` execution with Rubric/custom metric binding
|
|
91
|
+
- ASSERT, ACS, and red-team governance evidence references
|
|
90
92
|
- Trace promotion into regression datasets
|
|
91
93
|
- Cockpit navigation for AgentOps, Foundry, and Azure Monitor
|
|
92
94
|
|
|
@@ -100,9 +102,10 @@ ship/no-ship workflow.
|
|
|
100
102
|
| Moment | Foundry / Azure does | AgentOps adds |
|
|
101
103
|
|---|---|---|
|
|
102
104
|
| Build and version | Foundry portal, Foundry SDK/Toolkit, `microsoft-foundry` skill, azd | Pins the exact candidate in `agentops.yaml` and generates the PR/release gate around it |
|
|
103
|
-
| Evaluate and compare | Foundry Evaluations and official CI actions/extensions | Keeps datasets and thresholds in the repo, records evidence, and provides local/fallback runs for non-prompt targets |
|
|
105
|
+
| Evaluate and compare | Foundry Evaluations, `azd ai agent eval`, Rubric evaluator, and official CI actions/extensions | Keeps datasets and thresholds in the repo, records evidence, normalizes azd/Rubric outputs, and provides local/fallback runs for non-prompt targets |
|
|
104
106
|
| Observe and investigate | Foundry Monitor, Traces, Azure Monitor, App Insights | Surfaces deep links, telemetry readiness, Doctor findings, and Cockpit navigation |
|
|
105
107
|
| Decide release | Branch protection, environments, approvals | Packages `evidence.json` / `evidence.md` for promotion review |
|
|
108
|
+
| Govern controls | ASSERT, ACS, Foundry Guardrails, Foundry red-team scans | References reviewed artifacts by path/hash/status without executing or applying the external controls |
|
|
106
109
|
| Improve from production | Production traces and Foundry datasets | Promotes reviewed trace learnings into regression candidates |
|
|
107
110
|
|
|
108
111
|
The rhythm is simple: build and operate the agent in Foundry, keep the release
|
|
@@ -232,6 +235,7 @@ Doctor/Cockpit, and `[mcp]` for MCP.
|
|
|
232
235
|
- `agentops --version` - show installed version.
|
|
233
236
|
- `agentops init` - bootstrap config and seed data.
|
|
234
237
|
- `agentops eval analyze` - check eval readiness.
|
|
238
|
+
- `agentops eval init` - bootstrap an azd `eval.yaml` recipe and wire `execution: azd`.
|
|
235
239
|
- `agentops eval run [--baseline PATH]` - run an evaluation.
|
|
236
240
|
- `agentops eval promote-traces --source FILE [--apply]` - promote traces.
|
|
237
241
|
- `agentops report generate` - regenerate `report.md`.
|
|
@@ -34,6 +34,8 @@ The project enables:
|
|
|
34
34
|
- Baseline comparison for regression detection
|
|
35
35
|
- Doctor checks for repo, CI/CD, telemetry, landing zones, and Foundry setup
|
|
36
36
|
- Release evidence packs for promotion review
|
|
37
|
+
- Optional `azd ai agent eval` execution with Rubric/custom metric binding
|
|
38
|
+
- ASSERT, ACS, and red-team governance evidence references
|
|
37
39
|
- Trace promotion into regression datasets
|
|
38
40
|
- Cockpit navigation for AgentOps, Foundry, and Azure Monitor
|
|
39
41
|
|
|
@@ -47,9 +49,10 @@ ship/no-ship workflow.
|
|
|
47
49
|
| Moment | Foundry / Azure does | AgentOps adds |
|
|
48
50
|
|---|---|---|
|
|
49
51
|
| Build and version | Foundry portal, Foundry SDK/Toolkit, `microsoft-foundry` skill, azd | Pins the exact candidate in `agentops.yaml` and generates the PR/release gate around it |
|
|
50
|
-
| Evaluate and compare | Foundry Evaluations and official CI actions/extensions | Keeps datasets and thresholds in the repo, records evidence, and provides local/fallback runs for non-prompt targets |
|
|
52
|
+
| Evaluate and compare | Foundry Evaluations, `azd ai agent eval`, Rubric evaluator, and official CI actions/extensions | Keeps datasets and thresholds in the repo, records evidence, normalizes azd/Rubric outputs, and provides local/fallback runs for non-prompt targets |
|
|
51
53
|
| Observe and investigate | Foundry Monitor, Traces, Azure Monitor, App Insights | Surfaces deep links, telemetry readiness, Doctor findings, and Cockpit navigation |
|
|
52
54
|
| Decide release | Branch protection, environments, approvals | Packages `evidence.json` / `evidence.md` for promotion review |
|
|
55
|
+
| Govern controls | ASSERT, ACS, Foundry Guardrails, Foundry red-team scans | References reviewed artifacts by path/hash/status without executing or applying the external controls |
|
|
53
56
|
| Improve from production | Production traces and Foundry datasets | Promotes reviewed trace learnings into regression candidates |
|
|
54
57
|
|
|
55
58
|
The rhythm is simple: build and operate the agent in Foundry, keep the release
|
|
@@ -179,6 +182,7 @@ Doctor/Cockpit, and `[mcp]` for MCP.
|
|
|
179
182
|
- `agentops --version` - show installed version.
|
|
180
183
|
- `agentops init` - bootstrap config and seed data.
|
|
181
184
|
- `agentops eval analyze` - check eval readiness.
|
|
185
|
+
- `agentops eval init` - bootstrap an azd `eval.yaml` recipe and wire `execution: azd`.
|
|
182
186
|
- `agentops eval run [--baseline PATH]` - run an evaluation.
|
|
183
187
|
- `agentops eval promote-traces --source FILE [--apply]` - promote traces.
|
|
184
188
|
- `agentops report generate` - regenerate `report.md`.
|
|
@@ -166,6 +166,24 @@ trace-to-regression review. The standalone Microsoft Foundry AI Agent Evaluation
|
|
|
166
166
|
Action/task remains useful for platform-native validation outside the AgentOps
|
|
167
167
|
release-readiness flow.
|
|
168
168
|
|
|
169
|
+
If a Foundry project already uses the public-preview `azd ai agent eval` recipe
|
|
170
|
+
flow, set `execution: azd` and `eval_recipe: eval.yaml`. AgentOps delegates eval
|
|
171
|
+
execution to azd, then normalizes metrics, binds thresholds, writes
|
|
172
|
+
`results.json`, and fails closed for thresholds that have no emitted metric.
|
|
173
|
+
Rubric evaluator dimensions are treated as first-class metric names.
|
|
174
|
+
|
|
175
|
+
Governance artifacts are optional evidence inputs:
|
|
176
|
+
|
|
177
|
+
```yaml
|
|
178
|
+
assert_path: .assert/evaluation-policy.yaml
|
|
179
|
+
acs_path: acs.yaml
|
|
180
|
+
redteam_path: .agentops/governance/redteam-plan.md
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
AgentOps records path, hash, status, and ACS checkpoint coverage in Doctor,
|
|
184
|
+
Cockpit, and release evidence. ASSERT execution, ACS enforcement, Guided
|
|
185
|
+
Guardrail setup, and red-team scans remain in their owning tools.
|
|
186
|
+
|
|
169
187
|
## Evaluation Scenarios
|
|
170
188
|
|
|
171
189
|
AgentOps auto-selects common evaluation patterns from the dataset:
|
|
@@ -141,10 +141,12 @@ flowchart TD
|
|
|
141
141
|
A["CLI parses args"] --> B["Load agentops.yaml"]
|
|
142
142
|
B --> C["classify_agent"]
|
|
143
143
|
C --> D["Pre-flight checks"]
|
|
144
|
-
D --> E
|
|
145
|
-
E
|
|
146
|
-
F --> G["
|
|
147
|
-
G --> H["
|
|
144
|
+
D --> E{"execution mode"}
|
|
145
|
+
E -->|local/cloud| F["Read JSONL dataset"]
|
|
146
|
+
F --> G["Invoke target per row or submit Foundry cloud eval"]
|
|
147
|
+
G --> H["Run/collect evaluator scores"]
|
|
148
|
+
E -->|azd| AZD["Call azd ai agent eval using eval.yaml"]
|
|
149
|
+
AZD --> H
|
|
148
150
|
H --> I["Evaluate thresholds"]
|
|
149
151
|
I --> J["Write results.json + report.md"]
|
|
150
152
|
J --> K["Sync .agentops/results/latest"]
|
|
@@ -164,7 +166,8 @@ fail, and `1` for runtime or configuration errors.
|
|
|
164
166
|
AgentOps does not create a second production gate with a new exit-code
|
|
165
167
|
contract. Instead, it projects the signals already produced by evals, Doctor,
|
|
166
168
|
workflow files, Foundry control-plane checks, Azure Monitor, AI Landing Zone
|
|
167
|
-
readiness,
|
|
169
|
+
readiness, trace-regression manifests, and optional governance artifacts
|
|
170
|
+
(ASSERT, ACS, red-team evidence indexes) into a release evidence pack:
|
|
168
171
|
|
|
169
172
|
```mermaid
|
|
170
173
|
flowchart LR
|
|
@@ -175,6 +178,7 @@ flowchart LR
|
|
|
175
178
|
PT --> M["trace-regression-manifest.json"]
|
|
176
179
|
M --> P
|
|
177
180
|
W["workflow generate"] --> P
|
|
181
|
+
G["ASSERT / ACS / red-team evidence paths"] --> P
|
|
178
182
|
P --> J["evidence.json/evidence.md"]
|
|
179
183
|
```
|
|
180
184
|
|
|
@@ -185,6 +189,10 @@ flowchart LR
|
|
|
185
189
|
- Trace promotion is local and review-first. `self-similarity` labels are useful
|
|
186
190
|
for drift detection, not human-verified correctness; use `--label-mode pending`
|
|
187
191
|
when a person must fill expected answers before the dataset can gate.
|
|
192
|
+
- Governance artifacts are evidence-only references. AgentOps records path,
|
|
193
|
+
SHA-256 hash, file size, schema version when available, and ACS checkpoint
|
|
194
|
+
coverage; it does not execute ASSERT, apply ACS controls, configure Guided
|
|
195
|
+
Guardrails, or run red-team campaigns.
|
|
188
196
|
|
|
189
197
|
## Analyze / Generate Boundary
|
|
190
198
|
|
|
@@ -62,6 +62,24 @@ hosted endpoint itself is the per-environment artifact.
|
|
|
62
62
|
> collisions become a real problem); dev is the gated promotion target
|
|
63
63
|
> CI writes to.
|
|
64
64
|
|
|
65
|
+
> **Name the Azure resources before provisioning.** When you use the Foundry
|
|
66
|
+
> portal, `microsoft-foundry` skill, or Foundry Toolkit for this tutorial, specify
|
|
67
|
+
> the resource group, Foundry / AI Services resource name, region, and model
|
|
68
|
+
> deployment explicitly (for example `rg-agentops-travel-<your-alias>`,
|
|
69
|
+
> `foundry-agentops-travel-<your-alias>`, `East US 2`, and `gpt-4o-mini`).
|
|
70
|
+
> Replace `<your-alias>` with a short unique suffix when multiple people share
|
|
71
|
+
> the same subscription. Resource group names are unique within a subscription;
|
|
72
|
+
> Foundry / AI Services resource names should also be unique enough to avoid
|
|
73
|
+
> Azure naming conflicts. Also ask the skill/tool to grant or verify `Foundry
|
|
74
|
+
> User` access for your signed-in user (some portal screens still call this
|
|
75
|
+
> `Azure AI User`) and `Cognitive Services OpenAI User` data-plane access for
|
|
76
|
+
> your signed-in user plus any Foundry/Azure AI managed identities that will
|
|
77
|
+
> call evaluator models. A single shared resource group is easiest for demos
|
|
78
|
+
> because RBAC and cleanup happen once; production environments may use separate
|
|
79
|
+
> resource groups per stage. For a fuller Azure baseline with networking,
|
|
80
|
+
> identity, security, and operations patterns, see
|
|
81
|
+
> [Azure AI Landing Zone](https://aka.ms/ailz).
|
|
82
|
+
|
|
65
83
|
## The cross-environment identity story (versioning callout)
|
|
66
84
|
|
|
67
85
|
Each environment's Foundry version numbers or endpoint URLs diverge, but the
|
|
@@ -286,36 +304,52 @@ for creating agents, tools, tracing, evaluation, and red-team scans:
|
|
|
286
304
|
https://github.com/Azure-Samples/microsoft-foundry-e2e-agent-observability-workshop/tree/2026-04-aie-europe
|
|
287
305
|
```
|
|
288
306
|
|
|
289
|
-
### Grant data-plane access to your identity and Foundry managed identities
|
|
307
|
+
### Grant agent-build and data-plane access to your identity and Foundry managed identities
|
|
290
308
|
|
|
291
309
|
Both options above (prompt agent and hosted HTTP agent) eventually drive
|
|
292
310
|
an `agentops eval run` that calls chat-completions on the AI Services
|
|
293
311
|
account behind your Foundry project — either through Foundry's cloud
|
|
294
312
|
graders or through the local AI-assisted evaluators. Creating a project
|
|
295
313
|
through the portal assigns you `Foundry User` **only at the project
|
|
296
|
-
scope
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
314
|
+
scope**. Creating/building agents in the Foundry UI can also require
|
|
315
|
+
`Foundry User` on the parent Foundry / AI Services resource; some portal screens
|
|
316
|
+
still use the previous role name, `Azure AI User`. `Foundry User` does not cover
|
|
317
|
+
OpenAI data-plane actions on the parent account. Subscription `Owner` is
|
|
318
|
+
also insufficient: its built-in role definition has `actions: ["*"]` but
|
|
319
|
+
`dataActions: []`. Skipping the OpenAI role is what causes the eval to fail
|
|
320
|
+
later with `PermissionDenied` on
|
|
300
321
|
`Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/
|
|
301
322
|
completions/action`.
|
|
302
323
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
324
|
+
If your skill/tool already confirmed these role assignments, treat the commands
|
|
325
|
+
below as a verification/fallback step. Otherwise, run these assignments once per
|
|
326
|
+
AI Services account that hosts a Foundry project you will evaluate against. Cloud
|
|
327
|
+
evaluations run server-side and some agent or grader calls may authenticate as
|
|
328
|
+
Foundry/Azure AI managed identities, not only as your signed-in user. Assigning
|
|
329
|
+
the role only to your user can still leave graders failing with
|
|
330
|
+
`AuthenticationError`. Replace `<resource-group>` with the resource group you
|
|
331
|
+
chose above, for example `rg-agentops-travel-<your-alias>`, and
|
|
332
|
+
`<account-name>` with the parent Foundry / AI Services account name.
|
|
308
333
|
|
|
309
334
|
```powershell
|
|
310
335
|
$subscriptionId = az account show --query id -o tsv
|
|
311
336
|
$resourceGroup = "<resource-group>"
|
|
312
|
-
$
|
|
337
|
+
$accountName = "<account-name>"
|
|
338
|
+
$accountScope = az cognitiveservices account show `
|
|
339
|
+
--resource-group $resourceGroup `
|
|
340
|
+
--name $accountName `
|
|
341
|
+
--query id -o tsv
|
|
313
342
|
$userObjectId = az ad signed-in-user show --query id -o tsv
|
|
314
343
|
|
|
315
344
|
az role assignment create `
|
|
316
345
|
--assignee $userObjectId `
|
|
317
|
-
--role "
|
|
318
|
-
--scope $
|
|
346
|
+
--role "53ca6127-db72-4b80-b1b0-d745d6d5456d" `
|
|
347
|
+
--scope $accountScope
|
|
348
|
+
|
|
349
|
+
az role assignment create `
|
|
350
|
+
--assignee $userObjectId `
|
|
351
|
+
--role "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" `
|
|
352
|
+
--scope $accountScope
|
|
319
353
|
|
|
320
354
|
az resource list -g $resourceGroup `
|
|
321
355
|
--query "[?identity.principalId!=null].identity.principalId" -o tsv |
|
|
@@ -323,8 +357,8 @@ az resource list -g $resourceGroup `
|
|
|
323
357
|
az role assignment create `
|
|
324
358
|
--assignee-object-id $_ `
|
|
325
359
|
--assignee-principal-type ServicePrincipal `
|
|
326
|
-
--role "
|
|
327
|
-
--scope $
|
|
360
|
+
--role "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" `
|
|
361
|
+
--scope $accountScope
|
|
328
362
|
}
|
|
329
363
|
```
|
|
330
364
|
|
|
@@ -844,7 +878,22 @@ Use AgentOps for the repo-side follow-through:
|
|
|
844
878
|
1. Add safety/adversarial rows to your eval dataset when there are repeatable
|
|
845
879
|
cases worth gating in CI.
|
|
846
880
|
2. Keep the Foundry red-team scan URL or summary with the release review.
|
|
847
|
-
|
|
881
|
+
Store only safe metadata in the repo, for example
|
|
882
|
+
`.agentops/governance/redteam-plan.md`; keep raw payloads/results in the
|
|
883
|
+
approved secure system.
|
|
884
|
+
3. If you use ASSERT or Agent Control Specification, add reviewed artifacts to
|
|
885
|
+
the repo or CI artifacts and point AgentOps at them:
|
|
886
|
+
|
|
887
|
+
```yaml
|
|
888
|
+
assert_path: .assert/evaluation-policy.yaml
|
|
889
|
+
acs_path: acs.yaml
|
|
890
|
+
redteam_path: .agentops/governance/redteam-plan.md
|
|
891
|
+
```
|
|
892
|
+
|
|
893
|
+
AgentOps records path, SHA-256 hash, status, and ACS checkpoint coverage in
|
|
894
|
+
release evidence. ASSERT execution, ACS enforcement, Guided Guardrail setup,
|
|
895
|
+
and red-team scans remain in their owning tools.
|
|
896
|
+
4. Re-run Doctor and evidence:
|
|
848
897
|
|
|
849
898
|
```powershell
|
|
850
899
|
agentops doctor --workspace . --evidence-pack
|
|
@@ -932,6 +981,8 @@ You are ready for a release review when:
|
|
|
932
981
|
Insights, and Operate Ask AI was used for an aggregate summary when
|
|
933
982
|
available.
|
|
934
983
|
- Foundry red-team scans are linked or tracked as a release action.
|
|
984
|
+
- ASSERT / ACS / red-team artifacts are represented as evidence-only
|
|
985
|
+
references when your governance process uses them.
|
|
935
986
|
- Trace learnings have a path back into regression candidates.
|
|
936
987
|
|
|
937
988
|
## Where to go next
|
{agentops_accelerator-0.3.7 → agentops_accelerator-0.3.9}/docs/tutorial-hosted-agent-quickstart.md
RENAMED
|
@@ -143,6 +143,24 @@ FastAPI sample below emits custom OpenTelemetry spans only after you enable the
|
|
|
143
143
|
observability step; a real Foundry Hosted Agent emits richer Foundry runtime
|
|
144
144
|
spans.
|
|
145
145
|
|
|
146
|
+
> **Name the Azure container resources up front.** If you use the
|
|
147
|
+
> `microsoft-foundry` skill or Foundry Toolkit to create a hosted-agent project,
|
|
148
|
+
> tell it the resource group, Foundry / AI Services resource name, region, and
|
|
149
|
+
> model deployment you want, for example `rg-agentops-travel-<your-alias>`,
|
|
150
|
+
> `foundry-agentops-travel-<your-alias>`, `East US 2`, and `gpt-4o-mini`.
|
|
151
|
+
> Replace `<your-alias>` with a short unique suffix when multiple people share
|
|
152
|
+
> the same subscription. Resource group names are unique within a subscription;
|
|
153
|
+
> Foundry / AI Services resource names should also be unique enough to avoid
|
|
154
|
+
> Azure naming conflicts. Also ask the skill/tool to grant or verify `Foundry
|
|
155
|
+
> User` access for your signed-in user (some portal screens still call this
|
|
156
|
+
> `Azure AI User`) and `Cognitive Services OpenAI User` data-plane access for
|
|
157
|
+
> your signed-in user plus any Foundry/Azure AI managed identities that will
|
|
158
|
+
> call evaluator models. For a recorded tutorial, one shared resource group is
|
|
159
|
+
> easiest because RBAC and cleanup happen in one place; production teams may
|
|
160
|
+
> split resource groups by environment. For a fuller Azure baseline with
|
|
161
|
+
> networking, identity, security, and operations patterns, see
|
|
162
|
+
> [Azure AI Landing Zone](https://aka.ms/ailz).
|
|
163
|
+
|
|
146
164
|
## 1. Create a clean workspace and install dependencies
|
|
147
165
|
|
|
148
166
|
```powershell
|
|
@@ -310,34 +328,49 @@ If the deployed endpoint needs a bearer token:
|
|
|
310
328
|
$env:HOSTED_AGENT_TOKEN = "<token>"
|
|
311
329
|
```
|
|
312
330
|
|
|
313
|
-
### Grant data-plane access to your identity and Foundry managed identities
|
|
331
|
+
### Grant agent-build and data-plane access to your identity and Foundry managed identities
|
|
314
332
|
|
|
315
333
|
The local AI-assisted evaluators that AgentOps runs in step 8 call
|
|
316
334
|
chat-completions on the AI Services account that backs your Foundry
|
|
317
335
|
project. Creating a project through the portal only assigns you
|
|
318
|
-
`Foundry User` **at the project scope
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
`
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
336
|
+
`Foundry User` **at the project scope**. Creating/building agents in the
|
|
337
|
+
Foundry UI can also require `Foundry User` on the parent Foundry / AI Services
|
|
338
|
+
resource; some portal screens still use the previous role name,
|
|
339
|
+
`Azure AI User`. `Foundry User` also does not cover the OpenAI data-plane action on
|
|
340
|
+
the parent account. Even subscription `Owner` is insufficient: the built-in
|
|
341
|
+
`Owner` role has `actions: ["*"]` but `dataActions: []`. Skipping the OpenAI
|
|
342
|
+
role causes the eval to fail with `PermissionDenied` on
|
|
343
|
+
`Microsoft.CognitiveServices/accounts/OpenAI/deployments/chat/completions/action`.
|
|
344
|
+
|
|
345
|
+
If your skill/tool already confirmed these role assignments, treat the commands
|
|
346
|
+
below as a verification/fallback step. Otherwise, run these assignments once per
|
|
347
|
+
AI Services account hosting a Foundry project you will evaluate against. Local
|
|
348
|
+
AI-assisted evaluators use your identity, while Foundry-hosted/server-side eval
|
|
349
|
+
paths may use Azure AI managed identities from the same resource group.
|
|
350
|
+
Assigning only the user can still leave server-side graders failing with
|
|
351
|
+
`AuthenticationError`. Replace `<resource-group>` with the resource group you
|
|
352
|
+
chose above, for example `rg-agentops-travel-<your-alias>`, and
|
|
353
|
+
`<account-name>` with the parent Foundry / AI Services account name.
|
|
330
354
|
|
|
331
355
|
```powershell
|
|
332
356
|
$subscriptionId = az account show --query id -o tsv
|
|
333
357
|
$resourceGroup = "<resource-group>"
|
|
334
|
-
$
|
|
358
|
+
$accountName = "<account-name>"
|
|
359
|
+
$accountScope = az cognitiveservices account show `
|
|
360
|
+
--resource-group $resourceGroup `
|
|
361
|
+
--name $accountName `
|
|
362
|
+
--query id -o tsv
|
|
335
363
|
$userObjectId = az ad signed-in-user show --query id -o tsv
|
|
336
364
|
|
|
337
365
|
az role assignment create `
|
|
338
366
|
--assignee $userObjectId `
|
|
339
|
-
--role "
|
|
340
|
-
--scope $
|
|
367
|
+
--role "53ca6127-db72-4b80-b1b0-d745d6d5456d" `
|
|
368
|
+
--scope $accountScope
|
|
369
|
+
|
|
370
|
+
az role assignment create `
|
|
371
|
+
--assignee $userObjectId `
|
|
372
|
+
--role "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" `
|
|
373
|
+
--scope $accountScope
|
|
341
374
|
|
|
342
375
|
az resource list -g $resourceGroup `
|
|
343
376
|
--query "[?identity.principalId!=null].identity.principalId" -o tsv |
|
|
@@ -345,8 +378,8 @@ az resource list -g $resourceGroup `
|
|
|
345
378
|
az role assignment create `
|
|
346
379
|
--assignee-object-id $_ `
|
|
347
380
|
--assignee-principal-type ServicePrincipal `
|
|
348
|
-
--role "
|
|
349
|
-
--scope $
|
|
381
|
+
--role "5e0bd9bd-7b93-4f28-af87-19fc36ad61bd" `
|
|
382
|
+
--scope $accountScope
|
|
350
383
|
}
|
|
351
384
|
```
|
|
352
385
|
|
|
@@ -799,6 +832,11 @@ You are done when:
|
|
|
799
832
|
`.agentops/release/latest/evidence.md`, and the workflow summary
|
|
800
833
|
surfaces its Doctor finding summary.
|
|
801
834
|
- Cockpit opens and shows the local eval history plus Doctor readiness.
|
|
835
|
+
- Optional ASSERT, ACS, and red-team evidence artifacts are either absent
|
|
836
|
+
(Doctor stays silent) or wired through `assert_path`, `acs_path`, and
|
|
837
|
+
`redteam_path` in `agentops.yaml`. AgentOps cites their status/hash in release
|
|
838
|
+
evidence; it does not execute ASSERT, apply ACS controls, or run red-team
|
|
839
|
+
campaigns.
|
|
802
840
|
|
|
803
841
|
## Where to go next
|
|
804
842
|
|