feat: promover ag-agente a Arquiteto de Agentes + scripts de governança

- Persona reescrita: foco em design de sistemas multiagente, governança
  arquitetural, protocolos de colaboração e visão estratégica
- Incluído mapa visual de agentes e tabela de protocolos
- Princípios arquiteturais: responsabilidade única, acoplamento fraco,
  coesão alta, herança consciente
- AGENTS e README atualizados para refletir novo papel
- validar-repositorio.sh: validação local (sem GitHub Actions)
- scripts/auditar-agentes.sh: auditoria de consistência entre agentes
- .git/hooks/pre-commit: validação automática antes de cada commit
This commit is contained in:
Luiz Silva 2026-06-19 16:23:26 -03:00
parent bf9be375e2
commit d32a08d811
5 changed files with 257 additions and 145 deletions

63
scripts/auditar-agentes.sh Executable file
View file

@ -0,0 +1,63 @@
#!/usr/bin/env bash
# --------------------------------------------------------------
# auditar-agentes.sh – auditoria de consistência entre agentes
# --------------------------------------------------------------
# 1) Detecta frases duplicadas entre personas
# 2) Detecta rules com mesmo nome em agentes diferentes
# 3) Lista rules globais não referenciadas em nenhuma persona
# --------------------------------------------------------------
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "$0")/.." && pwd)"
cd "$REPO_ROOT"
echo "🔍 Auditoria do ecossistema de agentes"
echo "======================================="
echo ""
# ---- 1) Frases idênticas entre personas ---------------------
echo "📋 1. Frases idênticas entre personas:"
dupes=$(grep -h -r "^[A-Z].*" agents/*/persona 2>/dev/null | sort | uniq -c | awk '$1>1 {print " " $0}' || true)
if [[ -n "$dupes" ]]; then
echo "$dupes"
else
echo " ✅ Nenhuma frase duplicada encontrada."
fi
echo ""
# ---- 2) Rules com mesmo nome em agentes diferentes ----------
echo "📋 2. Rules duplicadas entre agentes:"
dup_rules=$(find agents -type f -path "*/rules/*" -exec basename {} \; 2>/dev/null | sort | uniq -d || true)
if [[ -n "$dup_rules" ]]; then
echo " ⚠️ Rules com mesmo nome em agentes diferentes:"
echo "$dup_rules" | sed 's/^/ /'
else
echo " ✅ Nenhuma rule duplicada."
fi
echo ""
# ---- 3) Rules globais não referenciadas ----------------------
echo "📋 3. Rules globais não referenciadas em personas:"
unreferenced=0
for rule_file in global/rules/*; do
[ -f "$rule_file" ] || continue
rule_name=$(basename "$rule_file")
if ! grep -rq "$rule_name" agents/*/persona 2>/dev/null; then
echo " ⚠️ $rule_name"
unreferenced=$((unreferenced + 1))
fi
done
if [[ $unreferenced -eq 0 ]]; then
echo " ✅ Todas as rules globais são referenciadas."
fi
echo ""
# ---- 4) Busca por contradições ------------------------------
echo "📋 4. Padrões de restrição nas personas (verificar contradições manualmente):"
echo " --- NUNCA ---"
grep -rn "NUNCA" agents/*/persona 2>/dev/null | sed 's/^/ /' || echo " (nenhum)"
echo " --- NÃO ---"
grep -rn "^- NÃO" agents/*/persona 2>/dev/null | sed 's/^/ /' || echo " (nenhum)"
echo ""
echo "✅ Auditoria concluída."