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:
parent
bf9be375e2
commit
d32a08d811
5 changed files with 257 additions and 145 deletions
63
scripts/auditar-agentes.sh
Executable file
63
scripts/auditar-agentes.sh
Executable 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."
|
||||
Loading…
Add table
Add a link
Reference in a new issue