agentops-accelerator 0.3.20__tar.gz → 0.3.22__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.
Files changed (316) hide show
  1. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.claude-plugin/marketplace.json +1 -1
  2. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/plugin/marketplace.json +1 -1
  3. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/CHANGELOG.md +32 -0
  4. {agentops_accelerator-0.3.20/src/agentops_accelerator.egg-info → agentops_accelerator-0.3.22}/PKG-INFO +1 -1
  5. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/ci-github-actions.md +6 -0
  6. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/tutorial-end-to-end.md +35 -12
  7. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/tutorial-hosted-agent-quickstart.md +40 -8
  8. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/tutorial-prompt-agent-quickstart.md +203 -41
  9. agentops_accelerator-0.3.22/infra/e2e/agent-app/requirements.txt +5 -0
  10. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/package.json +1 -1
  11. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/plugin.json +1 -1
  12. {agentops_accelerator-0.3.20/src/agentops/templates → agentops_accelerator-0.3.22/plugins/agentops}/skills/agentops-workflow/SKILL.md +58 -10
  13. {agentops_accelerator-0.3.20/plugins/agentops → agentops_accelerator-0.3.22/src/agentops/templates}/skills/agentops-workflow/SKILL.md +58 -10
  14. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22/src/agentops_accelerator.egg-info}/PKG-INFO +1 -1
  15. agentops_accelerator-0.3.20/infra/e2e/agent-app/requirements.txt +0 -4
  16. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.gitattributes +0 -0
  17. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/actions/azure-oidc-login/action.yml +0 -0
  18. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/code-quality-py.instructions.md +0 -0
  19. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/copilot-instructions.md +0 -0
  20. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/dependabot.yml +0 -0
  21. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/extensions/agentops-skills/extension.mjs +0 -0
  22. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/skills/release-management/SKILL.md +0 -0
  23. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/_build.yml +0 -0
  24. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/agentops-watchdog.yml +0 -0
  25. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/ci.yml +0 -0
  26. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/cut-release.yml +0 -0
  27. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/e2e.yml +0 -0
  28. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/release.yml +0 -0
  29. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.github/workflows/staging.yml +0 -0
  30. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.gitignore +0 -0
  31. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.pre-commit-config.yaml +0 -0
  32. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.vscode/launch.json +0 -0
  33. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.vscode/settings.json +0 -0
  34. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/.vscode/tasks.json +0 -0
  35. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/AGENTS.md +0 -0
  36. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/CONTRIBUTING.md +0 -0
  37. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/LICENSE +0 -0
  38. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/README.md +0 -0
  39. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/SECURITY.md +0 -0
  40. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/bundles.md +0 -0
  41. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/concepts.md +0 -0
  42. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/doctor-checks.md +0 -0
  43. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/doctor-explained.md +0 -0
  44. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/e2e-live-architecture.md +0 -0
  45. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/e2e-live-setup.md +0 -0
  46. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/foundry-evaluation-sdk-built-in-evaluators.md +0 -0
  47. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/how-it-works.md +0 -0
  48. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/media/agentops-diagrams.vsdx +0 -0
  49. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/media/foundry-control-plane.png +0 -0
  50. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/docs/release-process.md +0 -0
  51. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/examples/flat-quickstart/README.md +0 -0
  52. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/examples/flat-quickstart/agentops.yaml +0 -0
  53. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/examples/flat-quickstart/dataset.jsonl +0 -0
  54. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/icon.png +0 -0
  55. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/infra/e2e/agent-app/Dockerfile +0 -0
  56. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/infra/e2e/agent-app/app.py +0 -0
  57. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/infra/e2e/bootstrap.bicep +0 -0
  58. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/infra/e2e/bootstrap.parameters.example.json +0 -0
  59. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/infra/e2e/perrun.bicep +0 -0
  60. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/launch.json +0 -0
  61. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/media/foundry.svg +0 -0
  62. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/media/quickstart.gif +0 -0
  63. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/.vscodeignore +0 -0
  64. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/LICENSE +0 -0
  65. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/README.md +0 -0
  66. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-agent/SKILL.md +0 -0
  67. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-config/SKILL.md +0 -0
  68. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-dataset/SKILL.md +0 -0
  69. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-eval/SKILL.md +0 -0
  70. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-governance/SKILL.md +0 -0
  71. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/plugins/agentops/skills/agentops-report/SKILL.md +0 -0
  72. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/pyproject.toml +0 -0
  73. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/create_support_agent.py +0 -0
  74. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/cut-release.ps1 +0 -0
  75. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/cut-release.sh +0 -0
  76. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_aggregate_summary.py +0 -0
  77. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_data/basic.jsonl +0 -0
  78. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_data/rag.jsonl +0 -0
  79. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_data/tools.jsonl +0 -0
  80. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_demo.py +0 -0
  81. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_hosted_agent.py +0 -0
  82. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_make_transcript.py +0 -0
  83. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/e2e_render_config.py +0 -0
  84. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/release.ps1 +0 -0
  85. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/release.sh +0 -0
  86. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/setup-e2e-new-tenant.ps1 +0 -0
  87. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/staging.ps1 +0 -0
  88. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/staging.sh +0 -0
  89. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/sync-skills.ps1 +0 -0
  90. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/scripts/sync-skills.sh +0 -0
  91. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/setup.cfg +0 -0
  92. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/__init__.py +0 -0
  93. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/__main__.py +0 -0
  94. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/__init__.py +0 -0
  95. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/_legacy_ids.py +0 -0
  96. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/analyzer.py +0 -0
  97. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/__init__.py +0 -0
  98. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/catalog.py +0 -0
  99. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/errors.py +0 -0
  100. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/foundry_config.py +0 -0
  101. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/governance.py +0 -0
  102. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/latency.py +0 -0
  103. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/observability.py +0 -0
  104. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/opex.py +0 -0
  105. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/opex_workspace.py +0 -0
  106. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture.py +0 -0
  107. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/__init__.py +0 -0
  108. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/content_filter.py +0 -0
  109. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/diagnostics.py +0 -0
  110. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/local_auth.py +0 -0
  111. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/managed_identity.py +0 -0
  112. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/posture_rules/network.py +0 -0
  113. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/regression.py +0 -0
  114. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/release_readiness.py +0 -0
  115. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/safety.py +0 -0
  116. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/checks/spec_conformance.py +0 -0
  117. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/cockpit.py +0 -0
  118. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/config.py +0 -0
  119. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/findings.py +0 -0
  120. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/history.py +0 -0
  121. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/knowledge/__init__.py +0 -0
  122. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/knowledge/waf-checklist.csv +0 -0
  123. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/__init__.py +0 -0
  124. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_base.py +0 -0
  125. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_bundle_rule.py +0 -0
  126. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_client.py +0 -0
  127. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_dataset_rules.py +0 -0
  128. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_engine.py +0 -0
  129. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_prompt_rules.py +0 -0
  130. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/llm_assist/_spec_rules.py +0 -0
  131. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/production_telemetry.py +0 -0
  132. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/report.py +0 -0
  133. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/server/__init__.py +0 -0
  134. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/server/app.py +0 -0
  135. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/server/auth.py +0 -0
  136. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/server/chat.py +0 -0
  137. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/server/protocol.py +0 -0
  138. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/__init__.py +0 -0
  139. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/azure_monitor.py +0 -0
  140. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/azure_resources.py +0 -0
  141. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/foundry_control.py +0 -0
  142. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/results_history.py +0 -0
  143. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/spec_detectors/__init__.py +0 -0
  144. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/spec_detectors/_base.py +0 -0
  145. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/spec_detectors/agents_md.py +0 -0
  146. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/sources/spec_detectors/spec_kit.py +0 -0
  147. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/agent/time_range.py +0 -0
  148. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/cli/__init__.py +0 -0
  149. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/cli/app.py +0 -0
  150. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/__init__.py +0 -0
  151. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/agentops_config.py +0 -0
  152. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/azd_eval.py +0 -0
  153. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/config_loader.py +0 -0
  154. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/evaluators.py +0 -0
  155. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/governance.py +0 -0
  156. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/release_evidence.py +0 -0
  157. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/core/results.py +0 -0
  158. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/mcp/__init__.py +0 -0
  159. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/mcp/server.py +0 -0
  160. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/__init__.py +0 -0
  161. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/azd_runner.py +0 -0
  162. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/cloud_results.py +0 -0
  163. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/cloud_runner.py +0 -0
  164. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/comparison.py +0 -0
  165. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/diagnostics.py +0 -0
  166. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/invocations.py +0 -0
  167. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/official_eval.py +0 -0
  168. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/orchestrator.py +0 -0
  169. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/prompt_deploy.py +0 -0
  170. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/publisher.py +0 -0
  171. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/reporter.py +0 -0
  172. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/runtime.py +0 -0
  173. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/pipeline/thresholds.py +0 -0
  174. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/__init__.py +0 -0
  175. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/assert_runner.py +0 -0
  176. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/azd_eval_init.py +0 -0
  177. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/cicd.py +0 -0
  178. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/eval_analysis.py +0 -0
  179. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/evidence_pack.py +0 -0
  180. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/initializer.py +0 -0
  181. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/preflight.py +0 -0
  182. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/redteam_runner.py +0 -0
  183. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/setup_wizard.py +0 -0
  184. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/skills.py +0 -0
  185. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/trace_promotion.py +0 -0
  186. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/services/workflow_analysis.py +0 -0
  187. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/.gitignore +0 -0
  188. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/__init__.py +0 -0
  189. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/agent-server/Dockerfile +0 -0
  190. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/agent-server/README.md +0 -0
  191. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/agent-server/main.bicep +0 -0
  192. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/agent.yaml +0 -0
  193. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/agentops.yaml +0 -0
  194. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/foundry.svg +0 -0
  195. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/icon.png +0 -0
  196. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev-azd.yml +0 -0
  197. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-dev.yml +0 -0
  198. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod-azd.yml +0 -0
  199. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prod.yml +0 -0
  200. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-prompt-agent.yml +0 -0
  201. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa-azd.yml +0 -0
  202. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-deploy-qa.yml +0 -0
  203. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-pr-prompt-agent.yml +0 -0
  204. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-pr.yml +0 -0
  205. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/pipelines/azuredevops/agentops-watchdog.yml +0 -0
  206. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/project.gitignore +0 -0
  207. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/sample-traces.jsonl +0 -0
  208. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-agent/SKILL.md +0 -0
  209. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-config/SKILL.md +0 -0
  210. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-dataset/SKILL.md +0 -0
  211. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-eval/SKILL.md +0 -0
  212. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-governance/SKILL.md +0 -0
  213. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/skills/agentops-report/SKILL.md +0 -0
  214. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/smoke.jsonl +0 -0
  215. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/waf-checklist.README.md +0 -0
  216. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/waf-checklist.csv +0 -0
  217. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-dev-azd.yml +0 -0
  218. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-dev.yml +0 -0
  219. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-prod-azd.yml +0 -0
  220. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-prod.yml +0 -0
  221. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-prompt-agent.yml +0 -0
  222. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-qa-azd.yml +0 -0
  223. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-deploy-qa.yml +0 -0
  224. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-pr-prompt-agent.yml +0 -0
  225. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-pr.yml +0 -0
  226. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/templates/workflows/agentops-watchdog.yml +0 -0
  227. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/__init__.py +0 -0
  228. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/azd_env.py +0 -0
  229. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/azure_endpoints.py +0 -0
  230. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/colors.py +0 -0
  231. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/dotenv_loader.py +0 -0
  232. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/foundry_discovery.py +0 -0
  233. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/logging.py +0 -0
  234. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/telemetry.py +0 -0
  235. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops/utils/yaml.py +0 -0
  236. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops_accelerator.egg-info/SOURCES.txt +0 -0
  237. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops_accelerator.egg-info/dependency_links.txt +0 -0
  238. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops_accelerator.egg-info/entry_points.txt +0 -0
  239. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops_accelerator.egg-info/requires.txt +0 -0
  240. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/src/agentops_accelerator.egg-info/top_level.txt +0 -0
  241. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/TESTING.md +0 -0
  242. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/fixtures/fake_adapter.py +0 -0
  243. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/fixtures/fake_eval_runner.py +0 -0
  244. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/integration/.gitkeep +0 -0
  245. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/integration/test_cli_flat_schema.py +0 -0
  246. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/integration/test_pipeline_smoke.py +0 -0
  247. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/.gitkeep +0 -0
  248. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_analyzer.py +0 -0
  249. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_categories.py +0 -0
  250. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_errors.py +0 -0
  251. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_foundry_config.py +0 -0
  252. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_observability.py +0 -0
  253. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_opex.py +0 -0
  254. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_opex_workspace.py +0 -0
  255. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_regression.py +0 -0
  256. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_safety.py +0 -0
  257. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_checks_spec_conformance.py +0 -0
  258. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_cli.py +0 -0
  259. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_config.py +0 -0
  260. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_findings.py +0 -0
  261. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_history.py +0 -0
  262. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_opex_workspace_check.py +0 -0
  263. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_posture_rules.py +0 -0
  264. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_results_history.py +0 -0
  265. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agent_server.py +0 -0
  266. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_agentops_config.py +0 -0
  267. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_assert_and_redteam_runners.py +0 -0
  268. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azd_env.py +0 -0
  269. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azd_eval.py +0 -0
  270. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azd_eval_init.py +0 -0
  271. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azd_runner.py +0 -0
  272. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azure_endpoints.py +0 -0
  273. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_azure_resources_discovery.py +0 -0
  274. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cicd.py +0 -0
  275. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cli_cockpit_connection_summary.py +0 -0
  276. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cli_cockpit_port_conflict.py +0 -0
  277. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cli_commands.py +0 -0
  278. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cli_explain.py +0 -0
  279. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cloud_results.py +0 -0
  280. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cloud_runner.py +0 -0
  281. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_cockpit.py +0 -0
  282. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_diagnostics.py +0 -0
  283. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_doctor_catalog.py +0 -0
  284. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_doctor_cli_explain.py +0 -0
  285. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_dotenv_loader.py +0 -0
  286. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_e2e_render.py +0 -0
  287. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_eval_analysis.py +0 -0
  288. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_eval_run_grader_errors.py +0 -0
  289. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_evaluators.py +0 -0
  290. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_foundry_discovery.py +0 -0
  291. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_governance.py +0 -0
  292. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_init_command.py +0 -0
  293. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_initializer.py +0 -0
  294. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_invocations.py +0 -0
  295. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_knowledge_loader.py +0 -0
  296. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_llm_assist.py +0 -0
  297. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_llm_assist_spec_rules.py +0 -0
  298. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_mcp_server.py +0 -0
  299. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_official_eval.py +0 -0
  300. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_pipeline_publisher.py +0 -0
  301. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_pipeline_reporter.py +0 -0
  302. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_preflight.py +0 -0
  303. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_production_telemetry.py +0 -0
  304. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_prompt_deploy.py +0 -0
  305. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_release_evidence.py +0 -0
  306. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_runtime_conversation.py +0 -0
  307. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_runtime_model_config.py +0 -0
  308. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_setup_wizard.py +0 -0
  309. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_skills.py +0 -0
  310. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_skills_sync.py +0 -0
  311. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_telemetry.py +0 -0
  312. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_time_range.py +0 -0
  313. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_trace_promotion.py +0 -0
  314. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tests/unit/test_workflow_analysis.py +0 -0
  315. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/tombstones/vscode/CDN_DEPRECATION_REQUEST.md +0 -0
  316. {agentops_accelerator-0.3.20 → agentops_accelerator-0.3.22}/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.20",
