| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/bin/bash
- # Check if all agents are in appropriate profiles
- set -e
- echo "🔍 Checking profile coverage..."
- echo ""
- # Get all agent IDs
- agents=$(jq -r '.components.agents[].id' registry.json)
- errors=0
- for agent in $agents; do
- # Get agent category
- category=$(jq -r ".components.agents[] | select(.id == \"$agent\") | .category" registry.json)
-
- # Check which profiles include this agent
- in_developer=$(jq -r ".profiles.developer.components[] | select(. == \"agent:$agent\")" registry.json 2>/dev/null || echo "")
- in_business=$(jq -r ".profiles.business.components[] | select(. == \"agent:$agent\")" registry.json 2>/dev/null || echo "")
- in_full=$(jq -r ".profiles.full.components[] | select(. == \"agent:$agent\")" registry.json 2>/dev/null || echo "")
- in_advanced=$(jq -r ".profiles.advanced.components[] | select(. == \"agent:$agent\")" registry.json 2>/dev/null || echo "")
-
- # Validate based on category
- case $category in
- "development")
- if [[ -z "$in_developer" ]]; then
- echo "❌ $agent (development) missing from developer profile"
- errors=$((errors + 1))
- fi
- if [[ -z "$in_full" ]]; then
- echo "❌ $agent (development) missing from full profile"
- errors=$((errors + 1))
- fi
- if [[ -z "$in_advanced" ]]; then
- echo "❌ $agent (development) missing from advanced profile"
- errors=$((errors + 1))
- fi
- ;;
- "content"|"data")
- if [[ -z "$in_business" ]]; then
- echo "❌ $agent ($category) missing from business profile"
- errors=$((errors + 1))
- fi
- if [[ -z "$in_full" ]]; then
- echo "❌ $agent ($category) missing from full profile"
- errors=$((errors + 1))
- fi
- if [[ -z "$in_advanced" ]]; then
- echo "❌ $agent ($category) missing from advanced profile"
- errors=$((errors + 1))
- fi
- ;;
- "meta")
- if [[ -z "$in_advanced" ]]; then
- echo "❌ $agent (meta) missing from advanced profile"
- errors=$((errors + 1))
- fi
- ;;
- "essential"|"standard")
- if [[ -z "$in_full" ]]; then
- echo "❌ $agent ($category) missing from full profile"
- errors=$((errors + 1))
- fi
- if [[ -z "$in_advanced" ]]; then
- echo "❌ $agent ($category) missing from advanced profile"
- errors=$((errors + 1))
- fi
- ;;
- esac
- done
- echo ""
- if [[ $errors -eq 0 ]]; then
- echo "✅ Profile coverage check complete - no issues found"
- exit 0
- else
- echo "❌ Profile coverage check found $errors issue(s)"
- exit 1
- fi
|