apiVersion: workflow.aiwg.io/v1
kind: WorkflowPlaybook
metadata:
  name: validate-all-providers
  labels: { domain: release-validation }
spec:
  inventory: validation-providers
  targets:
    groups: [all-providers]
  steps:
    - id: claude-code
      kind: playbook
      description: Run validate-claude-code and attach its report.
      spec: { playbook: validate-claude-code }
    - id: codex
      kind: playbook
      description: Run validate-codex and attach its report.
      spec: { playbook: validate-codex }
    - id: copilot
      kind: playbook
      description: Run validate-copilot and attach its report.
      spec: { playbook: validate-copilot }
    - id: cursor
      kind: playbook
      description: Run validate-cursor and attach its report.
      spec: { playbook: validate-cursor }
    - id: warp
      kind: playbook
      description: Run validate-warp and attach its report.
      spec: { playbook: validate-warp }
    - id: factory
      kind: playbook
      description: Run validate-factory and attach its report.
      spec: { playbook: validate-factory }
    - id: opencode
      kind: playbook
      description: Run validate-opencode and attach its report.
      spec: { playbook: validate-opencode }
    - id: windsurf
      kind: playbook
      description: Run validate-windsurf and attach its report.
      spec: { playbook: validate-windsurf }
    - id: openclaw
      kind: playbook
      description: Run validate-openclaw and attach its report.
      spec: { playbook: validate-openclaw }
    - id: hermes
      kind: playbook
      description: Run validate-hermes and attach its report.
      spec: { playbook: validate-hermes }
    - id: omnius
      kind: playbook
      description: Run validate-omnius and attach its report.
      spec: { playbook: validate-omnius }
    - id: aggregate
      capability: aggregate-validation-report
      depends_on: [claude-code, codex, copilot, cursor, warp, factory, opencode, windsurf, openclaw, hermes, omnius]
      inputs:
        - { name: run_dir, value: "{{ run.dir }}" }