16
+ "version": "0.3.22",
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.20",
16
+ "version": "0.3.22",
17
17
  "keywords": [
18
18
  "agentops",
19
19
  "evaluation",
@@ -5,6 +5,38 @@ This format follows [Keep a Changelog](https://keepachangelog.com/) and adheres
5
5
 
6
6
  ## [Unreleased]
7
7
 
8
+ ## [0.3.22] - 2026-06-12
9
+
10
+ ### Security
11
+ - **E2E agent container dependencies no longer resolve vulnerable Starlette or
12
+ mem0ai versions.** The sample FastAPI service now pins patched FastAPI and
13
+ Agent Framework releases and adds an explicit `mem0ai` pin so Dependabot no
14
+ longer reports the transitive Starlette host-header / file-response advisories
15
+ or the mem0ai unsafe deserialization advisory on the default branch.
16
+
17
+ ## [0.3.21] - 2026-06-12
18
+
19
+ ### Changed
20
+ - **`agentops-workflow` skill now verifies OIDC tenant, branch upstream
21
+ tracking, and trace-sampling RBAC before wiring CI.** The packaged skill
22
+ instructs agents to treat `AZURE_TENANT_ID` as the tenant that owns the Entra
23
+ app registration / federated credential (not the subscription tenant), to set
24
+ and verify the local trunk branch upstream (`git branch -vv` must show
25
+ `[origin/main]`), and to grant **Reader** on Application Insights (and its
26
+ backing Log Analytics workspace) to the Foundry project managed identity for
27
+ trace-to-dataset flows.
28
+
29
+ ### Docs
30
+ - **Prompt-agent, hosted-agent, and end-to-end tutorials hardened end to end.**
31
+ OIDC setup calls out the app-registration tenant; observability steps require
32
+ App Insights Reader for trace sampling and cover workspace-backed App Insights;
33
+ the telemetry step queries `gen_ai.evaluation` results from `AppEvents`
34
+ (table-safe, no hard-coded dates); the evidence step explains expected
35
+ production-telemetry criticals and where the Doctor thresholds live
36
+ (`.agentops/agent.yaml`); and the Cockpit step is now a concrete walkthrough
37
+ (exact `http://127.0.0.1:8090` URL, read-only note, per-section checks, and
38
+ azd-env switching instead of a non-existent URL switch).
39
+
8
40
  ## [0.3.20] - 2026-06-10
9
41
 
10
42
  ### Changed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentops-accelerator
3
- Version: 0.3.20
3
+ Version: 0.3.22
4
4
  Summary: Release readiness gates and evidence for Microsoft Foundry agents
5
5
  License: MIT License
6
6
 
@@ -119,6 +119,12 @@ In Settings → Secrets and variables → Actions → **Variables**, add:
119
119
  | `AZURE_OPENAI_DEPLOYMENT` | Model deployment used by local evaluators and AgentOps cloud eval judges |
120
120
  | `APPLICATIONINSIGHTS_CONNECTION_STRING` | Optional fallback when the Foundry project's App Insights connection cannot be auto-discovered |
121
121
 
122
+ Set `AZURE_TENANT_ID` to the tenant that owns the app registration / federated
123
+ credential used by `AZURE_CLIENT_ID`. Do not use a subscription
124
+ `managedByTenants` tenant id unless the app registration and federated
125
+ credential are also visible in that tenant; otherwise `azure/login` can fail at
126
+ token issuance before AgentOps starts.
127
+
122
128
  Then on the Azure side, configure Workload Identity Federation
123
129
  (federated credentials) on the app registration so it can be assumed
124
130
  from GitHub Actions runs. See
@@ -122,7 +122,7 @@ prompts.
122
122
  | Azure CLI is installed and `az login` succeeds with the tenant that owns the Foundry project. | AgentOps, Foundry SDK calls, Doctor, Cockpit, and CI setup all need the same Azure identity context. |
123
123
  | You have the Foundry project endpoint and can create or publish one Travel Agent target. | The target is either `travel-agent:<version>` for prompt agents or an HTTP endpoint for hosted agents. |
124
124
  | You have a chat-capable Azure OpenAI deployment, for example `gpt-4o-mini`. | Local evals and CI variables need a judge model for evaluator calls. |
125
- | Application Insights is connected to the Foundry project or agent runtime, or you can create/attach it. | Foundry Traces, Operate metrics/Ask AI when available, Azure Monitor, Doctor, Cockpit, and evidence links need telemetry. |
125
+ | Application Insights is connected to the Foundry project or agent runtime, or you can create/attach it. For Foundry trace-to-dataset flows, you can also grant Reader on App Insights and its backing Log Analytics workspace to the Foundry project managed identity. | Foundry Traces, Operate metrics/Ask AI when available, trace sampling, Azure Monitor, Doctor, Cockpit, and evidence links need telemetry. |
126
126
  | You can deploy or expose any hosted endpoint that CI will call. | `localhost` works for local eval; remote CI needs a reachable HTTPS URL. |
127
127
  | You can push to the tutorial GitHub repository and run GitHub Actions or Azure Pipelines. | PR and environment workflows only run after the repo is published. |
128
128
  | GitHub CLI is authenticated with `gh auth login` if you use GitHub PR commands while testing CI. | The regression and release-gate steps are smoother when repo, PR, and Actions access are already confirmed. |
@@ -524,8 +524,9 @@ environment variable or equivalent Azure DevOps pipeline variable, verify the
524
524
  OIDC principal has **both** Foundry User access on the dev Foundry project
525
525
  **and** Cognitive Services OpenAI User access on the underlying Azure AI
526
526
  Services account that hosts the evaluator model (both are required — without
527
- the OpenAI User role, every cloud eval metric returns null), and show me the
528
- plan before changing GitHub or Azure.
527
+ the OpenAI User role, every cloud eval metric returns null), verify
528
+ AZURE_TENANT_ID is the tenant that owns the Entra app registration and its
529
+ federated credential, and show me the plan before changing GitHub or Azure.
529
530
  ```
530
531
 
531
532
  That value is not an `agentops init` answer. It tells the Foundry cloud eval
@@ -877,6 +878,13 @@ may not have live traffic, scheduled workflows may not have history, and trace
877
878
  regression candidates may not exist yet. That is useful tutorial feedback, not
878
879
  a failure of Doctor.
879
880
 
881
+ If production telemetry *does* carry enough live traffic to trip latency or
882
+ error criticals, those are honest signals — not tutorial noise. The thresholds
883
+ that decide critical-vs-warning live in `.agentops/agent.yaml`
884
+ (`checks.latency.p95_threshold_seconds`, `checks.errors.rate_threshold`) and are
885
+ separate from the `agentops.yaml` eval-gate thresholds; raise them only if you
886
+ deliberately want to relax the production gate for a demo.
887
+
880
888
  ## 10. Run Foundry red-team scans
881
889
 
882
890
  Red-team scans are a Foundry capability. Run them from Foundry Observability /
@@ -952,16 +960,31 @@ reviews and accepts them.
952
960
  agentops cockpit --workspace .
953
961
  ```
954
962
 
955
- Use Cockpit as the local command center:
963
+ Cockpit starts a read-only local web server and prints
964
+ `http://127.0.0.1:8090`. Open that URL in your browser; press `Ctrl+C` in
965
+ the terminal to stop it. It reflects the **active azd environment**
966
+ (`sandbox`, from `defaultEnvironment` in `.azure/config.json`) — there is no
967
+ URL switch. To inspect `dev`, stop Cockpit, point the active env at `dev`
968
+ (set `defaultEnvironment: dev` in `.azure/config.json`, or export
969
+ `AZURE_ENV_NAME=dev`), then rerun the command.
956
970
 
957
- - Foundry connection and deep links;
958
- - Microsoft Foundry eval or AgentOps local eval gate status;
959
- - Doctor findings;
960
- - release evidence;
961
- - local eval history;
962
- - production telemetry snapshot;
963
- - CI/CD workflow status;
964
- - next actions.
971
+ Read the page top to bottom and confirm each card:
972
+
973
+ | Section | What to confirm |
974
+ |---|---|
975
+ | **Foundry connection** | The Foundry project and tenant resolve, and the agent identity matches your `agentops.yaml` target. |
976
+ | **Open in Foundry** | The deep-links open your project in the correct tenant. |
977
+ | **Observability readiness** | Trace setup / sampling status from the latest Doctor analysis. |
978
+ | **AgentOps Doctor** | The same finding rollup from the Doctor / evidence-pack step (criticals first, then warnings). |
979
+ | **Local eval history** | Your `agentops eval run` baseline and regression reruns appear. |
980
+ | **Quality metrics** | Evaluator score trends from your runs. |
981
+ | **Production telemetry** | App Insights latency / error snapshot (or a clear "no live traffic" state in a fresh workspace). |
982
+ | **CI/CD Pipelines** | The workflows you generated are listed. |
983
+ | **Next actions** | The prioritized backlog Cockpit derives from the open findings. |
984
+
985
+ Cockpit does not run checks or mutate anything — it renders the latest
986
+ `results.json`, Doctor report, and evidence pack you already produced, and
987
+ links out to Foundry / Azure Monitor for live runtime data.
965
988
 
966
989
  ## Completion checklist
967
990
 
@@ -786,12 +786,13 @@ hosted-agent project.
786
786
 
787
787
  Create or connect the GitHub repo if needed, set AGENTOPS_AGENT_ENDPOINT in the
788
788
  `dev` environment to the deployed HTTPS endpoint, wire Azure OIDC and required
789
- Actions variables in the `dev` environment, and set any required endpoint token
790
- as a secret. The PR gate uses --doctor-gate critical so the workflow blocks on
791
- critical Doctor findings (regressions or other strict signals). Do not add
792
- scheduled Doctor, QA, or production workflows yet. Show me the plan before
793
- changing GitHub or Azure, and call out anything that needs owner/admin
794
- permission.
789
+ Actions variables in the `dev` environment, verify AZURE_TENANT_ID is the tenant
790
+ that owns the Entra app registration and its federated credential, and set any
791
+ required endpoint token as a secret. The PR gate uses --doctor-gate critical so
792
+ the workflow blocks on critical Doctor findings (regressions or other strict
793
+ signals). Do not add scheduled Doctor, QA, or production workflows yet. Show me
794
+ the plan before changing GitHub or Azure, and call out anything that needs
795
+ owner/admin permission.
795
796
  ```
796
797
 
797
798
  Open both Doctor outputs. The report explains the findings; the evidence pack
@@ -800,6 +801,13 @@ In a fresh tutorial workspace, warnings about production telemetry, CI history,
800
801
  regression history are expected and useful: they show what remains before this
801
802
  local endpoint becomes an operated service.
802
803
 
804
+ If production telemetry *does* carry enough live traffic to trip latency or
805
+ error criticals, those are honest signals. The thresholds that decide
806
+ critical-vs-warning live in `.agentops/agent.yaml`
807
+ (`checks.latency.p95_threshold_seconds`, `checks.errors.rate_threshold`) and are
808
+ separate from the `agentops.yaml` eval-gate thresholds; raise them only if you
809
+ deliberately want to relax the production gate for a demo.
810
+
803
811
  If you later want a separate cadence outside PRs, generate the optional Doctor
804
812
  workflow with `agentops workflow generate --kinds doctor --force`.
805
813
 
@@ -816,8 +824,32 @@ look self-contained inside AgentOps.
816
824
  agentops cockpit --workspace .
817
825
  ```
818
826
 
819
- Cockpit shows the endpoint readiness, eval history, Doctor findings, telemetry
820
- status, release evidence, CI/CD, and next actions.
827
+ Cockpit starts a read-only local web server and prints
828
+ `http://127.0.0.1:8090` (this is the Cockpit UI port, not your agent's
829
+ `:8000`). Open that URL in your browser; press `Ctrl+C` in the terminal to
830
+ stop it. It reflects the **active azd environment** (`sandbox`, from
831
+ `defaultEnvironment` in `.azure/config.json`) — there is no URL switch. To
832
+ inspect `dev`, stop Cockpit, point the active env at `dev` (set
833
+ `defaultEnvironment: dev` in `.azure/config.json`, or export
834
+ `AZURE_ENV_NAME=dev`), then rerun the command.
835
+
836
+ Read the page top to bottom and confirm each card:
837
+
838
+ | Section | What to confirm |
839
+ |---|---|
840
+ | **Foundry connection** | The Foundry project / tenant resolve, and the agent is your hosted endpoint URL. |
841
+ | **Open in Foundry** | The deep-links open your project in the correct tenant. |
842
+ | **Observability readiness** | Trace setup / sampling status from the latest Doctor analysis. |
843
+ | **AgentOps Doctor** | The same finding rollup from the Doctor / evidence-pack step (criticals first, then warnings). |
844
+ | **Local eval history** | Your `agentops eval run` baseline, regressed, and fixed reruns appear. |
845
+ | **Quality metrics** | Evaluator score trends from your runs. |
846
+ | **Production telemetry** | App Insights latency / error snapshot for the `travel-agent.chat` operation (or a "no live traffic" state in a fresh workspace). |
847
+ | **CI/CD Pipelines** | The PR and dev deploy workflows you generated are listed. |
848
+ | **Next actions** | The prioritized backlog Cockpit derives from the open findings. |
849
+
850
+ Cockpit does not run checks or mutate anything — it renders the latest
851
+ `results.json`, Doctor report, and evidence pack you already produced, and
852
+ links out to Foundry / Azure Monitor for live runtime data.
821
853
 
822
854
  ## Success criteria
823
855
 
@@ -57,7 +57,7 @@ permission prompts.
57
57
  | You can create **two** Foundry projects in the same Azure subscription (or have two existing projects you can use). | The tutorial uses a sandbox project for authoring and experimentation plus a shared dev project for the PR gate. You only need to publish the agent in sandbox — CI auto-bootstraps it in dev (and later qa / prod). |
58
58
  | You can publish a prompt agent in the **sandbox** Foundry project. | The tutorial seeds `travel-agent:2` only in sandbox (Foundry portal typically numbers the first published version `:2`, not `:1`). Dev / qa / prod start empty; the prompt-agent deploy workflow creates the first version in those projects automatically using `prompt_agent_bootstrap` defaults plus `prompt_file`. |
59
59
  | The **same model deployment name** (for example `gpt-4o-mini`) exists in every Foundry project you plan to deploy to. | `prompt_agent_bootstrap.model` is a single value reused for every environment. If dev does not have that deployment, the first auto-bootstrap fails. |
60
- | You can create or attach Application Insights for at least the dev Foundry project. | Foundry Traces, the Operate dashboard, Doctor, and Cockpit need telemetry to tell the observability story. Sandbox observability is optional. |
60
+ | You can create or attach Application Insights for at least the dev Foundry project, and can grant Reader to the dev project's managed identity on that App Insights resource and its backing Log Analytics workspace when workspace-based. | Foundry Traces, the Operate dashboard, trace-to-dataset generation, Doctor, and Cockpit need telemetry to tell the observability story. Sandbox observability is optional. |
61
61
  | You can push to the tutorial GitHub repository and run GitHub Actions. | The PR gate only runs after the repo is pushed. |
62
62
  | GitHub CLI is authenticated with `gh auth login` if you use the PR commands in this tutorial. | The regression step opens PRs and sends the reader directly to the workflow run. |
63
63
  | You can create a GitHub environment named `dev` and add Actions variables/secrets. | The generated workflow uses that environment for Azure auth and the dev Foundry project endpoint. |
@@ -336,6 +336,12 @@ For each project, please:
336
336
  uses a single bootstrap model value for every environment.
337
337
  - Attach or create an Application Insights resource for telemetry,
338
338
  starting with the dev project.
339
+ - Grant or verify **Reader** on that Application Insights resource to the
340
+ **managed identity of the `travel-agent-dev` Foundry project**. Foundry's
341
+ trace-to-dataset flow runs as the project identity when it reads traces; the
342
+ Operate dashboard may still render for my signed-in user even when this
343
+ project identity permission is missing. If Application Insights is
344
+ workspace-based, also grant Reader on the backing Log Analytics workspace.
339
345
  - Grant or verify `Foundry User` access for my signed-in user on the parent
340
346
  Foundry / AI Services account so I can build agents in the
341
347
  Foundry UI. Some portal screens still call this role `Azure AI User`.
@@ -610,7 +616,7 @@ build the prompt agent. One of two things will be true:
610
616
 
611
617
  | What you see | What it means | What to do |
612
618
  |---|---|---|
613
- | An `appinsights` row with category `AppInsights` | The resource exists and is connected to the dev project. Auto-discovery will pick it up. | **You are done.** Skip the rest of this subsection and continue to section 9. |
619
+ | An `appinsights` row with category `AppInsights` | The resource exists and is connected to the dev project. Auto-discovery will pick it up. | Continue with the trace-to-dataset access check below. |
614
620
  | No App Insights row in **Connected resources** | The resource was not connected in step 3. | Click **Add connection**, connect or create an Application Insights resource for the dev project, or paste a connection string manually. |
615
621
 
616
622
  **If Connected resources does not show App Insights**, the fastest fix is
@@ -620,6 +626,28 @@ in the same resource group as the dev project. Once an `appinsights` row
620
626
  appears under **Connected resources**, you can again skip the manual env
621
627
  variable — auto-discovery will pick it up.
622
628
 
629
+ **Also verify trace-to-dataset access now.** For the step 18
630
+ trace-sampling flow, the **managed identity of the `travel-agent-dev`
631
+ Foundry project** needs **Reader** on the connected Application Insights
632
+ resource. If the App Insights component is workspace-based, grant the same
633
+ Reader role on the backing Log Analytics workspace too. This is separate from
634
+ your signed-in user's portal access and separate from GitHub OIDC. If you
635
+ connected App Insights manually, open the Application Insights resource in
636
+ Azure Portal → **Access control (IAM)** and add:
637
+
638
+ | Field | Value |
639
+ |---|---|
640
+ | **Role** | Reader |
641
+ | **Assign access to** | Managed identity |
642
+ | **Managed identity** | `travel-agent-dev` Foundry project |
643
+
644
+ Then open the Application Insights resource → **Properties** and check
645
+ **Workspace Resource ID**. If it points to a Log Analytics workspace, open that
646
+ workspace and repeat the same **Reader** assignment for the `travel-agent-dev`
647
+ managed identity.
648
+
649
+ Wait a few minutes for RBAC propagation before creating a dataset from traces.
650
+
623
651
  **Only if you specifically want to override which resource telemetry
624
652
  goes to** (advanced case, e.g. you have a dedicated observability
625
653
  resource group), grab the connection string and paste it into
@@ -1080,11 +1108,13 @@ You have two ways to wire up ASSERT — pick whichever fits your workflow.
1080
1108
 
1081
1109
  If you installed the AgentOps coding-agent skills in step 4
1082
1110
  (`agentops skills install`), the `agentops-governance` skill knows the full
1083
- recipe. In Copilot Chat (or Claude Code), say:
1111
+ recipe. In Copilot Chat (or Claude Code), paste this prompt:
1084
1112
 
1085
- > Use the `agentops-governance` skill to scaffold ASSERT for this workspace.
1086
- > Target the `gpt-4o-mini` deployment, cover prompt_injection / pii_leak /
1087
- > jailbreak, 5 cases per dimension.
1113
+ ```text
1114
+ Use the agentops-governance skill to scaffold ASSERT for this workspace.
1115
+ Target the gpt-4o-mini deployment, cover prompt_injection / pii_leak /
1116
+ jailbreak, 5 cases per dimension.
1117
+ ```
1088
1118
 
1089
1119
  Copilot will install `assert-ai`, create `./assert/eval_config.yaml`, and
1090
1120
  append the `assert:` block to `agentops.yaml` for you. Skip to **Run it
@@ -1145,8 +1175,13 @@ Same pattern: Copilot can do it, or you can run the commands yourself.
1145
1175
 
1146
1176
  #### Option A — Ask Copilot
1147
1177
 
1148
- > Use the `agentops-governance` skill to scaffold the Red Team runner.
1149
- > Target `gpt-4o-mini`, fail when attack success rate exceeds 20%.
1178
+ Paste this prompt into Copilot Chat (or Claude Code):
1179
+
1180
+ ```text
1181
+ Use the agentops-governance skill to scaffold the Red Team runner for this
1182
+ workspace. Target the gpt-4o-mini deployment, fail when attack success rate
1183
+ exceeds 20%.
1184
+ ```
1150
1185
 
1151
1186
  #### Option B — Run the commands yourself
1152
1187
 
@@ -1313,14 +1348,17 @@ project.
1313
1348
 
1314
1349
  This may be a brand-new folder with no Git repo or GitHub remote yet.
1315
1350
  Keep the scope to the PR gate and dev deploy only: create or connect the
1316
- GitHub repo if needed, wire Azure OIDC and required Actions
1317
- variables/secrets, create only the `dev` environment, verify the OIDC
1318
- principal has **both** Foundry User access on the **dev** Foundry project
1319
- **and** Cognitive Services OpenAI User on the underlying Azure AI Services
1320
- account that hosts the evaluator model (both roles are required without
1321
- the OpenAI User role, the Foundry cloud graders fail with a 401 and every
1322
- metric comes back null), and do not set up `qa`, `production`, scheduled
1323
- Doctor, or hosted deployment workflows yet.
1351
+ GitHub repo if needed, ensure local `main` tracks `origin/main` after the
1352
+ first push/connect, wire Azure OIDC and required Actions variables/secrets,
1353
+ create only the `dev` environment, verify the OIDC principal has **both**
1354
+ Foundry User access on the **dev** Foundry project **and** Cognitive Services
1355
+ OpenAI User on the underlying Azure AI Services account that hosts the
1356
+ evaluator model (both roles are required without the OpenAI User role, the
1357
+ Foundry cloud graders fail with a 401 and every metric comes back null),
1358
+ verify `AZURE_TENANT_ID` is the tenant that owns the Entra app registration
1359
+ and its federated credential (not just a subscription `managedByTenants`
1360
+ value), and do not set up `qa`, `production`, scheduled Doctor, or hosted
1361
+ deployment workflows yet.
1324
1362
 
1325
1363
  I am using trunk-based development with `main` as both my trunk and dev
1326
1364
  branch. The generator's stock dev-deploy trigger is `push: branches:
@@ -1340,12 +1378,20 @@ that needs owner/admin permission.
1340
1378
  The workflow skill will normally do the following, but call out anything
1341
1379
  it skips:
1342
1380
 
1343
- - Create/connect the GitHub remote.
1381
+ - Create/connect the GitHub remote and ensure local `main` tracks
1382
+ `origin/main` (`git branch -vv` should show `[origin/main]`). If the skill
1383
+ skips this, run `git branch --set-upstream-to=origin/main main` before the
1384
+ later tutorial steps that use `git pull`.
1344
1385
  - Create the `dev` GitHub environment.
1345
1386
  - Configure OIDC federated credentials between GitHub and Entra ID.
1346
1387
  - Set Actions variables `AZURE_TENANT_ID`, `AZURE_SUBSCRIPTION_ID`,
1347
1388
  `AZURE_CLIENT_ID`, `AZURE_AI_FOUNDRY_PROJECT_ENDPOINT` (the dev
1348
1389
  endpoint), and `APPLICATIONINSIGHTS_CONNECTION_STRING` if available.
1390
+ - Verify `AZURE_TENANT_ID` against the app registration / federated
1391
+ credential tenant before the first run. A subscription can be associated
1392
+ with another tenant through `managedByTenants`; do not copy that tenant id
1393
+ into the GitHub environment unless the app registration and federated
1394
+ credential are actually visible there.
1349
1395
  - **Rewrite the dev deploy trigger to `main`.** The generator emits the
1350
1396
  stock GitFlow defaults (`pull_request: branches: [develop, "release/**",
1351
1397
  main]` on `agentops-pr.yml`, `push: branches: [develop]` on
@@ -1406,7 +1452,8 @@ If you want to wait on the first PR-workflow verification run from the
1406
1452
  terminal instead of the Actions UI:
1407
1453
 
1408
1454
  ```powershell
1409
- $runId = gh run list --workflow agentops-pr.yml --branch main --limit 1 --json databaseId --jq '.[0].databaseId'
1455
+ $prBranch = gh pr view --json headRefName --jq '.headRefName'
1456
+ $runId = gh run list --workflow agentops-pr.yml --branch $prBranch --event pull_request --limit 1 --json databaseId --jq '.[0].databaseId'
1410
1457
  gh run view $runId --web
1411
1458
  gh run watch $runId --exit-status
1412
1459
  ```
@@ -1574,9 +1621,9 @@ thresholds are loose enough that a regression slips through, Doctor
1574
1621
  still catches it.
1575
1622
 
1576
1623
  ```powershell
1577
- git switch main
1578
- git pull
1579
- git switch -c feature/regress-travel-agent
1624
+ git fetch origin
1625
+ $branch = "feature/regress-travel-agent-step16-$((Get-Date).ToString('yyyyMMddHHmmss'))"
1626
+ git switch -c $branch origin/main
1580
1627
  ```
1581
1628
 
1582
1629
  Edit `.agentops/prompts/travel-agent.md` to this intentionally vague
@@ -1592,8 +1639,8 @@ Commit and push:
1592
1639
  ```powershell
1593
1640
  git add .agentops\prompts\travel-agent.md
1594
1641
  git commit -m "Intentional regression: vague travel prompt"
1595
- git push -u origin feature/regress-travel-agent
1596
- gh pr create --base main --head feature/regress-travel-agent --title "Test AgentOps regression gate" --body "Evaluates an intentionally regressed travel-agent prompt."
1642
+ git push -u origin $branch
1643
+ gh pr create --base main --head $branch --title "Test AgentOps regression gate" --body "Evaluates an intentionally regressed travel-agent prompt."
1597
1644
  ```
1598
1645
 
1599
1646
  Watch the PR check:
@@ -1673,34 +1720,111 @@ regressions that thresholds alone miss, and the merge promotes through
1673
1720
  the deploy workflow. None of those gates require the developer to
1674
1721
  remember to look at a dashboard.
1675
1722
 
1676
- ## 18. Brief observability checkout (Foundry side)
1723
+ ## 18. Observability checkout: traces into continuous evaluation
1677
1724
 
1678
- The Foundry side of the loop is worth a short tour, even though it is
1679
- not what AgentOps owns. This is the "Foundry tells you what happened"
1680
- side of the conversation.
1725
+ Take a short tour of the Foundry runtime view, then turn the same production
1726
+ signal into evaluation coverage. This is the bridge from "what happened in
1727
+ real traces" to "what should keep getting evaluated."
1681
1728
 
1682
1729
  1. Open the `travel-agent-dev` project in the Foundry portal.
1683
1730
  2. Open the `travel-agent` agent and switch to the **Traces** tab. If
1684
1731
  Application Insights is not yet connected, connect or create the
1685
1732
  resource now.
1686
- 3. Find the most recent eval run in **Conversations** or
1733
+ 3. Find a recent eval or playground run in **Conversations** or
1687
1734
  **Responses** and click the **Trace ID**. Inspect spans, latency,
1688
- model call, and the input/output panes.
1689
- 4. Switch to **Operate → Overview** and use **Ask AI** for a
1690
- dashboard-level summary. Example:
1735
+ model calls, and the input/output panes.
1736
+ 4. Switch to **Operate → Overview** and use **Ask AI** for a dashboard-level
1737
+ summary. Example:
1691
1738
 
1692
1739
  ```text
1693
1740
  Help me identify any issues or anomalies in my agent metrics for
1694
1741
  the last 24 hours.
1695
1742
  ```
1696
1743
 
1697
- 5. Optionally, sample the same operation through Application Insights
1698
- Logs (KQL) for the engineer-level view.
1744
+ 5. Now use the traces as evaluation signal. In the project, open
1745
+ **Data Generation**, then select **Create dataset → From traces**.
1746
+ 6. In **Create dataset**, configure:
1699
1747
 
1700
- This is the observability surface AgentOps does **not** replace. Doctor
1701
- will check whether this telemetry is wired (App Insights connection
1702
- string, recent traces, etc.) and include it in the readiness call, but
1703
- the runtime view itself lives in Foundry.
1748
+ | Field | Value |
1749
+ |---|---|
1750
+ | **Dataset usage** | `Evaluation` |
1751
+ | **Name** | `travel-agent-traces-step18` |
1752
+ | **Agent** | `travel-agent` |
1753
+ | **Date range** | Last day or last 7 days |
1754
+ | **Maximum samples** | At least `15` |
1755
+
1756
+ Leave **Intelligent sampling** enabled when the time-range UI shows it.
1757
+ Foundry will filter noisy traces, deduplicate near-identical prompts, and
1758
+ select a representative sample instead of evaluating every request.
1759
+
1760
+ If the dialog shows **Setup incomplete: Assign the Foundry project's managed
1761
+ identity the Reader role on Application Insights**, click **Resolve** if you
1762
+ have permission. Otherwise ask an Azure admin to grant **Reader** on the
1763
+ connected Application Insights resource to the **managed identity of the
1764
+ `travel-agent-dev` Foundry project**. If Application Insights is
1765
+ workspace-based, grant Reader on its backing Log Analytics workspace too.
1766
+ Then wait a few minutes for RBAC to propagate and reopen the dialog.
1767
+ 7. Select **Create** and track the background job on the **Data Generation**
1768
+ tab. When it finishes, open the generated dataset from the **Data** tab and
1769
+ preview the rows. This is the evaluation-ready sample created from real
1770
+ traces.
1771
+ 8. If the portal offers to start an evaluation from the completed job, open it
1772
+ and confirm the generated dataset is selected. You do not need to finish a
1773
+ new eval for this tutorial step; the point is to see how Foundry turns
1774
+ traced behavior into a dataset you can evaluate continuously.
1775
+
1776
+ > **Public preview.** Trace-to-dataset generation and intelligent sampling are
1777
+ > currently preview Foundry features. If your region or project does not show
1778
+ > **Create dataset → From traces**, continue with step 19 and treat this section
1779
+ > as a product tour.
1780
+
1781
+ Optional KQL deep dive: query the evaluation metrics Foundry emits as
1782
+ `gen_ai.evaluation.result` events. These land in the **`AppEvents`** table, which
1783
+ only resolves in the **Log Analytics workspace** that backs your Application
1784
+ Insights resource — not in the App Insights *scoped* Logs blade. Open
1785
+ **Monitor → Logs** (or the connected Log Analytics workspace), set **Time range**
1786
+ to **Set in query** (the query below uses `ago(30d)`), and run:
1787
+
1788
+ ```kusto
1789
+ AppEvents
1790
+ | where TimeGenerated > ago(30d)
1791
+ | where Name == "gen_ai.evaluation.result"
1792
+ | extend p = parse_json(tostring(Properties))
1793
+ | extend Conversation = tostring(p["gen_ai.conversation.id"]),
1794
+ Agent = tostring(p["gen_ai.agent.id"]),
1795
+ Evaluator = tostring(p["gen_ai.evaluation.name"]),
1796
+ Score = todouble(p["gen_ai.evaluation.score.value"])
1797
+ | summarize Time = max(TimeGenerated), AvgScore = round(avg(Score), 2),
1798
+ Metrics = make_bag(pack(Evaluator, Score))
1799
+ by Conversation, Agent
1800
+ | order by Time desc
1801
+ | take 20
1802
+ ```
1803
+
1804
+ Each row is one conversation with its average score and a `Metrics` bag holding
1805
+ every evaluator score side by side. For a per-day rollup of average scores by
1806
+ evaluator, pivot instead:
1807
+
1808
+ ```kusto
1809
+ AppEvents
1810
+ | where TimeGenerated > ago(30d)
1811
+ | where Name == "gen_ai.evaluation.result"
1812
+ | extend p = parse_json(tostring(Properties))
1813
+ | extend Evaluator = tostring(p["gen_ai.evaluation.name"]),
1814
+ Score = todouble(p["gen_ai.evaluation.score.value"])
1815
+ | summarize AvgScore = round(avg(Score), 2) by Day = bin(TimeGenerated, 1d), Evaluator
1816
+ | evaluate pivot(Evaluator, any(AvgScore))
1817
+ | order by Day desc
1818
+ ```
1819
+
1820
+ > **Empty results?** Telemetry can be sparse, so `Last 24 hours` / `Last 7 days`
1821
+ > may return nothing. Widen the time range (`ago(30d)` with **Set in query**, or
1822
+ > **Last 30 days**) and confirm you are in the **Log Analytics workspace**, where
1823
+ > `AppEvents` resolves.
1824
+
1825
+ Foundry gives you the runtime trace view and trace-sampled evaluation datasets;
1826
+ AgentOps Doctor checks that telemetry and release evidence are wired into the
1827
+ readiness story.
1704
1828
 
1705
1829
  ## 19. Sync local evidence and create the release evidence pack
1706
1830
 
@@ -1737,6 +1861,23 @@ deploys, explicit thresholds, or red-team/governance evidence. Treat those as th
1737
1861
  hardening backlog. The eval gates and the dev deploy loop are
1738
1862
  production-ready.
1739
1863
 
1864
+ You will likely also see **two critical findings** here, and that is expected
1865
+ in this tutorial:
1866
+
1867
+ | Critical finding | Why it shows up |
1868
+ |---|---|
1869
+ | `latency.p95_production` | App Insights p95 latency exceeds the 5s default (a prompt agent reasoning over each request runs ~9–12s). |
1870
+ | `errors.production_rate` | Your own tutorial traffic (including the earlier `az login` / token retries) pushed the production error rate above the 5% default. |
1871
+
1872
+ These criticals come from **real production telemetry of your own test
1873
+ traffic**, not from the release candidate's eval gate (which passed). They are
1874
+ honest signals: a real release would investigate latency and errors before
1875
+ promoting. For the tutorial they simply demonstrate that Doctor reads live
1876
+ runtime data. If you want to relax them for a demo, raise the Doctor thresholds
1877
+ in `.agentops/agent.yaml` (`checks.latency.p95_threshold_seconds` and
1878
+ `checks.errors.rate_threshold`) — these are separate from the `agentops.yaml`
1879
+ eval-gate thresholds.
1880
+
1740
1881
  If you want to show the governance evidence path in the video, keep it as a
1741
1882
  short optional callout:
1742
1883
 
@@ -1756,10 +1897,31 @@ Guardrail setup, and red-team scans still happen in their owning tools.
1756
1897
  agentops cockpit --workspace .
1757
1898
  ```
1758
1899
 
1759
- Open the local URL printed by the command. The Cockpit should show
1760
- Foundry connection (sandbox by default; you can switch in the URL),
1761
- AgentOps cloud-eval readiness, Doctor findings, release evidence, the
1762
- PR and dev deploy CI pipelines, and next actions.
1900
+ Cockpit starts a read-only local web server and prints
1901
+ `http://127.0.0.1:8090`. Open that URL in your browser; press `Ctrl+C`
1902
+ in the terminal to stop it. It reflects the **active azd environment**
1903
+ (`sandbox`, from `defaultEnvironment` in `.azure/config.json`) there is
1904
+ no URL switch. To inspect `dev` instead, stop Cockpit, point the active
1905
+ env at `dev` (set `defaultEnvironment: dev` in `.azure/config.json`, or
1906
+ export `AZURE_ENV_NAME=dev`), then rerun the command.
1907
+
1908
+ Read the page top to bottom and confirm each card against what you built:
1909
+
1910
+ | Section | What to confirm in this run |
1911
+ |---|---|
1912
+ | **Foundry connection** | Foundry project = `travel-agent-sandbox`, your Azure tenant is resolved (`az login`), and Agent = `travel-agent:2`. |
1913
+ | **Open in Foundry** | The deep-links open your sandbox project in the correct tenant. |
1914
+ | **Observability readiness** | Trace setup / sampling status pulled from the latest Doctor analysis. |
1915
+ | **AgentOps Doctor** | The same finding rollup you saw in step 19 — **2 critical** (`latency.p95_production`, `errors.production_rate`), plus warnings. |
1916
+ | **Local eval history** | Your `agentops eval run` from step 19 appears as the latest entry. |
1917
+ | **Quality metrics** | coherence / fluency / similarity / response_completeness trend cards from your runs. |
1918
+ | **Production telemetry** | App Insights p95 latency (~11.7s) and error rate (~12%) — the source of the two criticals. |
1919
+ | **CI/CD Pipelines** | The `pr` and `dev` workflows you generated are listed; `qa`/`prod`/scheduled are absent (expected). |
1920
+ | **Next actions** | The prioritized backlog Cockpit derives from the open findings. |
1921
+
1922
+ Cockpit does not run checks or mutate anything — it renders the latest
1923
+ `results.json`, Doctor report, and evidence pack you already produced, and
1924
+ links out to Foundry / Azure Monitor for live runtime data.
1763
1925
 
1764
1926
  ## Success criteria
1765
1927
 
@@ -0,0 +1,5 @@
1
+ fastapi==0.136.3
2
+ uvicorn[standard]==0.32.1
3
+ agent-framework==1.8.1
4
+ azure-identity==1.19.0
5
+ mem0ai==2.0.5
@@ -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.20",
5
+ "version": "0.3.22",
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.20",
4
+ "version": "0.3.22",
5
5
  "author": {
6
6
  "name": "AgentOps Accelerator",
7
7
  "url": "https://github.com/Azure/agentops"