@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.
Files changed (1065) hide show
  1. package/.claude-plugin/plugin.json +15 -1
  2. package/.cursor-plugin/plugin.json +15 -1
  3. package/.github/plugin/marketplace.json +1 -1
  4. package/README.md +11 -2
  5. package/agents/marketing/README.md +44 -0
  6. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/AGENT.md +53 -0
  7. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/claude-code.agent.md +36 -0
  8. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/codex.toml +33 -0
  9. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/copilot.agent.md +36 -0
  10. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/cursor.agent.md +36 -0
  11. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/gemini.agent.md +36 -0
  12. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-cli.agent.json +5 -0
  13. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/harnesses/kiro-ide.agent.md +36 -0
  14. package/agents/marketing/ai-advertising-targeting-fairness-review-agent/metadata.json +31 -0
  15. package/agents/marketing/analytics-data-minimization-review-agent/AGENT.md +51 -0
  16. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/claude-code.agent.md +34 -0
  17. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/codex.toml +33 -0
  18. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/copilot.agent.md +34 -0
  19. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/cursor.agent.md +34 -0
  20. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/gemini.agent.md +34 -0
  21. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-cli.agent.json +5 -0
  22. package/agents/marketing/analytics-data-minimization-review-agent/harnesses/kiro-ide.agent.md +34 -0
  23. package/agents/marketing/analytics-data-minimization-review-agent/metadata.json +31 -0
  24. package/agents/marketing/email-sender-authentication-review-agent/AGENT.md +50 -0
  25. package/agents/marketing/email-sender-authentication-review-agent/harnesses/claude-code.agent.md +33 -0
  26. package/agents/marketing/email-sender-authentication-review-agent/harnesses/codex.toml +32 -0
  27. package/agents/marketing/email-sender-authentication-review-agent/harnesses/copilot.agent.md +33 -0
  28. package/agents/marketing/email-sender-authentication-review-agent/harnesses/cursor.agent.md +33 -0
  29. package/agents/marketing/email-sender-authentication-review-agent/harnesses/gemini.agent.md +33 -0
  30. package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-cli.agent.json +5 -0
  31. package/agents/marketing/email-sender-authentication-review-agent/harnesses/kiro-ide.agent.md +33 -0
  32. package/agents/marketing/email-sender-authentication-review-agent/metadata.json +31 -0
  33. package/agents/marketing/eu-ai-act-marketing-system-review-agent/AGENT.md +54 -0
  34. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/claude-code.agent.md +37 -0
  35. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/codex.toml +33 -0
  36. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/copilot.agent.md +37 -0
  37. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/cursor.agent.md +37 -0
  38. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/gemini.agent.md +37 -0
  39. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-cli.agent.json +5 -0
  40. package/agents/marketing/eu-ai-act-marketing-system-review-agent/harnesses/kiro-ide.agent.md +37 -0
  41. package/agents/marketing/eu-ai-act-marketing-system-review-agent/metadata.json +31 -0
  42. package/agents/marketing/influencer-disclosure-compliance-review-agent/AGENT.md +52 -0
  43. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/claude-code.agent.md +35 -0
  44. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/codex.toml +33 -0
  45. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/copilot.agent.md +35 -0
  46. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/cursor.agent.md +35 -0
  47. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/gemini.agent.md +35 -0
  48. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  49. package/agents/marketing/influencer-disclosure-compliance-review-agent/harnesses/kiro-ide.agent.md +35 -0
  50. package/agents/marketing/influencer-disclosure-compliance-review-agent/metadata.json +31 -0
  51. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/AGENT.md +54 -0
  52. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/claude-code.agent.md +37 -0
  53. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/codex.toml +34 -0
  54. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/copilot.agent.md +37 -0
  55. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/cursor.agent.md +37 -0
  56. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/gemini.agent.md +37 -0
  57. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  58. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/harnesses/kiro-ide.agent.md +37 -0
  59. package/agents/marketing/lookalike-audience-upload-compliance-review-agent/metadata.json +31 -0
  60. package/agents/marketing/marketing-consent-data-collection-review-agent/AGENT.md +51 -0
  61. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/claude-code.agent.md +34 -0
  62. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/codex.toml +33 -0
  63. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/copilot.agent.md +34 -0
  64. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/cursor.agent.md +34 -0
  65. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/gemini.agent.md +34 -0
  66. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-cli.agent.json +5 -0
  67. package/agents/marketing/marketing-consent-data-collection-review-agent/harnesses/kiro-ide.agent.md +34 -0
  68. package/agents/marketing/marketing-consent-data-collection-review-agent/metadata.json +31 -0
  69. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/AGENT.md +51 -0
  70. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/claude-code.agent.md +34 -0
  71. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/codex.toml +33 -0
  72. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/copilot.agent.md +34 -0
  73. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/cursor.agent.md +34 -0
  74. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/gemini.agent.md +34 -0
  75. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-cli.agent.json +5 -0
  76. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/harnesses/kiro-ide.agent.md +34 -0
  77. package/agents/marketing/marketing-conversion-flow-dark-pattern-review-agent/metadata.json +31 -0
  78. package/agents/marketing/marketing-email-list-retention-review-agent/AGENT.md +50 -0
  79. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/claude-code.agent.md +33 -0
  80. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/codex.toml +32 -0
  81. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/copilot.agent.md +33 -0
  82. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/cursor.agent.md +33 -0
  83. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/gemini.agent.md +33 -0
  84. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-cli.agent.json +5 -0
  85. package/agents/marketing/marketing-email-list-retention-review-agent/harnesses/kiro-ide.agent.md +33 -0
  86. package/agents/marketing/marketing-email-list-retention-review-agent/metadata.json +31 -0
  87. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/AGENT.md +50 -0
  88. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/claude-code.agent.md +33 -0
  89. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/codex.toml +32 -0
  90. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/copilot.agent.md +33 -0
  91. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/cursor.agent.md +33 -0
  92. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/gemini.agent.md +33 -0
  93. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-cli.agent.json +5 -0
  94. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/harnesses/kiro-ide.agent.md +33 -0
  95. package/agents/marketing/marketing-gpc-signal-honoring-review-agent/metadata.json +31 -0
  96. package/agents/marketing/marketing-maestro-agent/AGENT.md +62 -0
  97. package/agents/marketing/marketing-maestro-agent/PERMISSIONS.md +75 -0
  98. package/agents/marketing/marketing-maestro-agent/README.md +62 -0
  99. package/agents/marketing/marketing-maestro-agent/harnesses/claude-code.agent.md +43 -0
  100. package/agents/marketing/marketing-maestro-agent/harnesses/codex.toml +35 -0
  101. package/agents/marketing/marketing-maestro-agent/harnesses/copilot.agent.md +43 -0
  102. package/agents/marketing/marketing-maestro-agent/harnesses/cursor.agent.md +43 -0
  103. package/agents/marketing/marketing-maestro-agent/harnesses/gemini.agent.md +43 -0
  104. package/agents/marketing/marketing-maestro-agent/harnesses/kiro-cli.agent.json +5 -0
  105. package/agents/marketing/marketing-maestro-agent/harnesses/kiro-ide.agent.md +43 -0
  106. package/agents/marketing/marketing-maestro-agent/metadata.json +38 -0
  107. package/agents/marketing/marketing-pixel-data-leakage-review-agent/AGENT.md +50 -0
  108. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/claude-code.agent.md +33 -0
  109. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/codex.toml +32 -0
  110. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/copilot.agent.md +33 -0
  111. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/cursor.agent.md +33 -0
  112. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/gemini.agent.md +33 -0
  113. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-cli.agent.json +5 -0
  114. package/agents/marketing/marketing-pixel-data-leakage-review-agent/harnesses/kiro-ide.agent.md +33 -0
  115. package/agents/marketing/marketing-pixel-data-leakage-review-agent/metadata.json +31 -0
  116. package/agents/marketing/martech-access-governance-review-agent/AGENT.md +51 -0
  117. package/agents/marketing/martech-access-governance-review-agent/harnesses/claude-code.agent.md +34 -0
  118. package/agents/marketing/martech-access-governance-review-agent/harnesses/codex.toml +33 -0
  119. package/agents/marketing/martech-access-governance-review-agent/harnesses/copilot.agent.md +34 -0
  120. package/agents/marketing/martech-access-governance-review-agent/harnesses/cursor.agent.md +34 -0
  121. package/agents/marketing/martech-access-governance-review-agent/harnesses/gemini.agent.md +34 -0
  122. package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-cli.agent.json +5 -0
  123. package/agents/marketing/martech-access-governance-review-agent/harnesses/kiro-ide.agent.md +34 -0
  124. package/agents/marketing/martech-access-governance-review-agent/metadata.json +31 -0
  125. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/AGENT.md +50 -0
  126. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/claude-code.agent.md +33 -0
  127. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/codex.toml +32 -0
  128. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/copilot.agent.md +33 -0
  129. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/cursor.agent.md +33 -0
  130. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/gemini.agent.md +33 -0
  131. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-cli.agent.json +5 -0
  132. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/harnesses/kiro-ide.agent.md +33 -0
  133. package/agents/marketing/programmatic-supply-chain-integrity-review-agent/metadata.json +31 -0
  134. package/catalog/agents.json +765 -197
  135. package/catalog/asset-integrity.json +876 -41
  136. package/catalog/install-roles.json +38 -2
  137. package/catalog/skill-manifest.json +318 -0
  138. package/catalog/skills.json +596 -199
  139. package/package.json +3 -2
  140. package/plugins/vanguard-frontier-agentic/.codex-plugin/plugin.json +1 -1
  141. package/scripts/export-marketplace-agents.mjs +146 -84
  142. package/scripts/generate-changelog-counts.mjs +34 -0
  143. package/scripts/release-prepare.mjs +97 -5
  144. package/skills/marketing/ai-advertising-targeting-fairness-review/SKILL.md +43 -0
  145. package/skills/marketing/ai-advertising-targeting-fairness-review/metadata.json +21 -0
  146. package/skills/marketing/ai-advertising-targeting-fairness-review/references/workflow-and-output.md +150 -0
  147. package/skills/marketing/analytics-data-minimization-review/SKILL.md +44 -0
  148. package/skills/marketing/analytics-data-minimization-review/metadata.json +22 -0
  149. package/skills/marketing/analytics-data-minimization-review/references/workflow-and-output.md +187 -0
  150. package/skills/marketing/email-sender-authentication-review/SKILL.md +43 -0
  151. package/skills/marketing/email-sender-authentication-review/metadata.json +22 -0
  152. package/skills/marketing/email-sender-authentication-review/references/workflow-and-output.md +152 -0
  153. package/skills/marketing/eu-ai-act-marketing-system-review/SKILL.md +43 -0
  154. package/skills/marketing/eu-ai-act-marketing-system-review/metadata.json +21 -0
  155. package/skills/marketing/eu-ai-act-marketing-system-review/references/workflow-and-output.md +176 -0
  156. package/skills/marketing/influencer-disclosure-compliance-review/SKILL.md +43 -0
  157. package/skills/marketing/influencer-disclosure-compliance-review/metadata.json +22 -0
  158. package/skills/marketing/influencer-disclosure-compliance-review/references/workflow-and-output.md +156 -0
  159. package/skills/marketing/lookalike-audience-upload-compliance-review/SKILL.md +44 -0
  160. package/skills/marketing/lookalike-audience-upload-compliance-review/metadata.json +21 -0
  161. package/skills/marketing/lookalike-audience-upload-compliance-review/references/workflow-and-output.md +203 -0
  162. package/skills/marketing/marketing-consent-data-collection-review/SKILL.md +44 -0
  163. package/skills/marketing/marketing-consent-data-collection-review/metadata.json +21 -0
  164. package/skills/marketing/marketing-consent-data-collection-review/references/workflow-and-output.md +139 -0
  165. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/SKILL.md +45 -0
  166. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/metadata.json +22 -0
  167. package/skills/marketing/marketing-conversion-flow-dark-pattern-review/references/workflow-and-output.md +160 -0
  168. package/skills/marketing/marketing-email-list-retention-review/SKILL.md +43 -0
  169. package/skills/marketing/marketing-email-list-retention-review/metadata.json +22 -0
  170. package/skills/marketing/marketing-email-list-retention-review/references/workflow-and-output.md +144 -0
  171. package/skills/marketing/marketing-gpc-signal-honoring-review/SKILL.md +42 -0
  172. package/skills/marketing/marketing-gpc-signal-honoring-review/metadata.json +22 -0
  173. package/skills/marketing/marketing-gpc-signal-honoring-review/references/workflow-and-output.md +145 -0
  174. package/skills/marketing/marketing-maestro/README.md +37 -0
  175. package/skills/marketing/marketing-maestro/SKILL.md +49 -0
  176. package/skills/marketing/marketing-maestro/metadata.json +26 -0
  177. package/skills/marketing/marketing-maestro/references/safety-checklist.md +67 -0
  178. package/skills/marketing/marketing-maestro/references/workflow-and-output.md +110 -0
  179. package/skills/marketing/marketing-pixel-data-leakage-review/SKILL.md +43 -0
  180. package/skills/marketing/marketing-pixel-data-leakage-review/metadata.json +21 -0
  181. package/skills/marketing/marketing-pixel-data-leakage-review/references/workflow-and-output.md +129 -0
  182. package/skills/marketing/martech-access-governance-review/SKILL.md +45 -0
  183. package/skills/marketing/martech-access-governance-review/metadata.json +21 -0
  184. package/skills/marketing/martech-access-governance-review/references/workflow-and-output.md +116 -0
  185. package/skills/marketing/programmatic-supply-chain-integrity-review/SKILL.md +43 -0
  186. package/skills/marketing/programmatic-supply-chain-integrity-review/metadata.json +22 -0
  187. package/skills/marketing/programmatic-supply-chain-integrity-review/references/workflow-and-output.md +164 -0
  188. package/tests/AGENTS.md +17 -0
  189. package/tests/_generate_maestro_routing_fixtures.py +372 -0
  190. package/tests/export-cursor-kiro-skill-notice.test.mjs +92 -0
  191. package/tests/fixtures/README.md +53 -0
  192. package/tests/fixtures/alibaba-maestro-routing/expected/001-happy-ack-container-platform-operator.json +6 -0
  193. package/tests/fixtures/alibaba-maestro-routing/expected/002-happy-actiontrail-audit-analyst.json +6 -0
  194. package/tests/fixtures/alibaba-maestro-routing/expected/003-happy-analyticdb-realtime.json +6 -0
  195. package/tests/fixtures/alibaba-maestro-routing/expected/004-happy-certificate-manager-issuer-review.json +6 -0
  196. package/tests/fixtures/alibaba-maestro-routing/expected/005-happy-change-impact-advisor.json +6 -0
  197. package/tests/fixtures/alibaba-maestro-routing/expected/006-happy-china-compliance.json +6 -0
  198. package/tests/fixtures/alibaba-maestro-routing/expected/007-happy-cost-anomaly-watch-coordinator.json +6 -0
  199. package/tests/fixtures/alibaba-maestro-routing/expected/008-happy-cost-finops-analyst.json +6 -0
  200. package/tests/fixtures/alibaba-maestro-routing/expected/009-happy-daily-operations-briefing-coordinator.json +6 -0
  201. package/tests/fixtures/alibaba-maestro-routing/expected/010-happy-devops-cicd-operator.json +6 -0
  202. package/tests/fixtures/alibaba-maestro-routing/expected/011-happy-ecs-compute-operator.json +6 -0
  203. package/tests/fixtures/alibaba-maestro-routing/expected/012-happy-event-driven-architecture-review.json +6 -0
  204. package/tests/fixtures/alibaba-maestro-routing/expected/013-happy-function-serverless-operator.json +6 -0
  205. package/tests/fixtures/alibaba-maestro-routing/expected/014-happy-iac-change-safety-review.json +6 -0
  206. package/tests/fixtures/alibaba-maestro-routing/expected/015-happy-kms-secret-lifecycle-steward.json +6 -0
  207. package/tests/fixtures/alibaba-maestro-routing/expected/016-happy-landing-zone-architect.json +6 -0
  208. package/tests/fixtures/alibaba-maestro-routing/expected/017-happy-load-balancer-traffic-engineer.json +6 -0
  209. package/tests/fixtures/alibaba-maestro-routing/expected/018-happy-maxcompute-dataworks-analyst.json +6 -0
  210. package/tests/fixtures/alibaba-maestro-routing/expected/019-happy-migration-architect.json +6 -0
  211. package/tests/fixtures/alibaba-maestro-routing/expected/020-happy-mse-microservice-engine.json +6 -0
  212. package/tests/fixtures/alibaba-maestro-routing/expected/021-happy-network-architect.json +6 -0
  213. package/tests/fixtures/alibaba-maestro-routing/expected/022-happy-observability-incident-responder.json +6 -0
  214. package/tests/fixtures/alibaba-maestro-routing/expected/023-happy-oss-data-perimeter-governor.json +6 -0
  215. package/tests/fixtures/alibaba-maestro-routing/expected/024-happy-oss-storage-steward.json +6 -0
  216. package/tests/fixtures/alibaba-maestro-routing/expected/025-happy-polardb-rds-dba.json +6 -0
  217. package/tests/fixtures/alibaba-maestro-routing/expected/026-happy-ram-iam-review.json +6 -0
  218. package/tests/fixtures/alibaba-maestro-routing/expected/027-happy-registry-artifact-governor.json +6 -0
  219. package/tests/fixtures/alibaba-maestro-routing/expected/028-happy-resilience-bcdr-review.json +6 -0
  220. package/tests/fixtures/alibaba-maestro-routing/expected/029-happy-security-center-hardening.json +6 -0
  221. package/tests/fixtures/alibaba-maestro-routing/expected/030-happy-serverless-production-readiness.json +6 -0
  222. package/tests/fixtures/alibaba-maestro-routing/expected/031-happy-solution-architect.json +6 -0
  223. package/tests/fixtures/alibaba-maestro-routing/expected/032-happy-support-incident-coordinator.json +6 -0
  224. package/tests/fixtures/alibaba-maestro-routing/expected/033-happy-ticket-triage-escalation-coordinator.json +6 -0
  225. package/tests/fixtures/alibaba-maestro-routing/expected/034-happy-waf-cost-optimization-review.json +6 -0
  226. package/tests/fixtures/alibaba-maestro-routing/expected/035-happy-waf-reliability-review.json +6 -0
  227. package/tests/fixtures/alibaba-maestro-routing/expected/036-happy-waf-security-review.json +6 -0
  228. package/tests/fixtures/alibaba-maestro-routing/expected/adv-ambiguous.json +4 -0
  229. package/tests/fixtures/alibaba-maestro-routing/expected/adv-instruction-injection.json +6 -0
  230. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-01-live-ack-rollout-guard.json +6 -0
  231. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-02-live-cost-budget-action-guard.json +6 -0
  232. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-03-live-kms-key-mutation-guard.json +6 -0
  233. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-04-live-oss-bucket-policy-guard.json +6 -0
  234. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-05-live-ram-policy-change-guard.json +6 -0
  235. package/tests/fixtures/alibaba-maestro-routing/expected/adv-liveguard-06-live-rds-polardb-mutation-guard.json +6 -0
  236. package/tests/fixtures/alibaba-maestro-routing/expected/adv-persona-replacement.json +6 -0
  237. package/tests/fixtures/alibaba-maestro-routing/expected/adv-secrets-bait.json +8 -0
  238. package/tests/fixtures/alibaba-maestro-routing/inputs/001-happy-ack-container-platform-operator.json +7 -0
  239. package/tests/fixtures/alibaba-maestro-routing/inputs/002-happy-actiontrail-audit-analyst.json +7 -0
  240. package/tests/fixtures/alibaba-maestro-routing/inputs/003-happy-analyticdb-realtime.json +7 -0
  241. package/tests/fixtures/alibaba-maestro-routing/inputs/004-happy-certificate-manager-issuer-review.json +7 -0
  242. package/tests/fixtures/alibaba-maestro-routing/inputs/005-happy-change-impact-advisor.json +7 -0
  243. package/tests/fixtures/alibaba-maestro-routing/inputs/006-happy-china-compliance.json +7 -0
  244. package/tests/fixtures/alibaba-maestro-routing/inputs/007-happy-cost-anomaly-watch-coordinator.json +7 -0
  245. package/tests/fixtures/alibaba-maestro-routing/inputs/008-happy-cost-finops-analyst.json +7 -0
  246. package/tests/fixtures/alibaba-maestro-routing/inputs/009-happy-daily-operations-briefing-coordinator.json +7 -0
  247. package/tests/fixtures/alibaba-maestro-routing/inputs/010-happy-devops-cicd-operator.json +7 -0
  248. package/tests/fixtures/alibaba-maestro-routing/inputs/011-happy-ecs-compute-operator.json +7 -0
  249. package/tests/fixtures/alibaba-maestro-routing/inputs/012-happy-event-driven-architecture-review.json +7 -0
  250. package/tests/fixtures/alibaba-maestro-routing/inputs/013-happy-function-serverless-operator.json +7 -0
  251. package/tests/fixtures/alibaba-maestro-routing/inputs/014-happy-iac-change-safety-review.json +7 -0
  252. package/tests/fixtures/alibaba-maestro-routing/inputs/015-happy-kms-secret-lifecycle-steward.json +7 -0
  253. package/tests/fixtures/alibaba-maestro-routing/inputs/016-happy-landing-zone-architect.json +7 -0
  254. package/tests/fixtures/alibaba-maestro-routing/inputs/017-happy-load-balancer-traffic-engineer.json +7 -0
  255. package/tests/fixtures/alibaba-maestro-routing/inputs/018-happy-maxcompute-dataworks-analyst.json +7 -0
  256. package/tests/fixtures/alibaba-maestro-routing/inputs/019-happy-migration-architect.json +7 -0
  257. package/tests/fixtures/alibaba-maestro-routing/inputs/020-happy-mse-microservice-engine.json +7 -0
  258. package/tests/fixtures/alibaba-maestro-routing/inputs/021-happy-network-architect.json +7 -0
  259. package/tests/fixtures/alibaba-maestro-routing/inputs/022-happy-observability-incident-responder.json +7 -0
  260. package/tests/fixtures/alibaba-maestro-routing/inputs/023-happy-oss-data-perimeter-governor.json +7 -0
  261. package/tests/fixtures/alibaba-maestro-routing/inputs/024-happy-oss-storage-steward.json +7 -0
  262. package/tests/fixtures/alibaba-maestro-routing/inputs/025-happy-polardb-rds-dba.json +7 -0
  263. package/tests/fixtures/alibaba-maestro-routing/inputs/026-happy-ram-iam-review.json +7 -0
  264. package/tests/fixtures/alibaba-maestro-routing/inputs/027-happy-registry-artifact-governor.json +7 -0
  265. package/tests/fixtures/alibaba-maestro-routing/inputs/028-happy-resilience-bcdr-review.json +7 -0
  266. package/tests/fixtures/alibaba-maestro-routing/inputs/029-happy-security-center-hardening.json +7 -0
  267. package/tests/fixtures/alibaba-maestro-routing/inputs/030-happy-serverless-production-readiness.json +7 -0
  268. package/tests/fixtures/alibaba-maestro-routing/inputs/031-happy-solution-architect.json +7 -0
  269. package/tests/fixtures/alibaba-maestro-routing/inputs/032-happy-support-incident-coordinator.json +7 -0
  270. package/tests/fixtures/alibaba-maestro-routing/inputs/033-happy-ticket-triage-escalation-coordinator.json +7 -0
  271. package/tests/fixtures/alibaba-maestro-routing/inputs/034-happy-waf-cost-optimization-review.json +7 -0
  272. package/tests/fixtures/alibaba-maestro-routing/inputs/035-happy-waf-reliability-review.json +7 -0
  273. package/tests/fixtures/alibaba-maestro-routing/inputs/036-happy-waf-security-review.json +7 -0
  274. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-ambiguous.json +7 -0
  275. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  276. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-01-live-ack-rollout-guard.json +7 -0
  277. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-02-live-cost-budget-action-guard.json +7 -0
  278. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-03-live-kms-key-mutation-guard.json +7 -0
  279. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-04-live-oss-bucket-policy-guard.json +7 -0
  280. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-05-live-ram-policy-change-guard.json +7 -0
  281. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-liveguard-06-live-rds-polardb-mutation-guard.json +7 -0
  282. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  283. package/tests/fixtures/alibaba-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  284. package/tests/fixtures/alibaba-maestro-routing/taxonomy.json +480 -0
  285. package/tests/fixtures/aws-maestro-routing/expected/001-happy-agentcore.json +6 -0
  286. package/tests/fixtures/aws-maestro-routing/expected/002-happy-api-edge-delivery-review.json +6 -0
  287. package/tests/fixtures/aws-maestro-routing/expected/003-happy-bedrock-agent-security-governor.json +6 -0
  288. package/tests/fixtures/aws-maestro-routing/expected/004-happy-change-impact-advisor.json +6 -0
  289. package/tests/fixtures/aws-maestro-routing/expected/005-happy-ci-cd-release-engineer.json +6 -0
  290. package/tests/fixtures/aws-maestro-routing/expected/006-happy-compliance-evidence-mapper.json +6 -0
  291. package/tests/fixtures/aws-maestro-routing/expected/007-happy-cost-anomaly-watch-coordinator.json +6 -0
  292. package/tests/fixtures/aws-maestro-routing/expected/008-happy-cost-optimization-governor.json +6 -0
  293. package/tests/fixtures/aws-maestro-routing/expected/009-happy-daily-operations-briefing-coordinator.json +6 -0
  294. package/tests/fixtures/aws-maestro-routing/expected/010-happy-data-protection-backup-steward.json +6 -0
  295. package/tests/fixtures/aws-maestro-routing/expected/011-happy-deployment-hotfix-operator.json +6 -0
  296. package/tests/fixtures/aws-maestro-routing/expected/012-happy-devops-agent-skill-designer.json +6 -0
  297. package/tests/fixtures/aws-maestro-routing/expected/013-happy-dynamodb-data-modeling-performance-review.json +6 -0
  298. package/tests/fixtures/aws-maestro-routing/expected/014-happy-ec2-compute-operations-steward.json +6 -0
  299. package/tests/fixtures/aws-maestro-routing/expected/015-happy-ecs-fargate-platform-operator.json +6 -0
  300. package/tests/fixtures/aws-maestro-routing/expected/016-happy-ecs-service-remediation-operator.json +6 -0
  301. package/tests/fixtures/aws-maestro-routing/expected/017-happy-eks-platform-operator.json +6 -0
  302. package/tests/fixtures/aws-maestro-routing/expected/018-happy-event-driven-architecture-review.json +6 -0
  303. package/tests/fixtures/aws-maestro-routing/expected/019-happy-generative-ai-developer.json +6 -0
  304. package/tests/fixtures/aws-maestro-routing/expected/020-happy-iac-change-safety-review.json +6 -0
  305. package/tests/fixtures/aws-maestro-routing/expected/021-happy-iac-patch-executor.json +6 -0
  306. package/tests/fixtures/aws-maestro-routing/expected/022-happy-iam-least-privilege-review.json +6 -0
  307. package/tests/fixtures/aws-maestro-routing/expected/023-happy-kms-secrets-lifecycle-steward.json +6 -0
  308. package/tests/fixtures/aws-maestro-routing/expected/024-happy-landing-zone-governor.json +6 -0
  309. package/tests/fixtures/aws-maestro-routing/expected/025-happy-migration-cutover-architect.json +6 -0
  310. package/tests/fixtures/aws-maestro-routing/expected/026-happy-network-architect.json +6 -0
  311. package/tests/fixtures/aws-maestro-routing/expected/027-happy-non-destructive-task-automation-advisor.json +6 -0
  312. package/tests/fixtures/aws-maestro-routing/expected/028-happy-observability-incident-responder.json +6 -0
  313. package/tests/fixtures/aws-maestro-routing/expected/029-happy-pipeline-fix-operator.json +6 -0
  314. package/tests/fixtures/aws-maestro-routing/expected/030-happy-private-ca-issuer-review.json +6 -0
  315. package/tests/fixtures/aws-maestro-routing/expected/031-happy-rds-aurora-performance-investigator.json +6 -0
  316. package/tests/fixtures/aws-maestro-routing/expected/032-happy-resilience-bcdr-review.json +6 -0
  317. package/tests/fixtures/aws-maestro-routing/expected/033-happy-s3-data-perimeter-governor.json +6 -0
  318. package/tests/fixtures/aws-maestro-routing/expected/034-happy-security-posture-hardening.json +6 -0
  319. package/tests/fixtures/aws-maestro-routing/expected/035-happy-serverless-production-readiness.json +6 -0
  320. package/tests/fixtures/aws-maestro-routing/expected/036-happy-serverless-rollout-corrector.json +6 -0
  321. package/tests/fixtures/aws-maestro-routing/expected/037-happy-solution-architect.json +6 -0
  322. package/tests/fixtures/aws-maestro-routing/expected/038-happy-ticket-triage-escalation-coordinator.json +6 -0
  323. package/tests/fixtures/aws-maestro-routing/expected/039-happy-waf-cost-optimization-review.json +6 -0
  324. package/tests/fixtures/aws-maestro-routing/expected/040-happy-waf-reliability-review.json +6 -0
  325. package/tests/fixtures/aws-maestro-routing/expected/041-happy-waf-security-review.json +6 -0
  326. package/tests/fixtures/aws-maestro-routing/expected/adv-ambiguous.json +4 -0
  327. package/tests/fixtures/aws-maestro-routing/expected/adv-instruction-injection.json +6 -0
  328. package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-01-live-deployment-guarded-operator.json +6 -0
  329. package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-02-live-ecs-rollout-guard.json +6 -0
  330. package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-03-live-iac-change-guard.json +6 -0
  331. package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-04-live-pipeline-approval-operator.json +6 -0
  332. package/tests/fixtures/aws-maestro-routing/expected/adv-liveguard-05-live-serverless-release-guard.json +6 -0
  333. package/tests/fixtures/aws-maestro-routing/expected/adv-persona-replacement.json +6 -0
  334. package/tests/fixtures/aws-maestro-routing/expected/adv-secrets-bait.json +6 -0
  335. package/tests/fixtures/aws-maestro-routing/inputs/001-happy-agentcore.json +7 -0
  336. package/tests/fixtures/aws-maestro-routing/inputs/002-happy-api-edge-delivery-review.json +7 -0
  337. package/tests/fixtures/aws-maestro-routing/inputs/003-happy-bedrock-agent-security-governor.json +7 -0
  338. package/tests/fixtures/aws-maestro-routing/inputs/004-happy-change-impact-advisor.json +7 -0
  339. package/tests/fixtures/aws-maestro-routing/inputs/005-happy-ci-cd-release-engineer.json +7 -0
  340. package/tests/fixtures/aws-maestro-routing/inputs/006-happy-compliance-evidence-mapper.json +7 -0
  341. package/tests/fixtures/aws-maestro-routing/inputs/007-happy-cost-anomaly-watch-coordinator.json +7 -0
  342. package/tests/fixtures/aws-maestro-routing/inputs/008-happy-cost-optimization-governor.json +7 -0
  343. package/tests/fixtures/aws-maestro-routing/inputs/009-happy-daily-operations-briefing-coordinator.json +7 -0
  344. package/tests/fixtures/aws-maestro-routing/inputs/010-happy-data-protection-backup-steward.json +7 -0
  345. package/tests/fixtures/aws-maestro-routing/inputs/011-happy-deployment-hotfix-operator.json +7 -0
  346. package/tests/fixtures/aws-maestro-routing/inputs/012-happy-devops-agent-skill-designer.json +7 -0
  347. package/tests/fixtures/aws-maestro-routing/inputs/013-happy-dynamodb-data-modeling-performance-review.json +7 -0
  348. package/tests/fixtures/aws-maestro-routing/inputs/014-happy-ec2-compute-operations-steward.json +7 -0
  349. package/tests/fixtures/aws-maestro-routing/inputs/015-happy-ecs-fargate-platform-operator.json +7 -0
  350. package/tests/fixtures/aws-maestro-routing/inputs/016-happy-ecs-service-remediation-operator.json +7 -0
  351. package/tests/fixtures/aws-maestro-routing/inputs/017-happy-eks-platform-operator.json +7 -0
  352. package/tests/fixtures/aws-maestro-routing/inputs/018-happy-event-driven-architecture-review.json +7 -0
  353. package/tests/fixtures/aws-maestro-routing/inputs/019-happy-generative-ai-developer.json +7 -0
  354. package/tests/fixtures/aws-maestro-routing/inputs/020-happy-iac-change-safety-review.json +7 -0
  355. package/tests/fixtures/aws-maestro-routing/inputs/021-happy-iac-patch-executor.json +7 -0
  356. package/tests/fixtures/aws-maestro-routing/inputs/022-happy-iam-least-privilege-review.json +7 -0
  357. package/tests/fixtures/aws-maestro-routing/inputs/023-happy-kms-secrets-lifecycle-steward.json +7 -0
  358. package/tests/fixtures/aws-maestro-routing/inputs/024-happy-landing-zone-governor.json +7 -0
  359. package/tests/fixtures/aws-maestro-routing/inputs/025-happy-migration-cutover-architect.json +7 -0
  360. package/tests/fixtures/aws-maestro-routing/inputs/026-happy-network-architect.json +7 -0
  361. package/tests/fixtures/aws-maestro-routing/inputs/027-happy-non-destructive-task-automation-advisor.json +7 -0
  362. package/tests/fixtures/aws-maestro-routing/inputs/028-happy-observability-incident-responder.json +7 -0
  363. package/tests/fixtures/aws-maestro-routing/inputs/029-happy-pipeline-fix-operator.json +7 -0
  364. package/tests/fixtures/aws-maestro-routing/inputs/030-happy-private-ca-issuer-review.json +7 -0
  365. package/tests/fixtures/aws-maestro-routing/inputs/031-happy-rds-aurora-performance-investigator.json +7 -0
  366. package/tests/fixtures/aws-maestro-routing/inputs/032-happy-resilience-bcdr-review.json +7 -0
  367. package/tests/fixtures/aws-maestro-routing/inputs/033-happy-s3-data-perimeter-governor.json +7 -0
  368. package/tests/fixtures/aws-maestro-routing/inputs/034-happy-security-posture-hardening.json +7 -0
  369. package/tests/fixtures/aws-maestro-routing/inputs/035-happy-serverless-production-readiness.json +7 -0
  370. package/tests/fixtures/aws-maestro-routing/inputs/036-happy-serverless-rollout-corrector.json +7 -0
  371. package/tests/fixtures/aws-maestro-routing/inputs/037-happy-solution-architect.json +7 -0
  372. package/tests/fixtures/aws-maestro-routing/inputs/038-happy-ticket-triage-escalation-coordinator.json +7 -0
  373. package/tests/fixtures/aws-maestro-routing/inputs/039-happy-waf-cost-optimization-review.json +7 -0
  374. package/tests/fixtures/aws-maestro-routing/inputs/040-happy-waf-reliability-review.json +7 -0
  375. package/tests/fixtures/aws-maestro-routing/inputs/041-happy-waf-security-review.json +7 -0
  376. package/tests/fixtures/aws-maestro-routing/inputs/adv-ambiguous.json +7 -0
  377. package/tests/fixtures/aws-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  378. package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-01-live-deployment-guarded-operator.json +7 -0
  379. package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-02-live-ecs-rollout-guard.json +7 -0
  380. package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-03-live-iac-change-guard.json +7 -0
  381. package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-04-live-pipeline-approval-operator.json +7 -0
  382. package/tests/fixtures/aws-maestro-routing/inputs/adv-liveguard-05-live-serverless-release-guard.json +7 -0
  383. package/tests/fixtures/aws-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  384. package/tests/fixtures/aws-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  385. package/tests/fixtures/aws-maestro-routing/taxonomy.json +537 -0
  386. package/tests/fixtures/azure-maestro-routing/expected/001-happy-ai-foundry-ops-governor.json +6 -0
  387. package/tests/fixtures/azure-maestro-routing/expected/002-happy-aks-platform-operator.json +6 -0
  388. package/tests/fixtures/azure-maestro-routing/expected/003-happy-app-service-production-readiness.json +6 -0
  389. package/tests/fixtures/azure-maestro-routing/expected/004-happy-cosmosdb-application-developer.json +6 -0
  390. package/tests/fixtures/azure-maestro-routing/expected/005-happy-cosmosdb-performance-investigator.json +6 -0
  391. package/tests/fixtures/azure-maestro-routing/expected/006-happy-cosmosdb-platform-operator.json +6 -0
  392. package/tests/fixtures/azure-maestro-routing/expected/007-happy-cost-estimation-review.json +6 -0
  393. package/tests/fixtures/azure-maestro-routing/expected/008-happy-cost-optimization-governor.json +6 -0
  394. package/tests/fixtures/azure-maestro-routing/expected/009-happy-entra-id-specialist.json +6 -0
  395. package/tests/fixtures/azure-maestro-routing/expected/010-happy-identity-governance-review.json +6 -0
  396. package/tests/fixtures/azure-maestro-routing/expected/011-happy-key-vault-secret-lifecycle-auditor.json +6 -0
  397. package/tests/fixtures/azure-maestro-routing/expected/012-happy-keyvault-certificate-issuer-review.json +6 -0
  398. package/tests/fixtures/azure-maestro-routing/expected/013-happy-landing-zone-architect.json +6 -0
  399. package/tests/fixtures/azure-maestro-routing/expected/014-happy-migrate-landing-zone-cutover.json +6 -0
  400. package/tests/fixtures/azure-maestro-routing/expected/015-happy-network-topology-review.json +6 -0
  401. package/tests/fixtures/azure-maestro-routing/expected/016-happy-observability-investigator.json +6 -0
  402. package/tests/fixtures/azure-maestro-routing/expected/017-happy-platform-automation-devops.json +6 -0
  403. package/tests/fixtures/azure-maestro-routing/expected/018-happy-private-endpoint-adoption-planner.json +6 -0
  404. package/tests/fixtures/azure-maestro-routing/expected/019-happy-rbac-review.json +6 -0
  405. package/tests/fixtures/azure-maestro-routing/expected/020-happy-resilience-bcdr-review.json +6 -0
  406. package/tests/fixtures/azure-maestro-routing/expected/021-happy-resource-health-incident-triage.json +6 -0
  407. package/tests/fixtures/azure-maestro-routing/expected/022-happy-role-selector.json +6 -0
  408. package/tests/fixtures/azure-maestro-routing/expected/023-happy-security-posture-hardening.json +6 -0
  409. package/tests/fixtures/azure-maestro-routing/expected/024-happy-subscription-resource-organization.json +6 -0
  410. package/tests/fixtures/azure-maestro-routing/expected/025-happy-waf-cost-optimization-review.json +6 -0
  411. package/tests/fixtures/azure-maestro-routing/expected/026-happy-waf-reliability-review.json +6 -0
  412. package/tests/fixtures/azure-maestro-routing/expected/027-happy-waf-security-review.json +6 -0
  413. package/tests/fixtures/azure-maestro-routing/expected/adv-ambiguous.json +4 -0
  414. package/tests/fixtures/azure-maestro-routing/expected/adv-instruction-injection.json +6 -0
  415. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-01-governance-policy-guardrails.json +6 -0
  416. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-02-live-aks-rollout-guard.json +6 -0
  417. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-03-live-app-service-slot-swap-guard.json +6 -0
  418. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-04-live-arm-deployment-stack-guard.json +6 -0
  419. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-05-live-cost-budget-action-guard.json +6 -0
  420. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-06-live-entra-role-assignment-guard.json +6 -0
  421. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-07-live-keyvault-rotation-purge-guard.json +6 -0
  422. package/tests/fixtures/azure-maestro-routing/expected/adv-liveguard-08-live-pim-jit-activation-guard.json +6 -0
  423. package/tests/fixtures/azure-maestro-routing/expected/adv-persona-replacement.json +6 -0
  424. package/tests/fixtures/azure-maestro-routing/expected/adv-secrets-bait.json +8 -0
  425. package/tests/fixtures/azure-maestro-routing/inputs/001-happy-ai-foundry-ops-governor.json +7 -0
  426. package/tests/fixtures/azure-maestro-routing/inputs/002-happy-aks-platform-operator.json +7 -0
  427. package/tests/fixtures/azure-maestro-routing/inputs/003-happy-app-service-production-readiness.json +7 -0
  428. package/tests/fixtures/azure-maestro-routing/inputs/004-happy-cosmosdb-application-developer.json +7 -0
  429. package/tests/fixtures/azure-maestro-routing/inputs/005-happy-cosmosdb-performance-investigator.json +7 -0
  430. package/tests/fixtures/azure-maestro-routing/inputs/006-happy-cosmosdb-platform-operator.json +7 -0
  431. package/tests/fixtures/azure-maestro-routing/inputs/007-happy-cost-estimation-review.json +7 -0
  432. package/tests/fixtures/azure-maestro-routing/inputs/008-happy-cost-optimization-governor.json +7 -0
  433. package/tests/fixtures/azure-maestro-routing/inputs/009-happy-entra-id-specialist.json +7 -0
  434. package/tests/fixtures/azure-maestro-routing/inputs/010-happy-identity-governance-review.json +7 -0
  435. package/tests/fixtures/azure-maestro-routing/inputs/011-happy-key-vault-secret-lifecycle-auditor.json +7 -0
  436. package/tests/fixtures/azure-maestro-routing/inputs/012-happy-keyvault-certificate-issuer-review.json +7 -0
  437. package/tests/fixtures/azure-maestro-routing/inputs/013-happy-landing-zone-architect.json +7 -0
  438. package/tests/fixtures/azure-maestro-routing/inputs/014-happy-migrate-landing-zone-cutover.json +7 -0
  439. package/tests/fixtures/azure-maestro-routing/inputs/015-happy-network-topology-review.json +7 -0
  440. package/tests/fixtures/azure-maestro-routing/inputs/016-happy-observability-investigator.json +7 -0
  441. package/tests/fixtures/azure-maestro-routing/inputs/017-happy-platform-automation-devops.json +7 -0
  442. package/tests/fixtures/azure-maestro-routing/inputs/018-happy-private-endpoint-adoption-planner.json +7 -0
  443. package/tests/fixtures/azure-maestro-routing/inputs/019-happy-rbac-review.json +7 -0
  444. package/tests/fixtures/azure-maestro-routing/inputs/020-happy-resilience-bcdr-review.json +7 -0
  445. package/tests/fixtures/azure-maestro-routing/inputs/021-happy-resource-health-incident-triage.json +7 -0
  446. package/tests/fixtures/azure-maestro-routing/inputs/022-happy-role-selector.json +7 -0
  447. package/tests/fixtures/azure-maestro-routing/inputs/023-happy-security-posture-hardening.json +7 -0
  448. package/tests/fixtures/azure-maestro-routing/inputs/024-happy-subscription-resource-organization.json +7 -0
  449. package/tests/fixtures/azure-maestro-routing/inputs/025-happy-waf-cost-optimization-review.json +7 -0
  450. package/tests/fixtures/azure-maestro-routing/inputs/026-happy-waf-reliability-review.json +7 -0
  451. package/tests/fixtures/azure-maestro-routing/inputs/027-happy-waf-security-review.json +7 -0
  452. package/tests/fixtures/azure-maestro-routing/inputs/adv-ambiguous.json +7 -0
  453. package/tests/fixtures/azure-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  454. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-01-governance-policy-guardrails.json +7 -0
  455. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-02-live-aks-rollout-guard.json +7 -0
  456. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-03-live-app-service-slot-swap-guard.json +7 -0
  457. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-04-live-arm-deployment-stack-guard.json +7 -0
  458. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-05-live-cost-budget-action-guard.json +7 -0
  459. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-06-live-entra-role-assignment-guard.json +7 -0
  460. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-07-live-keyvault-rotation-purge-guard.json +7 -0
  461. package/tests/fixtures/azure-maestro-routing/inputs/adv-liveguard-08-live-pim-jit-activation-guard.json +7 -0
  462. package/tests/fixtures/azure-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  463. package/tests/fixtures/azure-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  464. package/tests/fixtures/azure-maestro-routing/taxonomy.json +351 -0
  465. package/tests/fixtures/contabo-maestro-routing/expected/001-happy-capacity-planner.json +6 -0
  466. package/tests/fixtures/contabo-maestro-routing/expected/002-happy-cost-optimization-analyst.json +6 -0
  467. package/tests/fixtures/contabo-maestro-routing/expected/003-happy-security-hardening.json +6 -0
  468. package/tests/fixtures/contabo-maestro-routing/expected/adv-ambiguous.json +4 -0
  469. package/tests/fixtures/contabo-maestro-routing/expected/adv-instruction-injection.json +6 -0
  470. package/tests/fixtures/contabo-maestro-routing/expected/adv-liveguard-01-live-instance-lifecycle-guard.json +6 -0
  471. package/tests/fixtures/contabo-maestro-routing/expected/adv-liveguard-02-live-storage-operations-guard.json +6 -0
  472. package/tests/fixtures/contabo-maestro-routing/expected/adv-persona-replacement.json +6 -0
  473. package/tests/fixtures/contabo-maestro-routing/expected/adv-secrets-bait.json +6 -0
  474. package/tests/fixtures/contabo-maestro-routing/inputs/001-happy-capacity-planner.json +7 -0
  475. package/tests/fixtures/contabo-maestro-routing/inputs/002-happy-cost-optimization-analyst.json +7 -0
  476. package/tests/fixtures/contabo-maestro-routing/inputs/003-happy-security-hardening.json +7 -0
  477. package/tests/fixtures/contabo-maestro-routing/inputs/adv-ambiguous.json +7 -0
  478. package/tests/fixtures/contabo-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  479. package/tests/fixtures/contabo-maestro-routing/inputs/adv-liveguard-01-live-instance-lifecycle-guard.json +7 -0
  480. package/tests/fixtures/contabo-maestro-routing/inputs/adv-liveguard-02-live-storage-operations-guard.json +7 -0
  481. package/tests/fixtures/contabo-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  482. package/tests/fixtures/contabo-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  483. package/tests/fixtures/contabo-maestro-routing/taxonomy.json +40 -0
  484. package/tests/fixtures/finops-cloud-price-advisor/expected/001-scaleway-instance-eu-fr.json +14 -0
  485. package/tests/fixtures/finops-cloud-price-advisor/expected/002-scaleway-storage-eu-nl.json +14 -0
  486. package/tests/fixtures/finops-cloud-price-advisor/expected/003-gandi-vps-no-key.json +16 -0
  487. package/tests/fixtures/finops-cloud-price-advisor/expected/004-gandi-cdn-with-key.json +17 -0
  488. package/tests/fixtures/finops-cloud-price-advisor/expected/005-alibaba-ecs-cny.json +16 -0
  489. package/tests/fixtures/finops-cloud-price-advisor/expected/006-alibaba-rds-ap-southeast.json +14 -0
  490. package/tests/fixtures/finops-cloud-price-advisor/expected/007-tencent-cvm-cny.json +16 -0
  491. package/tests/fixtures/finops-cloud-price-advisor/expected/008-tencent-db-ap-singapore.json +14 -0
  492. package/tests/fixtures/finops-cloud-price-advisor/expected/009-comparative-aws-vs-scaleway.json +14 -0
  493. package/tests/fixtures/finops-cloud-price-advisor/expected/010-comparative-azure-vs-alibaba.json +14 -0
  494. package/tests/fixtures/finops-cloud-price-advisor/expected/adv-001-gandi-key-storage-bait.json +14 -0
  495. package/tests/fixtures/finops-cloud-price-advisor/expected/adv-002-alibaba-credential-bait.json +15 -0
  496. package/tests/fixtures/finops-cloud-price-advisor/expected/adv-003-tencent-secretid-bait.json +14 -0
  497. package/tests/fixtures/finops-cloud-price-advisor/expected/adv-004-scrape-url-injection.json +15 -0
  498. package/tests/fixtures/finops-cloud-price-advisor/expected/adv-005-persona-replacement.json +15 -0
  499. package/tests/fixtures/finops-cloud-price-advisor/inputs/001-scaleway-instance-eu-fr.json +9 -0
  500. package/tests/fixtures/finops-cloud-price-advisor/inputs/002-scaleway-storage-eu-nl.json +9 -0
  501. package/tests/fixtures/finops-cloud-price-advisor/inputs/003-gandi-vps-no-key.json +10 -0
  502. package/tests/fixtures/finops-cloud-price-advisor/inputs/004-gandi-cdn-with-key.json +11 -0
  503. package/tests/fixtures/finops-cloud-price-advisor/inputs/005-alibaba-ecs-cny.json +9 -0
  504. package/tests/fixtures/finops-cloud-price-advisor/inputs/006-alibaba-rds-ap-southeast.json +9 -0
  505. package/tests/fixtures/finops-cloud-price-advisor/inputs/007-tencent-cvm-cny.json +9 -0
  506. package/tests/fixtures/finops-cloud-price-advisor/inputs/008-tencent-db-ap-singapore.json +9 -0
  507. package/tests/fixtures/finops-cloud-price-advisor/inputs/009-comparative-aws-vs-scaleway.json +10 -0
  508. package/tests/fixtures/finops-cloud-price-advisor/inputs/010-comparative-azure-vs-alibaba.json +10 -0
  509. package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-001-gandi-key-storage-bait.json +12 -0
  510. package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-002-alibaba-credential-bait.json +11 -0
  511. package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-003-tencent-secretid-bait.json +11 -0
  512. package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-004-scrape-url-injection.json +11 -0
  513. package/tests/fixtures/finops-cloud-price-advisor/inputs/adv-005-persona-replacement.json +11 -0
  514. package/tests/fixtures/finops-cloud-price-advisor/taxonomy.json +10 -0
  515. package/tests/fixtures/finops-maestro-routing/expected/001-happy-ai-economist.json +4 -0
  516. package/tests/fixtures/finops-maestro-routing/expected/002-happy-kubernetes-rightsizer.json +4 -0
  517. package/tests/fixtures/finops-maestro-routing/expected/003-happy-cloud-price-advisor.json +4 -0
  518. package/tests/fixtures/finops-maestro-routing/expected/004-parallel-ai-and-k8s.json +4 -0
  519. package/tests/fixtures/finops-maestro-routing/expected/005-parallel-k8s-and-price.json +4 -0
  520. package/tests/fixtures/finops-maestro-routing/expected/006-adversarial-instruction-injection.json +4 -0
  521. package/tests/fixtures/finops-maestro-routing/expected/007-adversarial-persona-replacement.json +4 -0
  522. package/tests/fixtures/finops-maestro-routing/expected/008-adversarial-secrets-bait.json +4 -0
  523. package/tests/fixtures/finops-maestro-routing/expected/009-ambiguous.json +4 -0
  524. package/tests/fixtures/finops-maestro-routing/inputs/001-happy-ai-economist.json +5 -0
  525. package/tests/fixtures/finops-maestro-routing/inputs/002-happy-kubernetes-rightsizer.json +5 -0
  526. package/tests/fixtures/finops-maestro-routing/inputs/003-happy-cloud-price-advisor.json +5 -0
  527. package/tests/fixtures/finops-maestro-routing/inputs/004-parallel-ai-and-k8s.json +5 -0
  528. package/tests/fixtures/finops-maestro-routing/inputs/005-parallel-k8s-and-price.json +5 -0
  529. package/tests/fixtures/finops-maestro-routing/inputs/006-adversarial-instruction-injection.json +5 -0
  530. package/tests/fixtures/finops-maestro-routing/inputs/007-adversarial-persona-replacement.json +5 -0
  531. package/tests/fixtures/finops-maestro-routing/inputs/008-adversarial-secrets-bait.json +5 -0
  532. package/tests/fixtures/finops-maestro-routing/inputs/009-ambiguous.json +5 -0
  533. package/tests/fixtures/finops-maestro-routing/taxonomy.json +144 -0
  534. package/tests/fixtures/gcp-maestro-routing/expected/001-happy-alloydb-ai-developer.json +6 -0
  535. package/tests/fixtures/gcp-maestro-routing/expected/002-happy-alloydb-cloudsql-dba.json +6 -0
  536. package/tests/fixtures/gcp-maestro-routing/expected/003-happy-anthos-multicloud-architect.json +6 -0
  537. package/tests/fixtures/gcp-maestro-routing/expected/004-happy-apigee-api-platform-operator.json +6 -0
  538. package/tests/fixtures/gcp-maestro-routing/expected/005-happy-bigquery-cost-performance-analyst.json +6 -0
  539. package/tests/fixtures/gcp-maestro-routing/expected/006-happy-certificate-manager-issuer-review.json +6 -0
  540. package/tests/fixtures/gcp-maestro-routing/expected/007-happy-change-impact-advisor.json +6 -0
  541. package/tests/fixtures/gcp-maestro-routing/expected/008-happy-cloud-auth-advisor.json +6 -0
  542. package/tests/fixtures/gcp-maestro-routing/expected/009-happy-cloud-run-functions-operator.json +6 -0
  543. package/tests/fixtures/gcp-maestro-routing/expected/010-happy-cloudbuild-deploy-cicd-operator.json +6 -0
  544. package/tests/fixtures/gcp-maestro-routing/expected/011-happy-compliance-assured-workloads.json +6 -0
  545. package/tests/fixtures/gcp-maestro-routing/expected/012-happy-compute-engine-operator.json +6 -0
  546. package/tests/fixtures/gcp-maestro-routing/expected/013-happy-cost-anomaly-watch-coordinator.json +6 -0
  547. package/tests/fixtures/gcp-maestro-routing/expected/014-happy-cost-finops-analyst.json +6 -0
  548. package/tests/fixtures/gcp-maestro-routing/expected/015-happy-daily-operations-briefing-coordinator.json +6 -0
  549. package/tests/fixtures/gcp-maestro-routing/expected/016-happy-data-pipeline-engineer.json +6 -0
  550. package/tests/fixtures/gcp-maestro-routing/expected/017-happy-event-driven-architecture-review.json +6 -0
  551. package/tests/fixtures/gcp-maestro-routing/expected/018-happy-firebase-developer.json +6 -0
  552. package/tests/fixtures/gcp-maestro-routing/expected/019-happy-gcs-data-perimeter-governor.json +6 -0
  553. package/tests/fixtures/gcp-maestro-routing/expected/020-happy-gemini-api-developer.json +6 -0
  554. package/tests/fixtures/gcp-maestro-routing/expected/021-happy-gke-platform-operator.json +6 -0
  555. package/tests/fixtures/gcp-maestro-routing/expected/022-happy-iac-change-safety-review.json +6 -0
  556. package/tests/fixtures/gcp-maestro-routing/expected/023-happy-iam-least-privilege-review.json +6 -0
  557. package/tests/fixtures/gcp-maestro-routing/expected/024-happy-landing-zone-architect.json +6 -0
  558. package/tests/fixtures/gcp-maestro-routing/expected/025-happy-load-balancer-traffic-engineer.json +6 -0
  559. package/tests/fixtures/gcp-maestro-routing/expected/026-happy-migration-cutover-architect.json +6 -0
  560. package/tests/fixtures/gcp-maestro-routing/expected/027-happy-network-architect.json +6 -0
  561. package/tests/fixtures/gcp-maestro-routing/expected/028-happy-networking-observability.json +6 -0
  562. package/tests/fixtures/gcp-maestro-routing/expected/029-happy-observability-incident-responder.json +6 -0
  563. package/tests/fixtures/gcp-maestro-routing/expected/030-happy-registry-artifact-governor.json +6 -0
  564. package/tests/fixtures/gcp-maestro-routing/expected/031-happy-resilience-bcdr-review.json +6 -0
  565. package/tests/fixtures/gcp-maestro-routing/expected/032-happy-resource-inventory-analyst.json +6 -0
  566. package/tests/fixtures/gcp-maestro-routing/expected/033-happy-secret-kms-lifecycle-steward.json +6 -0
  567. package/tests/fixtures/gcp-maestro-routing/expected/034-happy-security-posture-hardening.json +6 -0
  568. package/tests/fixtures/gcp-maestro-routing/expected/035-happy-serverless-production-readiness.json +6 -0
  569. package/tests/fixtures/gcp-maestro-routing/expected/036-happy-solution-architect.json +6 -0
  570. package/tests/fixtures/gcp-maestro-routing/expected/037-happy-spanner-architect.json +6 -0
  571. package/tests/fixtures/gcp-maestro-routing/expected/038-happy-support-incident-coordinator.json +6 -0
  572. package/tests/fixtures/gcp-maestro-routing/expected/039-happy-ticket-triage-escalation-coordinator.json +6 -0
  573. package/tests/fixtures/gcp-maestro-routing/expected/040-happy-vertex-ai-mlops-engineer.json +6 -0
  574. package/tests/fixtures/gcp-maestro-routing/expected/041-happy-vpc-service-controls-architect.json +6 -0
  575. package/tests/fixtures/gcp-maestro-routing/expected/042-happy-waf-cost-optimization-review.json +6 -0
  576. package/tests/fixtures/gcp-maestro-routing/expected/043-happy-waf-reliability-review.json +6 -0
  577. package/tests/fixtures/gcp-maestro-routing/expected/044-happy-waf-security-review.json +6 -0
  578. package/tests/fixtures/gcp-maestro-routing/expected/adv-ambiguous.json +4 -0
  579. package/tests/fixtures/gcp-maestro-routing/expected/adv-instruction-injection.json +6 -0
  580. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-01-live-bigquery-dataset-deletion-guard.json +6 -0
  581. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-02-live-cloud-run-traffic-migration-guard.json +6 -0
  582. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-03-live-cost-budget-action-guard.json +6 -0
  583. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-04-live-gke-rollout-guard.json +6 -0
  584. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-05-live-iam-policy-change-guard.json +6 -0
  585. package/tests/fixtures/gcp-maestro-routing/expected/adv-liveguard-06-live-kms-key-destruction-guard.json +6 -0
  586. package/tests/fixtures/gcp-maestro-routing/expected/adv-persona-replacement.json +6 -0
  587. package/tests/fixtures/gcp-maestro-routing/expected/adv-secrets-bait.json +8 -0
  588. package/tests/fixtures/gcp-maestro-routing/inputs/001-happy-alloydb-ai-developer.json +7 -0
  589. package/tests/fixtures/gcp-maestro-routing/inputs/002-happy-alloydb-cloudsql-dba.json +7 -0
  590. package/tests/fixtures/gcp-maestro-routing/inputs/003-happy-anthos-multicloud-architect.json +7 -0
  591. package/tests/fixtures/gcp-maestro-routing/inputs/004-happy-apigee-api-platform-operator.json +7 -0
  592. package/tests/fixtures/gcp-maestro-routing/inputs/005-happy-bigquery-cost-performance-analyst.json +7 -0
  593. package/tests/fixtures/gcp-maestro-routing/inputs/006-happy-certificate-manager-issuer-review.json +7 -0
  594. package/tests/fixtures/gcp-maestro-routing/inputs/007-happy-change-impact-advisor.json +7 -0
  595. package/tests/fixtures/gcp-maestro-routing/inputs/008-happy-cloud-auth-advisor.json +7 -0
  596. package/tests/fixtures/gcp-maestro-routing/inputs/009-happy-cloud-run-functions-operator.json +7 -0
  597. package/tests/fixtures/gcp-maestro-routing/inputs/010-happy-cloudbuild-deploy-cicd-operator.json +7 -0
  598. package/tests/fixtures/gcp-maestro-routing/inputs/011-happy-compliance-assured-workloads.json +7 -0
  599. package/tests/fixtures/gcp-maestro-routing/inputs/012-happy-compute-engine-operator.json +7 -0
  600. package/tests/fixtures/gcp-maestro-routing/inputs/013-happy-cost-anomaly-watch-coordinator.json +7 -0
  601. package/tests/fixtures/gcp-maestro-routing/inputs/014-happy-cost-finops-analyst.json +7 -0
  602. package/tests/fixtures/gcp-maestro-routing/inputs/015-happy-daily-operations-briefing-coordinator.json +7 -0
  603. package/tests/fixtures/gcp-maestro-routing/inputs/016-happy-data-pipeline-engineer.json +7 -0
  604. package/tests/fixtures/gcp-maestro-routing/inputs/017-happy-event-driven-architecture-review.json +7 -0
  605. package/tests/fixtures/gcp-maestro-routing/inputs/018-happy-firebase-developer.json +7 -0
  606. package/tests/fixtures/gcp-maestro-routing/inputs/019-happy-gcs-data-perimeter-governor.json +7 -0
  607. package/tests/fixtures/gcp-maestro-routing/inputs/020-happy-gemini-api-developer.json +7 -0
  608. package/tests/fixtures/gcp-maestro-routing/inputs/021-happy-gke-platform-operator.json +7 -0
  609. package/tests/fixtures/gcp-maestro-routing/inputs/022-happy-iac-change-safety-review.json +7 -0
  610. package/tests/fixtures/gcp-maestro-routing/inputs/023-happy-iam-least-privilege-review.json +7 -0
  611. package/tests/fixtures/gcp-maestro-routing/inputs/024-happy-landing-zone-architect.json +7 -0
  612. package/tests/fixtures/gcp-maestro-routing/inputs/025-happy-load-balancer-traffic-engineer.json +7 -0
  613. package/tests/fixtures/gcp-maestro-routing/inputs/026-happy-migration-cutover-architect.json +7 -0
  614. package/tests/fixtures/gcp-maestro-routing/inputs/027-happy-network-architect.json +7 -0
  615. package/tests/fixtures/gcp-maestro-routing/inputs/028-happy-networking-observability.json +7 -0
  616. package/tests/fixtures/gcp-maestro-routing/inputs/029-happy-observability-incident-responder.json +7 -0
  617. package/tests/fixtures/gcp-maestro-routing/inputs/030-happy-registry-artifact-governor.json +7 -0
  618. package/tests/fixtures/gcp-maestro-routing/inputs/031-happy-resilience-bcdr-review.json +7 -0
  619. package/tests/fixtures/gcp-maestro-routing/inputs/032-happy-resource-inventory-analyst.json +7 -0
  620. package/tests/fixtures/gcp-maestro-routing/inputs/033-happy-secret-kms-lifecycle-steward.json +7 -0
  621. package/tests/fixtures/gcp-maestro-routing/inputs/034-happy-security-posture-hardening.json +7 -0
  622. package/tests/fixtures/gcp-maestro-routing/inputs/035-happy-serverless-production-readiness.json +7 -0
  623. package/tests/fixtures/gcp-maestro-routing/inputs/036-happy-solution-architect.json +7 -0
  624. package/tests/fixtures/gcp-maestro-routing/inputs/037-happy-spanner-architect.json +7 -0
  625. package/tests/fixtures/gcp-maestro-routing/inputs/038-happy-support-incident-coordinator.json +7 -0
  626. package/tests/fixtures/gcp-maestro-routing/inputs/039-happy-ticket-triage-escalation-coordinator.json +7 -0
  627. package/tests/fixtures/gcp-maestro-routing/inputs/040-happy-vertex-ai-mlops-engineer.json +7 -0
  628. package/tests/fixtures/gcp-maestro-routing/inputs/041-happy-vpc-service-controls-architect.json +7 -0
  629. package/tests/fixtures/gcp-maestro-routing/inputs/042-happy-waf-cost-optimization-review.json +7 -0
  630. package/tests/fixtures/gcp-maestro-routing/inputs/043-happy-waf-reliability-review.json +7 -0
  631. package/tests/fixtures/gcp-maestro-routing/inputs/044-happy-waf-security-review.json +7 -0
  632. package/tests/fixtures/gcp-maestro-routing/inputs/adv-ambiguous.json +7 -0
  633. package/tests/fixtures/gcp-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  634. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-01-live-bigquery-dataset-deletion-guard.json +7 -0
  635. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-02-live-cloud-run-traffic-migration-guard.json +7 -0
  636. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-03-live-cost-budget-action-guard.json +7 -0
  637. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-04-live-gke-rollout-guard.json +7 -0
  638. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-05-live-iam-policy-change-guard.json +7 -0
  639. package/tests/fixtures/gcp-maestro-routing/inputs/adv-liveguard-06-live-kms-key-destruction-guard.json +7 -0
  640. package/tests/fixtures/gcp-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  641. package/tests/fixtures/gcp-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  642. package/tests/fixtures/gcp-maestro-routing/taxonomy.json +562 -0
  643. package/tests/fixtures/hetzner-maestro-routing/expected/001-happy-capacity-planner.json +6 -0
  644. package/tests/fixtures/hetzner-maestro-routing/expected/002-happy-cost-optimization-analyst.json +6 -0
  645. package/tests/fixtures/hetzner-maestro-routing/expected/003-happy-infrastructure-reviewer.json +6 -0
  646. package/tests/fixtures/hetzner-maestro-routing/expected/adv-ambiguous.json +4 -0
  647. package/tests/fixtures/hetzner-maestro-routing/expected/adv-instruction-injection.json +6 -0
  648. package/tests/fixtures/hetzner-maestro-routing/expected/adv-liveguard-01-live-firewall-rule-guard.json +6 -0
  649. package/tests/fixtures/hetzner-maestro-routing/expected/adv-liveguard-02-live-server-lifecycle-guard.json +6 -0
  650. package/tests/fixtures/hetzner-maestro-routing/expected/adv-persona-replacement.json +6 -0
  651. package/tests/fixtures/hetzner-maestro-routing/expected/adv-secrets-bait.json +6 -0
  652. package/tests/fixtures/hetzner-maestro-routing/inputs/001-happy-capacity-planner.json +7 -0
  653. package/tests/fixtures/hetzner-maestro-routing/inputs/002-happy-cost-optimization-analyst.json +7 -0
  654. package/tests/fixtures/hetzner-maestro-routing/inputs/003-happy-infrastructure-reviewer.json +7 -0
  655. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-ambiguous.json +7 -0
  656. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  657. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-liveguard-01-live-firewall-rule-guard.json +7 -0
  658. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-liveguard-02-live-server-lifecycle-guard.json +7 -0
  659. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  660. package/tests/fixtures/hetzner-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  661. package/tests/fixtures/hetzner-maestro-routing/taxonomy.json +40 -0
  662. package/tests/fixtures/huawei-maestro-routing/expected/001-happy-cce-container-platform-operator.json +6 -0
  663. package/tests/fixtures/huawei-maestro-routing/expected/002-happy-certificate-manager-issuer-review.json +6 -0
  664. package/tests/fixtures/huawei-maestro-routing/expected/003-happy-change-impact-advisor.json +6 -0
  665. package/tests/fixtures/huawei-maestro-routing/expected/004-happy-codearts-devops-operator.json +6 -0
  666. package/tests/fixtures/huawei-maestro-routing/expected/005-happy-compliance-sovereignty.json +6 -0
  667. package/tests/fixtures/huawei-maestro-routing/expected/006-happy-cost-anomaly-watch-coordinator.json +6 -0
  668. package/tests/fixtures/huawei-maestro-routing/expected/007-happy-cost-finops-analyst.json +6 -0
  669. package/tests/fixtures/huawei-maestro-routing/expected/008-happy-daily-operations-briefing-coordinator.json +6 -0
  670. package/tests/fixtures/huawei-maestro-routing/expected/009-happy-dew-kms-lifecycle-steward.json +6 -0
  671. package/tests/fixtures/huawei-maestro-routing/expected/010-happy-drs-data-replication-operator.json +6 -0
  672. package/tests/fixtures/huawei-maestro-routing/expected/011-happy-dws-dli-data-analyst.json +6 -0
  673. package/tests/fixtures/huawei-maestro-routing/expected/012-happy-ecs-compute-operator.json +6 -0
  674. package/tests/fixtures/huawei-maestro-routing/expected/013-happy-event-driven-architecture-review.json +6 -0
  675. package/tests/fixtures/huawei-maestro-routing/expected/014-happy-functiongraph-serverless-operator.json +6 -0
  676. package/tests/fixtures/huawei-maestro-routing/expected/015-happy-gaussdb-rds-dba.json +6 -0
  677. package/tests/fixtures/huawei-maestro-routing/expected/016-happy-iac-change-safety-review.json +6 -0
  678. package/tests/fixtures/huawei-maestro-routing/expected/017-happy-iam-least-privilege-review.json +6 -0
  679. package/tests/fixtures/huawei-maestro-routing/expected/018-happy-ief-edge-computing-operator.json +6 -0
  680. package/tests/fixtures/huawei-maestro-routing/expected/019-happy-landing-zone-architect.json +6 -0
  681. package/tests/fixtures/huawei-maestro-routing/expected/020-happy-load-balancer-traffic-engineer.json +6 -0
  682. package/tests/fixtures/huawei-maestro-routing/expected/021-happy-migration-architect.json +6 -0
  683. package/tests/fixtures/huawei-maestro-routing/expected/022-happy-modelarts-mlops-engineer.json +6 -0
  684. package/tests/fixtures/huawei-maestro-routing/expected/023-happy-network-architect.json +6 -0
  685. package/tests/fixtures/huawei-maestro-routing/expected/024-happy-obs-data-perimeter-governor.json +6 -0
  686. package/tests/fixtures/huawei-maestro-routing/expected/025-happy-obs-storage-steward.json +6 -0
  687. package/tests/fixtures/huawei-maestro-routing/expected/026-happy-observability-incident-responder.json +6 -0
  688. package/tests/fixtures/huawei-maestro-routing/expected/027-happy-registry-artifact-governor.json +6 -0
  689. package/tests/fixtures/huawei-maestro-routing/expected/028-happy-resilience-bcdr-review.json +6 -0
  690. package/tests/fixtures/huawei-maestro-routing/expected/029-happy-secmaster-security-operations.json +6 -0
  691. package/tests/fixtures/huawei-maestro-routing/expected/030-happy-serverless-production-readiness.json +6 -0
  692. package/tests/fixtures/huawei-maestro-routing/expected/031-happy-solution-architect.json +6 -0
  693. package/tests/fixtures/huawei-maestro-routing/expected/032-happy-support-incident-coordinator.json +6 -0
  694. package/tests/fixtures/huawei-maestro-routing/expected/033-happy-ticket-triage-escalation-coordinator.json +6 -0
  695. package/tests/fixtures/huawei-maestro-routing/expected/034-happy-waf-cost-optimization-review.json +6 -0
  696. package/tests/fixtures/huawei-maestro-routing/expected/035-happy-waf-reliability-review.json +6 -0
  697. package/tests/fixtures/huawei-maestro-routing/expected/036-happy-waf-security-review.json +8 -0
  698. package/tests/fixtures/huawei-maestro-routing/expected/adv-ambiguous.json +4 -0
  699. package/tests/fixtures/huawei-maestro-routing/expected/adv-instruction-injection.json +6 -0
  700. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-01-live-cce-rollout-guard.json +6 -0
  701. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-02-live-cost-budget-action-guard.json +6 -0
  702. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-03-live-gaussdb-mutation-guard.json +6 -0
  703. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-04-live-iam-policy-change-guard.json +6 -0
  704. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-05-live-kms-key-destruction-guard.json +6 -0
  705. package/tests/fixtures/huawei-maestro-routing/expected/adv-liveguard-06-live-obs-bucket-policy-guard.json +6 -0
  706. package/tests/fixtures/huawei-maestro-routing/expected/adv-persona-replacement.json +6 -0
  707. package/tests/fixtures/huawei-maestro-routing/expected/adv-secrets-bait.json +6 -0
  708. package/tests/fixtures/huawei-maestro-routing/inputs/001-happy-cce-container-platform-operator.json +7 -0
  709. package/tests/fixtures/huawei-maestro-routing/inputs/002-happy-certificate-manager-issuer-review.json +7 -0
  710. package/tests/fixtures/huawei-maestro-routing/inputs/003-happy-change-impact-advisor.json +7 -0
  711. package/tests/fixtures/huawei-maestro-routing/inputs/004-happy-codearts-devops-operator.json +7 -0
  712. package/tests/fixtures/huawei-maestro-routing/inputs/005-happy-compliance-sovereignty.json +7 -0
  713. package/tests/fixtures/huawei-maestro-routing/inputs/006-happy-cost-anomaly-watch-coordinator.json +7 -0
  714. package/tests/fixtures/huawei-maestro-routing/inputs/007-happy-cost-finops-analyst.json +7 -0
  715. package/tests/fixtures/huawei-maestro-routing/inputs/008-happy-daily-operations-briefing-coordinator.json +7 -0
  716. package/tests/fixtures/huawei-maestro-routing/inputs/009-happy-dew-kms-lifecycle-steward.json +7 -0
  717. package/tests/fixtures/huawei-maestro-routing/inputs/010-happy-drs-data-replication-operator.json +7 -0
  718. package/tests/fixtures/huawei-maestro-routing/inputs/011-happy-dws-dli-data-analyst.json +7 -0
  719. package/tests/fixtures/huawei-maestro-routing/inputs/012-happy-ecs-compute-operator.json +7 -0
  720. package/tests/fixtures/huawei-maestro-routing/inputs/013-happy-event-driven-architecture-review.json +7 -0
  721. package/tests/fixtures/huawei-maestro-routing/inputs/014-happy-functiongraph-serverless-operator.json +7 -0
  722. package/tests/fixtures/huawei-maestro-routing/inputs/015-happy-gaussdb-rds-dba.json +7 -0
  723. package/tests/fixtures/huawei-maestro-routing/inputs/016-happy-iac-change-safety-review.json +7 -0
  724. package/tests/fixtures/huawei-maestro-routing/inputs/017-happy-iam-least-privilege-review.json +7 -0
  725. package/tests/fixtures/huawei-maestro-routing/inputs/018-happy-ief-edge-computing-operator.json +7 -0
  726. package/tests/fixtures/huawei-maestro-routing/inputs/019-happy-landing-zone-architect.json +7 -0
  727. package/tests/fixtures/huawei-maestro-routing/inputs/020-happy-load-balancer-traffic-engineer.json +7 -0
  728. package/tests/fixtures/huawei-maestro-routing/inputs/021-happy-migration-architect.json +7 -0
  729. package/tests/fixtures/huawei-maestro-routing/inputs/022-happy-modelarts-mlops-engineer.json +7 -0
  730. package/tests/fixtures/huawei-maestro-routing/inputs/023-happy-network-architect.json +7 -0
  731. package/tests/fixtures/huawei-maestro-routing/inputs/024-happy-obs-data-perimeter-governor.json +7 -0
  732. package/tests/fixtures/huawei-maestro-routing/inputs/025-happy-obs-storage-steward.json +7 -0
  733. package/tests/fixtures/huawei-maestro-routing/inputs/026-happy-observability-incident-responder.json +7 -0
  734. package/tests/fixtures/huawei-maestro-routing/inputs/027-happy-registry-artifact-governor.json +7 -0
  735. package/tests/fixtures/huawei-maestro-routing/inputs/028-happy-resilience-bcdr-review.json +7 -0
  736. package/tests/fixtures/huawei-maestro-routing/inputs/029-happy-secmaster-security-operations.json +7 -0
  737. package/tests/fixtures/huawei-maestro-routing/inputs/030-happy-serverless-production-readiness.json +7 -0
  738. package/tests/fixtures/huawei-maestro-routing/inputs/031-happy-solution-architect.json +7 -0
  739. package/tests/fixtures/huawei-maestro-routing/inputs/032-happy-support-incident-coordinator.json +7 -0
  740. package/tests/fixtures/huawei-maestro-routing/inputs/033-happy-ticket-triage-escalation-coordinator.json +7 -0
  741. package/tests/fixtures/huawei-maestro-routing/inputs/034-happy-waf-cost-optimization-review.json +7 -0
  742. package/tests/fixtures/huawei-maestro-routing/inputs/035-happy-waf-reliability-review.json +7 -0
  743. package/tests/fixtures/huawei-maestro-routing/inputs/036-happy-waf-security-review.json +7 -0
  744. package/tests/fixtures/huawei-maestro-routing/inputs/adv-ambiguous.json +7 -0
  745. package/tests/fixtures/huawei-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  746. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-01-live-cce-rollout-guard.json +7 -0
  747. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-02-live-cost-budget-action-guard.json +7 -0
  748. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-03-live-gaussdb-mutation-guard.json +7 -0
  749. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-04-live-iam-policy-change-guard.json +7 -0
  750. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-05-live-kms-key-destruction-guard.json +7 -0
  751. package/tests/fixtures/huawei-maestro-routing/inputs/adv-liveguard-06-live-obs-bucket-policy-guard.json +7 -0
  752. package/tests/fixtures/huawei-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  753. package/tests/fixtures/huawei-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  754. package/tests/fixtures/huawei-maestro-routing/taxonomy.json +472 -0
  755. package/tests/fixtures/ionos-maestro-routing/expected/001-happy-cost-optimization-analyst.json +6 -0
  756. package/tests/fixtures/ionos-maestro-routing/expected/002-happy-datacenter-designer-reviewer.json +6 -0
  757. package/tests/fixtures/ionos-maestro-routing/expected/003-happy-kubernetes-platform-operator.json +6 -0
  758. package/tests/fixtures/ionos-maestro-routing/expected/004-happy-security-compliance-reviewer.json +6 -0
  759. package/tests/fixtures/ionos-maestro-routing/expected/adv-ambiguous.json +4 -0
  760. package/tests/fixtures/ionos-maestro-routing/expected/adv-instruction-injection.json +6 -0
  761. package/tests/fixtures/ionos-maestro-routing/expected/adv-liveguard-01-live-database-lifecycle-guard.json +6 -0
  762. package/tests/fixtures/ionos-maestro-routing/expected/adv-persona-replacement.json +6 -0
  763. package/tests/fixtures/ionos-maestro-routing/expected/adv-secrets-bait.json +6 -0
  764. package/tests/fixtures/ionos-maestro-routing/inputs/001-happy-cost-optimization-analyst.json +7 -0
  765. package/tests/fixtures/ionos-maestro-routing/inputs/002-happy-datacenter-designer-reviewer.json +7 -0
  766. package/tests/fixtures/ionos-maestro-routing/inputs/003-happy-kubernetes-platform-operator.json +7 -0
  767. package/tests/fixtures/ionos-maestro-routing/inputs/004-happy-security-compliance-reviewer.json +7 -0
  768. package/tests/fixtures/ionos-maestro-routing/inputs/adv-ambiguous.json +7 -0
  769. package/tests/fixtures/ionos-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  770. package/tests/fixtures/ionos-maestro-routing/inputs/adv-liveguard-01-live-database-lifecycle-guard.json +7 -0
  771. package/tests/fixtures/ionos-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  772. package/tests/fixtures/ionos-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  773. package/tests/fixtures/ionos-maestro-routing/taxonomy.json +48 -0
  774. package/tests/fixtures/kubernetes-maestro-routing/expected/001-happy-external-secrets-operator-review.json +6 -0
  775. package/tests/fixtures/kubernetes-maestro-routing/expected/002-happy-kubecost-chargeback-allocation-review.json +6 -0
  776. package/tests/fixtures/kubernetes-maestro-routing/expected/003-happy-network-architecture-review.json +6 -0
  777. package/tests/fixtures/kubernetes-maestro-routing/expected/004-happy-pod-spec-review.json +6 -0
  778. package/tests/fixtures/kubernetes-maestro-routing/expected/005-happy-psa-review.json +6 -0
  779. package/tests/fixtures/kubernetes-maestro-routing/expected/006-happy-rbac-review.json +6 -0
  780. package/tests/fixtures/kubernetes-maestro-routing/expected/007-happy-workload-identity-review.json +6 -0
  781. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-ambiguous.json +4 -0
  782. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-instruction-injection.json +6 -0
  783. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-01-live-admission-policy-guard.json +6 -0
  784. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-02-live-argocd-sync-guard.json +6 -0
  785. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-03-live-mesh-policy-guard.json +6 -0
  786. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-04-live-network-architecture-mutation-guard.json +6 -0
  787. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-05-live-network-policy-guard.json +6 -0
  788. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-06-live-rbac-mutation-guard.json +6 -0
  789. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-liveguard-07-live-velero-restore-guard.json +6 -0
  790. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-persona-replacement.json +6 -0
  791. package/tests/fixtures/kubernetes-maestro-routing/expected/adv-secrets-bait.json +6 -0
  792. package/tests/fixtures/kubernetes-maestro-routing/inputs/001-happy-external-secrets-operator-review.json +7 -0
  793. package/tests/fixtures/kubernetes-maestro-routing/inputs/002-happy-kubecost-chargeback-allocation-review.json +7 -0
  794. package/tests/fixtures/kubernetes-maestro-routing/inputs/003-happy-network-architecture-review.json +7 -0
  795. package/tests/fixtures/kubernetes-maestro-routing/inputs/004-happy-pod-spec-review.json +7 -0
  796. package/tests/fixtures/kubernetes-maestro-routing/inputs/005-happy-psa-review.json +7 -0
  797. package/tests/fixtures/kubernetes-maestro-routing/inputs/006-happy-rbac-review.json +7 -0
  798. package/tests/fixtures/kubernetes-maestro-routing/inputs/007-happy-workload-identity-review.json +7 -0
  799. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-ambiguous.json +7 -0
  800. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  801. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-01-live-admission-policy-guard.json +7 -0
  802. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-02-live-argocd-sync-guard.json +7 -0
  803. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-03-live-mesh-policy-guard.json +7 -0
  804. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-04-live-network-architecture-mutation-guard.json +7 -0
  805. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-05-live-network-policy-guard.json +7 -0
  806. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-06-live-rbac-mutation-guard.json +7 -0
  807. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-liveguard-07-live-velero-restore-guard.json +7 -0
  808. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  809. package/tests/fixtures/kubernetes-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  810. package/tests/fixtures/kubernetes-maestro-routing/taxonomy.json +98 -0
  811. package/tests/fixtures/marketing-maestro-routing/expected/001-happy-ai-advertising-targeting-fairness-review.json +6 -0
  812. package/tests/fixtures/marketing-maestro-routing/expected/002-happy-analytics-data-minimization-review.json +6 -0
  813. package/tests/fixtures/marketing-maestro-routing/expected/003-happy-consent-data-collection-review.json +6 -0
  814. package/tests/fixtures/marketing-maestro-routing/expected/004-happy-conversion-flow-dark-pattern-review.json +6 -0
  815. package/tests/fixtures/marketing-maestro-routing/expected/005-happy-email-list-retention-review.json +6 -0
  816. package/tests/fixtures/marketing-maestro-routing/expected/006-happy-email-sender-authentication-review.json +6 -0
  817. package/tests/fixtures/marketing-maestro-routing/expected/007-happy-eu-ai-act-marketing-system-review.json +6 -0
  818. package/tests/fixtures/marketing-maestro-routing/expected/008-happy-gpc-signal-honoring-review.json +6 -0
  819. package/tests/fixtures/marketing-maestro-routing/expected/009-happy-influencer-disclosure-compliance-review.json +6 -0
  820. package/tests/fixtures/marketing-maestro-routing/expected/010-happy-lookalike-audience-upload-compliance-review.json +6 -0
  821. package/tests/fixtures/marketing-maestro-routing/expected/011-happy-martech-access-governance-review.json +6 -0
  822. package/tests/fixtures/marketing-maestro-routing/expected/012-happy-pixel-data-leakage-review.json +6 -0
  823. package/tests/fixtures/marketing-maestro-routing/expected/013-happy-programmatic-supply-chain-integrity-review.json +6 -0
  824. package/tests/fixtures/marketing-maestro-routing/expected/adv-ambiguous.json +4 -0
  825. package/tests/fixtures/marketing-maestro-routing/expected/adv-instruction-injection.json +7 -0
  826. package/tests/fixtures/marketing-maestro-routing/expected/adv-live-guard-gate.json +4 -0
  827. package/tests/fixtures/marketing-maestro-routing/expected/adv-persona-replacement.json +6 -0
  828. package/tests/fixtures/marketing-maestro-routing/expected/adv-secrets-bait.json +7 -0
  829. package/tests/fixtures/marketing-maestro-routing/inputs/001-happy-ai-advertising-targeting-fairness-review.json +7 -0
  830. package/tests/fixtures/marketing-maestro-routing/inputs/002-happy-analytics-data-minimization-review.json +7 -0
  831. package/tests/fixtures/marketing-maestro-routing/inputs/003-happy-consent-data-collection-review.json +7 -0
  832. package/tests/fixtures/marketing-maestro-routing/inputs/004-happy-conversion-flow-dark-pattern-review.json +7 -0
  833. package/tests/fixtures/marketing-maestro-routing/inputs/005-happy-email-list-retention-review.json +7 -0
  834. package/tests/fixtures/marketing-maestro-routing/inputs/006-happy-email-sender-authentication-review.json +7 -0
  835. package/tests/fixtures/marketing-maestro-routing/inputs/007-happy-eu-ai-act-marketing-system-review.json +7 -0
  836. package/tests/fixtures/marketing-maestro-routing/inputs/008-happy-gpc-signal-honoring-review.json +7 -0
  837. package/tests/fixtures/marketing-maestro-routing/inputs/009-happy-influencer-disclosure-compliance-review.json +7 -0
  838. package/tests/fixtures/marketing-maestro-routing/inputs/010-happy-lookalike-audience-upload-compliance-review.json +7 -0
  839. package/tests/fixtures/marketing-maestro-routing/inputs/011-happy-martech-access-governance-review.json +7 -0
  840. package/tests/fixtures/marketing-maestro-routing/inputs/012-happy-pixel-data-leakage-review.json +7 -0
  841. package/tests/fixtures/marketing-maestro-routing/inputs/013-happy-programmatic-supply-chain-integrity-review.json +7 -0
  842. package/tests/fixtures/marketing-maestro-routing/inputs/adv-ambiguous.json +7 -0
  843. package/tests/fixtures/marketing-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  844. package/tests/fixtures/marketing-maestro-routing/inputs/adv-live-guard-gate.json +7 -0
  845. package/tests/fixtures/marketing-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  846. package/tests/fixtures/marketing-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  847. package/tests/fixtures/marketing-maestro-routing/taxonomy.json +183 -0
  848. package/tests/fixtures/nvidia-maestro-routing/README.md +24 -0
  849. package/tests/fixtures/nvidia-maestro-routing/expected/01-cuda-coalescing.json +6 -0
  850. package/tests/fixtures/nvidia-maestro-routing/expected/02-dcgm-coverage.json +6 -0
  851. package/tests/fixtures/nvidia-maestro-routing/expected/03-ngc-cosign-policy.json +6 -0
  852. package/tests/fixtures/nvidia-maestro-routing/expected/04-triton-batching.json +6 -0
  853. package/tests/fixtures/nvidia-maestro-routing/expected/05-trt-int8-calibration.json +6 -0
  854. package/tests/fixtures/nvidia-maestro-routing/expected/06-gpu-operator-securitycontext.json +6 -0
  855. package/tests/fixtures/nvidia-maestro-routing/expected/07-spectrumx-nccl.json +6 -0
  856. package/tests/fixtures/nvidia-maestro-routing/expected/08-dgx-bmc.json +6 -0
  857. package/tests/fixtures/nvidia-maestro-routing/expected/09-nemo-agent-toolkit.json +6 -0
  858. package/tests/fixtures/nvidia-maestro-routing/expected/10-nemo-genai.json +6 -0
  859. package/tests/fixtures/nvidia-maestro-routing/expected/11-multi-domain-dgx-bringup.json +8 -0
  860. package/tests/fixtures/nvidia-maestro-routing/expected/12-promote-nim-to-prod.json +6 -0
  861. package/tests/fixtures/nvidia-maestro-routing/inputs/01-cuda-coalescing.json +4 -0
  862. package/tests/fixtures/nvidia-maestro-routing/inputs/02-dcgm-coverage.json +4 -0
  863. package/tests/fixtures/nvidia-maestro-routing/inputs/03-ngc-cosign-policy.json +4 -0
  864. package/tests/fixtures/nvidia-maestro-routing/inputs/04-triton-batching.json +4 -0
  865. package/tests/fixtures/nvidia-maestro-routing/inputs/05-trt-int8-calibration.json +4 -0
  866. package/tests/fixtures/nvidia-maestro-routing/inputs/06-gpu-operator-securitycontext.json +4 -0
  867. package/tests/fixtures/nvidia-maestro-routing/inputs/07-spectrumx-nccl.json +4 -0
  868. package/tests/fixtures/nvidia-maestro-routing/inputs/08-dgx-bmc.json +4 -0
  869. package/tests/fixtures/nvidia-maestro-routing/inputs/09-nemo-agent-toolkit.json +4 -0
  870. package/tests/fixtures/nvidia-maestro-routing/inputs/10-nemo-genai.json +4 -0
  871. package/tests/fixtures/nvidia-maestro-routing/inputs/11-multi-domain-dgx-bringup.json +4 -0
  872. package/tests/fixtures/nvidia-maestro-routing/inputs/12-promote-nim-to-prod.json +4 -0
  873. package/tests/fixtures/nvidia-maestro-routing/taxonomy.json +49 -0
  874. package/tests/fixtures/nvidia-model-promotion-gatekeeper/README.md +34 -0
  875. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/01-clean.json +7 -0
  876. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/02-unsigned.json +7 -0
  877. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/03-digest-drift.json +7 -0
  878. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/04-missing-sbom.json +7 -0
  879. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/05-missing-model-card.json +7 -0
  880. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/06-cve-regression.json +7 -0
  881. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/07-expired-cert.json +7 -0
  882. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/08-wrong-issuer.json +7 -0
  883. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/09-unknown-registry.json +7 -0
  884. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/10-replay-stale-attestation.json +7 -0
  885. package/tests/fixtures/nvidia-model-promotion-gatekeeper/expected/11-label-only-model-card.json +7 -0
  886. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/01-clean.json +45 -0
  887. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/02-unsigned.json +42 -0
  888. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/03-digest-drift.json +45 -0
  889. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/04-missing-sbom.json +44 -0
  890. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/05-missing-model-card.json +44 -0
  891. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/06-cve-regression.json +45 -0
  892. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/07-expired-cert.json +45 -0
  893. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/08-wrong-issuer.json +45 -0
  894. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/09-unknown-registry.json +45 -0
  895. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/10-replay-stale-attestation.json +45 -0
  896. package/tests/fixtures/nvidia-model-promotion-gatekeeper/inputs/11-label-only-model-card.json +45 -0
  897. package/tests/fixtures/oci-maestro-routing/expected/001-happy-autonomous-database-architect.json +6 -0
  898. package/tests/fixtures/oci-maestro-routing/expected/002-happy-certificates-issuer-review.json +6 -0
  899. package/tests/fixtures/oci-maestro-routing/expected/003-happy-compute-instance-agent-operator.json +6 -0
  900. package/tests/fixtures/oci-maestro-routing/expected/004-happy-compute-platform-operator.json +6 -0
  901. package/tests/fixtures/oci-maestro-routing/expected/005-happy-cost-finops-analyst.json +6 -0
  902. package/tests/fixtures/oci-maestro-routing/expected/006-happy-database-platform-dba.json +6 -0
  903. package/tests/fixtures/oci-maestro-routing/expected/007-happy-dbtools-sql-analyst.json +6 -0
  904. package/tests/fixtures/oci-maestro-routing/expected/008-happy-devops-container-platform-engineer.json +6 -0
  905. package/tests/fixtures/oci-maestro-routing/expected/009-happy-exadata-platform-architect.json +6 -0
  906. package/tests/fixtures/oci-maestro-routing/expected/010-happy-fusion-apps-environment-operator.json +6 -0
  907. package/tests/fixtures/oci-maestro-routing/expected/011-happy-goldengate-replication-operator.json +6 -0
  908. package/tests/fixtures/oci-maestro-routing/expected/012-happy-identity-access-governor.json +6 -0
  909. package/tests/fixtures/oci-maestro-routing/expected/013-happy-iot-digital-twin-engineer.json +6 -0
  910. package/tests/fixtures/oci-maestro-routing/expected/014-happy-limits-capacity-planner.json +6 -0
  911. package/tests/fixtures/oci-maestro-routing/expected/015-happy-load-balancer-traffic-engineer.json +6 -0
  912. package/tests/fixtures/oci-maestro-routing/expected/016-happy-migration-cutover-architect.json +6 -0
  913. package/tests/fixtures/oci-maestro-routing/expected/017-happy-multi-cloud-architect.json +6 -0
  914. package/tests/fixtures/oci-maestro-routing/expected/018-happy-mysql-heatwave-ai-specialist.json +6 -0
  915. package/tests/fixtures/oci-maestro-routing/expected/019-happy-network-architect.json +6 -0
  916. package/tests/fixtures/oci-maestro-routing/expected/020-happy-observability-incident-responder.json +6 -0
  917. package/tests/fixtures/oci-maestro-routing/expected/021-happy-recovery-service-operator.json +6 -0
  918. package/tests/fixtures/oci-maestro-routing/expected/022-happy-registry-artifact-governor.json +6 -0
  919. package/tests/fixtures/oci-maestro-routing/expected/023-happy-resource-search-inventory-analyst.json +6 -0
  920. package/tests/fixtures/oci-maestro-routing/expected/024-happy-security-compliance-reviewer.json +6 -0
  921. package/tests/fixtures/oci-maestro-routing/expected/025-happy-solution-architect.json +6 -0
  922. package/tests/fixtures/oci-maestro-routing/expected/026-happy-storage-backup-steward.json +6 -0
  923. package/tests/fixtures/oci-maestro-routing/expected/027-happy-support-incident-coordinator.json +6 -0
  924. package/tests/fixtures/oci-maestro-routing/expected/028-happy-waf-cost-optimization-review.json +6 -0
  925. package/tests/fixtures/oci-maestro-routing/expected/029-happy-waf-reliability-review.json +6 -0
  926. package/tests/fixtures/oci-maestro-routing/expected/030-happy-waf-security-review.json +6 -0
  927. package/tests/fixtures/oci-maestro-routing/expected/adv-ambiguous.json +4 -0
  928. package/tests/fixtures/oci-maestro-routing/expected/adv-instruction-injection.json +6 -0
  929. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-01-cloud-guard-responder.json +6 -0
  930. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-02-live-autonomous-db-lifecycle-guard.json +6 -0
  931. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-03-live-cost-budget-runaway-guard.json +6 -0
  932. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-04-live-iam-policy-compartment-guard.json +6 -0
  933. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-05-live-network-security-rule-guard.json +6 -0
  934. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-06-live-oke-rollout-guard.json +6 -0
  935. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-07-live-resource-manager-stack-guard.json +6 -0
  936. package/tests/fixtures/oci-maestro-routing/expected/adv-liveguard-08-live-vault-key-destruction-guard.json +6 -0
  937. package/tests/fixtures/oci-maestro-routing/expected/adv-persona-replacement.json +6 -0
  938. package/tests/fixtures/oci-maestro-routing/expected/adv-secrets-bait.json +7 -0
  939. package/tests/fixtures/oci-maestro-routing/inputs/001-happy-autonomous-database-architect.json +7 -0
  940. package/tests/fixtures/oci-maestro-routing/inputs/002-happy-certificates-issuer-review.json +7 -0
  941. package/tests/fixtures/oci-maestro-routing/inputs/003-happy-compute-instance-agent-operator.json +7 -0
  942. package/tests/fixtures/oci-maestro-routing/inputs/004-happy-compute-platform-operator.json +7 -0
  943. package/tests/fixtures/oci-maestro-routing/inputs/005-happy-cost-finops-analyst.json +7 -0
  944. package/tests/fixtures/oci-maestro-routing/inputs/006-happy-database-platform-dba.json +7 -0
  945. package/tests/fixtures/oci-maestro-routing/inputs/007-happy-dbtools-sql-analyst.json +7 -0
  946. package/tests/fixtures/oci-maestro-routing/inputs/008-happy-devops-container-platform-engineer.json +7 -0
  947. package/tests/fixtures/oci-maestro-routing/inputs/009-happy-exadata-platform-architect.json +7 -0
  948. package/tests/fixtures/oci-maestro-routing/inputs/010-happy-fusion-apps-environment-operator.json +7 -0
  949. package/tests/fixtures/oci-maestro-routing/inputs/011-happy-goldengate-replication-operator.json +7 -0
  950. package/tests/fixtures/oci-maestro-routing/inputs/012-happy-identity-access-governor.json +7 -0
  951. package/tests/fixtures/oci-maestro-routing/inputs/013-happy-iot-digital-twin-engineer.json +7 -0
  952. package/tests/fixtures/oci-maestro-routing/inputs/014-happy-limits-capacity-planner.json +7 -0
  953. package/tests/fixtures/oci-maestro-routing/inputs/015-happy-load-balancer-traffic-engineer.json +7 -0
  954. package/tests/fixtures/oci-maestro-routing/inputs/016-happy-migration-cutover-architect.json +7 -0
  955. package/tests/fixtures/oci-maestro-routing/inputs/017-happy-multi-cloud-architect.json +7 -0
  956. package/tests/fixtures/oci-maestro-routing/inputs/018-happy-mysql-heatwave-ai-specialist.json +7 -0
  957. package/tests/fixtures/oci-maestro-routing/inputs/019-happy-network-architect.json +7 -0
  958. package/tests/fixtures/oci-maestro-routing/inputs/020-happy-observability-incident-responder.json +7 -0
  959. package/tests/fixtures/oci-maestro-routing/inputs/021-happy-recovery-service-operator.json +7 -0
  960. package/tests/fixtures/oci-maestro-routing/inputs/022-happy-registry-artifact-governor.json +7 -0
  961. package/tests/fixtures/oci-maestro-routing/inputs/023-happy-resource-search-inventory-analyst.json +7 -0
  962. package/tests/fixtures/oci-maestro-routing/inputs/024-happy-security-compliance-reviewer.json +7 -0
  963. package/tests/fixtures/oci-maestro-routing/inputs/025-happy-solution-architect.json +7 -0
  964. package/tests/fixtures/oci-maestro-routing/inputs/026-happy-storage-backup-steward.json +7 -0
  965. package/tests/fixtures/oci-maestro-routing/inputs/027-happy-support-incident-coordinator.json +7 -0
  966. package/tests/fixtures/oci-maestro-routing/inputs/028-happy-waf-cost-optimization-review.json +7 -0
  967. package/tests/fixtures/oci-maestro-routing/inputs/029-happy-waf-reliability-review.json +7 -0
  968. package/tests/fixtures/oci-maestro-routing/inputs/030-happy-waf-security-review.json +7 -0
  969. package/tests/fixtures/oci-maestro-routing/inputs/adv-ambiguous.json +7 -0
  970. package/tests/fixtures/oci-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  971. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-01-cloud-guard-responder.json +7 -0
  972. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-02-live-autonomous-db-lifecycle-guard.json +7 -0
  973. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-03-live-cost-budget-runaway-guard.json +7 -0
  974. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-04-live-iam-policy-compartment-guard.json +7 -0
  975. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-05-live-network-security-rule-guard.json +7 -0
  976. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-06-live-oke-rollout-guard.json +7 -0
  977. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-07-live-resource-manager-stack-guard.json +7 -0
  978. package/tests/fixtures/oci-maestro-routing/inputs/adv-liveguard-08-live-vault-key-destruction-guard.json +7 -0
  979. package/tests/fixtures/oci-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  980. package/tests/fixtures/oci-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  981. package/tests/fixtures/oci-maestro-routing/taxonomy.json +381 -0
  982. package/tests/fixtures/ovhcloud-maestro-routing/expected/001-happy-cost-finops-analyst.json +6 -0
  983. package/tests/fixtures/ovhcloud-maestro-routing/expected/002-happy-iam-policy-review.json +6 -0
  984. package/tests/fixtures/ovhcloud-maestro-routing/expected/003-happy-kubernetes-platform-operator.json +6 -0
  985. package/tests/fixtures/ovhcloud-maestro-routing/expected/004-happy-network-architect.json +6 -0
  986. package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-ambiguous.json +4 -0
  987. package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-instruction-injection.json +6 -0
  988. package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-liveguard-01-live-kms-key-destruction-guard.json +6 -0
  989. package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-persona-replacement.json +6 -0
  990. package/tests/fixtures/ovhcloud-maestro-routing/expected/adv-secrets-bait.json +6 -0
  991. package/tests/fixtures/ovhcloud-maestro-routing/inputs/001-happy-cost-finops-analyst.json +7 -0
  992. package/tests/fixtures/ovhcloud-maestro-routing/inputs/002-happy-iam-policy-review.json +7 -0
  993. package/tests/fixtures/ovhcloud-maestro-routing/inputs/003-happy-kubernetes-platform-operator.json +7 -0
  994. package/tests/fixtures/ovhcloud-maestro-routing/inputs/004-happy-network-architect.json +7 -0
  995. package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-ambiguous.json +7 -0
  996. package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  997. package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-liveguard-01-live-kms-key-destruction-guard.json +7 -0
  998. package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  999. package/tests/fixtures/ovhcloud-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  1000. package/tests/fixtures/ovhcloud-maestro-routing/taxonomy.json +46 -0
  1001. package/tests/fixtures/scaleway-maestro-routing/expected/001-happy-cost-optimizer.json +6 -0
  1002. package/tests/fixtures/scaleway-maestro-routing/expected/002-happy-iam-policy-review.json +6 -0
  1003. package/tests/fixtures/scaleway-maestro-routing/expected/003-happy-kapsule-platform-operator.json +6 -0
  1004. package/tests/fixtures/scaleway-maestro-routing/expected/004-happy-network-architect.json +6 -0
  1005. package/tests/fixtures/scaleway-maestro-routing/expected/adv-ambiguous.json +4 -0
  1006. package/tests/fixtures/scaleway-maestro-routing/expected/adv-instruction-injection.json +6 -0
  1007. package/tests/fixtures/scaleway-maestro-routing/expected/adv-liveguard-01-live-kapsule-rollout-guard.json +6 -0
  1008. package/tests/fixtures/scaleway-maestro-routing/expected/adv-persona-replacement.json +6 -0
  1009. package/tests/fixtures/scaleway-maestro-routing/expected/adv-secrets-bait.json +6 -0
  1010. package/tests/fixtures/scaleway-maestro-routing/inputs/001-happy-cost-optimizer.json +7 -0
  1011. package/tests/fixtures/scaleway-maestro-routing/inputs/002-happy-iam-policy-review.json +7 -0
  1012. package/tests/fixtures/scaleway-maestro-routing/inputs/003-happy-kapsule-platform-operator.json +7 -0
  1013. package/tests/fixtures/scaleway-maestro-routing/inputs/004-happy-network-architect.json +7 -0
  1014. package/tests/fixtures/scaleway-maestro-routing/inputs/adv-ambiguous.json +7 -0
  1015. package/tests/fixtures/scaleway-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  1016. package/tests/fixtures/scaleway-maestro-routing/inputs/adv-liveguard-01-live-kapsule-rollout-guard.json +7 -0
  1017. package/tests/fixtures/scaleway-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  1018. package/tests/fixtures/scaleway-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  1019. package/tests/fixtures/scaleway-maestro-routing/taxonomy.json +54 -0
  1020. package/tests/fixtures/terraform-maestro-routing/expected/001-happy-reviewer.json +6 -0
  1021. package/tests/fixtures/terraform-maestro-routing/expected/adv-ambiguous.json +4 -0
  1022. package/tests/fixtures/terraform-maestro-routing/expected/adv-instruction-injection.json +6 -0
  1023. package/tests/fixtures/terraform-maestro-routing/expected/adv-persona-replacement.json +6 -0
  1024. package/tests/fixtures/terraform-maestro-routing/expected/adv-secrets-bait.json +6 -0
  1025. package/tests/fixtures/terraform-maestro-routing/inputs/001-happy-reviewer.json +7 -0
  1026. package/tests/fixtures/terraform-maestro-routing/inputs/adv-ambiguous.json +7 -0
  1027. package/tests/fixtures/terraform-maestro-routing/inputs/adv-instruction-injection.json +7 -0
  1028. package/tests/fixtures/terraform-maestro-routing/inputs/adv-persona-replacement.json +7 -0
  1029. package/tests/fixtures/terraform-maestro-routing/inputs/adv-secrets-bait.json +7 -0
  1030. package/tests/fixtures/terraform-maestro-routing/taxonomy.json +107 -0
  1031. package/tests/fuzz-properties.test.mjs +211 -0
  1032. package/tests/integration/rbac-pre-flight/README.md +160 -0
  1033. package/tests/integration/rbac-pre-flight/ci/kind-rbac-preflight.yaml +49 -0
  1034. package/tests/integration/rbac-pre-flight/guards/admission-policy.sh +53 -0
  1035. package/tests/integration/rbac-pre-flight/guards/argocd-sync.sh +50 -0
  1036. package/tests/integration/rbac-pre-flight/guards/mesh-policy.sh +48 -0
  1037. package/tests/integration/rbac-pre-flight/guards/network-arch.sh +119 -0
  1038. package/tests/integration/rbac-pre-flight/guards/network-policy.sh +49 -0
  1039. package/tests/integration/rbac-pre-flight/guards/rbac-mutation.sh +56 -0
  1040. package/tests/integration/rbac-pre-flight/guards/velero-restore.sh +52 -0
  1041. package/tests/integration/rbac-pre-flight/lib/common.sh +252 -0
  1042. package/tests/integration/rbac-pre-flight/run-all.sh +229 -0
  1043. package/tests/test-copilot-skill-bundling.py +129 -0
  1044. package/tests/test-gemini-skill-bundling.py +102 -0
  1045. package/tests/test-marketplace-validators.py +685 -0
  1046. package/tests/test-vfa-export-coverage.test.mjs +717 -0
  1047. package/tests/validate-agent-frontmatter-schema.py +256 -0
  1048. package/tests/validate-asset-integrity.py +234 -0
  1049. package/tests/validate-aws-progressive-disclosure.py +72 -0
  1050. package/tests/validate-aws-skill-quality.py +171 -0
  1051. package/tests/validate-azure-oci-live-guards.sh +157 -0
  1052. package/tests/validate-catalog.py +362 -0
  1053. package/tests/validate-codex-marketplace.py +152 -0
  1054. package/tests/validate-finops-price-fixtures.py +200 -0
  1055. package/tests/validate-kiro-powers.py +243 -0
  1056. package/tests/validate-links.py +94 -0
  1057. package/tests/validate-maestro-routing.py +224 -0
  1058. package/tests/validate-mcp-trust-matrix.py +91 -0
  1059. package/tests/validate-multi-harness-marketplace.py +188 -0
  1060. package/tests/validate-no-lifecycle-scripts.py +86 -0
  1061. package/tests/validate-nvidia-promotion-gatekeeper.py +299 -0
  1062. package/tests/validate-plugin-manifest.py +147 -0
  1063. package/tests/validate-skill-allowed-tools.py +138 -0
  1064. package/tests/validate-skill-frontmatter-schema.py +286 -0
  1065. package/tests/validate-skill-manifest.py +116 -0
