chore(agent): remover permissoes de commit da IA no projeto e wiki (apenas sugerir texto) e manter push automatico exclusivo no .agent

This commit is contained in:
Luiz Silva 2026-10-14 17:53:33 -03:00
parent 212d2578f4
commit 26a4f98dab
116 changed files with 1162 additions and 1315 deletions

View file

@ -1,7 +1,8 @@
#!/usr/bin/env bash
# ==============================================================================
# Script de Governança: Validar Setup Multi-Projeto (.agent)
# Valida a conformidade de qualquer projeto hospedeiro com os 6 pilares DDD.
# Valida a conformidade de qualquer projeto hospedeiro com os 6 pilares DDD
# e audita o agnosticismo do submódulo .agent.
# ==============================================================================
set -e
@ -31,7 +32,7 @@ TOTAL_ERROS=0
TOTAL_AVISOS=0
# 0. Validar Submódulo .agent e tracking da branch master
echo -e "\n${NEGRITO}[0/6] Submódulo .agent (Sincronização & Branch Master)${RESET}"
echo -e "\n${NEGRITO}[0/6] Submódulo .agent (Sincronização, Branch Master & Agnosticismo)${RESET}"
if [ -f "$ROOT_DIR/.gitmodules" ]; then
if grep -q '\[submodule "\.agent"\]' "$ROOT_DIR/.gitmodules"; then
echo -e " ${VERDE}✓${RESET} Submódulo .agent configurado em .gitmodules."
@ -52,6 +53,17 @@ else
echo -e " ${AMARELO}⚠${RESET} Arquivo .gitmodules não encontrado na raiz."
fi
# Verificar sincronismo interno das pastas espelhadas do .agent
if [ -d "$ROOT_DIR/.agent/rules" ] && [ -d "$ROOT_DIR/.agent/global/rules" ]; then
if diff -rq "$ROOT_DIR/.agent/rules" "$ROOT_DIR/.agent/global/rules" >/dev/null 2>&1 && \
diff -rq "$ROOT_DIR/.agent/skills" "$ROOT_DIR/.agent/global/skills" >/dev/null 2>&1; then
echo -e " ${VERDE}✓${RESET} Artefatos internos do .agent (rules/ e skills/) 100% sincronizados."
else
echo -e " ${AMARELO}⚠${RESET} Divergência detectada entre rules/skills e global/ no .agent."
TOTAL_AVISOS=$((TOTAL_AVISOS + 1))
fi
fi
# 1. Validar memorias-ia/modulo.yml (Pilar 6 - Identidade)
MODULO_YML="$ROOT_DIR/memorias-ia/modulo.yml"
echo -e "\n${NEGRITO}[1/6] Identidade do Módulo (memorias-ia/modulo.yml)${RESET}"
@ -138,6 +150,8 @@ if [ -n "$MODULO_ID" ]; then
WIKI_USER_DIR="$ROOT_DIR/$MODULO_WIKI/$MODULO_ID"
if [ -d "$WIKI_USER_DIR" ]; then
echo -e " ${VERDE}✓${RESET} Diretório encontrado em: $MODULO_WIKI/$MODULO_ID/"
elif [ -d "$ROOT_DIR/$MODULO_WIKI" ]; then
echo -e " ${VERDE}✓${RESET} Repositório de Wiki dedicado encontrado em: $MODULO_WIKI/"
else
echo -e " ${AMARELO}⚠${RESET} Diretório $MODULO_WIKI/$MODULO_ID/ não encontrado."
TOTAL_AVISOS=$((TOTAL_AVISOS + 1))
@ -152,6 +166,8 @@ if [ -n "$MODULO_ID" ]; then
WIKI_DEV_DIR="$ROOT_DIR/$MODULO_WIKI/dev/$MODULO_ID"
if [ -d "$WIKI_DEV_DIR" ]; then
echo -e " ${VERDE}✓${RESET} Diretório encontrado em: $MODULO_WIKI/dev/$MODULO_ID/"
elif [ -d "$ROOT_DIR/$MODULO_WIKI/dev" ] || [ -d "$ROOT_DIR/$MODULO_WIKI" ]; then
echo -e " ${VERDE}✓${RESET} Base de Wiki disponível em: $MODULO_WIKI/ (sugerido: $MODULO_WIKI/dev/$MODULO_ID/)"
else
echo -e " ${AMARELO}⚠${RESET} Diretório $MODULO_WIKI/dev/$MODULO_ID/ não encontrado."
TOTAL_AVISOS=$((TOTAL_AVISOS + 1))
@ -182,25 +198,14 @@ else
echo -e " ${AZUL}ℹ${RESET} .agent-local/ ausente (usando 100% regras e skills globais)."
fi
# 6. Validar Limite de Linhas e Grafo de Conhecimento (Governança de Código)
echo -e "\n${NEGRITO}[6/6] Governança de Código & Graphify (verificar-linhas.sh / graphify.sh)${RESET}"
# 6. Validar Limite de Linhas (Governança de Código)
echo -e "\n${NEGRITO}[6/6] Governança de Código (verificar-linhas.sh)${RESET}"
if [ -f "$ROOT_DIR/.agent/verificar-linhas.sh" ]; then
sh "$ROOT_DIR/.agent/verificar-linhas.sh" > /dev/null 2>&1 && \
echo -e " ${VERDE}✓${RESET} 100% dos arquivos dentro do limite de 250 linhas." || \
echo -e " ${AMARELO}⚠${RESET} Há arquivos excedendo 250 linhas (execute sh .agent/verificar-linhas.sh)."
fi
if [ -f "$ROOT_DIR/.agent/scripts/graphify.sh" ]; then
bash "$ROOT_DIR/.agent/scripts/graphify.sh" gitignore > /dev/null 2>&1 || true
echo -e " ${VERDE}✓${RESET} .gitignore configurado para Graphify (.graphify/, .engram/, graphify-out/)."
export PATH="$HOME/.bun/bin:$PATH"
if command -v graphify >/dev/null 2>&1 || command -v engram >/dev/null 2>&1; then
echo -e " ${VERDE}✓${RESET} CLI Graphify instalado na máquina."
else
echo -e " ${AZUL}ℹ${RESET} CLI Graphify será instalado automaticamente via Bun no primeiro uso de graphify.sh."
fi
fi
# Resumo Final
echo -e "\n${AZUL}${NEGRITO}======================================================${RESET}"
if [ "$TOTAL_ERROS" -eq 0 ]; then