agentops-accelerator 0.3.1__tar.gz → 0.3.3__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.1 → agentops_accelerator-0.3.3}/.claude-plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/plugin/marketplace.json +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/CHANGELOG.md +167 -0
- {agentops_accelerator-0.3.1/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.3}/PKG-INFO +15 -15
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/tutorial-end-to-end.md +18 -16
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/tutorial-hosted-agent-quickstart.md +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/tutorial-prompt-agent-quickstart.md +122 -80
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/package.json +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/plugin.json +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/pyproject.toml +15 -15
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/results_history.py +24 -6
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/cli/app.py +3 -2
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/prompt_deploy.py +36 -10
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/cicd.py +40 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prompt-agent.yml +3 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-pr-prompt-agent.yml +2 -2
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-pr.yml +1 -2
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/pipelines/azuredevops/agentops-watchdog.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-dev-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-dev.yml +1 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-prod-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-prod.yml +1 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-prompt-agent.yml +3 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-qa-azd.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-deploy-qa.yml +1 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-pr-prompt-agent.yml +2 -2
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-pr.yml +1 -3
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/workflows/agentops-watchdog.yml +1 -1
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3/src/agentops_accelerator.egg-info}/PKG-INFO +15 -15
- agentops_accelerator-0.3.3/src/agentops_accelerator.egg-info/requires.txt +25 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_results_history.py +141 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cicd.py +96 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_prompt_deploy.py +80 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/uv.lock +26 -26
- agentops_accelerator-0.3.1/src/agentops_accelerator.egg-info/requires.txt +0 -25
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.gitattributes +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/actions/azure-oidc-login/action.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/code-quality-py.instructions.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/copilot-instructions.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/dependabot.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/extensions/agentops-skills/extension.mjs +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/skills/release-management/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/_build.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/agentops-watchdog.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/ci.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/cut-release.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/e2e.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/release.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.github/workflows/staging.yml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.gitignore +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.pre-commit-config.yaml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.vscode/launch.json +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.vscode/settings.json +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/.vscode/tasks.json +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/AGENTS.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/CONTRIBUTING.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/LICENSE +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/README.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/SECURITY.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/bundles.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/ci-github-actions.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/concepts.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/doctor-checks.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/doctor-explained.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/e2e-live-architecture.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/e2e-live-setup.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/foundry-evaluation-sdk-built-in-evaluators.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/how-it-works.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/media/agentops-diagrams.vsdx +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/media/foundry-control-plane.png +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/release-process.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/examples/flat-quickstart/README.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/examples/flat-quickstart/agentops.yaml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/examples/flat-quickstart/dataset.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/icon.png +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/agent-app/Dockerfile +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/agent-app/app.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/agent-app/requirements.txt +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/bootstrap.bicep +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/bootstrap.parameters.example.json +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/infra/e2e/perrun.bicep +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/launch.json +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/media/foundry.svg +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/media/quickstart.gif +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/.vscodeignore +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/LICENSE +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/README.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/plugins/agentops/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/create_support_agent.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/cut-release.ps1 +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/cut-release.sh +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_aggregate_summary.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_data/basic.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_data/rag.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_data/tools.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_demo.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_hosted_agent.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_make_transcript.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/e2e_render_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/release.ps1 +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/release.sh +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/setup-e2e-new-tenant.ps1 +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/staging.ps1 +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/staging.sh +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/sync-skills.ps1 +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/scripts/sync-skills.sh +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/setup.cfg +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/__main__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/_legacy_ids.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/analyzer.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/catalog.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/errors.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/foundry_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/latency.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/opex.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/opex_workspace.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/content_filter.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/diagnostics.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/local_auth.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/managed_identity.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/posture_rules/network.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/regression.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/release_readiness.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/safety.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/checks/spec_conformance.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/cockpit.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/findings.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/history.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/knowledge/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/knowledge/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_base.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_bundle_rule.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_client.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_dataset_rules.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_engine.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_prompt_rules.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/llm_assist/_spec_rules.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/production_telemetry.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/report.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/server/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/server/app.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/server/auth.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/server/chat.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/server/protocol.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/azure_monitor.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/azure_resources.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/foundry_control.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/spec_detectors/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/spec_detectors/_base.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/spec_detectors/agents_md.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/sources/spec_detectors/spec_kit.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/agent/time_range.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/cli/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/agentops_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/config_loader.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/evaluators.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/release_evidence.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/core/results.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/mcp/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/mcp/server.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/cloud_results.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/cloud_runner.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/comparison.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/diagnostics.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/invocations.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/official_eval.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/orchestrator.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/publisher.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/reporter.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/runtime.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/pipeline/thresholds.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/eval_analysis.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/evidence_pack.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/initializer.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/preflight.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/setup_wizard.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/skills.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/trace_promotion.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/services/workflow_analysis.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/.gitignore +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/agent-server/Dockerfile +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/agent-server/README.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/agent-server/main.bicep +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/agent.yaml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/agentops.yaml +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/foundry.svg +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/icon.png +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/project.gitignore +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/sample-traces.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-agent/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-config/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-dataset/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-eval/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-report/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/skills/agentops-workflow/SKILL.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/smoke.jsonl +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/waf-checklist.README.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/templates/waf-checklist.csv +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/__init__.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/azd_env.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/colors.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/logging.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/telemetry.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops/utils/yaml.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops_accelerator.egg-info/SOURCES.txt +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops_accelerator.egg-info/dependency_links.txt +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops_accelerator.egg-info/entry_points.txt +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/src/agentops_accelerator.egg-info/top_level.txt +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/TESTING.md +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/fixtures/fake_adapter.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/fixtures/fake_eval_runner.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/integration/.gitkeep +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/integration/test_cli_flat_schema.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/integration/test_pipeline_smoke.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/.gitkeep +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_analyzer.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_categories.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_errors.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_foundry_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_opex.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_opex_workspace.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_regression.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_safety.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_checks_spec_conformance.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_cli.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_findings.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_history.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_opex_workspace_check.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_posture_rules.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agent_server.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_agentops_config.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_azd_env.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_azure_endpoints.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_azure_resources_discovery.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cli_cockpit_connection_summary.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cli_cockpit_port_conflict.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cli_commands.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cli_explain.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cloud_results.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cloud_runner.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_cockpit.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_diagnostics.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_doctor_catalog.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_doctor_cli_explain.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_dotenv_loader.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_e2e_render.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_eval_analysis.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_evaluators.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_foundry_discovery.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_init_command.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_initializer.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_invocations.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_knowledge_loader.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_llm_assist.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_llm_assist_spec_rules.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_mcp_server.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_official_eval.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_pipeline_publisher.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_pipeline_reporter.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_preflight.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_production_telemetry.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_release_evidence.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_runtime_conversation.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_setup_wizard.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_skills.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_skills_sync.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_telemetry.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_time_range.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_trace_promotion.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tests/unit/test_workflow_analysis.py +0 -0
- {agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/tombstones/vscode/CDN_DEPRECATION_REQUEST.md +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.3",
|
|
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.3",
|
|
17
17
|
"keywords": [
|
|
18
18
|
"agentops",
|
|
19
19
|
"evaluation",
|
|
@@ -5,6 +5,173 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [0.3.3] - 2026-05-31
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- **Runtime dependencies now have upper bounds so a future SDK major release
|
|
12
|
+
cannot silently break installs.** `pyproject.toml` previously declared every
|
|
13
|
+
Azure-SDK dependency with only a lower bound (e.g. `azure-ai-projects>=2.0.1`),
|
|
14
|
+
so `pip install agentops-accelerator` could resolve `azure-ai-projects 3.x`
|
|
15
|
+
the day after that ships and break the agent-definition serialization (the
|
|
16
|
+
exact failure mode that produced the `invalid_payload — Required properties
|
|
17
|
+
["kind"] are not present` regression below). Each Azure SDK dependency
|
|
18
|
+
(`azure-ai-projects`, `azure-ai-evaluation`, `azure-identity`, `azure-monitor-*`,
|
|
19
|
+
`azure-mgmt-*`) is now constrained to its current major. `pandas`, `fastapi`,
|
|
20
|
+
`uvicorn`, `httpx`, and `markdown` are similarly capped to their next major.
|
|
21
|
+
`cryptography` is intentionally left unbounded so security patches can flow
|
|
22
|
+
through without a coordinated AgentOps release. Lift any of these bounds via
|
|
23
|
+
an explicit PR that exercises the new SDK against `tests/`.
|
|
24
|
+
|
|
25
|
+
- **`agentops workflow generate` now stamps the installed agentops version
|
|
26
|
+
into generated CI/CD templates instead of always installing from
|
|
27
|
+
`git+...@main`.** Every generated `agentops-pr.yml`, `agentops-deploy-*.yml`,
|
|
28
|
+
`agentops-watchdog.yml` (and their Azure DevOps pipeline equivalents) used to
|
|
29
|
+
contain `pip install "agentops-accelerator[...] @ git+https://github.com/Azure/agentops.git@main"`,
|
|
30
|
+
with no version pin and a stale "NOTE: pinned to GitHub main until the next
|
|
31
|
+
package release" comment. User CI runs were therefore non-reproducible: the
|
|
32
|
+
same workflow file pulled different agentops snapshots day to day, which is
|
|
33
|
+
how PO's recorded tutorial took a hard SDK regression mid-record. The
|
|
34
|
+
generator now writes a literal `==X.Y.Z` pin derived from the agentops version
|
|
35
|
+
currently installed on the machine running `agentops workflow generate` — so
|
|
36
|
+
a user who generates workflows against AgentOps `0.3.3` always installs
|
|
37
|
+
`agentops-accelerator==0.3.3` on every CI run, and `agentops-accelerator`
|
|
38
|
+
brings exact-major Azure SDKs along (per the upper bounds above). Editable
|
|
39
|
+
installs (versions carrying a local segment like `+gabcdef` or marked
|
|
40
|
+
`.devN`) keep the `@main` fallback so contributors testing template changes
|
|
41
|
+
still get a resolvable install. Existing user workflows are unaffected until
|
|
42
|
+
the user re-runs `agentops workflow generate --force` against a release of
|
|
43
|
+
AgentOps that ships this change.
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
- **Doctor regression check no longer flags the previous PR run as "current"
|
|
47
|
+
in CI.** The results-history loader (`agent/sources/results_history.py`)
|
|
48
|
+
was reading the wrong fields from `results.json` and excluding
|
|
49
|
+
`.agentops/results/latest/` from the candidate list. Three coordinated
|
|
50
|
+
schema-alignment fixes restore correctness:
|
|
51
|
+
1. `_summarize` now reads top-level `aggregate_metrics` first (the field
|
|
52
|
+
the orchestrator actually writes, per `core/results.py`), then falls
|
|
53
|
+
back to legacy `metrics`/`run_metrics`. Previously the loader looked
|
|
54
|
+
only at the legacy fields, so every freshly-written local
|
|
55
|
+
`RunSummary` had `metrics = {}` and the regression check could never
|
|
56
|
+
see the current run's metrics.
|
|
57
|
+
2. `_summarize` now reads `summary.overall_passed` first when deriving
|
|
58
|
+
the `run_pass` flag, then falls back to the legacy `summary.run_pass`
|
|
59
|
+
/ `metrics.run_pass` shapes.
|
|
60
|
+
3. `_summarize` now orders runs by `timestamp` → `finished_at` →
|
|
61
|
+
`started_at` → `created_at` → `summary.timestamp`. The previous list
|
|
62
|
+
omitted `finished_at`/`started_at`, which are the two fields
|
|
63
|
+
`results.json` actually contains, so every loaded run defaulted to
|
|
64
|
+
epoch-zero ordering.
|
|
65
|
+
4. `_collect_local_runs` now includes `.agentops/results/latest/` when it
|
|
66
|
+
is the only local results directory. In CI, generated workflows run
|
|
67
|
+
`agentops eval run --output .agentops/results/latest` and write
|
|
68
|
+
nowhere else; the old loader unconditionally skipped `latest/` for
|
|
69
|
+
dev-mode dedup, so in CI `local_runs` was always empty. With cloud
|
|
70
|
+
listing trailing behind by seconds (eventual consistency), the
|
|
71
|
+
regression check would then compute `latest = previous_run` and
|
|
72
|
+
blame the just-completed candidate's coherence/groundedness on the
|
|
73
|
+
prior PR. Dev-mode dedup is preserved: when a timestamped sibling
|
|
74
|
+
exists, `latest/` is still skipped.
|
|
75
|
+
- **Prompt-agent deploy: `stage` no longer fails with `Required properties ["kind"] are not present` against `azure-ai-projects` 2.x.**
|
|
76
|
+
`_copy_definition` previously called `.copy()` on the typed
|
|
77
|
+
`PromptAgentDefinition` returned by `get_version`. In SDK 1.x that
|
|
78
|
+
preserved the typed model so the body serialized as a flat
|
|
79
|
+
`{"kind": "prompt", "model": ..., "instructions": ...}`. In SDK 2.x
|
|
80
|
+
the same `.copy()` returns a stripped base `Model` whose JSON shape
|
|
81
|
+
is `{"_data": {"kind": "prompt", ...}}`, and `.get("kind")` returns
|
|
82
|
+
`None` — so the request body that reached the Foundry Agents service
|
|
83
|
+
contained `definition: {"_data": {...}}` with no top-level `kind`,
|
|
84
|
+
and the service rejected it with `invalid_payload`. This regression
|
|
85
|
+
only fired on the `created` action path (i.e. when the user's prompt
|
|
86
|
+
differed from the seed); the `reused` and bootstrap paths were
|
|
87
|
+
unaffected because they don't round-trip the typed model through
|
|
88
|
+
`.copy()`. `_copy_definition` now normalizes any SDK definition
|
|
89
|
+
object to a plain `dict` before mutation, and `_create_agent_version`
|
|
90
|
+
no longer puts a root-level `kind` on the request body (the new API
|
|
91
|
+
treats `kind` strictly as the discriminator inside `definition`).
|
|
92
|
+
- **Tutorial: prompt-agent step 13 now shows the steady-state `foundry-agent.json` (action: reused) instead of the bootstrap edge case.**
|
|
93
|
+
The example JSON in step 13 previously showed `action: bootstrapped`
|
|
94
|
+
with `candidate_agent: "travel-agent:1"` and a "the two numbers are
|
|
95
|
+
expected to differ until the environment has caught up to the seed"
|
|
96
|
+
explanation. In practice the merge-triggered deploy is almost never
|
|
97
|
+
the run that bootstraps — by the time the user reaches step 13, the
|
|
98
|
+
skill's verification dispatch in step 12 plus the first PR run have
|
|
99
|
+
already settled dev to `travel-agent:2`, so the merge deploy reports
|
|
100
|
+
`action: reused` with `candidate_agent: "travel-agent:2"` (matching
|
|
101
|
+
`source_agent`). The example now shows the steady-state shape (taken
|
|
102
|
+
from a real recording), uses the runner-resolved absolute paths the
|
|
103
|
+
user actually sees (`/home/runner/work/<your-repo>/...`), and uses a
|
|
104
|
+
real 64-char `prompt_sha256` + a real ISO timestamp. The
|
|
105
|
+
three-outcome list (`reused` / `created` / `bootstrapped`) below the
|
|
106
|
+
JSON keeps the bootstrap case as the documented edge condition.
|
|
107
|
+
- **Tutorial: prompt-agent step 13 now matches what the workflow skill actually does (dispatches both workflows).**
|
|
108
|
+
PR #211 mistakenly narrowed the step 13 callout to say the workflow
|
|
109
|
+
skill only dispatches `agentops-pr.yml` as a verification run, based
|
|
110
|
+
on incorrect reasoning about `push:` triggers (the skill actually
|
|
111
|
+
uses `workflow_dispatch`, which works against any branch regardless
|
|
112
|
+
of the workflow's `push:` block). In practice — verified against a
|
|
113
|
+
live recording — the skill dispatches **both** `agentops-pr.yml`
|
|
114
|
+
and `agentops-deploy-dev.yml` end-to-end as part of CI verification,
|
|
115
|
+
asking the user to approve first per SKILL.md rule #14. The step 13
|
|
116
|
+
callout now reflects this and explains the expected outcome (both
|
|
117
|
+
runs may exit `threshold_failed` on first contact with an empty dev
|
|
118
|
+
project because the bootstrap path produces a fresh `travel-agent:1`
|
|
119
|
+
that has not been measured against the seed thresholds yet — by
|
|
120
|
+
design, not a CI wiring failure). The "What you should see in the
|
|
121
|
+
first PR workflow run" section also updates from the
|
|
122
|
+
"dev is still empty" assumption (which becomes false after the
|
|
123
|
+
skill's verification dispatch) to the three possible outcomes
|
|
124
|
+
(`reused` / `created` / `bootstrapped`) you can actually see at this
|
|
125
|
+
point. The "After the merge" paragraph now calls out that the
|
|
126
|
+
merge-triggered deploy is the **second** deploy-dev run for the
|
|
127
|
+
repo, not the first.
|
|
128
|
+
- **Tutorials: end-to-end audit caught misleading dist URLs, phantom CLI commands, missing JSON fields, and stale Doctor advisory text.**
|
|
129
|
+
All three tutorials previously installed the development build from a
|
|
130
|
+
personal fork URL (`git+https://github.com/placerda/agentops.git@develop`);
|
|
131
|
+
they now point at the canonical
|
|
132
|
+
`git+https://github.com/Azure/agentops.git@develop`. The prompt-agent
|
|
133
|
+
tutorial referenced a non-existent `prompt_deploy record` subcommand in
|
|
134
|
+
two places — the actual command is `prompt_deploy summarize`, matching
|
|
135
|
+
`src/agentops/pipeline/prompt_deploy.py` and the deploy template's
|
|
136
|
+
`Mark candidate as deployed` step. The same tutorial's `foundry-agent.json`
|
|
137
|
+
sample was missing the `eval_config` field that the code writes at
|
|
138
|
+
`src/agentops/pipeline/prompt_deploy.py:186`. The step 12 skill prompt
|
|
139
|
+
and the step 13 prose did not tell the reader to rewrite the dev-deploy
|
|
140
|
+
trigger from `develop` to `main` for this trunk-on-`main` tutorial; the
|
|
141
|
+
generator's stock default is `develop`, which would silently no-op after
|
|
142
|
+
the first merge. Step 12 now instructs the skill to do the rewrite (and
|
|
143
|
+
the bullet list of skill actions calls it out as a required step, with
|
|
144
|
+
a manual-edit fallback). Step 13's "deploy fires automatically on `main`"
|
|
145
|
+
sentence now states the dependency on the step 12 rewrite explicitly,
|
|
146
|
+
and the placeholder phrase "your trunk branch" is now disambiguated as
|
|
147
|
+
"`main` in this tutorial". The end-to-end tutorial's step 5 and step 9
|
|
148
|
+
Doctor descriptions still read as if Doctor were advisory-only in PR
|
|
149
|
+
workflows — that text predates the `--doctor-gate critical` default;
|
|
150
|
+
both blocks now describe the actual behavior (critical findings block
|
|
151
|
+
the PR by default; warning/info are evidence-only).
|
|
152
|
+
|
|
153
|
+
### Changed
|
|
154
|
+
- **Tutorials: skip-if-skill callouts now state the skill's outcome directly and accurately.**
|
|
155
|
+
The `step 13` callout in `docs/tutorial-prompt-agent-quickstart.md` and the
|
|
156
|
+
baseline-run paragraph in `docs/tutorial-end-to-end.md` previously opened
|
|
157
|
+
with "if you used the workflow skill, this is already done…" plus a
|
|
158
|
+
manual-fallback block. That conditional framing was confusing because the
|
|
159
|
+
preceding step (`step 12` of the prompt-agent tutorial, `step 5` of the
|
|
160
|
+
end-to-end tutorial) only documents the workflow-skill path — there is no
|
|
161
|
+
alternative wired-by-hand path the reader could have taken. Both callouts
|
|
162
|
+
now state the skill's outcome directly, and the redundant `git add` /
|
|
163
|
+
`commit` / `push` and `gh workflow run agentops-pr.yml --ref main` blocks
|
|
164
|
+
have been removed (the skill already triggers the first run). A small
|
|
165
|
+
`gh run list` / `gh run watch` snippet remains as an opt-in way to wait
|
|
166
|
+
on the run from the terminal instead of the Actions UI. The previous
|
|
167
|
+
wording also over-claimed that the skill triggered verification runs of
|
|
168
|
+
**both** `agentops-pr.yml` and `agentops-deploy-dev.yml`; the skill only
|
|
169
|
+
dispatches the PR workflow as a sanity check (`workflow_dispatch`), while
|
|
170
|
+
`agentops-deploy-dev.yml` triggers on the first real merge into the trunk
|
|
171
|
+
branch. The callout now reflects this accurately and notes that the
|
|
172
|
+
deploy-dev run happens at the end of the section, not during the skill's
|
|
173
|
+
setup.
|
|
174
|
+
|
|
8
175
|
## [0.3.1] - 2026-05-29
|
|
9
176
|
|
|
10
177
|
### Changed
|
{agentops_accelerator-0.3.1/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.3}/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.3
|
|
4
4
|
Summary: Release readiness gates and evidence for Microsoft Foundry agents
|
|
5
5
|
License: MIT License
|
|
6
6
|
|
|
@@ -30,25 +30,25 @@ License-File: LICENSE
|
|
|
30
30
|
Requires-Dist: typer<1.0,>=0.12
|
|
31
31
|
Requires-Dist: pydantic<3,>=2
|
|
32
32
|
Requires-Dist: ruamel.yaml<1.0,>=0.18
|
|
33
|
-
Requires-Dist: azure-ai-projects
|
|
33
|
+
Requires-Dist: azure-ai-projects<3.0,>=2.0.1
|
|
34
34
|
Provides-Extra: mcp
|
|
35
35
|
Requires-Dist: mcp<2,>=1.0; extra == "mcp"
|
|
36
36
|
Provides-Extra: foundry
|
|
37
|
-
Requires-Dist: azure-ai-evaluation
|
|
38
|
-
Requires-Dist: azure-identity
|
|
39
|
-
Requires-Dist: azure-monitor-opentelemetry
|
|
40
|
-
Requires-Dist: pandas
|
|
37
|
+
Requires-Dist: azure-ai-evaluation<2.0,>=1.0; extra == "foundry"
|
|
38
|
+
Requires-Dist: azure-identity<2.0,>=1.17; extra == "foundry"
|
|
39
|
+
Requires-Dist: azure-monitor-opentelemetry<2.0,>=1.6; extra == "foundry"
|
|
40
|
+
Requires-Dist: pandas<3.0,>=2.0; extra == "foundry"
|
|
41
41
|
Provides-Extra: agent
|
|
42
|
-
Requires-Dist: fastapi
|
|
43
|
-
Requires-Dist: uvicorn[standard]
|
|
44
|
-
Requires-Dist: httpx
|
|
42
|
+
Requires-Dist: fastapi<1.0,>=0.110; extra == "agent"
|
|
43
|
+
Requires-Dist: uvicorn[standard]<1.0,>=0.30; extra == "agent"
|
|
44
|
+
Requires-Dist: httpx<1.0,>=0.27; extra == "agent"
|
|
45
45
|
Requires-Dist: cryptography>=42; extra == "agent"
|
|
46
|
-
Requires-Dist: markdown
|
|
47
|
-
Requires-Dist: azure-monitor-query
|
|
48
|
-
Requires-Dist: azure-monitor-opentelemetry
|
|
49
|
-
Requires-Dist: azure-identity
|
|
50
|
-
Requires-Dist: azure-mgmt-cognitiveservices
|
|
51
|
-
Requires-Dist: azure-mgmt-monitor
|
|
46
|
+
Requires-Dist: markdown<4.0,>=3.6; extra == "agent"
|
|
47
|
+
Requires-Dist: azure-monitor-query<2.0,>=1.3; extra == "agent"
|
|
48
|
+
Requires-Dist: azure-monitor-opentelemetry<2.0,>=1.6; extra == "agent"
|
|
49
|
+
Requires-Dist: azure-identity<2.0,>=1.17; extra == "agent"
|
|
50
|
+
Requires-Dist: azure-mgmt-cognitiveservices<14.0,>=13.5; extra == "agent"
|
|
51
|
+
Requires-Dist: azure-mgmt-monitor<7.0,>=6.0; extra == "agent"
|
|
52
52
|
Dynamic: license-file
|
|
53
53
|
|
|
54
54
|
<h1 align="center">AgentOps Accelerator</h1>
|
|
@@ -129,7 +129,7 @@ install the aligned reference branch so the CLI, generated workflows, and
|
|
|
129
129
|
tutorial steps stay in sync:
|
|
130
130
|
|
|
131
131
|
```powershell
|
|
132
|
-
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/
|
|
132
|
+
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/Azure/agentops.git@develop"
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
You will provide the target values through the interactive `agentops init`
|
|
@@ -451,9 +451,13 @@ The generated workflow prepares a temporary cloud config, runs
|
|
|
451
451
|
|
|
452
452
|
It also records release evidence after the gate.
|
|
453
453
|
|
|
454
|
-
|
|
455
|
-
gate
|
|
456
|
-
|
|
454
|
+
Doctor runs in the PR workflow with `--severity-fail critical` (the
|
|
455
|
+
`--doctor-gate critical` default). A critical Doctor finding — for example
|
|
456
|
+
`regression.coherence: critical` from a metric drop that still passes
|
|
457
|
+
thresholds — fails the PR check the same way an eval threshold breach
|
|
458
|
+
does. Warning- and info-level findings are advisory and attached to the
|
|
459
|
+
PR as evidence. Production deploy workflows always run Doctor with
|
|
460
|
+
`--severity-fail critical` regardless of this flag.
|
|
457
461
|
|
|
458
462
|
No tutorial-only Action replacement is needed. The generated workflow keeps the
|
|
459
463
|
evaluation in Foundry while AgentOps owns the CI threshold decision and the
|
|
@@ -468,14 +472,10 @@ and rerun the same gate.
|
|
|
468
472
|
|
|
469
473
|
### Prompt Agent regression
|
|
470
474
|
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
Evaluations link and keep that page open as the baseline. If you skipped the
|
|
476
|
-
skill and wired CI by hand, commit the generated workflow and `agentops.yaml`,
|
|
477
|
-
run `gh workflow run agentops-pr.yml --ref main`, and use that run as the
|
|
478
|
-
baseline.
|
|
475
|
+
The workflow skill in step 5 above already committed your changes, pushed
|
|
476
|
+
`main` to GitHub, and triggered a first verification run of `agentops-pr.yml`.
|
|
477
|
+
Open the latest workflow run's Foundry Evaluations link and keep that page
|
|
478
|
+
open as the baseline.
|
|
479
479
|
|
|
480
480
|
1. In Foundry, edit the `travel-agent` instructions to this intentionally bad
|
|
481
481
|
version:
|
|
@@ -755,10 +755,12 @@ show whether the repo has the release machinery reviewers expect. Use critical
|
|
|
755
755
|
findings as release blockers and warning/info findings as the backlog that turns
|
|
756
756
|
the POC into an operated service.
|
|
757
757
|
|
|
758
|
-
If those same Doctor findings appear inside a PR workflow,
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
758
|
+
If those same Doctor findings appear inside a PR workflow, critical
|
|
759
|
+
findings block the merge by default (the PR template runs Doctor with
|
|
760
|
+
`--severity-fail critical`, the `--doctor-gate critical` default); warning
|
|
761
|
+
and info findings are attached to the PR as evidence rather than as a
|
|
762
|
+
gate. Production deploy workflows always run Doctor with
|
|
763
|
+
`--severity-fail critical` and are the last-mile release gate.
|
|
762
764
|
|
|
763
765
|
Open both files. The Doctor report is the diagnostic view: it tells you which
|
|
764
766
|
signals are present, which are missing, and whether the finding is blocking or
|
{agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/tutorial-hosted-agent-quickstart.md
RENAMED
|
@@ -160,7 +160,7 @@ install the aligned reference branch so the CLI, generated workflows, and
|
|
|
160
160
|
tutorial steps stay in sync:
|
|
161
161
|
|
|
162
162
|
```powershell
|
|
163
|
-
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/
|
|
163
|
+
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/Azure/agentops.git@develop"
|
|
164
164
|
```
|
|
165
165
|
|
|
166
166
|
## 2. Create the Travel Agent endpoint
|
{agentops_accelerator-0.3.1 → agentops_accelerator-0.3.3}/docs/tutorial-prompt-agent-quickstart.md
RENAMED
|
@@ -137,7 +137,7 @@ path, install the aligned reference branch so the CLI, generated
|
|
|
137
137
|
workflows, and tutorial steps stay in sync:
|
|
138
138
|
|
|
139
139
|
```powershell
|
|
140
|
-
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/
|
|
140
|
+
python -m pip install "agentops-accelerator[foundry,agent] @ git+https://github.com/Azure/agentops.git@develop"
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
## 2. Install the AgentOps Copilot skills
|
|
@@ -670,7 +670,7 @@ The PR workflow now has two jobs:
|
|
|
670
670
|
> candidate version numbers.
|
|
671
671
|
|
|
672
672
|
The dev deploy workflow stages a candidate (same logic), evaluates it,
|
|
673
|
-
|
|
673
|
+
summarizes the deployment via `prompt_deploy summarize`, and uploads
|
|
674
674
|
`.agentops/deployments/foundry-agent.json` as a workflow artifact.
|
|
675
675
|
|
|
676
676
|
The `--doctor-gate critical` flag controls the Doctor severity floor in
|
|
@@ -725,6 +725,14 @@ the OpenAI User role, the Foundry cloud graders fail with a 401 and every
|
|
|
725
725
|
metric comes back null), and do not set up `qa`, `production`, scheduled
|
|
726
726
|
Doctor, or hosted deployment workflows yet.
|
|
727
727
|
|
|
728
|
+
I am using trunk-based development with `main` as both my trunk and dev
|
|
729
|
+
branch. The generator's stock dev-deploy trigger is `push: branches:
|
|
730
|
+
[develop]`. Rewrite the `agentops-deploy-dev.yml` (and the matching
|
|
731
|
+
`agentops-pr.yml` `pull_request: branches:` list, if it references
|
|
732
|
+
`develop`) so they fire on `main` instead. The PR gate must run on PRs
|
|
733
|
+
targeting `main`, and the dev deploy must auto-run on push to `main`
|
|
734
|
+
after a merge.
|
|
735
|
+
|
|
728
736
|
The dev Foundry project endpoint is in `.azure/dev/.env`; the sandbox
|
|
729
737
|
endpoint is local-only and must not be added to CI.
|
|
730
738
|
|
|
@@ -741,6 +749,14 @@ it skips:
|
|
|
741
749
|
- Set Actions variables `AZURE_TENANT_ID`, `AZURE_SUBSCRIPTION_ID`,
|
|
742
750
|
`AZURE_CLIENT_ID`, `AZURE_AI_FOUNDRY_PROJECT_ENDPOINT` (the dev
|
|
743
751
|
endpoint), and `APPLICATIONINSIGHTS_CONNECTION_STRING` if available.
|
|
752
|
+
- **Rewrite the dev deploy trigger to `main`.** The generator emits the
|
|
753
|
+
stock GitFlow defaults (`pull_request: branches: [develop, "release/**",
|
|
754
|
+
main]` on `agentops-pr.yml`, `push: branches: [develop]` on
|
|
755
|
+
`agentops-deploy-dev.yml`). For this trunk-on-`main` tutorial the
|
|
756
|
+
skill should rewrite both so the PR gate fires on PRs into `main` and
|
|
757
|
+
the deploy fires on push to `main`. If the skill skips this rewrite,
|
|
758
|
+
open the two YAML files in `.github/workflows/` and edit the
|
|
759
|
+
`branches:` lists by hand before opening the first PR.
|
|
744
760
|
- Verify the OIDC principal has **two** Azure RBAC roles before the first
|
|
745
761
|
run. Both are required and the eval step fails silently (every metric
|
|
746
762
|
returns `null`) if only one is in place:
|
|
@@ -761,66 +777,71 @@ This is the happy path. Before the regression step, you need a clean
|
|
|
761
777
|
green baseline so the rolling-history Doctor checks (regression, drift)
|
|
762
778
|
have something to compare against.
|
|
763
779
|
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
780
|
+
The workflow skill in step 12 already committed your local changes,
|
|
781
|
+
pushed `main` to the GitHub remote, and dispatched first verification
|
|
782
|
+
runs of **both** `agentops-pr.yml` and `agentops-deploy-dev.yml` (via
|
|
783
|
+
`workflow_dispatch`, after asking you to approve) so the CI wiring is
|
|
784
|
+
verified end-to-end. Open the repo's **Actions** tab and confirm both
|
|
785
|
+
runs reached the eval stage:
|
|
786
|
+
|
|
787
|
+
- `agentops-pr.yml` — `Stage Foundry prompt candidate (PR)` and
|
|
788
|
+
`AgentOps eval (PR gate)` jobs both ran.
|
|
789
|
+
- `agentops-deploy-dev.yml` — `stage-candidate`, `eval`, and the
|
|
790
|
+
`Mark candidate as deployed` step all ran (the deploy job uses
|
|
791
|
+
`prompt_deploy summarize`, not a real Foundry promotion — it writes
|
|
792
|
+
the deployment record artifact + workflow summary).
|
|
793
|
+
|
|
794
|
+
It is **expected** for one or both of these first runs to exit
|
|
795
|
+
`threshold_failed` (`exit 2`) when the dev Foundry project starts
|
|
796
|
+
empty: the bootstrap path creates a fresh `travel-agent:1` (and, on
|
|
797
|
+
the next run, `:2`) in dev and evaluates it against the seed
|
|
798
|
+
`agentops.yaml` thresholds, which can miss on first contact. That is
|
|
799
|
+
by design, not a CI wiring failure. What you are really verifying at
|
|
800
|
+
this point is the plumbing — OIDC, Foundry RBAC, the evaluator
|
|
801
|
+
deployment, the staging step, the deploy summary writer — and that
|
|
802
|
+
dev now contains a bootstrapped version of the agent.
|
|
803
|
+
|
|
804
|
+
`agentops-deploy-dev.yml` will fire **again** automatically when you
|
|
805
|
+
merge the baseline PR at the end of this section, because the skill
|
|
806
|
+
rewrote its trigger from `develop` to `main` in step 12.
|
|
807
|
+
|
|
808
|
+
If you want to wait on the first PR-workflow verification run from the
|
|
809
|
+
terminal instead of the Actions UI:
|
|
788
810
|
|
|
789
811
|
```powershell
|
|
790
|
-
gh workflow run agentops-pr.yml --ref main
|
|
791
|
-
Start-Sleep -Seconds 10
|
|
792
812
|
$runId = gh run list --workflow agentops-pr.yml --branch main --limit 1 --json databaseId --jq '.[0].databaseId'
|
|
793
813
|
gh run view $runId --web
|
|
794
814
|
gh run watch $runId --exit-status
|
|
795
815
|
```
|
|
796
816
|
|
|
797
|
-
What you should see in the **first** PR workflow run
|
|
798
|
-
|
|
817
|
+
What you should see in the **first** PR workflow run, after the
|
|
818
|
+
skill's verification dispatches have already touched dev:
|
|
799
819
|
|
|
800
820
|
1. **Stage Foundry prompt candidate (PR)** job runs first. The
|
|
801
|
-
`prompt_deploy stage` step
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
-
|
|
805
|
-
|
|
806
|
-
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
version as the candidate.
|
|
821
|
+
`prompt_deploy stage` step looks up `travel-agent:2` in the dev
|
|
822
|
+
project. Three outcomes are possible depending on what the skill's
|
|
823
|
+
verification dispatches produced:
|
|
824
|
+
- `action: reused` — dev already has `travel-agent:2` with the
|
|
825
|
+
same instructions as the seed (no new version created).
|
|
826
|
+
- `action: created` — dev has the seed version but with different
|
|
827
|
+
instructions, so Foundry auto-creates the next number (likely
|
|
828
|
+
`travel-agent:3`).
|
|
829
|
+
- `action: bootstrapped` — dev still does not have `travel-agent:2`
|
|
830
|
+
(only `:1`, because the bootstrap can fire `:1` and `:2`
|
|
831
|
+
back-to-back over two runs). The step reads
|
|
832
|
+
`prompt_agent_bootstrap` plus `prompt_file` and creates the next
|
|
833
|
+
SDK-assigned version, then uses it as the candidate.
|
|
814
834
|
2. **AgentOps eval (PR gate)** job runs second. It evaluates the
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
835
|
+
candidate using cloud eval. Doctor runs with
|
|
836
|
+
`--severity-fail critical`; advisory findings are listed but do not
|
|
837
|
+
fail the job. The first one or two PR runs against a fresh dev
|
|
838
|
+
project can still fail thresholds while bootstrap catches up. After
|
|
839
|
+
that, normal reuse / create flow takes over and the baseline PR
|
|
840
|
+
should go green.
|
|
818
841
|
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
the dev project finally has `travel-agent:2` matching the seed, and
|
|
823
|
-
every subsequent PR takes the normal lookup path:
|
|
842
|
+
Successive PR runs walk the same three branches above until dev's
|
|
843
|
+
version count catches up to the seed (`travel-agent:2`). Once it does,
|
|
844
|
+
every PR run hits the normal lookup path:
|
|
824
845
|
|
|
825
846
|
- If `prompt_file` is byte-identical to the seed's instructions: the
|
|
826
847
|
stage step reports `reused` and uses `travel-agent:2` as the
|
|
@@ -849,18 +870,26 @@ git push -u origin chore/agentops-baseline
|
|
|
849
870
|
gh pr create --base main --head chore/agentops-baseline --title "Baseline AgentOps run" --body "First green PR to establish history."
|
|
850
871
|
```
|
|
851
872
|
|
|
852
|
-
Open the PR in GitHub. The PR check runs the same staging + eval flow
|
|
853
|
-
green
|
|
873
|
+
Open the PR in GitHub. The PR check runs the same staging + eval flow.
|
|
874
|
+
Whether this baseline PR goes green on the first try depends on how
|
|
875
|
+
many bootstrap rounds the dev project has already absorbed (from the
|
|
876
|
+
skill's verification dispatches plus any failed PRs). Once bootstrap
|
|
877
|
+
catches up to the seed and the prompt is stable, the PR goes green —
|
|
878
|
+
re-run the workflow on the PR if needed. Then merge.
|
|
854
879
|
|
|
855
880
|
After the merge, the **AgentOps deploy (dev)** workflow runs
|
|
856
|
-
automatically on `main
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
881
|
+
automatically on `main` (the skill rewrote its trigger from `develop`
|
|
882
|
+
to `main` in step 12 because this tutorial uses trunk-based flow).
|
|
883
|
+
This is the **second** deploy-dev run for this repo — the first was
|
|
884
|
+
the skill's verification dispatch in step 12. It stages the candidate
|
|
885
|
+
(by this point most likely `action: reused` or `created`), evaluates
|
|
886
|
+
it, runs `prompt_deploy summarize` to write the dev deployment summary,
|
|
887
|
+
and uploads the deployment artifact.
|
|
860
888
|
|
|
861
889
|
Open the deploy run and download the `foundry-agent-dev-deployment`
|
|
862
|
-
artifact. Inside, open `foundry-agent.json`.
|
|
863
|
-
|
|
890
|
+
artifact. Inside, open `foundry-agent.json`. In the **steady-state**
|
|
891
|
+
case (the most common — the seed `travel-agent:2` already exists in
|
|
892
|
+
dev and matches the prompt the PR shipped), the file looks like
|
|
864
893
|
this — note the actual field names AgentOps writes:
|
|
865
894
|
|
|
866
895
|
```json
|
|
@@ -868,34 +897,47 @@ this — note the actual field names AgentOps writes:
|
|
|
868
897
|
"version": 1,
|
|
869
898
|
"type": "foundry_prompt_agent_deployment",
|
|
870
899
|
"environment": "dev",
|
|
871
|
-
"action": "
|
|
900
|
+
"action": "reused",
|
|
872
901
|
"agent_name": "travel-agent",
|
|
873
902
|
"source_agent": "travel-agent:2",
|
|
874
|
-
"candidate_agent": "travel-agent:
|
|
903
|
+
"candidate_agent": "travel-agent:2",
|
|
875
904
|
"source_version": "2",
|
|
876
|
-
"candidate_version": "
|
|
905
|
+
"candidate_version": "2",
|
|
877
906
|
"project_endpoint": "https://<your-resource>.services.ai.azure.com/api/projects/travel-agent-dev",
|
|
878
|
-
"prompt_file": "
|
|
879
|
-
"prompt_sha256": "
|
|
880
|
-
"
|
|
881
|
-
"
|
|
882
|
-
"
|
|
883
|
-
"
|
|
907
|
+
"prompt_file": "/home/runner/work/<your-repo>/<your-repo>/.agentops/prompts/travel-agent.md",
|
|
908
|
+
"prompt_sha256": "9727437db863b00d52bc8ef1f314b70ed22e3e562f5a3a1f9dd68e26f7ea0975",
|
|
909
|
+
"eval_config": "/home/runner/work/<your-repo>/<your-repo>/.agentops/deployments/agentops.candidate.yaml",
|
|
910
|
+
"created_at": "2026-05-30T17:57:53.135435+00:00",
|
|
911
|
+
"git_sha": "3078df74c3b18625553dec8ecd4ed4282f1ca1ca",
|
|
912
|
+
"workflow_url": "https://github.com/<owner>/<your-repo>/actions/runs/26690922142",
|
|
913
|
+
"foundry_agent_version_id": "travel-agent:2"
|
|
884
914
|
}
|
|
885
915
|
```
|
|
886
916
|
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
917
|
+
In the steady-state, `source_agent` and `candidate_agent` are
|
|
918
|
+
**identical** (`travel-agent:2`) because the dev project already had
|
|
919
|
+
`travel-agent:2` with the same instructions as the PR's `prompt_file`,
|
|
920
|
+
so `prompt_deploy stage` reported `action: reused` and nothing new
|
|
921
|
+
was created. The `prompt_file` and `eval_config` paths are absolute
|
|
922
|
+
because they are resolved inside the GitHub Actions runner workspace
|
|
923
|
+
(`/home/runner/work/<your-repo>/<your-repo>/...`).
|
|
924
|
+
|
|
925
|
+
`action` will be one of:
|
|
926
|
+
|
|
927
|
+
- **`reused`** — dev already had `travel-agent:2` with byte-identical
|
|
928
|
+
instructions. No new Foundry version was created. (Steady-state and
|
|
929
|
+
most-common case.)
|
|
930
|
+
- **`created`** — dev had `travel-agent:2` but with **different**
|
|
931
|
+
instructions, so Foundry auto-created the next number (e.g.
|
|
932
|
+
`travel-agent:3`). `candidate_agent` would then be `travel-agent:3`.
|
|
933
|
+
- **`bootstrapped`** — dev did not yet have `travel-agent:2` at all,
|
|
934
|
+
so the stage step fell back to `prompt_agent_bootstrap` defaults
|
|
935
|
+
plus `prompt_file` and asked the SDK to create the first version.
|
|
936
|
+
In a fresh, empty dev project the SDK starts at `:1`, so you would
|
|
937
|
+
see `candidate_agent: "travel-agent:1"` and `candidate_version: "1"`
|
|
938
|
+
while `source_agent` still reports the seed (`travel-agent:2`). The
|
|
939
|
+
two numbers stay different until subsequent runs catch dev up to
|
|
940
|
+
the seed.
|
|
899
941
|
|
|
900
942
|
That `prompt_sha256` + `git_sha` pair is what the mental-model diagram
|
|
901
943
|
at the start of the tutorial referred to as **cross-environment
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "agentops-accelerator",
|
|
3
3
|
"displayName": "AgentOps Accelerator — Skills for GitHub Copilot",
|
|
4
4
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
|
|
5
|
-
"version": "0.3.
|
|
5
|
+
"version": "0.3.3",
|
|
6
6
|
"publisher": "AgentOpsAccelerator",
|
|
7
7
|
"icon": "icon.png",
|
|
8
8
|
"license": "MIT",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentops-accelerator",
|
|
3
3
|
"description": "Copilot agent skills for running standardized evaluation workflows with AgentOps Accelerator and Microsoft Foundry agents.",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "AgentOps Accelerator",
|
|
7
7
|
"url": "https://github.com/Azure/agentops"
|