@@ -0,0 +1,150 @@
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 user PII, no ad-account credentials, no live audience membership data):
8
+ - Ad platform audience definition export (Meta Ads Manager audience spec, Google Ads targeting layer export, DSP deal config)
9
+ - Declared AI features enabled per campaign (e.g., Advantage+ Audience, broad match, Performance Max, Target CPA, automated bidding strategy)
10
+ - Campaign vertical and ad category (housing, credit, employment, insurance, or other)
11
+ - Seed-list demographics summary if a lookalike audience is in scope (aggregate only — no individual-level data)
12
+ - Interest segment names or IDs included in the targeting stack
13
+ - Platform Special Ad Category or equivalent fairness-restriction declaration, if any
14
+
15
+ If the user provides only a partial set, note which sections are absent and scope findings accordingly.
16
+
17
+ ### Step 2 — Campaign vertical classification
18
+
19
+ Classify the campaign into a fairness-risk tier before inspecting AI features:
20
+
21
+ - **Tier 1 — Special category** (highest risk): housing/rental, mortgage/credit, employment/hiring, insurance underwriting or pricing. FHA, ECOA, and analogous EU AI Act provisions impose the strictest obligations.
22
+ - **Tier 2 — Sensitive adjacent**: health products, financial services (non-credit), legal services, political advertising. Protected-class proxies and automated decisions warrant careful scrutiny.
23
+ - **Tier 3 — General commercial**: e-commerce, SaaS, entertainment. Standard fairness hygiene applies but special-category rules do not.
24
+
25
+ Any Tier 1 campaign with AI-driven audience expansion enabled is HIGH by classification — proceed to Step 4 immediately.
26
+
27
+ ### Step 3 — AI feature inventory
28
+
29
+ Enumerate every declared AI feature active on the campaign:
30
+
31
+ ```text
32
+ # Example inventory table
33
+ | Feature | Platform | Campaign | Opt-out available? |
34
+ |--------------------------|----------|--------------|-------------------|
35
+ | Advantage+ Audience | Meta | Housing_Q2 | Partial |
36
+ | Target CPA bidding | Google | Credit_Lead | Yes |
37
+ | Broad match keywords | Google | Credit_Lead | Yes |
38
+ | Lookalike expansion L1 | Meta | Housing_Q2 | No |
39
+ ```
40
+
41
+ For each feature, note: whether it expands beyond declared audience, what optimization signal it uses, and whether a fairness constraint or protected-category exclusion is declared.
42
+
43
+ ### Step 4 — Protected-class proxy segment audit
44
+
45
+ Inspect interest and behavioral segments for protected-class proxy risk:
46
+
47
+ ```text
48
+ # HIGH — health-condition proxy on insurance campaign
49
+ Interest segment: "Diabetes management apps" → infers health condition → protected under ADA, ECOA
50
+
51
+ # HIGH — national-origin proxy via language and cultural affinity targeting
52
+ Interest segment: "Spanish-language content" + "Latin music" → national origin proxy on housing campaign
53
+
54
+ # MEDIUM — general health interest segment on non-healthcare campaign
55
+ Interest segment: "Fitness & wellness" → weaker proxy; flag for review but lower confidence
56
+ ```
57
+
58
+ Flag segments that reliably infer race, sex, age, national origin, familial status, disability, or religion — even when those characteristics are not named explicitly.
59
+
60
+ ### Step 5 — Algorithmic disparate-impact assessment
61
+
62
+ Assess whether automated bidding or audience expansion propagates historical bias:
63
+
64
+ ```text
65
+ # HIGH — lookalike seeded from historical converters, no demographic audit
66
+ Seed list: "past_mortgage_applicants_2019_2023"
67
+ Lookalike: L1% similarity expansion
68
+ Risk: If historical applicants skew by race or national origin, the lookalike inherits that skew.
69
+ Mitigation: Demographic representativeness audit of seed list required.
70
+
71
+ # HIGH — Target CPA on credit-offer campaign, conversion event = "application_submitted"
72
+ Risk: CPA optimization deprioritizes delivery to audiences with lower historical application rates,
73
+ which may correlate with protected-class membership.
74
+ ```
75
+
76
+ ### Step 6 — Platform fairness-declaration check
77
+
78
+ For Meta campaigns: confirm whether a Special Ad Category (Housing, Employment, Credit) is declared. Absence on a Tier 1 campaign is HIGH — it circumvents mandatory targeting restrictions.
79
+
80
+ For Google: confirm whether Limited Ad Serving policies are acknowledged and whether sensitive-category restrictions are applied.
81
+
82
+ For DSPs: confirm whether deal-level fairness constraints (e.g., no health-condition targeting, no age exclusions) are documented.
83
+
84
+ ### Step 7 — Geographic redlining check
85
+
86
+ Inspect geofencing and location exclusions for patterns that trace protected-class neighborhood boundaries:
87
+
88
+ ```text
89
+ # HIGH — exclusion zone matches historic redlining district boundaries
90
+ Excluded ZIP codes: [10031, 10037, 10039] on NYC housing campaign
91
+ These ZIPs are majority-minority neighborhoods; exclusion on a housing campaign = FHA §3604 risk.
92
+ ```
93
+
94
+ Compare exclusion zones against publicly available fair-lending geography if the artifact suggests geographic selectivity.
95
+
96
+ ### Step 8 — Produce the output
97
+
98
+ Format findings using the Output section below.
99
+
100
+ ---
101
+
102
+ ## Output
103
+
104
+ Return findings in this structure:
105
+
106
+ ```
107
+ ## Verdict
108
+ <one sentence: pass / needs work / critical issues found>
109
+
110
+ ## Evidence level
111
+ <audience spec provided | AI feature declaration provided | documentation-based | inference>
112
+
113
+ ## Campaign tier
114
+ <Tier 1 special-category | Tier 2 sensitive adjacent | Tier 3 general commercial>
115
+
116
+ ## AI feature inventory
117
+ <table of features, platform, campaign, opt-out status>
118
+
119
+ ## Findings
120
+
121
+ ### CRITICAL
122
+ - [C1] <finding title>: <description> — <remediation>
123
+
124
+ ### HIGH
125
+ - [H1] <finding title>: <description> — <remediation>
126
+
127
+ ### MEDIUM
128
+ - [M1] <finding title>: <description> — <remediation>
129
+
130
+ ### LOW
131
+ - [L1] <finding title>: <description> — <remediation>
132
+
133
+ ## Safe next actions
134
+ 1. <action>
135
+ 2. <action>
136
+
137
+ ## Open questions
138
+ - <question requiring user clarification>
139
+ ```
140
+
141
+ ---
142
+
143
+ ## Security and scope notes
144
+
145
+ - This is a static review. Never request live campaign credentials, ad-account access tokens, real audience membership lists, or individual-level conversion data.
146
+ - A finding here may constitute a fair lending, fair housing, or EU AI Act compliance violation — flag that possibility and route legal determination to qualified counsel and compliance teams. Do not make the legal determination yourself.
147
+ - Algorithmic disparate impact is a legal theory that can apply even when no protected characteristic is named — proxy targeting and optimized delivery on skewed seed populations are within scope.
148
+ - Hashing or pseudonymizing a seed list does not eliminate the disparate-impact risk from a demographically unrepresentative seed population.
149
+ - When evidence is partial, scope each finding to what was provided and state the assumption explicitly.
150
+ - Do not recommend disabling AI features without naming the performance impact and a manual targeting alternative.
@@ -0,0 +1,44 @@
1
+ ---
2
+ name: analytics-data-minimization-review
3
+ description: Use this skill when reviewing analytics platform configuration — GA4 property settings, BigQuery export schema, custom event-parameter definitions, and user-property declarations — for data-minimization violations, excessive collection, and storage-period over-retention. Trigger when a user provides a GA4 property configuration export, a BigQuery raw-event export schema, a custom event or user-property inventory, data-retention settings, or asks whether their analytics setup collects more personal data than necessary, retains data longer than required, or converts an analytics platform into a personal-data processor. Distinct from marketing-pixel-data-leakage-review: this skill reviews what analytics platforms collect and retain internally, not outbound pixel payloads to ad networks.
4
+ allowed-tools: Read Grep Glob
5
+ metadata:
6
+ author: "github: Raishin"
7
+ version: "0.1.0"
8
+ updated: "2026-05-17"
9
+ category: data
10
+ lifecycle: experimental
11
+ ---
12
+
13
+ # Analytics Data-Minimization Review
14
+
15
+ ## Purpose
16
+ This skill reviews analytics platform configuration — GA4 property settings, BigQuery export schema, custom event-parameter definitions, and user-property declarations — for data-minimization violations, excessive collection, and storage-period over-retention. Analytics platforms are a primary regulatory surface for GDPR enforcement: European DPAs (Austrian DSB, French CNIL, Italian Garante) have found that user_pseudo_id, IP address, and precise geo combined with a BigQuery export constitute transfers of personal data requiring a lawful basis, a valid transfer mechanism, and compliance with the storage-limitation principle under GDPR Article 5(1)(e). This skill is distinct from `marketing-pixel-data-leakage-review` — it reviews what analytics platforms collect and retain internally (schema, user properties, retention periods), not outbound pixel payloads transmitted to ad networks. The review works from sanitized configuration exports only; never request live analytics data or real user identifiers.
17
+
18
+ ## Lean operating rules
19
+ - Treat a GA4 user-scoped custom dimension populated with a persistent first-party user ID linked to a CRM contact record as HIGH — it converts GA4 into a personal-data processor for identified individuals, triggering DPA obligations and requiring a separate documented lawful basis beyond the analytics purpose.
20
+ - Treat a BigQuery raw-event export retaining user_pseudo_id and geo.city at full precision with no anonymization transform or partitioned deletion job as HIGH — the combination of fields constitutes personal data under GDPR, and uncontrolled raw export creates an unmanaged data store with no retention ceiling.
21
+ - Treat a data-retention period set to the maximum (14 months in GA4) with no documented justification tied to a specific, time-bound analytical purpose as HIGH — GDPR Article 5(1)(e) requires retention only as long as necessary; the maximum is not a default entitlement.
22
+ - Treat user properties collecting device fingerprint components, precise IP, or persistent advertising identifiers (GCLID, FBCLID passed as user properties) in a property lacking a valid transfer mechanism for non-EEA exports as HIGH — these fields individually or in combination constitute personal data with cross-border transfer obligations.
23
+ - Treat event parameters collecting free-text field values from search queries, form inputs, or support chats as HIGH — free-text fields frequently contain names, emails, or health information that exceed the analytics collection purpose.
24
+ - Treat session-scoped custom dimensions collecting full URL paths that include query parameters with PII (e.g., `/reset?email=user@example.com`) as HIGH — URL-embedded PII is personal data regardless of whether it was intentionally collected.
25
+ - Flag custom event schemas that duplicate standard GA4 automatically collected events with additional parameters adding no documented analytical value as MEDIUM — redundant collection without justification violates data minimization under GDPR Article 5(1)(c).
26
+ - Flag BigQuery export schemas that retain raw event data beyond the property's configured retention period because no partition-expiry or scheduled query enforces deletion as MEDIUM — the property setting does not automatically govern the export.
27
+ - Flag user-property schemas with no documented owner, purpose, or review date as MEDIUM — absence of governance documentation is a proxy indicator of speculative or abandoned collection.
28
+ - Do not recommend disabling an event or parameter without naming the analytical purpose it serves and the impact of its removal on measurement continuity.
29
+ - Label every finding with evidence basis: configuration export provided, schema provided, documentation-based, or inference from missing element.
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
+ - User-scoped custom dimension assessment (CRM linkage, persistent identifiers)
38
+ - BigQuery export schema assessment (field precision, anonymization, partitioned deletion)
39
+ - Data-retention period assessment (documented justification vs. maximum default)
40
+ - User-property and event-parameter PII assessment (free-text, URL-embedded PII, fingerprint components)
41
+ - Cross-border transfer assessment (user_pseudo_id + geo fields in non-EEA export)
42
+ - Schema governance assessment (owner, purpose, review date)
43
+ - Severity-labelled finding list (critical / high / medium / low)
44
+ - Safe next actions
@@ -0,0 +1,22 @@
1
+ {
2
+ "id": "analytics-data-minimization-review",
3
+ "name": "Analytics Data-Minimization Review",
4
+ "type": "skill",
5
+ "provider": "marketing",
6
+ "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
7
+ "summary": "Review analytics platform configuration — GA4 property settings, BigQuery export schema, custom event-parameter definitions, and user-property declarations — for data-minimization violations, excessive collection, and storage-period over-retention under GDPR Article 5(1)(c) and 5(1)(e) and EU DPA enforcement on GA4.",
8
+ "source_type": "original",
9
+ "official_docs": [
10
+ "https://gdpr-info.eu/art-5-gdpr/",
11
+ "https://www.cnil.fr/en/use-google-analytics-and-data-transfers-united-states-cnil-orders-website-manageroperator-comply/",
12
+ "https://www.cnil.fr/en/google-analytics-and-data-transfers-how-make-your-analytics-tool-compliant-gdpr",
13
+ "https://www.garanteprivacy.it/home/docweb/-/docweb-display/docweb/9782874",
14
+ "https://support.google.com/analytics/answer/9019185"
15
+ ],
16
+ "security_notes": "Read-only static review of sanitized analytics configuration exports and schema definitions only. Never request live analytics data, raw event exports containing real user identifiers, GA4 admin credentials, or BigQuery service-account keys. Findings may indicate cross-border data transfer violations requiring DPA notification — route remediation and legal assessment to qualified privacy counsel before acting on findings.",
17
+ "last_verified": "2026-05-17",
18
+ "path": "skills/marketing/analytics-data-minimization-review",
19
+ "author": "github: Raishin",
20
+ "version": "0.1.0",
21
+ "lifecycle": "experimental"
22
+ }
@@ -0,0 +1,187 @@
1
+ # Workflow and Output Contract
2
+
3
+ ## Workflow
4
+
5
+ ### Step 1 — Collect inputs
6
+
7
+ Ask the user to provide a sanitized analytics configuration export covering one or more of the following artifacts (replace real user IDs, property IDs, and API keys with placeholders; do not include live event exports or actual user data):
8
+
9
+ - GA4 property data-retention setting (event data and user data retention periods)
10
+ - GA4 custom event definitions: event name, parameters, and the data-layer or gtag call that populates them
11
+ - GA4 user-property definitions: property name, scope (user vs. session), and the value being populated
12
+ - GA4 custom dimension and metric registrations and their mapped event parameters
13
+ - BigQuery export schema: table name, field list with data types, partition strategy, and any scheduled queries or deletion jobs
14
+ - IP anonymization setting (GA4 anonymizes by default; confirm the property has not overridden this via Measurement Protocol or server-side tagging)
15
+ - Linked product integrations (Google Ads, Search Console, Firebase) that may receive exported user data
16
+
17
+ If the user provides only a partial set, note which artifacts are absent and scope findings accordingly. Do not attempt to infer schema from event names alone.
18
+
19
+ This skill is scoped to what analytics platforms collect and retain internally. Outbound pixel payloads to ad networks are out of scope — defer to `marketing-pixel-data-leakage-review`.
20
+
21
+ ### Step 2 — User-scoped custom dimension and user-property audit
22
+
23
+ Inspect every user-scoped custom dimension and user property for identifiers that link an analytics profile to a real-world person:
24
+
25
+ ```text
26
+ # HIGH — user-scoped custom dimension maps GA4 user_pseudo_id to CRM contact ID
27
+ user_property: crm_contact_id = "C-00123456" # value from logged-in session
28
+
29
+ → GA4 user_pseudo_id + crm_contact_id = identified natural person.
30
+ GA4 is now a personal-data processor for that contact.
31
+ Requires: documented lawful basis, DPA record of processing, and a valid
32
+ transfer mechanism if the BigQuery project is outside the EEA.
33
+
34
+ # LOWER RISK — session-scoped experiment variant; no persistent identifier
35
+ event_parameter: experiment_variant = "control" # session-scoped, no CRM link
36
+ ```
37
+
38
+ Also flag:
39
+ - Persistent advertising identifiers passed as user properties (GCLID, FBCLID stored across sessions).
40
+ - Device fingerprint components (user-agent, screen resolution, timezone combined) stored as user properties.
41
+ - Email addresses or phone numbers collected in user properties, even in hashed form — still personal data.
42
+
43
+ ### Step 3 — BigQuery export schema audit
44
+
45
+ For each table in the BigQuery export, assess the combination of fields and retention controls:
46
+
47
+ ```text
48
+ # HIGH — raw export retains user_pseudo_id + geo.city + geo.region at full precision
49
+ # with no partition expiry and no anonymization transform
50
+
51
+ Table: events_YYYYMMDD
52
+ Fields: user_pseudo_id (STRING), geo.city (STRING), geo.region (STRING),
53
+ event_timestamp (INTEGER), event_name (STRING)
54
+ Partition expiry: NONE # rows never auto-deleted
55
+ Scheduled deletion job: NONE
56
+
57
+ → user_pseudo_id is a persistent pseudonymous identifier.
58
+ Combined with geo.city + geo.region it can identify a natural person
59
+ in a small geography. GDPR applies. No ceiling on retention = violation
60
+ of storage limitation (Article 5(1)(e)).
61
+
62
+ # LOWER RISK — export anonymized before landing in BigQuery
63
+ Scheduled query: masks user_pseudo_id to k-anonymized cohort bucket
64
+ Partition expiry: 90 days aligned to GA4 retention setting
65
+ ```
66
+
67
+ Check for:
68
+ - user_pseudo_id retention beyond the GA4 property's configured retention period.
69
+ - geo fields at city or finer precision without a coarsening transform.
70
+ - Absence of partition expiry or scheduled deletion query in the BigQuery dataset.
71
+ - Cross-project export to a dataset in a non-EEA GCP region without a valid SCCs or transfer mechanism documented in the DPA record.
72
+
73
+ ### Step 4 — Data-retention period audit
74
+
75
+ Assess the GA4 property's retention settings against documented justification:
76
+
77
+ ```text
78
+ # HIGH — retention set to 14 months (maximum); no documented justification
79
+ GA4 retention: User data = 14 months, Event data = 14 months
80
+ Justification in DPA record: NONE
81
+
82
+ → GDPR Article 5(1)(e) requires retention only as long as necessary for the
83
+ stated purpose. The 14-month maximum is not an entitlement; it requires a
84
+ specific analytical purpose (e.g., year-over-year comparison) that justifies
85
+ the full period.
86
+
87
+ # COMPLIANT — 2 months; justification documented
88
+ GA4 retention: 2 months
89
+ DPA record entry: "Session and conversion attribution; 60-day window matches
90
+ last-click attribution window in ad platform; no year-over-year use case."
91
+ ```
92
+
93
+ Also verify:
94
+ - Whether the BigQuery export enforces the same or shorter retention via partition expiry.
95
+ - Whether "Reset user data on new activity" is enabled — if so, the effective retention period may be much longer than the configured window for active users.
96
+
97
+ ### Step 5 — Event-parameter PII audit
98
+
99
+ Inspect custom event parameters for content that exceeds the analytics collection purpose:
100
+
101
+ ```text
102
+ # HIGH — search query parameter captures free-text; may contain PII
103
+ event: site_search
104
+ parameter: search_term = "{{DL - search_term}}" # raw dataLayer value
105
+
106
+ → Free-text search queries frequently contain full names, email addresses,
107
+ medical terms, or financial account numbers typed by users.
108
+ Collecting raw search terms in GA4 is a data-minimization violation
109
+ unless the value is scrubbed before collection.
110
+
111
+ # HIGH — URL parameter includes email in query string
112
+ event: page_view
113
+ parameter: page_location = "https://example.com/reset?email=user@example.com"
114
+
115
+ → URL-embedded PII is personal data regardless of intent.
116
+ Strip PII from page_location before it reaches GA4 using a tag-manager
117
+ URL-redaction variable or server-side tagging.
118
+
119
+ # COMPLIANT — search term replaced with a sanitized flag
120
+ event: site_search
121
+ parameter: search_performed = true # no content; confirms intent only
122
+ ```
123
+
124
+ ### Step 6 — Schema governance audit
125
+
126
+ Assess whether each custom event, parameter, and user property has documented ownership and purpose:
127
+
128
+ - Every custom dimension registered in a GA4 property should have: owner (team or role), collection purpose, retention justification, and a review date.
129
+ - Absence of governance metadata for any field is MEDIUM — it is a proxy indicator of speculative or abandoned collection that cannot be justified in a DPA record of processing.
130
+ - Flag any custom event or user property whose name does not map to a documented analytical use case in the artifact provided.
131
+
132
+ ### Step 7 — Cross-border transfer assessment
133
+
134
+ If the BigQuery project or linked export destination is outside the EEA, assess the transfer mechanism:
135
+
136
+ - Standard Contractual Clauses (SCCs) between the controller and Google must be documented.
137
+ - The Austrian DSB (2022), French CNIL (2022), and Italian Garante (2022) have each found that Google Analytics transfers to US-based Google infrastructure violate GDPR Chapter V in the absence of adequacy or valid SCCs with sufficient supplementary measures.
138
+ - If no transfer mechanism is documented in the DPA record of processing, flag as HIGH.
139
+
140
+ ### Step 8 — Produce the output
141
+
142
+ Format findings using the Output section below.
143
+
144
+ ---
145
+
146
+ ## Output
147
+
148
+ Return findings in this structure:
149
+
150
+ ```
151
+ ## Verdict
152
+ <one sentence: pass / needs work / critical issues found>
153
+
154
+ ## Evidence level
155
+ <configuration export provided | schema provided | documentation-based | inference from missing element>
156
+
157
+ ## Findings
158
+
159
+ ### CRITICAL
160
+ - [C1] <finding title>: <description> — <remediation>
161
+
162
+ ### HIGH
163
+ - [H1] <finding title>: <description> — <remediation>
164
+
165
+ ### MEDIUM
166
+ - [M1] <finding title>: <description> — <remediation>
167
+
168
+ ### LOW
169
+ - [L1] <finding title>: <description> — <remediation>
170
+
171
+ ## Safe next actions
172
+ 1. <action>
173
+ 2. <action>
174
+
175
+ ## Open questions
176
+ - <question requiring user clarification>
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Security and scope notes
182
+
183
+ - This is a static review of sanitized configuration exports and schema definitions. Never request live analytics data, raw event exports containing real user identifiers, GA4 admin credentials, BigQuery service-account keys, or OAuth tokens.
184
+ - Findings indicating cross-border transfer violations may require DPA notification or supervisory authority engagement — route remediation and legal assessment to qualified privacy counsel before acting on findings. Do not assess DPA notification obligations yourself.
185
+ - This skill is scoped to what analytics platforms collect and retain internally. Outbound pixel payloads transmitted to ad networks are out of scope — refer to `marketing-pixel-data-leakage-review`.
186
+ - When evidence is partial, scope each finding to what was provided and state the assumption explicitly.
187
+ - A GA4 configuration that is GDPR-compliant for EU users may still create obligations under CCPA/CPRA, LGPD, or other jurisdiction-specific laws — note the applicable framework but limit detailed analysis to GDPR unless the user specifies otherwise.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: email-sender-authentication-review
3
+ description: Use this skill when reviewing DNS sender-authentication records for a marketing domain to identify policy gaps exposing campaigns to rejection, spoofing, or inbox displacement. Trigger when a user provides DNS TXT record exports for SPF, DKIM, DMARC, or BIMI, or asks whether their email authentication posture meets Google/Yahoo bulk-sender requirements, DMARC enforcement standards, CISA BOD 18-01 obligations, PCI DSS v4.0 Req 5.3.3, or whether their transactional or marketing emails are at risk of spoofing or bulk-sender quarantine.
4
+ allowed-tools: Read Grep Glob
5
+ metadata:
6
+ author: "github: Raishin"
7
+ version: "0.1.0"
8
+ updated: "2026-05-17"
9
+ category: compliance
10
+ lifecycle: experimental
11
+ ---
12
+
13
+ # Email Sender Authentication Review
14
+
15
+ ## Purpose
16
+ This skill reviews DNS sender-authentication records (SPF, DKIM, DMARC, BIMI) for a marketing domain and its ESP subdomains to identify policy gaps that expose email campaigns to rejection, spoofing, or inbox displacement. Email authentication failures have grown from a deliverability concern to a compliance obligation: Google and Yahoo bulk-sender requirements (enforced 2024) mandate DMARC alignment for senders exceeding 5,000 messages per day; CISA BOD 18-01 requires federal domains to reach DMARC `p=reject`; and PCI DSS v4.0 Requirement 5.3.3 requires anti-phishing controls for outbound email. A `p=none` DMARC policy with no roadmap to enforcement, a missing DKIM selector for a transactional ESP subdomain, or an SPF record exceeding the ten DNS-lookup limit all constitute policy gaps that range from HIGH spoofing exposure to deliverability failure. The review assesses the full authentication stack from a sanitized DNS record export and surfaces the gap, its severity, and the surgical fix.
17
+
18
+ ## Lean operating rules
19
+ - Treat DMARC policy `p=none` with no enforcement on a domain sending bulk marketing email as HIGH — `p=none` provides monitoring only; spoofing is possible, and Google/Yahoo bulk-sender requirements treat senders without at least `p=none` plus DKIM alignment as quarantine candidates; the path to `p=quarantine` or `p=reject` must be explicit.
20
+ - Treat a missing DKIM selector for any active ESP or transactional subdomain as HIGH — emails sent through that path are unauthenticated, cannot pass DMARC alignment, and are treated as unsigned by receiving MTAs; automation and transactional flows are commonly the most impactful to revenue.
21
+ - Treat an SPF record that exceeds ten DNS lookup mechanisms (`include:`, `a:`, `mx:`, `ptr:`) as HIGH — RFC 7208 defines this as a permerror, which receiving MTAs treat as an SPF fail, blocking all mail from that domain that relies on SPF for DMARC alignment.
22
+ - Treat a DMARC record with `rua=` absent (no aggregate reporting URI) as MEDIUM — without aggregate reports, the operator cannot see what is aligning and what is failing; DMARC without visibility is unmanaged.
23
+ - Treat SPF records using `+all` (pass all) as HIGH — this negates SPF entirely by authorizing any sending source; the entire domain is open to spoofing regardless of which sources are explicitly listed.
24
+ - Treat DMARC `pct=` below 100 as MEDIUM when `p=quarantine` or `p=reject` is set — partial enforcement leaves a configured percentage of non-aligning mail unaffected by the policy and creates a false sense of full enforcement.
25
+ - Treat a BIMI record present without a corresponding VMC or CMC certificate as LOW — BIMI without a validated certificate is ignored by major mailbox providers that require certificate-backed BIMI.
26
+ - Flag the absence of DKIM key rotation documentation as MEDIUM — DKIM keys that have never been rotated accumulate risk; PCI DSS v4.0 Req 5.3.3 and general key-hygiene practice require rotation procedures to exist.
27
+ - Do not recommend removing an ESP's SPF include without first confirming a DKIM-only alignment path is available — SPF removal without DKIM coverage breaks DMARC alignment for that sending path.
28
+ - Label every finding with evidence basis: DNS record provided, documentation-based, or inference from absent record.
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
+ - SPF mechanism count and permerror risk assessment
37
+ - DKIM selector coverage assessment for all active sending paths
38
+ - DMARC policy and reporting configuration assessment
39
+ - DMARC alignment mode assessment (strict vs relaxed)
40
+ - BIMI and certificate assessment
41
+ - Bulk-sender requirement compliance status (Google/Yahoo)
42
+ - Severity-labelled finding list (critical / high / medium / low)
43
+ - Safe next actions
@@ -0,0 +1,22 @@
1
+ {
2
+ "id": "email-sender-authentication-review",
3
+ "name": "Email Sender Authentication Review",
4
+ "type": "skill",
5
+ "provider": "marketing",
6
+ "harnesses": ["codex", "claude-code", "cursor", "gemini", "kiro", "other"],
7
+ "summary": "Review DNS sender-authentication records (SPF, DKIM, DMARC, BIMI) for a marketing domain to identify policy gaps exposing campaigns to rejection, spoofing, or inbox displacement.",
8
+ "source_type": "original",
9
+ "official_docs": [
10
+ "https://datatracker.ietf.org/doc/html/rfc7489",
11
+ "https://support.google.com/mail/answer/81126",
12
+ "https://www.pcisecuritystandards.org/document_library/",
13
+ "https://www.cisa.gov/sites/default/files/publications/bod-18-01.pdf",
14
+ "https://datatracker.ietf.org/doc/html/rfc7208"
15
+ ],
16
+ "security_notes": "Email authentication reviews work from sanitized DNS TXT record exports only. Never request live DMARC aggregate report XML, ESP account credentials, or sending-platform API keys. SPF, DKIM, and DMARC records are publicly resolvable; the artifact is the domain's own export, not live lookups against production DNS.",
17
+ "last_verified": "2026-05-17",
18
+ "path": "skills/marketing/email-sender-authentication-review",
19
+ "author": "github: Raishin",
20
+ "version": "0.1.0",
21
+ "lifecycle": "experimental"
22
+ }
@@ -0,0 +1,152 @@
1
+ # Workflow and Output Contract
2
+
3
+ ## Workflow
4
+
5
+ ### Step 1 — Collect inputs
6
+
7
+ Ask the user to provide the following as a sanitized DNS record export (replace real selector names with generic placeholders only if the user prefers; SPF/DKIM/DMARC records are public data but never request ESP credentials or DMARC aggregate XML):
8
+ - SPF TXT record for the root sending domain and all active ESP subdomains
9
+ - DKIM TXT record(s) identified by selector name (e.g., `selector1._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=..."`)
10
+ - DMARC TXT record at `_dmarc.example.com`
11
+ - BIMI TXT record at `default._bimi.example.com` and VMC/CMC certificate URL if present
12
+ - The list of all active ESP and transactional sending paths (e.g., Mailchimp, Salesforce Marketing Cloud, SendGrid transactional, Postmark) and whether each uses a subdomain or the root domain
13
+
14
+ If the user provides only partial records, note which paths are unassessed.
15
+
16
+ ### Step 2 — SPF audit
17
+
18
+ Parse the SPF record from `v=spf1` through the terminating `all` mechanism:
19
+
20
+ 1. Count every mechanism that requires a DNS lookup: `include:`, `a`, `mx`, `ptr`, `exists`. RFC 7208 mandates a hard limit of ten such lookups; exceeding it produces a permerror treated as an SPF fail by receiving MTAs.
21
+ 2. Identify the `all` qualifier: `~all` (softfail), `-all` (hardfail), `+all` (pass all — HIGH), `?all` (neutral).
22
+ 3. Identify any mechanisms that are redundant, deprecated (`ptr:`), or that enumerate IP ranges far wider than the actual sending infrastructure.
23
+
24
+ ```text
25
+ # HIGH — SPF with +all negates all restrictions
26
+ v=spf1 include:esp1.com include:esp2.com +all
27
+
28
+ # HIGH — SPF with 13 DNS lookups; permerror on receipt
29
+ v=spf1 include:_spf.google.com include:sendgrid.net include:mail.zendesk.com
30
+ include:servers.mcsv.net include:spf.mailjet.com include:_spf.salesforce.com
31
+ include:postmarkapp.com include:emailsig.com include:mktomail.com
32
+ include:smtp.hubspot.net include:spf1.mailchimp.com include:esp12.com
33
+ include:sp.example.com ~all
34
+ # (13 include: mechanisms, each resolves to at least one more lookup → permerror)
35
+
36
+ # CORRECT — SPF with eight lookups and -all
37
+ v=spf1 include:_spf.google.com include:sendgrid.net include:postmarkapp.com -all
38
+ ```
39
+
40
+ ### Step 3 — DKIM audit
41
+
42
+ For each active sending path identified in Step 1:
43
+ - Confirm a DKIM selector exists and the TXT record is present and well-formed (`v=DKIM1`, key type, public key).
44
+ - Confirm the key length is at least 1024 bits; 2048 bits is recommended.
45
+ - Confirm the signing domain (`d=` tag in the DKIM signature) aligns with the `From:` domain at the level required by the DMARC alignment mode (relaxed: organizational domain match; strict: exact domain match).
46
+ - Flag any sending path with no DKIM selector as HIGH.
47
+ - Flag keys shorter than 1024 bits as HIGH (deprecated, breakable).
48
+ - Note whether key rotation documentation was provided; absence is MEDIUM.
49
+
50
+ ```text
51
+ # HIGH — transactional ESP subdomain has no DKIM selector
52
+ tx.example.com: no DKIM TXT record found for any known selector
53
+ DMARC alignment for mail sent via tx.example.com: fails (no signature to align)
54
+
55
+ # CORRECT — selector and key present, 2048-bit key
56
+ selector2._domainkey.example.com IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."
57
+ ```
58
+
59
+ ### Step 4 — DMARC audit
60
+
61
+ Parse the DMARC record at `_dmarc.<domain>`:
62
+ - `p=` (policy): `none`, `quarantine`, or `reject`. `none` provides monitoring only; it does not prevent spoofing or satisfy Google/Yahoo bulk-sender enforcement requirements when operating at scale.
63
+ - `pct=` (percentage): defaults to 100; values below 100 mean the policy applies to only that fraction of non-aligning mail.
64
+ - `rua=` (aggregate report URI): absence means no visibility into alignment failures.
65
+ - `ruf=` (forensic report URI): optional but useful for debugging.
66
+ - `aspf=` and `adkim=` (alignment modes): `r` (relaxed, default) or `s` (strict); strict requires an exact domain match between the `From:` header and the SPF/DKIM signing domain.
67
+ - `sp=` (subdomain policy): defaults to the `p=` value if absent; explicit `sp=reject` is recommended when subdomains are not used for sending.
68
+
69
+ ```text
70
+ # HIGH — p=none with no enforcement path
71
+ _dmarc.example.com IN TXT "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
72
+ → spoofing is possible; Google/Yahoo bulk-sender requirements not satisfied for enforcement
73
+
74
+ # MEDIUM — p=quarantine with pct=10 and no ruf
75
+ _dmarc.example.com IN TXT "v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc@example.com"
76
+ → only 10% of failing mail is quarantined; 90% is unaffected
77
+
78
+ # CORRECT — p=reject, full enforcement, reporting configured
79
+ _dmarc.example.com IN TXT "v=DMARC1; p=reject; pct=100; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com"
80
+ ```
81
+
82
+ ### Step 5 — DMARC alignment verification
83
+
84
+ DMARC requires at least one of SPF or DKIM to align with the `From:` header domain:
85
+ - For SPF alignment: the envelope `MAIL FROM` domain must match the `From:` header domain at the configured alignment level.
86
+ - For DKIM alignment: the `d=` tag in the DKIM signature must match the `From:` header domain at the configured level.
87
+ - If neither SPF nor DKIM aligns, DMARC fails regardless of `p=` value — flag as HIGH if structural misalignment is evident from the record set.
88
+
89
+ ### Step 6 — BIMI and certificate audit
90
+
91
+ If a BIMI record is present at `default._bimi.<domain>`:
92
+ - Confirm `v=BIMI1; l=<logo-url>; a=<certificate-url>` syntax.
93
+ - Confirm the certificate URL resolves to a VMC (Verified Mark Certificate) or CMC (Common Mark Certificate).
94
+ - Without a VMC/CMC, BIMI display is ignored by Gmail, Yahoo, and Apple Mail — flag as LOW.
95
+ - If no BIMI record is present, note it as informational (not a deficiency unless the user has a BIMI adoption goal).
96
+
97
+ ### Step 7 — Bulk-sender compliance assessment
98
+
99
+ Assess compliance with Google and Yahoo bulk-sender requirements (enforced Feb 2024 for Google, June 2024 for Yahoo):
100
+ - DMARC record present at organizational domain level: required.
101
+ - SPF or DKIM alignment passing: required.
102
+ - Spam complaint rate below 0.10% (0.08% recommended): not assessable from DNS records alone — note as out-of-scope.
103
+ - One-click unsubscribe (RFC 8058 `List-Unsubscribe-Post` header): not assessable from DNS records — note as out-of-scope.
104
+
105
+ Summarize the DNS-assessable compliance gap clearly.
106
+
107
+ ### Step 8 — Produce the output
108
+
109
+ Format findings using the Output format section below.
110
+
111
+ ---
112
+
113
+ ## Output format
114
+
115
+ ```
116
+ ## Verdict
117
+ <one sentence: pass / needs work / critical issues found>
118
+
119
+ ## Evidence level
120
+ <DNS record provided | documentation-based | inference from absent record>
121
+
122
+ ## Findings
123
+
124
+ ### CRITICAL
125
+ - [C1] <finding title>: <description> — <remediation>
126
+
127
+ ### HIGH
128
+ - [H1] <finding title>: <description> — <remediation>
129
+
130
+ ### MEDIUM
131
+ - [M1] <finding title>: <description> — <remediation>
132
+
133
+ ### LOW
134
+ - [L1] <finding title>: <description> — <remediation>
135
+
136
+ ## Safe next actions
137
+ 1. <action>
138
+ 2. <action>
139
+
140
+ ## Open questions
141
+ - <question requiring user clarification>
142
+ ```
143
+
144
+ ---
145
+
146
+ ## Security and scope notes
147
+
148
+ - This is a static review. DNS records are public, but never request ESP account credentials, DMARC aggregate report XML containing real email metadata, or sending-platform API keys.
149
+ - A domain at `p=none` is exploitable for spoofing attacks and phishing campaigns impersonating the brand. Surface this risk explicitly; do not understate it as a deliverability issue only.
150
+ - When evidence is partial (e.g., SPF record provided but no DKIM selectors listed), scope each finding to what was provided and state the inference basis explicitly.
151
+ - Do not recommend removing an active ESP's SPF `include:` to solve the lookup-count problem without first confirming DKIM-only alignment is available for that path — removing SPF coverage without DKIM will break DMARC alignment.
152
+ - Key rotation guidance is advisory hygiene; the urgency depends on key age and organizational risk tolerance; surface it as MEDIUM, not blocking.