@raishin/vanguard-frontier-agentic 1.9.0 → 2.0.1
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/plugin.json +15 -1
- package/.cursor-plugin/plugin.json +15 -1
- package/.github/plugin/marketplace.json +1 -1
- package/README.md +11 -2
- package/agents/marketing/README.md +44 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/AGENT.md +53 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/claude-code.agent.md +36 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/copilot.agent.md +36 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/cursor.agent.md +36 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/gemini.agent.md +36 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-ide.agent.md +36 -0
- package/agents/marketing/ai-advertising-targeting-fairness-review-agent/metadata.json +31 -0
- package/agents/marketing/analytics-data-minimization-review-agent/AGENT.md +51 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/claude-code.agent.md +34 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/copilot.agent.md +34 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/cursor.agent.md +34 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/gemini.agent.md +34 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-ide.agent.md +34 -0
- package/agents/marketing/analytics-data-minimization-review-agent/metadata.json +31 -0
- package/agents/marketing/email-sender-authentication-review-agent/AGENT.md +50 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/codex.toml +32 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/marketing/email-sender-authentication-review-agent/metadata.json +31 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/AGENT.md +54 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/marketing/eu-ai-act-marketing-system-review-agent/metadata.json +31 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/AGENT.md +52 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/claude-code.agent.md +35 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/copilot.agent.md +35 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/cursor.agent.md +35 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/gemini.agent.md +35 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-ide.agent.md +35 -0
- package/agents/marketing/influencer-disclosure-compliance-review-agent/metadata.json +31 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/AGENT.md +54 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/claude-code.agent.md +37 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/codex.toml +34 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/copilot.agent.md +37 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/cursor.agent.md +37 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/gemini.agent.md +37 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-ide.agent.md +37 -0
- package/agents/marketing/lookalike-audience-upload-compliance-review-agent/metadata.json +31 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/AGENT.md +51 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/claude-code.agent.md +34 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/copilot.agent.md +34 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/cursor.agent.md +34 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/gemini.agent.md +34 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-ide.agent.md +34 -0
- package/agents/marketing/marketing-consent-data-collection-review-agent/metadata.json +31 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/AGENT.md +51 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/claude-code.agent.md +34 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/copilot.agent.md +34 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/cursor.agent.md +34 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/gemini.agent.md +34 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-ide.agent.md +34 -0
- package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/metadata.json +31 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/AGENT.md +50 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/codex.toml +32 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/marketing/marketing-email-list-retention-review-agent/metadata.json +31 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/AGENT.md +50 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/codex.toml +32 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/marketing/marketing-gpc-signal-honoring-review-agent/metadata.json +31 -0
- package/agents/marketing/marketing-maestro-agent/AGENT.md +62 -0
- package/agents/marketing/marketing-maestro-agent/PERMISSIONS.md +75 -0
- package/agents/marketing/marketing-maestro-agent/README.md +62 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/claude-code.agent.md +43 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/codex.toml +35 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/copilot.agent.md +43 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/cursor.agent.md +43 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/gemini.agent.md +43 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-maestro-agent/harnesses/kiro-ide.agent.md +43 -0
- package/agents/marketing/marketing-maestro-agent/metadata.json +38 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/AGENT.md +50 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/codex.toml +32 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/marketing/marketing-pixel-data-leakage-review-agent/metadata.json +31 -0
- package/agents/marketing/martech-access-governance-review-agent/AGENT.md +51 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/claude-code.agent.md +34 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/codex.toml +33 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/copilot.agent.md +34 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/cursor.agent.md +34 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/gemini.agent.md +34 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-ide.agent.md +34 -0
- package/agents/marketing/martech-access-governance-review-agent/metadata.json +31 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/AGENT.md +50 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/claude-code.agent.md +33 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/codex.toml +32 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/copilot.agent.md +33 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/cursor.agent.md +33 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/gemini.agent.md +33 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-cli.agent.json +5 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-ide.agent.md +33 -0
- package/agents/marketing/programmatic-supply-chain-integrity-review-agent/metadata.json +31 -0
- package/catalog/agents.json +765 -197
- package/catalog/asset-integrity.json +876 -41
- package/catalog/install-roles.json +38 -2
- package/catalog/skill-manifest.json +318 -0
- package/catalog/skills.json +596 -199
- package/package.json +3 -2
- package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
- package/scripts/export-marketplace-agents.mjs +146 -84
- package/scripts/generate-changelog-counts.mjs +34 -0
- package/scripts/release-prepare.mjs +97 -5
- package/skills/marketing/ai-advertising-targeting-fairness-review/SKILL.md +43 -0
- package/skills/marketing/ai-advertising-targeting-fairness-review/metadata.json +21 -0
- package/skills/marketing/ai-advertising-targeting-fairness-review/references/workflow-and-output.md +150 -0
- package/skills/marketing/analytics-data-minimization-review/SKILL.md +44 -0
- package/skills/marketing/analytics-data-minimization-review/metadata.json +22 -0
- package/skills/marketing/analytics-data-minimization-review/references/workflow-and-output.md +187 -0
- package/skills/marketing/email-sender-authentication-review/SKILL.md +43 -0
- package/skills/marketing/email-sender-authentication-review/metadata.json +22 -0
- package/skills/marketing/email-sender-authentication-review/references/workflow-and-output.md +152 -0
- package/skills/marketing/eu-ai-act-marketing-system-review/SKILL.md +43 -0
- package/skills/marketing/eu-ai-act-marketing-system-review/metadata.json +21 -0
- package/skills/marketing/eu-ai-act-marketing-system-review/references/workflow-and-output.md +176 -0
- package/skills/marketing/influencer-disclosure-compliance-review/SKILL.md +43 -0
- package/skills/marketing/influencer-disclosure-compliance-review/metadata.json +22 -0
- package/skills/marketing/influencer-disclosure-compliance-review/references/workflow-and-output.md +156 -0
- package/skills/marketing/lookalike-audience-upload-compliance-review/SKILL.md +44 -0
- package/skills/marketing/lookalike-audience-upload-compliance-review/metadata.json +21 -0
- package/skills/marketing/lookalike-audience-upload-compliance-review/references/workflow-and-output.md +203 -0
- package/skills/marketing/marketing-consent-data-collection-review/SKILL.md +44 -0
- package/skills/marketing/marketing-consent-data-collection-review/metadata.json +21 -0
- package/skills/marketing/marketing-consent-data-collection-review/references/workflow-and-output.md +139 -0
- package/skills/marketing/marketing-conversion-flow-dark-pattern-review/SKILL.md +45 -0
- package/skills/marketing/marketing-conversion-flow-dark-pattern-review/metadata.json +22 -0
- package/skills/marketing/marketing-conversion-flow-dark-pattern-review/references/workflow-and-output.md +160 -0
- package/skills/marketing/marketing-email-list-retention-review/SKILL.md +43 -0
- package/skills/marketing/marketing-email-list-retention-review/metadata.json +22 -0
- package/skills/marketing/marketing-email-list-retention-review/references/workflow-and-output.md +144 -0
- package/skills/marketing/marketing-gpc-signal-honoring-review/SKILL.md +42 -0
- package/skills/marketing/marketing-gpc-signal-honoring-review/metadata.json +22 -0
- package/skills/marketing/marketing-gpc-signal-honoring-review/references/workflow-and-output.md +145 -0
- package/skills/marketing/marketing-maestro/README.md +37 -0
- package/skills/marketing/marketing-maestro/SKILL.md +49 -0
- package/skills/marketing/marketing-maestro/metadata.json +26 -0
- package/skills/marketing/marketing-maestro/references/safety-checklist.md +67 -0
- package/skills/marketing/marketing-maestro/references/workflow-and-output.md +110 -0
- package/skills/marketing/marketing-pixel-data-leakage-review/SKILL.md +43 -0
- package/skills/marketing/marketing-pixel-data-leakage-review/metadata.json +21 -0
- package/skills/marketing/marketing-pixel-data-leakage-review/references/workflow-and-output.md +129 -0
- package/skills/marketing/martech-access-governance-review/SKILL.md +45 -0
- package/skills/marketing/martech-access-governance-review/metadata.json +21 -0
- package/skills/marketing/martech-access-governance-review/references/workflow-and-output.md +116 -0
- package/skills/marketing/programmatic-supply-chain-integrity-review/SKILL.md +43 -0
- package/skills/marketing/programmatic-supply-chain-integrity-review/metadata.json +22 -0
- package/skills/marketing/programmatic-supply-chain-integrity-review/references/workflow-and-output.md +164 -0
- package/tests/AGENTS.md +17 -0
- package/tests/_generate_maestro_routing_fixtures.py +372 -0
- package/tests/export-cursor-kiro-skill-notice.test.mjs +92 -0
- package/tests/fixtures/README.md +53 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/001-happy-ack-container-platform-operator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/002-happy-actiontrail-audit-analyst.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/003-happy-analyticdb-realtime.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/004-happy-certificate-manager-issuer-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/005-happy-change-impact-advisor.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/006-happy-china-compliance.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/007-happy-cost-anomaly-watch-coordinator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/008-happy-cost-finops-analyst.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/009-happy-daily-operations-briefing-coordinator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/010-happy-devops-cicd-operator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/011-happy-ecs-compute-operator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/012-happy-event-driven-architecture-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/013-happy-function-serverless-operator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/014-happy-iac-change-safety-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/015-happy-kms-secret-lifecycle-steward.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/016-happy-landing-zone-architect.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/017-happy-load-balancer-traffic-engineer.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/018-happy-maxcompute-dataworks-analyst.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/019-happy-migration-architect.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/020-happy-mse-microservice-engine.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/021-happy-network-architect.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/022-happy-observability-incident-responder.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/023-happy-oss-data-perimeter-governor.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/024-happy-oss-storage-steward.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/025-happy-polardb-rds-dba.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/026-happy-ram-iam-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/027-happy-registry-artifact-governor.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/028-happy-resilience-bcdr-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/029-happy-security-center-hardening.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/030-happy-serverless-production-readiness.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/031-happy-solution-architect.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/032-happy-support-incident-coordinator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/033-happy-ticket-triage-escalation-coordinator.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/034-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/035-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/036-happy-waf-security-review.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-01-live-ack-rollout-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-02-live-cost-budget-action-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-03-live-kms-key-mutation-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-04-live-oss-bucket-policy-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-05-live-ram-policy-change-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-06-live-rds-polardb-mutation-guard.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/alibaba-maestro-routing/expected/adv-secrets-bait.json +8 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/001-happy-ack-container-platform-operator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/002-happy-actiontrail-audit-analyst.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/003-happy-analyticdb-realtime.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/004-happy-certificate-manager-issuer-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/005-happy-change-impact-advisor.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/006-happy-china-compliance.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/007-happy-cost-anomaly-watch-coordinator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/008-happy-cost-finops-analyst.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/009-happy-daily-operations-briefing-coordinator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/010-happy-devops-cicd-operator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/011-happy-ecs-compute-operator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/012-happy-event-driven-architecture-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/013-happy-function-serverless-operator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/014-happy-iac-change-safety-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/015-happy-kms-secret-lifecycle-steward.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/016-happy-landing-zone-architect.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/017-happy-load-balancer-traffic-engineer.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/018-happy-maxcompute-dataworks-analyst.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/019-happy-migration-architect.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/020-happy-mse-microservice-engine.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/021-happy-network-architect.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/022-happy-observability-incident-responder.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/023-happy-oss-data-perimeter-governor.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/024-happy-oss-storage-steward.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/025-happy-polardb-rds-dba.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/026-happy-ram-iam-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/027-happy-registry-artifact-governor.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/028-happy-resilience-bcdr-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/029-happy-security-center-hardening.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/030-happy-serverless-production-readiness.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/031-happy-solution-architect.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/032-happy-support-incident-coordinator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/033-happy-ticket-triage-escalation-coordinator.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/034-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/035-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/036-happy-waf-security-review.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-01-live-ack-rollout-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-02-live-cost-budget-action-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-03-live-kms-key-mutation-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-04-live-oss-bucket-policy-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-05-live-ram-policy-change-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-06-live-rds-polardb-mutation-guard.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/alibaba-maestro-routing/taxonomy.json +480 -0
- package/tests/fixtures/aws-maestro-routing/expected/001-happy-agentcore.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/002-happy-api-edge-delivery-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/003-happy-bedrock-agent-security-governor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/004-happy-change-impact-advisor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/005-happy-ci-cd-release-engineer.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/006-happy-compliance-evidence-mapper.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/007-happy-cost-anomaly-watch-coordinator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/008-happy-cost-optimization-governor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/009-happy-daily-operations-briefing-coordinator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/010-happy-data-protection-backup-steward.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/011-happy-deployment-hotfix-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/012-happy-devops-agent-skill-designer.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/013-happy-dynamodb-data-modeling-performance-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/014-happy-ec2-compute-operations-steward.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/015-happy-ecs-fargate-platform-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/016-happy-ecs-service-remediation-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/017-happy-eks-platform-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/018-happy-event-driven-architecture-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/019-happy-generative-ai-developer.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/020-happy-iac-change-safety-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/021-happy-iac-patch-executor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/022-happy-iam-least-privilege-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/023-happy-kms-secrets-lifecycle-steward.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/024-happy-landing-zone-governor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/025-happy-migration-cutover-architect.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/026-happy-network-architect.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/027-happy-non-destructive-task-automation-advisor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/028-happy-observability-incident-responder.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/029-happy-pipeline-fix-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/030-happy-private-ca-issuer-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/031-happy-rds-aurora-performance-investigator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/032-happy-resilience-bcdr-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/033-happy-s3-data-perimeter-governor.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/034-happy-security-posture-hardening.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/035-happy-serverless-production-readiness.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/036-happy-serverless-rollout-corrector.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/037-happy-solution-architect.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/038-happy-ticket-triage-escalation-coordinator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/039-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/040-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/041-happy-waf-security-review.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-01-live-deployment-guarded-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-02-live-ecs-rollout-guard.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-03-live-iac-change-guard.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-04-live-pipeline-approval-operator.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-05-live-serverless-release-guard.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/aws-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/aws-maestro-routing/inputs/001-happy-agentcore.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/002-happy-api-edge-delivery-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/003-happy-bedrock-agent-security-governor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/004-happy-change-impact-advisor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/005-happy-ci-cd-release-engineer.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/006-happy-compliance-evidence-mapper.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/007-happy-cost-anomaly-watch-coordinator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/008-happy-cost-optimization-governor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/009-happy-daily-operations-briefing-coordinator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/010-happy-data-protection-backup-steward.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/011-happy-deployment-hotfix-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/012-happy-devops-agent-skill-designer.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/013-happy-dynamodb-data-modeling-performance-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/014-happy-ec2-compute-operations-steward.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/015-happy-ecs-fargate-platform-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/016-happy-ecs-service-remediation-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/017-happy-eks-platform-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/018-happy-event-driven-architecture-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/019-happy-generative-ai-developer.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/020-happy-iac-change-safety-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/021-happy-iac-patch-executor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/022-happy-iam-least-privilege-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/023-happy-kms-secrets-lifecycle-steward.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/024-happy-landing-zone-governor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/025-happy-migration-cutover-architect.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/026-happy-network-architect.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/027-happy-non-destructive-task-automation-advisor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/028-happy-observability-incident-responder.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/029-happy-pipeline-fix-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/030-happy-private-ca-issuer-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/031-happy-rds-aurora-performance-investigator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/032-happy-resilience-bcdr-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/033-happy-s3-data-perimeter-governor.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/034-happy-security-posture-hardening.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/035-happy-serverless-production-readiness.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/036-happy-serverless-rollout-corrector.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/037-happy-solution-architect.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/038-happy-ticket-triage-escalation-coordinator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/039-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/040-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/041-happy-waf-security-review.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-01-live-deployment-guarded-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-02-live-ecs-rollout-guard.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-03-live-iac-change-guard.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-04-live-pipeline-approval-operator.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-05-live-serverless-release-guard.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/aws-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/aws-maestro-routing/taxonomy.json +537 -0
- package/tests/fixtures/azure-maestro-routing/expected/001-happy-ai-foundry-ops-governor.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/002-happy-aks-platform-operator.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/003-happy-app-service-production-readiness.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/004-happy-cosmosdb-application-developer.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/005-happy-cosmosdb-performance-investigator.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/006-happy-cosmosdb-platform-operator.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/007-happy-cost-estimation-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/008-happy-cost-optimization-governor.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/009-happy-entra-id-specialist.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/010-happy-identity-governance-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/011-happy-key-vault-secret-lifecycle-auditor.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/012-happy-keyvault-certificate-issuer-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/013-happy-landing-zone-architect.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/014-happy-migrate-landing-zone-cutover.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/015-happy-network-topology-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/016-happy-observability-investigator.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/017-happy-platform-automation-devops.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/018-happy-private-endpoint-adoption-planner.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/019-happy-rbac-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/020-happy-resilience-bcdr-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/021-happy-resource-health-incident-triage.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/022-happy-role-selector.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/023-happy-security-posture-hardening.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/024-happy-subscription-resource-organization.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/025-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/026-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/027-happy-waf-security-review.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-01-governance-policy-guardrails.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-02-live-aks-rollout-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-03-live-app-service-slot-swap-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-04-live-arm-deployment-stack-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-05-live-cost-budget-action-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-06-live-entra-role-assignment-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-07-live-keyvault-rotation-purge-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-08-live-pim-jit-activation-guard.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/azure-maestro-routing/expected/adv-secrets-bait.json +8 -0
- package/tests/fixtures/azure-maestro-routing/inputs/001-happy-ai-foundry-ops-governor.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/002-happy-aks-platform-operator.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/003-happy-app-service-production-readiness.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/004-happy-cosmosdb-application-developer.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/005-happy-cosmosdb-performance-investigator.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/006-happy-cosmosdb-platform-operator.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/007-happy-cost-estimation-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/008-happy-cost-optimization-governor.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/009-happy-entra-id-specialist.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/010-happy-identity-governance-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/011-happy-key-vault-secret-lifecycle-auditor.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/012-happy-keyvault-certificate-issuer-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/013-happy-landing-zone-architect.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/014-happy-migrate-landing-zone-cutover.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/015-happy-network-topology-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/016-happy-observability-investigator.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/017-happy-platform-automation-devops.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/018-happy-private-endpoint-adoption-planner.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/019-happy-rbac-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/020-happy-resilience-bcdr-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/021-happy-resource-health-incident-triage.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/022-happy-role-selector.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/023-happy-security-posture-hardening.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/024-happy-subscription-resource-organization.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/025-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/026-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/027-happy-waf-security-review.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-01-governance-policy-guardrails.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-02-live-aks-rollout-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-03-live-app-service-slot-swap-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-04-live-arm-deployment-stack-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-05-live-cost-budget-action-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-06-live-entra-role-assignment-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-07-live-keyvault-rotation-purge-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-08-live-pim-jit-activation-guard.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/azure-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/azure-maestro-routing/taxonomy.json +351 -0
- package/tests/fixtures/contabo-maestro-routing/expected/001-happy-capacity-planner.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/002-happy-cost-optimization-analyst.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/003-happy-security-hardening.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-liveguard-01-live-instance-lifecycle-guard.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-liveguard-02-live-storage-operations-guard.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/001-happy-capacity-planner.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/002-happy-cost-optimization-analyst.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/003-happy-security-hardening.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-liveguard-01-live-instance-lifecycle-guard.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-liveguard-02-live-storage-operations-guard.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/contabo-maestro-routing/taxonomy.json +40 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/001-scaleway-instance-eu-fr.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/002-scaleway-storage-eu-nl.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/003-gandi-vps-no-key.json +16 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/004-gandi-cdn-with-key.json +17 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/005-alibaba-ecs-cny.json +16 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/006-alibaba-rds-ap-southeast.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/007-tencent-cvm-cny.json +16 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/008-tencent-db-ap-singapore.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/009-comparative-aws-vs-scaleway.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/010-comparative-azure-vs-alibaba.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/adv-001-gandi-key-storage-bait.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/adv-002-alibaba-credential-bait.json +15 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/adv-003-tencent-secretid-bait.json +14 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/adv-004-scrape-url-injection.json +15 -0
- package/tests/fixtures/finops-cloud-price-advisor/expected/adv-005-persona-replacement.json +15 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/001-scaleway-instance-eu-fr.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/002-scaleway-storage-eu-nl.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/003-gandi-vps-no-key.json +10 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/004-gandi-cdn-with-key.json +11 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/005-alibaba-ecs-cny.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/006-alibaba-rds-ap-southeast.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/007-tencent-cvm-cny.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/008-tencent-db-ap-singapore.json +9 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/009-comparative-aws-vs-scaleway.json +10 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/010-comparative-azure-vs-alibaba.json +10 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-001-gandi-key-storage-bait.json +12 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-002-alibaba-credential-bait.json +11 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-003-tencent-secretid-bait.json +11 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-004-scrape-url-injection.json +11 -0
- package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-005-persona-replacement.json +11 -0
- package/tests/fixtures/finops-cloud-price-advisor/taxonomy.json +10 -0
- package/tests/fixtures/finops-maestro-routing/expected/001-happy-ai-economist.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/002-happy-kubernetes-rightsizer.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/003-happy-cloud-price-advisor.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/004-parallel-ai-and-k8s.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/005-parallel-k8s-and-price.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/006-adversarial-instruction-injection.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/007-adversarial-persona-replacement.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/008-adversarial-secrets-bait.json +4 -0
- package/tests/fixtures/finops-maestro-routing/expected/009-ambiguous.json +4 -0
- package/tests/fixtures/finops-maestro-routing/inputs/001-happy-ai-economist.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/002-happy-kubernetes-rightsizer.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/003-happy-cloud-price-advisor.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/004-parallel-ai-and-k8s.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/005-parallel-k8s-and-price.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/006-adversarial-instruction-injection.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/007-adversarial-persona-replacement.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/008-adversarial-secrets-bait.json +5 -0
- package/tests/fixtures/finops-maestro-routing/inputs/009-ambiguous.json +5 -0
- package/tests/fixtures/finops-maestro-routing/taxonomy.json +144 -0
- package/tests/fixtures/gcp-maestro-routing/expected/001-happy-alloydb-ai-developer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/002-happy-alloydb-cloudsql-dba.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/003-happy-anthos-multicloud-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/004-happy-apigee-api-platform-operator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/005-happy-bigquery-cost-performance-analyst.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/006-happy-certificate-manager-issuer-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/007-happy-change-impact-advisor.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/008-happy-cloud-auth-advisor.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/009-happy-cloud-run-functions-operator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/010-happy-cloudbuild-deploy-cicd-operator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/011-happy-compliance-assured-workloads.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/012-happy-compute-engine-operator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/013-happy-cost-anomaly-watch-coordinator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/014-happy-cost-finops-analyst.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/015-happy-daily-operations-briefing-coordinator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/016-happy-data-pipeline-engineer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/017-happy-event-driven-architecture-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/018-happy-firebase-developer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/019-happy-gcs-data-perimeter-governor.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/020-happy-gemini-api-developer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/021-happy-gke-platform-operator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/022-happy-iac-change-safety-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/023-happy-iam-least-privilege-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/024-happy-landing-zone-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/025-happy-load-balancer-traffic-engineer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/026-happy-migration-cutover-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/027-happy-network-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/028-happy-networking-observability.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/029-happy-observability-incident-responder.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/030-happy-registry-artifact-governor.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/031-happy-resilience-bcdr-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/032-happy-resource-inventory-analyst.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/033-happy-secret-kms-lifecycle-steward.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/034-happy-security-posture-hardening.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/035-happy-serverless-production-readiness.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/036-happy-solution-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/037-happy-spanner-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/038-happy-support-incident-coordinator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/039-happy-ticket-triage-escalation-coordinator.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/040-happy-vertex-ai-mlops-engineer.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/041-happy-vpc-service-controls-architect.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/042-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/043-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/044-happy-waf-security-review.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-01-live-bigquery-dataset-deletion-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-02-live-cloud-run-traffic-migration-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-03-live-cost-budget-action-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-04-live-gke-rollout-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-05-live-iam-policy-change-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-06-live-kms-key-destruction-guard.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/gcp-maestro-routing/expected/adv-secrets-bait.json +8 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/001-happy-alloydb-ai-developer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/002-happy-alloydb-cloudsql-dba.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/003-happy-anthos-multicloud-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/004-happy-apigee-api-platform-operator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/005-happy-bigquery-cost-performance-analyst.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/006-happy-certificate-manager-issuer-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/007-happy-change-impact-advisor.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/008-happy-cloud-auth-advisor.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/009-happy-cloud-run-functions-operator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/010-happy-cloudbuild-deploy-cicd-operator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/011-happy-compliance-assured-workloads.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/012-happy-compute-engine-operator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/013-happy-cost-anomaly-watch-coordinator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/014-happy-cost-finops-analyst.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/015-happy-daily-operations-briefing-coordinator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/016-happy-data-pipeline-engineer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/017-happy-event-driven-architecture-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/018-happy-firebase-developer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/019-happy-gcs-data-perimeter-governor.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/020-happy-gemini-api-developer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/021-happy-gke-platform-operator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/022-happy-iac-change-safety-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/023-happy-iam-least-privilege-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/024-happy-landing-zone-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/025-happy-load-balancer-traffic-engineer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/026-happy-migration-cutover-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/027-happy-network-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/028-happy-networking-observability.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/029-happy-observability-incident-responder.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/030-happy-registry-artifact-governor.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/031-happy-resilience-bcdr-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/032-happy-resource-inventory-analyst.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/033-happy-secret-kms-lifecycle-steward.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/034-happy-security-posture-hardening.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/035-happy-serverless-production-readiness.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/036-happy-solution-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/037-happy-spanner-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/038-happy-support-incident-coordinator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/039-happy-ticket-triage-escalation-coordinator.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/040-happy-vertex-ai-mlops-engineer.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/041-happy-vpc-service-controls-architect.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/042-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/043-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/044-happy-waf-security-review.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-01-live-bigquery-dataset-deletion-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-02-live-cloud-run-traffic-migration-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-03-live-cost-budget-action-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-04-live-gke-rollout-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-05-live-iam-policy-change-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-06-live-kms-key-destruction-guard.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/gcp-maestro-routing/taxonomy.json +562 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/001-happy-capacity-planner.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/002-happy-cost-optimization-analyst.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/003-happy-infrastructure-reviewer.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-liveguard-01-live-firewall-rule-guard.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-liveguard-02-live-server-lifecycle-guard.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/001-happy-capacity-planner.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/002-happy-cost-optimization-analyst.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/003-happy-infrastructure-reviewer.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-liveguard-01-live-firewall-rule-guard.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-liveguard-02-live-server-lifecycle-guard.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/hetzner-maestro-routing/taxonomy.json +40 -0
- package/tests/fixtures/huawei-maestro-routing/expected/001-happy-cce-container-platform-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/002-happy-certificate-manager-issuer-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/003-happy-change-impact-advisor.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/004-happy-codearts-devops-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/005-happy-compliance-sovereignty.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/006-happy-cost-anomaly-watch-coordinator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/007-happy-cost-finops-analyst.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/008-happy-daily-operations-briefing-coordinator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/009-happy-dew-kms-lifecycle-steward.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/010-happy-drs-data-replication-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/011-happy-dws-dli-data-analyst.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/012-happy-ecs-compute-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/013-happy-event-driven-architecture-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/014-happy-functiongraph-serverless-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/015-happy-gaussdb-rds-dba.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/016-happy-iac-change-safety-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/017-happy-iam-least-privilege-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/018-happy-ief-edge-computing-operator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/019-happy-landing-zone-architect.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/020-happy-load-balancer-traffic-engineer.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/021-happy-migration-architect.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/022-happy-modelarts-mlops-engineer.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/023-happy-network-architect.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/024-happy-obs-data-perimeter-governor.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/025-happy-obs-storage-steward.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/026-happy-observability-incident-responder.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/027-happy-registry-artifact-governor.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/028-happy-resilience-bcdr-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/029-happy-secmaster-security-operations.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/030-happy-serverless-production-readiness.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/031-happy-solution-architect.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/032-happy-support-incident-coordinator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/033-happy-ticket-triage-escalation-coordinator.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/034-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/035-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/036-happy-waf-security-review.json +8 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-01-live-cce-rollout-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-02-live-cost-budget-action-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-03-live-gaussdb-mutation-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-04-live-iam-policy-change-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-05-live-kms-key-destruction-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-06-live-obs-bucket-policy-guard.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/001-happy-cce-container-platform-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/002-happy-certificate-manager-issuer-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/003-happy-change-impact-advisor.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/004-happy-codearts-devops-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/005-happy-compliance-sovereignty.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/006-happy-cost-anomaly-watch-coordinator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/007-happy-cost-finops-analyst.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/008-happy-daily-operations-briefing-coordinator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/009-happy-dew-kms-lifecycle-steward.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/010-happy-drs-data-replication-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/011-happy-dws-dli-data-analyst.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/012-happy-ecs-compute-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/013-happy-event-driven-architecture-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/014-happy-functiongraph-serverless-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/015-happy-gaussdb-rds-dba.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/016-happy-iac-change-safety-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/017-happy-iam-least-privilege-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/018-happy-ief-edge-computing-operator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/019-happy-landing-zone-architect.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/020-happy-load-balancer-traffic-engineer.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/021-happy-migration-architect.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/022-happy-modelarts-mlops-engineer.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/023-happy-network-architect.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/024-happy-obs-data-perimeter-governor.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/025-happy-obs-storage-steward.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/026-happy-observability-incident-responder.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/027-happy-registry-artifact-governor.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/028-happy-resilience-bcdr-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/029-happy-secmaster-security-operations.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/030-happy-serverless-production-readiness.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/031-happy-solution-architect.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/032-happy-support-incident-coordinator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/033-happy-ticket-triage-escalation-coordinator.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/034-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/035-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/036-happy-waf-security-review.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-01-live-cce-rollout-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-02-live-cost-budget-action-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-03-live-gaussdb-mutation-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-04-live-iam-policy-change-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-05-live-kms-key-destruction-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-06-live-obs-bucket-policy-guard.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/huawei-maestro-routing/taxonomy.json +472 -0
- package/tests/fixtures/ionos-maestro-routing/expected/001-happy-cost-optimization-analyst.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/002-happy-datacenter-designer-reviewer.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/003-happy-kubernetes-platform-operator.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/004-happy-security-compliance-reviewer.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/ionos-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/adv-liveguard-01-live-database-lifecycle-guard.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/001-happy-cost-optimization-analyst.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/002-happy-datacenter-designer-reviewer.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/003-happy-kubernetes-platform-operator.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/004-happy-security-compliance-reviewer.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/adv-liveguard-01-live-database-lifecycle-guard.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/ionos-maestro-routing/taxonomy.json +48 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/001-happy-external-secrets-operator-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/002-happy-kubecost-chargeback-allocation-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/003-happy-network-architecture-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/004-happy-pod-spec-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/005-happy-psa-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/006-happy-rbac-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/007-happy-workload-identity-review.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-01-live-admission-policy-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-02-live-argocd-sync-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-03-live-mesh-policy-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-04-live-network-architecture-mutation-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-05-live-network-policy-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-06-live-rbac-mutation-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-07-live-velero-restore-guard.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/001-happy-external-secrets-operator-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/002-happy-kubecost-chargeback-allocation-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/003-happy-network-architecture-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/004-happy-pod-spec-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/005-happy-psa-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/006-happy-rbac-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/007-happy-workload-identity-review.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-01-live-admission-policy-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-02-live-argocd-sync-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-03-live-mesh-policy-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-04-live-network-architecture-mutation-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-05-live-network-policy-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-06-live-rbac-mutation-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-07-live-velero-restore-guard.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/kubernetes-maestro-routing/taxonomy.json +98 -0
- package/tests/fixtures/marketing-maestro-routing/expected/001-happy-ai-advertising-targeting-fairness-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/002-happy-analytics-data-minimization-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/003-happy-consent-data-collection-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/004-happy-conversion-flow-dark-pattern-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/005-happy-email-list-retention-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/006-happy-email-sender-authentication-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/007-happy-eu-ai-act-marketing-system-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/008-happy-gpc-signal-honoring-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/009-happy-influencer-disclosure-compliance-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/010-happy-lookalike-audience-upload-compliance-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/011-happy-martech-access-governance-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/012-happy-pixel-data-leakage-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/013-happy-programmatic-supply-chain-integrity-review.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/marketing-maestro-routing/expected/adv-instruction-injection.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/expected/adv-live-guard-gate.json +4 -0
- package/tests/fixtures/marketing-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/marketing-maestro-routing/expected/adv-secrets-bait.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/001-happy-ai-advertising-targeting-fairness-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/002-happy-analytics-data-minimization-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/003-happy-consent-data-collection-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/004-happy-conversion-flow-dark-pattern-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/005-happy-email-list-retention-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/006-happy-email-sender-authentication-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/007-happy-eu-ai-act-marketing-system-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/008-happy-gpc-signal-honoring-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/009-happy-influencer-disclosure-compliance-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/010-happy-lookalike-audience-upload-compliance-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/011-happy-martech-access-governance-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/012-happy-pixel-data-leakage-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/013-happy-programmatic-supply-chain-integrity-review.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/adv-live-guard-gate.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/marketing-maestro-routing/taxonomy.json +183 -0
- package/tests/fixtures/nvidia-maestro-routing/README.md +24 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/01-cuda-coalescing.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/02-dcgm-coverage.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/03-ngc-cosign-policy.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/04-triton-batching.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/05-trt-int8-calibration.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/06-gpu-operator-securitycontext.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/07-spectrumx-nccl.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/08-dgx-bmc.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/09-nemo-agent-toolkit.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/10-nemo-genai.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/11-multi-domain-dgx-bringup.json +8 -0
- package/tests/fixtures/nvidia-maestro-routing/expected/12-promote-nim-to-prod.json +6 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/01-cuda-coalescing.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/02-dcgm-coverage.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/03-ngc-cosign-policy.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/04-triton-batching.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/05-trt-int8-calibration.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/06-gpu-operator-securitycontext.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/07-spectrumx-nccl.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/08-dgx-bmc.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/09-nemo-agent-toolkit.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/10-nemo-genai.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/11-multi-domain-dgx-bringup.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/inputs/12-promote-nim-to-prod.json +4 -0
- package/tests/fixtures/nvidia-maestro-routing/taxonomy.json +49 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/README.md +34 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/01-clean.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/02-unsigned.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/03-digest-drift.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/04-missing-sbom.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/05-missing-model-card.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/06-cve-regression.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/07-expired-cert.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/08-wrong-issuer.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/09-unknown-registry.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/10-replay-stale-attestation.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/11-label-only-model-card.json +7 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/01-clean.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/02-unsigned.json +42 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/03-digest-drift.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/04-missing-sbom.json +44 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/05-missing-model-card.json +44 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/06-cve-regression.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/07-expired-cert.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/08-wrong-issuer.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/09-unknown-registry.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/10-replay-stale-attestation.json +45 -0
- package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/11-label-only-model-card.json +45 -0
- package/tests/fixtures/oci-maestro-routing/expected/001-happy-autonomous-database-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/002-happy-certificates-issuer-review.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/003-happy-compute-instance-agent-operator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/004-happy-compute-platform-operator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/005-happy-cost-finops-analyst.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/006-happy-database-platform-dba.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/007-happy-dbtools-sql-analyst.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/008-happy-devops-container-platform-engineer.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/009-happy-exadata-platform-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/010-happy-fusion-apps-environment-operator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/011-happy-goldengate-replication-operator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/012-happy-identity-access-governor.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/013-happy-iot-digital-twin-engineer.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/014-happy-limits-capacity-planner.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/015-happy-load-balancer-traffic-engineer.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/016-happy-migration-cutover-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/017-happy-multi-cloud-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/018-happy-mysql-heatwave-ai-specialist.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/019-happy-network-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/020-happy-observability-incident-responder.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/021-happy-recovery-service-operator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/022-happy-registry-artifact-governor.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/023-happy-resource-search-inventory-analyst.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/024-happy-security-compliance-reviewer.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/025-happy-solution-architect.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/026-happy-storage-backup-steward.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/027-happy-support-incident-coordinator.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/028-happy-waf-cost-optimization-review.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/029-happy-waf-reliability-review.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/030-happy-waf-security-review.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-01-cloud-guard-responder.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-02-live-autonomous-db-lifecycle-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-03-live-cost-budget-runaway-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-04-live-iam-policy-compartment-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-05-live-network-security-rule-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-06-live-oke-rollout-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-07-live-resource-manager-stack-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-08-live-vault-key-destruction-guard.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/oci-maestro-routing/expected/adv-secrets-bait.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/001-happy-autonomous-database-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/002-happy-certificates-issuer-review.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/003-happy-compute-instance-agent-operator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/004-happy-compute-platform-operator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/005-happy-cost-finops-analyst.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/006-happy-database-platform-dba.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/007-happy-dbtools-sql-analyst.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/008-happy-devops-container-platform-engineer.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/009-happy-exadata-platform-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/010-happy-fusion-apps-environment-operator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/011-happy-goldengate-replication-operator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/012-happy-identity-access-governor.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/013-happy-iot-digital-twin-engineer.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/014-happy-limits-capacity-planner.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/015-happy-load-balancer-traffic-engineer.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/016-happy-migration-cutover-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/017-happy-multi-cloud-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/018-happy-mysql-heatwave-ai-specialist.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/019-happy-network-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/020-happy-observability-incident-responder.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/021-happy-recovery-service-operator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/022-happy-registry-artifact-governor.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/023-happy-resource-search-inventory-analyst.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/024-happy-security-compliance-reviewer.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/025-happy-solution-architect.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/026-happy-storage-backup-steward.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/027-happy-support-incident-coordinator.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/028-happy-waf-cost-optimization-review.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/029-happy-waf-reliability-review.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/030-happy-waf-security-review.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-01-cloud-guard-responder.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-02-live-autonomous-db-lifecycle-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-03-live-cost-budget-runaway-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-04-live-iam-policy-compartment-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-05-live-network-security-rule-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-06-live-oke-rollout-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-07-live-resource-manager-stack-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-08-live-vault-key-destruction-guard.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/oci-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/oci-maestro-routing/taxonomy.json +381 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/001-happy-cost-finops-analyst.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/002-happy-iam-policy-review.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/003-happy-kubernetes-platform-operator.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/004-happy-network-architect.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-liveguard-01-live-kms-key-destruction-guard.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/001-happy-cost-finops-analyst.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/002-happy-iam-policy-review.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/003-happy-kubernetes-platform-operator.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/004-happy-network-architect.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-liveguard-01-live-kms-key-destruction-guard.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/ovhcloud-maestro-routing/taxonomy.json +46 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/001-happy-cost-optimizer.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/002-happy-iam-policy-review.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/003-happy-kapsule-platform-operator.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/004-happy-network-architect.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/adv-liveguard-01-live-kapsule-rollout-guard.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/001-happy-cost-optimizer.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/002-happy-iam-policy-review.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/003-happy-kapsule-platform-operator.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/004-happy-network-architect.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/adv-liveguard-01-live-kapsule-rollout-guard.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/scaleway-maestro-routing/taxonomy.json +54 -0
- package/tests/fixtures/terraform-maestro-routing/expected/001-happy-reviewer.json +6 -0
- package/tests/fixtures/terraform-maestro-routing/expected/adv-ambiguous.json +4 -0
- package/tests/fixtures/terraform-maestro-routing/expected/adv-instruction-injection.json +6 -0
- package/tests/fixtures/terraform-maestro-routing/expected/adv-persona-replacement.json +6 -0
- package/tests/fixtures/terraform-maestro-routing/expected/adv-secrets-bait.json +6 -0
- package/tests/fixtures/terraform-maestro-routing/inputs/001-happy-reviewer.json +7 -0
- package/tests/fixtures/terraform-maestro-routing/inputs/adv-ambiguous.json +7 -0
- package/tests/fixtures/terraform-maestro-routing/inputs/adv-instruction-injection.json +7 -0
- package/tests/fixtures/terraform-maestro-routing/inputs/adv-persona-replacement.json +7 -0
- package/tests/fixtures/terraform-maestro-routing/inputs/adv-secrets-bait.json +7 -0
- package/tests/fixtures/terraform-maestro-routing/taxonomy.json +107 -0
- package/tests/fuzz-properties.test.mjs +211 -0
- package/tests/integration/rbac-pre-flight/README.md +160 -0
- package/tests/integration/rbac-pre-flight/ci/kind-rbac-preflight.yaml +49 -0
- package/tests/integration/rbac-pre-flight/guards/admission-policy.sh +53 -0
- package/tests/integration/rbac-pre-flight/guards/argocd-sync.sh +50 -0
- package/tests/integration/rbac-pre-flight/guards/mesh-policy.sh +48 -0
- package/tests/integration/rbac-pre-flight/guards/network-arch.sh +119 -0
- package/tests/integration/rbac-pre-flight/guards/network-policy.sh +49 -0
- package/tests/integration/rbac-pre-flight/guards/rbac-mutation.sh +56 -0
- package/tests/integration/rbac-pre-flight/guards/velero-restore.sh +52 -0
- package/tests/integration/rbac-pre-flight/lib/common.sh +252 -0
- package/tests/integration/rbac-pre-flight/run-all.sh +229 -0
- package/tests/test-copilot-skill-bundling.py +129 -0
- package/tests/test-gemini-skill-bundling.py +102 -0
- package/tests/test-marketplace-validators.py +685 -0
- package/tests/test-vfa-export-coverage.test.mjs +717 -0
- package/tests/validate-agent-frontmatter-schema.py +256 -0
- package/tests/validate-asset-integrity.py +234 -0
- package/tests/validate-aws-progressive-disclosure.py +72 -0
- package/tests/validate-aws-skill-quality.py +171 -0
- package/tests/validate-azure-oci-live-guards.sh +157 -0
- package/tests/validate-catalog.py +362 -0
- package/tests/validate-codex-marketplace.py +152 -0
- package/tests/validate-finops-price-fixtures.py +200 -0
- package/tests/validate-kiro-powers.py +243 -0
- package/tests/validate-links.py +94 -0
- package/tests/validate-maestro-routing.py +224 -0
- package/tests/validate-mcp-trust-matrix.py +91 -0
- package/tests/validate-multi-harness-marketplace.py +188 -0
- package/tests/validate-no-lifecycle-scripts.py +86 -0
- package/tests/validate-nvidia-promotion-gatekeeper.py +299 -0
- package/tests/validate-plugin-manifest.py +147 -0
- package/tests/validate-skill-allowed-tools.py +138 -0
- package/tests/validate-skill-frontmatter-schema.py +286 -0
- package/tests/validate-skill-manifest.py +116 -0
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Routing table and domain taxonomy
|
|
2
|
+
|
|
3
|
+
Use this reference when classifying a task or selecting the right specialist(s).
|
|
4
|
+
|
|
5
|
+
## Routing table
|
|
6
|
+
|
|
7
|
+
| Signal keywords | Agent ID | Domain | Live-guard? |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| consent banner, cookie banner, CMP, consent management platform, tags fire before consent, Consent Mode, GDPR consent, ePrivacy, cookie policy, pre-ticked, reject all, dark pattern banner, tracker disclosure, cross-border transfer, consent record | marketing-consent-data-collection-review-agent | Consent and data-collection posture | No |
|
|
10
|
+
| advertising pixel, Meta Pixel, TikTok pixel, Google Ads tag, LinkedIn Insight Tag, conversion event, dataLayer, PII in URL, email in query parameter, form-field capture, advanced matching, enhanced conversions, pixel on health page, PHI leakage, hashed identifier | marketing-pixel-data-leakage-review-agent | Advertising-pixel personal-data leakage | No |
|
|
11
|
+
| OAuth grant, connected app, API key, integration scope, CRM role, marketing automation permission, martech access, least privilege, over-permissioned connector, stale token, refresh token, shared admin key, token rotation, bulk export permission, access review | martech-access-governance-review-agent | Martech access governance | No |
|
|
12
|
+
| Global Privacy Control, GPC, opt-out signal, Do Not Sell, opt-out honored, GPC not propagated, tag bypass on opt-out, server-side opt-out, CPPA enforcement, opt-out cookie | marketing-gpc-signal-honoring-review-agent | GPC opt-out signal honoring | No |
|
|
13
|
+
| SPF, DKIM, DMARC, BIMI, sender authentication, DNS TXT record, p=none, DKIM selector, SPF lookup limit, email spoofing, bulk sender, deliverability, VMC, CMC | email-sender-authentication-review-agent | Email sender authentication | No |
|
|
14
|
+
| ads.txt, app-ads.txt, sellers.json, SupplyChain Object, programmatic supply chain, unauthorized reseller, domain spoofing, IVT, invalid traffic, authorized seller, DIRECT, RESELLER | programmatic-supply-chain-integrity-review-agent | Programmatic supply-chain integrity | No |
|
|
15
|
+
| ad targeting, audience targeting, Advantage+, lookalike targeting, protected class, discrimination, Fair Housing, ECOA, disparate impact, targeting fairness, automated bidding bias, health-proxy segment | ai-advertising-targeting-fairness-review-agent | AI ad-targeting fairness | No |
|
|
16
|
+
| EU AI Act, AI Act, high-risk AI, prohibited AI practice, AI risk tier, conformity assessment, AI system classification, Annex III, human oversight, profiling AI, fundamental-rights impact | eu-ai-act-marketing-system-review-agent | EU AI Act marketing-system classification | No |
|
|
17
|
+
| custom audience, lookalike audience, audience upload, customer match, matched audience, hashing, SHA-256, MD5, field mapping, audience consent basis, data upload to ad platform | lookalike-audience-upload-compliance-review-agent | Lookalike-audience upload compliance | No |
|
|
18
|
+
| email list, list hygiene, suppression list, consent record, consent timestamp, data retention, storage limitation, CASL record-keeping, list segment, last-engagement date, re-permission | marketing-email-list-retention-review-agent | Email list retention and hygiene | No |
|
|
19
|
+
| influencer, creator, endorsement, material connection, disclosure, FTC Endorsement Guides, sponsored post, gifted product, #ad, disclosure placement, creator brief | influencer-disclosure-compliance-review-agent | Influencer disclosure compliance | No |
|
|
20
|
+
| conversion flow, sign-up flow, upsell, free trial enrollment, cancellation flow, dark pattern, pre-checked box, false urgency, countdown timer, negative option, ROSCA, hard to cancel | marketing-conversion-flow-dark-pattern-review-agent | Conversion-flow dark patterns | No |
|
|
21
|
+
| analytics config, GA4, BigQuery export, data minimization, event parameter, user property, analytics retention, user-scoped dimension, persistent user ID, raw event export | analytics-data-minimization-review-agent | Analytics data minimization | No |
|
|
22
|
+
|
|
23
|
+
## Domain taxonomy
|
|
24
|
+
|
|
25
|
+
| Domain | Keywords and signals |
|
|
26
|
+
|---|---|
|
|
27
|
+
| `consent` | CMP banner configuration, tag-manager consent gating, Consent Mode wiring, cookie policy disclosure, consent records, cross-border transfer mechanisms |
|
|
28
|
+
| `pixel-leakage` | Advertising and social pixels, conversion event payloads, `dataLayer` values, URL-parameter PII, form-field auto-capture, pixels on sensitive pages, identifier hashing |
|
|
29
|
+
| `access-governance` | OAuth connected apps and scopes, API keys, CRM and marketing-automation roles, shared and stale credentials, token rotation, integration ownership, bulk-export spread |
|
|
30
|
+
| `gpc` | Global Privacy Control signal path, opt-out propagation to tag execution, server-side conversion-API bypass, pre-existing-GPC handling |
|
|
31
|
+
| `email-auth` | SPF, DKIM, DMARC, BIMI DNS records, policy enforcement level, alignment, SPF lookup limits, ESP subdomain authentication |
|
|
32
|
+
| `supply-chain` | ads.txt and app-ads.txt entries, sellers.json records, SupplyChain Object, authorized resellers, domain-spoofing exposure, invalid-traffic risk |
|
|
33
|
+
| `targeting-fairness` | Ad-platform audience targeting, AI delivery optimization, protected-class proxies, disparate impact, Fair Housing and ECOA exposure |
|
|
34
|
+
| `ai-act` | EU AI Act risk-tier classification, prohibited practices, high-risk Annex III triggers, human-oversight adequacy, profiling, conformity assessment |
|
|
35
|
+
| `audience-upload` | Custom and lookalike audience uploads, hashing adequacy, PII field scope, consent basis for the seed list, platform data-sharing restrictions |
|
|
36
|
+
| `list-retention` | Email list segment metadata, consent-record completeness, suppression-list coverage, retention schedules, storage limitation |
|
|
37
|
+
| `influencer` | Influencer campaign briefs and contracts, material-connection disclosure, disclosure placement and conspicuousness, honest-opinion suppression |
|
|
38
|
+
| `conversion-dark-patterns` | Sign-up, upsell, trial-enrollment and cancellation flows, pre-checked options, asymmetric accept/decline weight, false urgency, negative-option cancellation friction |
|
|
39
|
+
| `analytics-minimization` | Analytics platform schema, event parameters, user properties, raw-data export configuration, data-retention periods, internal collection scope |
|
|
40
|
+
|
|
41
|
+
## Dispatch examples
|
|
42
|
+
|
|
43
|
+
### Example 1: Single-domain question
|
|
44
|
+
|
|
45
|
+
**User request:** "Does our DMARC record actually block spoofed mail, or is it just monitoring?"
|
|
46
|
+
|
|
47
|
+
**Routing:**
|
|
48
|
+
```
|
|
49
|
+
Route: email-sender-authentication-review-agent
|
|
50
|
+
Reason: Task is a pure sender-authentication question about DMARC enforcement posture — single email-auth domain.
|
|
51
|
+
Mode: single
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`email-sender-authentication-review-agent` reviews the DNS records and reports whether the DMARC policy enforces or only monitors.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Example 2: Two domains in parallel
|
|
59
|
+
|
|
60
|
+
**User request:** "Check whether our opt-out signal actually stops the pixels, and review our cookie banner for dark patterns."
|
|
61
|
+
|
|
62
|
+
**Routing:**
|
|
63
|
+
```
|
|
64
|
+
Route: marketing-gpc-signal-honoring-review-agent, marketing-consent-data-collection-review-agent
|
|
65
|
+
Reason: Task spans GPC opt-out signal propagation and consent-banner design — two distinct governance domains.
|
|
66
|
+
Mode: parallel (2)
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
### Example 3: Multi-domain posture review (ceiling enforced)
|
|
72
|
+
|
|
73
|
+
**User request:** "Full audit: consent banner, pixel leakage, who has CRM access, and whether our audience uploads are hashed correctly."
|
|
74
|
+
|
|
75
|
+
**Routing:**
|
|
76
|
+
```
|
|
77
|
+
Route: marketing-consent-data-collection-review-agent, marketing-pixel-data-leakage-review-agent, martech-access-governance-review-agent, lookalike-audience-upload-compliance-review-agent
|
|
78
|
+
Reason: Task spans four distinct governance domains — consent, pixel leakage, access governance, and audience-upload compliance.
|
|
79
|
+
Mode: parallel (4)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Four specialists is the hard ceiling. If a request implies more than four domains, dispatch the four highest-risk and tell the caller which domains were deferred to a follow-up.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### Refused request: live mutation
|
|
87
|
+
|
|
88
|
+
**User request:** "Revoke the SurveyTool OAuth grant and republish the tag container with the GPC fix."
|
|
89
|
+
|
|
90
|
+
**Routing:**
|
|
91
|
+
```
|
|
92
|
+
Route: REFUSED
|
|
93
|
+
Reason: This request requires live writes — an OAuth revocation and a tag-container publish. No live-guard agents exist in v1. Escalate to a human operator.
|
|
94
|
+
Mode: N/A
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
No agent in this provider executes mutations. Specialists produce the scoped recommendation; the human operator applies it.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Provenance label protocol
|
|
102
|
+
|
|
103
|
+
Every value produced by a routed specialist must carry one of these labels:
|
|
104
|
+
|
|
105
|
+
| Label | Meaning |
|
|
106
|
+
|---|---|
|
|
107
|
+
| `live-evidence` | Observed in the sanitized configuration or artifact the user provided in this session |
|
|
108
|
+
| `documentation-based` | Sourced from official regulation or platform documentation |
|
|
109
|
+
| `inference` | Derived by the specialist from inputs using documented methodology |
|
|
110
|
+
| `excluded` | Data intentionally excluded from the output, and why |
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: marketing-pixel-data-leakage-review
|
|
3
|
+
description: Use this skill when reviewing advertising pixels and event-tracking for personal-data leakage to third-party ad networks. Trigger when a user provides a tag-manager container, a Meta/TikTok/Google/LinkedIn pixel snippet, a conversion-event payload, a dataLayer specification, or asks whether their tracking pixels leak email, phone numbers, health, or financial data to ad platforms, or whether pixels on sensitive pages create a breach or HIPAA exposure.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-17"
|
|
9
|
+
category: security
|
|
10
|
+
lifecycle: experimental
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Marketing Pixel Data-Leakage Review
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
This skill reviews advertising pixels and conversion event tracking for unintended exfiltration of personal data to third-party ad networks. Marketing pixels are an attacker-irrelevant but regulator-relevant data path: a pixel that captures an email in a URL parameter, auto-collects form fields, or sits on a health or financial page silently transmits identifiable data to Meta, TikTok, Google, or LinkedIn with no contract, no consent scope, and no breach visibility. This pattern has produced large HIPAA settlements, FTC Health Breach Notification Rule actions, and wiretap class actions. The review catches PII in event payloads, form-field auto-capture, pixels on sensitive-context pages, unhashed identifier transmission, and missing data-redaction controls before they ship.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
- Treat raw email address, phone number, full name, or government identifier sent to an ad network in a URL query parameter, event parameter, or `dataLayer` value as HIGH — this is uncontracted disclosure of personal data to a third party.
|
|
20
|
+
- Treat tag-manager or pixel features that auto-collect form field values (advanced/automatic matching, form-input listeners, generic "form submit" variables capturing field contents) as HIGH — they capture whatever the user typed, including sensitive fields.
|
|
21
|
+
- Treat any advertising or social pixel present on a health, medical, financial, legal, or other special-category page (symptom checkers, patient portals, loan applications, insurance quotes) as HIGH — page context alone reveals special-category data.
|
|
22
|
+
- Treat advertising pixels on authenticated/post-login pages that carry account or transaction context as HIGH — the URL and page state themselves leak personal circumstances.
|
|
23
|
+
- Treat identifiers sent to ad networks without SHA-256 hashing where the platform's API requires hashing as HIGH — and note that hashing reduces but does not eliminate the disclosure.
|
|
24
|
+
- Treat URL query strings containing PII forwarded verbatim into pixel page-view events as HIGH — strip or redact before the pixel reads `location`.
|
|
25
|
+
- Flag conversion values transmitting precise revenue, order contents, or account balances when only a conversion flag is needed as MEDIUM.
|
|
26
|
+
- Flag pixels loaded before the consent signal as MEDIUM here and defer the full consent-gating analysis to `marketing-consent-data-collection-review`.
|
|
27
|
+
- Flag the absence of a documented redaction or allowlist layer between the page and ad pixels as MEDIUM.
|
|
28
|
+
- Do not recommend removing a pixel without naming the conversion measurement it supports and the attribution loss.
|
|
29
|
+
- Label every finding with evidence basis: payload provided, container provided, documentation-based, or inference from missing config.
|
|
30
|
+
|
|
31
|
+
## References
|
|
32
|
+
Load these only when needed:
|
|
33
|
+
- [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review or formatting the final answer.
|
|
34
|
+
|
|
35
|
+
## Response minimum
|
|
36
|
+
Return, at minimum:
|
|
37
|
+
- PII-in-payload findings (URL params, event params, dataLayer values)
|
|
38
|
+
- Form-field auto-capture assessment
|
|
39
|
+
- Sensitive-context page assessment (health, financial, legal, authenticated)
|
|
40
|
+
- Identifier handling assessment (hashing, redaction, allowlist)
|
|
41
|
+
- Conversion-payload minimization findings
|
|
42
|
+
- Severity-labelled finding list (critical / high / medium / low)
|
|
43
|
+
- Safe next actions
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "marketing-pixel-data-leakage-review",
|
|
3
|
+
"name": "Marketing Pixel Data-Leakage Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "marketing",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review advertising pixels and conversion event tracking for personal-data leakage to ad networks — PII in payloads, form-field auto-capture, pixels on sensitive pages, and unhashed identifier transmission.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://www.hhs.gov/hipaa/for-professionals/privacy/guidance/hipaa-online-tracking/index.html",
|
|
11
|
+
"https://www.ftc.gov/legal-library/browse/rules/health-breach-notification-rule",
|
|
12
|
+
"https://developers.facebook.com/docs/meta-pixel/",
|
|
13
|
+
"https://support.google.com/google-ads/answer/9888656",
|
|
14
|
+
"https://owasp.org/www-project-top-ten/"
|
|
15
|
+
],
|
|
16
|
+
"security_notes": "Advertising pixels that capture email, phone, health, or financial data transmit personal data to third-party ad networks with no contract, no consent scope, and no breach visibility — a pattern behind major HIPAA settlements, FTC Health Breach Notification Rule actions, and wiretap class actions. Review works from sanitized payloads and container exports only; never request real visitor data or ad-platform credentials.",
|
|
17
|
+
"last_verified": "2026-05-17",
|
|
18
|
+
"path": "skills/marketing/marketing-pixel-data-leakage-review",
|
|
19
|
+
"author": "github: Raishin",
|
|
20
|
+
"version": "0.1.0"
|
|
21
|
+
}
|
package/skills/marketing/marketing-pixel-data-leakage-review/references/workflow-and-output.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Collect inputs
|
|
6
|
+
|
|
7
|
+
Ask the user to provide one or more of the following as sanitized exports (replace real values with placeholders; no real visitor data, no ad-platform credentials):
|
|
8
|
+
- Tag manager container export showing pixels, triggers, and the variables they read
|
|
9
|
+
- Pixel snippets (Meta Pixel, TikTok Pixel, Google Ads / floodlight, LinkedIn Insight Tag, etc.)
|
|
10
|
+
- A representative conversion or page-view event payload (the parameters actually sent)
|
|
11
|
+
- The `dataLayer` specification or a sample `dataLayer` push
|
|
12
|
+
- The list of page types the pixels load on, especially any sensitive-context pages
|
|
13
|
+
- Whether advanced/automatic matching is enabled on any pixel
|
|
14
|
+
|
|
15
|
+
If the user provides only a partial set, note which sections are absent and scope findings accordingly.
|
|
16
|
+
|
|
17
|
+
### Step 2 — Page-context classification
|
|
18
|
+
|
|
19
|
+
Classify the pages each pixel loads on before inspecting payloads. Context alone can be the leak:
|
|
20
|
+
- **Special-category context**: health/medical, mental health, reproductive, financial hardship, loan/credit, legal, sexual orientation, religious, immigration.
|
|
21
|
+
- **Authenticated context**: post-login account, transaction, order-history, or profile pages.
|
|
22
|
+
- **General marketing context**: homepage, blog, top-of-funnel landing pages.
|
|
23
|
+
|
|
24
|
+
Any advertising or social pixel firing in a special-category or authenticated context is HIGH on context alone — the URL, referrer, and page title reveal the person's circumstances regardless of payload contents.
|
|
25
|
+
|
|
26
|
+
### Step 3 — Payload PII audit
|
|
27
|
+
|
|
28
|
+
Inspect every parameter the pixel transmits. Flag direct identifiers and quasi-identifiers:
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
# HIGH — raw email in the page URL, forwarded into the pixel page-view event
|
|
32
|
+
https://example.com/welcome?email=jane.doe@example.com
|
|
33
|
+
Meta Pixel: track('PageView') # pixel reads location.href → email leaves the page
|
|
34
|
+
|
|
35
|
+
# HIGH — PII pushed into dataLayer and mapped to event parameters
|
|
36
|
+
dataLayer.push({ event: 'signup', user_email: 'jane.doe@example.com', phone: '+15551234567' });
|
|
37
|
+
|
|
38
|
+
# CORRECT — only a non-identifying conversion signal
|
|
39
|
+
dataLayer.push({ event: 'signup', signup_tier: 'free' });
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Check for: email, phone, full name, postal address, date of birth, government IDs, account numbers, precise geolocation, and free-text fields that may contain any of the above.
|
|
43
|
+
|
|
44
|
+
### Step 4 — Form-field auto-capture audit
|
|
45
|
+
|
|
46
|
+
Identify any feature that captures form input without an explicit field allowlist:
|
|
47
|
+
- Meta Pixel **Advanced Matching** (automatic) — scrapes form fields on the page.
|
|
48
|
+
- Google **enhanced conversions** with auto-detection rather than a defined selector.
|
|
49
|
+
- Tag-manager **form-submit** triggers with a variable capturing all field values.
|
|
50
|
+
- Generic input/keystroke listeners.
|
|
51
|
+
|
|
52
|
+
```text
|
|
53
|
+
# HIGH — automatic advanced matching scrapes every form field on the page
|
|
54
|
+
fbq('init', 'PIXEL_ID', {}, { autoConfig: true });
|
|
55
|
+
|
|
56
|
+
# LOWER RISK — matching restricted to explicitly chosen, hashed fields
|
|
57
|
+
fbq('init', 'PIXEL_ID');
|
|
58
|
+
fbq('track', 'Lead'); # no automatic field scraping; identifiers handled server-side if needed
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Auto-capture is HIGH because it collects whatever the visitor typed, including fields the marketer never intended to send.
|
|
62
|
+
|
|
63
|
+
### Step 5 — Identifier-handling audit
|
|
64
|
+
|
|
65
|
+
For any identifier intentionally sent for matching:
|
|
66
|
+
- Confirm SHA-256 hashing where the ad platform's API requires it, and confirm hashing happens before transmission, not by the ad network on receipt.
|
|
67
|
+
- Note that hashing is pseudonymization, not anonymization — it still constitutes disclosure of personal data and still requires a lawful basis and consent scope.
|
|
68
|
+
- Confirm a redaction or allowlist layer strips PII from URLs and referrers before any pixel reads `location`.
|
|
69
|
+
|
|
70
|
+
Missing hashing where required is HIGH. Missing a redaction layer is MEDIUM.
|
|
71
|
+
|
|
72
|
+
### Step 6 — Payload minimization audit
|
|
73
|
+
|
|
74
|
+
Conversion events should send the minimum signal needed for measurement:
|
|
75
|
+
- A conversion flag and a coarse category are usually sufficient.
|
|
76
|
+
- Precise revenue, full order line items, account balances, or SKU-level health/financial detail sent to an ad network is MEDIUM — it is more than measurement requires.
|
|
77
|
+
|
|
78
|
+
### Step 7 — Consent-load ordering check
|
|
79
|
+
|
|
80
|
+
Note whether pixels load before the consent signal. Flag as MEDIUM and explicitly defer the full consent-gating analysis to the `marketing-consent-data-collection-review` skill — do not duplicate that analysis here.
|
|
81
|
+
|
|
82
|
+
### Step 8 — Produce the output
|
|
83
|
+
|
|
84
|
+
Format findings using the Output section below.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Output
|
|
89
|
+
|
|
90
|
+
Return findings in this structure:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
## Verdict
|
|
94
|
+
<one sentence: pass / needs work / critical issues found>
|
|
95
|
+
|
|
96
|
+
## Evidence level
|
|
97
|
+
<payload provided | container provided | documentation-based | inference>
|
|
98
|
+
|
|
99
|
+
## Findings
|
|
100
|
+
|
|
101
|
+
### CRITICAL
|
|
102
|
+
- [C1] <finding title>: <description> — <remediation>
|
|
103
|
+
|
|
104
|
+
### HIGH
|
|
105
|
+
- [H1] <finding title>: <description> — <remediation>
|
|
106
|
+
|
|
107
|
+
### MEDIUM
|
|
108
|
+
- [M1] <finding title>: <description> — <remediation>
|
|
109
|
+
|
|
110
|
+
### LOW
|
|
111
|
+
- [L1] <finding title>: <description> — <remediation>
|
|
112
|
+
|
|
113
|
+
## Safe next actions
|
|
114
|
+
1. <action>
|
|
115
|
+
2. <action>
|
|
116
|
+
|
|
117
|
+
## Open questions
|
|
118
|
+
- <question requiring user clarification>
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Security and scope notes
|
|
124
|
+
|
|
125
|
+
- This is a static review. Never request real visitor data, real conversion logs, or ad-platform credentials. Work from sanitized payloads with placeholder values.
|
|
126
|
+
- A leak found here may be a reportable breach under HIPAA, the FTC Health Breach Notification Rule, or state law — flag that possibility and route the determination to qualified counsel and the incident-response process. Do not make the breach-notification call yourself.
|
|
127
|
+
- Never recommend a fix that keeps PII flowing to the ad network "but hashed" as a complete remedy — hashing is mitigation, not elimination.
|
|
128
|
+
- Never recommend removing a pixel without naming the conversion measurement lost and a server-side or consent-scoped alternative.
|
|
129
|
+
- When evidence is partial, scope each finding to what was provided and state the assumption explicitly.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: martech-access-governance-review
|
|
3
|
+
description: Use this skill when reviewing access governance across a marketing technology stack — OAuth grants and connected apps, API keys and tokens, CRM and marketing-automation role assignments, and integration scopes. Trigger when a user provides an OAuth connected-app inventory, an integration scope list, a CRM/MAP role matrix, an API-key inventory, or asks whether their martech integrations are over-permissioned, whether stale connectors still hold live tokens, or how to apply least privilege to their marketing stack.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-17"
|
|
9
|
+
category: security
|
|
10
|
+
lifecycle: experimental
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Martech Access Governance Review
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
This skill reviews identity and access governance across a marketing technology stack — the CRM, marketing automation platform, CDP, analytics, and the long tail of connected SaaS apps. Marketing operations accumulate OAuth grants, API keys, and seat permissions faster than any other business function, and rarely deprovision them. The result is a stack where third-party connectors hold full-CRM scopes, a single shared admin key authenticates a dozen tools, and a contractor's connected app still has a live refresh token a year after the engagement ended. This is one of the most exploited SaaS breach paths: the marketing stack holds the entire customer database and is governed loosely. The review catches over-broad OAuth scopes, shared and non-rotating credentials, stale grants, missing token expiry, and absent ownership before they become an incident.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
- Treat any third-party connected app granted a full-read or read-write scope over the entire CRM contact/lead database when its function needs a narrow scope as HIGH — over-broad scope is the blast radius if that vendor is breached.
|
|
20
|
+
- Treat a single API key or service account shared across multiple tools or integrations as HIGH — it cannot be rotated or revoked without an outage, and a leak compromises every consumer.
|
|
21
|
+
- Treat any long-lived API key or OAuth grant with no rotation schedule and no expiry as HIGH — a leaked non-expiring credential is valid until someone notices.
|
|
22
|
+
- Treat a connected app, integration, or token tied to a departed employee, ended vendor engagement, or decommissioned tool that still holds a live grant as HIGH — stale credentials are unattended attack surface.
|
|
23
|
+
- Treat a CRM or marketing-automation integration credentialed with an admin or owner role when an API-only or limited integration role exists as HIGH — privilege beyond function violates least privilege.
|
|
24
|
+
- Treat a connected app or API key with no named human or team owner as HIGH — unowned credentials are never reviewed and never revoked.
|
|
25
|
+
- Flag marketing user seats holding bulk-export or full-database-export permission beyond the few who need it as MEDIUM — bulk export is the exfiltration path.
|
|
26
|
+
- Flag the absence of a recurring access-review cadence for connected apps and integration credentials as MEDIUM.
|
|
27
|
+
- Flag OAuth grants that include offline-access / refresh-token scope where only short-lived interactive access is needed as MEDIUM.
|
|
28
|
+
- Flag credentials transmitted or stored in plaintext (in tag managers, spreadsheets, shared docs, or automation tools) as HIGH.
|
|
29
|
+
- Do not recommend revoking a grant without naming the integration it powers and the marketing workflow that breaks.
|
|
30
|
+
- Label every finding with evidence basis: inventory provided, role matrix provided, documentation-based, or inference from missing config.
|
|
31
|
+
|
|
32
|
+
## References
|
|
33
|
+
Load these only when needed:
|
|
34
|
+
- [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review or formatting the final answer.
|
|
35
|
+
|
|
36
|
+
## Response minimum
|
|
37
|
+
Return, at minimum:
|
|
38
|
+
- OAuth scope blast-radius findings (connected apps over-scoped vs function)
|
|
39
|
+
- Shared / non-rotating credential findings
|
|
40
|
+
- Stale grant findings (departed users, ended vendors, dead tools)
|
|
41
|
+
- Integration role assessment (admin used where limited role exists)
|
|
42
|
+
- Ownership and access-review cadence gaps
|
|
43
|
+
- Bulk-export permission distribution assessment
|
|
44
|
+
- Severity-labelled finding list (critical / high / medium / low)
|
|
45
|
+
- Safe next actions
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "martech-access-governance-review",
|
|
3
|
+
"name": "Martech Access Governance Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "marketing",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review access governance across a marketing technology stack — OAuth connected apps, API keys, CRM and marketing-automation roles, and integration scopes — for least-privilege violations, shared and stale credentials, and missing ownership.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://datatracker.ietf.org/doc/html/rfc6749",
|
|
11
|
+
"https://oauth.net/2/scope/",
|
|
12
|
+
"https://csrc.nist.gov/glossary/term/least_privilege",
|
|
13
|
+
"https://owasp.org/www-project-top-ten/",
|
|
14
|
+
"https://csrc.nist.gov/pubs/sp/800/207/final"
|
|
15
|
+
],
|
|
16
|
+
"security_notes": "A marketing technology stack holds the full customer database and accumulates OAuth grants, API keys, and seats faster than it deprovisions them. Over-broad connector scopes, shared non-rotating credentials, and stale grants from departed staff or ended vendors are a heavily exploited SaaS breach path. Review works from sanitized inventories only; never request, collect, or echo credential values, tokens, or secrets.",
|
|
17
|
+
"last_verified": "2026-05-17",
|
|
18
|
+
"path": "skills/marketing/martech-access-governance-review",
|
|
19
|
+
"author": "github: Raishin",
|
|
20
|
+
"version": "0.1.0"
|
|
21
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Workflow and Output Contract
|
|
2
|
+
|
|
3
|
+
## Workflow
|
|
4
|
+
|
|
5
|
+
### Step 1 — Collect inputs
|
|
6
|
+
|
|
7
|
+
Ask the user to provide one or more of the following as sanitized inventories (redact every credential value — names and scopes only, never the secret itself):
|
|
8
|
+
- Connected-app / OAuth grant inventory for the CRM and marketing automation platform (app name, scopes granted, grant date, owner)
|
|
9
|
+
- API-key inventory (key name/label, the tool it authenticates, scope, rotation history — never the key value)
|
|
10
|
+
- CRM and marketing-automation role matrix (roles, permissions, which integrations and users hold each)
|
|
11
|
+
- The list of marketing tools in the stack and how each authenticates
|
|
12
|
+
- Offboarding process for departed employees and ended vendor engagements, if documented
|
|
13
|
+
|
|
14
|
+
If the user provides only a partial set, note which sections are absent and scope findings accordingly. If a user pastes an actual credential value, stop, tell them not to, and ask them to treat it as compromised and rotate it.
|
|
15
|
+
|
|
16
|
+
### Step 2 — Build the integration map
|
|
17
|
+
|
|
18
|
+
For each integration, record: what it is, what marketing function it performs, what data it touches, and the minimum scope that function requires. This "needed scope" baseline is what every granted scope is measured against.
|
|
19
|
+
|
|
20
|
+
### Step 3 — OAuth scope blast-radius audit
|
|
21
|
+
|
|
22
|
+
For every connected app, compare granted scope to needed scope.
|
|
23
|
+
|
|
24
|
+
```text
|
|
25
|
+
# HIGH — a form/survey tool granted full read-write over all CRM contacts
|
|
26
|
+
App: SurveyTool
|
|
27
|
+
Granted: crm.objects.contacts.read, crm.objects.contacts.write, crm.objects.deals.read
|
|
28
|
+
Needed: crm.objects.contacts.write (it only creates contacts from form fills)
|
|
29
|
+
|
|
30
|
+
# CORRECT — scope matches function
|
|
31
|
+
App: SurveyTool
|
|
32
|
+
Granted: crm.objects.contacts.write
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Flag every scope granted beyond function as HIGH. The blast radius of any connected app is the data its scope can reach if that vendor is breached — and SaaS supply-chain breaches routinely pivot through exactly these grants.
|
|
36
|
+
|
|
37
|
+
### Step 4 — Credential-sharing and rotation audit
|
|
38
|
+
|
|
39
|
+
- A single API key or service account used by more than one tool or integration is HIGH — it cannot be rotated or revoked for one consumer without breaking the others, and a single leak compromises all of them.
|
|
40
|
+
- Any key or grant with no rotation schedule and no expiry is HIGH.
|
|
41
|
+
- A "personal" API key issued under an individual employee's account, rather than a dedicated integration identity, is MEDIUM — it breaks when they leave and carries their full personal permissions.
|
|
42
|
+
|
|
43
|
+
### Step 5 — Stale-grant audit
|
|
44
|
+
|
|
45
|
+
Identify grants that should no longer exist:
|
|
46
|
+
- Connected apps or tokens owned by departed employees.
|
|
47
|
+
- Grants from vendor engagements or trials that have ended.
|
|
48
|
+
- Credentials for tools that were decommissioned but never disconnected.
|
|
49
|
+
- OAuth refresh tokens that are still valid because nothing ever revoked them.
|
|
50
|
+
|
|
51
|
+
Every live stale grant is HIGH — it is access nobody is watching.
|
|
52
|
+
|
|
53
|
+
### Step 6 — Integration role audit
|
|
54
|
+
|
|
55
|
+
Check the role each integration authenticates with:
|
|
56
|
+
- An integration using an admin or owner role when an API-only or limited integration role exists is HIGH.
|
|
57
|
+
- An integration that can change other users' permissions, billing, or security settings, when it only needs to read or write records, is HIGH.
|
|
58
|
+
|
|
59
|
+
### Step 7 — Ownership and review-cadence audit
|
|
60
|
+
|
|
61
|
+
- Every connected app and integration credential must have a named human or team owner. Unowned credentials are HIGH — nobody will ever review or revoke them.
|
|
62
|
+
- There must be a recurring access-review cadence (for example, quarterly) covering connected apps and integration credentials. Its absence is MEDIUM.
|
|
63
|
+
|
|
64
|
+
### Step 8 — Bulk-export and credential-storage audit
|
|
65
|
+
|
|
66
|
+
- Identify which marketing seats hold full-database or bulk-export permission. This is the exfiltration path; it should be held by the few who need it. Broad distribution is MEDIUM.
|
|
67
|
+
- Identify where credentials are stored. Credentials in spreadsheets, shared docs, tag-manager variables, or automation-tool fields in plaintext are HIGH. They belong in a secrets manager.
|
|
68
|
+
|
|
69
|
+
### Step 9 — Produce the output
|
|
70
|
+
|
|
71
|
+
Format findings using the Output section below.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Output
|
|
76
|
+
|
|
77
|
+
Return findings in this structure:
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
## Verdict
|
|
81
|
+
<one sentence: pass / needs work / critical issues found>
|
|
82
|
+
|
|
83
|
+
## Evidence level
|
|
84
|
+
<inventory provided | role matrix provided | documentation-based | inference>
|
|
85
|
+
|
|
86
|
+
## Findings
|
|
87
|
+
|
|
88
|
+
### CRITICAL
|
|
89
|
+
- [C1] <finding title>: <description> — <remediation>
|
|
90
|
+
|
|
91
|
+
### HIGH
|
|
92
|
+
- [H1] <finding title>: <description> — <remediation>
|
|
93
|
+
|
|
94
|
+
### MEDIUM
|
|
95
|
+
- [M1] <finding title>: <description> — <remediation>
|
|
96
|
+
|
|
97
|
+
### LOW
|
|
98
|
+
- [L1] <finding title>: <description> — <remediation>
|
|
99
|
+
|
|
100
|
+
## Safe next actions
|
|
101
|
+
1. <action>
|
|
102
|
+
2. <action>
|
|
103
|
+
|
|
104
|
+
## Open questions
|
|
105
|
+
- <question requiring user clarification>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Security and scope notes
|
|
111
|
+
|
|
112
|
+
- This is a static review. Never request, collect, store, or echo credential values, API keys, tokens, or secrets. Work from inventories of names and scopes only.
|
|
113
|
+
- If the user pastes a real credential, treat it as compromised: tell them, and recommend immediate rotation.
|
|
114
|
+
- Apply least privilege and zero-trust assumptions: every integration should hold the narrowest scope, the shortest-lived token, and a named owner.
|
|
115
|
+
- Never recommend revoking a grant without naming the integration it powers and the marketing workflow that breaks — propose the scoped-down replacement grant alongside the revocation.
|
|
116
|
+
- When evidence is partial, scope each finding to what was provided and state the assumption explicitly.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: programmatic-supply-chain-integrity-review
|
|
3
|
+
description: Use this skill when reviewing ads.txt, app-ads.txt, and sellers.json files for a publisher or advertiser's programmatic supply chain to detect unauthorized resellers, domain-spoofing exposure, and SupplyChain Object gaps. Trigger when a user provides an ads.txt file, an app-ads.txt file, a sellers.json endpoint response, or asks whether their programmatic supply chain has unauthorized intermediaries, IVT exposure, domain-spoofing risk, or whether their supply chain declaration satisfies IAB Tech Lab, MRC, or DSP procurement requirements.
|
|
4
|
+
allowed-tools: Read Grep Glob
|
|
5
|
+
metadata:
|
|
6
|
+
author: "github: Raishin"
|
|
7
|
+
version: "0.1.0"
|
|
8
|
+
updated: "2026-05-17"
|
|
9
|
+
category: finops
|
|
10
|
+
lifecycle: experimental
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Programmatic Supply Chain Integrity Review
|
|
14
|
+
|
|
15
|
+
## Purpose
|
|
16
|
+
This skill reviews ads.txt, app-ads.txt, and sellers.json declarations for a publisher's or advertiser's programmatic supply chain to detect unauthorized resellers, domain-spoofing exposure, SupplyChain Object gaps, and IVT-exposure vectors. Ads.txt (IAB Tech Lab v1.1) and app-ads.txt are the publisher's machine-readable authorization of which exchanges and resellers may sell their inventory; sellers.json (IAB Tech Lab v1.0) is the exchange's machine-readable disclosure of which sellers it represents. When these files are inconsistent — an ads.txt RESELLER entry that no exchange discloses in sellers.json, a DIRECT entry that resolves as `is_confidential:1`, or a whitelisted domain whose ads.txt is absent — the supply chain is opaque to buyers, exposing them to unauthorized intermediary fees and exposing publishers to domain spoofing. The SupplyChain Object (OpenRTB extension) enables bid-time audit of the complete reseller path; gaps in the declared path are treated as invalid traffic by MRC-compliant measurement vendors and many DSP procurement teams. The review works from the raw text of the artifact files pasted as input and produces severity-labelled findings with remediation.
|
|
17
|
+
|
|
18
|
+
## Lean operating rules
|
|
19
|
+
- Treat ads.txt RESELLER entries for exchange accounts that do not appear in any sellers.json file for that exchange as HIGH — these are undisclosed intermediaries whose presence in the resale chain cannot be verified by buyers, constituting unauthorized supply path opacity under IAB Tech Lab ads.txt 1.1.
|
|
20
|
+
- Treat a whitelisted publisher domain whose ads.txt file is entirely absent as HIGH — the absence means buyers cannot verify any authorized seller relationship; the domain is categorically IVT-exposed per MRC Invalid Traffic Detection guidelines and most DSP whitelisting criteria.
|
|
21
|
+
- Treat a DIRECT entry in ads.txt where the corresponding seller account in sellers.json carries `is_confidential:1` as HIGH — a DIRECT relationship by definition requires transparent publisher identity; confidential resolution contradicts the DIRECT classification and is a domain-spoofing risk vector.
|
|
22
|
+
- Treat ads.txt entries that reference exchange account IDs not present in the exchange's sellers.json at all (orphaned account IDs) as HIGH — the account cannot be verified as a legitimate seller, which is a signal of domain spoofing or stale declarations.
|
|
23
|
+
- Treat a `seller_type: INTERMEDIARY` entry in sellers.json that has no corresponding ads.txt RESELLER entry on the publisher domain as MEDIUM — the intermediary is declared by the exchange but not authorized by the publisher, creating a supply path discrepancy.
|
|
24
|
+
- Treat SupplyChain Object declarations with incomplete node chains (missing `asi`, `sid`, or `rid` fields in intermediate nodes) as MEDIUM — incomplete chains reduce bid-time auditability and may cause DSP procurement filters to reject the bid.
|
|
25
|
+
- Flag MEDIUM when the ads.txt file has not been updated within twelve months and active exchange relationships are known to have changed — stale declarations expose revenue to unauthorized resellers who retain old account relationships.
|
|
26
|
+
- Flag the absence of app-ads.txt for a mobile app publisher as MEDIUM when the publisher's ads.txt covers only web inventory — app inventory without app-ads.txt is unprotected by IAB Tech Lab supply-chain controls.
|
|
27
|
+
- Do not recommend removing a RESELLER entry without first confirming whether it represents a legitimate revenue path that can be replaced with a DIRECT relationship or a disclosed intermediary.
|
|
28
|
+
- Label every finding with evidence basis: ads.txt provided, sellers.json provided, documentation-based, or inference from absent file.
|
|
29
|
+
|
|
30
|
+
## References
|
|
31
|
+
Load these only when needed:
|
|
32
|
+
- [Workflow and output contract](references/workflow-and-output.md) — use when executing the full review or formatting the final answer.
|
|
33
|
+
|
|
34
|
+
## Response minimum
|
|
35
|
+
Return, at minimum:
|
|
36
|
+
- RESELLER-to-sellers.json consistency assessment (unauthorized intermediaries)
|
|
37
|
+
- DIRECT-entry confidentiality conflict assessment (domain-spoofing risk)
|
|
38
|
+
- Orphaned account ID assessment (account IDs in ads.txt not in sellers.json)
|
|
39
|
+
- Absent ads.txt / app-ads.txt assessment for whitelisted domains
|
|
40
|
+
- SupplyChain Object completeness assessment
|
|
41
|
+
- Stale declaration assessment
|
|
42
|
+
- Severity-labelled finding list (critical / high / medium / low)
|
|
43
|
+
- Safe next actions
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "programmatic-supply-chain-integrity-review",
|
|
3
|
+
"name": "Programmatic Supply Chain Integrity Review",
|
|
4
|
+
"type": "skill",
|
|
5
|
+
"provider": "marketing",
|
|
6
|
+
"harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
|
|
7
|
+
"summary": "Review ads.txt, app-ads.txt, and sellers.json files for a publisher or advertiser's programmatic supply chain to detect unauthorized resellers, domain-spoofing exposure, and SupplyChain Object gaps.",
|
|
8
|
+
"source_type": "original",
|
|
9
|
+
"official_docs": [
|
|
10
|
+
"https://iabtechlab.com/ads-txt/",
|
|
11
|
+
"https://iabtechlab.com/sellers-json/",
|
|
12
|
+
"https://iabtechlab.com/supplychain-object/",
|
|
13
|
+
"https://mediaratingcouncil.org/sites/default/files/Standards/MRC%20Invalid%20Traffic%20Detection%20and%20Filtration%20Guidelines%20Addendum.pdf",
|
|
14
|
+
"https://iabtechlab.com/app-ads-txt/"
|
|
15
|
+
],
|
|
16
|
+
"security_notes": "Supply chain integrity reviews work from the raw text of ads.txt, app-ads.txt, and sellers.json files pasted as input. Never request DSP credentials, exchange account tokens, or bid-stream logs. ads.txt and sellers.json are publicly resolvable files; the artifact is the publisher's or exchange's own exported text, not a live crawl of production endpoints.",
|
|
17
|
+
"last_verified": "2026-05-17",
|
|
18
|
+
"path": "skills/marketing/programmatic-supply-chain-integrity-review",
|
|
19
|
+
"author": "github: Raishin",
|
|
20
|
+
"version": "0.1.0",
|
|
21
|
+
"lifecycle": "experimental"
|
|
22
|
+
}
|