@raishin/vanguard-frontier-agentic 3.12.0 → 3.13.0
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.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/.github/plugin/marketplace.json +1 -1
- package/agents/accounting/accounting-business-combinations-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-close-cycle-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-consolidation-intercompany-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-equity-compensation-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-fixed-assets-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-fx-translation-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-hedge-accounting-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-indirect-tax-einvoicing-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-lease-accounting-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-payroll-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-procure-to-pay-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-revenue-recognition-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/accounting/accounting-tax-provision-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-ack-container-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-actiontrail-audit-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-analyticdb-realtime-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-certificate-manager-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-change-impact-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-china-compliance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-cost-anomaly-watch-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-cost-finops-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-daily-operations-briefing-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-devops-cicd-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-ecs-compute-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-event-driven-architecture-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-function-serverless-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-iac-change-safety-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-kms-secret-lifecycle-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-landing-zone-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-ack-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-kms-key-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-oss-bucket-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-ram-policy-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-live-rds-polardb-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-load-balancer-traffic-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-maxcompute-dataworks-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-migration-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-mse-microservice-engine-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-observability-incident-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-oss-data-perimeter-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-oss-storage-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-polardb-rds-dba-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-ram-iam-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-registry-artifact-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-resilience-bcdr-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-security-center-hardening-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-serverless-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-support-incident-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-ticket-triage-escalation-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-waf-reliability-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/alibaba/alibaba-waf-security-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/argocd/argo-rollouts-progressive-delivery-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/argocd/argocd-gitops-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-agentcore-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-api-edge-delivery-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-bedrock-agent-security-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-change-impact-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-ci-cd-release-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-compliance-evidence-mapper-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-cost-anomaly-watch-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-cost-optimization-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-daily-operations-briefing-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-data-protection-backup-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-deployment-hotfix-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-devops-agent-skill-designer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-dynamodb-data-modeling-performance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-ec2-compute-operations-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-ecs-fargate-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-ecs-service-remediation-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-eks-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-event-driven-architecture-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-generative-ai-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-iac-change-safety-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-iac-patch-executor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-iam-least-privilege-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-kms-secrets-lifecycle-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-landing-zone-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-live-deployment-guarded-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-live-ecs-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-live-iac-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-live-pipeline-approval-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-live-serverless-release-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-migration-cutover-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-non-destructive-task-automation-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-observability-incident-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-pipeline-fix-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-private-ca-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-rds-aurora-performance-investigator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-resilience-bcdr-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-s3-data-perimeter-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-security-posture-hardening-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-serverless-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-serverless-rollout-corrector-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-ticket-triage-escalation-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-waf-reliability-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/aws/aws-waf-security-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-ai-foundry-ops-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-aks-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-app-service-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-cosmosdb-application-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-cosmosdb-performance-investigator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-cosmosdb-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-cost-estimation-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-cost-optimization-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-entra-id-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-governance-policy-guardrails-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-identity-governance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-key-vault-secret-lifecycle-auditor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-keyvault-certificate-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-landing-zone-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-aks-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-app-service-slot-swap-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-arm-deployment-stack-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-entra-role-assignment-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-keyvault-rotation-purge-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-live-pim-jit-activation-guard-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-maestro-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-maestro-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-maestro-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-maestro-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-maestro-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-migrate-landing-zone-cutover-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-migrate-landing-zone-cutover-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-migrate-landing-zone-cutover-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-migrate-landing-zone-cutover-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-migrate-landing-zone-cutover-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-network-topology-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-network-topology-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-network-topology-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-network-topology-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-network-topology-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-observability-investigator-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-observability-investigator-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-observability-investigator-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-observability-investigator-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-observability-investigator-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-platform-automation-devops-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-platform-automation-devops-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-platform-automation-devops-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-platform-automation-devops-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-platform-automation-devops-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-private-endpoint-adoption-planner-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-private-endpoint-adoption-planner-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-private-endpoint-adoption-planner-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-private-endpoint-adoption-planner-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-private-endpoint-adoption-planner-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-rbac-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-rbac-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-rbac-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-rbac-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-rbac-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-resilience-bcdr-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-resilience-bcdr-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-resilience-bcdr-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-resilience-bcdr-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-resilience-bcdr-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-resource-health-incident-triage-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-resource-health-incident-triage-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-resource-health-incident-triage-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-resource-health-incident-triage-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-resource-health-incident-triage-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-role-selector-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-role-selector-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-role-selector-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-role-selector-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-role-selector-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-security-posture-hardening-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-security-posture-hardening-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-security-posture-hardening-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-security-posture-hardening-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-security-posture-hardening-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-subscription-resource-organization-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-subscription-resource-organization-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-subscription-resource-organization-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-subscription-resource-organization-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-subscription-resource-organization-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-waf-cost-optimization-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-waf-cost-optimization-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-waf-cost-optimization-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-waf-cost-optimization-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-waf-reliability-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-waf-reliability-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-waf-reliability-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-waf-reliability-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-waf-reliability-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/azure/azure-waf-security-review-agent/harnesses/claude-code.agent.md +2 -4
- package/agents/azure/azure-waf-security-review-agent/harnesses/copilot.agent.md +2 -4
- package/agents/azure/azure-waf-security-review-agent/harnesses/cursor.agent.md +2 -4
- package/agents/azure/azure-waf-security-review-agent/harnesses/gemini.agent.md +3 -4
- package/agents/azure/azure-waf-security-review-agent/harnesses/kiro-ide.agent.md +2 -4
- package/agents/backstage/backstage-scaffolder-template-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/cert-manager/cert-manager-issuer-trust-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/cilium/cilium-network-policy-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-capacity-planner-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-cost-optimization-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-live-instance-lifecycle-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-live-storage-operations-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/contabo/contabo-security-hardening-agent/harnesses/gemini.agent.md +2 -1
- package/agents/cross-functional/revenue-critical-journey-integrity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-ai-bi-genie-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-data-protection-privacy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-data-quality-observability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-developer-platform-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-finops-cost-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-genai-agent-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-genai-evaluation-observability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-identity-network-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-lakeflow-pipeline-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-lakehouse-engineering-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-live-unity-catalog-grant-guard-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-mlops-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-platform-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-platform-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-sql-performance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-streaming-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-unity-catalog-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-unity-catalog-governance-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/databricks/databricks-value-realization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-aspire-cloud-native-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-aspnetcore-api-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-aspnetcore-identity-authz-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-csharp-runtime-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-efcore-data-access-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-observability-otel-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-performance-aot-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-supply-chain-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/dotnet/dotnet-testing-quality-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/falco/falco-runtime-threat-rules-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-capital-allocation-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-debt-capital-structure-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-fpa-forecasting-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-transfer-pricing-pillar-two-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-treasury-liquidity-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-variance-analysis-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finance/finance-working-capital-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finops/finops-ai-economist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finops/finops-cloud-price-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finops/finops-kubernetes-rightsizer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/finops/finops-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/fluxcd/fluxcd-kustomization-helmrelease-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/accessibility-wcag-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/ai-assisted-frontend-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/angular-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/api-integration-bff-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/browser-compatibility-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/build-tooling-bundling-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/css-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/design-systems-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/enterprise-red-team-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-board-chair-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-finops-cost-to-serve-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-migration-modernization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-observability-rum-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-platform-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/frontend-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/html-semantics-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/internationalization-localization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/javascript-runtime-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/monorepo-dx-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/nextjs-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/package-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/product-analytics-experimentation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/pwa-offline-capability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/react-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/routing-navigation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/ssr-hydration-streaming-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/state-management-data-flow-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/svelte-sveltekit-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/testing-quality-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/typescript-contracts-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/visual-regression-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/vue-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/web-performance-core-vitals-agent/harnesses/gemini.agent.md +2 -1
- package/agents/frontend/web-platform-foundation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-alloydb-ai-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-alloydb-cloudsql-dba-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-anthos-multicloud-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-apigee-api-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-bigquery-cost-performance-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-certificate-manager-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-change-impact-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-cloud-auth-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-cloud-run-functions-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-cloudbuild-deploy-cicd-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-compliance-assured-workloads-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-compute-engine-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-cost-anomaly-watch-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-cost-finops-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-daily-operations-briefing-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-data-pipeline-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-event-driven-architecture-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-firebase-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-gcs-data-perimeter-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-gemini-api-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-gke-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-iac-change-safety-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-iam-least-privilege-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-landing-zone-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-bigquery-dataset-deletion-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-cloud-run-traffic-migration-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-gke-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-iam-policy-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-live-kms-key-destruction-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-load-balancer-traffic-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-migration-cutover-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-networking-observability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-observability-incident-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-registry-artifact-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-resilience-bcdr-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-resource-inventory-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-secret-kms-lifecycle-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-security-posture-hardening-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-serverless-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-spanner-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-support-incident-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-ticket-triage-escalation-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-vertex-ai-mlops-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-vpc-service-controls-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-waf-reliability-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/gcp/gcp-waf-security-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-capacity-planner-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-cost-optimization-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-infrastructure-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-live-firewall-rule-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-live-server-lifecycle-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hetzner/hetzner-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-analytics-people-data-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-benefits-payroll-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-compensation-equity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-culture-dei-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-employee-relations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-hris-process-controls-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-learning-policy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-leave-accommodation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-performance-management-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-recruiting-selection-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-risk-triage-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-termination-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-workforce-planning-rif-agent/harnesses/gemini.agent.md +2 -1
- package/agents/hr/hr-workplace-investigations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-cce-container-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-certificate-manager-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-change-impact-advisor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-codearts-devops-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-compliance-sovereignty-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-cost-anomaly-watch-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-cost-finops-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-daily-operations-briefing-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-dew-kms-lifecycle-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-drs-data-replication-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-dws-dli-data-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-ecs-compute-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-event-driven-architecture-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-functiongraph-serverless-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-gaussdb-rds-dba-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-iac-change-safety-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-iam-least-privilege-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-ief-edge-computing-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-landing-zone-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-cce-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-cost-budget-action-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-gaussdb-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-iam-policy-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-kms-key-destruction-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-live-obs-bucket-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-load-balancer-traffic-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-migration-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-modelarts-mlops-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-obs-data-perimeter-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-obs-storage-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-observability-incident-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-registry-artifact-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-resilience-bcdr-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-secmaster-security-operations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-serverless-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-support-incident-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-ticket-triage-escalation-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-waf-reliability-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/huawei/huawei-waf-security-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-cost-optimization-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-datacenter-designer-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-kubernetes-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-live-database-lifecycle-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ionos/ionos-security-compliance-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-ambient-mesh-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-authorization-policy-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-dataplane-diagnostics-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-gateway-api-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-traffic-resilience-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/istio/istio-upgrade-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-application-server-exit-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-concurrency-and-virtual-thread-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-container-and-kubernetes-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-database-migration-safety-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-deserialization-and-parser-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-framework-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-jdk-lifecycle-and-upgrade-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-jpa-hibernate-performance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-jvm-performance-and-gc-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-kafka-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-resilience-pattern-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-spring-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-test-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/java/java-transaction-and-consistency-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-android-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-android-performance-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-android-security-privacy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-backend-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-compose-ui-quality-accessibility-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-coroutines-flow-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-estate-modernization-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-gradle-build-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-kmp-boundary-interop-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-kmp-portfolio-decision-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-language-api-correctness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-library-api-abi-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-serialization-wire-contract-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-supply-chain-release-integrity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kotlin/kotlin-test-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/external-secrets-operator-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubecost-chargeback-allocation-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-admission-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-argocd-sync-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-mesh-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-network-architecture-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-network-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-rbac-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-live-velero-restore-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-network-architecture-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-pod-spec-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-psa-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-rbac-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kubernetes/kubernetes-workload-identity-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/kyverno/kyverno-policy-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-contract-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-counsel-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-employment-law-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-ethics-investigations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-ip-open-source-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-knowledge-management-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-litigation-discovery-hold-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-policy-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-privacy-data-protection-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-public-disclosure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-regulatory-compliance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/legal/legal-vendor-procurement-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/martech-access-governance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/copilot-governance-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/copilot-studio-agent-governance-alm-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-commerce-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-customer-insights-journeys-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-customer-service-contact-center-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-data-migration-cutover-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-field-service-to-cash-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-finance-close-to-report-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-fno-developer-extension-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-integration-dual-write-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-live-record-field-update-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-live-security-role-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-project-operations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-sales-revenue-operations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-security-sod-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-success-by-design-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/d365-supply-chain-plan-to-produce-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/fabric-analytics-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/fabric-data-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/fabric-power-bi-business-insights-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-backup-bcdr-data-resilience-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-copilot-readiness-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-defender-xdr-security-operations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-exchange-sharepoint-information-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-identity-zero-trust-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-intune-endpoint-management-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-licensing-ea-optimization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-live-identity-posture-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-live-sensitivity-label-apply-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-purview-data-security-compliance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-teams-collaboration-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/m365-tenant-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/microsoft-business-impact-value-realization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/microsoft-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/power-automate-automation-risk-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/power-platform-alm-pipelines-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/power-platform-governance-dataverse-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/microsoft/power-platform-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-administrator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-ai-connector-mcp-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-ai-foundations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-application-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-audit-controls-sox-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-bi-reporting-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-data-governance-privacy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-enterprise-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-erp-consultant-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-evidence-release-drift-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-financial-foundations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-identity-access-role-permission-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-integration-migration-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-live-org-mutation-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-oneworld-multisubsidiary-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-sandbox-nonproduction-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-saved-searches-workbook-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-sdf-devops-release-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-sso-oauth-tba-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-suitecloud-developer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-suiteflow-automation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-suitefoundation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-suitescript-secure-code-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/netsuite/netsuite-web-services-integration-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-agentic-ai-platform-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-ai-infrastructure-operations-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-ai-networking-fabric-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-ai-operations-day2-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-cuda-kernel-performance-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-generative-ai-platform-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-gpu-operator-kubernetes-hardening-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-ngc-nim-supply-chain-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-tensorrt-llm-deployment-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/nvidia/nvidia-triton-inference-serving-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-autonomous-database-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-certificates-issuer-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-cloud-guard-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-compute-instance-agent-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-compute-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-cost-finops-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-database-platform-dba-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-dbtools-sql-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-devops-container-platform-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-exadata-platform-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-fusion-apps-environment-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-goldengate-replication-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-identity-access-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-iot-digital-twin-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-limits-capacity-planner-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-autonomous-db-lifecycle-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-cost-budget-runaway-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-iam-policy-compartment-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-network-security-rule-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-oke-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-resource-manager-stack-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-live-vault-key-destruction-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-load-balancer-traffic-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-migration-cutover-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-multi-cloud-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-mysql-heatwave-ai-specialist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-observability-incident-responder-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-recovery-service-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-registry-artifact-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-resource-search-inventory-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-security-compliance-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-storage-backup-steward-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-support-incident-coordinator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-waf-cost-optimization-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-waf-reliability-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/oci/oci-waf-security-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/opentelemetry/opentelemetry-collector-config-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-cost-finops-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-iam-policy-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-kubernetes-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-live-kms-key-destruction-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/ovhcloud/ovhcloud-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/php/composer-supply-chain-agent/harnesses/gemini.agent.md +2 -1
- package/agents/php/php-application-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/php/php-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/php/php-runtime-upgrade-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/php/wordpress-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/prometheus/prometheus-alerting-cardinality-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-application-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-async-concurrency-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-business-critical-automation-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-container-serverless-runtime-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-data-access-transaction-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-data-pipeline-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-developer-tooling-build-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-distributed-task-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-estate-modernization-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-free-threading-parallelism-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-language-contracts-typing-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-change-plan-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-code-remediation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-continuous-control-testing-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-control-evidence-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-data-change-control-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-exception-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-governance-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-identity-authority-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-job-control-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-model-promotion-control-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-policy-gate-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-release-control-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-rollback-and-recovery-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-runtime-control-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-live-system-inventory-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-ml-ai-production-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-native-extension-interop-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-numerical-scientific-correctness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-observability-sre-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-packaging-supply-chain-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-performance-memory-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-testing-quality-engineering-agent/harnesses/gemini.agent.md +2 -1
- package/agents/python/python-web-service-production-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/ci-test-pipeline-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/helm-chart-quality-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/kubernetes-manifest-quality-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/llm-ai-pipeline-test-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/playwright-e2e-suite-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/plc-control-logic-safety-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/rpa-workflow-resilience-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/test-coverage-quality-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/qa/test-flakiness-triage-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-app-builder-automation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-business-analyst-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-data-architecture-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-development-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-devops-release-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-integration-mulesoft-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-platform-admin-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-sales-cloud-revenue-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-security-identity-access-agent/harnesses/gemini.agent.md +2 -1
- package/agents/salesforce/salesforce-service-field-service-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-abap-cloud-rap-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-ai-core-genai-hub-governance-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-analytics-cloud-planning-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-audit-evidence-packager-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-btp-account-entitlement-governance-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-btp-entitlement-guarded-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-cap-architecture-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-clean-core-debt-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-cloud-alm-sre-incident-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-custom-code-remediation-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-data-migration-cutover-readiness-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-datasphere-data-product-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-ewm-tm-logistics-execution-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-finance-fico-controls-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-fiori-ui5-ux-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-guarded-transport-import-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-hana-cloud-performance-cost-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-hypercare-incident-commander-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-integration-flow-guarded-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-integration-suite-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-joule-governance-adoption-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-license-btp-consumption-finops-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-live-readonly-identity-trust-discovery-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-live-readonly-landscape-discovery-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-manufacturing-execution-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-mdg-master-data-quality-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-order-to-cash-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-procurement-ariba-value-leakage-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-release-change-collision-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-rise-sla-vendor-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-role-assignment-guarded-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-s4hana-transformation-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-security-iam-grc-sod-reviewer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-signavio-process-mining-value-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-successfactors-hr-process-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-supply-chain-ibp-resilience-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-testing-quality-gate-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-transformation-portfolio-triage-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sap/sap-treasury-cash-risk-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-cost-optimizer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-iam-policy-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-kapsule-platform-operator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-live-kapsule-rollout-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/scaleway/scaleway-network-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/sigstore/sigstore-cosign-supply-chain-review-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-analytics-semantic-data-product-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-bcdr-resilience-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-business-value-adoption-strategist-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-compliance-evidence-auditor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-cortex-ai-agent-security-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-data-engineering-pipelines-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-data-platform-engineering-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-data-science-ml-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-devops-iac-release-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-finops-cost-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-governance-privacy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-identity-access-security-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-auth-network-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-data-protection-policy-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-failover-promotion-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-pipeline-streaming-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-rbac-grant-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-rbac-grant-guard-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-live-warehouse-cost-change-guard-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-migration-modernization-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-native-app-marketplace-product-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-network-private-connectivity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-platform-administrator-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-query-performance-engineer-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-rbac-access-governance-at-azure-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-solution-architect-agent/harnesses/gemini.agent.md +2 -1
- package/agents/snowflake/snowflake-streaming-ingestion-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-engine-compatibility-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-estate-reconciliation-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-execution-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-plan-blast-radius-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-policy-evidence-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-reviewer/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-state-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/terraform/terraform-supply-chain-integrity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-async-contract-reliability-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-build-graph-performance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-business-critical-automation-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-engineering-economics-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-estate-modernization-governor-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-maestro-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-mcp-tool-contract-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-module-resolution-and-emit-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-node-execution-compatibility-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-package-publication-integrity-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-public-api-and-declaration-governance-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-runtime-boundary-contract-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-static-enforcement-policy-agent/harnesses/gemini.agent.md +2 -1
- package/agents/typescript/typescript-type-soundness-agent/harnesses/gemini.agent.md +2 -1
- package/catalog/asset-integrity.json +1645 -1635
- package/catalog/mcp-references.json +48 -6
- package/catalog/model-registry.json +16 -9
- package/package.json +19 -4
- package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
- package/schemas/model-policy.schema.json +2 -2
- package/scripts/export-marketplace-agents.mjs +261 -68
- package/scripts/gen_azure_live_guards.py +2 -1
- package/scripts/gen_databricks_agents.py +8 -1
- package/scripts/gen_kotlin_agents.py +8 -1
- package/scripts/gen_netsuite_agents.py +8 -1
- package/scripts/gen_oci_live_guards.py +2 -1
- package/scripts/gen_python_agents.py +8 -1
- package/scripts/gen_python_live_agents.py +8 -1
- package/scripts/gen_snowflake_agents.py +8 -1
- package/scripts/gen_terraform_agents.py +8 -1
- package/scripts/gen_typescript_agents.py +8 -1
- package/scripts/generate-board-counts.mjs +17 -1
- package/scripts/install-codex-home.mjs +33 -7
- package/scripts/model-policy.mjs +44 -2
- package/tests/_generate_maestro_routing_fixtures.py +344 -15
- package/tests/fixtures/README.md +20 -4
- package/tests/fuzz-properties.test.mjs +11 -31
- package/tests/integration/rbac-pre-flight/README.md +92 -25
- package/tests/integration/rbac-pre-flight/fixtures/crds.yaml +565 -0
- package/tests/integration/rbac-pre-flight/guards/network-arch.sh +8 -7
- package/tests/integration/rbac-pre-flight/lib/common.sh +225 -92
- package/tests/integration/rbac-pre-flight/run-all.sh +67 -13
- package/tests/integration/rbac-pre-flight/self-test.sh +181 -0
- package/tests/validate-agent-frontmatter-schema.py +80 -0
- package/tests/validate-mcp-trust-matrix.py +62 -2
- package/tests/validate-release-notes.mjs +124 -9
- package/tests/validate-tracked-secrets.py +151 -0
- package/tests/integration/rbac-pre-flight/ci/kind-rbac-preflight.yaml +0 -49
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
* read-only-runtime, or untiered. Subtracting would under-count the specialists
|
|
46
46
|
* on every board whose router is not static-review.
|
|
47
47
|
*
|
|
48
|
-
* Global keys: agents, skills, providers, roles, gates, maestros, rules, mcp.
|
|
48
|
+
* Global keys: agents, skills, providers, roles, gates, maestros, scenarios, rules, mcp.
|
|
49
49
|
*
|
|
50
50
|
* Unknown providers and unknown keys are hard errors: a typo in a marker must
|
|
51
51
|
* fail the gate rather than silently keep a stale number.
|
|
@@ -189,6 +189,21 @@ const maestroCount = fs.existsSync(fixturesDir)
|
|
|
189
189
|
? fs.readdirSync(fixturesDir).filter((d) => d.endsWith("-maestro-routing")).length
|
|
190
190
|
: 0;
|
|
191
191
|
|
|
192
|
+
// Scenarios = what validate-maestro-routing.py counts: every inputs/*.json in a
|
|
193
|
+
// *-maestro-routing directory that has a taxonomy.json (it skips the rest).
|
|
194
|
+
const scenarioCount = fs.existsSync(fixturesDir)
|
|
195
|
+
? fs
|
|
196
|
+
.readdirSync(fixturesDir)
|
|
197
|
+
.filter((d) => d.endsWith("-maestro-routing"))
|
|
198
|
+
.filter((d) => fs.existsSync(path.join(fixturesDir, d, "taxonomy.json")))
|
|
199
|
+
.map((d) => path.join(fixturesDir, d, "inputs"))
|
|
200
|
+
.filter((dir) => fs.existsSync(dir))
|
|
201
|
+
.reduce(
|
|
202
|
+
(sum, dir) => sum + fs.readdirSync(dir).filter((f) => f.endsWith(".json")).length,
|
|
203
|
+
0,
|
|
204
|
+
)
|
|
205
|
+
: 0;
|
|
206
|
+
|
|
192
207
|
const globals = {
|
|
193
208
|
agents: agentMeta.length,
|
|
194
209
|
skills: skillMeta.length,
|
|
@@ -196,6 +211,7 @@ const globals = {
|
|
|
196
211
|
roles: jsonLen("catalog/install-roles.json", (d) => d.roles ?? d),
|
|
197
212
|
gates: gateCount,
|
|
198
213
|
maestros: maestroCount,
|
|
214
|
+
scenarios: scenarioCount,
|
|
199
215
|
rules: jsonLen("catalog/rules.json"),
|
|
200
216
|
mcp: jsonLen("catalog/mcp-references.json"),
|
|
201
217
|
};
|
|
@@ -18,14 +18,17 @@ const args = process.argv.slice(2);
|
|
|
18
18
|
const opts = {
|
|
19
19
|
marketplace: "VincentChuWaiChow/vanguard-frontier-agentic",
|
|
20
20
|
repo: os.homedir(),
|
|
21
|
-
|
|
21
|
+
// Default to refusing overwrites. This wrapper writes into the user's home
|
|
22
|
+
// directory, where a collision is someone's customised agent or skill; the
|
|
23
|
+
// exporter has no backup or rollback, so clobbering must be opt-in.
|
|
24
|
+
force: false,
|
|
22
25
|
skipMarketplace: false,
|
|
23
26
|
dryRun: false,
|
|
24
27
|
};
|
|
25
28
|
|
|
26
29
|
function usage(exitCode = 0) {
|
|
27
30
|
const out = exitCode === 0 ? console.log : console.error;
|
|
28
|
-
out(`Usage: node scripts/install-codex-home.mjs [options]\n\nOptions:\n --marketplace <source> Codex marketplace source (default: VincentChuWaiChow/vanguard-frontier-agentic)\n --repo <path> Target home/repo path whose .codex folder receives agents/skills (default: $HOME)\n --dry-run
|
|
31
|
+
out(`Usage: node scripts/install-codex-home.mjs [options]\n\nOptions:\n --marketplace <source> Codex marketplace source (default: VincentChuWaiChow/vanguard-frontier-agentic)\n --repo <path> Target home/repo path whose .codex folder receives agents/skills (default: $HOME)\n --dry-run Preview only: no marketplace mutation and no agent/skill writes\n --skip-marketplace Skip codex plugin marketplace add/upgrade\n --force Overwrite existing agent/skill files (default: refuse on collision)\n --no-force Explicitly keep the refuse-on-collision default\n -h, --help Show this help\n`);
|
|
29
32
|
process.exit(exitCode);
|
|
30
33
|
}
|
|
31
34
|
|
|
@@ -43,6 +46,7 @@ for (let i = 0; i < args.length; i++) {
|
|
|
43
46
|
}
|
|
44
47
|
else if (arg === "--dry-run") opts.dryRun = true;
|
|
45
48
|
else if (arg === "--skip-marketplace") opts.skipMarketplace = true;
|
|
49
|
+
else if (arg === "--force") opts.force = true;
|
|
46
50
|
else if (arg === "--no-force") opts.force = false;
|
|
47
51
|
else {
|
|
48
52
|
console.error(`Unknown option: ${arg}`);
|
|
@@ -76,19 +80,41 @@ function run(label, command, commandArgs, options = {}) {
|
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
|
|
83
|
+
const exportArgs = ["--platform", "codex", "--all", "--repo", opts.repo];
|
|
84
|
+
if (opts.force) exportArgs.push("--force");
|
|
85
|
+
|
|
86
|
+
// Without --force, find out whether the export would collide before changing
|
|
87
|
+
// anything. The exporter's --dry-run checks every agent and skill destination
|
|
88
|
+
// and fails if any already exists, so a refused install leaves both the
|
|
89
|
+
// marketplace and the Codex home untouched rather than half-updated.
|
|
90
|
+
if (!opts.force && !opts.dryRun) {
|
|
91
|
+
run("preflight", process.execPath, [exporter, ...exportArgs, "--dry-run"], {
|
|
92
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
79
96
|
if (!opts.skipMarketplace) {
|
|
80
|
-
run("marketplace-add", "codex", ["plugin", "marketplace", "add", opts.marketplace]);
|
|
81
97
|
const marketplaceName = opts.marketplace
|
|
82
98
|
.split("/").pop()
|
|
83
99
|
?.replace(/\.git$/, "")
|
|
84
100
|
?.replace(/@.+$/, "");
|
|
85
|
-
|
|
86
|
-
|
|
101
|
+
|
|
102
|
+
if (opts.dryRun) {
|
|
103
|
+
// --dry-run previously covered only the exporter stage, so a "preview"
|
|
104
|
+
// still ran `codex plugin marketplace add/upgrade` and mutated real
|
|
105
|
+
// marketplace state. A preview must not change anything.
|
|
106
|
+
console.error(`[dry-run] would run: codex plugin marketplace add ${opts.marketplace}`);
|
|
107
|
+
if (marketplaceName) {
|
|
108
|
+
console.error(`[dry-run] would run: codex plugin marketplace upgrade ${marketplaceName}`);
|
|
109
|
+
}
|
|
110
|
+
} else {
|
|
111
|
+
run("marketplace-add", "codex", ["plugin", "marketplace", "add", opts.marketplace]);
|
|
112
|
+
if (marketplaceName) {
|
|
113
|
+
run("marketplace-upgrade", "codex", ["plugin", "marketplace", "upgrade", marketplaceName]);
|
|
114
|
+
}
|
|
87
115
|
}
|
|
88
116
|
}
|
|
89
117
|
|
|
90
|
-
const exportArgs = ["--platform", "codex", "--all", "--repo", opts.repo];
|
|
91
|
-
if (opts.force) exportArgs.push("--force");
|
|
92
118
|
if (opts.dryRun) exportArgs.push("--dry-run");
|
|
93
119
|
run("export-agents-and-skills", process.execPath, [exporter, ...exportArgs]);
|
|
94
120
|
|
package/scripts/model-policy.mjs
CHANGED
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
* npm run asset-integrity:write
|
|
71
71
|
*/
|
|
72
72
|
|
|
73
|
-
import { readFileSync, writeFileSync } from "node:fs";
|
|
73
|
+
import { lstatSync, readFileSync, realpathSync, writeFileSync } from "node:fs";
|
|
74
74
|
import { createHash } from "node:crypto";
|
|
75
75
|
import { dirname, isAbsolute, join, relative } from "node:path";
|
|
76
76
|
import { fileURLToPath } from "node:url";
|
|
@@ -195,13 +195,55 @@ const SAFE_TOKEN = /^[a-z0-9][a-z0-9._-]*$/;
|
|
|
195
195
|
* lives under `agents/`, so scoping the guard there is both correct and tight —
|
|
196
196
|
* it blocks `.git/`, root files, and traversal in one check. Stricter than the
|
|
197
197
|
* `path_is_inside_repo` sibling validators (which this hereby supersedes for
|
|
198
|
-
* the codex/read-write path)
|
|
198
|
+
* the codex/read-write path).
|
|
199
|
+
*
|
|
200
|
+
* The lexical checks alone were not enough: a planted leaf symlink, or a
|
|
201
|
+
* symlinked ancestor directory under `agents/`, is lexically inside the repo
|
|
202
|
+
* but resolves outside it, so `apply` would write through it to an arbitrary
|
|
203
|
+
* file the operator can write. After the lexical guard we therefore resolve
|
|
204
|
+
* real paths and require the target to stay inside the real repo root, and we
|
|
205
|
+
* refuse to write through a symlink at all — matching
|
|
206
|
+
* tests/validate-asset-integrity.py, which rejects symlinks in the trust
|
|
207
|
+
* surface. */
|
|
199
208
|
function resolveInsideRepo(relPath) {
|
|
200
209
|
if (typeof relPath !== "string" || relPath.length === 0) return null;
|
|
201
210
|
const abs = join(repoRoot, relPath);
|
|
202
211
|
const rel = relative(repoRoot, abs);
|
|
203
212
|
if (rel === "" || rel.startsWith("..") || isAbsolute(rel)) return null;
|
|
204
213
|
if (rel.split(/[\\/]/)[0] !== "agents") return null;
|
|
214
|
+
|
|
215
|
+
// Never write through a symlink, even one pointing back inside the repo.
|
|
216
|
+
try {
|
|
217
|
+
if (lstatSync(abs).isSymbolicLink()) return null;
|
|
218
|
+
} catch {
|
|
219
|
+
// Target does not exist yet — the ancestor walk below still applies.
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Resolve the nearest existing ancestor and require it to remain inside the
|
|
223
|
+
// real repo root, which catches a symlinked parent directory.
|
|
224
|
+
let realRoot;
|
|
225
|
+
try {
|
|
226
|
+
realRoot = realpathSync(repoRoot);
|
|
227
|
+
} catch {
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
let probe = dirname(abs);
|
|
232
|
+
for (;;) {
|
|
233
|
+
try {
|
|
234
|
+
const realProbe = realpathSync(probe);
|
|
235
|
+
const realRel = relative(realRoot, realProbe);
|
|
236
|
+
if (realRel !== "" && (realRel.startsWith("..") || isAbsolute(realRel))) {
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
} catch {
|
|
241
|
+
const parent = dirname(probe);
|
|
242
|
+
if (parent === probe) return null;
|
|
243
|
+
probe = parent;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
205
247
|
return abs;
|
|
206
248
|
}
|
|
207
249
|
|
|
@@ -19,13 +19,15 @@ For each provider that owns a `*-maestro` skill, this script:
|
|
|
19
19
|
- ambiguous (expect unclassified)
|
|
20
20
|
|
|
21
21
|
The output is a *seed*. Hand-tune taxonomy keywords if a fixture misroutes.
|
|
22
|
-
Re-running this script overwrites taxonomy.json and fixtures
|
|
22
|
+
Re-running this script overwrites taxonomy.json and fixtures, so once a
|
|
23
|
+
provider has been hand-tuned, add it to the `skip` set in main().
|
|
23
24
|
"""
|
|
24
25
|
|
|
25
26
|
from __future__ import annotations
|
|
26
27
|
|
|
27
28
|
import json
|
|
28
29
|
import re
|
|
30
|
+
import sys
|
|
29
31
|
from pathlib import Path
|
|
30
32
|
|
|
31
33
|
ROOT = Path(__file__).resolve().parents[1]
|
|
@@ -429,8 +431,62 @@ def stress_test_fixtures(provider: str, taxonomy: dict) -> list[tuple[str, dict,
|
|
|
429
431
|
return fixtures
|
|
430
432
|
|
|
431
433
|
|
|
432
|
-
|
|
433
|
-
|
|
434
|
+
# Finding T2: adversarial and happy-path expectations are produced by the same
|
|
435
|
+
# evaluator the suite later checks against, and this generator clears and
|
|
436
|
+
# rewrites every expected/ file. A regression in evaluate() would be laundered
|
|
437
|
+
# into the accepted baseline on the next regeneration, and the suite would pass
|
|
438
|
+
# against it. Reviewed expectations are now frozen: an answer that changed for
|
|
439
|
+
# an existing fixture is refused unless a human explicitly accepts it.
|
|
440
|
+
ACCEPT_BASELINE_CHANGES = False
|
|
441
|
+
|
|
442
|
+
|
|
443
|
+
class BaselineChanged(RuntimeError):
|
|
444
|
+
"""Regeneration would rewrite an already-reviewed expectation."""
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
def routed_agents(provider: str) -> set[str]:
|
|
448
|
+
"""Agents a provider's reviewed taxonomy routes, live guards included."""
|
|
449
|
+
path = FIXTURES_ROOT / f"{provider}-maestro-routing" / "taxonomy.json"
|
|
450
|
+
if not path.is_file():
|
|
451
|
+
return set()
|
|
452
|
+
taxonomy = json.loads(path.read_text())
|
|
453
|
+
return {conf["agent"] for conf in taxonomy.get("domains", {}).values()} | set(
|
|
454
|
+
taxonomy.get("live_guards", [])
|
|
455
|
+
)
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
def claimed_elsewhere(provider: str, agents: list[dict]) -> dict[str, list[str]]:
|
|
459
|
+
"""Catalog agents of `provider` that another maestro's reviewed taxonomy
|
|
460
|
+
routes and this provider's does not, mapped to the maestros routing them.
|
|
461
|
+
|
|
462
|
+
A catalog `provider` is only a proxy for the maestro that routes an agent:
|
|
463
|
+
finops-kubernetes-rightsizer-agent is catalogued under kubernetes but routed
|
|
464
|
+
by finops, and the python-live-* agents are catalogued under python but
|
|
465
|
+
routed by python-live. The maestro documents cannot settle it — many do not
|
|
466
|
+
name every agent they route, and several agents are legitimately routed by
|
|
467
|
+
two maestros — so the reviewed taxonomies are the record. An agent this
|
|
468
|
+
provider already routes is kept even if another maestro routes it too."""
|
|
469
|
+
own = routed_agents(provider)
|
|
470
|
+
others = {
|
|
471
|
+
d.name[: -len("-maestro-routing")]
|
|
472
|
+
for d in FIXTURES_ROOT.glob("*-maestro-routing")
|
|
473
|
+
} - {provider}
|
|
474
|
+
routed_by = {other: routed_agents(other) for other in sorted(others)}
|
|
475
|
+
claimed: dict[str, list[str]] = {}
|
|
476
|
+
for agent in agents:
|
|
477
|
+
if agent["id"] in own:
|
|
478
|
+
continue
|
|
479
|
+
owners = [other for other, ids in routed_by.items() if agent["id"] in ids]
|
|
480
|
+
if owners:
|
|
481
|
+
claimed[agent["id"]] = owners
|
|
482
|
+
return claimed
|
|
483
|
+
|
|
484
|
+
|
|
485
|
+
def plan_provider(
|
|
486
|
+
provider: str, agents: list[dict]
|
|
487
|
+
) -> tuple[dict, list[tuple[str, dict, dict]]]:
|
|
488
|
+
"""Build one provider's taxonomy and fixtures and compare them against the
|
|
489
|
+
reviewed baseline. Writes nothing; raises `BaselineChanged` on drift."""
|
|
434
490
|
# Lazy import of the grader so we can self-baseline adversarial fixtures.
|
|
435
491
|
import importlib.util
|
|
436
492
|
grader_path = Path(__file__).resolve().parent / "validate-maestro-routing.py"
|
|
@@ -444,16 +500,48 @@ def write_provider(provider: str, agents: list[dict]) -> int:
|
|
|
444
500
|
inputs_dir.mkdir(parents=True, exist_ok=True)
|
|
445
501
|
expected_dir.mkdir(parents=True, exist_ok=True)
|
|
446
502
|
|
|
503
|
+
# Never introduce a route another maestro owns. Left in, such an agent
|
|
504
|
+
# becomes a new domain here and every later happy-path fixture renumbers,
|
|
505
|
+
# which the guards below accept as coverage gained — so this is the check
|
|
506
|
+
# that stops it, not the baseline freeze.
|
|
507
|
+
handed_off = claimed_elsewhere(provider, agents)
|
|
508
|
+
agents = [a for a in agents if a["id"] not in handed_off]
|
|
509
|
+
|
|
447
510
|
taxonomy = build_taxonomy(provider, agents)
|
|
448
|
-
(fixture_dir / "taxonomy.json").write_text(json.dumps(taxonomy, indent=2) + "\n")
|
|
449
511
|
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
512
|
+
# Read the reviewed expectations BEFORE anything is written or deleted, and
|
|
513
|
+
# do not mutate the tree until every fixture has been compared. The previous
|
|
514
|
+
# order cleared inputs/ and expected/ first, so raising part-way through left
|
|
515
|
+
# the provider's fixtures half-deleted.
|
|
516
|
+
frozen: dict[str, dict] = {}
|
|
517
|
+
for existing in expected_dir.glob("*.json"):
|
|
518
|
+
try:
|
|
519
|
+
frozen[existing.stem] = json.loads(existing.read_text())
|
|
520
|
+
except json.JSONDecodeError:
|
|
521
|
+
# An unreadable expectation cannot be compared against, so it is
|
|
522
|
+
# left out of the baseline and simply regenerated. Failing here
|
|
523
|
+
# would make a corrupt file impossible to repair with this script.
|
|
524
|
+
pass
|
|
525
|
+
|
|
526
|
+
# The generator synthesises the INPUT as well as the expectation, so a
|
|
527
|
+
# fixture name can survive while the question underneath it changes
|
|
528
|
+
# completely. Comparing answers alone reported that as an evaluator
|
|
529
|
+
# regression, which is misleading: two different questions may each have a
|
|
530
|
+
# correct and different answer.
|
|
531
|
+
frozen_inputs: dict[str, dict] = {}
|
|
532
|
+
for existing in inputs_dir.glob("*.json"):
|
|
533
|
+
try:
|
|
534
|
+
frozen_inputs[existing.stem] = json.loads(existing.read_text())
|
|
535
|
+
except json.JSONDecodeError:
|
|
536
|
+
# Same reasoning as the expectations above: an unparsable input is
|
|
537
|
+
# regenerated rather than blocking the run.
|
|
538
|
+
pass
|
|
454
539
|
|
|
455
540
|
live_guards = set(taxonomy.get("live_guards", []))
|
|
456
541
|
fixtures = stress_test_fixtures(provider, taxonomy)
|
|
542
|
+
planned: list[tuple[str, dict, dict]] = []
|
|
543
|
+
drifted: list[str] = []
|
|
544
|
+
reworded: list[str] = []
|
|
457
545
|
for name, input_doc, expected_doc, tags in fixtures:
|
|
458
546
|
# For adversarial fixtures the expected route is *what the grader
|
|
459
547
|
# produces*, on the principle that adversarial prose must not change
|
|
@@ -477,33 +565,274 @@ def write_provider(provider: str, agents: list[dict]) -> int:
|
|
|
477
565
|
target = expected_doc["route"][0]
|
|
478
566
|
if target in got["route"] and got["mode"] != "unclassified":
|
|
479
567
|
expected_doc = {"route": sorted(got["route"]), "mode": got["mode"]}
|
|
568
|
+
previous = frozen.get(name)
|
|
569
|
+
previous_input = frozen_inputs.get(name)
|
|
570
|
+
answer_changed = previous is not None and previous != expected_doc
|
|
571
|
+
input_changed = previous_input is not None and previous_input.get(
|
|
572
|
+
"task"
|
|
573
|
+
) != input_doc.get("task")
|
|
574
|
+
|
|
575
|
+
# A happy-path expectation records intent, not evaluator output: when the
|
|
576
|
+
# target is missing from the route, `expected_doc` stays the intended
|
|
577
|
+
# single route. So a reworded task can keep an identical expectation
|
|
578
|
+
# while no longer routing to it — azure/026 was reported as "same
|
|
579
|
+
# expectation" yet failed the validator once written. Check a reviewed
|
|
580
|
+
# fixture the way validate-maestro-routing.py does (route as a set,
|
|
581
|
+
# mode exactly) before calling it unchanged.
|
|
582
|
+
misrouted = None
|
|
583
|
+
if previous is not None and not answer_changed:
|
|
584
|
+
got_now = mod.evaluate(input_doc["task"], taxonomy)
|
|
585
|
+
if set(got_now["route"]) != set(expected_doc["route"]) or (
|
|
586
|
+
got_now["mode"] != expected_doc["mode"]
|
|
587
|
+
):
|
|
588
|
+
misrouted = got_now
|
|
589
|
+
if misrouted is not None:
|
|
590
|
+
drifted.append(
|
|
591
|
+
f" [{provider}/{name}]\n"
|
|
592
|
+
" the reviewed answer held, but the regenerated task no longer\n"
|
|
593
|
+
" routes to it, so the written fixture would fail validation\n"
|
|
594
|
+
f" reviewed task: {(previous_input or {}).get('task', '')[:140]}\n"
|
|
595
|
+
f" current task: {input_doc.get('task', '')[:140]}\n"
|
|
596
|
+
f" expected: {expected_doc}\n"
|
|
597
|
+
f" routes to: {{'route': {sorted(misrouted['route'])}, "
|
|
598
|
+
f"'mode': {misrouted['mode']!r}}}"
|
|
599
|
+
)
|
|
600
|
+
planned.append((name, input_doc, expected_doc))
|
|
601
|
+
continue
|
|
602
|
+
|
|
603
|
+
# Only an expectation change blocks. That is T2's concern: a wrong route
|
|
604
|
+
# becoming the accepted baseline. An input-only change is the normal
|
|
605
|
+
# consequence of a catalog edit for a generated provider — the task text
|
|
606
|
+
# is stitched from the taxonomy — so halting on it would make this script
|
|
607
|
+
# un-runnable after any catalog change. Hand-curated providers are
|
|
608
|
+
# protected by the `skip` set in main(), not by blocking here.
|
|
609
|
+
if answer_changed:
|
|
610
|
+
report = [f" [{provider}/{name}]"]
|
|
611
|
+
if input_changed:
|
|
612
|
+
report.append(
|
|
613
|
+
" the INPUT also changed — this fixture is a different\n"
|
|
614
|
+
" question now, so the two answers may both be correct\n"
|
|
615
|
+
f" reviewed task: {previous_input.get('task', '')[:140]}\n"
|
|
616
|
+
f" current task: {input_doc.get('task', '')[:140]}"
|
|
617
|
+
)
|
|
618
|
+
report.append(
|
|
619
|
+
" the expectation changed\n"
|
|
620
|
+
f" reviewed: {previous}\n"
|
|
621
|
+
f" current : {expected_doc}"
|
|
622
|
+
)
|
|
623
|
+
drifted.append("\n".join(report))
|
|
624
|
+
elif input_changed:
|
|
625
|
+
reworded.append(
|
|
626
|
+
f" [{provider}/{name}] task reworded (same expectation)\n"
|
|
627
|
+
f" reviewed: {previous_input.get('task', '')[:120]}\n"
|
|
628
|
+
f" current : {input_doc.get('task', '')[:120]}"
|
|
629
|
+
)
|
|
630
|
+
planned.append((name, input_doc, expected_doc))
|
|
631
|
+
|
|
632
|
+
# A fixture that is no longer generated never enters `planned`, so the loop
|
|
633
|
+
# above cannot see it — and the commit phase deletes every old file. Lost
|
|
634
|
+
# coverage would silently become the new green baseline. Compare the name
|
|
635
|
+
# sets so a disappearance needs the same explicit acceptance as a changed
|
|
636
|
+
# answer.
|
|
637
|
+
#
|
|
638
|
+
# A renumbering is not a disappearance. Happy-path names carry a positional
|
|
639
|
+
# index, so one new agent shifts every later name by one; treating that as
|
|
640
|
+
# deletion blocks every catalog addition and pushes the operator onto
|
|
641
|
+
# --accept-baseline-changes, which waives the freeze for ALL providers. A
|
|
642
|
+
# vanished name is paired with a new one only when both the task and the
|
|
643
|
+
# expectation are identical — the same question with the same answer.
|
|
644
|
+
def content_key(input_doc: dict, expected_doc: dict) -> str:
|
|
645
|
+
return json.dumps(
|
|
646
|
+
{"task": input_doc.get("task"), "expected": expected_doc}, sort_keys=True
|
|
647
|
+
)
|
|
648
|
+
|
|
649
|
+
unclaimed: dict[str, list[str]] = {}
|
|
650
|
+
for name, input_doc, expected_doc in planned:
|
|
651
|
+
if name not in frozen:
|
|
652
|
+
unclaimed.setdefault(content_key(input_doc, expected_doc), []).append(name)
|
|
653
|
+
removed: list[str] = []
|
|
654
|
+
renamed: list[tuple[str, str]] = []
|
|
655
|
+
for name in sorted(set(frozen) - {name for name, _, _ in planned}):
|
|
656
|
+
partners = unclaimed.get(content_key(frozen_inputs.get(name, {}), frozen[name]))
|
|
657
|
+
if name in frozen_inputs and partners:
|
|
658
|
+
renamed.append((name, partners.pop(0)))
|
|
659
|
+
else:
|
|
660
|
+
removed.append(name)
|
|
661
|
+
if removed and not ACCEPT_BASELINE_CHANGES:
|
|
662
|
+
raise BaselineChanged(
|
|
663
|
+
f"{len(removed)} reviewed fixture(s) for {provider!r} would be DELETED, "
|
|
664
|
+
f"because the generator no longer produces them:\n"
|
|
665
|
+
+ "\n".join(f" [{provider}/{name}]" for name in removed)
|
|
666
|
+
+ "\n\nThat removes reviewed coverage. If an agent or domain was "
|
|
667
|
+
"deliberately retired this is expected — re-run with "
|
|
668
|
+
"--accept-baseline-changes. Otherwise the generator has regressed. "
|
|
669
|
+
"Nothing was written."
|
|
670
|
+
)
|
|
671
|
+
|
|
672
|
+
if drifted and not ACCEPT_BASELINE_CHANGES:
|
|
673
|
+
raise BaselineChanged(
|
|
674
|
+
f"{len(drifted)} reviewed fixture(s) for {provider!r} would be "
|
|
675
|
+
f"rewritten:\n" + "\n".join(drifted) + "\n\n"
|
|
676
|
+
"Where the expectation changed, regenerating would make the new value "
|
|
677
|
+
"the baseline and the suite would pass against it — confirm the new "
|
|
678
|
+
"routing is correct. Where the INPUT moved, the fixtures are "
|
|
679
|
+
"hand-curated and the generator is about to replace them with "
|
|
680
|
+
"token-stitched equivalents — add the provider to the `skip` set in "
|
|
681
|
+
"main() instead. Where the task no longer routes to its answer, the "
|
|
682
|
+
"taxonomy was hand-tuned and a rebuild loses that tuning; "
|
|
683
|
+
"--accept-baseline-changes would write a failing fixture, so skip the "
|
|
684
|
+
"provider. Re-run with --accept-baseline-changes only once you are "
|
|
685
|
+
"sure. Nothing was written."
|
|
686
|
+
)
|
|
687
|
+
|
|
688
|
+
if reworded:
|
|
689
|
+
print(
|
|
690
|
+
f"NOTE {provider}: {len(reworded)} fixture(s) had their task text "
|
|
691
|
+
f"regenerated while the expectation held:"
|
|
692
|
+
)
|
|
693
|
+
for line in reworded:
|
|
694
|
+
print(line)
|
|
695
|
+
if renamed:
|
|
696
|
+
print(
|
|
697
|
+
f"NOTE {provider}: {len(renamed)} fixture(s) renumbered with the same "
|
|
698
|
+
f"task and expectation:"
|
|
699
|
+
)
|
|
700
|
+
for old, new in renamed:
|
|
701
|
+
print(f" [{provider}] {old} -> {new}")
|
|
702
|
+
if handed_off:
|
|
703
|
+
print(
|
|
704
|
+
f"NOTE {provider}: {len(handed_off)} catalog agent(s) left out because "
|
|
705
|
+
f"another maestro's reviewed taxonomy routes them and this one's does "
|
|
706
|
+
f"not (add one to this taxonomy by hand to route it here too):"
|
|
707
|
+
)
|
|
708
|
+
for agent_id, owners in sorted(handed_off.items()):
|
|
709
|
+
print(f" [{provider}] {agent_id} -> routed by {', '.join(owners)}")
|
|
710
|
+
|
|
711
|
+
return taxonomy, planned
|
|
712
|
+
|
|
713
|
+
|
|
714
|
+
def commit_provider(
|
|
715
|
+
provider: str, taxonomy: dict, planned: list[tuple[str, dict, dict]]
|
|
716
|
+
) -> int:
|
|
717
|
+
"""Write one provider's planned fixtures. Call only after every provider
|
|
718
|
+
has planned cleanly — see `main`."""
|
|
719
|
+
fixture_dir = FIXTURES_ROOT / f"{provider}-maestro-routing"
|
|
720
|
+
inputs_dir = fixture_dir / "inputs"
|
|
721
|
+
expected_dir = fixture_dir / "expected"
|
|
722
|
+
inputs_dir.mkdir(parents=True, exist_ok=True)
|
|
723
|
+
expected_dir.mkdir(parents=True, exist_ok=True)
|
|
724
|
+
|
|
725
|
+
(fixture_dir / "taxonomy.json").write_text(json.dumps(taxonomy, indent=2) + "\n")
|
|
726
|
+
for old_file in inputs_dir.glob("*.json"):
|
|
727
|
+
old_file.unlink()
|
|
728
|
+
for old_file in expected_dir.glob("*.json"):
|
|
729
|
+
old_file.unlink()
|
|
730
|
+
for name, input_doc, expected_doc in planned:
|
|
480
731
|
(inputs_dir / f"{name}.json").write_text(json.dumps(input_doc, indent=2) + "\n")
|
|
481
732
|
(expected_dir / f"{name}.json").write_text(json.dumps(expected_doc, indent=2) + "\n")
|
|
482
|
-
return len(
|
|
733
|
+
return len(planned)
|
|
734
|
+
|
|
735
|
+
|
|
736
|
+
def write_provider(provider: str, agents: list[dict]) -> int:
|
|
737
|
+
"""Plan and immediately commit one provider. Kept for single-provider use;
|
|
738
|
+
`main` plans every provider first so one failure cannot leave the tree
|
|
739
|
+
half-regenerated."""
|
|
740
|
+
taxonomy, planned = plan_provider(provider, agents)
|
|
741
|
+
return commit_provider(provider, taxonomy, planned)
|
|
483
742
|
|
|
484
743
|
|
|
485
744
|
def main() -> int:
|
|
745
|
+
global ACCEPT_BASELINE_CHANGES
|
|
746
|
+
if "--accept-baseline-changes" in sys.argv[1:]:
|
|
747
|
+
ACCEPT_BASELINE_CHANGES = True
|
|
748
|
+
print(
|
|
749
|
+
"WARNING: --accept-baseline-changes given; reviewed expectations may "
|
|
750
|
+
"be rewritten from current evaluator output."
|
|
751
|
+
)
|
|
752
|
+
|
|
486
753
|
agents = json.loads(AGENTS_CATALOG.read_text())
|
|
487
754
|
providers = discover_maestro_providers()
|
|
488
755
|
print(f"Discovered {len(providers)} maestro providers: {providers}")
|
|
489
756
|
|
|
490
|
-
#
|
|
491
|
-
|
|
757
|
+
# Providers whose fixtures are hand-curated rather than generated, and which
|
|
758
|
+
# this generator must therefore not clobber. Their inputs carry specific,
|
|
759
|
+
# realistic adversarial prose and two-digit names (01-, 02-) instead of the
|
|
760
|
+
# generator's token-stitched tasks and 001-happy- naming.
|
|
761
|
+
#
|
|
762
|
+
# accounting and dotnet were added after a regeneration attempt showed the
|
|
763
|
+
# generator rewrites the INPUT as well as the expectation, so a "changed
|
|
764
|
+
# answer" there was really a different question reusing a filename:
|
|
765
|
+
# dotnet/adv-instruction-injection asks by hand about "sync-over-async
|
|
766
|
+
# blocking calls and async await usage in our C# service", and regeneration
|
|
767
|
+
# would have replaced it with "review our Aspire setup". Declaring
|
|
768
|
+
# routing_keywords on those agents does not recover it either — the domain
|
|
769
|
+
# names and the task text are both derived differently.
|
|
770
|
+
#
|
|
771
|
+
# The rest were found by planning every provider without writing: each
|
|
772
|
+
# would lose reviewed coverage. In every case the cause is content this
|
|
773
|
+
# generator cannot derive from the catalog, not a regression. (kubernetes
|
|
774
|
+
# was here too, for gaining a route the finops maestro owns; that is now
|
|
775
|
+
# enforced for every provider by claimed_elsewhere() in plan_provider.)
|
|
776
|
+
skip = {
|
|
777
|
+
"nvidia": "hand-curated fixtures",
|
|
778
|
+
"accounting": "hand-curated fixtures",
|
|
779
|
+
"dotnet": "hand-curated fixtures",
|
|
780
|
+
# A rebuild drops 41 taxonomy keywords (disaster-recovery, control-plane,
|
|
781
|
+
# ...) and 026-happy-waf-reliability-review then routes to four agents in
|
|
782
|
+
# parallel instead of its reviewed single agent.
|
|
783
|
+
"azure": "hand-tuned taxonomy",
|
|
784
|
+
# 01-variance-analysis ... 16-direct-answer-extraction, all hand-named.
|
|
785
|
+
"finance": "hand-curated fixtures",
|
|
786
|
+
# Routes to multi-cloud and kubernetes agents; no catalog agent has
|
|
787
|
+
# provider "finops", so a rebuild keeps only adv-ambiguous.
|
|
788
|
+
"finops": "maestro routes agents catalogued under other providers",
|
|
789
|
+
# Phrase keywords ("cost to serve", "hallucinated api") and 9 fixtures
|
|
790
|
+
# outside the generator's naming; 36 of 42 names would not survive.
|
|
791
|
+
"frontend": "hand-tuned taxonomy",
|
|
792
|
+
# adv-mutation-deploy/-publish, which no script produces, and a
|
|
793
|
+
# live_guard_intent that differs from the generated one.
|
|
794
|
+
"kotlin": "hand-curated fixtures",
|
|
795
|
+
# adv-live-guard-gate, which no script produces.
|
|
796
|
+
"marketing": "hand-curated fixtures",
|
|
797
|
+
# composer.lock, packagist, register_rest_route, php-fpm and 16 more
|
|
798
|
+
# hand-added keywords; a rebuild drops "audit" and with it the reviewed
|
|
799
|
+
# parallel route for adv-secrets-bait. Also 6 hand-authored fixtures.
|
|
800
|
+
"php": "hand-tuned taxonomy",
|
|
801
|
+
# Written by scripts/gen_python_routing_fixtures.py.
|
|
802
|
+
"python": "owned by scripts/gen_python_routing_fixtures.py",
|
|
803
|
+
# 01-clean-core-debt ... all hand-named.
|
|
804
|
+
"sap": "hand-curated fixtures",
|
|
805
|
+
# 01-redteam-accountadmin-shortcut ... all hand-named.
|
|
806
|
+
"snowflake": "hand-curated fixtures",
|
|
807
|
+
# 009-happy-destroy-plan-review, 010-adv-verb-not-a-signal and
|
|
808
|
+
# adv-execution-intent-gate, which no script produces, and a
|
|
809
|
+
# live_guard_intent that differs from the generated one.
|
|
810
|
+
"terraform": "hand-curated fixtures",
|
|
811
|
+
}
|
|
492
812
|
|
|
493
|
-
|
|
813
|
+
# Two phases. Planning every provider before writing any of them means a
|
|
814
|
+
# baseline conflict in the twentieth provider cannot leave the first
|
|
815
|
+
# nineteen half-regenerated — which is exactly what happened before this
|
|
816
|
+
# split, leaving 261 modified files behind on a failed run.
|
|
817
|
+
plans: list[tuple[str, dict, list[tuple[str, dict, dict]]]] = []
|
|
494
818
|
for provider in providers:
|
|
495
819
|
if provider in skip:
|
|
496
|
-
print(f"SKIP {provider} (
|
|
820
|
+
print(f"SKIP {provider} ({skip[provider]})")
|
|
497
821
|
continue
|
|
498
822
|
prov_agents = [a for a in agents if a["provider"] == provider]
|
|
499
823
|
if not prov_agents:
|
|
500
824
|
print(f"SKIP {provider} (no agents in catalog)")
|
|
501
825
|
continue
|
|
502
|
-
|
|
826
|
+
taxonomy, planned = plan_provider(provider, prov_agents)
|
|
827
|
+
plans.append((provider, taxonomy, planned))
|
|
828
|
+
|
|
829
|
+
total = 0
|
|
830
|
+
for provider, taxonomy, planned in plans:
|
|
831
|
+
count = commit_provider(provider, taxonomy, planned)
|
|
503
832
|
print(f" {provider}: {count} fixtures (taxonomy + inputs/expected)")
|
|
504
833
|
total += count
|
|
505
834
|
|
|
506
|
-
print(f"\nTotal: {total} fixtures generated across {len(
|
|
835
|
+
print(f"\nTotal: {total} fixtures generated across {len(plans)} provider(s)")
|
|
507
836
|
return 0
|
|
508
837
|
|
|
509
838
|
|
package/tests/fixtures/README.md
CHANGED
|
@@ -15,14 +15,30 @@ tests/fixtures/<provider>-maestro-routing/
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`tests/_generate_maestro_routing_fixtures.py` mines `catalog/agents.json`
|
|
18
|
-
to produce a seed taxonomy and a baseline fixture set
|
|
19
|
-
|
|
18
|
+
to produce a seed taxonomy and a baseline fixture set per provider. Re-run it
|
|
19
|
+
after adding agents:
|
|
20
20
|
|
|
21
21
|
```
|
|
22
22
|
npm run maestro-routing:write
|
|
23
23
|
npm run validate:maestro-routing
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
+
Not every provider is generated. Providers whose fixtures or taxonomy were
|
|
27
|
+
hand-curated, hand-tuned, or written by another script are listed in the
|
|
28
|
+
generator's `skip` set with the reason, and are maintained by hand. The
|
|
29
|
+
generator refuses to write — and changes nothing — when regeneration would
|
|
30
|
+
change a reviewed expectation, delete a reviewed fixture, or leave a reviewed
|
|
31
|
+
fixture that no longer routes to its answer. A fixture renumbered because an
|
|
32
|
+
agent was inserted before it, with the same task and answer, is reported but
|
|
33
|
+
not blocked.
|
|
34
|
+
|
|
35
|
+
A catalog agent's `provider` does not always name the maestro that routes it
|
|
36
|
+
(`finops-kubernetes-rightsizer-agent` is catalogued under kubernetes but routed
|
|
37
|
+
by finops). The generator therefore leaves out any agent that another
|
|
38
|
+
maestro's committed `taxonomy.json` routes and this provider's does not, and
|
|
39
|
+
reports it. To route such an agent from a second maestro as well, add it to
|
|
40
|
+
that maestro's taxonomy by hand.
|
|
41
|
+
|
|
26
42
|
## Stress-test categories
|
|
27
43
|
|
|
28
44
|
Every provider's harness covers these scenario classes:
|
|
@@ -49,5 +65,5 @@ The grader provides three structural guarantees:
|
|
|
49
65
|
## Numbers (current)
|
|
50
66
|
|
|
51
67
|
- <!-- count:global:maestros -->35<!-- /count --> maestros covered, one routing fixture directory each
|
|
52
|
-
-
|
|
53
|
-
-
|
|
68
|
+
- <!-- count:global:scenarios -->840<!-- /count --> scenarios validated
|
|
69
|
+
- enforced by `validate:maestro-routing`, one of the <!-- count:global:gates -->29<!-- /count --> `npm run validate` gates
|